<?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>Wiki</name>
	<version>1.0.0</version>
  <mincmsversion>1.11.0</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5tb3JlIGluZm9ybWF0aW9ucyBvbiA6IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9iZXNzdGlvbGxlL3dpa2ktbXMiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vYmVzc3Rpb2xsZS93aWtpLW1zPC9hPjwvcD4NCjxoMz5Ib3cgdXNlIGl0PC9oMz4NCjxoND5TdGVwIDEgOiBJbnN0YWxsIGl0PC9oND4NCjxwPkp1c3QgaW5zdGFsbCBpdCAhIGl0IHdpbGwgd29ya3MgaW1tZWRpYXRseSBmb3IgdGhlIHBhZ2UgL3dpa2kuIHlvdSBkb24ndCBoYXZlIHRvIGNyZWF0ZSBhIHBhZ2UgZm9yIGl0LiBZb3UgY2FuIGN1c3RvbWl6ZSB0aGUgb3B0aW9ucyBpbiB0aGUgYWRtaW4gcGFsZS48L3A+DQo8cD5pbiB0aGUgY2FzZSB3aGVyZSB5b3Ugd291bGQgaGF2ZSBhIGNtc21zIHBhZ2UgY2FsbGVkICJ3aWtpIiB5b3Ugc2hvdWxkIGNoYW5nZSB0aGUgcHJlZml4IG9mIHRoaXMgbW9kdWxlIGluIHRoZSBvcHRpb25zLjwvcD4NCjxoND5BY2Nlc3MgVGVtcGxhdGU8L2g0Pg0KPHA+VG8gY3VzdG9taXplIHRoZSBhY2Nlc3MgeW91IGNhbiBtb2RpZnkgdGhlIG9wdGlvbnMgaW4gdGhlIGFkbWluIHBhbmVsLiBJbnRvIHRoZSBhY2Nlc3MgdGVtcGxhdGUgeW91IGNhbiBhZGQvY3VzdG9taXplIHRoZSB0YWcge1dpa2kgYWN0aW9uPSJzZXRBY2Nlc3MifSB0byBzZXQgdGhlIGF1dGhvcml6YXRpb24uIFRoZXJlIGlzIHNvbWUgb3B0aW9ucyA6IDwvcD4NCjx1bD4NCjxsaT5pc19yZWFkYWJsZSAoVFJVRSBieSBkZWZhdWx0KTwvbGk+DQo8bGk+aXNfd3JpdGFibGUgKEZBTFNFIGJ5IGRlZmF1bHQpPC9saT4NCjxsaT5pc19kZWxldGFibGUgKEZBTFNFIGJ5IGRlZmF1bHQpPC9saT4NCjxsaT5hdXRob3JfbmFtZSAoZW1wdHkgYnkgZGVmYXVsdCk8L2xpPg0KPGxpPmF1dGhvcl9pZCAoZW1wdHkgYnkgZGVmYXVsdCk8L2xpPg0KPC91bD4NCjxwPklmIHlvdSBkb24ndCB0b3VjaCBhbnl0aGluZyB5b3Ugd2lsbCBoYXZlIGEgcmVhZG9ubHkgd2lraTwvcD4NCjxwPkZvciBleGFtcGxlIDogPC9wPg0KPHByZT4NCntXaWtpIGFjdGlvbj0ic2V0QWNjZXNzIiBpc19yZWFkYWJsZT0iVFJVRSIgaXNfd3JpdGFibGU9IlRSVUUiIGlzX2RlbGV0YWJsZT0iRkFMU0UifQ0KPC9wcmU+DQoNCjxwPllvdSBjYW4gZWFzaWx5IHRlc3QgdGhlIGN1cnJlbnQgRkVVIHVzZXIvZ3JvdXAgdG8gYWxsb3cgb3IgZGVueSBhY2Nlc3MgdG8gdGhlIHdpa2k8L3A+DQo8cHJlPg0Ke2lmICRjY3VzZXItPmxvZ2dlZGluKCl9DQogIHtXaWtpIGFjdGlvbj0ic2V0QWNjZXNzIiBpc19yZWFkYWJsZT0iVFJVRSIgaXNfd3JpdGFibGU9IlRSVUUiIGlzX2RlbGV0YWJsZT0iRkFMU0UiIGF1dGhvcl9uYW1lPSRjY3VzZXItPnVzZXJuYW1lKCkgYXV0aG9yX2lkPSRjY3VzZXItPmxvZ2dlZGluKCkgfTxici8+DQp7ZWxzZX0NCiAge1dpa2kgYWN0aW9uPSJzZXRBY2Nlc3MiIGlzX3JlYWRhYmxlPSJUUlVFIn0NCnsvaWZ9DQo8L3ByZT4NCg0KPHA+ZmluYWxseSB5b3UgY2FuIGN1c3RvbWl6ZSB5b3VyIG93biB0ZXN0IHdpdGggYSBjdXN0b20gVURUIG9yIHdpdGggYW5vdGhlciBtb2R1bGUgYW5kIHRoZSBhcnJheSB7JGdhdGV3YXlQYXJhbXN9LkZvciBleGFtcGxlIDogPC9wPg0KPHByZT4NCntNeU1vZHVsZSBhY3Rpb249Im15Q3VzdG9tQWN0aW9uIiB3aWtpX3ByZWZpeD0kZ2F0ZXdheVBhcmFtcy5wcHJlZml4fXsqIHdpbGwgc2V0IHJlc3VsdCBpbnRvICRteUN1c3RvbVJlc3VsdCAqfQ0KDQp7aWYgJG15Q3VzdG9tUmVzdWx0fQ0KICB7V2lraSBhY3Rpb249InNldEFjY2VzcyIgaXNfcmVhZGFibGU9VFJVRSBpc193cml0YWJsZT1UUlVFIGlzX2RlbGV0YWJsZT1UUlVFfQ0Ke2Vsc2V9DQogIHtXaWtpIGFjdGlvbj0ic2V0QWNjZXNzIiBpc19yZWFkYWJsZT1UUlVFfQ0Key9pZn0NCjwvcHJlPg0KPHA+dGhlIGFycmF5IHskZ2F0ZXdheVBhcmFtc30gaXMgYWx3YXlzIGF2YWlsYWJsZSBhbmQgY29udGFpbnMgdGhlIGN1cnJlbnQgJHBhcmFtcyB2YWx1ZXMgb2YgdGhlIHdpa2k8L3A+DQoNCjxwIHN0eWxlPSJjb2xvcjojRjAwOyI+ISBSZW1lbWJlciwgZG9uJ3QgdXNlIHRoaXMgYWN0aW9uIGludG8geW91ciBvd24gdGVtcGxhdGUgb3IgdGhlIHNldHRpbmdzIHdvbid0IGJlIGFjdGl2ZXMgYWxsIHRoZSB0aW1lICEgPC9wPg0KPGg0PntXaWtpIGFjdGlvbj0iZG9lc1BhZ2VFeGlzdHMifTwvaDQ+DQo8cD5hZGQgdGhlIHRhZyB7V2lraSBhY3Rpb249ImRvZXNQYWdlRXhpc3RzIn0gaW4geW91ciB0ZW1wbGF0ZSBhbmQgeW91IHdpbGwga25vdyAuLi4gaWYgYSBwYWdlIGV4aXN0cyAoaXQgZG9lcyBub3QgdGVzdCBvbGQgcGFnZSBkZWxldGVkKS4gWW91IGNhbiB0ZXN0IHRoZSByZXN1bHQgbGlrZSB0aGlzPC9wPg0KPHByZT4NCntXaWtpIGFjdGlvbj0iZG9lc1BhZ2VFeGlzdHMiIHBwcmVmaXg9Indpa2kiIHBhbGlhcz0iaG9tZSIgdmxhbmc9ImVuX1VTIn0NClsuLi5dDQp7aWYgJGRvZXNQYWdlRXhpc3RzfXllc3svaWZ9DQo8L3ByZT4NCjxwPnRoZXJlIGlzIDMgcG9zc2libGUgcGFyYW1ldGVyczwvcD4NCjx1bD4NCjxsaT5wcHJlZml4IDwvbGk+DQo8bGk+cGFsaWFzIChvcHRpb25uYWwsIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGFsaWFzIG9mIHRoZSB3aWtpIGlmIG5vdCBkZWZpbmVkKTwvbGk+DQo8bGk+dmxhbmcgKG9wdGlvbm5hbCwgd2lsbCB1c2UgdGhlIGRlZmF1bHQgbGFuZyBjb2RlIG9mIHRoZSB3aWtpIGlmIG5vdCBkZWZpbmVkKTwvbGk+DQo8L3VsPg0KPC9oND4NCjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+T3JtID0mZ3Q7IDAuMy4zPC9saT48bGk+UGFyc2VyID0mZ3Q7IDEuMC4wPC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaXNfcmVhZGFibGU9ImZhbHNlIiAtIFNldCB0byBUUlVFIGlmIHlvdSB3YW50IHRoYXQgdGhlIHdpa2kgIGNhbiBiZSByZWFkYWJsZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaXNfd3JpdGFibGU9ImZhbHNlIiAtIFNldCB0byBUUlVFIGlmIHlvdSB3YW50IHRoYXQgdGhlIHBhZ2VzIG9mIHRoZSB3aWtpIGNhbiBiZSB3cml0YWJsZSAoY3JlYXRpbmcgbmV3IHBhZ2UsIGVkaXRpbmcgZXhpc3RpbmcgcGFnZSk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGlzX2RlbGV0YWJsZT0iZmFsc2UiIC0gU2V0IHRvIFRSVUUgaWYgeW91IHdhbnQgdGhhdCB0aGUgcGFnZXMgb2YgdGhlIHdpa2kgY2FuIGJlIHJlYWRhYmxlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhdXRob3JfbmFtZT0iIiAtIFNldCB0byB0aGUgbmFtZSAodXNlcm5hbWUsIGxvZ2luLCB3aGF0ZXZlcikgb2YgdGhlIGN1cnJlbnQgdXNlci4gV2lsbCBiZSBzdG9yZWQgaW50byB0aGUgZGF0YWJhc2UgZm9yIGV2ZXJ5IG1vZGlmaWNhdGlvbnM8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGF1dGhvcl9pZD0iIiAtIFNldCB0byB0aGUgSUQgKGludGVnZXIpIG9mIHRoZSBjdXJyZW50IHVzZXIuIFdpbGwgYmUgc3RvcmVkIGludG8gdGhlIGRhdGFiYXNlIGZvciBldmVyeSBtb2RpZmljYXRpb25zPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBLZXZpbiBEYW5lemlzIChha2EgQmVzcykgJmx0O2NvbnRhY3QgYXQgZnVyaWUgcG9pbnQgYmUmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS4wLjA8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz5zZWUgY2hhbmdlbG9nIDogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2Jlc3N0aW9sbGUvd2lraS1tcyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS9iZXNzdGlvbGxlL3dpa2ktbXM8L2E+PGJyIC8+]]></about>
	<description><![CDATA[This module is a simple implementation of a WIKI into CmsMadeSimple]]></description>
	<requires>
	  <requiredname>Orm</requiredname>
	  <requiredversion>0.3.3</requiredversion>
	</requires>
	<requires>
	  <requiredname>Parser</requiredname>
	  <requiredversion>1.0.0</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_lang.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQppZighJHRoaXMtPl9WaXNpYmxlVG9Vc2VyKCkpIGV4aXQ7DQoNCmlmKGVtcHR5KCRwYXJhbXNbJ2FjdCddKSkgew0KCXRocm93IG5ldyBFeGNlcHRpb24oImFjdCBwYXJhbWV0ZXIgbm90IGZvdW5kIiwgMSk7DQp9DQokYWN0aW9uID0gJHBhcmFtc1snYWN0J107DQoNCg0KaWYoJGFjdGlvbiAhPSAnZWRpdCcgJiYgZW1wdHkoJHBhcmFtc1snbGFuZ19pZCddKSkgew0KCXRocm93IG5ldyBFeGNlcHRpb24oImxhbmdfaWQgcGFyYW1ldGVyIG5vdCBmb3VuZCIsIDEpOw0KfQ0KDQoNCmlmKCRhY3Rpb24gIT0gJ2VkaXQnKXsNCgkkbGFuZ19pZCA9ICRwYXJhbXNbJ2xhbmdfaWQnXTsNCn0NCg0KaWYoJGFjdGlvbiA9PSAnZGVsZXRlJykgew0KCS8vZGVsZXRlIGFsbCBwYWdlIHdpdGggdGhpcyBsYW5nX2lkDQoJJGV4YW1wbGUgPSBuZXcgT3JtRXhhbXBsZSgpOw0KCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgnbGFuZycsIE9ybVR5cGVDcml0ZXJpYTo6JEVRLCBhcnJheSgkbGFuZ19pZCkpOw0KCU9ybUNvcmU6OmRlbGV0ZUJ5RXhhbXBsZShuZXcgVmVyc2lvbigpLCAkZXhhbXBsZSk7DQoNCgkvL2RlbGV0ZSB0aGUgbGFuZyBpdHNlbGYNCgkkZXhhbXBsZSA9IG5ldyBPcm1FeGFtcGxlKCk7DQoJJGV4YW1wbGUtPmFkZENyaXRlcmlhKCdsYW5nX2lkJywgT3JtVHlwZUNyaXRlcmlhOjokRVEsIGFycmF5KCRsYW5nX2lkKSk7DQoJJGV4YW1wbGUtPmFkZENyaXRlcmlhKCdpc2RlZmF1bHQnLCBPcm1UeXBlQ3JpdGVyaWE6OiRORVEsIGFycmF5KDEpKTsNCglPcm1Db3JlOjpkZWxldGVCeUV4YW1wbGUobmV3IExhbmcoKSwgJGV4YW1wbGUpOw0KDQoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigndGFiMicpOw0KfSBlbHNlIGlmKCRhY3Rpb24gPT0gJ2RlZmF1bHQnKSB7DQoJJGxhbmcgPSBuZXcgTGFuZygpOw0KCSRxdWVyeTEgPSAiVVBEQVRFIHskbGFuZy0+Z2V0RGJuYW1lKCl9IFNFVCBpc2RlZmF1bHQ9MCBXSEVSRSAxIjsNCgkkcXVlcnkyID0gIlVQREFURSB7JGxhbmctPmdldERibmFtZSgpfSBTRVQgaXNkZWZhdWx0PTEgV0hFUkUgbGFuZ19pZD17JGxhbmdfaWR9IjsNCglPcm1EYjo6ZXhlY3V0ZSgkcXVlcnkxKTsNCglPcm1EYjo6ZXhlY3V0ZSgkcXVlcnkyKTsNCg0KCS8vVXBkYXRlIGFsc28gdGhlIGNtc21zIHByZWZlcmVuY2VzDQoJJGxhbmdzID0gT3JtQ29yZTo6ZmluZEJ5SWRzKG5ldyBMYW5nKCksIGFycmF5KCRsYW5nX2lkKSk7DQoJJGRlZmF1bHRMYW5nID0gJGxhbmdzWzBdOw0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2xhbmcnLCRkZWZhdWx0TGFuZy0+Z2V0KCdjb2RlJykpOw0KDQoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigndGFiMicpOw0KfSBlbHNlIGlmKCRhY3Rpb24gPT0gJ2VkaXQnKSB7DQoNCgkkbGFuZ19pZCA9IG51bGw7DQoJaWYoIWVtcHR5KCRwYXJhbXNbJ2xhbmdfaWQnXSkpew0KCQkkbGFuZ19pZCA9ICRwYXJhbXNbJ2xhbmdfaWQnXTsNCgl9DQoNCgkkbGFuZyA9IG51bGw7DQoJaWYoJGxhbmdfaWQgIT0gbnVsbCl7DQoJCSRsYW5nID0gTGFuZ3NTZXJ2aWNlOjpnZXRPbmVCeUlkKCRsYW5nX2lkKTsNCgl9DQoNCglpZigkbGFuZyA9PSBudWxsKXsNCgkJJGxhbmdfaWQgPSBudWxsOw0KCQkkbGFuZyA9IG5ldyBMYW5nKCk7DQoJfQ0KDQoJaWYoIWVtcHR5KCRwYXJhbXNbJ2NvZGUnXSkpew0KCQkkbGFuZy0+c2V0KCdjb2RlJywgJHBhcmFtc1snY29kZSddKTsNCgl9DQoJaWYoIWVtcHR5KCRwYXJhbXNbJ2xhYmVsJ10pKXsNCgkJJGxhbmctPnNldCgnbGFiZWwnLCAkcGFyYW1zWydsYWJlbCddKTsNCgl9DQoNCgkkc21hcnR5LT5hc3NpZ24oJ2xhbmcnLCAkbGFuZyk7DQoNCglpZigkbGFuZ19pZCA9PSBudWxsKXsNCgkJJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICdDcmVhdGlvbicpOw0KCX0gZWxzZSB7CQ0KCQkkc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgJ0VkaXRpb24nKTsNCgl9DQoNCglpZighZW1wdHkoJHBhcmFtc1snd2Vycm9ycyddKSl7DQoJCSRlcnJzID0gdW5zZXJpYWxpemUoJHBhcmFtc1snd2Vycm9ycyddKTsNCgkJJGZ1bGxFcnJvcnMgPSBhcnJheSgpOw0KCQlmb3JlYWNoICgkZXJycyBhcyAkZXJyKSB7DQoJCQkkZnVsbEVycm9yc1tdID0gJHRoaXMtPkxhbmcoJGVycik7DQoJCX0NCgkJJHNtYXJ0eS0+YXNzaWduKCdlcnJvcnMnLCAkZnVsbEVycm9ycyk7DQoJfQ0KDQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9sYW5nLnRwbCcpOw0KfQ0KDQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_lang_save.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCFmdW5jdGlvbl9leGlzdHMoImNtc21zIikpIGV4aXQ7DQoNCmlmKCEkdGhpcy0+X1Zpc2libGVUb1VzZXIoKSkgZXhpdDsNCg0KJGVycm9ycyA9IGFycmF5KCk7DQppZighZW1wdHkoJHBhcmFtc1snY29kZSddKSl7DQoJJGNvZGUgPSAkcGFyYW1zWydjb2RlJ107DQoJJGxhbmcgPSBMYW5nc1NlcnZpY2U6OmdldE9uZSgkY29kZSk7DQoJaWYoKCRsYW5nICE9PSBudWxsICYmIGVtcHR5KCRwYXJhbXNbJ2xhbmdfaWQnXSkpIA0KCQl8fCAoJGxhbmcgIT09IG51bGwgJiYgJGxhbmctPmdldCgnbGFuZ19pZCcpICE9PSAkcGFyYW1zWydsYW5nX2lkJ10pKXsNCgkJJGVycm9yc1tdID0gJ2R1cHBsaWNhdGVfY29kZSc7DQoJfQ0KfSBlbHNlIHsNCgkkZXJyb3JzW10gPSAnY29kZV9pc19tYW5kYXRvcnknOw0KfQ0KDQppZighZW1wdHkoJHBhcmFtc1snbGFiZWwnXSkpew0KCSRsYWJlbCA9ICRwYXJhbXNbJ2xhYmVsJ107DQp9IGVsc2Ugew0KCSRlcnJvcnNbXSA9ICdsYWJlbF9pc19tYW5kYXRvcnknOw0KfQ0KDQppZighZW1wdHkoJHBhcmFtc1snbGFuZ19pZCddKSl7DQoJJGxhbmdfaWQgPSAkcGFyYW1zWydsYW5nX2lkJ107DQp9DQoNCmlmKCFlbXB0eSgkZXJyb3JzKSl7DQoJJHBhcmFtc1snd2Vycm9ycyddID0gc2VyaWFsaXplKCRlcnJvcnMpOw0KCSRwYXJhbXNbJ2FjdCddID0gJ2VkaXQnOw0KCSR0aGlzLT5yZWRpcmVjdCgkaWQsJ2FkbWluX2xhbmcnLCAnJywgJHBhcmFtcyk7DQp9DQoNCmlmKCRsYW5nX2lkID09IG51bGwpew0KCSRsYW5nID0gbmV3IExhbmcoKTsNCn0gZWxzZSB7DQoJJGxhbmcgPSBMYW5nc1NlcnZpY2U6OmdldE9uZUJ5SWQoJGxhbmdfaWQpOw0KfQ0KDQokbGFuZy0+c2V0KCdjb2RlJywgJGNvZGUpOw0KJGxhbmctPnNldCgnbGFiZWwnLCAkbGFiZWwpOw0KJGxhbmctPnNhdmUoKTsNCg0KDQokdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCd0YWIyJyk7DQoNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_reset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQppZighJHRoaXMtPl9WaXNpYmxlVG9BZG1pbigpKSBleGl0Ow0KDQppbmNsdWRlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9pbmMucmVzZXQucGhwJyk7DQoNCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KJHRoaXMtPkF1ZGl0KCAwLCANCgkgICAgICAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIA0KCSAgICAgICR0aGlzLT5MYW5nKCdyZXNldGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkgKTsNCg0KDQokdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCd0YWI0Jyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_save.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCFmdW5jdGlvbl9leGlzdHMoImNtc21zIikpIGV4aXQ7DQoNCmlmKCEkdGhpcy0+X1Zpc2libGVUb1VzZXIoKSkgZXhpdDsNCg0KaWYoaXNzZXQoJHBhcmFtc1snc2hvd19jb2RlX2lzbyddKSl7DQoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Nob3dfY29kZV9pc28nLCRwYXJhbXNbJ3Nob3dfY29kZV9pc28nXSk7DQp9DQppZihpc3NldCgkcGFyYW1zWydtdWx0aUluc3RhbmNlcyddKSl7DQoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ211bHRpSW5zdGFuY2VzJywkcGFyYW1zWydtdWx0aUluc3RhbmNlcyddKTsNCn0NCmlmKGlzc2V0KCRwYXJhbXNbJ2RlZmF1bHRfYWxpYXMnXSkpew0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2FsaWFzJywkcGFyYW1zWydkZWZhdWx0X2FsaWFzJ10pOw0KfQ0KaWYoaXNzZXQoJHBhcmFtc1sncHJlZml4J10pKXsNCgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJlZml4JywkcGFyYW1zWydwcmVmaXgnXSk7DQp9DQppZihpc3NldCgkcGFyYW1zWydjbXNfcGFnZSddKSl7DQoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Ntc19wYWdlJywkcGFyYW1zWydjbXNfcGFnZSddKTsNCn0NCg0KLy9SZWZyZXNoIFJvdXRlcw0KJHRoaXMtPkNyZWF0ZVN0YXRpY1JvdXRlcygpOw0KDQokdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCd0YWIxJyk7DQoNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_template_save.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCFmdW5jdGlvbl9leGlzdHMoImNtc21zIikpIGV4aXQ7DQoNCmlmKCEkdGhpcy0+X1Zpc2libGVUb1VzZXIoKSkgZXhpdDsNCg0KaWYoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfYWNjZXNzJ10pKXsNCgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2FjY2VzcycsJHBhcmFtc1sndGVtcGxhdGVfYWNjZXNzJ10pOw0KfQ0KJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigndGFiMycpOw0KDQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2Ntc21zJykpIGV4aXQ7DQoNCiRzbWFydHktPmFzc2lnbignZ2F0ZXdheVBhcmFtcycsICRwYXJhbXMpOw0KJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnYWNjZXNzJyk7DQpkZWZpbmUoJ19KU19BQ1RJT05fJyxGQUxTRSk7DQoNCg0KaWYoIUF1dGhlbnRpZmljYXRpb246OmlzX3JlYWRhYmxlKCkpew0KCSRlcnJvcnMgPSBhcnJheSgid2lraV9ub3RfcmVhZGFibGUiKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2Vycm9ycycsICRlcnJvcnMpOw0KCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnbWVzc2FnZS50cGwnKTsNCglyZXR1cm47DQp9DQoNCi8vIHByaW50X3IoJHBhcmFtcyk7DQovLyBkaWUoKTsNCg0KLy9EZWZhdWx0IHZhbHVlcyBpbiB2aWV3IGNsYXNzIGluIGNhc2Ugb2Yge1dpa2l9IA0KaWYoZW1wdHkoJHBhcmFtc1sncGFsaWFzJ10pKSB7DQoJJHBhcmFtc1sncGFsaWFzJ10gPSAkdGhpcy0+X2dldERlZmF1bHRBbGlhcygpOw0KfQ0KaWYoZW1wdHkoJHBhcmFtc1sndmxhbmcnXSkpIHsNCgkkcGFyYW1zWyd2bGFuZyddID0gJHRoaXMtPl9nZXREZWZhdWx0TGFuZygpOw0KfQ0KDQovL0NvbW1vbiBpbml0aWFsaXphdGlvbg0KaW5jbHVkZV9vbmNlKCdpbmMuaW5pdGlhbGl6YXRpb24ucGhwJyk7DQoNCmlmKCRoYXNfZXJyb3Ipe3JldHVybjt9DQoNCg0KLyogVmFyaWFibGVzIGF2YWlsYWJsZSA6DQogKg0KICogJGVycm9ycyAmICRtZXNzYWdlcw0KICogJHNtYXJ0eQ0KICogJGFsaWFzUGFyYW0gJiAkbGFuZ1BhcmFtDQogKiAkcGFnZSAmICRsYW5nDQogKiAkcHJlZml4IGZyb20gcHJlZmVyZW5jZXMgcHJlZml4DQogKiAkY29kZV9pc28gd2l0aCBwcmVmZXJlbmNlcyBzaG93X2NvZGVfaXNvDQogKiAkZW5naW5lDQogKiAkYWxsX2xhbmdzX2J5X2NvZGUgJiYgJGFsbF9sYW5nc19ieV9pZA0KICogJGlzRGVmYXVsdExhbmcgJGlzRGVmYXVsdFBhZ2UgJGlzRGVmYXVsdFZlcnNpb24NCiAqDQogKiovDQoNCg0KJHN0YXR1c1RvQ2hlY2sgPSBudWxsOw0KJHZlcnNpb25faWQgPSBudWxsOw0KaWYoIWVtcHR5KCRwYXJhbXNbJ3ZlcnNpb25faWQnXSkpeyAvLyBDYXNlIHdpa2kvZW5fVVMvaG9tZS92aWV3LzINCgkkdmVyc2lvbl9pZCA9ICRwYXJhbXNbJ3ZlcnNpb25faWQnXTsNCg0KCSR2ZXJzaW9uID0gVmVyc2lvbnNTZXJ2aWNlOjpnZXRPbmVCeVZlcnNpb25JZCgNCgkJJHBhZ2UtPmdldCgncGFnZV9pZCcpLCANCgkJJGxhbmctPmdldCgnbGFuZ19pZCcpLA0KCQkkdmVyc2lvbl9pZCk7DQoNCn0gZWxzZSB7DQoJJHN0YXR1c1RvQ2hlY2sgPSBWZXJzaW9uOjokU1RBVFVTX0NVUlJFTlQ7DQoNCgkkdmVyc2lvbiA9IFZlcnNpb25zU2VydmljZTo6Z2V0T25lKA0KCQkkcGFnZS0+Z2V0KCdwYWdlX2lkJyksIA0KCQkkbGFuZy0+Z2V0KCdsYW5nX2lkJyksDQoJCSRzdGF0dXNUb0NoZWNrKTsNCn0NCg0KaWYoJHZlcnNpb24gIT09IG51bGwpew0KCSR2YWxzID0gJHZlcnNpb24tPmdldFZhbHVlcygpOw0KfQ0KDQovLyBDYXNlIHdpa2kvZW5fVVMvaG9tZS92aWV3Lzk5OTk5OQ0KaWYoJHZlcnNpb25faWQgIT0gbnVsbCAmJiAkdmVyc2lvbiA9PSBudWxsKXsNCgkkZXJyb3JzW10gPSBhcnJheSgncmV2aXNpb25fdW5rbm93JywgJHZlcnNpb25faWQpOw0KCSRzbWFydHktPmFzc2lnbignZXJyb3JzJywkZXJyb3JzKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21lc3NhZ2UudHBsJyk7DQoJcmV0dXJuOw0KfQkNCg0KDQokc21hcnR5LT5hc3NpZ24oJ3Jvb3Rfd2lraV91cmwnLCBSb3V0ZU1ha2VyOjpnZXRSb290Um91dGUoJGxhbmdQYXJhbSkpOw0KDQppZigkdmVyc2lvbiA9PSBudWxsKXsNCg0KCWlmKCFBdXRoZW50aWZpY2F0aW9uOjppc193cml0YWJsZSgpKXsNCgkJJG1lc3NhZ2VzID0gYXJyYXkoIndpa2lfcGFnZV9ub3RfZXhpc3RzIik7DQoJCSRzbWFydHktPmFzc2lnbignbWVzc2FnZXMnLCAkbWVzc2FnZXMpOw0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21lc3NhZ2UudHBsJyk7DQoNCgkJcmV0dXJuOw0KCX0NCg0KCS8vTWVudQ0KCWluY2x1ZGVfb25jZSgnaW5jLm1lbnUucGhwJyk7DQoJLy9DcmVhdGlvbg0KCWluY2x1ZGVfb25jZSgnaW5jLmNyZWF0ZVBhZ2UucGhwJyk7DQp9IGVsc2Ugew0KCS8vTWVudQ0KCWluY2x1ZGVfb25jZSgnaW5jLm1lbnUucGhwJyk7DQoJLy9NZW51IHNpYmxpbmdzDQoJaW5jbHVkZV9vbmNlKCdpbmMubWVudVNpYmxpbmdzLnBocCcpOw0KCS8vU3ViUGFnZQ0KCWluY2x1ZGVfb25jZSgnaW5jLmNoaWxkcmVucy5waHAnKTsNCgkvL0luY2x1ZGUgbGFuZ3MNCglpbmNsdWRlX29uY2UoJ2luYy5sYW5ncy5waHAnKTsNCgkvL0luY2x1ZGUgbGFzdCAxMCB2ZXJzaW9ucw0KCWluY2x1ZGVfb25jZSgnaW5jLmxhc3QxMHZlcnNpb25zLnBocCcpOw0KCS8vQnJlYWRjcnVtYnMNCglpbmNsdWRlX29uY2UoJ2luYy5icmVhZGNydW1icy5waHAnKTsNCgkvL0Rpc3BsYXkNCglpbmNsdWRlX29uY2UoJ2luYy52aWV3UGFnZS5waHAnKTsNCn0NCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpKSBleGl0Ow0KDQokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQokaGFzX2Fzc2V0ID0gZmFsc2U7DQokZmlsZW5hbWUgPSAkY29uZmlnWydyb290X3BhdGgnXS4nL3VwbG9hZHMvZm91bmRhdGlvbi92ZXJzaW9uJzsNCmlmKGZpbGVfZXhpc3RzKCRmaWxlbmFtZSkpew0KCSR2YWx1ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7DQoJJGhhc19hc3NldCA9IChpbnR2YWwoJHZhbHVlKSA+PSAkdGhpcy0+X2dldE1pbmltYWxWZXJzaW9uRm91bmRhdGlvbkFzc2V0KCkpOw0KfQ0KJHNtYXJ0eS0+YXNzaWduKCdoYXNfYXNzZXQnLCAkaGFzX2Fzc2V0KTsNCiRzbWFydHktPmFzc2lnbignYXNzZXRfbGluaycsICR0aGlzLT5fZ2V0aHR0cGxpbmtUb0ZvdW5kYXRpb25Bc3NldCgpKTsNCg0KaWYoJHRoaXMtPl9WaXNpYmxlVG9Vc2VyKCkpew0KDQoJJHNtYXJ0eS0+YXNzaWduKCdwcmVmaXgnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJlZml4Jywnd2lraScpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ3Nob3dfY29kZV9pc28nLCAkdGhpcy0+X2dldFNob3dDb2RlSXNvKCkpOw0KCSRzbWFydHktPmFzc2lnbignbXVsdGlJbnN0YW5jZXMnLCAkdGhpcy0+X2dldE11bHRpSW5zdGFuY2VzKCkpOw0KCSRzbWFydHktPmFzc2lnbignZGVmYXVsdF9hbGlhcycsICR0aGlzLT5fZ2V0RGVmYXVsdEFsaWFzKCkpOw0KCSRzbWFydHktPmFzc2lnbignY21zX3BhZ2UnLCAkdGhpcy0+X2dldENtc1BhZ2UoKSk7DQoNCg0KCSRhZG1pbnRoZW1lID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7DQoJJGltZ3MgPSBhcnJheSgNCgkJJ2RlbGV0ZScgPT4gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCdkZWxldGUnLCcnLCcnLCdzeXN0ZW1pY29uJyksDQoJCSdlZGl0JyA9PiAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCdlZGl0JywnJywnJywnc3lzdGVtaWNvbicpLA0KCQkndHJ1ZScgPT4gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywnSXMgZGVmYXVsdCcsJycsJycsJ3N5c3RlbWljb24nKSwNCgkJJ2ZhbHNlJyA9PiAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywnU2V0IHRvIERlZmF1bHQnLCcnLCcnLCdzeXN0ZW1pY29uJyksDQoJKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2ltZ3MnLCAkaW1ncyk7DQoNCgkkbGFuZ3MgPSBPcm1Db3JlOjpmaW5kQWxsKG5ldyBMYW5nKCkpOw0KCSRsYW5nc192YWx1ZXMgPSBPcm1VdGlsczo6ZW50aXRpZXNUb0Fic29sdXRlQXJyYXkoJGxhbmdzKTsNCglmb3IoJGkgPSAwOyAkaTxjb3VudCgkbGFuZ3NfdmFsdWVzKTsgJGkrKykgew0KCQkkZXhhbXBsZSA9IG5ldyBPcm1FeGFtcGxlKCk7DQoJCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgnbGFuZycsIE9ybVR5cGVDcml0ZXJpYTo6JEVRLCBhcnJheSgkbGFuZ3NfdmFsdWVzWyRpXVsnbGFuZ19pZCddKSk7DQoJCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgnc3RhdHVzJywgT3JtVHlwZUNyaXRlcmlhOjokRVEsIGFycmF5KFZlcnNpb246OiRTVEFUVVNfQ1VSUkVOVCkpOw0KCQkkY3B0ID0gT3JtQ29yZTo6c2VsZWN0Q291bnRCeUV4YW1wbGUobmV3IFZlcnNpb24oKSwgJGV4YW1wbGUpOw0KDQoJCSRsYW5nc192YWx1ZXNbJGldWydjb3VudCddID0gJGNwdDsNCgkJJGxhbmdzX3ZhbHVlc1skaV1bJ2VkaXQnXSA9ICR0aGlzLT5jcmVhdGVfdXJsKCRpZCwnYWRtaW5fbGFuZycsICcnLCANCgkJCQkJCQkJYXJyYXkoJ2FjdCc9PidlZGl0JywgJ2xhbmdfaWQnPT4gJGxhbmdzX3ZhbHVlc1skaV1bJ2xhbmdfaWQnXSkpOw0KCQkkbGFuZ3NfdmFsdWVzWyRpXVsnZGVsZXRlJ10gPSAkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2FkbWluX2xhbmcnLCAnJywgDQoJCQkJCQkJCWFycmF5KCdhY3QnPT4nZGVsZXRlJywgJ2xhbmdfaWQnPT4gJGxhbmdzX3ZhbHVlc1skaV1bJ2xhbmdfaWQnXSkpOw0KCQkkbGFuZ3NfdmFsdWVzWyRpXVsnZGVmYXVsdCddID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdhZG1pbl9sYW5nJywgJycsIA0KCQkJCQkJCQlhcnJheSgnYWN0Jz0+J2RlZmF1bHQnLCAnbGFuZ19pZCc9PiAkbGFuZ3NfdmFsdWVzWyRpXVsnbGFuZ19pZCddKSk7DQoJfQ0KDQoNCgkkc21hcnR5LT5hc3NpZ24oJ2xhbmdzJywgJGxhbmdzX3ZhbHVlcyk7DQoNCgkkc21hcnR5LT5hc3NpZ24oJ2FkZExhbmcnLCAkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2FkbWluX2xhbmcnLCAnJywgYXJyYXkoJ2FjdCc9PidlZGl0JykpKTsNCg0KCSRhY2Nlc3NUcGwgPSAkdGhpcy0+Z2V0VGVtcGxhdGUoJ2FjY2VzcycpOyANCgkkc21hcnR5LT5hc3NpZ24oJ2FjY2Vzc1RwbCcsICRhY2Nlc3NUcGwpOw0KfQ0KDQoNCmlmKCR0aGlzLT5fVmlzaWJsZVRvQWRtaW4oKSl7DQoJJHNtYXJ0eS0+YXNzaWduKCdyZXNldCcsICR0aGlzLT5jcmVhdGVfdXJsKCRpZCwnYWRtaW5fcmVzZXQnLCAnJywgYXJyYXkoKSkpOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oIl9WaXNpYmxlVG9BZG1pbiIsICR0aGlzLT5fVmlzaWJsZVRvQWRtaW4oKSk7DQokc21hcnR5LT5hc3NpZ24oIl9WaXNpYmxlVG9Vc2VyIiwgJHRoaXMtPl9WaXNpYmxlVG9Vc2VyKCkpOw0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLnRwbCcpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQokc21hcnR5LT5hc3NpZ24oJ2dhdGV3YXlQYXJhbXMnLCAkcGFyYW1zKTsNCiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2FjY2VzcycpOw0KZGVmaW5lKCdfSlNfQUNUSU9OXycsRkFMU0UpOw0KDQppZighQXV0aGVudGlmaWNhdGlvbjo6aXNfZGVsZXRhYmxlKCkpew0KCSRlcnJvcnMgPSBhcnJheSgid2lraV9ub3RfZGVsZXRhYmxlIik7DQoJJHNtYXJ0eS0+YXNzaWduKCdlcnJvcnMnLCAkZXJyb3JzKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21lc3NhZ2UudHBsJyk7DQoJcmV0dXJuOw0KfQ0KDQovL0NvbW1vbiBpbml0aWFsaXphdGlvbg0KaW5jbHVkZV9vbmNlKCdpbmMuaW5pdGlhbGl6YXRpb24ucGhwJyk7DQoNCmlmKCRoYXNfZXJyb3Ipe3JldHVybjt9DQoNCi8qIFZhcmlhYmxlcyBhdmFpbGFibGUgOg0KICoNCiAqICRlcnJvcnMgJiAkbWVzc2FnZXMNCiAqICRzbWFydHkNCiAqICRhbGlhc1BhcmFtICYgJGxhbmdQYXJhbQ0KICogJHBhZ2UgJiAkbGFuZw0KICogJHByZWZpeCBmcm9tIHByZWZlcmVuY2VzIHByZWZpeA0KICogJGNvZGVfaXNvIHdpdGggcHJlZmVyZW5jZXMgc2hvd19jb2RlX2lzbw0KICogJGVuZ2luZQ0KICogJGFsbF9sYW5nc19ieV9jb2RlICYmICRhbGxfbGFuZ3NfYnlfaWQNCiAqICRpc0RlZmF1bHRMYW5nICRpc0RlZmF1bHRQYWdlICRpc0RlZmF1bHRWZXJzaW9uDQogKg0KICoqLw0KDQokdmVyc2lvbiA9IFZlcnNpb25zU2VydmljZTo6Z2V0T25lKCRwYWdlLT5nZXQoJ3BhZ2VfaWQnKSwgJGxhbmctPmdldCgnbGFuZ19pZCcpLCBWZXJzaW9uOjokU1RBVFVTX0NVUlJFTlQpOw0KDQogDQppZigkdmVyc2lvbiA9PSBudWxsKXsgLy9HbyBiYWNrIHRvIGhvbWUNCgkkZXJyb3JzW10gPSAndmVyc2lvbl91bmtub3cnOw0KCSR1cmwgPSBSb3V0ZU1ha2VyOjpnZXRWaWV3Um91dGUoJGxhbmdQYXJhbSwgJHRoaXMtPl9nZXREZWZhdWx0QWxpYXMoKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdlcnJvcnMnLCRlcnJvcnMpOw0KCSRzbWFydHktPmFzc2lnbigndXJsJywkdXJsKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21lc3NhZ2UudHBsJyk7DQoJcmV0dXJuOw0KfQ0KDQppZigkaXNEZWZhdWx0VmVyc2lvbil7IC8vRG9uJ3QgYWxsb3cgdGhhdC4NCgkkZXJyb3JzW10gPSAnZGVmYXVsdF92ZXJzaW9uX3VuZGVsZXRhYmxlJzsNCgkkdXJsID0gUm91dGVNYWtlcjo6Z2V0Vmlld1JvdXRlKCRsYW5nUGFyYW0sICR0aGlzLT5fZ2V0RGVmYXVsdEFsaWFzKCkpOw0KCSRzbWFydHktPmFzc2lnbignZXJyb3JzJywkZXJyb3JzKTsNCgkkc21hcnR5LT5hc3NpZ24oJ3VybCcsJHVybCk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdtZXNzYWdlLnRwbCcpOw0KCXJldHVybjsNCn0NCg0KLy9VcGRhdGUgdG8gIm9sZCB2ZXJzaW9uIg0KJHF1ZXJ5ID0gIlVQREFURSB7JHZlcnNpb24tPmdldERibmFtZSgpfSBTRVQgc3RhdHVzPXskdmVyc2lvbjo6JFNUQVRVU19PTER9IFdIRVJFIHN0YXR1cz17JHZlcnNpb246OiRTVEFUVVNfQ1VSUkVOVH0gQU5EIGxhbmc9eyRsYW5nLT5nZXQoJ2xhbmdfaWQnKX0gQU5EIHBhZ2U9eyR2ZXJzaW9uLT5nZXQoJ3BhZ2UnKS0+Z2V0KCdwYWdlX2lkJyl9IjsNCk9ybURiOjpleGVjdXRlKCRxdWVyeSk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICR2ZXJzaW9uLT5nZXQoJ3RpdGxlJykpOw0KDQokbWVzc2FnZXNbXSA9ICdkZWxldGVfc3VjY2Vzcyc7DQokdXJsID0gUm91dGVNYWtlcjo6Z2V0Vmlld1JvdXRlKCRsYW5nUGFyYW0sICRhbGlhc1BhcmFtKTsNCiRzbWFydHktPmFzc2lnbignbWVzc2FnZXMnLCRtZXNzYWdlcyk7DQokc21hcnR5LT5hc3NpZ24oJ3VybCcsJHVybCk7DQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21lc3NhZ2UudHBsJyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.doesPageExists.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJHBhbGlhcyA9ICR0aGlzLT5fZ2V0RGVmYXVsdEFsaWFzKCk7DQokcHByZWZpeCA9ICR0aGlzLT5fZ2V0RGVmYXVsdFByZWZpeCgpOw0KJHZsYW5nID0gJHRoaXMtPl9nZXREZWZhdWx0TGFuZygpOw0KDQppZighZW1wdHkoJHBhcmFtc1sncHByZWZpeCddKSl7DQoJJHBwcmVmaXggPSAkcGFyYW1zWydwcHJlZml4J107DQp9DQppZighZW1wdHkoJHBhcmFtc1sncGFsaWFzJ10pKXsNCgkkcGFsaWFzID0gJHBhcmFtc1sncGFsaWFzJ107DQp9DQppZighZW1wdHkoJHBhcmFtc1sndmxhbmcnXSkpew0KCSR2bGFuZyA9ICRwYXJhbXNbJ3ZsYW5nJ107DQp9DQoNCiRwYWdlID0gUGFnZXNTZXJ2aWNlOjpnZXRPbmVCeUFsaWFzKCRwcHJlZml4LCAkcGFsaWFzKTsNCiRsYW5nID0gTGFuZ3NTZXJ2aWNlOjpnZXRPbmUoJHZsYW5nKTsNCiR2ZXJzaW9uID0gbnVsbDsNCmlmKCRwYWdlID09IG51bGwgfHwgJGxhbmcgPT0gbnVsbCl7DQoJJHNtYXJ0eS0+YXNzaWduKCdkb2VzUGFnZUV4aXN0cycsIGZhbHNlKTsNCn0gZWxzZSB7DQoJJHZlcnNpb24gPSBWZXJzaW9uc1NlcnZpY2U6OmdldE9uZSgkcGFnZS0+Z2V0KCJwYWdlX2lkIiksICRsYW5nLT5nZXQoImxhbmdfaWQiKSAsIFZlcnNpb246OiRTVEFUVVNfQ1VSUkVOVCk7DQoJJHNtYXJ0eS0+YXNzaWduKCdkb2VzUGFnZUV4aXN0cycsICgkdmVyc2lvbiAhPSBudWxsKSk7DQp9DQoNCg0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQokc21hcnR5LT5hc3NpZ24oJ2dhdGV3YXlQYXJhbXMnLCAkcGFyYW1zKTsNCiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2FjY2VzcycpOw0KZGVmaW5lKCdfSlNfQUNUSU9OXycsRkFMU0UpOw0KDQppZighQXV0aGVudGlmaWNhdGlvbjo6aXNfd3JpdGFibGUoKSl7DQoJJGVycm9ycyA9IGFycmF5KCJ3aWtpX25vdF93cml0YWJsZSIpOw0KCSRzbWFydHktPmFzc2lnbignZXJyb3JzJywgJGVycm9ycyk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdtZXNzYWdlLnRwbCcpOw0KCXJldHVybjsNCn0NCg0KLy9Db21tb24gaW5pdGlhbGl6YXRpb24NCmluY2x1ZGVfb25jZSgnaW5jLmluaXRpYWxpemF0aW9uLnBocCcpOw0KDQppZigkaGFzX2Vycm9yKXtyZXR1cm47fQ0KDQovKiBWYXJpYWJsZXMgYXZhaWxhYmxlIDoNCiAqDQogKiAkZXJyb3JzICYgJG1lc3NhZ2VzDQogKiAkc21hcnR5DQogKiAkYWxpYXNQYXJhbSAmICRsYW5nUGFyYW0NCiAqICRwYWdlICYgJGxhbmcNCiAqICRwcmVmaXggZnJvbSBwcmVmZXJlbmNlcyBwcmVmaXgNCiAqICRjb2RlX2lzbyB3aXRoIHByZWZlcmVuY2VzIHNob3dfY29kZV9pc28NCiAqICRlbmdpbmUNCiAqICRhbGxfbGFuZ3NfYnlfY29kZSAmJiAkYWxsX2xhbmdzX2J5X2lkDQogKiAkaXNEZWZhdWx0TGFuZyAkaXNEZWZhdWx0UGFnZSAkaXNEZWZhdWx0VmVyc2lvbg0KICoNCiAqKi8NCg0KDQoNCi8vR2V0IFZlcnNpb24NCiR2ZXJzaW9uID0gbnVsbDsNCiR2YWxzID0gbnVsbDsNCg0KJHZlcnNpb24gPSBWZXJzaW9uc1NlcnZpY2U6OmdldE9uZSgkcGFnZS0+Z2V0KCdwYWdlX2lkJyksICRsYW5nLT5nZXQoJ2xhbmdfaWQnKSwgVmVyc2lvbjo6JFNUQVRVU19DVVJSRU5UKTsNCmlmKCR2ZXJzaW9uID09IG51bGwpew0KDQoJLy9Paywgd2UgdHJ5IHRvIGZpbmQgYSBsaW5rIHRvIGEgcGFnZSB3aXRoIGFub3RoZXIgbGFuZw0KCSR2ZXJzaW9uID0gVmVyc2lvbnNTZXJ2aWNlOjpnZXRPbmUoJHBhZ2UtPmdldCgncGFnZV9pZCcpLCBudWxsLCBWZXJzaW9uOjokU1RBVFVTX0NVUlJFTlQpOw0KfQ0KDQppZigkdmVyc2lvbiA9PSBudWxsKXsNCgkvL01lbnUNCglpbmNsdWRlX29uY2UoJ2luYy5tZW51LnBocCcpOw0KCS8vQ3JlYXRpb24NCglpbmNsdWRlX29uY2UoJ2luYy5jcmVhdGVQYWdlLnBocCcpOw0KfSBlbHNlIHsNCgkvL01lbnUNCglpbmNsdWRlX29uY2UoJ2luYy5tZW51LnBocCcpOw0KCS8vRWRpdGlvbg0KCWluY2x1ZGVfb25jZSgnaW5jLmVkaXRQYWdlLnBocCcpOw0KfQ0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.preview.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQokc21hcnR5LT5hc3NpZ24oJ2dhdGV3YXlQYXJhbXMnLCAkcGFyYW1zKTsNCiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2FjY2VzcycpOw0KZGVmaW5lKCdfSlNfQUNUSU9OXycsVFJVRSk7DQoNCmlmKCFBdXRoZW50aWZpY2F0aW9uOjppc19yZWFkYWJsZSgpKXsNCgkkZXJyb3JzID0gYXJyYXkoIndpa2lfbm90X3JlYWRhYmxlIik7DQoJJHNtYXJ0eS0+YXNzaWduKCdlcnJvcnMnLCAkZXJyb3JzKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21lc3NhZ2UudHBsJyk7DQoJcmV0dXJuOw0KfQ0KDQovL0NvbW1vbiBpbml0aWFsaXphdGlvbg0KaW5jbHVkZV9vbmNlKCdpbmMuaW5pdGlhbGl6YXRpb24ucGhwJyk7DQoNCmlmKCRoYXNfZXJyb3Ipe3JldHVybjt9DQoNCi8qIFZhcmlhYmxlcyBhdmFpbGFibGUgOg0KICoNCiAqICRlcnJvcnMgJiAkbWVzc2FnZXMNCiAqICRzbWFydHkNCiAqICRhbGlhc1BhcmFtICYgJGxhbmdQYXJhbQ0KICogJHBhZ2UgJiAkbGFuZw0KICogJHByZWZpeCBmcm9tIHByZWZlcmVuY2VzIHByZWZpeA0KICogJGNvZGVfaXNvIHdpdGggcHJlZmVyZW5jZXMgc2hvd19jb2RlX2lzbw0KICogJGVuZ2luZQ0KICogJGFsbF9sYW5nc19ieV9jb2RlICYmICRhbGxfbGFuZ3NfYnlfaWQNCiAqICRpc0RlZmF1bHRMYW5nICRpc0RlZmF1bHRQYWdlICRpc0RlZmF1bHRWZXJzaW9uDQogKg0KICoqLw0KDQoNCmlmKCFlbXB0eSgkcGFyYW1zWyd2dGV4dCddKSl7DQoJJHRleHRQYXJhbSA9ICR0aGlzLT5qc191cmxkZWNvZGUoJHBhcmFtc1sndnRleHQnXSk7DQp9IGVsc2Ugew0KCSRlcnJvcnNbXSA9ICd0ZXh0X21hbmRhdG9yeSc7DQp9DQppZihlbXB0eSgkcGFyYW1zWyd2dGl0bGUnXSkpew0KCSRlcnJvcnNbXSA9ICd0aXRsZV9tYW5kYXRvcnknOw0KfQ0KDQppZighZW1wdHkoJGVycm9ycykpIHsNCgkkc21hcnR5LT5hc3NpZ24oJ2Vycm9ycycsJGVycm9ycyk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdtZXNzYWdlLnRwbCcpOw0KCXJldHVybjsNCn0NCg0KJHZhbHNbJ3RpdGxlJ10gPSAkcGFyYW1zWyd2dGl0bGUnXTsNCiR2YWxzWyd0ZXh0J10gPSBXaWtpVXRpbHM6OnBhcnNlVGV4dCgkdGV4dFBhcmFtLCAkcHJlZml4LCAkbGFuZ1BhcmFtKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCd2ZXJzaW9uJywgJHZhbHMpOw0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICRwYXJhbXNbJ3Z0aXRsZSddKTsNCiRzbWFydHktPmFzc2lnbignYWN0aW9uJywgJ1ByZXZpZXcnKTsNCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdwcmV2aWV3UGFnZS50cGwnKTsNCg0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.raw.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQokc21hcnR5LT5hc3NpZ24oJ2dhdGV3YXlQYXJhbXMnLCAkcGFyYW1zKTsNCiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2FjY2VzcycpOw0KZGVmaW5lKCdfSlNfQUNUSU9OXycsVFJVRSk7DQoNCmlmKCFBdXRoZW50aWZpY2F0aW9uOjppc19yZWFkYWJsZSgpKXsNCgkkZXJyb3JzID0gYXJyYXkoIndpa2lfbm90X3JlYWRhYmxlIik7DQoJJHNtYXJ0eS0+YXNzaWduKCdlcnJvcnMnLCAkZXJyb3JzKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21lc3NhZ2UudHBsJyk7DQoJcmV0dXJuOw0KfQ0KDQovL0RlZmF1bHQgdmFsdWVzDQokdmVyc2lvbl9pZCA9IG51bGw7DQokc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQoNCmlmKCFlbXB0eSgkcGFyYW1zWyd2ZXJzaW9uX2lkJ10pKXsNCgkkdmVyc2lvbl9pZCA9ICRwYXJhbXNbJ3ZlcnNpb25faWQnXTsNCn0NCg0KaWYoJHZlcnNpb25faWQgPT0gbnVsbCl7DQoJZWNobyAiVGhlIHZlcnNpb25faWQgcGFyYW1ldGVyIGlzIG1hbmRhdG9yeS4iOw0KCXJldHVybjsNCn0NCg0KDQovL0NvbW1vbiBpbml0aWFsaXphdGlvbg0KaW5jbHVkZV9vbmNlKCdpbmMuaW5pdGlhbGl6YXRpb24ucGhwJyk7DQoNCmlmKCRoYXNfZXJyb3Ipe3JldHVybjt9DQoNCi8qIFZhcmlhYmxlcyBhdmFpbGFibGUgOg0KICoNCiAqICRlcnJvcnMgJiAkbWVzc2FnZXMNCiAqICRzbWFydHkNCiAqICRhbGlhc1BhcmFtICYgJGxhbmdQYXJhbQ0KICogJHBhZ2UgJiAkbGFuZw0KICogJHByZWZpeCBmcm9tIHByZWZlcmVuY2VzIHByZWZpeA0KICogJGNvZGVfaXNvIHdpdGggcHJlZmVyZW5jZXMgc2hvd19jb2RlX2lzbw0KICogJGVuZ2luZQ0KICogJGFsbF9sYW5nc19ieV9jb2RlICYmICRhbGxfbGFuZ3NfYnlfaWQNCiAqICRpc0RlZmF1bHRMYW5nICRpc0RlZmF1bHRQYWdlICRpc0RlZmF1bHRWZXJzaW9uDQogKg0KICoqLw0KDQokdmVyc2lvbiA9IFZlcnNpb25zU2VydmljZTo6Z2V0T25lQnlWZXJzaW9uSWQoDQoJCSRwYWdlLT5nZXQoJ3BhZ2VfaWQnKSwgDQoJCSRsYW5nLT5nZXQoJ2xhbmdfaWQnKSwNCgkJJHZlcnNpb25faWQpOw0KDQppZigkdmVyc2lvbiA9PSBudWxsKXsNCgkkZXJyb3JzID0gYXJyYXkoIndpa2lfcGFnZV9ub3RfZXhpc3RzIik7DQoJJHNtYXJ0eS0+YXNzaWduKCdlcnJvcnMnLCAkZXJyb3JzKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21lc3NhZ2UudHBsJyk7DQoJcmV0dXJuOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ3ZlcnNpb24nLCR2ZXJzaW9uLT5nZXRWYWx1ZXMoKSk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncmF3Q29kZS50cGwnKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.save.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQokc21hcnR5LT5hc3NpZ24oJ2dhdGV3YXlQYXJhbXMnLCAkcGFyYW1zKTsNCiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2FjY2VzcycpOw0KZGVmaW5lKCdfSlNfQUNUSU9OXycsVFJVRSk7DQoNCmlmKCFBdXRoZW50aWZpY2F0aW9uOjppc193cml0YWJsZSgpKXsNCgkkZXJyb3JzID0gYXJyYXkoIndpa2lfbm90X3dyaXRhYmxlIik7DQoJJHNtYXJ0eS0+YXNzaWduKCdlcnJvcnMnLCAkZXJyb3JzKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21lc3NhZ2UudHBsJyk7DQoJcmV0dXJuOw0KfQ0KDQovL0NvbW1vbiBpbml0aWFsaXphdGlvbg0KaW5jbHVkZV9vbmNlKCdpbmMuaW5pdGlhbGl6YXRpb24ucGhwJyk7DQoNCmlmKCRoYXNfZXJyb3Ipe3JldHVybjt9DQoNCi8qIFZhcmlhYmxlcyBhdmFpbGFibGUgOg0KICoNCiAqICRlcnJvcnMgJiAkbWVzc2FnZXMNCiAqICRzbWFydHkNCiAqICRhbGlhc1BhcmFtICYgJGxhbmdQYXJhbQ0KICogJHBhZ2UgJiAkbGFuZw0KICogJHByZWZpeCBmcm9tIHByZWZlcmVuY2VzIHByZWZpeA0KICogJGNvZGVfaXNvIHdpdGggcHJlZmVyZW5jZXMgc2hvd19jb2RlX2lzbw0KICogJGVuZ2luZQ0KICogJGFsbF9sYW5nc19ieV9jb2RlICYmICRhbGxfbGFuZ3NfYnlfaWQNCiAqICRpc0RlZmF1bHRMYW5nICRpc0RlZmF1bHRQYWdlICRpc0RlZmF1bHRWZXJzaW9uDQogKg0KICoqLw0KDQokdnRleHQgPSAnJzsNCmlmKCFlbXB0eSgkcGFyYW1zWyd2dGV4dCddKSl7DQoJJHZ0ZXh0ID0gJHRoaXMtPmpzX3VybGRlY29kZSgkcGFyYW1zWyd2dGV4dCddKTsNCn0gZWxzZSB7DQoJJGVycm9yc1tdID0gJ3RleHRfbWFuZGF0b3J5JzsNCn0NCg0KJHZ0aXRsZSA9ICcnOw0KaWYoIWVtcHR5KCRwYXJhbXNbJ3Z0aXRsZSddKSl7DQoJJHZ0aXRsZSA9ICR0aGlzLT5qc191cmxkZWNvZGUoJHBhcmFtc1sndnRpdGxlJ10pOw0KfSBlbHNlIHsNCgkkZXJyb3JzW10gPSAndGl0bGVfbWFuZGF0b3J5JzsNCn0NCg0KaWYoIWVtcHR5KCRlcnJvcnMpKSB7DQoJJGFkZGl0aW9ubmFsUGFyYW1ldGVycyA9IGFycmF5KCk7DQoJaWYoJHZ0aXRsZSAhPSBudWxsKXsNCgkJJGFkZGl0aW9ubmFsUGFyYW1ldGVyc1sndnRpdGxlJ10gPSB1cmxlbmNvZGUoJHZ0aXRsZSk7DQoJfQ0KCWlmKCR2dGV4dCAhPSBudWxsKXsNCgkJJGFkZGl0aW9ubmFsUGFyYW1ldGVyc1sndnRleHQnXSA9IHVybGVuY29kZSgkdnRleHQpOw0KCX0NCgkkdXJsID0gUm91dGVNYWtlcjo6Z2V0RWRpdFJvdXRlKCR0aGlzLT5fZ2V0RGVmYXVsdExhbmcoKSwgJHRoaXMtPl9nZXREZWZhdWx0QWxpYXMoKSwgJGFkZGl0aW9ubmFsUGFyYW1ldGVycyk7DQoNCgkkc21hcnR5LT5hc3NpZ24oJ2Vycm9ycycsJGVycm9ycyk7DQoJJHNtYXJ0eS0+YXNzaWduKCd1cmwnLCR1cmwpOw0KCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnbWVzc2FnZS50cGwnKTsNCglyZXR1cm47DQp9DQoNCi8vVXBkYXRlIGFsbCB0aGUgb2xkIHZlcnNpb25zIGluICJsYXN0IHZlcnNpb24iDQokdmVyc2lvbiA9IG5ldyBWZXJzaW9uKCk7DQokcXVlcnkgPSAiVVBEQVRFIHskdmVyc2lvbi0+Z2V0RGJuYW1lKCl9IFNFVCBzdGF0dXM9eyR2ZXJzaW9uOjokU1RBVFVTX09MRH0gV0hFUkUgc3RhdHVzPXskdmVyc2lvbjo6JFNUQVRVU19DVVJSRU5UfSBBTkQgbGFuZz17JGxhbmctPmdldCgnbGFuZ19pZCcpfSBBTkQgcGFnZT17JHBhZ2UtPmdldCgicGFnZV9pZCIpfSI7DQpPcm1EYjo6ZXhlY3V0ZSgkcXVlcnkpOw0KDQovL0Fsd2F5cyBjcmVhdGUgbmV3IFZlcnNpb24NCiR2ZXJzaW9uID0gbmV3IFZlcnNpb24oKTsNCg0KbGlzdCgkY3VycmVudFVTLCAkY3VycmVudFRTKSA9IGV4cGxvZGUoIiAiLCBtaWNyb3RpbWUoKSk7DQokdmVyc2lvbi0+c2V0KCdkdF9jcmVhdGlvbicsJGN1cnJlbnRUUyk7DQokdmVyc2lvbi0+c2V0KCdhdXRob3JfbmFtZScsQXV0aGVudGlmaWNhdGlvbjo6Z2V0X2F1dGhvcl9uYW1lKCkpOw0KJHZlcnNpb24tPnNldCgnYXV0aG9yX2lkJyxBdXRoZW50aWZpY2F0aW9uOjpnZXRfYXV0aG9yX2lkKCkpOw0KJHZlcnNpb24tPnNldCgncGFnZScsJHBhZ2UtPmdldCgncGFnZV9pZCcpKTsNCiR2ZXJzaW9uLT5zZXQoJ2xhbmcnLCRsYW5nLT5nZXQoJ2xhbmdfaWQnKSk7DQokdmVyc2lvbi0+c2V0KCdzdGF0dXMnLCR2ZXJzaW9uOjokU1RBVFVTX0NVUlJFTlQpOw0KJHZlcnNpb24tPnNldCgndGl0bGUnLCR2dGl0bGUpOw0KJHZlcnNpb24tPnNldCgndGV4dCcsJHZ0ZXh0KTsNCiR2ZXJzaW9uID0gJHZlcnNpb24tPnNhdmUoKTsNCg0KLy8kdXJsID0gUm91dGVNYWtlcjo6Z2V0Vmlld1JvdXRlKCRsYW5nLT5nZXQoJ2NvZGUnKSwgJGFsaWFzUGFyYW0pOw0KJHVybCA9IFJvdXRlTWFrZXI6OmdldFZpZXdSb3V0ZSgkbGFuZy0+Z2V0KCdjb2RlJyksICRwYWdlLT5nZXQoJ2FsaWFzJykpOw0KJHVybCA9IHN0cl9yZXBsYWNlKCcmYW1wOycsICcmJywgJHVybCk7DQpoZWFkZXIoIkxvY2F0aW9uOiB7JHVybH0iKTsNCnJldHVybjsNCg0KDQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.setAccess.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCiRpc19yZWFkYWJsZSA9IHRydWU7DQokaXNfd3JpdGFibGUgPSBmYWxzZTsNCiRpc19kZWxldGFibGUgPSBmYWxzZTsNCiRhdXRob3JfbmFtZSA9IG51bGw7DQokYXV0aG9yX2lkID0gbnVsbDsNCg0KaWYoaXNzZXQoJHBhcmFtc1snaXNfcmVhZGFibGUnXSkpIHsNCgkkaXNfcmVhZGFibGUgPSAkcGFyYW1zWydpc19yZWFkYWJsZSddOw0KfQ0KaWYoaXNzZXQoJHBhcmFtc1snaXNfd3JpdGFibGUnXSkpIHsNCgkkaXNfd3JpdGFibGUgPSAkcGFyYW1zWydpc193cml0YWJsZSddOw0KfQ0KaWYoaXNzZXQoJHBhcmFtc1snaXNfZGVsZXRhYmxlJ10pKSB7DQoJJGlzX2RlbGV0YWJsZSA9ICRwYXJhbXNbJ2lzX2RlbGV0YWJsZSddOw0KfQ0KaWYoaXNzZXQoJHBhcmFtc1snYXV0aG9yX25hbWUnXSkpIHsNCgkkYXV0aG9yX25hbWUgPSAkcGFyYW1zWydhdXRob3JfbmFtZSddOw0KfQ0KaWYoaXNzZXQoJHBhcmFtc1snYXV0aG9yX2lkJ10pKSB7DQoJJGF1dGhvcl9pZCA9ICRwYXJhbXNbJ2F1dGhvcl9pZCddOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ3dpa2lfYWNjZXNzJywgYXJyYXkoDQoJCQkJCSJpc19yZWFkYWJsZSIgPT4gJGlzX3JlYWRhYmxlLA0KCQkJCQkiaXNfd3JpdGFibGUiID0+ICRpc193cml0YWJsZSwNCgkJCQkJImlzX2RlbGV0YWJsZSIgPT4gJGlzX2RlbGV0YWJsZSwNCgkJCQkJImF1dGhvcl9uYW1lIiA9PiAkYXV0aG9yX25hbWUsDQoJCQkJCSJhdXRob3JfaWQiID0+ICRhdXRob3JfaWQsDQoJCQkJCQkpKTsNCg0KQXV0aGVudGlmaWNhdGlvbjo6c2V0U3RhdHVzKCRpc19yZWFkYWJsZSwgJGlzX3dyaXRhYmxlLCAkaXNfZGVsZXRhYmxlLCAkYXV0aG9yX25hbWUsICRhdXRob3JfaWQpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.sitemap.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQokc21hcnR5LT5hc3NpZ24oJ2dhdGV3YXlQYXJhbXMnLCAkcGFyYW1zKTsNCiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2FjY2VzcycpOw0KZGVmaW5lKCdfSlNfQUNUSU9OXycsRkFMU0UpOw0KDQppZighQXV0aGVudGlmaWNhdGlvbjo6aXNfcmVhZGFibGUoKSl7DQoJJGVycm9ycyA9IGFycmF5KCJ3aWtpX25vdF9yZWFkYWJsZSIpOw0KCSRzbWFydHktPmFzc2lnbignZXJyb3JzJywgJGVycm9ycyk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdtZXNzYWdlLnRwbCcpOw0KCXJldHVybjsNCn0NCg0KLy9EZWZhdWx0IHZhbHVlcyBpbiB2aWV3IGNsYXNzIGluIGNhc2Ugb2Yge1dpa2l9IA0KaWYoZW1wdHkoJHBhcmFtc1sncGFsaWFzJ10pKSB7DQoJJHBhcmFtc1sncGFsaWFzJ10gPSAkdGhpcy0+X2dldERlZmF1bHRBbGlhcygpOw0KfQ0KaWYoZW1wdHkoJHBhcmFtc1sndmxhbmcnXSkpIHsNCgkkcGFyYW1zWyd2bGFuZyddID0gJHRoaXMtPl9nZXREZWZhdWx0TGFuZygpOw0KfQ0KDQovL0NvbW1vbiBpbml0aWFsaXphdGlvbg0KaW5jbHVkZV9vbmNlKCdpbmMuaW5pdGlhbGl6YXRpb24ucGhwJyk7DQoNCmlmKCRoYXNfZXJyb3Ipe3JldHVybjt9DQoNCg0KLyogVmFyaWFibGVzIGF2YWlsYWJsZSA6DQogKg0KICogJGVycm9ycyAmICRtZXNzYWdlcw0KICogJHNtYXJ0eQ0KICogJGFsaWFzUGFyYW0gJiAkbGFuZ1BhcmFtDQogKiAkcGFnZSAmICRsYW5nDQogKiAkcHJlZml4IGZyb20gcHJlZmVyZW5jZXMgcHJlZml4DQogKiAkY29kZV9pc28gd2l0aCBwcmVmZXJlbmNlcyBzaG93X2NvZGVfaXNvDQogKiAkZW5naW5lDQogKiAkYWxsX2xhbmdzX2J5X2NvZGUgJiYgJGFsbF9sYW5nc19ieV9pZA0KICogJGlzRGVmYXVsdExhbmcgJGlzRGVmYXVsdFBhZ2UgJGlzRGVmYXVsdFZlcnNpb24NCiAqDQogKiovDQoNCiRlbnRyaWVzID0gVmVyc2lvbnNTZXJ2aWNlOjpnZXRBbGxDdXJyZW50QnlQcmVmaXhBbmRMYW5nKCRwcmVmaXgsICAkbGFuZy0+Z2V0KCdsYW5nX2lkJykpOw0KDQokc2l0ZW1hcCA9IGFycmF5KCk7DQoNCi8vZWNobyBjb3VudCgkZW50cmllcyk7DQpmb3JlYWNoICgkZW50cmllcyBhcyAkZW50cnkpIHsNCgkkYWxpYXMgPSAkZW50cnktPmdldCgncGFnZScpLT5nZXQoJ2FsaWFzJyk7DQoJJGV4cGxvZGVkID0gZXhwbG9kZSgnOicsICRhbGlhcyk7DQoNCgkkc2l0ZW1hcCA9IHBhcnNlRW50cnkoJHNpdGVtYXAsICRleHBsb2RlZCwgJGVudHJ5LCAnJyk7DQoNCi8vCWVjaG8gIlxuLS0tLS0gIi4kYWxpYXMuIiAtLS0tLS1cbiI7DQovLwllY2hvIHByaW50X3IoJHNpdGVtYXAsIHRydWUpOw0KDQoJDQp9DQoNCmZ1bmN0aW9uIHBhcnNlRW50cnkoJHN1YiwgJGV4cGxvZGVkLCAkZW50cnksICRjdXJyZW50YWxpYXMpew0KDQoNCgkkcGFydCA9IGFycmF5X3NoaWZ0KCRleHBsb2RlZCk7DQoNCglpZighZW1wdHkoJGN1cnJlbnRhbGlhcykpew0KCQkkY3VycmVudGFsaWFzLj0gJzonOwkNCgl9DQoJJGN1cnJlbnRhbGlhcy49ICRwYXJ0Ow0KDQoJaWYoIWlzc2V0KCRzdWJbJHBhcnRdKSl7DQoJCSRzdWJbJHBhcnRdID0gYXJyYXkoDQoJCQknbGFiZWwnID0+ICRwYXJ0LA0KCQkJJ3VybCcgPT4gUm91dGVNYWtlcjo6Z2V0Vmlld1JvdXRlKCRlbnRyeS0+Z2V0KCdsYW5nJyktPmdldCgnY29kZScpLCAkY3VycmVudGFsaWFzKSwNCgkJCSdjc3MnID0+ICduZXcnLA0KCQkJJ2NoaWxkcmVuJyA9PiBhcnJheSgpLA0KCQkJKTsNCgl9DQoJDQoJaWYoIWVtcHR5KCRleHBsb2RlZCkpew0KCQkkc3ViWyRwYXJ0XVsnY2hpbGRyZW4nXSA9IHBhcnNlRW50cnkoJHN1YlskcGFydF1bJ2NoaWxkcmVuJ10sICRleHBsb2RlZCwgJGVudHJ5LCAkY3VycmVudGFsaWFzKTsNCgl9IGVsc2Ugew0KCQkkc3ViWyRwYXJ0XVsnbGFiZWwnXSA9ICRlbnRyeS0+Z2V0KCd0aXRsZScpOw0KCQkkc3ViWyRwYXJ0XVsnY3NzJ10gPSAnZm9sbG93JzsNCgkJJHN1YlskcGFydF1bJ3VybCddID0gUm91dGVNYWtlcjo6Z2V0Vmlld1JvdXRlKCRlbnRyeS0+Z2V0KCdsYW5nJyktPmdldCgnY29kZScpLCAkZW50cnktPmdldCgncGFnZScpLT5nZXQoJ2FsaWFzJykpOw0KCX0NCg0KCXJldHVybiAkc3ViOw0KfQ0KDQphcnJheV9tdWx0aXNvcnQoJHNpdGVtYXApOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Jvb3Rfd2lraV91cmwnLCBSb3V0ZU1ha2VyOjpnZXRSb290Um91dGUoJGxhbmdQYXJhbSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdzaXRlbWFwJywgJHNpdGVtYXApOw0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3NpdGVtYXAudHBsJyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/default.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyMgV0lLSSBGb3IgQ21zIE1hZGUgU2ltcGxlICENCg0KV2VsY29tZSBvbiB5b3VyIGZpcnN0IFdpa2kgcGFnZS4gRnJvbSBoZXJlIHlvdSB3aWxsIGJlIGFibGUgdG8gY3JlYXRlIGV0IGVkaXQgYSBsb3Qgb2YgcGFnZQ0KDQpTb21lIHRpcHMgOiANCg0KKiAgIFRoZSBkZWZhdWx0IGxhbmd1YWdlIGlzICJNYXJrRG93biIuIElmIGl0J3MgdGhlIGZpcnN0IHRpbWUgZm9yIHlvdSB0byB3cml0ZSBpbiAiTWFya2Rvd24iIG1vZGUsIHRha2UgYSBmZXcgbW9tZW50IFt0byByZWFkIHRoaXNdKGh0dHA6Ly9kYXJpbmdmaXJlYmFsbC5uZXQvcHJvamVjdHMvbWFya2Rvd24vc3ludGF4KQ0KKiAgIElmIHlvdSBjYW4ndCBzZWUgdGhlIGJ1dHRvbiBFZGl0aW9uLCBpdCdzIG1heWJlIGJlY2F1c2UgeW91IGFyZSBub3QgbG9nZ2VkIG9yIG1heWJlIHRoZSBwYWdlIGlzIHByb3RlY3RlZC4gU2VlIHRoZSBhZG1pbiBwYW5lbCB0byBsZWFybiBtb3JlLg0KKiAgIExpa2UgbW9zdCBvZiB3aWtpLCB5b3UgZG9uJ3QgaGF2ZSB0byBjcmVhdGUgYSBwYWdlIGJlZm9yZSBsaW5raW5nIGl0LiBFdmVyeSBsaW5rcyBwb2ludGluZyB0byBhIFtuby1leGlzdGluZyBwYWdlIHdpbGwgYmUgY29sb3VyZWQgaW4gUkVEXShhTmV3UGFnZSkuIE9uIHRoZSBvdGhlciBzaWRlLCBhIGxpbmsgcG9pbnRpbmcgb24gYW4gYW5vdGhlciB3aWtpIHBhZ2Ugd2lsbCBiZSBbY29sb3VyZWQgaW4gQkxVRV0oaG9tZSkNCiogICBIVE1MIHRhZ3MgbGlrZSBgPGI+Ym9sZDwvYj5gIG9yIGA8YSBocmVmPScjJz5saW5rczwvYT5gIGNvdWxkIGJlIHByb2Nlc3NlZCBieSB0aGUgZW5naW5lICJNYXJrRG93biIgaW4gYSBub3JtYWwgY2FzZSBidXQgZm9yIHNlY3VyaXR5IHJlYXNvbnMgaXQncyBkaXNhYmxlZCBpbiB0aGUgbW9kdWxlIFdJS0kgYnkgZGVmYXVsdC4NCiogICBTbWFydHkgdGFncyBhbmQgQ21zTWFkZVNpbXBsZSB0YWdzIGxpa2UgYHsiaGVsbG8ifGNhcGl0YWxpemV9YCBvciBge05ld3N9YCBhcmUgbm90IHByb2Nlc3NlZCBieSB0aGUgZW5naW5lICJNYXJrRG93biIgdW5sZXNzIHRoZSBhZG1pbmlzdHJhdG9yIHNldHRlZCBpdCBpbiB0aGUgYWRtaW4gcGFuZWwgb2YgdGhlIG1vZHVsZS4gVGhlIHRhZyByb290X3VybCBpcyB0aGUgb25seSBTbWFydHkgdGFnIHRvIGJlIHByb2Nlc3NlZCA6IHtyb290X3VybH0NCg0KSW4gZmFjdCwgdGhlICJNYXJrRG93biIgbGFuZ3VhZ2UgaXMgYSAqKmVkaXRvcmlhbCBsYW5ndWFnZSoqIGFuZCBub3QgYSAqKnByb2dyYW1tYXRpYyBsYW5ndWFnZSoqIChsaWtlIFNtYXJ0eSBpcykNCiANCkFuZCBmaW5hbGx5LCBoZXJlIHNvbWUgYWR2aWNlIGJ5ICJEdWt5IiwgdGhlIGxveWFsIER1Y2suDQoNCiFbcXVhY2tdKGh0dHA6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9kL2Q1L0dyYXZlX2VlbmRfbWFhc211dXIuanBnLzI1NnB4LUdyYXZlX2VlbmRfbWFhc211dXIuanBnKQ0KDQo+IFF1YWNrLCBxdWFjayBxdWFjayBxdWFjay4uLiAgDQoNCj4gPiBPJyByZWFsbHkgPw0KDQo+IA0KDQo+ID4gTXkgR29kICENCg0KPiANCg0KPiBRdWFjaywgcXVhY2sgcXVhY2sgcXVhY2suLi4gIA0KDQo=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/inc.breadcrumbs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQokZ2x1ZSA9ICc6JzsNCiRlbHRzID0gZXhwbG9kZSgkZ2x1ZSwkYWxpYXNQYXJhbSk7DQokcHJldmlvdXMgPSAnJzsNCiRicmVhZGNydW1icyA9IGFycmF5KCk7DQpmb3JlYWNoKCRlbHRzIGFzICRlbHQpew0KCSRiX3VybCA9IFJvdXRlTWFrZXI6OmdldFZpZXdSb3V0ZSgkbGFuZ1BhcmFtLCAkcHJldmlvdXMuJGVsdCk7DQoJJGJfbmFtZSA9ICRlbHQ7DQoJDQoJDQoJJGJfY2xhc3MgPSAnJzsNCgkkYl90aXRsZSAgPSAnJzsNCg0KCS8vVGVzdCBleGlzdGFuY2Ugb2YgSW50ZXJuYWwgbGluaw0KCSRwYWdlT2ZDaGlsZCA9IFBhZ2VzU2VydmljZTo6Z2V0T25lQnlBbGlhcygkcHJlZml4LCAkcHJldmlvdXMuJGVsdCk7DQoJaWYoJHBhZ2VPZkNoaWxkID09IG51bGwpew0KCQkkYl9jbGFzcyA9ICduZXcnOyANCgkJJGJfdGl0bGUgPSAiQ2xpYyB0byBjcmVhdGUgdGhlIHBhZ2UgeyRwcmV2aW91c317JGVsdH0iOw0KCX0gZWxzZSB7DQoJCSR2ZXJzaW9uT2ZDaGlsZHJlbiA9IFZlcnNpb25zU2VydmljZTo6Z2V0T25lKCRwYWdlT2ZDaGlsZC0+Z2V0KCdwYWdlX2lkJyksIG51bGwsIFZlcnNpb246OiRTVEFUVVNfQ1VSUkVOVCk7DQoJCWlmKCR2ZXJzaW9uT2ZDaGlsZHJlbiA9PSBudWxsKXsNCgkJCSRiX2NsYXNzID0gJ25ldyc7IA0KCQkJJGJfdGl0bGUgPSAiQ2xpYyB0byBjcmVhdGUgdGhlIHBhZ2UgeyRwcmV2aW91c317JGVsdH0iOw0KCQl9IA0KCX0NCg0KCQ0KCQ0KCSRicmVhZGNydW1ic1tdID0gYXJyYXkoJ25hbWUnPT4kYl9uYW1lLA0KCQkJCQkJJ3VybCc9PiRiX3VybCwNCgkJCQkJCSdjbGFzcyc9PiRiX2NsYXNzLA0KCQkJCQkJJ3RpdGxlJz0+JGJfdGl0bGUpOw0KCQ0KCSRwcmV2aW91cyAuPSAkZWx0LiRnbHVlOw0KfQ0KJHNtYXJ0eS0+YXNzaWduKCdicmVhZGNydW1icycsICRicmVhZGNydW1icyk7DQoNCg0KDQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/inc.childrens.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCi8vR2V0IGFjdGl2ZSBWZXJzaW9ucyBvZiBlYWNoIGxhbmdzDQokY2hpbGRyZW5zUGFnZXMgPSBQYWdlc1NlcnZpY2U6OmdldEJ5QWxpYXNMaWtlKCRwcmVmaXgsICRwYWdlLT5nZXQoJ2FsaWFzJykuJzolJyk7DQokY2hpbGRyZW5zID0gYXJyYXkoKTsNCiRzdWJfZW50cmllcyA9IGFycmF5KCk7DQoNCmZvcmVhY2ggKCRjaGlsZHJlbnNQYWdlcyBhcyAkY2hpbGRyZW5zUGFnZSkgew0KDQoJJHN1YlRpdGxlID0gc3Vic3RyKCRjaGlsZHJlbnNQYWdlLT5nZXQoJ2FsaWFzJyksIHN0cmxlbigkcGFnZS0+Z2V0KCdhbGlhcycpICkgKyAxKTsNCg0KCWlmKHN1YnN0cl9jb3VudCgkc3ViVGl0bGUsICc6Jykpew0KCQljb250aW51ZTsNCgl9DQoNCgkkdmVyc2lvbl9jaGlsZCA9IFZlcnNpb25zU2VydmljZTo6Z2V0T25lKCRjaGlsZHJlbnNQYWdlLT5nZXQoJ3BhZ2VfaWQnKSwgJGxhbmctPmdldCgnbGFuZ19pZCcpLCBWZXJzaW9uOjokU1RBVFVTX0NVUlJFTlQpOw0KDQoJaWYoJHZlcnNpb25fY2hpbGQgIT0gbnVsbCl7DQoJCSRwb3MgPSBzdHJwb3MgKCAkdmVyc2lvbl9jaGlsZC0+Z2V0KCd0aXRsZScpLCAnOicgLCBzdHJsZW4oJHBhZ2UtPmdldCgnYWxpYXMnKS4nOiUnKSk7DQoJCQ0KCQkkcHJldHR5VXJsID0gUm91dGVNYWtlcjo6Z2V0Vmlld1JvdXRlKCRsYW5nUGFyYW0sICR2ZXJzaW9uX2NoaWxkLT5nZXQoJ3BhZ2UnKS0+Z2V0KCdhbGlhcycpKTsNCg0KCQkkY2xhc3MgPSAnJzsNCgkJaWYoJHBvcyA9PT0gVFJVRSl7DQoJCQkkY2xhc3MgPSAnbmV3JzsNCgkJfQ0KDQoJCSRsYWJlbCA9ICR2ZXJzaW9uX2NoaWxkLT5nZXQoJ3RpdGxlJyk7DQoNCgkJJHN1Yl9lbnRyaWVzWyRsYWJlbF0gPSBhcnJheSgNCgkJCQkJJ2xhYmVsJyA9PiAkbGFiZWwsDQoJCQkJCSd2aWV3VXJsJyA9PiAkcHJldHR5VXJsLA0KCQkJCQknY2xhc3MnID0+ICRjbGFzcw0KCQkJCQkpOw0KCX0NCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdzdWJfZW50cmllcycsICRzdWJfZW50cmllcyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/inc.createPage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCiR2YWxzID0gYXJyYXkoKTsNCiR2YWxzWydsYW5nJ10gPSAkbGFuZy0+Z2V0KCdsYW5nX2lkJyk7DQoNCmlmKCFlbXB0eSgkcGFyYW1zWyd2dGl0bGUnXSkpew0KCSR2YWxzWyd0aXRsZSddID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ3Z0aXRsZSddKTsNCn0gZWxzZSB7DQoJJHZhbHNbJ3RpdGxlJ10gPSAkYWxpYXNQYXJhbS4nIFsnLiRsYW5nLT5nZXQoJ2xhYmVsJykuJ10nOw0KfQ0KDQppZighZW1wdHkoJHBhcmFtc1sndnRleHQnXSkpew0KCSR2YWxzWyd0ZXh0J10gPSBodG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1sndnRleHQnXSk7DQp9IGVsc2UgaWYoICR0aGlzLT5fZ2V0RGVmYXVsdEFsaWFzKCkgPT0gJHBhZ2UtPmdldCgnYWxpYXMnKSAmJiAkdGhpcy0+X2dldERlZmF1bHRMYW5nKCkgPT0gJGxhbmctPmdldCgnY29kZScpKXsNCgkkdmFsc1sndGV4dCddID0gaHRtbGVudGl0aWVzKGZpbGVfZ2V0X2NvbnRlbnRzKCRjb25maWdbJ3Jvb3RfcGF0aCddLicvbW9kdWxlcy9XaWtpL2RlZmF1bHQubWQnKSk7DQp9IGVsc2Ugew0KCSR2YWxzWyd0ZXh0J10gPSAiIyMgWW91ciBzdWJUaXRsZSBmb3IgdGhlIG5ldyBwYWdlIHskYWxpYXNQYXJhbX0gWyIuJGxhbmctPmdldCgnbGFiZWwnKS4iXVxyXG5Xcml0ZSBoZXJlIHNvbWUgdGV4dCI7DQp9DQokZm9ybSA9ICR0aGlzLT5DcmVhdGVGcm9udGVuZEZvcm1TdGFydCAoJGlkLCAkcmV0dXJuaWQsICdzYXZlJywgJ3Bvc3QnLCAnJywgdHJ1ZSwgJycsIGFycmF5KA0KCQkJCQkndmxhbmcnID0+ICRsYW5nLT5nZXQoJ2NvZGUnKSwNCgkJCQkJJ3BhbGlhcycgPT4gJHBhZ2UtPmdldCgnYWxpYXMnKSwNCgkJCQkJJ3BwcmVmaXgnID0+ICRwcmVmaXgNCgkJCQkJKSk7DQokY2FuY2VsID0gUm91dGVNYWtlcjo6Z2V0Um9vdFJvdXRlKCRsYW5nUGFyYW0pOw0KJHByZXZpZXcgPSBSb3V0ZU1ha2VyOjpnZXRQcmV2aWV3Um91dGUoJGxhbmdQYXJhbSwgJGFsaWFzUGFyYW0pOw0KDQoNCg0KDQoNCg0KDQoNCiRzbWFydHktPmFzc2lnbigndmVyc2lvbicsICR2YWxzKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICR2YWxzWyd0aXRsZSddKTsNCiRzbWFydHktPmFzc2lnbignYWN0aW9uJywgJ0NyZWF0ZScpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICRjYW5jZWwpOw0KJHNtYXJ0eS0+YXNzaWduKCdwcmV2aWV3JywgJHByZXZpZXcpOw0KJHNtYXJ0eS0+YXNzaWduKCdmb3JtJywgJGZvcm0pOw0KDQokanMgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0UGFnZS5qcy50cGwnKTsNCiRzbWFydHktPmFzc2lnbignd2lraV9qcycsICRqcyk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdFBhZ2UudHBsJyk7DQoNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/inc.designDelete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCnRyeXsNCgkkZGVzaWduID0gQ21zTGF5b3V0Q29sbGVjdGlvbjo6bG9hZCgiV2lraSBEZXNpZ24gV2l0aCBGb3VuZGF0aW9uIik7DQoJJGNzc19hbGwgPSAkZGVzaWduLT5nZXRfc3R5bGVzaGVldHMoKTsNCglpZigkY3NzX2FsbCAhPSBudWxsKXsNCglmb3JlYWNoICgkY3NzX2FsbCBhcyAkY3NzKSB7DQoJCXRyeXsNCgkJCSRjc3Nfb2JqID0gQ21zTGF5b3V0U3R5bGVzaGVldDo6bG9hZCgkY3NzKTsNCgkJCWlmKCRjc3Nfb2JqICE9IG51bGwpeyRjc3Nfb2JqLT5kZWxldGUoKTtlY2hvICI8YnIvPmNzcyAiLiRjc3Nfb2JqLT5nZXRfbmFtZSgpLiIgZGVsZXRlZCI7fQ0KCQl9IGNhdGNoIChDbXNEYXRhTm90Rm91bmRFeGNlcHRpb24gJGUpeyBlY2hvICJjc3MgIi4kY3NzLiIgbm90IGZvdW5kIjsgfQ0KDQoJCSRkZXNpZ24tPmRlbGV0ZV9zdHlsZXNoZWV0KCRjc3MpOw0KCX19DQoNCgkkdHBsX2FsbCA9ICRkZXNpZ24tPmdldF90ZW1wbGF0ZXMoKTsNCglpZigkdHBsX2FsbCAhPSBudWxsKXsNCglmb3JlYWNoICgkdHBsX2FsbCBhcyAkdHBsKSB7DQoJCXRyeXsNCgkJCSR0cGxfb2JqID0gQ21zTGF5b3V0VGVtcGxhdGU6OmxvYWQoJHRwbCk7DQoJCQlpZigkdHBsX29iaiAhPSBudWxsKXskdHBsX29iai0+ZGVsZXRlKCk7ZWNobyAiPGJyLz50cGwgIi4kdHBsX29iai0+Z2V0X25hbWUoKS4iIGRlbGV0ZWQiO30NCgkJfSBjYXRjaCAoQ21zRGF0YU5vdEZvdW5kRXhjZXB0aW9uICRlKXsgZWNobyAidGVtcGxhdGUgIi4kdHBsLiIgbm90IGZvdW5kIjsgfQ0KDQoJCSRkZXNpZ24tPnNldF90ZW1wbGF0ZXMoYXJyYXkoKSk7DQoJfX0NCgkNCgl0cnl7DQoJCSRkZXNpZ24tPmRlbGV0ZSgpOw0KCQllY2hvICI8YnIvPmRlc2lnbiAiLiRkZXNpZ24tPmdldF9uYW1lKCkuIiBkZWxldGVkIjsNCgl9IGNhdGNoIChDbXNFeGNlcHRpb24gJGUpeyBlY2hvICJkZXNpZ24gIi4kZGVzaWduLT5nZXRfbmFtZSgpLiIgY2Fubm90IGJlIGRlbGV0ZWQiOyBlY2hvICRlLT5nZXRNZXNzYWdlKCk7fQ0KDQp9IGNhdGNoIChDbXNEYXRhTm90Rm91bmRFeGNlcHRpb24gJGUpeyBlY2hvICJkZXNpZ24gbm90IGZvdW5kIjsgIGVjaG8gJGUtPmdldE1lc3NhZ2UoKTt9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/inc.designInsert.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQokdWlkID0gbnVsbDsNCmlmKCBjbXNtcygpLT50ZXN0X3N0YXRlKENtc0FwcDo6U1RBVEVfSU5TVEFMTCkgKSB7DQogICR1aWQgPSAxOyAvLyBoYXJkY29kZSB0byBmaXJzdCB1c2VyDQp9IGVsc2Ugew0KICAkdWlkID0gZ2V0X3VzZXJpZCgpOw0KfQ0KDQoNCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiRjX2NzczEgPSBmaWxlX2dldF9jb250ZW50cygkY29uZmlnWydyb290X3BhdGgnXS4nL21vZHVsZXMvV2lraS90ZW1wbGF0ZXMvaW5pdC9jc3Nfbm9ybWFsaXplJyk7DQokY19jc3MyID0gZmlsZV9nZXRfY29udGVudHMoJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy9tb2R1bGVzL1dpa2kvdGVtcGxhdGVzL2luaXQvY3NzX2ZvdW5kYXRpb24nKTsNCiRjX2NzczMgPSBmaWxlX2dldF9jb250ZW50cygkY29uZmlnWydyb290X3BhdGgnXS4nL21vZHVsZXMvV2lraS90ZW1wbGF0ZXMvaW5pdC9jc3NfZm91bmRhdGlvbl9pY29uZXMnKTsNCiRjX2NzczQgPSBmaWxlX2dldF9jb250ZW50cygkY29uZmlnWydyb290X3BhdGgnXS4nL21vZHVsZXMvV2lraS90ZW1wbGF0ZXMvaW5pdC9jc3Nfd2lraScpOw0KDQokY190cGwxID0gZmlsZV9nZXRfY29udGVudHMoJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy9tb2R1bGVzL1dpa2kvdGVtcGxhdGVzL2luaXQvdHBsX3dpa2kxY29sJyk7DQokY190cGwyID0gZmlsZV9nZXRfY29udGVudHMoJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy9tb2R1bGVzL1dpa2kvdGVtcGxhdGVzL2luaXQvdHBsX3dpa2kyY29scycpOw0KDQoNCnRyeSB7DQoNCiAgLy9Vc2luZyBjb3JlOjpwYWdlIHR5cGUNCiAgJHdpa2lfdHlwZSA9IENtc0xheW91dFRlbXBsYXRlVHlwZTo6bG9hZCgiQ29yZTo6cGFnZSIpOw0KDQogIHRyeXsNCiAgICAkdHBsMSA9IENtc0xheW91dFRlbXBsYXRlOjpsb2FkKCdXaWtpIFNhbXBsZSAxIGNvbCcpOw0KICAgIGVjaG8gIjxwPlRlbXBsYXRlICIuJHRwbDEtPmdldF9uYW1lKCkuIiBhbHJlYWR5IGV4aXN0czwvcD4iOw0KICB9IGNhdGNoKENtc0RhdGFOb3RGb3VuZEV4Y2VwdGlvbiAkbm90Zm91bmQpew0KICAgIC8vIENSRUFURSBURU1QTEFURSAxIENPTA0KICAgICR0cGwxID0gbmV3IENtc0xheW91dFRlbXBsYXRlKCk7DQogICAgJHRwbDEtPnNldF9uYW1lKCdXaWtpIFNhbXBsZSAxIGNvbCcpOw0KICAgICR0cGwxLT5zZXRfb3duZXIoJHVpZCk7DQogICAgJHRwbDEtPnNldF9jb250ZW50KCRjX3RwbDEpOw0KICAgICR0cGwxLT5zZXRfdHlwZSgkd2lraV90eXBlKTsNCiAgICAkdHBsMS0+c2V0X3R5cGVfZGZsdChGQUxTRSk7DQogICAgZWNobyAiPHA+U2F2aW5nICIuJHRwbDEtPmdldF9uYW1lKCkuIjwvcD4iOw0KICAgICR0cGwxLT5zYXZlKCk7DQogICAgZWNobyAiPHA+Ii4kdHBsMS0+Z2V0X25hbWUoKS4iIHNhdmVkIHdpdGggc3VjY2VzczwvcD4iOw0KICB9DQoNCiAgdHJ5ew0KICAgICR0cGwyID0gQ21zTGF5b3V0VGVtcGxhdGU6OmxvYWQoJ1dpa2kgU2FtcGxlIDIgY29scycpOw0KICAgIGVjaG8gIjxwPlRlbXBsYXRlICIuJHRwbDItPmdldF9uYW1lKCkuIiBhbHJlYWR5IGV4aXN0czwvcD4iOw0KICB9IGNhdGNoKENtc0RhdGFOb3RGb3VuZEV4Y2VwdGlvbiAkbm90Zm91bmQpew0KICAgIC8vIENSRUFURSBURU1QTEFURSAyIFJPTA0KICAgICR0cGwyID0gbmV3IENtc0xheW91dFRlbXBsYXRlKCk7DQogICAgJHRwbDItPnNldF9uYW1lKCdXaWtpIFNhbXBsZSAyIGNvbHMnKTsNCiAgICAkdHBsMi0+c2V0X293bmVyKCR1aWQpOw0KICAgICR0cGwyLT5zZXRfY29udGVudCgkY190cGwyKTsNCiAgICAkdHBsMi0+c2V0X3R5cGUoJHdpa2lfdHlwZSk7DQogICAgJHRwbDItPnNldF90eXBlX2RmbHQoRkFMU0UpOw0KICAgIGVjaG8gIjxwPlNhdmluZyAiLiR0cGwyLT5nZXRfbmFtZSgpLiI8L3A+IjsNCiAgICAkdHBsMi0+c2F2ZSgpOw0KICAgIGVjaG8gIjxwPiIuJHRwbDItPmdldF9uYW1lKCkuIiBzYXZlZCB3aXRoIHN1Y2Nlc3M8L3A+IjsNCiAgfQ0KDQogIC8vIENSRUFURSBPUiBVUERBVEUgQ1NTDQogIHRyeXsNCiAgICAkY3NzMSA9IENtc0xheW91dFN0eWxlc2hlZXQ6OmxvYWQoJ1dpa2lfTm9ybWFsaXplJyk7DQogIH0gY2F0Y2goQ21zRGF0YU5vdEZvdW5kRXhjZXB0aW9uICRub3Rmb3VuZCl7DQogICAgJGNzczEgPSBuZXcgQ21zTGF5b3V0U3R5bGVzaGVldCgpOw0KICB9DQogIA0KICAkY3NzMS0+c2V0X25hbWUoJ1dpa2lfTm9ybWFsaXplJyk7DQogICRjc3MxLT5zZXRfY29udGVudCgkY19jc3MxKTsNCiAgJGNzczEtPnNldF9kZXNjcmlwdGlvbigiQ1NTIGZvciB0aGUgTm9ybWFsaXplJ3MgYmFzZSBkZXNpZ24gdjMuMC4yIik7DQogIGVjaG8gIjxwPlNhdmluZyAiLiRjc3MxLT5nZXRfbmFtZSgpLiI8L3A+IjsNCiAgJGNzczEtPnNhdmUoKTsNCiAgZWNobyAiPHA+Ii4kY3NzMS0+Z2V0X25hbWUoKS4iIHNhdmVkIHdpdGggc3VjY2VzczwvcD4iOw0KDQogIHRyeXsNCiAgICAkY3NzMiA9IENtc0xheW91dFN0eWxlc2hlZXQ6OmxvYWQoJ1dpa2lfRm91bmRhdGlvbicpOw0KICB9IGNhdGNoKENtc0RhdGFOb3RGb3VuZEV4Y2VwdGlvbiAkbm90Zm91bmQpew0KICAgICRjc3MyID0gbmV3IENtc0xheW91dFN0eWxlc2hlZXQoKTsNCiAgfQ0KDQogICRjc3MyLT5zZXRfbmFtZSgnV2lraV9Gb3VuZGF0aW9uJyk7DQogICRjc3MyLT5zZXRfY29udGVudCgkY19jc3MyKTsNCiAgJGNzczItPnNldF9kZXNjcmlwdGlvbigiQ1NTIGZvciB0aGUgZm91bmRhdGlvbidzIGJhc2UgZGVzaWduIHY1LjUuMSIpOw0KICBlY2hvICI8cD5TYXZpbmcgIi4kY3NzMi0+Z2V0X25hbWUoKS4iPC9wPiI7DQogICRjc3MyLT5zYXZlKCk7DQogIGVjaG8gIjxwPiIuJGNzczItPmdldF9uYW1lKCkuIiBzYXZlZCB3aXRoIHN1Y2Nlc3M8L3A+IjsNCg0KICB0cnl7DQogICAgJGNzczMgPSBDbXNMYXlvdXRTdHlsZXNoZWV0Ojpsb2FkKCdXaWtpX0ZvdW5kYXRpb25faWNvbmVzJyk7DQogIH0gY2F0Y2goQ21zRGF0YU5vdEZvdW5kRXhjZXB0aW9uICRub3Rmb3VuZCl7DQogICAgJGNzczMgPSBuZXcgQ21zTGF5b3V0U3R5bGVzaGVldCgpOw0KICB9DQoNCiAgJGNzczMtPnNldF9uYW1lKCdXaWtpX0ZvdW5kYXRpb25faWNvbmVzJyk7DQogICRjc3MzLT5zZXRfY29udGVudCgkY19jc3MzKTsNCiAgJGNzczMtPnNldF9kZXNjcmlwdGlvbigiQ1NTIGZvciB0aGUgZm91bmRhdGlvbidzIGljb25lcyBkZXNpZ24gdjMuMCIpOw0KICBlY2hvICI8cD5TYXZpbmcgIi4kY3NzMy0+Z2V0X25hbWUoKS4iPC9wPiI7DQogICRjc3MzLT5zYXZlKCk7DQogIGVjaG8gIjxwPiIuJGNzczMtPmdldF9uYW1lKCkuIiBzYXZlZCB3aXRoIHN1Y2Nlc3M8L3A+IjsNCg0KICB0cnl7DQogICAgJGNzczQgPSBDbXNMYXlvdXRTdHlsZXNoZWV0Ojpsb2FkKCdXaWtpX01haW4nKTsNCiAgfSBjYXRjaChDbXNEYXRhTm90Rm91bmRFeGNlcHRpb24gJG5vdGZvdW5kKXsNCiAgICAkY3NzNCA9IG5ldyBDbXNMYXlvdXRTdHlsZXNoZWV0KCk7DQogIH0NCiAgJGNzczQtPnNldF9uYW1lKCdXaWtpX01haW4nKTsNCiAgJGNzczQtPnNldF9jb250ZW50KCRjX2NzczQpOw0KICAkY3NzNC0+c2V0X2Rlc2NyaXB0aW9uKCJDU1MgZm9yIHRoZSB3aWtpIHYxLjAuMCAuIEV4dGVuZHMgdGhlIGZvdW5kYXRpb25zJ3MgYmFzZSBkZXNpZ24iKTsNCiAgZWNobyAiPHA+U2F2aW5nICIuJGNzczQtPmdldF9uYW1lKCkuIjwvcD4iOw0KICAkY3NzNC0+c2F2ZSgpOw0KICBlY2hvICI8cD4iLiRjc3M0LT5nZXRfbmFtZSgpLiIgc2F2ZWQgd2l0aCBzdWNjZXNzPC9wPiI7DQoNCg0KICAvLyBDUkVBVEUgREVTSUdODQogIHRyeXsNCiAgICAkZGVzaWduID0gQ21zTGF5b3V0Q29sbGVjdGlvbjo6bG9hZCgnV2lraSBEZXNpZ24gV2l0aCBGb3VuZGF0aW9uJyk7DQogIH0gY2F0Y2goQ21zRGF0YU5vdEZvdW5kRXhjZXB0aW9uICRub3Rmb3VuZCl7DQogICAgJGRlc2lnbiA9IG5ldyBDbXNMYXlvdXRDb2xsZWN0aW9uKCk7DQogIH0NCg0KICAkZGVzaWduLT5zZXRfbmFtZSgiV2lraSBEZXNpZ24gV2l0aCBGb3VuZGF0aW9uIik7DQogICRkZXNpZ24tPnNldF9kZXNjcmlwdGlvbigiRm91bmRhdGlvbiBEZXNpZ24gbmVlZGVkIGJ5IHRoZSB3aWtpIHRvIHdvcmsuIEl0IHdpbGwgaW5jbHVkZSBDU1MgYW5kIEpTIGZvciBmb3VuZGF0aW9uIDUuNS4xIik7DQogICRkZXNpZ24tPnNldF90ZW1wbGF0ZXMoYXJyYXkoDQogIAkJCSR0cGwxLT5nZXRfaWQoKSwNCiAgCQkJJHRwbDItPmdldF9pZCgpLA0KICAJCQkpKTsNCiAgJGRlc2lnbi0+c2V0X3N0eWxlc2hlZXRzKGFycmF5KA0KICAJCQkkY3NzMS0+Z2V0X2lkKCksDQogIAkJCSRjc3MyLT5nZXRfaWQoKSwNCiAgICAgICAgJGNzczMtPmdldF9pZCgpLA0KICAJCQkkY3NzNC0+Z2V0X2lkKCksDQogIAkJCSkpOw0KICAkZGVzaWduLT5zYXZlKCk7DQoNCn0NCmNhdGNoKCBDbXNFeGNlcHRpb24gJGUgKSB7DQogIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJyBJbnN0YWxsYXRpb24gRXJyb3I6ICcuJGUtPkdldE1lc3NhZ2UoKSk7DQogIGVjaG8gJHRoaXMtPkdldE5hbWUoKSwnIEluc3RhbGxhdGlvbiBFcnJvcjogJy4kZS0+R2V0TWVzc2FnZSgpOw0KICBkaWUoKTsNCn0NCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/inc.editPage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCiRmb3JtID0gJHRoaXMtPkNyZWF0ZUZyb250ZW5kRm9ybVN0YXJ0ICgkaWQsICRyZXR1cm5pZCwgJ3NhdmUnLCAnZ2V0JywgJycsIHRydWUsICcnLCBhcnJheSgNCgkJCQkJJ3ZsYW5nJyA9PiAkbGFuZy0+Z2V0KCdjb2RlJyksDQoJCQkJCSdwYWxpYXMnID0+ICRwYWdlLT5nZXQoJ2FsaWFzJyksDQoJCQkJCSdwcHJlZml4JyA9PiAkcHJlZml4DQoJCQkJCQkJKSk7DQokY2FuY2VsID0gUm91dGVNYWtlcjo6Z2V0Vmlld1JvdXRlKCRsYW5nLT5nZXQoJ2NvZGUnKSwgJHBhZ2UtPmdldCgnYWxpYXMnKSk7DQokcHJldmlldyA9IFJvdXRlTWFrZXI6OmdldFByZXZpZXdSb3V0ZSgkbGFuZy0+Z2V0KCdjb2RlJyksICRwYWdlLT5nZXQoJ2FsaWFzJykpOw0KDQokdmFscyA9ICR2ZXJzaW9uLT5nZXRWYWx1ZXMoKTsNCg0KLy9DYXNlIDogZ2V0IGluIGVkaXRpb24gYWZ0ZXIgYW4gZXJyb3IgOiBrZWVwIHRoZSBwcmV2aW91cyB0ZXh0Lg0KaWYoIWVtcHR5KCRwYXJhbXNbJ3Z0ZXh0J10pKXsNCgkkdmFsc1sndGV4dCddID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ3Z0ZXh0J10pOw0KfQ0KaWYoIWVtcHR5KCRwYXJhbXNbJ3Z0aXRsZSddKSl7DQoJJHZhbHNbJ3RpdGxlJ10gPSBodG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1sndnRpdGxlJ10pOw0KfQ0KDQokcGFnZV92YWx1ZXMgPSAkcGFnZS0+Z2V0VmFsdWVzKCk7DQoNCiRzbWFydHktPmFzc2lnbigndmVyc2lvbicsICR2YWxzKTsNCiRzbWFydHktPmFzc2lnbigncGFnZScsICRwYWdlX3ZhbHVlcyk7DQokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgJHZhbHNbJ3RpdGxlJ10pOw0KJHNtYXJ0eS0+YXNzaWduKCdhY3Rpb24nLCAnRWRpdCcpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICRjYW5jZWwpOw0KJHNtYXJ0eS0+YXNzaWduKCdwcmV2aWV3JywgJHByZXZpZXcpOw0KJHNtYXJ0eS0+YXNzaWduKCdmb3JtJywgJGZvcm0pOw0KDQokanMgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0UGFnZS5qcy50cGwnKTsNCiRzbWFydHktPmFzc2lnbignd2lraV9qcycsICRqcyk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdFBhZ2UudHBsJyk7DQoNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/inc.initialization.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCg0KDQovL0FycmF5IGZvciBlcnJvcnMgYW5kIG1lc3NhZ2VzDQokZXJyb3JzID0gYXJyYXkoKTsNCiRtZXNzYWdlc1tdID0gYXJyYXkoKTsNCiRoYXNfZXJyb3IgPSBmYWxzZTsNCg0KDQovL1Rlc3QgYmFzaWMgcGFyYW1ldGVycw0KaWYoZW1wdHkoJHBhcmFtc1sncHByZWZpeCddKSl7DQoJJGVycm9yc1tdID0gJ3ByZWZpeF9tYW5kYXRvcnknOw0KCSRoYXNfZXJyb3IgPSB0cnVlOw0KCWVjaG8gInBhcmFtZXRlciBwcHJlZml4IG5vdCBmb3VuZCBmb3IgaW5pdGlhbGlzYXRpb24iOw0KCWV4aXQ7DQp9DQppZihlbXB0eSgkcGFyYW1zWyd2bGFuZyddKSl7DQoJaWYoJHRoaXMtPl9nZXRTaG93Q29kZUlzbygpKXsNCgkJJGVycm9yc1tdID0gJ2xhbmdfbWFuZGF0b3J5JzsNCgkJJGhhc19lcnJvciA9IHRydWU7DQoJCWVjaG8gInBhcmFtZXRlciB2bGFuZyBub3QgZm91bmQgZm9yIGluaXRpYWxpc2F0aW9uIjsNCgkJZXhpdDsNCgl9IGVsc2Ugew0KCQkkcGFyYW1zWyd2bGFuZyddID0gJHRoaXMtPl9nZXREZWZhdWx0TGFuZygpOw0KCX0NCn0NCmlmKGVtcHR5KCRwYXJhbXNbJ3BhbGlhcyddKSl7DQoJJGVycm9yc1tdID0gJ2FsaWFzX21hbmRhdG9yeSc7DQoJJGhhc19lcnJvciA9IHRydWU7DQoJZWNobyAicGFyYW1ldGVyIHBhbGlhcyBub3QgZm91bmQgZm9yIGluaXRpYWxpc2F0aW9uIjsNCglleGl0Ow0KfQ0KDQovL1NtYXJ0eSB2YXJzLg0KJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOw0KJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCAkdGhpcyk7DQoNCi8qKg0KICBHZXQgY29tbW9ucyBwYXJhbWV0ZXJzDQoqKi8NCg0KLy9QcmVmaXgNCiRwcmVmaXggID0gJHBhcmFtc1sncHByZWZpeCddOw0KUm91dGVNYWtlcjo6aW5pdCgkaWQsICRyZXR1cm5pZCwgJHByZWZpeCk7DQoNCi8vUGFnZSBBbGlhcw0KaWYoX0pTX0FDVElPTl8pew0KCSRhbGlhc1BhcmFtID0gJHRoaXMtPmpzX3VybGRlY29kZSgkcGFyYW1zWydwYWxpYXMnXSk7DQp9IGVsc2Ugew0KCSRhbGlhc1BhcmFtID0gJHRoaXMtPmNsZWFuX3RpdGxlKCRwYXJhbXNbJ3BhbGlhcyddKTsNCn0NCg0KLy9MYW5nDQokbGFuZ1BhcmFtID0gJHBhcmFtc1sndmxhbmcnXTsNCg0KDQokbGFuZ3MgPSBPcm1Db3JlOjpmaW5kQWxsKG5ldyBMYW5nKCkpOw0KJGFsbF9sYW5nc19ieV9jb2RlID0gYXJyYXkoKTsNCiRhbGxfbGFuZ3NfYnlfaWQgPSBhcnJheSgpOw0KZm9yZWFjaCgkbGFuZ3MgYXMgJGxhbmcpew0KCSRhbGxfbGFuZ3NfYnlfY29kZVskbGFuZy0+Z2V0KCJjb2RlIildID0gJGxhbmctPmdldFZhbHVlcygpOw0KCSRhbGxfbGFuZ3NfYnlfaWRbJGxhbmctPmdldCgibGFuZ19pZCIpXSA9ICRsYW5nLT5nZXRWYWx1ZXMoKTsNCn0NCg0KLy9HZXQgbGFuZyBkYiBlbnRpdHksIHBhbmljIG9ubHkgaWYgdGhlcmUgaXMgbm8gbGFuZy4NCg0KLyoqKioqKioqKioqKiogTEFORyAqKioqKioqKioqKioqKioqLw0KJGxhbmcgPSBMYW5nc1NlcnZpY2U6OmdldE9uZSgkbGFuZ1BhcmFtKTsNCg0KaWYoJGxhbmcgPT0gbnVsbCl7DQoJJGVycm9yc1tdID0gJ2xhbmdfbWFuZGF0b3J5JzsNCgkkdXJsID0gUm91dGVNYWtlcjo6Z2V0Vmlld1JvdXRlKCR0aGlzLT5fZ2V0RGVmYXVsdExhbmcoKSwgJHRoaXMtPl9nZXREZWZhdWx0QWxpYXMoKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdlcnJvcnMnLCRlcnJvcnMpOw0KCSRzbWFydHktPmFzc2lnbigndXJsJywkdXJsKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ21lc3NhZ2UudHBsJyk7DQoJJGhhc19lcnJvciA9IFRSVUU7DQoJcmV0dXJuOw0KfQ0KJHNtYXJ0eS0+YXNzaWduKCdsYW5nJywgJGxhbmctPmdldFZhbHVlcygpKTsNCg0KLyoqKioqKioqKioqKioqIFBBR0UgKioqKioqKioqKioqKioqKiovDQoNCiRwYWdlID0gUGFnZXNTZXJ2aWNlOjpnZXRPbmVCeUFsaWFzKCRwcmVmaXgsICRhbGlhc1BhcmFtKTsNCmlmKCRwYWdlID09IG51bGwpew0KCSRwYWdlID0gbmV3IFBhZ2UoKTsNCgkkcGFnZS0+c2V0KCdwcmVmaXgnLCAkcHJlZml4KTsNCgkkcGFnZS0+c2V0KCdhbGlhcycsICRhbGlhc1BhcmFtKTsNCgkkcGFnZS0+c2V0KCdsdmwnLCBQYWdlc1NlcnZpY2U6OmdldEx2bCgkYWxpYXNQYXJhbSkpOw0KCS8vV2UgZG9uJ3QgY3JlYXRlIG5ldyBwYWdlIGluIHByZXZpZXcgbW9kZQ0KCWlmKCRwYXJhbXNbJ2FjdGlvbiddICE9PSAncHJldmlldycpew0KCQkkcGFnZSA9ICRwYWdlLT5zYXZlKCk7DQoJfQ0KfQ0KDQovL0lzIHRoaXMgdGhlIGRlZmF1bHQgTGFuZyA/IFBhZ2UgJiBWZXJzaW9uDQokaXNEZWZhdWx0TGFuZyA9ICRsYW5nLT5nZXQoJ2lzZGVmYXVsdCcpOw0KJGlzRGVmYXVsdFBhZ2UgPSAoJHRoaXMtPl9nZXREZWZhdWx0QWxpYXMoKSA9PSAkYWxpYXNQYXJhbSk7DQokaXNEZWZhdWx0VmVyc2lvbiA9ICRpc0RlZmF1bHRMYW5nICYmICRpc0RlZmF1bHRQYWdlOw0KDQokc21hcnR5LT5hc3NpZ24oJ2lzRGVmYXVsdExhbmcnLCAkaXNEZWZhdWx0TGFuZyk7DQokc21hcnR5LT5hc3NpZ24oJ2lzRGVmYXVsdFBhZ2UnLCAkaXNEZWZhdWx0UGFnZSk7DQokc21hcnR5LT5hc3NpZ24oJ2lzRGVmYXVsdFZlcnNpb24nLCAkaXNEZWZhdWx0VmVyc2lvbik7DQokc21hcnR5LT5hc3NpZ24oJ3Nob3dMYW5ncycsICR0aGlzLT5fZ2V0U2hvd0NvZGVJc28oKSk7DQogDQoNCi8vIEdldCBwcmVmZXJlbmNlcw0KJGNvZGVfaXNvID0gKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaG93X2NvZGVfaXNvJywgdHJ1ZSk/JGxhbmctPmdldCgnY29kZScpOiIiKTsNCg0KLy9SZXNldCBhY3Rpb25pZCB0byBhdm9pZCBwcm9ibGVtcyBsYXRlciBpbiB0ZW1wbGF0ZXMNCiRzbWFydHktPmFzc2lnbignd2lraV9hY3Rpb25faWQnLCAkaWQpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/inc.langs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCi8vR2V0IGFjdGl2ZSBWZXJzaW9ucyBvZiBlYWNoIGxhbmdzDQokdmVyc2lvbl9ieV9sYW5ncyA9IFZlcnNpb25zU2VydmljZTo6Z2V0QWxsKCRwYWdlLT5nZXQoJ3BhZ2VfaWQnKSwgbnVsbCwgVmVyc2lvbjo6JFNUQVRVU19DVVJSRU5UKTsNCiRvdGhlcl9sYW5ncyA9IGFycmF5KCk7DQoNCi8vaW5pdGlhdGUgYWxsIGxhbmdzDQpmb3JlYWNoKCRhbGxfbGFuZ3NfYnlfY29kZSBhcyAkYV9sYW5nX2NvZGUgPT4gJGFfbGFuZyl7DQoNCgkvL1RyYW5zbGF0aW9uIE1VU1QgcGFzcyB0aHJvdWdodCB0aGUgRWRpdCBBY3Rpb24NCgkkcHJldHR5VXJsID0gUm91dGVNYWtlcjo6Z2V0RWRpdFJvdXRlKCRhX2xhbmdbJ2NvZGUnXSwgJHZlcnNpb24tPmdldCgncGFnZScpLT5nZXQoJ2FsaWFzJykpOw0KDQoJJG90aGVyX2xhbmdzWyRhX2xhbmdfY29kZV0gPSBhcnJheSgnbGFiZWwnID0+ICRhX2xhbmdbJ2xhYmVsJ10sIA0KCQkJCSd2aWV3VXJsJyA9PiAkcHJldHR5VXJsLCANCgkJCQknY2xhc3MnID0+ICduZXcnKTsNCn0NCg0KZm9yZWFjaCgkdmVyc2lvbl9ieV9sYW5ncyBhcyAkdmVyc2lvbl9ieV9sYW5nKXsNCglpZihpc3NldCgkYWxsX2xhbmdzX2J5X2lkWyR2ZXJzaW9uX2J5X2xhbmctPmdldCgibGFuZyIpLT5nZXQoJ2xhbmdfaWQnKV0pKXsNCgkNCgkJJHByZXR0eVVybCA9IFJvdXRlTWFrZXI6OmdldFZpZXdSb3V0ZSgkYWxsX2xhbmdzX2J5X2lkWyR2ZXJzaW9uX2J5X2xhbmctPmdldCgibGFuZyIpLT5nZXQoImxhbmdfaWQiKV1bJ2NvZGUnXSwgJHZlcnNpb25fYnlfbGFuZy0+Z2V0KCdwYWdlJyktPmdldCgnYWxpYXMnKSk7DQoJCQ0KCQkkb3RoZXJfbGFuZ3NbJGFsbF9sYW5nc19ieV9pZFskdmVyc2lvbl9ieV9sYW5nLT5nZXQoImxhbmciKS0+Z2V0KCdsYW5nX2lkJyldWydjb2RlJ11dWyd2aWV3VXJsJ10gPSAkcHJldHR5VXJsOw0KCQkkb3RoZXJfbGFuZ3NbJGFsbF9sYW5nc19ieV9pZFskdmVyc2lvbl9ieV9sYW5nLT5nZXQoImxhbmciKS0+Z2V0KCdsYW5nX2lkJyldWydjb2RlJ11dWydjbGFzcyddID0gJyc7DQoJfSANCn0NCiRzbWFydHktPmFzc2lnbignb3RoZXJfbGFuZ3MnLCAkb3RoZXJfbGFuZ3MpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/inc.last10versions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCi8vR2V0IDEwIExhc3RzIFZlcnNpb25zDQokb2xkdmVyc2lvbnMgPSBWZXJzaW9uc1NlcnZpY2U6OmdldEFsbCgkcGFnZS0+Z2V0KCdwYWdlX2lkJyksICRsYW5nLT5nZXQoJ2xhbmdfaWQnKSwgbnVsbCwgbmV3IE9ybUxpbWl0KDAsMTApKTsNCiRvbGRSZXZpc2lvbnMgPSBhcnJheSgpOw0KZm9yZWFjaCgkb2xkdmVyc2lvbnMgYXMgJG9sZHZlcnNpb24pew0KCSRyZXZpc2lvbnZhbCA9ICRvbGR2ZXJzaW9uLT5nZXRWYWx1ZXMoKTsNCg0KCWlmKCRvbGR2ZXJzaW9uLT5nZXQoJ3N0YXR1cycpID09IFZlcnNpb246OiRTVEFUVVNfQ1VSUkVOVCl7DQoJCSRwcmV0dHlVcmwgPSBSb3V0ZU1ha2VyOjpnZXRWaWV3Um91dGUoJGNvZGVfaXNvLCAkcGFnZS0+Z2V0KCdhbGlhcycpKTsNCgl9IGVsc2Ugew0KCQkkcHJldHR5VXJsID0gUm91dGVNYWtlcjo6Z2V0Vmlld09sZFJvdXRlKCRjb2RlX2lzbywgJG9sZHZlcnNpb24tPmdldCgncGFnZScpLT5nZXQoJ2FsaWFzJyksICRyZXZpc2lvbnZhbFsndmVyc2lvbl9pZCddKTsNCgl9DQoJJHJldmlzaW9udmFsWyd2aWV3VXJsJ10gPSAkcHJldHR5VXJsOw0KCSRvbGRSZXZpc2lvbnNbXSA9ICRyZXZpc2lvbnZhbDsNCn0NCiRzbWFydHktPmFzc2lnbignb2xkUmV2aXNpb25zJywgJG9sZFJldmlzaW9ucyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/inc.menu.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCg0KLy9HZXQgQWxsIGFjdGl2ZSBWZXJzaW9ucw0KJGFsbFZlcnNpb25zID0gVmVyc2lvbnNTZXJ2aWNlOjpnZXRBbGwobnVsbCwgJGxhbmctPmdldCgnbGFuZ19pZCcpLCBWZXJzaW9uOjokU1RBVFVTX0NVUlJFTlQpOw0KJG1lbnUgPSBhcnJheSgpOw0KZm9yZWFjaCgkYWxsVmVyc2lvbnMgYXMgJGFfdmVyc2lvbil7DQoJJGVsdHMgPSBleHBsb2RlKCc6JywgJGFfdmVyc2lvbi0+Z2V0KCdwYWdlJyktPmdldCgnYWxpYXMnKSk7DQoJDQoJJHByZXR0eVVybCA9IFJvdXRlTWFrZXI6OmdldFZpZXdSb3V0ZSgkbGFuZ1BhcmFtLCAkZWx0c1swXSk7DQoJDQoJLy9Jbml0aWF0ZSBhIG5vLWV4aXN0aW5nIHBhZ2UNCglpZighaXNzZXQoJG1lbnVbJGVsdHNbMF1dKSl7DQoJDQoJCSRtZW51WyRlbHRzWzBdXSA9IGFycmF5KA0KCQkJCSdsYWJlbCcgPT4gJGVsdHNbMF0sDQoJCQkJJ3ZpZXdVcmwnID0+ICRwcmV0dHlVcmwsDQoJCQkJJ2NsYXNzJyA9PiAnbmV3Jw0KCQkJCSk7DQoJfQ0KCQ0KCWlmKGlzc2V0KCRtZW51WyRhX3ZlcnNpb24tPmdldCgncGFnZScpLT5nZXQoJ2FsaWFzJyldKSl7DQoJCSRtZW51WyRhX3ZlcnNpb24tPmdldCgncGFnZScpLT5nZXQoJ2FsaWFzJyldWydjbGFzcyddID0gJyc7DQoJCSRtZW51WyRhX3ZlcnNpb24tPmdldCgncGFnZScpLT5nZXQoJ2FsaWFzJyldWydsYWJlbCddID0gJGFfdmVyc2lvbi0+Z2V0KCd0aXRsZScpOw0KCX0NCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCd3aWtpX21lbnUnLCAkbWVudSk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/inc.menuSiblings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCiRwYWdlc1NpYmxpbmdzID0gUGFnZXNTZXJ2aWNlOjpnZXRTaWJsaW5ncygkcHJlZml4LCAkYWxpYXNQYXJhbSk7DQoNCi8vR2V0IEFsbCBhY3RpdmUgVmVyc2lvbnMNCiRhbGxWZXJzaW9ucyA9IGFycmF5KCk7DQpmb3JlYWNoICgkcGFnZXNTaWJsaW5ncyBhcyAkcGFnZVNpYmxpbmdzKSB7DQoJDQoJJHZTaWJsaW5nID0gVmVyc2lvbnNTZXJ2aWNlOjpnZXRPbmUoJHByZWZpeCwgJHBhZ2VTaWJsaW5ncy0+Z2V0KCdwYWdlX2lkJyksICRsYW5nLT5nZXQoJ2xhbmdfaWQnKSwgVmVyc2lvbjo6JFNUQVRVU19DVVJSRU5UKTsNCg0KCWlmKCR2U2libGluZyAhPSBudWxsKXsNCgkJJGFsbFZlcnNpb25zW10gPSAkdlNpYmxpbmc7DQoJfQ0KfQ0KDQoNCiRtZW51ID0gYXJyYXkoKTsNCmZvcmVhY2goJGFsbFZlcnNpb25zIGFzICRhX3ZlcnNpb24pew0KDQoJJF9hbGlhcyA9ICRhX3ZlcnNpb24tPmdldCgncGFnZScpLT5nZXQoJ2FsaWFzJyk7DQoJJF90aXRsZSA9ICRhX3ZlcnNpb24tPmdldCgndGl0bGUnKTsNCgkNCgkkcHJldHR5VXJsID0gUm91dGVNYWtlcjo6Z2V0Vmlld1JvdXRlKCRsYW5nUGFyYW0sICRfYWxpYXMpOw0KCQ0KCSRtZW51WyRfYWxpYXNdID0gYXJyYXkoDQoJCQknbGFiZWwnID0+ICRfdGl0bGUsDQoJCQkndmlld1VybCcgPT4gJHByZXR0eVVybA0KCQkJKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCd3aWtpX21lbnVfc2libGluZ3MnLCAkbWVudSk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/inc.reset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCg0KDQovL0NyZWF0ZSBhbGwgdGhlIHRhYmxlcyBhdXRvbWF0aWNhbGx5IA0KJGVudGl0aWVzID0gTXlBdXRvbG9hZDo6Z2V0QWxsSW5zdGFuY2VzKCR0aGlzLT5HZXROYW1lKCkpOw0KZm9yZWFjaCgkZW50aXRpZXMgYXMgJGFuRW50aXR5KSB7DQoJT3JtQ29yZTo6ZHJvcFRhYmxlKCRhbkVudGl0eSk7DQoJT3JtQ29yZTo6Y3JlYXRlVGFibGUoJGFuRW50aXR5KTsNCn0NCg0KbGlzdCgkY3VycmVudFVTLCAkY3VycmVudFRTKSA9IGV4cGxvZGUoIiAiLCBtaWNyb3RpbWUoKSk7DQokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcmVmaXgnLCd3aWtpJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9hbGlhcycsJ2hvbWUnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2xhbmcnLCdlbl9VUycpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Nob3dfY29kZV9pc28nLFRSVUUpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ211bHRpSW5zdGFuY2VzJyxGQUxTRSk7DQoNCi8vQ3JlYXRlIGZpcnN0IHVuZGVsZXRhYmxlLXBhZ2UNCiRwYWdlID0gbmV3IFBhZ2UoKTsNCiRwYWdlLT5zZXQoJ3ByZWZpeCcsJHRoaXMtPl9nZXREZWZhdWx0UHJlZml4KCkpOw0KJHBhZ2UtPnNldCgnYWxpYXMnLCAkdGhpcy0+X2dldERlZmF1bHRBbGlhcygpKTsNCiRwYWdlLT5zZXQoJ2x2bCcsMCk7DQokcGFnZSA9ICRwYWdlLT5zYXZlKCk7DQoNCi8vQ3JlYXRlIGZpcnN0IGluZGVsZXRhYmxlLWxhbmcNCiRlbl9VUyA9IG5ldyBMYW5nKCk7DQokZW5fVVMtPnNldCgnY29kZScsJHRoaXMtPl9nZXREZWZhdWx0TGFuZygpKTsNCiRlbl9VUy0+c2V0KCdsYWJlbCcsJ0VuZ2xpc2gnKTsNCiRlbl9VUy0+c2V0KCdpc2RlZmF1bHQnLDEpOw0KJGVuX1VTID0gJGVuX1VTLT5zYXZlKCk7DQovL0NyZWF0ZSBzZWNvbmQgbGFuZw0KJGZyX0ZSID0gbmV3IExhbmcoKTsNCiRmcl9GUi0+c2V0KCdjb2RlJywnZnJfRlInKTsNCiRmcl9GUi0+c2V0KCdsYWJlbCcsJ0ZyYW7Dp2FpcycpOw0KJGZyX0ZSID0gJGZyX0ZSLT5zYXZlKCk7DQoNCi8vIENyZWF0ZSBmaXJzdCB2ZXJzaW9uIG9mIHRleHQNCiR2ZXJzaW9uID0gbmV3IFZlcnNpb24oKTsNCiR2ZXJzaW9uLT5zZXQoJ3RpdGxlJywkcGFnZS0+Z2V0KCdhbGlhcycpKTsNCiR2ZXJzaW9uLT5zZXQoJ3RleHQnLGh0bWxlbnRpdGllcyhmaWxlX2dldF9jb250ZW50cygkY29uZmlnWydyb290X3BhdGgnXS4nL21vZHVsZXMvV2lraS9kZWZhdWx0Lm1kJykpKTsNCiR2ZXJzaW9uLT5zZXQoJ2R0X2NyZWF0aW9uJywkY3VycmVudFRTKTsNCiR2ZXJzaW9uLT5zZXQoJ2F1dGhvcl9uYW1lJywnYWRtaW4nKTsNCiR2ZXJzaW9uLT5zZXQoJ2F1dGhvcl9pZCcsMCk7DQokdmVyc2lvbi0+c2V0KCdwYWdlJywkcGFnZS0+Z2V0KCdwYWdlX2lkJykpOw0KJHZlcnNpb24tPnNldCgnbGFuZycsJGVuX1VTLT5nZXQoJ2xhbmdfaWQnKSk7DQokdmVyc2lvbi0+c2V0KCdzdGF0dXMnLCR2ZXJzaW9uOjokU1RBVFVTX0NVUlJFTlQpOw0KJHZlcnNpb24gPSAkdmVyc2lvbi0+c2F2ZSgpOw0KDQokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQokY29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRjb25maWdbJ3Jvb3RfcGF0aCddLicvbW9kdWxlcy9XaWtpL3RlbXBsYXRlcy9zZXRBY2Nlc3MudHBsJyk7DQokdGhpcy0+U2V0VGVtcGxhdGUoJ2FjY2VzcycsICRjb250ZW50KTsNCg0KLy9SZWZyZXNoIFJvdXRlcw0KJHRoaXMtPkNyZWF0ZVN0YXRpY1JvdXRlcygpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/inc.viewPage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCdjbXNtcycpKSBleGl0Ow0KDQoNCiR2YWxzWyd0ZXh0J10gPSBXaWtpVXRpbHM6OnBhcnNlVGV4dCgkdmFsc1sndGV4dCddLCAkcHJlZml4LCAkY29kZV9pc28pOw0KDQoNCiRlZGl0ID0gUm91dGVNYWtlcjo6Z2V0RWRpdFJvdXRlKCRjb2RlX2lzbywgJGFsaWFzUGFyYW0pOw0KJGRlbGV0ZSA9IFJvdXRlTWFrZXI6OmdldERlbGV0ZVJvdXRlKCRjb2RlX2lzbywgJGFsaWFzUGFyYW0pOw0KJHJhdyA9IFJvdXRlTWFrZXI6OmdldFJhd1JvdXRlKCRjb2RlX2lzbywgJGFsaWFzUGFyYW0sICR2YWxzWyd2ZXJzaW9uX2lkJ10pOw0KJGNhbm9uaWNhbCA9IFJvdXRlTWFrZXI6OmdldFZpZXdSb3V0ZSgkY29kZV9pc28sICRhbGlhc1BhcmFtKTsNCiRnb0xhc3QgPSAnJzsNCmlmKCR2YWxzWydzdGF0dXMnXSAhPSAxKXsNCgkkZ29MYXN0ID0gJGNhbm9uaWNhbDsNCn0NCg0KDQovLyBJZiB0aGUgZGVmYXVsdC1sYW5nLXBhZ2UgaXMgbmV3ZXINCiRpc1VwVG9EYXRlID0gdHJ1ZTsNCiRkZWZhdWx0TGFuZ0Nhbm9uaWNhbCA9ICcnOw0KaWYoJHZlcnNpb24gIT0gbnVsbCAmJiAhJGlzRGVmYXVsdExhbmcpew0KCS8qJGV4YW1wbGUgPSBuZXcgT3JtRXhhbXBsZSgpOw0KCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgncGFnZScsIE9ybVR5cGVDcml0ZXJpYTo6JEVRLCBhcnJheSgkcGFnZS0+Z2V0KCdwYWdlX2lkJykpKTsNCgkkZXhhbXBsZS0+YWRkQ3JpdGVyaWEoJ2xhbmcnLCBPcm1UeXBlQ3JpdGVyaWE6OiRORVEsIGFycmF5KCRsYW5nLT5nZXQoJ2xhbmdfaWQnKSkpOw0KCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgndmVyc2lvbl9pZCcsIE9ybVR5cGVDcml0ZXJpYTo6JEdULCBhcnJheSgkdmVyc2lvbi0+Z2V0KCd2ZXJzaW9uX2lkJykpKTsNCgkkY3B0TmV3ZXJWZXJzaW9uID0gT3JtQ29yZTo6c2VsZWN0Q291bnRCeUV4YW1wbGUobmV3IFZlcnNpb24oKSwkZXhhbXBsZSk7DQoJJGlzVXBUb0RhdGUgPSAoJGNwdE5ld2VyVmVyc2lvbiA9PSAwKTsqLw0KCSRpc1VwVG9EYXRlID0gKFZlcnNpb25zU2VydmljZTo6Y291bnROZXdlclZlcnNpb24oJHBhZ2UsICRsYW5nLCAkdmVyc2lvbikgPT0gMCk7DQoJJGRlZmF1bHRMYW5nQ2Fub25pY2FsID0gUm91dGVNYWtlcjo6Z2V0Vmlld1JvdXRlKCR0aGlzLT5fZ2V0RGVmYXVsdExhbmcoKSwgJGFsaWFzUGFyYW0pOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ2lzVXBUb0RhdGUnLCAkaXNVcFRvRGF0ZSk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCd2ZXJzaW9uJywgJHZhbHMpOw0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICR2ZXJzaW9uLT5nZXQoJ3RpdGxlJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2VkaXQnLCAkZWRpdCk7DQokc21hcnR5LT5hc3NpZ24oJ2RlbGV0ZScsICRkZWxldGUpOw0KJHNtYXJ0eS0+YXNzaWduKCdyYXcnLCAkcmF3KTsNCiRzbWFydHktPmFzc2lnbignY2Fub25pY2FsJywgJGNhbm9uaWNhbCk7DQokc21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRMYW5nQ2Fub25pY2FsJywgJGRlZmF1bHRMYW5nQ2Fub25pY2FsKTsNCiRzbWFydHktPmFzc2lnbignZ29MYXN0JywgJGdvTGFzdCk7DQoNCiRqcyA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ZpZXdQYWdlLmpzLnRwbCcpOw0KJHNtYXJ0eS0+YXNzaWduKCd3aWtpX2pzJywgJGpzKTsNCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd2aWV3UGFnZS50cGwnKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTaW1wbGUgV2lraSc7DQokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICcnOw0KJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bGUgV2lraSB1bmluc3RhbGxlZCwgYnllICEiJzsNCiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnUmVhbGx5PyBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgZmluZSBtb2R1bGU/JzsNCiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBXaWtpIFVuaW5zdGFsbGVkLic7DQokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFdpa2kgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsNCiRsYW5nWydyZXNldGVkJ10gPSAnTW9kdWxlIFdpa2kgdmVyc2lvbiAlcyByZXNldGVkIHdpdGggc3VjY2VzcyAnOw0KJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgaXMgYSBzaW1wbGUgaW1wbGVtZW50YXRpb24gb2YgYSBXSUtJIGludG8gQ21zTWFkZVNpbXBsZSc7DQokbGFuZ1snY2hhbmdlbG9nJ10gPSAnc2VlIGNoYW5nZWxvZyA6IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9iZXNzdGlvbGxlL3dpa2ktbXMiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vYmVzc3Rpb2xsZS93aWtpLW1zPC9hPic7DQoNCiRsYW5nWydsYW5nX2lkX21hbmRhdG9yeSddID0gJ3RoZSBsYW5nX2lkIHBhcmFtZXRlciBpcyBtaXNzaW5nJzsNCiRsYW5nWydsYW5nX21hbmRhdG9yeSddID0gJ1RoZSBsYW5nIGlzIG1pc3Npbmcgb3IgdW5rbm93bic7DQokbGFuZ1sndGl0bGVfbWFuZGF0b3J5J10gPSAnVGhlIHRpdGxlIGlzIG1hbmRhdG9yeSc7DQokbGFuZ1sndGV4dF9tYW5kYXRvcnknXSA9ICdUaGUgdGV4dCBpcyBtYW5kYXRvcnknOw0KJGxhbmdbJ2RlZmF1bHRfcGFnZV93aXRoX25ld190aXRsZSddID0gJ1lvdSBjYW5cJ3QgY2hhbmdlIHRoZSB0aXRsZSBvZiB0aGUgZGVmYXVsdCBwYWdlJzsNCiRsYW5nWydkZWZhdWx0X3ZlcnNpb25fdW5kZWxldGFibGUnXSA9ICdZb3UgY2FuXCd0IGRlbGV0ZSB0aGUgZGVmYXVsdCBwYWdlJzsNCiRsYW5nWyd0aXRsZV9mb3JtYXQnXSA9ICdUaXRsZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBhbHBoYW51bWVyaXF1ZSBzdHJpbmcgKHN5bWJvbHMgIi1fOiIgYXJlIGFjY2VwdGVkIHRvbykuJzsNCiRsYW5nWyd2ZXJzaW9uX3Vua25vdyddID0gJ1RoZSBjdXJyZW50IHBhZ2UgaXMgbm90IGtub3cuIE1heWJlIGl0XCdzIGFscmVhZHkgZGVsZXRlZCA/JzsNCiRsYW5nWydyZXZpc2lvbl91bmtub3cnXSA9ICdUaGUgdmVyc2lvbiAlcyBvZiB0aGUgcGFnZSBpcyBub3Qga25vd24uJzsNCg0KDQokbGFuZ1snc2F2ZV9zdWNjZXNzJ10gPSAnUGFnZSBzYXZlZCB3aXRoIHN1Y2Nlc3MuJzsNCiRsYW5nWydkZWxldGVfc3VjY2VzcyddID0gJ1BhZ2UgZGVsZXRlZCB3aXRoIHN1Y2Nlc3MuJzsNCiRsYW5nWydkdXBwbGljYXRlX2NvZGUnXSA9ICdBbm90aGVyIExhbmcgYWxyZWFkeSBleGlzdHMgd2l0aCB0aGlzIGNvZGUnOw0KJGxhbmdbJ2NvZGVfaXNfbWFuZGF0b3J5J10gPSAnVGhlIGNvZGUgaXMgbWFuZGF0b3J5JzsNCiRsYW5nWydsYWJlbF9pc19tYW5kYXRvcnknXSA9ICdUaGUgbGFiZWwgaXMgbWFuZGF0b3J5JzsNCiRsYW5nWydwcmVmaXhfbWFuZGF0b3J5J10gPSAnVGhlIHByZWZpeCBpcyBtYW5kYXRvcnknOw0KJGxhbmdbJ2FsaWFzX21hbmRhdG9yeSddID0gJ1RoZSBhbGlhcyBpcyBtYW5kYXRvcnknOw0KDQoNCiRsYW5nWyd3aWtpX25vdF9yZWFkYWJsZSddID0gJ1lvdSBjYW5ub3QgcmVhZCB0aGlzIHdpa2knOw0KJGxhbmdbJ3dpa2lfbm90X3dyaXRhYmxlJ10gPSAnWW91IGNhbm5vdCBtb2RpZnkgdGhlIHBhZ2VzIG9mIHRoaXMgd2lraSc7DQokbGFuZ1snd2lraV9ub3RfZGVsZXRhYmxlJ10gPSAnWW91IGNhbm5vdCBkZWxldGUgdGhlIHBhZ2VzIG9mIHRoaXMgd2lraSc7DQokbGFuZ1snd2lraV9wYWdlX25vdF9leGlzdHMnXSA9ICdUaGlzIHBhZ2UgZG9lc25cJ3QgZXhpc3RzIGFuZCB5b3UgZG9uXCd0IGhhdmUgdGhlIHJpZ2h0IHRvIGNyZWF0ZSBpdC4nOw0KDQokbGFuZ1snaGVscF9pc19yZWFkYWJsZSddID0gJ1NldCB0byBUUlVFIGlmIHlvdSB3YW50IHRoYXQgdGhlIHdpa2kgIGNhbiBiZSByZWFkYWJsZSc7DQokbGFuZ1snaGVscF9pc193cml0YWJsZSddID0gJ1NldCB0byBUUlVFIGlmIHlvdSB3YW50IHRoYXQgdGhlIHBhZ2VzIG9mIHRoZSB3aWtpIGNhbiBiZSB3cml0YWJsZSAoY3JlYXRpbmcgbmV3IHBhZ2UsIGVkaXRpbmcgZXhpc3RpbmcgcGFnZSknOw0KJGxhbmdbJ2hlbHBfaXNfZGVsZXRhYmxlJ10gPSAnU2V0IHRvIFRSVUUgaWYgeW91IHdhbnQgdGhhdCB0aGUgcGFnZXMgb2YgdGhlIHdpa2kgY2FuIGJlIHJlYWRhYmxlJzsNCiRsYW5nWydoZWxwX2F1dGhvcl9uYW1lJ10gPSAnU2V0IHRvIHRoZSBuYW1lICh1c2VybmFtZSwgbG9naW4sIHdoYXRldmVyKSBvZiB0aGUgY3VycmVudCB1c2VyLiBXaWxsIGJlIHN0b3JlZCBpbnRvIHRoZSBkYXRhYmFzZSBmb3IgZXZlcnkgbW9kaWZpY2F0aW9ucyc7DQokbGFuZ1snaGVscF9hdXRob3JfaWQnXSA9ICdTZXQgdG8gdGhlIElEIChpbnRlZ2VyKSBvZiB0aGUgY3VycmVudCB1c2VyLiBXaWxsIGJlIHN0b3JlZCBpbnRvIHRoZSBkYXRhYmFzZSBmb3IgZXZlcnkgbW9kaWZpY2F0aW9ucyc7DQoNCg0KJGxhbmdbJ3R5cGVfV2lraSddID0gJ1dpa2knOw0KJGxhbmdbJ3R5cGVfUGFnZSddID0gJ1BhZ2UnOw0KDQokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+bW9yZSBpbmZvcm1hdGlvbnMgb24gOiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYmVzc3Rpb2xsZS93aWtpLW1zIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL2Jlc3N0aW9sbGUvd2lraS1tczwvYT48L3A+DQo8aDM+SG93IHVzZSBpdDwvaDM+DQo8aDQ+U3RlcCAxIDogSW5zdGFsbCBpdDwvaDQ+DQo8cD5KdXN0IGluc3RhbGwgaXQgISBpdCB3aWxsIHdvcmtzIGltbWVkaWF0bHkgZm9yIHRoZSBwYWdlIC93aWtpLiB5b3UgZG9uXCd0IGhhdmUgdG8gY3JlYXRlIGEgcGFnZSBmb3IgaXQuIFlvdSBjYW4gY3VzdG9taXplIHRoZSBvcHRpb25zIGluIHRoZSBhZG1pbiBwYWxlLjwvcD4NCjxwPmluIHRoZSBjYXNlIHdoZXJlIHlvdSB3b3VsZCBoYXZlIGEgY21zbXMgcGFnZSBjYWxsZWQgIndpa2kiIHlvdSBzaG91bGQgY2hhbmdlIHRoZSBwcmVmaXggb2YgdGhpcyBtb2R1bGUgaW4gdGhlIG9wdGlvbnMuPC9wPg0KPGg0PkFjY2VzcyBUZW1wbGF0ZTwvaDQ+DQo8cD5UbyBjdXN0b21pemUgdGhlIGFjY2VzcyB5b3UgY2FuIG1vZGlmeSB0aGUgb3B0aW9ucyBpbiB0aGUgYWRtaW4gcGFuZWwuIEludG8gdGhlIGFjY2VzcyB0ZW1wbGF0ZSB5b3UgY2FuIGFkZC9jdXN0b21pemUgdGhlIHRhZyB7V2lraSBhY3Rpb249InNldEFjY2VzcyJ9IHRvIHNldCB0aGUgYXV0aG9yaXphdGlvbi4gVGhlcmUgaXMgc29tZSBvcHRpb25zIDogPC9wPg0KPHVsPg0KPGxpPmlzX3JlYWRhYmxlIChUUlVFIGJ5IGRlZmF1bHQpPC9saT4NCjxsaT5pc193cml0YWJsZSAoRkFMU0UgYnkgZGVmYXVsdCk8L2xpPg0KPGxpPmlzX2RlbGV0YWJsZSAoRkFMU0UgYnkgZGVmYXVsdCk8L2xpPg0KPGxpPmF1dGhvcl9uYW1lIChlbXB0eSBieSBkZWZhdWx0KTwvbGk+DQo8bGk+YXV0aG9yX2lkIChlbXB0eSBieSBkZWZhdWx0KTwvbGk+DQo8L3VsPg0KPHA+SWYgeW91IGRvblwndCB0b3VjaCBhbnl0aGluZyB5b3Ugd2lsbCBoYXZlIGEgcmVhZG9ubHkgd2lraTwvcD4NCjxwPkZvciBleGFtcGxlIDogPC9wPg0KPHByZT4NCntXaWtpIGFjdGlvbj0ic2V0QWNjZXNzIiBpc19yZWFkYWJsZT0iVFJVRSIgaXNfd3JpdGFibGU9IlRSVUUiIGlzX2RlbGV0YWJsZT0iRkFMU0UifQ0KPC9wcmU+DQoNCjxwPllvdSBjYW4gZWFzaWx5IHRlc3QgdGhlIGN1cnJlbnQgRkVVIHVzZXIvZ3JvdXAgdG8gYWxsb3cgb3IgZGVueSBhY2Nlc3MgdG8gdGhlIHdpa2k8L3A+DQo8cHJlPg0Ke2lmICRjY3VzZXItPmxvZ2dlZGluKCl9DQogIHtXaWtpIGFjdGlvbj0ic2V0QWNjZXNzIiBpc19yZWFkYWJsZT0iVFJVRSIgaXNfd3JpdGFibGU9IlRSVUUiIGlzX2RlbGV0YWJsZT0iRkFMU0UiIGF1dGhvcl9uYW1lPSRjY3VzZXItPnVzZXJuYW1lKCkgYXV0aG9yX2lkPSRjY3VzZXItPmxvZ2dlZGluKCkgfTxici8+DQp7ZWxzZX0NCiAge1dpa2kgYWN0aW9uPSJzZXRBY2Nlc3MiIGlzX3JlYWRhYmxlPSJUUlVFIn0NCnsvaWZ9DQo8L3ByZT4NCg0KPHA+ZmluYWxseSB5b3UgY2FuIGN1c3RvbWl6ZSB5b3VyIG93biB0ZXN0IHdpdGggYSBjdXN0b20gVURUIG9yIHdpdGggYW5vdGhlciBtb2R1bGUgYW5kIHRoZSBhcnJheSB7JGdhdGV3YXlQYXJhbXN9LkZvciBleGFtcGxlIDogPC9wPg0KPHByZT4NCntNeU1vZHVsZSBhY3Rpb249Im15Q3VzdG9tQWN0aW9uIiB3aWtpX3ByZWZpeD0kZ2F0ZXdheVBhcmFtcy5wcHJlZml4fXsqIHdpbGwgc2V0IHJlc3VsdCBpbnRvICRteUN1c3RvbVJlc3VsdCAqfQ0KDQp7aWYgJG15Q3VzdG9tUmVzdWx0fQ0KICB7V2lraSBhY3Rpb249InNldEFjY2VzcyIgaXNfcmVhZGFibGU9VFJVRSBpc193cml0YWJsZT1UUlVFIGlzX2RlbGV0YWJsZT1UUlVFfQ0Ke2Vsc2V9DQogIHtXaWtpIGFjdGlvbj0ic2V0QWNjZXNzIiBpc19yZWFkYWJsZT1UUlVFfQ0Key9pZn0NCjwvcHJlPg0KPHA+dGhlIGFycmF5IHskZ2F0ZXdheVBhcmFtc30gaXMgYWx3YXlzIGF2YWlsYWJsZSBhbmQgY29udGFpbnMgdGhlIGN1cnJlbnQgJHBhcmFtcyB2YWx1ZXMgb2YgdGhlIHdpa2k8L3A+DQoNCjxwIHN0eWxlPSJjb2xvcjojRjAwOyI+ISBSZW1lbWJlciwgZG9uXCd0IHVzZSB0aGlzIGFjdGlvbiBpbnRvIHlvdXIgb3duIHRlbXBsYXRlIG9yIHRoZSBzZXR0aW5ncyB3b25cJ3QgYmUgYWN0aXZlcyBhbGwgdGhlIHRpbWUgISA8L3A+DQo8aDQ+e1dpa2kgYWN0aW9uPSJkb2VzUGFnZUV4aXN0cyJ9PC9oND4NCjxwPmFkZCB0aGUgdGFnIHtXaWtpIGFjdGlvbj0iZG9lc1BhZ2VFeGlzdHMifSBpbiB5b3VyIHRlbXBsYXRlIGFuZCB5b3Ugd2lsbCBrbm93IC4uLiBpZiBhIHBhZ2UgZXhpc3RzIChpdCBkb2VzIG5vdCB0ZXN0IG9sZCBwYWdlIGRlbGV0ZWQpLiBZb3UgY2FuIHRlc3QgdGhlIHJlc3VsdCBsaWtlIHRoaXM8L3A+DQo8cHJlPg0Ke1dpa2kgYWN0aW9uPSJkb2VzUGFnZUV4aXN0cyIgcHByZWZpeD0id2lraSIgcGFsaWFzPSJob21lIiB2bGFuZz0iZW5fVVMifQ0KWy4uLl0NCntpZiAkZG9lc1BhZ2VFeGlzdHN9eWVzey9pZn0NCjwvcHJlPg0KPHA+dGhlcmUgaXMgMyBwb3NzaWJsZSBwYXJhbWV0ZXJzPC9wPg0KPHVsPg0KPGxpPnBwcmVmaXggPC9saT4NCjxsaT5wYWxpYXMgKG9wdGlvbm5hbCwgd2lsbCB1c2UgdGhlIGRlZmF1bHQgYWxpYXMgb2YgdGhlIHdpa2kgaWYgbm90IGRlZmluZWQpPC9saT4NCjxsaT52bGFuZyAob3B0aW9ubmFsLCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBsYW5nIGNvZGUgb2YgdGhlIHdpa2kgaWYgbm90IGRlZmluZWQpPC9saT4NCjwvdWw+DQo8L2g0Pg0KJzsNCiRsYW5nWyd4eHgnXSA9ICd4eHgnOw0KDQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.Authentification.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KDQpjbGFzcyBBdXRoZW50aWZpY2F0aW9uew0KDQoJcHJpdmF0ZSBzdGF0aWMgJGlzX3JlYWRhYmxlID0gZmFsc2U7DQoNCglwcml2YXRlIHN0YXRpYyAkaXNfd3JpdGFibGUgPSBmYWxzZTsNCg0KCXByaXZhdGUgc3RhdGljICRpc19kZWxldGFibGUgPSBmYWxzZTsNCg0KCXByaXZhdGUgc3RhdGljICRhdXRob3JfbmFtZSA9IG51bGw7DQoNCglwcml2YXRlIHN0YXRpYyAkYXV0aG9yX2lkID0gbnVsbDsNCg0KCXByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKXt9DQoNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldFN0YXR1cygkaXNfcmVhZGFibGUgPSBmYWxzZSwgJGlzX3dyaXRhYmxlID0gZmFsc2UsICRpc19kZWxldGFibGUgPSBmYWxzZSwgJGF1dGhvcl9uYW1lID0gbnVsbCwgJGF1dGhvcl9pZCA9IG51bGwpew0KCQlzZWxmOjokaXNfcmVhZGFibGUgPSAkaXNfcmVhZGFibGU7DQoJCXNlbGY6OiRpc193cml0YWJsZSA9ICRpc193cml0YWJsZTsNCgkJc2VsZjo6JGlzX2RlbGV0YWJsZSA9ICRpc19kZWxldGFibGU7DQoJCXNlbGY6OiRhdXRob3JfbmFtZSA9ICRhdXRob3JfbmFtZTsNCgkJc2VsZjo6JGF1dGhvcl9pZCA9ICRhdXRob3JfaWQ7DQoNCgkJLyppZigkaXNfcmVhZGFibGUpew0KCQkJZWNobyAiMXRydWUiOw0KCQl9ZWxzZSB7DQoJCQllY2hvICIxZmFsc2UgOiAiLiRpc19yZWFkYWJsZTsNCgkJfQ0KCQlpZihzZWxmOjokaXNfcmVhZGFibGUpew0KCQkJZWNobyAiMnRydWUiOw0KCQl9ZWxzZSB7DQoJCQllY2hvICIyZmFsc2UgOiAiLnNlbGY6OiRpc19yZWFkYWJsZTsNCgkJfSovDQoNCgl9DQoNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlzX3JlYWRhYmxlKCl7DQoJCS8qaWYoc2VsZjo6JGlzX3JlYWRhYmxlKXsNCgkJCWVjaG8gIjN0cnVlIjsNCgkJfWVsc2Ugew0KCQkJZWNobyAiM2ZhbHNlIDogIi5zZWxmOjokaXNfcmVhZGFibGU7DQoJCX0qLw0KDQoNCgkJcmV0dXJuIHNlbGY6OiRpc19yZWFkYWJsZTsNCgl9DQoNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlzX3dyaXRhYmxlKCl7DQoJCXJldHVybiBzZWxmOjokaXNfd3JpdGFibGU7DQoJfQ0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc19kZWxldGFibGUoKXsNCgkJcmV0dXJuIHNlbGY6OiRpc19kZWxldGFibGU7DQoJfQ0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYXV0aG9yX25hbWUgKCl7DQoJCXJldHVybiBzZWxmOjokYXV0aG9yX25hbWU7DQoJfQ0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYXV0aG9yX2lkKCl7DQoJCXJldHVybiBzZWxmOjokYXV0aG9yX2lkOw0KCX0NCn0NCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.LangsService.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KY2xhc3MgTGFuZ3NTZXJ2aWNlew0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRPbmUoJGNvZGUpew0KCQkkZXhhbXBsZSA9IG5ldyBPcm1FeGFtcGxlKCk7DQoJCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgnY29kZScsIE9ybVR5cGVDcml0ZXJpYTo6JEVRLCBhcnJheSgkY29kZSkpOw0KCQkkbGFuZ3MgPSBPcm1Db3JlOjpmaW5kQnlFeGFtcGxlKG5ldyBMYW5nKCksJGV4YW1wbGUpOw0KCQlpZighZW1wdHkoJGxhbmdzKSl7DQoJCQlyZXR1cm4gJGxhbmdzWzBdOw0KCQl9DQoJCXJldHVybiBudWxsOw0KCX0NCg0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0T25lQnlJZCgkaWQpew0KCQkkZXhhbXBsZSA9IG5ldyBPcm1FeGFtcGxlKCk7DQoJCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgnbGFuZ19pZCcsIE9ybVR5cGVDcml0ZXJpYTo6JEVRLCBhcnJheSgkaWQpKTsNCgkJJGxhbmdzID0gT3JtQ29yZTo6ZmluZEJ5RXhhbXBsZShuZXcgTGFuZygpLCRleGFtcGxlKTsNCgkJaWYoIWVtcHR5KCRsYW5ncykpew0KCQkJcmV0dXJuICRsYW5nc1swXTsNCgkJfQ0KCQlyZXR1cm4gbnVsbDsNCgl9DQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.PagesService.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCFmdW5jdGlvbl9leGlzdHMoImNtc21zIikpIGV4aXQ7DQoNCmNsYXNzIFBhZ2VzU2VydmljZXsNCg0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRPbmVCeUFsaWFzKCRwcmVmaXgsICRhbGlhcyl7DQoJCSRleGFtcGxlID0gbmV3IE9ybUV4YW1wbGUoKTsNCgkJJGV4YW1wbGUtPmFkZENyaXRlcmlhKCdwcmVmaXgnLCBPcm1UeXBlQ3JpdGVyaWE6OiRFUSwgYXJyYXkoJHByZWZpeCkpOw0KCQkkZXhhbXBsZS0+YWRkQ3JpdGVyaWEoJ2FsaWFzJywgT3JtVHlwZUNyaXRlcmlhOjokRVEsIGFycmF5KCRhbGlhcykpOw0KCQkkcGFnZXMgPSBPcm1Db3JlOjpmaW5kQnlFeGFtcGxlKG5ldyBQYWdlKCksJGV4YW1wbGUpOw0KCQlpZighZW1wdHkoJHBhZ2VzKSl7DQoJCQlyZXR1cm4gJHBhZ2VzWzBdOw0KCQl9DQoJCXJldHVybiBudWxsOw0KCX0NCg0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0QnlBbGlhc0xpa2UoJHByZWZpeCwgJGFsaWFzKXsNCgkJJGV4YW1wbGUgPSBuZXcgT3JtRXhhbXBsZSgpOw0KCQkkZXhhbXBsZS0+YWRkQ3JpdGVyaWEoJ3ByZWZpeCcsIE9ybVR5cGVDcml0ZXJpYTo6JEVRLCBhcnJheSgkcHJlZml4KSk7DQoJCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgnYWxpYXMnLCBPcm1UeXBlQ3JpdGVyaWE6OiRMSUtFLCBhcnJheSgkYWxpYXMpKTsNCgkJJHBhZ2VzID0gT3JtQ29yZTo6ZmluZEJ5RXhhbXBsZShuZXcgUGFnZSgpLCRleGFtcGxlKTsNCgkJcmV0dXJuICRwYWdlczsNCgl9DQoNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFNpYmxpbmdzKCRwcmVmaXgsICRhbGlhcyl7DQoNCgkJJGx2bCA9IFBhZ2VzU2VydmljZTo6Z2V0THZsKCRhbGlhcyk7DQoNCgkJJHBvcyA9IHN0cnJwb3MoJGFsaWFzLCAnOicpOw0KCQlpZigkcG9zID09PSBmYWxzZSl7DQoJCQkkYWxpYXNQYXJlbnQgPSBudWxsOw0KCQl9IGVsc2Ugew0KCQkJJGFsaWFzUGFyZW50ID0gc3Vic3RyKCRhbGlhcywgMCwgJHBvcyk7DQoJCX0NCg0KDQoJCSRleGFtcGxlID0gbmV3IE9ybUV4YW1wbGUoKTsNCgkJaWYoJGFsaWFzUGFyZW50ICE9IG51bGwpew0KCQkJJGV4YW1wbGUtPmFkZENyaXRlcmlhKCdhbGlhcycsIE9ybVR5cGVDcml0ZXJpYTo6JExJS0UsIGFycmF5KCRhbGlhc1BhcmVudC4nJScpKTsNCgkJfQ0KCQkkZXhhbXBsZS0+YWRkQ3JpdGVyaWEoJ3ByZWZpeCcsIE9ybVR5cGVDcml0ZXJpYTo6JEVRLCBhcnJheSgkcHJlZml4KSk7DQoJCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgnbHZsJywgT3JtVHlwZUNyaXRlcmlhOjokRVEsIGFycmF5KCRsdmwpKTsNCgkJJHBhZ2VzID0gT3JtQ29yZTo6ZmluZEJ5RXhhbXBsZShuZXcgUGFnZSgpLCRleGFtcGxlKTsNCg0KCQlyZXR1cm4gJHBhZ2VzOw0KDQoJfQ0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRMdmwoJGFsaWFzKXsNCgkJcmV0dXJuIHN1YnN0cl9jb3VudCgkYWxpYXMsICc6Jyk7DQoJfQ0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRCeVByZWZpeCgkcHJlZml4KXsNCg0KCQkkZXhhbXBsZSA9IG5ldyBPcm1FeGFtcGxlKCk7DQoJCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgncHJlZml4JywgT3JtVHlwZUNyaXRlcmlhOjokRVEsIGFycmF5KCRwcmVmaXgpKTsNCgkJJHBhZ2VzID0gT3JtQ29yZTo6ZmluZEJ5RXhhbXBsZShuZXcgUGFnZSgpLCRleGFtcGxlKTsNCgkJcmV0dXJuICRwYWdlczsNCgl9DQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.RouteMaker.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KY2xhc3MgUm91dGVNYWtlcnsNCg0KCXByaXZhdGUgc3RhdGljICR3aWtpOw0KDQoJcHJpdmF0ZSBzdGF0aWMgJGlkOw0KCXByaXZhdGUgc3RhdGljICRyZXR1cm5pZDsNCglwcml2YXRlIHN0YXRpYyAkcHJlZml4Ow0KDQoJcHJpdmF0ZSBzdGF0aWMgJGlzSW5pdGlhdGVkID0gZmFsc2U7DQoNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGluaXQoJGlkLCAkcmV0dXJuaWQsICRwcmVmaXgpew0KCQkNCgkJaWYoc2VsZjo6JHdpa2kgPT0gbnVsbCl7DQoJCQkkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOyANCgkJCXNlbGY6OiR3aWtpID0gJG1vZG9wcy0+Z2V0X21vZHVsZV9pbnN0YW5jZSgnV2lraScpOw0KCQl9DQoJCQ0KCQlzZWxmOjokaWQgPSAkaWQ7DQoJCXNlbGY6OiRyZXR1cm5pZCA9ICRyZXR1cm5pZDsNCgkJc2VsZjo6JHByZWZpeCA9ICRwcmVmaXg7DQoJCXNlbGY6OiRpc0luaXRpYXRlZCA9IHRydWU7DQoJfQ0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXREZWxldGVSb3V0ZSgkbGFuZ1ByZWZpeCA9IG51bGwsICRhbGlhcywgJGFkZGl0aW9ubmFsUGFyYW1ldGVycyA9IG51bGwpew0KCQlyZXR1cm4gUm91dGVNYWtlcjo6Z2V0Um91dGUoJGxhbmdQcmVmaXgsICRhbGlhcywgJ2RlbGV0ZScsIG51bGwsICRhZGRpdGlvbm5hbFBhcmFtZXRlcnMpOw0KCX0NCgkNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEVkaXRSb3V0ZSgkbGFuZ1ByZWZpeCA9IG51bGwsICRhbGlhcywgJGFkZGl0aW9ubmFsUGFyYW1ldGVycyA9IG51bGwpew0KCQlyZXR1cm4gUm91dGVNYWtlcjo6Z2V0Um91dGUoJGxhbmdQcmVmaXgsICRhbGlhcywgJ2VkaXQnLCBudWxsLCAkYWRkaXRpb25uYWxQYXJhbWV0ZXJzKTsNCgl9DQoJDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRQcmV2aWV3Um91dGUoJGxhbmdQcmVmaXggPSBudWxsLCAkYWxpYXMsICRhZGRpdGlvbm5hbFBhcmFtZXRlcnMgPSBudWxsKXsNCgkJcmV0dXJuIFJvdXRlTWFrZXI6OmdldFJvdXRlKCRsYW5nUHJlZml4LCAkYWxpYXMsICdwcmV2aWV3JywgbnVsbCwgJGFkZGl0aW9ubmFsUGFyYW1ldGVycyk7DQoJfQ0KCQ0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0UmF3Um91dGUoJGxhbmdQcmVmaXggPSBudWxsLCAkYWxpYXMsICR2ZXJzaW9uX2lkLCAkYWRkaXRpb25uYWxQYXJhbWV0ZXJzID0gbnVsbCl7DQoJCXJldHVybiBSb3V0ZU1ha2VyOjpnZXRSb3V0ZSgkbGFuZ1ByZWZpeCwgJGFsaWFzLCAncmF3JywgJHZlcnNpb25faWQsICRhZGRpdGlvbm5hbFBhcmFtZXRlcnMpOw0KCX0NCgkNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFZpZXdPbGRSb3V0ZSgkbGFuZ1ByZWZpeCA9IG51bGwsICRhbGlhcywgJHZlcnNpb25faWQsICRhZGRpdGlvbm5hbFBhcmFtZXRlcnMgPSBudWxsKXsNCgkJcmV0dXJuIFJvdXRlTWFrZXI6OmdldFJvdXRlKCRsYW5nUHJlZml4LCAkYWxpYXMsICd2aWV3JywgJHZlcnNpb25faWQsICRhZGRpdGlvbm5hbFBhcmFtZXRlcnMpOw0KCX0NCgkNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFZpZXdSb3V0ZSgkbGFuZ1ByZWZpeCA9IG51bGwsICRhbGlhcywgJGFkZGl0aW9ubmFsUGFyYW1ldGVycyA9IG51bGwpew0KCQlyZXR1cm4gUm91dGVNYWtlcjo6Z2V0Um91dGUoJGxhbmdQcmVmaXgsICRhbGlhcywgbnVsbCwgbnVsbCwgJGFkZGl0aW9ubmFsUGFyYW1ldGVycyk7DQoJfQ0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRSb290Um91dGUoJGxhbmdQcmVmaXggPSBudWxsLCAkYWRkaXRpb25uYWxQYXJhbWV0ZXJzID0gbnVsbCl7DQoJCXJldHVybiBSb3V0ZU1ha2VyOjpnZXRSb3V0ZSgkbGFuZ1ByZWZpeCwgbnVsbCwgbnVsbCwgbnVsbCwgJGFkZGl0aW9ubmFsUGFyYW1ldGVycyk7DQoJfQ0KCQ0KCXByb3RlY3RlZCBzdGF0aWMgZnVuY3Rpb24gZ2V0Um91dGUoJGxhbmdQcmVmaXggPSBudWxsLCAkYWxpYXMgPSBudWxsLCAkYWN0aW9uID0gbnVsbCwgJHZlcnNpb25faWQgPSBudWxsLCAkYWRkaXRpb25uYWxQYXJhbWV0ZXJzID0gbnVsbCl7DQoJCWlmKCFzZWxmOjokaXNJbml0aWF0ZWQpIHsNCgkJCXRocm93IG5ldyBFeGNlcHRpb24oIkVycm9yIFJvdXRlTWFrZXIgaXMgbm90IGluaXRpYXRlZCIsIDEpOw0KCQl9DQoJCQ0KCQkkdXJsID0gJyc7DQoJCQ0KCQkvLyAid2lraSINCgkJJHVybCAuPSBzZWxmOjokcHJlZml4Ow0KDQoJCS8vICIvZW5fVVMiDQoJCSR1cmwgLj0gKHNlbGY6OiR3aWtpLT5fZ2V0U2hvd0NvZGVJc28oKSAmJiAkbGFuZ1ByZWZpeCAhPSBudWxsID8nLycuJGxhbmdQcmVmaXg6IiIpOw0KCQkNCgkJLy8gIi90aXRsZSINCgkJJHVybCAuPSAoJGFsaWFzPT1udWxsPycnOicvJy4kYWxpYXMpOw0KCQkNCgkJLy8gIi9hY3Rpb24iDQoJCSR1cmwgLj0gKCRhY3Rpb249PW51bGw/Jyc6Jy8nLiRhY3Rpb24pOw0KCQkNCgkJLy8gIi92ZXJzaW9uX2lkIg0KCQkkdXJsIC49ICgkdmVyc2lvbl9pZD09bnVsbD8nJzonLycuJHZlcnNpb25faWQpOw0KDQoJCWlmKCAhaXNfYXJyYXkoJGFkZGl0aW9ubmFsUGFyYW1ldGVycykpew0KCQkJJGFkZGl0aW9ubmFsUGFyYW1ldGVycyA9IGFycmF5KCk7DQoJCX0NCg0KCQkkcGFyYW1ldGVycyA9IGFycmF5KCk7DQoNCgkJaWYoIWVtcHR5KCRhZGRpdGlvbm5hbFBhcmFtZXRlcnMpKXsNCgkJCSR1cmwuPSc/JzsNCgkJfQ0KDQoJCWZvcmVhY2ggKCRhZGRpdGlvbm5hbFBhcmFtZXRlcnMgYXMgJGtleSA9PiAkdmFsdWUpIHsNCgkJCSR1cmwgLj0gJyYnLnNlbGY6OiRpZC4ka2V5Lic9Jy4kdmFsdWU7DQoJCQkkcGFyYW1ldGVycyA9IGFycmF5X21lcmdlKCRwYXJhbWV0ZXJzLCAkYWRkaXRpb25uYWxQYXJhbWV0ZXJzKTsNCgkJfQ0KCQkkcGFyYW1ldGVyc1sndmxhbmcnXSA9ICgkbGFuZ1ByZWZpeCAhPSBudWxsID8gJGxhbmdQcmVmaXggOiAiIik7DQoJCSRwYXJhbWV0ZXJzWyd2dGl0bGUnXSA9ICRhbGlhczsNCgkJJHBhcmFtZXRlcnNbJ3ByZWZpeCddID0gc2VsZjo6JHByZWZpeDsNCgkJaWYgKCR2ZXJzaW9uX2lkICE9IG51bGwpew0KCQkJJHBhcmFtZXRlcnNbJ3ZlcnNpb25faWQnXSA9ICR2ZXJzaW9uX2lkOw0KCQl9DQoNCgkJJGZpbmFsVXJsID0gc2VsZjo6JHdpa2ktPkNyZWF0ZUZyb250ZW5kTGluayAoc2VsZjo6JGlkLCBzZWxmOjokcmV0dXJuaWQsIA0KCQkJCShlbXB0eSgkYWN0aW9uKSB8fCAkYWN0aW9uID09ICd2aWV3JyA/J2RlZmF1bHQnOiRhY3Rpb24pLCANCgkJCQknJywgDQoJCQkJJHBhcmFtZXRlcnMNCgkJCQksICcnLCB0cnVlLCB0cnVlLCAnJywgJycsIA0KCQkJCSR1cmwNCgkJKTsNCg0KCQkvKmVjaG8gIjxhIGhyZWY9JyIuJGZpbmFsVXJsLiInPiIuJGZpbmFsVXJsLic8L2E+PGJyLz48YnIvPic7Ki8NCg0KCQlyZXR1cm4gJGZpbmFsVXJsOw0KDQoJfQ0KDQp9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.VersionsService.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KY2xhc3MgVmVyc2lvbnNTZXJ2aWNlew0KDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRPbmUoJHBhZ2VfaWQsICRsYW5nX2lkID0gbnVsbCwgJHN0YXR1cyA9IG51bGwpew0KDQoJCSR2ZXJzaW9ucyA9IFZlcnNpb25zU2VydmljZTo6Z2V0QWxsKCRwYWdlX2lkLCAkbGFuZ19pZCwgJHN0YXR1cyk7DQoNCgkJaWYoIWVtcHR5KCR2ZXJzaW9ucykpew0KCQkJcmV0dXJuICR2ZXJzaW9uc1swXTsNCgkJfQ0KCQlyZXR1cm4gbnVsbDsNCgl9DQoJDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRBbGwoJHBhZ2VfaWQsICRsYW5nX2lkID0gbnVsbCwgJHN0YXR1cyA9IG51bGwsICRvcm1MaW1pdCA9IG51bGwpew0KDQoJCSRleGFtcGxlID0gbmV3IE9ybUV4YW1wbGUoKTsNCg0KCQlpZigkcGFnZV9pZCAhPSBudWxsKXsNCgkJCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgncGFnZScsIE9ybVR5cGVDcml0ZXJpYTo6JEVRLCBhcnJheSgkcGFnZV9pZCkpOw0KCQl9DQoNCgkJaWYoJGxhbmdfaWQgIT0gbnVsbCl7DQoJCQkkZXhhbXBsZS0+YWRkQ3JpdGVyaWEoJ2xhbmcnLCBPcm1UeXBlQ3JpdGVyaWE6OiRFUSwgYXJyYXkoJGxhbmdfaWQpKTsNCgkJfQ0KDQoJCWlmKCRzdGF0dXMgIT0gbnVsbCl7DQoJCQkkZXhhbXBsZS0+YWRkQ3JpdGVyaWEoJ3N0YXR1cycsIE9ybVR5cGVDcml0ZXJpYTo6JEVRLCBhcnJheSgkc3RhdHVzKSk7DQoJCX0NCg0KCQlyZXR1cm4gT3JtQ29yZTo6ZmluZEJ5RXhhbXBsZShuZXcgVmVyc2lvbigpLCRleGFtcGxlLCBudWxsLCAkb3JtTGltaXQpOw0KCX0NCg0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0QWxsQ3VycmVudEJ5UHJlZml4QW5kTGFuZygkcHJlZml4LCAkbGFuZ19pZCA9IG51bGwpew0KCQkkcGFnZV9pZHMgPSBhcnJheSgpOw0KCQkkcGFnZXMgPSBQYWdlc1NlcnZpY2U6OmdldEJ5UHJlZml4KCRwcmVmaXgpOw0KCQlmb3JlYWNoICgkcGFnZXMgYXMgJHBhZ2UpIHsNCgkJCSRwYWdlX2lkc1tdID0gJHBhZ2UtPmdldCgncGFnZV9pZCcpOw0KCQl9DQoNCgkJJGV4YW1wbGUgPSBuZXcgT3JtRXhhbXBsZSgpOw0KCQkkZXhhbXBsZS0+YWRkQ3JpdGVyaWEoJ3BhZ2UnLCBPcm1UeXBlQ3JpdGVyaWE6OiRJTiwgJHBhZ2VfaWRzKTsNCgkJJGV4YW1wbGUtPmFkZENyaXRlcmlhKCdzdGF0dXMnLCBPcm1UeXBlQ3JpdGVyaWE6OiRFUSwgYXJyYXkoVmVyc2lvbjo6JFNUQVRVU19DVVJSRU5UKSk7DQoJCQ0KDQoJCWlmKCRsYW5nX2lkICE9IG51bGwpew0KCQkJJGV4YW1wbGUtPmFkZENyaXRlcmlhKCdsYW5nJywgT3JtVHlwZUNyaXRlcmlhOjokRVEsIGFycmF5KCRsYW5nX2lkKSk7DQoJCX0NCg0KDQoJCXJldHVybiBPcm1Db3JlOjpmaW5kQnlFeGFtcGxlKG5ldyBWZXJzaW9uKCksJGV4YW1wbGUpOw0KDQoJCQ0KCX0NCg0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0T25lQnlWZXJzaW9uSWQoJHBhZ2VfaWQsICRsYW5nX2lkID0gbnVsbCwgJHZlcnNpb25faWQgPSBudWxsKXsNCg0KCQkkZXhhbXBsZSA9IG5ldyBPcm1FeGFtcGxlKCk7DQoNCgkJaWYoJHBhZ2VfaWQgIT0gbnVsbCl7DQoJCQkkZXhhbXBsZS0+YWRkQ3JpdGVyaWEoJ3BhZ2UnLCBPcm1UeXBlQ3JpdGVyaWE6OiRFUSwgYXJyYXkoJHBhZ2VfaWQpKTsNCgkJfQ0KDQoJCWlmKCRsYW5nX2lkICE9IG51bGwpew0KCQkJJGV4YW1wbGUtPmFkZENyaXRlcmlhKCdsYW5nJywgT3JtVHlwZUNyaXRlcmlhOjokRVEsIGFycmF5KCRsYW5nX2lkKSk7DQoJCX0NCg0KCQlpZigkdmVyc2lvbl9pZCAhPSBudWxsKXsgDQoJCQkkZXhhbXBsZS0+YWRkQ3JpdGVyaWEoJ3ZlcnNpb25faWQnLCBPcm1UeXBlQ3JpdGVyaWE6OiRFUSwgYXJyYXkoJHZlcnNpb25faWQpKTsNCgkJfSANCg0KCQkkdmVyc2lvbnMgPSAgT3JtQ29yZTo6ZmluZEJ5RXhhbXBsZShuZXcgVmVyc2lvbigpLCRleGFtcGxlKTsNCgkJaWYoIWVtcHR5KCR2ZXJzaW9ucykpew0KCQkJcmV0dXJuICR2ZXJzaW9uc1swXTsNCgkJfQ0KCQlyZXR1cm4gbnVsbDsNCgl9DQoNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNvdW50TmV3ZXJWZXJzaW9uKE9ybUVudGl0eSAkcGFnZSwgT3JtRW50aXR5ICRsYW5nLCBPcm1FbnRpdHkgJHZlcnNpb24pew0KCQkkZXhhbXBsZSA9IG5ldyBPcm1FeGFtcGxlKCk7DQoJCSRleGFtcGxlLT5hZGRDcml0ZXJpYSgncGFnZScsIE9ybVR5cGVDcml0ZXJpYTo6JEVRLCBhcnJheSgkcGFnZS0+Z2V0KCdwYWdlX2lkJykpKTsNCgkJJGV4YW1wbGUtPmFkZENyaXRlcmlhKCdsYW5nJywgT3JtVHlwZUNyaXRlcmlhOjokTkVRLCBhcnJheSgkbGFuZy0+Z2V0KCdsYW5nX2lkJykpKTsNCgkJJGV4YW1wbGUtPmFkZENyaXRlcmlhKCd2ZXJzaW9uX2lkJywgT3JtVHlwZUNyaXRlcmlhOjokR1QsIGFycmF5KCR2ZXJzaW9uLT5nZXQoJ3ZlcnNpb25faWQnKSkpOw0KCQkkY3B0TmV3ZXJWZXJzaW9uID0gT3JtQ29yZTo6c2VsZWN0Q291bnRCeUV4YW1wbGUobmV3IFZlcnNpb24oKSwkZXhhbXBsZSk7DQoJCXJldHVybiAkY3B0TmV3ZXJWZXJzaW9uOw0KCX0NCn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.WikiUtils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KDQpjbGFzcyBXaWtpVXRpbHN7DQoNCgkvKioNCgkgKiBXaWxsIGNvbG9yaXplIGxpbmtzIGZvciB0aGUgd2lraQ0KCSAqDQoJICogQHBhcmFtIHN0cmluZyAkdGV4dCB0aGUgdGV4dA0KCSAqIEBwYXJhbSBzdHJpbmcgJGNvZGVfaXNvIHRoZSBjb2RlIGlzbyBvZiB0aGUgbGFuZw0KCSAqDQoJICogQHJldHVybiBzdHJpbmcgd2l0aCBsaW5rIGNvbG9yaXplZA0KCSAqKi8NCglzdGF0aWMgZnVuY3Rpb24gY29sb3JpemVMaW5rcygkdGV4dCwgJHByZWZpeCwgJGNvZGVfaXNvKXsNCgkJJHBhdHRlcm5TID0gJ2A8YSAoW148XSopaHJlZj1bXCdcIl0oW148XSopW1wnXCJdPihbXjxdKik8L2E+YHNpJzsNCgkJcHJlZ19tYXRjaF9hbGwoICRwYXR0ZXJuUywgJHRleHQsICRtYXRjaGVzLCBQUkVHX1NFVF9PUkRFUik7DQoJCSRzZWFyY2ggPSBhcnJheSgpOw0KCQkkcmVwbGFjZSA9IGFycmF5KCk7DQoJCWZvcmVhY2goJG1hdGNoZXMgYXMgJG1hdGNoKSB7DQoJCQkvLyBFeHRlcm5hbCBsaW5rDQoJCQlpZihzdWJzdHIoJG1hdGNoWzJdLCAwLCA3KT09ICdodHRwOi8vJyANCgkJCQl8fCBzdWJzdHIoJG1hdGNoWzJdLCAwLCA4KT09ICdodHRwczovLycpew0KCQkJCSRjc3NDbGFzcyA9ICdleHRlcm5hbCc7DQoJCQkJJHRpdGxlID0gIiI7DQoJCQkJJHVybCA9ICRtYXRjaFsyXTsNCgkJCX1lbHNlIHsNCgkJCQkvL0ludGVybmFsIGxpbmsNCgkJCQkkZXhhbXBsZSA9IG5ldyBPcm1FeGFtcGxlKCk7DQoJCQkJJHBhZ2UgPSBQYWdlc1NlcnZpY2U6OmdldE9uZUJ5QWxpYXMoJHByZWZpeCwgJG1hdGNoWzJdKTsNCgkJCQkkbGFuZyA9IExhbmdzU2VydmljZTo6Z2V0T25lKCRjb2RlX2lzbyk7DQoJCQkJJHZlcnNpb24gPSBudWxsOw0KCQkJCWlmKCRwYWdlICE9IG51bGwgJiYgJGxhbmcgIT0gbnVsbCkgew0KCQkJCQkkdmVyc2lvbiA9IFZlcnNpb25zU2VydmljZTo6Z2V0T25lKCRwYWdlLT5nZXQoJ3BhZ2VfaWQnKSwgJGxhbmctPmdldCgnbGFuZ19pZCcpLCBWZXJzaW9uOjokU1RBVFVTX0NVUlJFTlQpOw0KCQkJCX0NCg0KCQkJCWlmKCR2ZXJzaW9uID09IG51bGwpew0KCQkJCQkkY3NzQ2xhc3MgPSAnbmV3JzsNCgkJCQkJJHRpdGxlID0gIkNsaWMgdG8gY3JlYXRlIHRoZSBwYWdlIHskbWF0Y2hbMl19IjsNCgkJCQl9IGVsc2Ugew0KCQkJCQkkY3NzQ2xhc3MgPSAnZm9sbG93JzsNCgkJCQkJJHRpdGxlID0gIiI7DQoJCQkJfQ0KCQkJCSR1cmwgPSBSb3V0ZU1ha2VyOjpnZXRWaWV3Um91dGUoJGNvZGVfaXNvLCAkbWF0Y2hbMl0pOw0KCQkJfQ0KCQkJLy9SZXBsYWNlIHBsYWluIHRleHQgd2l0aG91dCByZWdleCBhbnltb3JlDQoJCQkkc2VhcmNoW10gPSAkbWF0Y2hbMF07DQoJCQkkcmVwbGFjZVtdID0gIjxhIGNsYXNzPSd3aWtpbGlua3MgeyRjc3NDbGFzc30nIHRpdGxlPSd7JHRpdGxlfScgaHJlZj0neyR1cmx9Jz57JG1hdGNoWzNdfTwvYT4iOw0KCQl9DQoJCSR0ZXh0ID0gc3RyX3JlcGxhY2UoJHNlYXJjaCwkcmVwbGFjZSwkdGV4dCk7DQoNCgkJcmV0dXJuICR0ZXh0Ow0KCX0NCg0KCS8qKg0KCSAqIFdpbGwgcGFyc2UgdGhlIGJydXQgdGV4dCwgd2lsbCBjYWxsIGEgZXh0ZXJuYWwgTWFya2Rvd24gcGFyc2VyIGFuZCB3aWxsIGNvbG9yaXplIGxpbmtzIGZvciB0aGUgd2lraQ0KCSAqDQoJICogQHBhcmFtIHN0cmluZyAkdGV4dCB0aGUgdGV4dA0KCSAqIEBwYXJhbSBzdHJpbmcgJGNvZGVfaXNvIHRoZSBjb2RlIGlzbyBvZiB0aGUgbGFuZw0KCSAqDQoJICogQHJldHVybiBzdHJpbmcgdGhlIHRleHQgcmVhZHkgZm9yIHRoZSB3aWtpDQoJICoqLw0KCXN0YXRpYyBmdW5jdGlvbiBwYXJzZVRleHQoJHRleHQsICRwcmVmaXgsICRjb2RlX2lzbyl7DQoJCSRtYXJrZG93biA9IE1vZHVsZU9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5nZXRfbW9kdWxlX2luc3RhbmNlKCdQYXJzZXInKS0+R2V0UGFyc2VySW5zdGFuY2UoKTsNCgkJDQoJCSR0ZXh0ID0gaHRtbF9lbnRpdHlfZGVjb2RlKCR0ZXh0LCBFTlRfUVVPVEVTKTsNCg0KCQkkdGV4dCA9ICRtYXJrZG93bi0+cHJvY2VzcygkdGV4dCk7DQoNCgkJJHRleHQgPSBXaWtpVXRpbHM6OmNvbG9yaXplTGlua3MoJHRleHQsICRwcmVmaXgsICRjb2RlX2lzbyk7DQoNCgkJcmV0dXJuICR0ZXh0Ow0KCX0NCg0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/orm/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/orm/class.entity.Lang.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmNsYXNzIExhbmcgZXh0ZW5kcyBPcm1FbnRpdHkgew0KDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCdXaWtpJywnTGFuZycpOw0KCQkNCgkJJHRoaXMtPmFkZChuZXcgT3JtRmllbGQoJ2xhbmdfaWQnCQ0KCQkJLCBPcm1DQVNUOjokSU5URUdFUiANCgkJCSwgbnVsbAkNCgkJCSwgbnVsbA0KCQkJLCBPcm1LRVk6OiRQSwkNCgkJKSk7DQoJCQ0KCQkkdGhpcy0+YWRkKG5ldyBPcm1GaWVsZCgnY29kZScJCQ0KCQkJLCBPcm1DQVNUOjokU1RSSU5HDQoJCQksIDUwDQoJCQksIFRSVUUJDQoJCSkpOw0KCQkNCgkJJHRoaXMtPmFkZChuZXcgT3JtRmllbGQoJ2xhYmVsJwkJDQoJCQksIE9ybUNBU1Q6OiRTVFJJTkcNCgkJCSwgMjU1CQ0KCQkpKTsNCgkJDQoJCSR0aGlzLT5hZGQobmV3IE9ybUZpZWxkKCdpc2RlZmF1bHQnCQkNCgkJCSwgT3JtQ0FTVDo6JElOVEVHRVINCgkJCSwgMQkNCgkJKSk7DQoNCgkJJHRoaXMtPmdhcm5pc2hBdXRvaW5jcmVtZW50KCk7CQ0KDQoJCSR0aGlzLT5hZGRJbmRleGVzKGFycmF5KCdjb2RlJyksIHRydWUpOw0KCQkkdGhpcy0+YWRkSW5kZXhlcyhhcnJheSgnaXNkZWZhdWx0JykpOw0KDQoJCSR0aGlzLT5nYXJuaXNoRGVmYXVsdFZhbHVlKCdpc2RlZmF1bHQnLDApOw0KCQkNCgkJJHRoaXMtPmdhcm5pc2hEZWZhdWx0T3JkZXJCeShuZXcgT3JtT3JkZXJCeShhcnJheSgnaXNkZWZhdWx0Jz0+T3JtT3JkZXJCeTo6JERFU0MsICdjb2RlJz0+T3JtT3JkZXJCeTo6JEFTQykpKTsNCgl9CQ0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/orm/class.entity.Page.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmNsYXNzIFBhZ2UgZXh0ZW5kcyBPcm1FbnRpdHkgew0KDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCdXaWtpJywnUGFnZScpOw0KCQkNCgkJJHRoaXMtPmFkZChuZXcgT3JtRmllbGQoJ3BhZ2VfaWQnCQ0KCQkJLCBPcm1DQVNUOjokSU5URUdFUiANCgkJCSwgbnVsbAkNCgkJCSwgbnVsbA0KCQkJLCBPcm1LRVk6OiRQSwkNCgkJKSk7DQoJCQ0KCQkkdGhpcy0+YWRkKG5ldyBPcm1GaWVsZCgncHJlZml4JwkJDQoJCQksIE9ybUNBU1Q6OiRTVFJJTkcNCgkJCSwgNTANCgkJCSwgVFJVRQkNCgkJKSk7DQoJCQ0KCQkkdGhpcy0+YWRkKG5ldyBPcm1GaWVsZCgnYWxpYXMnCQkNCgkJCSwgT3JtQ0FTVDo6JFNUUklORw0KCQkJLCAxMDANCgkJKSk7DQoNCgkJJHRoaXMtPmFkZChuZXcgT3JtRmllbGQoJ2x2bCcNCgkJCSwgT3JtQ0FTVDo6JElOVEVHRVIgDQoJCQksIDMNCgkJKSk7DQoJCQkNCgkJJHRoaXMtPmdhcm5pc2hBdXRvaW5jcmVtZW50KCk7DQoNCgkJJHRoaXMtPmFkZEluZGV4ZXMoYXJyYXkoJ2x2bCcpKTsNCgkJJHRoaXMtPmFkZEluZGV4ZXMoYXJyYXkoJ3ByZWZpeCcsICdhbGlhcycpLCB0cnVlKTsNCgkJDQoJCQ0KCQkkdGhpcy0+Z2FybmlzaERlZmF1bHRPcmRlckJ5KG5ldyBPcm1PcmRlckJ5KGFycmF5KA0KCQkJCSdsdmwnPT5Pcm1PcmRlckJ5OjokQVNDLA0KCQkJCSdhbGlhcyc9Pk9ybU9yZGVyQnk6OiRBU0MNCgkJCQkpKSk7DQoJfQkNCn0NCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/orm/class.entity.Version.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qKg0KICogQSB2ZXJ5IHNpbXBsZSBleGFtcGxlIG9mIGhvdyB5b3UgY2FuIGRlZmluZSBhICJVc2VyIiB3aXRob3V0IGFueSByZWxhdGlvbiB0byBhbm90aGVyIE9iamVjdC4NCiAqLyANCmNsYXNzIFZlcnNpb24gZXh0ZW5kcyBPcm1FbnRpdHkgew0KDQoJcHVibGljIHN0YXRpYyAkU1RBVFVTX09MRCA9IDA7DQoJcHVibGljIHN0YXRpYyAkU1RBVFVTX0NVUlJFTlQgPSAxOw0KCXB1YmxpYyBzdGF0aWMgJFNUQVRVU19ERUxFVEVEID0gLTE7DQoNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7DQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJ1dpa2knLCdWZXJzaW9uJyk7DQoJCQ0KCQkkdGhpcy0+YWRkKG5ldyBPcm1GaWVsZCgndmVyc2lvbl9pZCcJDQoJCQksIE9ybUNBU1Q6OiRJTlRFR0VSIA0KCQkJLCBudWxsCQ0KCQkJLCBudWxsDQoJCQksIE9ybUtFWTo6JFBLCQ0KCQkpKTsNCgkJDQoJCS8vIHRoZSB0aXRsZSA9IHRoZSB1cmwNCgkJJHRoaXMtPmFkZChuZXcgT3JtRmllbGQoJ3RpdGxlJw0KCQkJLCBPcm1DQVNUOjokU1RSSU5HDQoJCQksIDI1NQkNCgkJKSk7DQoJCQ0KCQkvLyB0aGUgY29udGVudA0KCQkkdGhpcy0+YWRkKG5ldyBPcm1GaWVsZCgndGV4dCcJCQ0KCQkJLCBPcm1DQVNUOjokQlVGRkVSIA0KCQkpKTsNCgkJDQoJCS8vIERhdGVUaW1lIG9mIENyZWF0aW9uIChhIG1vZGlmaWNhdGlvbiA9IGEgbmV3IGNyZWF0aW9uKQ0KCQkkdGhpcy0+YWRkKG5ldyBPcm1GaWVsZCgnZHRfY3JlYXRpb24nDQoJCQksIE9ybUNBU1Q6OiREQVRFVElNRQ0KCQkpKTsNCgkJDQoJCS8vIExpbmsgdG8gdGhlIG9yaWdpbmFsIHBhZ2UgdG8gcHJlc2VydmUgdGhlIGhpc3RvcnkNCgkJJHRoaXMtPmFkZChuZXcgT3JtRmllbGQoJ3BhZ2UnCQkNCgkJCSwgT3JtQ0FTVDo6JElOVEVHRVINCgkJCSwgbnVsbAkNCgkJCSwgbnVsbA0KCQkJLCBPcm1LRVk6OiRGSw0KCQkJLCAiUGFnZS5wYWdlX2lkIg0KCQkpKTsNCgkJDQoJCS8vIExpbmsgdG8gdGhlIGxhbmcgY2F0ZWdvcnkgdG8gb2ZmZXIgTXVsdGktTGFuZyBlZGl0aW9uDQoJCSR0aGlzLT5hZGQobmV3IE9ybUZpZWxkKCdsYW5nJwkJDQoJCQksIE9ybUNBU1Q6OiRJTlRFR0VSDQoJCQksIG51bGwJDQoJCQksIG51bGwNCgkJCSwgT3JtS0VZOjokRksNCgkJCSwgIkxhbmcubGFuZ19pZCINCgkJKSk7DQoJCQ0KCQkvLyBOb3QgcmVxdWlyZWQgbGluayB0byB0aGUgYXV0aG9yIChpbnRlZ2VyIG9yIHN0cmluZyBvciBib3RoKQ0KCQkkdGhpcy0+YWRkKG5ldyBPcm1GaWVsZCgnYXV0aG9yX25hbWUnDQoJCQksIE9ybUNBU1Q6OiRTVFJJTkcNCgkJCSwgMjU1CQ0KCQkJLCBUUlVFDQoJCSkpOw0KCQkkdGhpcy0+YWRkKG5ldyBPcm1GaWVsZCgnYXV0aG9yX2lkJw0KCQkJLCBPcm1DQVNUOjokSU5URUdFUg0KCQkJLCBudWxsDQoJCQksIFRSVUUNCgkJKSk7DQoJCQ0KCQkNCgkJJHRoaXMtPmFkZChuZXcgT3JtRmllbGQoJ3N0YXR1cycNCgkJCSwgT3JtQ0FTVDo6JElOVEVHRVINCgkJKSk7DQoJCQ0KCQkkdGhpcy0+Z2FybmlzaEF1dG9pbmNyZW1lbnQoKTsNCgkJDQoJCSR0aGlzLT5nYXJuaXNoRGVmYXVsdFZhbHVlKCdzdGF0dXMnLDApOw0KCQkkdGhpcy0+YWRkSW5kZXhlcygnc3RhdHVzJyk7DQoJCQ0KCQkkdGhpcy0+Z2FybmlzaERlZmF1bHRPcmRlckJ5KG5ldyBPcm1PcmRlckJ5KGFycmF5KCd2ZXJzaW9uX2lkJz0+T3JtT3JkZXJCeTo6JERFU0MpKSk7DQoJfQkNCn0NCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/orm/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCFmdW5jdGlvbl9leGlzdHMoImNtc21zIikpIGV4aXQ7DQoNCmluY2x1ZGVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2luYy5yZXNldC5waHAnKTsNCmluY2x1ZGVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2luYy5kZXNpZ25JbnNlcnQucGhwJyk7DQoNCiNTZXQgUGVybWlzc2lvbg0KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01hbmFnZSBXaWtpJywgJ1dpa2kgOiBNYW5hZ2UgYmFzaWNzIG9wdGlvbnMnKTsNCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdBZHZhbmNlIE1hbmFnZSBXaWtpJywgJ1dpa2kgOiBBbGxvdyByZXNldGluZyB3aWtpJyk7DQoNCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KJHRoaXMtPkF1ZGl0KCAwLCANCgkgICAgICAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIA0KCSAgICAgICR0aGlzLT5MYW5nKCdpbnN0YWxsZWQnLCAkdGhpcy0+R2V0VmVyc2lvbigpKSApOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCFmdW5jdGlvbl9leGlzdHMoImNtc21zIikpIGV4aXQ7DQoNCi8vRHJvcCBhbGwgdGhlIHRhYmxlcyBhdXRvbWF0aWNhbGx5DQokZW50aXRpZXMgPSBNeUF1dG9sb2FkOjpnZXRBbGxJbnN0YW5jZXMoJHRoaXMtPkdldE5hbWUoKSwgJHRoaXMtPmdldE5hbWUoKSk7DQpmb3JlYWNoKCRlbnRpdGllcyBhcyAkYW5FbnRpdHkpIHsNCglPcm1Db3JlOjpkcm9wVGFibGUoJGFuRW50aXR5KTsNCn0NCg0KJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsNCiR0aGlzLT5SZW1vdmVTbWFydHlQbHVnaW4oKTsNCmNtc19yb3V0ZV9tYW5hZ2VyOjpkZWxfc3RhdGljKCcnLCR0aGlzLT5HZXROYW1lKCkpOw0KJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCdhY2Nlc3MnKTsNCg0KI1JlbW92ZSBQZXJtaXNzaW9uDQokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTWFuYWdlIFdpa2knKTsNCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdBZHZhbmNlIE1hbmFnZSBXaWtpJyk7DQoNCi8qKg0KICogUmVtb3ZlIERlc2lnbg0KICoqLw0KLy9pbmNsdWRlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9pbmMuZGVzaWduRGVsZXRlLnBocCcpOw0KDQoNCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1bmluc3RhbGxlZCcpKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCFmdW5jdGlvbl9leGlzdHMoImNtc21zIikpIGV4aXQ7DQoNCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KJHRoaXMtPkF1ZGl0KCAwLCAgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAgJHRoaXMtPkxhbmcoJ3VwZ3JhZGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOw0KDQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9IFdpa2kKdmVyc2lvbiA9IDEuMC4wCmRlc2NyaXB0aW9uID0gCmF1dGhvciA9IEtldmluIERhbmV6aXMgKGFrYSBCZXNzKQphdXRob3JlbWFpbCA9IGNvbnRhY3QgYXQgZnVyaWUgcG9pbnQgYmUKbWluY21zdmVyc2lvbiA9IDEuMTEuMAoxMVtkZXBlbmRzXQpPcm0gPSAwLjMuMwpQYXJzZXIgPSAxLjAuMAo=]]></data>
	</file>
	<file>
	  <filename>/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[d2lraQ0KPT09PQ0KDQpBIHNtYWxsIHdpa2kgaW1wbGVtZW50YXRpb24gZm9yIENtc01hZGVTaW1wbGUNCg==]]></data>
	</file>
	<file>
	  <filename>/scripts/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/scripts/fancybox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/scripts/fancybox/blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/fancybox_loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/fancybox_loading@2x.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/fancybox_overlay.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpCMEM4NDgzQjlDRTNFMTExODE4NUVDOTdFQ0I0RDgxRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGREU5OEVCQzAzMjYxMUUyOTg5OURDMDlDRTJDMTc0RSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGREU5OEVCQjAzMjYxMUUyOTg5OURDMDlDRTJDMTc0RSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkIxQzg0ODNCOUNFM0UxMTE4MTg1RUM5N0VDQjREODFFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkIwQzg0ODNCOUNFM0UxMTE4MTg1RUM5N0VDQjREODFFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+s3YRAQAAABtJREFUeNpiFODh2cBABGBiIBKMKqSOQoAAAwBokQDs5F/8FAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/scripts/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>/scripts/fancybox/fancybox_sprite@2x.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/helpers/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/scripts/fancybox/helpers/fancybox_buttons.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAMAAAAPdrEwAAAAvVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoqKgAAABhYWEAAACKiooAAAAAAADj4+MAAADExMQAAABlZWWAgIAAAAAzMzMAAADg4OArKysAAADk5OR0dHRXV1dgYGCtra3u7u7Hx8eoqKjDw8P4+Pjv7++wsLD4+PjZ2dm/v7/Gxsb39/f5+fn5+fno6Oj6+vrb29vh4eHq6ur7+/vw8PD4+Pj29vb7+/v8/Pz////5+fn09PTy8vLw8PARO2GBAAAANnRSTlMAAQMFBwsOERUXHB8gJiguNzg9Pz8/Q0hLT1VWYGVoeH2IkaKkpKmxsrjExc3T1djc4uPw8vVWxhKTAAAC9ElEQVR4Xu2WXXeaQBCGgQUWiGCsibExiWk+bA0xNlZnP8D8/5/VQUp7FMYc95iLtjw3czHs45zx5bDWv05LS/gc7hewb5/txoOzR7bpP86aDeFMx/ZeNX+WTe7wResJutlE65ew2azPnb3qYK5V3e2iuXAXZnS7TWalb09LbEqttLrabfIpAKAbzQAw5Q3mLNcV38PtFeuKTNTdfi8VQiitFZa059fWheb1ep3nuRCg1NbSudKAp7CHT9TdLOqn2NqcTvsR21nXs1bYRHJEgNxaeiSh8P56gHAXvZoZ8e/w8G/zO2pYnTNrxz1VRU9Na2bL694LkVdyAXC2pc4Bqn1g98dNZ1c90aVaT2pqJ+ihW+TpU8l9ZFt/CB5ef7HKBZoTz941a5FvdkW5AW4G/Q1df2td3WHJ6BUIM4j86SkXQLkhOwv4Bs/Z6vlBSTLP6mbLn2cSRDocpgJkNvetRve7b2PNjPCLBQBmA3MCsLjgVpP7NrL3qx9qZsTtXC7QzBi6F5cdt0Hg8Mjfr/Y7ncJcd/d7RepY1OujuQmbOdZeHJc1/rbLfVZU5nM0/y20tLS0sNmpTXfDGAmrciBc6y8O2Y01ElflQCKp9Qs5eCyVknFZDNSg6MFjmWXoLIqBGoTIycHjDCCLy2KixlsKlIMfXb1GysGPr357Q3e58Q9RA8Cd9yELEfli3D26Ot9cgb8OE370hQgUL8a9yD323ygBRDny0V8ZKUU58vFfdBDUyEiMyxJxWQ5Xz8mRkZMYOanKgfAuOTLiBlEUuFU5EObjyP8jLS0tLexRF7hUl9mnyyvHSO0m00wqGVA35cmnpV56ZlNH11pKGTV3I6W1Wl1zI7X9aSkBSLWUMhsnZlN7y2w1ToFUK6mn3DZS89vVuDeYUuriiw4TZjZ1t5/wKCG2GQxGo9EgcY3Ujsc9m7mM/LAjnOga5JXIOgGRV4OsE9B5pbNOY5JXOus0dF7prNOY5JXOOg2dVzrrNCZ5pbNuTkvLT1EJqK9sfkCLAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/helpers/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/helpers/jquery.fancybox-buttons.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I2ZhbmN5Ym94LWJ1dHRvbnMgew0KCXBvc2l0aW9uOiBmaXhlZDsNCglsZWZ0OiAwOw0KCXdpZHRoOiAxMDAlOw0KCXotaW5kZXg6IDgwNTA7DQp9DQoNCiNmYW5jeWJveC1idXR0b25zLnRvcCB7DQoJdG9wOiAxMHB4Ow0KfQ0KDQojZmFuY3lib3gtYnV0dG9ucy5ib3R0b20gew0KCWJvdHRvbTogMTBweDsNCn0NCg0KI2ZhbmN5Ym94LWJ1dHRvbnMgdWwgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXdpZHRoOiAxNjZweDsNCgloZWlnaHQ6IDMwcHg7DQoJbWFyZ2luOiAwIGF1dG87DQoJcGFkZGluZzogMDsNCglsaXN0LXN0eWxlOiBub25lOw0KCWJvcmRlcjogMXB4IHNvbGlkICMxMTE7DQoJYm9yZGVyLXJhZGl1czogM3B4Ow0KCS13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjA1KTsNCgkgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4wNSk7DQoJICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMDUpOw0KCWJhY2tncm91bmQ6IHJnYig1MCw1MCw1MCk7DQoJYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2IoNjgsNjgsNjgpIDAlLCByZ2IoNTIsNTIsNTIpIDUwJSwgcmdiKDQxLDQxLDQxKSA1MCUsIHJnYig1MSw1MSw1MSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSxyZ2IoNjgsNjgsNjgpKSwgY29sb3Itc3RvcCg1MCUscmdiKDUyLDUyLDUyKSksIGNvbG9yLXN0b3AoNTAlLHJnYig0MSw0MSw0MSkpLCBjb2xvci1zdG9wKDEwMCUscmdiKDUxLDUxLDUxKSkpOw0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiKDY4LDY4LDY4KSAwJSxyZ2IoNTIsNTIsNTIpIDUwJSxyZ2IoNDEsNDEsNDEpIDUwJSxyZ2IoNTEsNTEsNTEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYig2OCw2OCw2OCkgMCUscmdiKDUyLDUyLDUyKSA1MCUscmdiKDQxLDQxLDQxKSA1MCUscmdiKDUxLDUxLDUxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiKDY4LDY4LDY4KSAwJSxyZ2IoNTIsNTIsNTIpIDUwJSxyZ2IoNDEsNDEsNDEpIDUwJSxyZ2IoNTEsNTEsNTEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0b3AsIHJnYig2OCw2OCw2OCkgMCUscmdiKDUyLDUyLDUyKSA1MCUscmdiKDQxLDQxLDQxKSA1MCUscmdiKDUxLDUxLDUxKSAxMDAlKTsNCglmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzQ0NDQ0NCcsIGVuZENvbG9yc3RyPScjMjIyMjIyJyxHcmFkaWVudFR5cGU9MCApOw0KfQ0KDQojZmFuY3lib3gtYnV0dG9ucyB1bCBsaSB7DQoJZmxvYXQ6IGxlZnQ7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQp9DQoNCiNmYW5jeWJveC1idXR0b25zIGEgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXdpZHRoOiAzMHB4Ow0KCWhlaWdodDogMzBweDsNCgl0ZXh0LWluZGVudDogLTk5OTlweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94X2J1dHRvbnMucG5nJyk7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCglvdXRsaW5lOiBub25lOw0KCW9wYWNpdHk6IDAuODsNCn0NCg0KI2ZhbmN5Ym94LWJ1dHRvbnMgYTpob3ZlciB7DQoJb3BhY2l0eTogMTsNCn0NCg0KI2ZhbmN5Ym94LWJ1dHRvbnMgYS5idG5QcmV2IHsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiA1cHggMDsNCn0NCg0KI2ZhbmN5Ym94LWJ1dHRvbnMgYS5idG5OZXh0IHsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzNweCAwOw0KCWJvcmRlci1yaWdodDogMXB4IHNvbGlkICMzZTNlM2U7DQp9DQoNCiNmYW5jeWJveC1idXR0b25zIGEuYnRuUGxheSB7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzBweDsNCn0NCg0KI2ZhbmN5Ym94LWJ1dHRvbnMgYS5idG5QbGF5T24gew0KCWJhY2tncm91bmQtcG9zaXRpb246IC0zMHB4IC0zMHB4Ow0KfQ0KDQojZmFuY3lib3gtYnV0dG9ucyBhLmJ0blRvZ2dsZSB7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogM3B4IC02MHB4Ow0KCWJvcmRlci1sZWZ0OiAxcHggc29saWQgIzExMTsNCglib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjM2UzZTNlOw0KCXdpZHRoOiAzNXB4DQp9DQoNCiNmYW5jeWJveC1idXR0b25zIGEuYnRuVG9nZ2xlT24gew0KCWJhY2tncm91bmQtcG9zaXRpb246IC0yN3B4IC02MHB4Ow0KfQ0KDQojZmFuY3lib3gtYnV0dG9ucyBhLmJ0bkNsb3NlIHsNCglib3JkZXItbGVmdDogMXB4IHNvbGlkICMxMTE7DQoJd2lkdGg6IDM1cHg7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogLTU2cHggMHB4Ow0KfQ0KDQojZmFuY3lib3gtYnV0dG9ucyBhLmJ0bkRpc2FibGVkIHsNCglvcGFjaXR5IDogMC40Ow0KCWN1cnNvcjogZGVmYXVsdDsNCn0=]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/helpers/jquery.fancybox-buttons.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IC8qIQ0KICogQnV0dG9ucyBoZWxwZXIgZm9yIGZhbmN5Qm94DQogKiB2ZXJzaW9uOiAxLjAuNSAoTW9uLCAxNSBPY3QgMjAxMikNCiAqIEByZXF1aXJlcyBmYW5jeUJveCB2Mi4wIG9yIGxhdGVyDQogKg0KICogVXNhZ2U6DQogKiAgICAgJCgiLmZhbmN5Ym94IikuZmFuY3lib3goew0KICogICAgICAgICBoZWxwZXJzIDogew0KICogICAgICAgICAgICAgYnV0dG9uczogew0KICogICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogJ3RvcCcNCiAqICAgICAgICAgICAgIH0NCiAqICAgICAgICAgfQ0KICogICAgIH0pOw0KICoNCiAqLw0KKGZ1bmN0aW9uICgkKSB7DQoJLy9TaG9ydGN1dCBmb3IgZmFuY3lCb3ggb2JqZWN0DQoJdmFyIEYgPSAkLmZhbmN5Ym94Ow0KDQoJLy9BZGQgaGVscGVyIG9iamVjdA0KCUYuaGVscGVycy5idXR0b25zID0gew0KCQlkZWZhdWx0cyA6IHsNCgkJCXNraXBTaW5nbGUgOiBmYWxzZSwgLy8gZGlzYWJsZXMgaWYgZ2FsbGVyeSBjb250YWlucyBzaW5nbGUgaW1hZ2UNCgkJCXBvc2l0aW9uICAgOiAndG9wJywgLy8gJ3RvcCcgb3IgJ2JvdHRvbScNCgkJCXRwbCAgICAgICAgOiAnPGRpdiBpZD0iZmFuY3lib3gtYnV0dG9ucyI+PHVsPjxsaT48YSBjbGFzcz0iYnRuUHJldiIgdGl0bGU9IlByZXZpb3VzIiBocmVmPSJqYXZhc2NyaXB0OjsiPjwvYT48L2xpPjxsaT48YSBjbGFzcz0iYnRuUGxheSIgdGl0bGU9IlN0YXJ0IHNsaWRlc2hvdyIgaHJlZj0iamF2YXNjcmlwdDo7Ij48L2E+PC9saT48bGk+PGEgY2xhc3M9ImJ0bk5leHQiIHRpdGxlPSJOZXh0IiBocmVmPSJqYXZhc2NyaXB0OjsiPjwvYT48L2xpPjxsaT48YSBjbGFzcz0iYnRuVG9nZ2xlIiB0aXRsZT0iVG9nZ2xlIHNpemUiIGhyZWY9ImphdmFzY3JpcHQ6OyI+PC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJidG5DbG9zZSIgdGl0bGU9IkNsb3NlIiBocmVmPSJqYXZhc2NyaXB0OjsiPjwvYT48L2xpPjwvdWw+PC9kaXY+Jw0KCQl9LA0KDQoJCWxpc3QgOiBudWxsLA0KCQlidXR0b25zOiBudWxsLA0KDQoJCWJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChvcHRzLCBvYmopIHsNCgkJCS8vUmVtb3ZlIHNlbGYgaWYgZ2FsbGVyeSBkbyBub3QgaGF2ZSBhdCBsZWFzdCB0d28gaXRlbXMNCg0KCQkJaWYgKG9wdHMuc2tpcFNpbmdsZSAmJiBvYmouZ3JvdXAubGVuZ3RoIDwgMikgew0KCQkJCW9iai5oZWxwZXJzLmJ1dHRvbnMgPSBmYWxzZTsNCgkJCQlvYmouY2xvc2VCdG4gPSB0cnVlOw0KDQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQkvL0luY3JlYXNlIHRvcCBtYXJnaW4gdG8gZ2l2ZSBzcGFjZSBmb3IgYnV0dG9ucw0KCQkJb2JqLm1hcmdpblsgb3B0cy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgPyAyIDogMCBdICs9IDMwOw0KCQl9LA0KDQoJCW9uUGxheVN0YXJ0OiBmdW5jdGlvbiAoKSB7DQoJCQlpZiAodGhpcy5idXR0b25zKSB7DQoJCQkJdGhpcy5idXR0b25zLnBsYXkuYXR0cigndGl0bGUnLCAnUGF1c2Ugc2xpZGVzaG93JykuYWRkQ2xhc3MoJ2J0blBsYXlPbicpOw0KCQkJfQ0KCQl9LA0KDQoJCW9uUGxheUVuZDogZnVuY3Rpb24gKCkgew0KCQkJaWYgKHRoaXMuYnV0dG9ucykgew0KCQkJCXRoaXMuYnV0dG9ucy5wbGF5LmF0dHIoJ3RpdGxlJywgJ1N0YXJ0IHNsaWRlc2hvdycpLnJlbW92ZUNsYXNzKCdidG5QbGF5T24nKTsNCgkJCX0NCgkJfSwNCg0KCQlhZnRlclNob3c6IGZ1bmN0aW9uIChvcHRzLCBvYmopIHsNCgkJCXZhciBidXR0b25zID0gdGhpcy5idXR0b25zOw0KDQoJCQlpZiAoIWJ1dHRvbnMpIHsNCgkJCQl0aGlzLmxpc3QgPSAkKG9wdHMudHBsKS5hZGRDbGFzcyhvcHRzLnBvc2l0aW9uKS5hcHBlbmRUbygnYm9keScpOw0KDQoJCQkJYnV0dG9ucyA9IHsNCgkJCQkJcHJldiAgIDogdGhpcy5saXN0LmZpbmQoJy5idG5QcmV2JykuY2xpY2soIEYucHJldiApLA0KCQkJCQluZXh0ICAgOiB0aGlzLmxpc3QuZmluZCgnLmJ0bk5leHQnKS5jbGljayggRi5uZXh0ICksDQoJCQkJCXBsYXkgICA6IHRoaXMubGlzdC5maW5kKCcuYnRuUGxheScpLmNsaWNrKCBGLnBsYXkgKSwNCgkJCQkJdG9nZ2xlIDogdGhpcy5saXN0LmZpbmQoJy5idG5Ub2dnbGUnKS5jbGljayggRi50b2dnbGUgKSwNCgkJCQkJY2xvc2UgIDogdGhpcy5saXN0LmZpbmQoJy5idG5DbG9zZScpLmNsaWNrKCBGLmNsb3NlICkNCgkJCQl9DQoJCQl9DQoNCgkJCS8vUHJldg0KCQkJaWYgKG9iai5pbmRleCA+IDAgfHwgb2JqLmxvb3ApIHsNCgkJCQlidXR0b25zLnByZXYucmVtb3ZlQ2xhc3MoJ2J0bkRpc2FibGVkJyk7DQoJCQl9IGVsc2Ugew0KCQkJCWJ1dHRvbnMucHJldi5hZGRDbGFzcygnYnRuRGlzYWJsZWQnKTsNCgkJCX0NCg0KCQkJLy9OZXh0IC8gUGxheQ0KCQkJaWYgKG9iai5sb29wIHx8IG9iai5pbmRleCA8IG9iai5ncm91cC5sZW5ndGggLSAxKSB7DQoJCQkJYnV0dG9ucy5uZXh0LnJlbW92ZUNsYXNzKCdidG5EaXNhYmxlZCcpOw0KCQkJCWJ1dHRvbnMucGxheS5yZW1vdmVDbGFzcygnYnRuRGlzYWJsZWQnKTsNCg0KCQkJfSBlbHNlIHsNCgkJCQlidXR0b25zLm5leHQuYWRkQ2xhc3MoJ2J0bkRpc2FibGVkJyk7DQoJCQkJYnV0dG9ucy5wbGF5LmFkZENsYXNzKCdidG5EaXNhYmxlZCcpOw0KCQkJfQ0KDQoJCQl0aGlzLmJ1dHRvbnMgPSBidXR0b25zOw0KDQoJCQl0aGlzLm9uVXBkYXRlKG9wdHMsIG9iaik7DQoJCX0sDQoNCgkJb25VcGRhdGU6IGZ1bmN0aW9uIChvcHRzLCBvYmopIHsNCgkJCXZhciB0b2dnbGU7DQoNCgkJCWlmICghdGhpcy5idXR0b25zKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQl0b2dnbGUgPSB0aGlzLmJ1dHRvbnMudG9nZ2xlLnJlbW92ZUNsYXNzKCdidG5EaXNhYmxlZCBidG5Ub2dnbGVPbicpOw0KDQoJCQkvL1NpemUgdG9nZ2xlIGJ1dHRvbg0KCQkJaWYgKG9iai5jYW5TaHJpbmspIHsNCgkJCQl0b2dnbGUuYWRkQ2xhc3MoJ2J0blRvZ2dsZU9uJyk7DQoNCgkJCX0gZWxzZSBpZiAoIW9iai5jYW5FeHBhbmQpIHsNCgkJCQl0b2dnbGUuYWRkQ2xhc3MoJ2J0bkRpc2FibGVkJyk7DQoJCQl9DQoJCX0sDQoNCgkJYmVmb3JlQ2xvc2U6IGZ1bmN0aW9uICgpIHsNCgkJCWlmICh0aGlzLmxpc3QpIHsNCgkJCQl0aGlzLmxpc3QucmVtb3ZlKCk7DQoJCQl9DQoNCgkJCXRoaXMubGlzdCAgICA9IG51bGw7DQoJCQl0aGlzLmJ1dHRvbnMgPSBudWxsOw0KCQl9DQoJfTsNCg0KfShqUXVlcnkpKTsNCg==]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/helpers/jquery.fancybox-media.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohDQogKiBNZWRpYSBoZWxwZXIgZm9yIGZhbmN5Qm94DQogKiB2ZXJzaW9uOiAxLjAuNiAoRnJpLCAxNCBKdW4gMjAxMykNCiAqIEByZXF1aXJlcyBmYW5jeUJveCB2Mi4wIG9yIGxhdGVyDQogKg0KICogVXNhZ2U6DQogKiAgICAgJCgiLmZhbmN5Ym94IikuZmFuY3lib3goew0KICogICAgICAgICBoZWxwZXJzIDogew0KICogICAgICAgICAgICAgbWVkaWE6IHRydWUNCiAqICAgICAgICAgfQ0KICogICAgIH0pOw0KICoNCiAqIFNldCBjdXN0b20gVVJMIHBhcmFtZXRlcnM6DQogKiAgICAgJCgiLmZhbmN5Ym94IikuZmFuY3lib3goew0KICogICAgICAgICBoZWxwZXJzIDogew0KICogICAgICAgICAgICAgbWVkaWE6IHsNCiAqICAgICAgICAgICAgICAgICB5b3V0dWJlIDogew0KICogICAgICAgICAgICAgICAgICAgICBwYXJhbXMgOiB7DQogKiAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheSA6IDANCiAqICAgICAgICAgICAgICAgICAgICAgfQ0KICogICAgICAgICAgICAgICAgIH0NCiAqICAgICAgICAgICAgIH0NCiAqICAgICAgICAgfQ0KICogICAgIH0pOw0KICoNCiAqIE9yOg0KICogICAgICQoIi5mYW5jeWJveCIpLmZhbmN5Ym94KHssDQogKiAgICAgICAgIGhlbHBlcnMgOiB7DQogKiAgICAgICAgICAgICBtZWRpYTogdHJ1ZQ0KICogICAgICAgICB9LA0KICogICAgICAgICB5b3V0dWJlIDogew0KICogICAgICAgICAgICAgYXV0b3BsYXk6IDANCiAqICAgICAgICAgfQ0KICogICAgIH0pOw0KICoNCiAqICBTdXBwb3J0czoNCiAqDQogKiAgICAgIFlvdXR1YmUNCiAqICAgICAgICAgIGh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1vcGoyNEtuenJXbw0KICogICAgICAgICAgaHR0cDovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9vcGoyNEtuenJXbw0KICogICAgICAgICAgaHR0cDovL3lvdXR1LmJlL29wajI0S256cldvDQogKgkJCWh0dHA6Ly93d3cueW91dHViZS1ub2Nvb2tpZS5jb20vZW1iZWQvb3BqMjRLbnpyV28NCiAqICAgICAgVmltZW8NCiAqICAgICAgICAgIGh0dHA6Ly92aW1lby5jb20vNDA2NDgxNjkNCiAqICAgICAgICAgIGh0dHA6Ly92aW1lby5jb20vY2hhbm5lbHMvc3RhZmZwaWNrcy8zODg0MzYyOA0KICogICAgICAgICAgaHR0cDovL3ZpbWVvLmNvbS9ncm91cHMvc3VycmVhbGlzbS92aWRlb3MvMzY1MTYzODQNCiAqICAgICAgICAgIGh0dHA6Ly9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLzQ1MDc0MzAzDQogKiAgICAgIE1ldGFjYWZlDQogKiAgICAgICAgICBodHRwOi8vd3d3Lm1ldGFjYWZlLmNvbS93YXRjaC83NjM1OTY0L2RyX3NldXNzX3RoZV9sb3JheF9tb3ZpZV90cmFpbGVyLw0KICogICAgICAgICAgaHR0cDovL3d3dy5tZXRhY2FmZS5jb20vd2F0Y2gvNzYzNTk2NC8NCiAqICAgICAgRGFpbHltb3Rpb24NCiAqICAgICAgICAgIGh0dHA6Ly93d3cuZGFpbHltb3Rpb24uY29tL3ZpZGVvL3hveXRxaF9kci1zZXVzcy10aGUtbG9yYXgtcHJlbWllcmVfcGVvcGxlDQogKiAgICAgIFR3aXR2aWQNCiAqICAgICAgICAgIGh0dHA6Ly90d2l0dmlkLmNvbS9RWTdNRA0KICogICAgICBUd2l0cGljDQogKiAgICAgICAgICBodHRwOi8vdHdpdHBpYy5jb20vN3A5M3N0DQogKiAgICAgIEluc3RhZ3JhbQ0KICogICAgICAgICAgaHR0cDovL2luc3RhZ3IuYW0vcC9JZWprdVVHeFFuLw0KICogICAgICAgICAgaHR0cDovL2luc3RhZ3JhbS5jb20vcC9JZWprdVVHeFFuLw0KICogICAgICBHb29nbGUgbWFwcw0KICogICAgICAgICAgaHR0cDovL21hcHMuZ29vZ2xlLmNvbS9tYXBzP3E9RWlmZmVsK1Rvd2VyLCtBdmVudWUrR3VzdGF2ZStFaWZmZWwsK1BhcmlzLCtGcmFuY2UmdD1oJno9MTcNCiAqICAgICAgICAgIGh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vP2xsPTQ4Ljg1Nzk5NSwyLjI5NDI5NyZzcG49MC4wMDc2NjYsMC4wMjExMzYmdD1tJno9MTYNCiAqICAgICAgICAgIGh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vP2xsPTQ4Ljg1OTQ2MywyLjI5MjYyNiZzcG49MC4wMDA5NjUsMC4wMDI2NDImdD1tJno9MTkmbGF5ZXI9YyZjYmxsPTQ4Ljg1OTUyNCwyLjI5MjUzMiZwYW5vaWQ9WUowbHEyOE9PeTNWVDJJcUl1VlkwZyZjYnA9MTIsMTUxLjU4LCwwLC0xNS41Ng0KICovDQooZnVuY3Rpb24gKCQpIHsNCgkidXNlIHN0cmljdCI7DQoNCgkvL1Nob3J0Y3V0IGZvciBmYW5jeUJveCBvYmplY3QNCgl2YXIgRiA9ICQuZmFuY3lib3gsDQoJCWZvcm1hdCA9IGZ1bmN0aW9uKCB1cmwsIHJleiwgcGFyYW1zICkgew0KCQkJcGFyYW1zID0gcGFyYW1zIHx8ICcnOw0KDQoJCQlpZiAoICQudHlwZSggcGFyYW1zICkgPT09ICJvYmplY3QiICkgew0KCQkJCXBhcmFtcyA9ICQucGFyYW0ocGFyYW1zLCB0cnVlKTsNCgkJCX0NCg0KCQkJJC5lYWNoKHJleiwgZnVuY3Rpb24oa2V5LCB2YWx1ZSkgew0KCQkJCXVybCA9IHVybC5yZXBsYWNlKCAnJCcgKyBrZXksIHZhbHVlIHx8ICcnICk7DQoJCQl9KTsNCg0KCQkJaWYgKHBhcmFtcy5sZW5ndGgpIHsNCgkJCQl1cmwgKz0gKCB1cmwuaW5kZXhPZignPycpID4gMCA/ICcmJyA6ICc/JyApICsgcGFyYW1zOw0KCQkJfQ0KDQoJCQlyZXR1cm4gdXJsOw0KCQl9Ow0KDQoJLy9BZGQgaGVscGVyIG9iamVjdA0KCUYuaGVscGVycy5tZWRpYSA9IHsNCgkJZGVmYXVsdHMgOiB7DQoJCQl5b3V0dWJlIDogew0KCQkJCW1hdGNoZXIgOiAvKHlvdXR1YmVcLmNvbXx5b3V0dVwuYmV8eW91dHViZS1ub2Nvb2tpZVwuY29tKVwvKHdhdGNoXD92PXx2XC98dVwvfGVtYmVkXC8/KT8odmlkZW9zZXJpZXNcP2xpc3Q9KC4qKXxbXHctXXsxMX18XD9saXN0VHlwZT0oLiopJmxpc3Q9KC4qKSkuKi9pLA0KCQkJCXBhcmFtcyAgOiB7DQoJCQkJCWF1dG9wbGF5ICAgIDogMSwNCgkJCQkJYXV0b2hpZGUgICAgOiAxLA0KCQkJCQlmcyAgICAgICAgICA6IDEsDQoJCQkJCXJlbCAgICAgICAgIDogMCwNCgkJCQkJaGQgICAgICAgICAgOiAxLA0KCQkJCQl3bW9kZSAgICAgICA6ICdvcGFxdWUnLA0KCQkJCQllbmFibGVqc2FwaSA6IDENCgkJCQl9LA0KCQkJCXR5cGUgOiAnaWZyYW1lJywNCgkJCQl1cmwgIDogJy8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyQzJw0KCQkJfSwNCgkJCXZpbWVvIDogew0KCQkJCW1hdGNoZXIgOiAvKD86dmltZW8oPzpwcm8pPy5jb20pXC8oPzpbXlxkXSspPyhcZCspKD86LiopLywNCgkJCQlwYXJhbXMgIDogew0KCQkJCQlhdXRvcGxheSAgICAgIDogMSwNCgkJCQkJaGQgICAgICAgICAgICA6IDEsDQoJCQkJCXNob3dfdGl0bGUgICAgOiAxLA0KCQkJCQlzaG93X2J5bGluZSAgIDogMSwNCgkJCQkJc2hvd19wb3J0cmFpdCA6IDAsDQoJCQkJCWZ1bGxzY3JlZW4gICAgOiAxDQoJCQkJfSwNCgkJCQl0eXBlIDogJ2lmcmFtZScsDQoJCQkJdXJsICA6ICcvL3BsYXllci52aW1lby5jb20vdmlkZW8vJDEnDQoJCQl9LA0KCQkJbWV0YWNhZmUgOiB7DQoJCQkJbWF0Y2hlciA6IC9tZXRhY2FmZS5jb21cLyg/OndhdGNofGZwbGF5ZXIpXC8oW1x3XC1dezEsMTB9KS8sDQoJCQkJcGFyYW1zICA6IHsNCgkJCQkJYXV0b1BsYXkgOiAneWVzJw0KCQkJCX0sDQoJCQkJdHlwZSA6ICdzd2YnLA0KCQkJCXVybCAgOiBmdW5jdGlvbiggcmV6LCBwYXJhbXMsIG9iaiApIHsNCgkJCQkJb2JqLnN3Zi5mbGFzaFZhcnMgPSAncGxheWVyVmFycz0nICsgJC5wYXJhbSggcGFyYW1zLCB0cnVlICk7DQoNCgkJCQkJcmV0dXJuICcvL3d3dy5tZXRhY2FmZS5jb20vZnBsYXllci8nICsgcmV6WzFdICsgJy8uc3dmJzsNCgkJCQl9DQoJCQl9LA0KCQkJZGFpbHltb3Rpb24gOiB7DQoJCQkJbWF0Y2hlciA6IC9kYWlseW1vdGlvbi5jb21cL3ZpZGVvXC8oLiopXC8/KC4qKS8sDQoJCQkJcGFyYW1zICA6IHsNCgkJCQkJYWRkaXRpb25hbEluZm9zIDogMCwNCgkJCQkJYXV0b1N0YXJ0IDogMQ0KCQkJCX0sDQoJCQkJdHlwZSA6ICdzd2YnLA0KCQkJCXVybCAgOiAnLy93d3cuZGFpbHltb3Rpb24uY29tL3N3Zi92aWRlby8kMScNCgkJCX0sDQoJCQl0d2l0dmlkIDogew0KCQkJCW1hdGNoZXIgOiAvdHdpdHZpZFwuY29tXC8oW2EtekEtWjAtOV9cLVw/XD1dKykvaSwNCgkJCQlwYXJhbXMgIDogew0KCQkJCQlhdXRvcGxheSA6IDANCgkJCQl9LA0KCQkJCXR5cGUgOiAnaWZyYW1lJywNCgkJCQl1cmwgIDogJy8vd3d3LnR3aXR2aWQuY29tL2VtYmVkLnBocD9ndWlkPSQxJw0KCQkJfSwNCgkJCXR3aXRwaWMgOiB7DQoJCQkJbWF0Y2hlciA6IC90d2l0cGljXC5jb21cLyg/ISg/OnBsYWNlfHBob3Rvc3xldmVudHMpXC8pKFthLXpBLVowLTlcP1w9XC1dKykvaSwNCgkJCQl0eXBlIDogJ2ltYWdlJywNCgkJCQl1cmwgIDogJy8vdHdpdHBpYy5jb20vc2hvdy9mdWxsLyQxLycNCgkJCX0sDQoJCQlpbnN0YWdyYW0gOiB7DQoJCQkJbWF0Y2hlciA6IC8oaW5zdGFnclwuYW18aW5zdGFncmFtXC5jb20pXC9wXC8oW2EtekEtWjAtOV9cLV0rKVwvPy9pLA0KCQkJCXR5cGUgOiAnaW1hZ2UnLA0KCQkJCXVybCAgOiAnLy8kMS9wLyQyL21lZGlhLz9zaXplPWwnDQoJCQl9LA0KCQkJZ29vZ2xlX21hcHMgOiB7DQoJCQkJbWF0Y2hlciA6IC9tYXBzXC5nb29nbGVcLihbYS16XXsyLDN9KFwuW2Etel17Mn0pPylcLyhcP2xsPXxtYXBzXD8pKC4qKS9pLA0KCQkJCXR5cGUgOiAnaWZyYW1lJywNCgkJCQl1cmwgIDogZnVuY3Rpb24oIHJleiApIHsNCgkJCQkJcmV0dXJuICcvL21hcHMuZ29vZ2xlLicgKyByZXpbMV0gKyAnLycgKyByZXpbM10gKyAnJyArIHJlels0XSArICcmb3V0cHV0PScgKyAocmV6WzRdLmluZGV4T2YoJ2xheWVyPWMnKSA+IDAgPyAnc3ZlbWJlZCcgOiAnZW1iZWQnKTsNCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJYmVmb3JlTG9hZCA6IGZ1bmN0aW9uKG9wdHMsIG9iaikgew0KCQkJdmFyIHVybCAgID0gb2JqLmhyZWYgfHwgJycsDQoJCQkJdHlwZSAgPSBmYWxzZSwNCgkJCQl3aGF0LA0KCQkJCWl0ZW0sDQoJCQkJcmV6LA0KCQkJCXBhcmFtczsNCg0KCQkJZm9yICh3aGF0IGluIG9wdHMpIHsNCgkJCQlpZiAob3B0cy5oYXNPd25Qcm9wZXJ0eSh3aGF0KSkgew0KCQkJCQlpdGVtID0gb3B0c1sgd2hhdCBdOw0KCQkJCQlyZXogID0gdXJsLm1hdGNoKCBpdGVtLm1hdGNoZXIgKTsNCg0KCQkJCQlpZiAocmV6KSB7DQoJCQkJCQl0eXBlICAgPSBpdGVtLnR5cGU7DQoJCQkJCQlwYXJhbXMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgaXRlbS5wYXJhbXMsIG9ialsgd2hhdCBdIHx8ICgkLmlzUGxhaW5PYmplY3Qob3B0c1sgd2hhdCBdKSA/IG9wdHNbIHdoYXQgXS5wYXJhbXMgOiBudWxsKSk7DQoNCgkJCQkJCXVybCA9ICQudHlwZSggaXRlbS51cmwgKSA9PT0gImZ1bmN0aW9uIiA/IGl0ZW0udXJsLmNhbGwoIHRoaXMsIHJleiwgcGFyYW1zLCBvYmogKSA6IGZvcm1hdCggaXRlbS51cmwsIHJleiwgcGFyYW1zICk7DQoNCgkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAodHlwZSkgew0KCQkJCW9iai5ocmVmID0gdXJsOw0KCQkJCW9iai50eXBlID0gdHlwZTsNCg0KCQkJCW9iai5hdXRvSGVpZ2h0ID0gZmFsc2U7DQoJCQl9DQoJCX0NCgl9Ow0KDQp9KGpRdWVyeSkpOw==]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/helpers/jquery.fancybox-thumbs.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I2ZhbmN5Ym94LXRodW1icyB7DQoJcG9zaXRpb246IGZpeGVkOw0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl6LWluZGV4OiA4MDUwOw0KfQ0KDQojZmFuY3lib3gtdGh1bWJzLmJvdHRvbSB7DQoJYm90dG9tOiAycHg7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMudG9wIHsNCgl0b3A6IDJweDsNCn0NCg0KI2ZhbmN5Ym94LXRodW1icyB1bCB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMgdWwgbGkgew0KCWZsb2F0OiBsZWZ0Ow0KCXBhZGRpbmc6IDFweDsNCglvcGFjaXR5OiAwLjU7DQp9DQoNCiNmYW5jeWJveC10aHVtYnMgdWwgbGkuYWN0aXZlIHsNCglvcGFjaXR5OiAwLjc1Ow0KCXBhZGRpbmc6IDA7DQoJYm9yZGVyOiAxcHggc29saWQgI2ZmZjsNCn0NCg0KI2ZhbmN5Ym94LXRodW1icyB1bCBsaTpob3ZlciB7DQoJb3BhY2l0eTogMTsNCn0NCg0KI2ZhbmN5Ym94LXRodW1icyB1bCBsaSBhIHsNCglkaXNwbGF5OiBibG9jazsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCglib3JkZXI6IDFweCBzb2xpZCAjMjIyOw0KCWJhY2tncm91bmQ6ICMxMTE7DQoJb3V0bGluZTogbm9uZTsNCn0NCg0KI2ZhbmN5Ym94LXRodW1icyB1bCBsaSBpbWcgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCglib3JkZXI6IDA7DQoJcGFkZGluZzogMDsNCgltYXgtd2lkdGg6IG5vbmU7DQp9]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/helpers/jquery.fancybox-thumbs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IC8qIQ0KICogVGh1bWJuYWlsIGhlbHBlciBmb3IgZmFuY3lCb3gNCiAqIHZlcnNpb246IDEuMC43IChNb24sIDAxIE9jdCAyMDEyKQ0KICogQHJlcXVpcmVzIGZhbmN5Qm94IHYyLjAgb3IgbGF0ZXINCiAqDQogKiBVc2FnZToNCiAqICAgICAkKCIuZmFuY3lib3giKS5mYW5jeWJveCh7DQogKiAgICAgICAgIGhlbHBlcnMgOiB7DQogKiAgICAgICAgICAgICB0aHVtYnM6IHsNCiAqICAgICAgICAgICAgICAgICB3aWR0aCAgOiA1MCwNCiAqICAgICAgICAgICAgICAgICBoZWlnaHQgOiA1MA0KICogICAgICAgICAgICAgfQ0KICogICAgICAgICB9DQogKiAgICAgfSk7DQogKg0KICovDQooZnVuY3Rpb24gKCQpIHsNCgkvL1Nob3J0Y3V0IGZvciBmYW5jeUJveCBvYmplY3QNCgl2YXIgRiA9ICQuZmFuY3lib3g7DQoNCgkvL0FkZCBoZWxwZXIgb2JqZWN0DQoJRi5oZWxwZXJzLnRodW1icyA9IHsNCgkJZGVmYXVsdHMgOiB7DQoJCQl3aWR0aCAgICA6IDUwLCAgICAgICAvLyB0aHVtYm5haWwgd2lkdGgNCgkJCWhlaWdodCAgIDogNTAsICAgICAgIC8vIHRodW1ibmFpbCBoZWlnaHQNCgkJCXBvc2l0aW9uIDogJ2JvdHRvbScsIC8vICd0b3AnIG9yICdib3R0b20nDQoJCQlzb3VyY2UgICA6IGZ1bmN0aW9uICggaXRlbSApIHsgIC8vIGZ1bmN0aW9uIHRvIG9idGFpbiB0aGUgVVJMIG9mIHRoZSB0aHVtYm5haWwgaW1hZ2UNCgkJCQl2YXIgaHJlZjsNCg0KCQkJCWlmIChpdGVtLmVsZW1lbnQpIHsNCgkJCQkJaHJlZiA9ICQoaXRlbS5lbGVtZW50KS5maW5kKCdpbWcnKS5hdHRyKCdzcmMnKTsNCgkJCQl9DQoNCgkJCQlpZiAoIWhyZWYgJiYgaXRlbS50eXBlID09PSAnaW1hZ2UnICYmIGl0ZW0uaHJlZikgew0KCQkJCQlocmVmID0gaXRlbS5ocmVmOw0KCQkJCX0NCg0KCQkJCXJldHVybiBocmVmOw0KCQkJfQ0KCQl9LA0KDQoJCXdyYXAgIDogbnVsbCwNCgkJbGlzdCAgOiBudWxsLA0KCQl3aWR0aCA6IDAsDQoNCgkJaW5pdDogZnVuY3Rpb24gKG9wdHMsIG9iaikgew0KCQkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJCWxpc3QsDQoJCQkJdGh1bWJXaWR0aCAgPSBvcHRzLndpZHRoLA0KCQkJCXRodW1iSGVpZ2h0ID0gb3B0cy5oZWlnaHQsDQoJCQkJdGh1bWJTb3VyY2UgPSBvcHRzLnNvdXJjZTsNCg0KCQkJLy9CdWlsZCBsaXN0IHN0cnVjdHVyZQ0KCQkJbGlzdCA9ICcnOw0KDQoJCQlmb3IgKHZhciBuID0gMDsgbiA8IG9iai5ncm91cC5sZW5ndGg7IG4rKykgew0KCQkJCWxpc3QgKz0gJzxsaT48YSBzdHlsZT0id2lkdGg6JyArIHRodW1iV2lkdGggKyAncHg7aGVpZ2h0OicgKyB0aHVtYkhlaWdodCArICdweDsiIGhyZWY9ImphdmFzY3JpcHQ6alF1ZXJ5LmZhbmN5Ym94Lmp1bXB0bygnICsgbiArICcpOyI+PC9hPjwvbGk+JzsNCgkJCX0NCg0KCQkJdGhpcy53cmFwID0gJCgnPGRpdiBpZD0iZmFuY3lib3gtdGh1bWJzIj48L2Rpdj4nKS5hZGRDbGFzcyhvcHRzLnBvc2l0aW9uKS5hcHBlbmRUbygnYm9keScpOw0KCQkJdGhpcy5saXN0ID0gJCgnPHVsPicgKyBsaXN0ICsgJzwvdWw+JykuYXBwZW5kVG8odGhpcy53cmFwKTsNCg0KCQkJLy9Mb2FkIGVhY2ggdGh1bWJuYWlsDQoJCQkkLmVhY2gob2JqLmdyb3VwLCBmdW5jdGlvbiAoaSkgew0KCQkJCXZhciBocmVmID0gdGh1bWJTb3VyY2UoIG9iai5ncm91cFsgaSBdICk7DQoNCgkJCQlpZiAoIWhyZWYpIHsNCgkJCQkJcmV0dXJuOw0KCQkJCX0NCg0KCQkJCSQoIjxpbWcgLz4iKS5sb2FkKGZ1bmN0aW9uICgpIHsNCgkJCQkJdmFyIHdpZHRoICA9IHRoaXMud2lkdGgsDQoJCQkJCQloZWlnaHQgPSB0aGlzLmhlaWdodCwNCgkJCQkJCXdpZHRoUmF0aW8sIGhlaWdodFJhdGlvLCBwYXJlbnQ7DQoNCgkJCQkJaWYgKCF0aGF0Lmxpc3QgfHwgIXdpZHRoIHx8ICFoZWlnaHQpIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KDQoJCQkJCS8vQ2FsY3VsYXRlIHRodW1ibmFpbCB3aWR0aC9oZWlnaHQgYW5kIGNlbnRlciBpdA0KCQkJCQl3aWR0aFJhdGlvICA9IHdpZHRoIC8gdGh1bWJXaWR0aDsNCgkJCQkJaGVpZ2h0UmF0aW8gPSBoZWlnaHQgLyB0aHVtYkhlaWdodDsNCg0KCQkJCQlwYXJlbnQgPSB0aGF0Lmxpc3QuY2hpbGRyZW4oKS5lcShpKS5maW5kKCdhJyk7DQoNCgkJCQkJaWYgKHdpZHRoUmF0aW8gPj0gMSAmJiBoZWlnaHRSYXRpbyA+PSAxKSB7DQoJCQkJCQlpZiAod2lkdGhSYXRpbyA+IGhlaWdodFJhdGlvKSB7DQoJCQkJCQkJd2lkdGggID0gTWF0aC5mbG9vcih3aWR0aCAvIGhlaWdodFJhdGlvKTsNCgkJCQkJCQloZWlnaHQgPSB0aHVtYkhlaWdodDsNCg0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQl3aWR0aCAgPSB0aHVtYldpZHRoOw0KCQkJCQkJCWhlaWdodCA9IE1hdGguZmxvb3IoaGVpZ2h0IC8gd2lkdGhSYXRpbyk7DQoJCQkJCQl9DQoJCQkJCX0NCg0KCQkJCQkkKHRoaXMpLmNzcyh7DQoJCQkJCQl3aWR0aCAgOiB3aWR0aCwNCgkJCQkJCWhlaWdodCA6IGhlaWdodCwNCgkJCQkJCXRvcCAgICA6IE1hdGguZmxvb3IodGh1bWJIZWlnaHQgLyAyIC0gaGVpZ2h0IC8gMiksDQoJCQkJCQlsZWZ0ICAgOiBNYXRoLmZsb29yKHRodW1iV2lkdGggLyAyIC0gd2lkdGggLyAyKQ0KCQkJCQl9KTsNCg0KCQkJCQlwYXJlbnQud2lkdGgodGh1bWJXaWR0aCkuaGVpZ2h0KHRodW1iSGVpZ2h0KTsNCg0KCQkJCQkkKHRoaXMpLmhpZGUoKS5hcHBlbmRUbyhwYXJlbnQpLmZhZGVJbigzMDApOw0KDQoJCQkJfSkuYXR0cignc3JjJywgaHJlZik7DQoJCQl9KTsNCg0KCQkJLy9TZXQgaW5pdGlhbCB3aWR0aA0KCQkJdGhpcy53aWR0aCA9IHRoaXMubGlzdC5jaGlsZHJlbigpLmVxKDApLm91dGVyV2lkdGgodHJ1ZSk7DQoNCgkJCXRoaXMubGlzdC53aWR0aCh0aGlzLndpZHRoICogKG9iai5ncm91cC5sZW5ndGggKyAxKSkuY3NzKCdsZWZ0JywgTWF0aC5mbG9vcigkKHdpbmRvdykud2lkdGgoKSAqIDAuNSAtIChvYmouaW5kZXggKiB0aGlzLndpZHRoICsgdGhpcy53aWR0aCAqIDAuNSkpKTsNCgkJfSwNCg0KCQliZWZvcmVMb2FkOiBmdW5jdGlvbiAob3B0cywgb2JqKSB7DQoJCQkvL1JlbW92ZSBzZWxmIGlmIGdhbGxlcnkgZG8gbm90IGhhdmUgYXQgbGVhc3QgdHdvIGl0ZW1zDQoJCQlpZiAob2JqLmdyb3VwLmxlbmd0aCA8IDIpIHsNCgkJCQlvYmouaGVscGVycy50aHVtYnMgPSBmYWxzZTsNCg0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJLy9JbmNyZWFzZSBib3R0b20gbWFyZ2luIHRvIGdpdmUgc3BhY2UgZm9yIHRodW1icw0KCQkJb2JqLm1hcmdpblsgb3B0cy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyAwIDogMiBdICs9ICgob3B0cy5oZWlnaHQpICsgMTUpOw0KCQl9LA0KDQoJCWFmdGVyU2hvdzogZnVuY3Rpb24gKG9wdHMsIG9iaikgew0KCQkJLy9DaGVjayBpZiBleGlzdHMgYW5kIGNyZWF0ZSBvciB1cGRhdGUgbGlzdA0KCQkJaWYgKHRoaXMubGlzdCkgew0KCQkJCXRoaXMub25VcGRhdGUob3B0cywgb2JqKTsNCg0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLmluaXQob3B0cywgb2JqKTsNCgkJCX0NCg0KCQkJLy9TZXQgYWN0aXZlIGVsZW1lbnQNCgkJCXRoaXMubGlzdC5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKS5lcShvYmouaW5kZXgpLmFkZENsYXNzKCdhY3RpdmUnKTsNCgkJfSwNCg0KCQkvL0NlbnRlciBsaXN0DQoJCW9uVXBkYXRlOiBmdW5jdGlvbiAob3B0cywgb2JqKSB7DQoJCQlpZiAodGhpcy5saXN0KSB7DQoJCQkJdGhpcy5saXN0LnN0b3AodHJ1ZSkuYW5pbWF0ZSh7DQoJCQkJCSdsZWZ0JzogTWF0aC5mbG9vcigkKHdpbmRvdykud2lkdGgoKSAqIDAuNSAtIChvYmouaW5kZXggKiB0aGlzLndpZHRoICsgdGhpcy53aWR0aCAqIDAuNSkpDQoJCQkJfSwgMTUwKTsNCgkJCX0NCgkJfSwNCg0KCQliZWZvcmVDbG9zZTogZnVuY3Rpb24gKCkgew0KCQkJaWYgKHRoaXMud3JhcCkgew0KCQkJCXRoaXMud3JhcC5yZW1vdmUoKTsNCgkJCX0NCg0KCQkJdGhpcy53cmFwICA9IG51bGw7DQoJCQl0aGlzLmxpc3QgID0gbnVsbDsNCgkJCXRoaXMud2lkdGggPSAwOw0KCQl9DQoJfQ0KDQp9KGpRdWVyeSkpOw==]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/jquery.fancybox.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGZhbmN5Qm94IHYyLjEuNSBmYW5jeWFwcHMuY29tIHwgZmFuY3lhcHBzLmNvbS9mYW5jeWJveC8jbGljZW5zZSAqLw0KLmZhbmN5Ym94LXdyYXAsDQouZmFuY3lib3gtc2tpbiwNCi5mYW5jeWJveC1vdXRlciwNCi5mYW5jeWJveC1pbm5lciwNCi5mYW5jeWJveC1pbWFnZSwNCi5mYW5jeWJveC13cmFwIGlmcmFtZSwNCi5mYW5jeWJveC13cmFwIG9iamVjdCwNCi5mYW5jeWJveC1uYXYsDQouZmFuY3lib3gtbmF2IHNwYW4sDQouZmFuY3lib3gtdG1wDQp7DQoJcGFkZGluZzogMDsNCgltYXJnaW46IDA7DQoJYm9yZGVyOiAwOw0KCW91dGxpbmU6IG5vbmU7DQoJdmVydGljYWwtYWxpZ246IHRvcDsNCn0NCg0KLmZhbmN5Ym94LXdyYXAgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgl6LWluZGV4OiA4MDIwOw0KfQ0KDQouZmFuY3lib3gtc2tpbiB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWJhY2tncm91bmQ6ICNmOWY5Zjk7DQoJY29sb3I6ICM0NDQ7DQoJdGV4dC1zaGFkb3c6IG5vbmU7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7DQoJICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7DQoJICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQp9DQoNCi5mYW5jeWJveC1vcGVuZWQgew0KCXotaW5kZXg6IDgwMzA7DQp9DQoNCi5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXNraW4gew0KCS13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpOw0KCSAgIC1tb3otYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpOw0KCSAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpOw0KfQ0KDQouZmFuY3lib3gtb3V0ZXIsIC5mYW5jeWJveC1pbm5lciB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouZmFuY3lib3gtaW5uZXIgew0KCW92ZXJmbG93OiBoaWRkZW47DQp9DQoNCi5mYW5jeWJveC10eXBlLWlmcmFtZSAuZmFuY3lib3gtaW5uZXIgew0KCS13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsNCn0NCg0KLmZhbmN5Ym94LWVycm9yIHsNCgljb2xvcjogIzQ0NDsNCglmb250OiAxNHB4LzIwcHggIkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsNCgltYXJnaW46IDA7DQoJcGFkZGluZzogMTVweDsNCgl3aGl0ZS1zcGFjZTogbm93cmFwOw0KfQ0KDQouZmFuY3lib3gtaW1hZ2UsIC5mYW5jeWJveC1pZnJhbWUgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCn0NCg0KLmZhbmN5Ym94LWltYWdlIHsNCgltYXgtd2lkdGg6IDEwMCU7DQoJbWF4LWhlaWdodDogMTAwJTsNCn0NCg0KI2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveF9zcHJpdGUucG5nJyk7DQp9DQoNCiNmYW5jeWJveC1sb2FkaW5nIHsNCglwb3NpdGlvbjogZml4ZWQ7DQoJdG9wOiA1MCU7DQoJbGVmdDogNTAlOw0KCW1hcmdpbi10b3A6IC0yMnB4Ow0KCW1hcmdpbi1sZWZ0OiAtMjJweDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDhweDsNCglvcGFjaXR5OiAwLjg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXotaW5kZXg6IDgwNjA7DQp9DQoNCiNmYW5jeWJveC1sb2FkaW5nIGRpdiB7DQoJd2lkdGg6IDQ0cHg7DQoJaGVpZ2h0OiA0NHB4Ow0KCWJhY2tncm91bmQ6IHVybCgnZmFuY3lib3hfbG9hZGluZy5naWYnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsNCn0NCg0KLmZhbmN5Ym94LWNsb3NlIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAtMThweDsNCglyaWdodDogLTE4cHg7DQoJd2lkdGg6IDM2cHg7DQoJaGVpZ2h0OiAzNnB4Ow0KCWN1cnNvcjogcG9pbnRlcjsNCgl6LWluZGV4OiA4MDQwOw0KfQ0KDQouZmFuY3lib3gtbmF2IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCXdpZHRoOiA0MCU7DQoJaGVpZ2h0OiAxMDAlOw0KCWN1cnNvcjogcG9pbnRlcjsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCdibGFuay5naWYnKTsgLyogaGVscHMgSUUgKi8NCgktd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7DQoJei1pbmRleDogODA0MDsNCn0NCg0KLmZhbmN5Ym94LXByZXYgew0KCWxlZnQ6IDA7DQp9DQoNCi5mYW5jeWJveC1uZXh0IHsNCglyaWdodDogMDsNCn0NCg0KLmZhbmN5Ym94LW5hdiBzcGFuIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1MCU7DQoJd2lkdGg6IDM2cHg7DQoJaGVpZ2h0OiAzNHB4Ow0KCW1hcmdpbi10b3A6IC0xOHB4Ow0KCWN1cnNvcjogcG9pbnRlcjsNCgl6LWluZGV4OiA4MDQwOw0KCXZpc2liaWxpdHk6IGhpZGRlbjsNCn0NCg0KLmZhbmN5Ym94LXByZXYgc3BhbiB7DQoJbGVmdDogMTBweDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNnB4Ow0KfQ0KDQouZmFuY3lib3gtbmV4dCBzcGFuIHsNCglyaWdodDogMTBweDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC03MnB4Ow0KfQ0KDQouZmFuY3lib3gtbmF2OmhvdmVyIHNwYW4gew0KCXZpc2liaWxpdHk6IHZpc2libGU7DQp9DQoNCi5mYW5jeWJveC10bXAgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IC05OTk5OXB4Ow0KCWxlZnQ6IC05OTk5OXB4Ow0KCXZpc2liaWxpdHk6IGhpZGRlbjsNCgltYXgtd2lkdGg6IDk5OTk5cHg7DQoJbWF4LWhlaWdodDogOTk5OTlweDsNCglvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50Ow0KfQ0KDQovKiBPdmVybGF5IGhlbHBlciAqLw0KDQouZmFuY3lib3gtbG9jayB7DQogICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50Ow0KICAgIHdpZHRoOiBhdXRvOw0KfQ0KDQouZmFuY3lib3gtbG9jayBib2R5IHsNCiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7DQp9DQoNCi5mYW5jeWJveC1sb2NrLXRlc3Qgew0KICAgIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50Ow0KfQ0KDQouZmFuY3lib3gtb3ZlcmxheSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJZGlzcGxheTogbm9uZTsNCgl6LWluZGV4OiA4MDEwOw0KCWJhY2tncm91bmQ6IHVybCgnZmFuY3lib3hfb3ZlcmxheS5wbmcnKTsNCn0NCg0KLmZhbmN5Ym94LW92ZXJsYXktZml4ZWQgew0KCXBvc2l0aW9uOiBmaXhlZDsNCglib3R0b206IDA7DQoJcmlnaHQ6IDA7DQp9DQoNCi5mYW5jeWJveC1sb2NrIC5mYW5jeWJveC1vdmVybGF5IHsNCglvdmVyZmxvdzogYXV0bzsNCglvdmVyZmxvdy15OiBzY3JvbGw7DQp9DQoNCi8qIFRpdGxlIGhlbHBlciAqLw0KDQouZmFuY3lib3gtdGl0bGUgew0KCXZpc2liaWxpdHk6IGhpZGRlbjsNCglmb250OiBub3JtYWwgMTNweC8yMHB4ICJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXRleHQtc2hhZG93OiBub25lOw0KCXotaW5kZXg6IDgwNTA7DQp9DQoNCi5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXRpdGxlIHsNCgl2aXNpYmlsaXR5OiB2aXNpYmxlOw0KfQ0KDQouZmFuY3lib3gtdGl0bGUtZmxvYXQtd3JhcCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWJvdHRvbTogMDsNCglyaWdodDogNTAlOw0KCW1hcmdpbi1ib3R0b206IC0zNXB4Ow0KCXotaW5kZXg6IDgwNTA7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouZmFuY3lib3gtdGl0bGUtZmxvYXQtd3JhcCAuY2hpbGQgew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgltYXJnaW4tcmlnaHQ6IC0xMDAlOw0KCXBhZGRpbmc6IDJweCAyMHB4Ow0KCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBGYWxsYmFjayBmb3Igd2ViIGJyb3dzZXJzIHRoYXQgZG9lc24ndCBzdXBwb3J0IFJHQmEgKi8NCgliYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNXB4Ow0KCSAgIC1tb3otYm9yZGVyLXJhZGl1czogMTVweDsNCgkgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7DQoJdGV4dC1zaGFkb3c6IDAgMXB4IDJweCAjMjIyOw0KCWNvbG9yOiAjRkZGOw0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KCWxpbmUtaGVpZ2h0OiAyNHB4Ow0KCXdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoNCi5mYW5jeWJveC10aXRsZS1vdXRzaWRlLXdyYXAgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgltYXJnaW4tdG9wOiAxMHB4Ow0KCWNvbG9yOiAjZmZmOw0KfQ0KDQouZmFuY3lib3gtdGl0bGUtaW5zaWRlLXdyYXAgew0KCXBhZGRpbmctdG9wOiAxMHB4Ow0KfQ0KDQouZmFuY3lib3gtdGl0bGUtb3Zlci13cmFwIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJYm90dG9tOiAwOw0KCWxlZnQ6IDA7DQoJY29sb3I6ICNmZmY7DQoJcGFkZGluZzogMTBweDsNCgliYWNrZ3JvdW5kOiAjMDAwOw0KCWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjgpOw0KfQ0KDQovKlJldGluYSBncmFwaGljcyEqLw0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLA0KCSAgIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLA0KCSAgIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KXsNCg0KCSNmYW5jeWJveC1sb2FkaW5nLCAuZmFuY3lib3gtY2xvc2UsIC5mYW5jeWJveC1wcmV2IHNwYW4sIC5mYW5jeWJveC1uZXh0IHNwYW4gew0KCQliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94X3Nwcml0ZUAyeC5wbmcnKTsNCgkJYmFja2dyb3VuZC1zaXplOiA0NHB4IDE1MnB4OyAvKlRoZSBzaXplIG9mIHRoZSBub3JtYWwgaW1hZ2UsIGhhbGYgdGhlIHNpemUgb2YgdGhlIGhpLXJlcyBpbWFnZSovDQoJfQ0KDQoJI2ZhbmN5Ym94LWxvYWRpbmcgZGl2IHsNCgkJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveF9sb2FkaW5nQDJ4LmdpZicpOw0KCQliYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDsgLypUaGUgc2l6ZSBvZiB0aGUgbm9ybWFsIGltYWdlLCBoYWxmIHRoZSBzaXplIG9mIHRoZSBoaS1yZXMgaW1hZ2UqLw0KCX0NCn0=]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/jquery.fancybox.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohDQogKiBmYW5jeUJveCAtIGpRdWVyeSBQbHVnaW4NCiAqIHZlcnNpb246IDIuMS41IChGcmksIDE0IEp1biAyMDEzKQ0KICogQHJlcXVpcmVzIGpRdWVyeSB2MS42IG9yIGxhdGVyDQogKg0KICogRXhhbXBsZXMgYXQgaHR0cDovL2ZhbmN5YXBwcy5jb20vZmFuY3lib3gvDQogKiBMaWNlbnNlOiB3d3cuZmFuY3lhcHBzLmNvbS9mYW5jeWJveC8jbGljZW5zZQ0KICoNCiAqIENvcHlyaWdodCAyMDEyIEphbmlzIFNrYXJuZWxpcyAtIGphbmlzQGZhbmN5YXBwcy5jb20NCiAqDQogKi8NCg0KKGZ1bmN0aW9uICh3aW5kb3csIGRvY3VtZW50LCAkLCB1bmRlZmluZWQpIHsNCgkidXNlIHN0cmljdCI7DQoNCgl2YXIgSCA9ICQoImh0bWwiKSwNCgkJVyA9ICQod2luZG93KSwNCgkJRCA9ICQoZG9jdW1lbnQpLA0KCQlGID0gJC5mYW5jeWJveCA9IGZ1bmN0aW9uICgpIHsNCgkJCUYub3Blbi5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCX0sDQoJCUlFID0gIG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21zaWUvaSksDQoJCWRpZFVwZGF0ZQk9IG51bGwsDQoJCWlzVG91Y2gJCT0gZG9jdW1lbnQuY3JlYXRlVG91Y2ggIT09IHVuZGVmaW5lZCwNCg0KCQlpc1F1ZXJ5CT0gZnVuY3Rpb24ob2JqKSB7DQoJCQlyZXR1cm4gb2JqICYmIG9iai5oYXNPd25Qcm9wZXJ0eSAmJiBvYmogaW5zdGFuY2VvZiAkOw0KCQl9LA0KCQlpc1N0cmluZyA9IGZ1bmN0aW9uKHN0cikgew0KCQkJcmV0dXJuIHN0ciAmJiAkLnR5cGUoc3RyKSA9PT0gInN0cmluZyI7DQoJCX0sDQoJCWlzUGVyY2VudGFnZSA9IGZ1bmN0aW9uKHN0cikgew0KCQkJcmV0dXJuIGlzU3RyaW5nKHN0cikgJiYgc3RyLmluZGV4T2YoJyUnKSA+IDA7DQoJCX0sDQoJCWlzU2Nyb2xsYWJsZSA9IGZ1bmN0aW9uKGVsKSB7DQoJCQlyZXR1cm4gKGVsICYmICEoZWwuc3R5bGUub3ZlcmZsb3cgJiYgZWwuc3R5bGUub3ZlcmZsb3cgPT09ICdoaWRkZW4nKSAmJiAoKGVsLmNsaWVudFdpZHRoICYmIGVsLnNjcm9sbFdpZHRoID4gZWwuY2xpZW50V2lkdGgpIHx8IChlbC5jbGllbnRIZWlnaHQgJiYgZWwuc2Nyb2xsSGVpZ2h0ID4gZWwuY2xpZW50SGVpZ2h0KSkpOw0KCQl9LA0KCQlnZXRTY2FsYXIgPSBmdW5jdGlvbihvcmlnLCBkaW0pIHsNCgkJCXZhciB2YWx1ZSA9IHBhcnNlSW50KG9yaWcsIDEwKSB8fCAwOw0KDQoJCQlpZiAoZGltICYmIGlzUGVyY2VudGFnZShvcmlnKSkgew0KCQkJCXZhbHVlID0gRi5nZXRWaWV3cG9ydCgpWyBkaW0gXSAvIDEwMCAqIHZhbHVlOw0KCQkJfQ0KDQoJCQlyZXR1cm4gTWF0aC5jZWlsKHZhbHVlKTsNCgkJfSwNCgkJZ2V0VmFsdWUgPSBmdW5jdGlvbih2YWx1ZSwgZGltKSB7DQoJCQlyZXR1cm4gZ2V0U2NhbGFyKHZhbHVlLCBkaW0pICsgJ3B4JzsNCgkJfTsNCg0KCSQuZXh0ZW5kKEYsIHsNCgkJLy8gVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBmYW5jeUJveA0KCQl2ZXJzaW9uOiAnMi4xLjUnLA0KDQoJCWRlZmF1bHRzOiB7DQoJCQlwYWRkaW5nIDogMTUsDQoJCQltYXJnaW4gIDogMjAsDQoNCgkJCXdpZHRoICAgICA6IDgwMCwNCgkJCWhlaWdodCAgICA6IDYwMCwNCgkJCW1pbldpZHRoICA6IDEwMCwNCgkJCW1pbkhlaWdodCA6IDEwMCwNCgkJCW1heFdpZHRoICA6IDk5OTksDQoJCQltYXhIZWlnaHQgOiA5OTk5LA0KCQkJcGl4ZWxSYXRpbzogMSwgLy8gU2V0IHRvIDIgZm9yIHJldGluYSBkaXNwbGF5IHN1cHBvcnQNCg0KCQkJYXV0b1NpemUgICA6IHRydWUsDQoJCQlhdXRvSGVpZ2h0IDogZmFsc2UsDQoJCQlhdXRvV2lkdGggIDogZmFsc2UsDQoNCgkJCWF1dG9SZXNpemUgIDogdHJ1ZSwNCgkJCWF1dG9DZW50ZXIgIDogIWlzVG91Y2gsDQoJCQlmaXRUb1ZpZXcgICA6IHRydWUsDQoJCQlhc3BlY3RSYXRpbyA6IGZhbHNlLA0KCQkJdG9wUmF0aW8gICAgOiAwLjUsDQoJCQlsZWZ0UmF0aW8gICA6IDAuNSwNCg0KCQkJc2Nyb2xsaW5nIDogJ2F1dG8nLCAvLyAnYXV0bycsICd5ZXMnIG9yICdubycNCgkJCXdyYXBDU1MgICA6ICcnLA0KDQoJCQlhcnJvd3MgICAgIDogdHJ1ZSwNCgkJCWNsb3NlQnRuICAgOiB0cnVlLA0KCQkJY2xvc2VDbGljayA6IGZhbHNlLA0KCQkJbmV4dENsaWNrICA6IGZhbHNlLA0KCQkJbW91c2VXaGVlbCA6IHRydWUsDQoJCQlhdXRvUGxheSAgIDogZmFsc2UsDQoJCQlwbGF5U3BlZWQgIDogMzAwMCwNCgkJCXByZWxvYWQgICAgOiAzLA0KCQkJbW9kYWwgICAgICA6IGZhbHNlLA0KCQkJbG9vcCAgICAgICA6IHRydWUsDQoNCgkJCWFqYXggIDogew0KCQkJCWRhdGFUeXBlIDogJ2h0bWwnLA0KCQkJCWhlYWRlcnMgIDogeyAnWC1mYW5jeUJveCc6IHRydWUgfQ0KCQkJfSwNCgkJCWlmcmFtZSA6IHsNCgkJCQlzY3JvbGxpbmcgOiAnYXV0bycsDQoJCQkJcHJlbG9hZCAgIDogdHJ1ZQ0KCQkJfSwNCgkJCXN3ZiA6IHsNCgkJCQl3bW9kZTogJ3RyYW5zcGFyZW50JywNCgkJCQlhbGxvd2Z1bGxzY3JlZW4gICA6ICd0cnVlJywNCgkJCQlhbGxvd3NjcmlwdGFjY2VzcyA6ICdhbHdheXMnDQoJCQl9LA0KDQoJCQlrZXlzICA6IHsNCgkJCQluZXh0IDogew0KCQkJCQkxMyA6ICdsZWZ0JywgLy8gZW50ZXINCgkJCQkJMzQgOiAndXAnLCAgIC8vIHBhZ2UgZG93bg0KCQkJCQkzOSA6ICdsZWZ0JywgLy8gcmlnaHQgYXJyb3cNCgkJCQkJNDAgOiAndXAnICAgIC8vIGRvd24gYXJyb3cNCgkJCQl9LA0KCQkJCXByZXYgOiB7DQoJCQkJCTggIDogJ3JpZ2h0JywgIC8vIGJhY2tzcGFjZQ0KCQkJCQkzMyA6ICdkb3duJywgICAvLyBwYWdlIHVwDQoJCQkJCTM3IDogJ3JpZ2h0JywgIC8vIGxlZnQgYXJyb3cNCgkJCQkJMzggOiAnZG93bicgICAgLy8gdXAgYXJyb3cNCgkJCQl9LA0KCQkJCWNsb3NlICA6IFsyN10sIC8vIGVzY2FwZSBrZXkNCgkJCQlwbGF5ICAgOiBbMzJdLCAvLyBzcGFjZSAtIHN0YXJ0L3N0b3Agc2xpZGVzaG93DQoJCQkJdG9nZ2xlIDogWzcwXSAgLy8gbGV0dGVyICJmIiAtIHRvZ2dsZSBmdWxsc2NyZWVuDQoJCQl9LA0KDQoJCQlkaXJlY3Rpb24gOiB7DQoJCQkJbmV4dCA6ICdsZWZ0JywNCgkJCQlwcmV2IDogJ3JpZ2h0Jw0KCQkJfSwNCg0KCQkJc2Nyb2xsT3V0c2lkZSAgOiB0cnVlLA0KDQoJCQkvLyBPdmVycmlkZSBzb21lIHByb3BlcnRpZXMNCgkJCWluZGV4ICAgOiAwLA0KCQkJdHlwZSAgICA6IG51bGwsDQoJCQlocmVmICAgIDogbnVsbCwNCgkJCWNvbnRlbnQgOiBudWxsLA0KCQkJdGl0bGUgICA6IG51bGwsDQoNCgkJCS8vIEhUTUwgdGVtcGxhdGVzDQoJCQl0cGw6IHsNCgkJCQl3cmFwICAgICA6ICc8ZGl2IGNsYXNzPSJmYW5jeWJveC13cmFwIiB0YWJJbmRleD0iLTEiPjxkaXYgY2xhc3M9ImZhbmN5Ym94LXNraW4iPjxkaXYgY2xhc3M9ImZhbmN5Ym94LW91dGVyIj48ZGl2IGNsYXNzPSJmYW5jeWJveC1pbm5lciI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+JywNCgkJCQlpbWFnZSAgICA6ICc8aW1nIGNsYXNzPSJmYW5jeWJveC1pbWFnZSIgc3JjPSJ7aHJlZn0iIGFsdD0iIiAvPicsDQoJCQkJaWZyYW1lICAgOiAnPGlmcmFtZSBpZD0iZmFuY3lib3gtZnJhbWV7cm5kfSIgbmFtZT0iZmFuY3lib3gtZnJhbWV7cm5kfSIgY2xhc3M9ImZhbmN5Ym94LWlmcmFtZSIgZnJhbWVib3JkZXI9IjAiIHZzcGFjZT0iMCIgaHNwYWNlPSIwIiB3ZWJraXRBbGxvd0Z1bGxTY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIGFsbG93RnVsbFNjcmVlbicgKyAoSUUgPyAnIGFsbG93dHJhbnNwYXJlbmN5PSJ0cnVlIicgOiAnJykgKyAnPjwvaWZyYW1lPicsDQoJCQkJZXJyb3IgICAgOiAnPHAgY2xhc3M9ImZhbmN5Ym94LWVycm9yIj5UaGUgcmVxdWVzdGVkIGNvbnRlbnQgY2Fubm90IGJlIGxvYWRlZC48YnIvPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9wPicsDQoJCQkJY2xvc2VCdG4gOiAnPGEgdGl0bGU9IkNsb3NlIiBjbGFzcz0iZmFuY3lib3gtaXRlbSBmYW5jeWJveC1jbG9zZSIgaHJlZj0iamF2YXNjcmlwdDo7Ij48L2E+JywNCgkJCQluZXh0ICAgICA6ICc8YSB0aXRsZT0iTmV4dCIgY2xhc3M9ImZhbmN5Ym94LW5hdiBmYW5jeWJveC1uZXh0IiBocmVmPSJqYXZhc2NyaXB0OjsiPjxzcGFuPjwvc3Bhbj48L2E+JywNCgkJCQlwcmV2ICAgICA6ICc8YSB0aXRsZT0iUHJldmlvdXMiIGNsYXNzPSJmYW5jeWJveC1uYXYgZmFuY3lib3gtcHJldiIgaHJlZj0iamF2YXNjcmlwdDo7Ij48c3Bhbj48L3NwYW4+PC9hPicNCgkJCX0sDQoNCgkJCS8vIFByb3BlcnRpZXMgZm9yIGVhY2ggYW5pbWF0aW9uIHR5cGUNCgkJCS8vIE9wZW5pbmcgZmFuY3lCb3gNCgkJCW9wZW5FZmZlY3QgIDogJ2ZhZGUnLCAvLyAnZWxhc3RpYycsICdmYWRlJyBvciAnbm9uZScNCgkJCW9wZW5TcGVlZCAgIDogMjUwLA0KCQkJb3BlbkVhc2luZyAgOiAnc3dpbmcnLA0KCQkJb3Blbk9wYWNpdHkgOiB0cnVlLA0KCQkJb3Blbk1ldGhvZCAgOiAnem9vbUluJywNCg0KCQkJLy8gQ2xvc2luZyBmYW5jeUJveA0KCQkJY2xvc2VFZmZlY3QgIDogJ2ZhZGUnLCAvLyAnZWxhc3RpYycsICdmYWRlJyBvciAnbm9uZScNCgkJCWNsb3NlU3BlZWQgICA6IDI1MCwNCgkJCWNsb3NlRWFzaW5nICA6ICdzd2luZycsDQoJCQljbG9zZU9wYWNpdHkgOiB0cnVlLA0KCQkJY2xvc2VNZXRob2QgIDogJ3pvb21PdXQnLA0KDQoJCQkvLyBDaGFuZ2luZyBuZXh0IGdhbGxlcnkgaXRlbQ0KCQkJbmV4dEVmZmVjdCA6ICdlbGFzdGljJywgLy8gJ2VsYXN0aWMnLCAnZmFkZScgb3IgJ25vbmUnDQoJCQluZXh0U3BlZWQgIDogMjUwLA0KCQkJbmV4dEVhc2luZyA6ICdzd2luZycsDQoJCQluZXh0TWV0aG9kIDogJ2NoYW5nZUluJywNCg0KCQkJLy8gQ2hhbmdpbmcgcHJldmlvdXMgZ2FsbGVyeSBpdGVtDQoJCQlwcmV2RWZmZWN0IDogJ2VsYXN0aWMnLCAvLyAnZWxhc3RpYycsICdmYWRlJyBvciAnbm9uZScNCgkJCXByZXZTcGVlZCAgOiAyNTAsDQoJCQlwcmV2RWFzaW5nIDogJ3N3aW5nJywNCgkJCXByZXZNZXRob2QgOiAnY2hhbmdlT3V0JywNCg0KCQkJLy8gRW5hYmxlIGRlZmF1bHQgaGVscGVycw0KCQkJaGVscGVycyA6IHsNCgkJCQlvdmVybGF5IDogdHJ1ZSwNCgkJCQl0aXRsZSAgIDogdHJ1ZQ0KCQkJfSwNCg0KCQkJLy8gQ2FsbGJhY2tzDQoJCQlvbkNhbmNlbCAgICAgOiAkLm5vb3AsIC8vIElmIGNhbmNlbGluZw0KCQkJYmVmb3JlTG9hZCAgIDogJC5ub29wLCAvLyBCZWZvcmUgbG9hZGluZw0KCQkJYWZ0ZXJMb2FkICAgIDogJC5ub29wLCAvLyBBZnRlciBsb2FkaW5nDQoJCQliZWZvcmVTaG93ICAgOiAkLm5vb3AsIC8vIEJlZm9yZSBjaGFuZ2luZyBpbiBjdXJyZW50IGl0ZW0NCgkJCWFmdGVyU2hvdyAgICA6ICQubm9vcCwgLy8gQWZ0ZXIgb3BlbmluZw0KCQkJYmVmb3JlQ2hhbmdlIDogJC5ub29wLCAvLyBCZWZvcmUgY2hhbmdpbmcgZ2FsbGVyeSBpdGVtDQoJCQliZWZvcmVDbG9zZSAgOiAkLm5vb3AsIC8vIEJlZm9yZSBjbG9zaW5nDQoJCQlhZnRlckNsb3NlICAgOiAkLm5vb3AgIC8vIEFmdGVyIGNsb3NpbmcNCgkJfSwNCg0KCQkvL0N1cnJlbnQgc3RhdGUNCgkJZ3JvdXAgICAgOiB7fSwgLy8gU2VsZWN0ZWQgZ3JvdXANCgkJb3B0cyAgICAgOiB7fSwgLy8gR3JvdXAgb3B0aW9ucw0KCQlwcmV2aW91cyA6IG51bGwsICAvLyBQcmV2aW91cyBlbGVtZW50DQoJCWNvbWluZyAgIDogbnVsbCwgIC8vIEVsZW1lbnQgYmVpbmcgbG9hZGVkDQoJCWN1cnJlbnQgIDogbnVsbCwgIC8vIEN1cnJlbnRseSBsb2FkZWQgZWxlbWVudA0KCQlpc0FjdGl2ZSA6IGZhbHNlLCAvLyBJcyBhY3RpdmF0ZWQNCgkJaXNPcGVuICAgOiBmYWxzZSwgLy8gSXMgY3VycmVudGx5IG9wZW4NCgkJaXNPcGVuZWQgOiBmYWxzZSwgLy8gSGF2ZSBiZWVuIGZ1bGx5IG9wZW5lZCBhdCBsZWFzdCBvbmNlDQoNCgkJd3JhcCAgOiBudWxsLA0KCQlza2luICA6IG51bGwsDQoJCW91dGVyIDogbnVsbCwNCgkJaW5uZXIgOiBudWxsLA0KDQoJCXBsYXllciA6IHsNCgkJCXRpbWVyICAgIDogbnVsbCwNCgkJCWlzQWN0aXZlIDogZmFsc2UNCgkJfSwNCg0KCQkvLyBMb2FkZXJzDQoJCWFqYXhMb2FkICAgOiBudWxsLA0KCQlpbWdQcmVsb2FkIDogbnVsbCwNCg0KCQkvLyBTb21lIGNvbGxlY3Rpb25zDQoJCXRyYW5zaXRpb25zIDoge30sDQoJCWhlbHBlcnMgICAgIDoge30sDQoNCgkJLyoNCgkJICoJU3RhdGljIG1ldGhvZHMNCgkJICovDQoNCgkJb3BlbjogZnVuY3Rpb24gKGdyb3VwLCBvcHRzKSB7DQoJCQlpZiAoIWdyb3VwKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQlpZiAoISQuaXNQbGFpbk9iamVjdChvcHRzKSkgew0KCQkJCW9wdHMgPSB7fTsNCgkJCX0NCg0KCQkJLy8gQ2xvc2UgaWYgYWxyZWFkeSBhY3RpdmUNCgkJCWlmIChmYWxzZSA9PT0gRi5jbG9zZSh0cnVlKSkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJLy8gTm9ybWFsaXplIGdyb3VwDQoJCQlpZiAoISQuaXNBcnJheShncm91cCkpIHsNCgkJCQlncm91cCA9IGlzUXVlcnkoZ3JvdXApID8gJChncm91cCkuZ2V0KCkgOiBbZ3JvdXBdOw0KCQkJfQ0KDQoJCQkvLyBSZWNoZWNrIGlmIHRoZSB0eXBlIG9mIGVhY2ggZWxlbWVudCBpcyBgb2JqZWN0YCBhbmQgc2V0IGNvbnRlbnQgdHlwZSAoaW1hZ2UsIGFqYXgsIGV0YykNCgkJCSQuZWFjaChncm91cCwgZnVuY3Rpb24oaSwgZWxlbWVudCkgew0KCQkJCXZhciBvYmogPSB7fSwNCgkJCQkJaHJlZiwNCgkJCQkJdGl0bGUsDQoJCQkJCWNvbnRlbnQsDQoJCQkJCXR5cGUsDQoJCQkJCXJleiwNCgkJCQkJaHJlZlBhcnRzLA0KCQkJCQlzZWxlY3RvcjsNCg0KCQkJCWlmICgkLnR5cGUoZWxlbWVudCkgPT09ICJvYmplY3QiKSB7DQoJCQkJCS8vIENoZWNrIGlmIGlzIERPTSBlbGVtZW50DQoJCQkJCWlmIChlbGVtZW50Lm5vZGVUeXBlKSB7DQoJCQkJCQllbGVtZW50ID0gJChlbGVtZW50KTsNCgkJCQkJfQ0KDQoJCQkJCWlmIChpc1F1ZXJ5KGVsZW1lbnQpKSB7DQoJCQkJCQlvYmogPSB7DQoJCQkJCQkJaHJlZiAgICA6IGVsZW1lbnQuZGF0YSgnZmFuY3lib3gtaHJlZicpIHx8IGVsZW1lbnQuYXR0cignaHJlZicpLA0KCQkJCQkJCXRpdGxlICAgOiBlbGVtZW50LmRhdGEoJ2ZhbmN5Ym94LXRpdGxlJykgfHwgZWxlbWVudC5hdHRyKCd0aXRsZScpLA0KCQkJCQkJCWlzRG9tICAgOiB0cnVlLA0KCQkJCQkJCWVsZW1lbnQgOiBlbGVtZW50DQoJCQkJCQl9Ow0KDQoJCQkJCQlpZiAoJC5tZXRhZGF0YSkgew0KCQkJCQkJCSQuZXh0ZW5kKHRydWUsIG9iaiwgZWxlbWVudC5tZXRhZGF0YSgpKTsNCgkJCQkJCX0NCg0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJb2JqID0gZWxlbWVudDsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCWhyZWYgID0gb3B0cy5ocmVmICB8fCBvYmouaHJlZiB8fCAoaXNTdHJpbmcoZWxlbWVudCkgPyBlbGVtZW50IDogbnVsbCk7DQoJCQkJdGl0bGUgPSBvcHRzLnRpdGxlICE9PSB1bmRlZmluZWQgPyBvcHRzLnRpdGxlIDogb2JqLnRpdGxlIHx8ICcnOw0KDQoJCQkJY29udGVudCA9IG9wdHMuY29udGVudCB8fCBvYmouY29udGVudDsNCgkJCQl0eXBlICAgID0gY29udGVudCA/ICdodG1sJyA6IChvcHRzLnR5cGUgIHx8IG9iai50eXBlKTsNCg0KCQkJCWlmICghdHlwZSAmJiBvYmouaXNEb20pIHsNCgkJCQkJdHlwZSA9IGVsZW1lbnQuZGF0YSgnZmFuY3lib3gtdHlwZScpOw0KDQoJCQkJCWlmICghdHlwZSkgew0KCQkJCQkJcmV6ICA9IGVsZW1lbnQucHJvcCgnY2xhc3MnKS5tYXRjaCgvZmFuY3lib3hcLihcdyspLyk7DQoJCQkJCQl0eXBlID0gcmV6ID8gcmV6WzFdIDogbnVsbDsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCWlmIChpc1N0cmluZyhocmVmKSkgew0KCQkJCQkvLyBUcnkgdG8gZ3Vlc3MgdGhlIGNvbnRlbnQgdHlwZQ0KCQkJCQlpZiAoIXR5cGUpIHsNCgkJCQkJCWlmIChGLmlzSW1hZ2UoaHJlZikpIHsNCgkJCQkJCQl0eXBlID0gJ2ltYWdlJzsNCg0KCQkJCQkJfSBlbHNlIGlmIChGLmlzU1dGKGhyZWYpKSB7DQoJCQkJCQkJdHlwZSA9ICdzd2YnOw0KDQoJCQkJCQl9IGVsc2UgaWYgKGhyZWYuY2hhckF0KDApID09PSAnIycpIHsNCgkJCQkJCQl0eXBlID0gJ2lubGluZSc7DQoNCgkJCQkJCX0gZWxzZSBpZiAoaXNTdHJpbmcoZWxlbWVudCkpIHsNCgkJCQkJCQl0eXBlICAgID0gJ2h0bWwnOw0KCQkJCQkJCWNvbnRlbnQgPSBlbGVtZW50Ow0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJLy8gU3BsaXQgdXJsIGludG8gdHdvIHBpZWNlcyB3aXRoIHNvdXJjZSB1cmwgYW5kIGNvbnRlbnQgc2VsZWN0b3IsIGUuZywNCgkJCQkJLy8gIi9teXBhZ2UuaHRtbCAjbXlfaWQiIHdpbGwgbG9hZCAiL215cGFnZS5odG1sIiBhbmQgZGlzcGxheSBlbGVtZW50IGhhdmluZyBpZCAibXlfaWQiDQoJCQkJCWlmICh0eXBlID09PSAnYWpheCcpIHsNCgkJCQkJCWhyZWZQYXJ0cyA9IGhyZWYuc3BsaXQoL1xzKy8sIDIpOw0KCQkJCQkJaHJlZiAgICAgID0gaHJlZlBhcnRzLnNoaWZ0KCk7DQoJCQkJCQlzZWxlY3RvciAgPSBocmVmUGFydHMuc2hpZnQoKTsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCWlmICghY29udGVudCkgew0KCQkJCQlpZiAodHlwZSA9PT0gJ2lubGluZScpIHsNCgkJCQkJCWlmIChocmVmKSB7DQoJCQkJCQkJY29udGVudCA9ICQoIGlzU3RyaW5nKGhyZWYpID8gaHJlZi5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sICcnKSA6IGhyZWYgKTsgLy9zdHJpcCBmb3IgaWU3DQoNCgkJCQkJCX0gZWxzZSBpZiAob2JqLmlzRG9tKSB7DQoJCQkJCQkJY29udGVudCA9IGVsZW1lbnQ7DQoJCQkJCQl9DQoNCgkJCQkJfSBlbHNlIGlmICh0eXBlID09PSAnaHRtbCcpIHsNCgkJCQkJCWNvbnRlbnQgPSBocmVmOw0KDQoJCQkJCX0gZWxzZSBpZiAoIXR5cGUgJiYgIWhyZWYgJiYgb2JqLmlzRG9tKSB7DQoJCQkJCQl0eXBlICAgID0gJ2lubGluZSc7DQoJCQkJCQljb250ZW50ID0gZWxlbWVudDsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCSQuZXh0ZW5kKG9iaiwgew0KCQkJCQlocmVmICAgICA6IGhyZWYsDQoJCQkJCXR5cGUgICAgIDogdHlwZSwNCgkJCQkJY29udGVudCAgOiBjb250ZW50LA0KCQkJCQl0aXRsZSAgICA6IHRpdGxlLA0KCQkJCQlzZWxlY3RvciA6IHNlbGVjdG9yDQoJCQkJfSk7DQoNCgkJCQlncm91cFsgaSBdID0gb2JqOw0KCQkJfSk7DQoNCgkJCS8vIEV4dGVuZCB0aGUgZGVmYXVsdHMNCgkJCUYub3B0cyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBGLmRlZmF1bHRzLCBvcHRzKTsNCg0KCQkJLy8gQWxsIG9wdGlvbnMgYXJlIG1lcmdlZCByZWN1cnNpdmUgZXhjZXB0IGtleXMNCgkJCWlmIChvcHRzLmtleXMgIT09IHVuZGVmaW5lZCkgew0KCQkJCUYub3B0cy5rZXlzID0gb3B0cy5rZXlzID8gJC5leHRlbmQoe30sIEYuZGVmYXVsdHMua2V5cywgb3B0cy5rZXlzKSA6IGZhbHNlOw0KCQkJfQ0KDQoJCQlGLmdyb3VwID0gZ3JvdXA7DQoNCgkJCXJldHVybiBGLl9zdGFydChGLm9wdHMuaW5kZXgpOw0KCQl9LA0KDQoJCS8vIENhbmNlbCBpbWFnZSBsb2FkaW5nIG9yIGFib3J0IGFqYXggcmVxdWVzdA0KCQljYW5jZWw6IGZ1bmN0aW9uICgpIHsNCgkJCXZhciBjb21pbmcgPSBGLmNvbWluZzsNCg0KCQkJaWYgKCFjb21pbmcgfHwgZmFsc2UgPT09IEYudHJpZ2dlcignb25DYW5jZWwnKSkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJRi5oaWRlTG9hZGluZygpOw0KDQoJCQlpZiAoRi5hamF4TG9hZCkgew0KCQkJCUYuYWpheExvYWQuYWJvcnQoKTsNCgkJCX0NCg0KCQkJRi5hamF4TG9hZCA9IG51bGw7DQoNCgkJCWlmIChGLmltZ1ByZWxvYWQpIHsNCgkJCQlGLmltZ1ByZWxvYWQub25sb2FkID0gRi5pbWdQcmVsb2FkLm9uZXJyb3IgPSBudWxsOw0KCQkJfQ0KDQoJCQlpZiAoY29taW5nLndyYXApIHsNCgkJCQljb21pbmcud3JhcC5zdG9wKHRydWUsIHRydWUpLnRyaWdnZXIoJ29uUmVzZXQnKS5yZW1vdmUoKTsNCgkJCX0NCg0KCQkJRi5jb21pbmcgPSBudWxsOw0KDQoJCQkvLyBJZiB0aGUgZmlyc3QgaXRlbSBoYXMgYmVlbiBjYW5jZWxlZCwgdGhlbiBjbGVhciBldmVyeXRoaW5nDQoJCQlpZiAoIUYuY3VycmVudCkgew0KCQkJCUYuX2FmdGVyWm9vbU91dCggY29taW5nICk7DQoJCQl9DQoJCX0sDQoNCgkJLy8gU3RhcnQgY2xvc2luZyBhbmltYXRpb24gaWYgaXMgb3BlbjsgcmVtb3ZlIGltbWVkaWF0ZWx5IGlmIG9wZW5pbmcvY2xvc2luZw0KCQljbG9zZTogZnVuY3Rpb24gKGV2ZW50KSB7DQoJCQlGLmNhbmNlbCgpOw0KDQoJCQlpZiAoZmFsc2UgPT09IEYudHJpZ2dlcignYmVmb3JlQ2xvc2UnKSkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJRi51bmJpbmRFdmVudHMoKTsNCg0KCQkJaWYgKCFGLmlzQWN0aXZlKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQlpZiAoIUYuaXNPcGVuIHx8IGV2ZW50ID09PSB0cnVlKSB7DQoJCQkJJCgnLmZhbmN5Ym94LXdyYXAnKS5zdG9wKHRydWUpLnRyaWdnZXIoJ29uUmVzZXQnKS5yZW1vdmUoKTsNCg0KCQkJCUYuX2FmdGVyWm9vbU91dCgpOw0KDQoJCQl9IGVsc2Ugew0KCQkJCUYuaXNPcGVuID0gRi5pc09wZW5lZCA9IGZhbHNlOw0KCQkJCUYuaXNDbG9zaW5nID0gdHJ1ZTsNCg0KCQkJCSQoJy5mYW5jeWJveC1pdGVtLCAuZmFuY3lib3gtbmF2JykucmVtb3ZlKCk7DQoNCgkJCQlGLndyYXAuc3RvcCh0cnVlLCB0cnVlKS5yZW1vdmVDbGFzcygnZmFuY3lib3gtb3BlbmVkJyk7DQoNCgkJCQlGLnRyYW5zaXRpb25zWyBGLmN1cnJlbnQuY2xvc2VNZXRob2QgXSgpOw0KCQkJfQ0KCQl9LA0KDQoJCS8vIE1hbmFnZSBzbGlkZXNob3c6DQoJCS8vICAgJC5mYW5jeWJveC5wbGF5KCk7IC0gdG9nZ2xlIHNsaWRlc2hvdw0KCQkvLyAgICQuZmFuY3lib3gucGxheSggdHJ1ZSApOyAtIHN0YXJ0DQoJCS8vICAgJC5mYW5jeWJveC5wbGF5KCBmYWxzZSApOyAtIHN0b3ANCgkJcGxheTogZnVuY3Rpb24gKCBhY3Rpb24gKSB7DQoJCQl2YXIgY2xlYXIgPSBmdW5jdGlvbiAoKSB7DQoJCQkJCWNsZWFyVGltZW91dChGLnBsYXllci50aW1lcik7DQoJCQkJfSwNCgkJCQlzZXQgPSBmdW5jdGlvbiAoKSB7DQoJCQkJCWNsZWFyKCk7DQoNCgkJCQkJaWYgKEYuY3VycmVudCAmJiBGLnBsYXllci5pc0FjdGl2ZSkgew0KCQkJCQkJRi5wbGF5ZXIudGltZXIgPSBzZXRUaW1lb3V0KEYubmV4dCwgRi5jdXJyZW50LnBsYXlTcGVlZCk7DQoJCQkJCX0NCgkJCQl9LA0KCQkJCXN0b3AgPSBmdW5jdGlvbiAoKSB7DQoJCQkJCWNsZWFyKCk7DQoNCgkJCQkJRC51bmJpbmQoJy5wbGF5ZXInKTsNCg0KCQkJCQlGLnBsYXllci5pc0FjdGl2ZSA9IGZhbHNlOw0KDQoJCQkJCUYudHJpZ2dlcignb25QbGF5RW5kJyk7DQoJCQkJfSwNCgkJCQlzdGFydCA9IGZ1bmN0aW9uICgpIHsNCgkJCQkJaWYgKEYuY3VycmVudCAmJiAoRi5jdXJyZW50Lmxvb3AgfHwgRi5jdXJyZW50LmluZGV4IDwgRi5ncm91cC5sZW5ndGggLSAxKSkgew0KCQkJCQkJRi5wbGF5ZXIuaXNBY3RpdmUgPSB0cnVlOw0KDQoJCQkJCQlELmJpbmQoew0KCQkJCQkJCSdvbkNhbmNlbC5wbGF5ZXIgYmVmb3JlQ2xvc2UucGxheWVyJyA6IHN0b3AsDQoJCQkJCQkJJ29uVXBkYXRlLnBsYXllcicgICA6IHNldCwNCgkJCQkJCQknYmVmb3JlTG9hZC5wbGF5ZXInIDogY2xlYXINCgkJCQkJCX0pOw0KDQoJCQkJCQlzZXQoKTsNCg0KCQkJCQkJRi50cmlnZ2VyKCdvblBsYXlTdGFydCcpOw0KCQkJCQl9DQoJCQkJfTsNCg0KCQkJaWYgKGFjdGlvbiA9PT0gdHJ1ZSB8fCAoIUYucGxheWVyLmlzQWN0aXZlICYmIGFjdGlvbiAhPT0gZmFsc2UpKSB7DQoJCQkJc3RhcnQoKTsNCgkJCX0gZWxzZSB7DQoJCQkJc3RvcCgpOw0KCQkJfQ0KCQl9LA0KDQoJCS8vIE5hdmlnYXRlIHRvIG5leHQgZ2FsbGVyeSBpdGVtDQoJCW5leHQ6IGZ1bmN0aW9uICggZGlyZWN0aW9uICkgew0KCQkJdmFyIGN1cnJlbnQgPSBGLmN1cnJlbnQ7DQoNCgkJCWlmIChjdXJyZW50KSB7DQoJCQkJaWYgKCFpc1N0cmluZyhkaXJlY3Rpb24pKSB7DQoJCQkJCWRpcmVjdGlvbiA9IGN1cnJlbnQuZGlyZWN0aW9uLm5leHQ7DQoJCQkJfQ0KDQoJCQkJRi5qdW1wdG8oY3VycmVudC5pbmRleCArIDEsIGRpcmVjdGlvbiwgJ25leHQnKTsNCgkJCX0NCgkJfSwNCg0KCQkvLyBOYXZpZ2F0ZSB0byBwcmV2aW91cyBnYWxsZXJ5IGl0ZW0NCgkJcHJldjogZnVuY3Rpb24gKCBkaXJlY3Rpb24gKSB7DQoJCQl2YXIgY3VycmVudCA9IEYuY3VycmVudDsNCg0KCQkJaWYgKGN1cnJlbnQpIHsNCgkJCQlpZiAoIWlzU3RyaW5nKGRpcmVjdGlvbikpIHsNCgkJCQkJZGlyZWN0aW9uID0gY3VycmVudC5kaXJlY3Rpb24ucHJldjsNCgkJCQl9DQoNCgkJCQlGLmp1bXB0byhjdXJyZW50LmluZGV4IC0gMSwgZGlyZWN0aW9uLCAncHJldicpOw0KCQkJfQ0KCQl9LA0KDQoJCS8vIE5hdmlnYXRlIHRvIGdhbGxlcnkgaXRlbSBieSBpbmRleA0KCQlqdW1wdG86IGZ1bmN0aW9uICggaW5kZXgsIGRpcmVjdGlvbiwgcm91dGVyICkgew0KCQkJdmFyIGN1cnJlbnQgPSBGLmN1cnJlbnQ7DQoNCgkJCWlmICghY3VycmVudCkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJaW5kZXggPSBnZXRTY2FsYXIoaW5kZXgpOw0KDQoJCQlGLmRpcmVjdGlvbiA9IGRpcmVjdGlvbiB8fCBjdXJyZW50LmRpcmVjdGlvblsgKGluZGV4ID49IGN1cnJlbnQuaW5kZXggPyAnbmV4dCcgOiAncHJldicpIF07DQoJCQlGLnJvdXRlciAgICA9IHJvdXRlciB8fCAnanVtcHRvJzsNCg0KCQkJaWYgKGN1cnJlbnQubG9vcCkgew0KCQkJCWlmIChpbmRleCA8IDApIHsNCgkJCQkJaW5kZXggPSBjdXJyZW50Lmdyb3VwLmxlbmd0aCArIChpbmRleCAlIGN1cnJlbnQuZ3JvdXAubGVuZ3RoKTsNCgkJCQl9DQoNCgkJCQlpbmRleCA9IGluZGV4ICUgY3VycmVudC5ncm91cC5sZW5ndGg7DQoJCQl9DQoNCgkJCWlmIChjdXJyZW50Lmdyb3VwWyBpbmRleCBdICE9PSB1bmRlZmluZWQpIHsNCgkJCQlGLmNhbmNlbCgpOw0KDQoJCQkJRi5fc3RhcnQoaW5kZXgpOw0KCQkJfQ0KCQl9LA0KDQoJCS8vIENlbnRlciBpbnNpZGUgdmlld3BvcnQgYW5kIHRvZ2dsZSBwb3NpdGlvbiB0eXBlIHRvIGZpeGVkIG9yIGFic29sdXRlIGlmIG5lZWRlZA0KCQlyZXBvc2l0aW9uOiBmdW5jdGlvbiAoZSwgb25seUFic29sdXRlKSB7DQoJCQl2YXIgY3VycmVudCA9IEYuY3VycmVudCwNCgkJCQl3cmFwICAgID0gY3VycmVudCA/IGN1cnJlbnQud3JhcCA6IG51bGwsDQoJCQkJcG9zOw0KDQoJCQlpZiAod3JhcCkgew0KCQkJCXBvcyA9IEYuX2dldFBvc2l0aW9uKG9ubHlBYnNvbHV0ZSk7DQoNCgkJCQlpZiAoZSAmJiBlLnR5cGUgPT09ICdzY3JvbGwnKSB7DQoJCQkJCWRlbGV0ZSBwb3MucG9zaXRpb247DQoNCgkJCQkJd3JhcC5zdG9wKHRydWUsIHRydWUpLmFuaW1hdGUocG9zLCAyMDApOw0KDQoJCQkJfSBlbHNlIHsNCgkJCQkJd3JhcC5jc3MocG9zKTsNCg0KCQkJCQljdXJyZW50LnBvcyA9ICQuZXh0ZW5kKHt9LCBjdXJyZW50LmRpbSwgcG9zKTsNCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJdXBkYXRlOiBmdW5jdGlvbiAoZSkgew0KCQkJdmFyIHR5cGUgPSAoZSAmJiBlLnR5cGUpLA0KCQkJCWFueXdheSA9ICF0eXBlIHx8IHR5cGUgPT09ICdvcmllbnRhdGlvbmNoYW5nZSc7DQoNCgkJCWlmIChhbnl3YXkpIHsNCgkJCQljbGVhclRpbWVvdXQoZGlkVXBkYXRlKTsNCg0KCQkJCWRpZFVwZGF0ZSA9IG51bGw7DQoJCQl9DQoNCgkJCWlmICghRi5pc09wZW4gfHwgZGlkVXBkYXRlKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQlkaWRVcGRhdGUgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KCQkJCXZhciBjdXJyZW50ID0gRi5jdXJyZW50Ow0KDQoJCQkJaWYgKCFjdXJyZW50IHx8IEYuaXNDbG9zaW5nKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQlGLndyYXAucmVtb3ZlQ2xhc3MoJ2ZhbmN5Ym94LXRtcCcpOw0KDQoJCQkJaWYgKGFueXdheSB8fCB0eXBlID09PSAnbG9hZCcgfHwgKHR5cGUgPT09ICdyZXNpemUnICYmIGN1cnJlbnQuYXV0b1Jlc2l6ZSkpIHsNCgkJCQkJRi5fc2V0RGltZW5zaW9uKCk7DQoJCQkJfQ0KDQoJCQkJaWYgKCEodHlwZSA9PT0gJ3Njcm9sbCcgJiYgY3VycmVudC5jYW5TaHJpbmspKSB7DQoJCQkJCUYucmVwb3NpdGlvbihlKTsNCgkJCQl9DQoNCgkJCQlGLnRyaWdnZXIoJ29uVXBkYXRlJyk7DQoNCgkJCQlkaWRVcGRhdGUgPSBudWxsOw0KDQoJCQl9LCAoYW55d2F5ICYmICFpc1RvdWNoID8gMCA6IDMwMCkpOw0KCQl9LA0KDQoJCS8vIFNocmluayBjb250ZW50IHRvIGZpdCBpbnNpZGUgdmlld3BvcnQgb3IgcmVzdG9yZSBpZiByZXNpemVkDQoJCXRvZ2dsZTogZnVuY3Rpb24gKCBhY3Rpb24gKSB7DQoJCQlpZiAoRi5pc09wZW4pIHsNCgkJCQlGLmN1cnJlbnQuZml0VG9WaWV3ID0gJC50eXBlKGFjdGlvbikgPT09ICJib29sZWFuIiA/IGFjdGlvbiA6ICFGLmN1cnJlbnQuZml0VG9WaWV3Ow0KDQoJCQkJLy8gSGVscCBicm93c2VyIHRvIHJlc3RvcmUgZG9jdW1lbnQgZGltZW5zaW9ucw0KCQkJCWlmIChpc1RvdWNoKSB7DQoJCQkJCUYud3JhcC5yZW1vdmVBdHRyKCdzdHlsZScpLmFkZENsYXNzKCdmYW5jeWJveC10bXAnKTsNCg0KCQkJCQlGLnRyaWdnZXIoJ29uVXBkYXRlJyk7DQoJCQkJfQ0KDQoJCQkJRi51cGRhdGUoKTsNCgkJCX0NCgkJfSwNCg0KCQloaWRlTG9hZGluZzogZnVuY3Rpb24gKCkgew0KCQkJRC51bmJpbmQoJy5sb2FkaW5nJyk7DQoNCgkJCSQoJyNmYW5jeWJveC1sb2FkaW5nJykucmVtb3ZlKCk7DQoJCX0sDQoNCgkJc2hvd0xvYWRpbmc6IGZ1bmN0aW9uICgpIHsNCgkJCXZhciBlbCwgdmlld3BvcnQ7DQoNCgkJCUYuaGlkZUxvYWRpbmcoKTsNCg0KCQkJZWwgPSAkKCc8ZGl2IGlkPSJmYW5jeWJveC1sb2FkaW5nIj48ZGl2PjwvZGl2PjwvZGl2PicpLmNsaWNrKEYuY2FuY2VsKS5hcHBlbmRUbygnYm9keScpOw0KDQoJCQkvLyBJZiB1c2VyIHdpbGwgcHJlc3MgdGhlIGVzY2FwZS1idXR0b24sIHRoZSByZXF1ZXN0IHdpbGwgYmUgY2FuY2VsZWQNCgkJCUQuYmluZCgna2V5ZG93bi5sb2FkaW5nJywgZnVuY3Rpb24oZSkgew0KCQkJCWlmICgoZS53aGljaCB8fCBlLmtleUNvZGUpID09PSAyNykgew0KCQkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoNCgkJCQkJRi5jYW5jZWwoKTsNCgkJCQl9DQoJCQl9KTsNCg0KCQkJaWYgKCFGLmRlZmF1bHRzLmZpeGVkKSB7DQoJCQkJdmlld3BvcnQgPSBGLmdldFZpZXdwb3J0KCk7DQoNCgkJCQllbC5jc3Moew0KCQkJCQlwb3NpdGlvbiA6ICdhYnNvbHV0ZScsDQoJCQkJCXRvcCAgOiAodmlld3BvcnQuaCAqIDAuNSkgKyB2aWV3cG9ydC55LA0KCQkJCQlsZWZ0IDogKHZpZXdwb3J0LncgKiAwLjUpICsgdmlld3BvcnQueA0KCQkJCX0pOw0KCQkJfQ0KCQl9LA0KDQoJCWdldFZpZXdwb3J0OiBmdW5jdGlvbiAoKSB7DQoJCQl2YXIgbG9ja2VkID0gKEYuY3VycmVudCAmJiBGLmN1cnJlbnQubG9ja2VkKSB8fCBmYWxzZSwNCgkJCQlyZXogICAgPSB7DQoJCQkJCXg6IFcuc2Nyb2xsTGVmdCgpLA0KCQkJCQl5OiBXLnNjcm9sbFRvcCgpDQoJCQkJfTsNCg0KCQkJaWYgKGxvY2tlZCkgew0KCQkJCXJlei53ID0gbG9ja2VkWzBdLmNsaWVudFdpZHRoOw0KCQkJCXJlei5oID0gbG9ja2VkWzBdLmNsaWVudEhlaWdodDsNCg0KCQkJfSBlbHNlIHsNCgkJCQkvLyBTZWUgaHR0cDovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvNjcyNA0KCQkJCXJlei53ID0gaXNUb3VjaCAmJiB3aW5kb3cuaW5uZXJXaWR0aCAgPyB3aW5kb3cuaW5uZXJXaWR0aCAgOiBXLndpZHRoKCk7DQoJCQkJcmV6LmggPSBpc1RvdWNoICYmIHdpbmRvdy5pbm5lckhlaWdodCA/IHdpbmRvdy5pbm5lckhlaWdodCA6IFcuaGVpZ2h0KCk7DQoJCQl9DQoNCgkJCXJldHVybiByZXo7DQoJCX0sDQoNCgkJLy8gVW5iaW5kIHRoZSBrZXlib2FyZCAvIGNsaWNraW5nIGFjdGlvbnMNCgkJdW5iaW5kRXZlbnRzOiBmdW5jdGlvbiAoKSB7DQoJCQlpZiAoRi53cmFwICYmIGlzUXVlcnkoRi53cmFwKSkgew0KCQkJCUYud3JhcC51bmJpbmQoJy5mYicpOw0KCQkJfQ0KDQoJCQlELnVuYmluZCgnLmZiJyk7DQoJCQlXLnVuYmluZCgnLmZiJyk7DQoJCX0sDQoNCgkJYmluZEV2ZW50czogZnVuY3Rpb24gKCkgew0KCQkJdmFyIGN1cnJlbnQgPSBGLmN1cnJlbnQsDQoJCQkJa2V5czsNCg0KCQkJaWYgKCFjdXJyZW50KSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQkvLyBDaGFuZ2luZyBkb2N1bWVudCBoZWlnaHQgb24gaU9TIGRldmljZXMgdHJpZ2dlcnMgYSAncmVzaXplJyBldmVudCwNCgkJCS8vIHRoYXQgY2FuIGNoYW5nZSBkb2N1bWVudCBoZWlnaHQuLi4gcmVwZWF0aW5nIGluZmluaXRlbHkNCgkJCVcuYmluZCgnb3JpZW50YXRpb25jaGFuZ2UuZmInICsgKGlzVG91Y2ggPyAnJyA6ICcgcmVzaXplLmZiJykgKyAoY3VycmVudC5hdXRvQ2VudGVyICYmICFjdXJyZW50LmxvY2tlZCA/ICcgc2Nyb2xsLmZiJyA6ICcnKSwgRi51cGRhdGUpOw0KDQoJCQlrZXlzID0gY3VycmVudC5rZXlzOw0KDQoJCQlpZiAoa2V5cykgew0KCQkJCUQuYmluZCgna2V5ZG93bi5mYicsIGZ1bmN0aW9uIChlKSB7DQoJCQkJCXZhciBjb2RlICAgPSBlLndoaWNoIHx8IGUua2V5Q29kZSwNCgkJCQkJCXRhcmdldCA9IGUudGFyZ2V0IHx8IGUuc3JjRWxlbWVudDsNCg0KCQkJCQkvLyBTa2lwIGVzYyBrZXkgaWYgbG9hZGluZywgYmVjYXVzZSBzaG93TG9hZGluZyB3aWxsIGNhbmNlbCBwcmVsb2FkaW5nDQoJCQkJCWlmIChjb2RlID09PSAyNyAmJiBGLmNvbWluZykgew0KCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQl9DQoNCgkJCQkJLy8gSWdub3JlIGtleSBjb21iaW5hdGlvbnMgYW5kIGtleSBldmVudHMgd2l0aGluIGZvcm0gZWxlbWVudHMNCgkJCQkJaWYgKCFlLmN0cmxLZXkgJiYgIWUuYWx0S2V5ICYmICFlLnNoaWZ0S2V5ICYmICFlLm1ldGFLZXkgJiYgISh0YXJnZXQgJiYgKHRhcmdldC50eXBlIHx8ICQodGFyZ2V0KS5pcygnW2NvbnRlbnRlZGl0YWJsZV0nKSkpKSB7DQoJCQkJCQkkLmVhY2goa2V5cywgZnVuY3Rpb24oaSwgdmFsKSB7DQoJCQkJCQkJaWYgKGN1cnJlbnQuZ3JvdXAubGVuZ3RoID4gMSAmJiB2YWxbIGNvZGUgXSAhPT0gdW5kZWZpbmVkKSB7DQoJCQkJCQkJCUZbIGkgXSggdmFsWyBjb2RlIF0gKTsNCg0KCQkJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJCQl9DQoNCgkJCQkJCQlpZiAoJC5pbkFycmF5KGNvZGUsIHZhbCkgPiAtMSkgew0KCQkJCQkJCQlGWyBpIF0gKCk7DQoNCgkJCQkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCQkJfQ0KCQkJCQkJfSk7DQoJCQkJCX0NCgkJCQl9KTsNCgkJCX0NCg0KCQkJaWYgKCQuZm4ubW91c2V3aGVlbCAmJiBjdXJyZW50Lm1vdXNlV2hlZWwpIHsNCgkJCQlGLndyYXAuYmluZCgnbW91c2V3aGVlbC5mYicsIGZ1bmN0aW9uIChlLCBkZWx0YSwgZGVsdGFYLCBkZWx0YVkpIHsNCgkJCQkJdmFyIHRhcmdldCA9IGUudGFyZ2V0IHx8IG51bGwsDQoJCQkJCQlwYXJlbnQgPSAkKHRhcmdldCksDQoJCQkJCQljYW5TY3JvbGwgPSBmYWxzZTsNCg0KCQkJCQl3aGlsZSAocGFyZW50Lmxlbmd0aCkgew0KCQkJCQkJaWYgKGNhblNjcm9sbCB8fCBwYXJlbnQuaXMoJy5mYW5jeWJveC1za2luJykgfHwgcGFyZW50LmlzKCcuZmFuY3lib3gtd3JhcCcpKSB7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQl9DQoNCgkJCQkJCWNhblNjcm9sbCA9IGlzU2Nyb2xsYWJsZSggcGFyZW50WzBdICk7DQoJCQkJCQlwYXJlbnQgICAgPSAkKHBhcmVudCkucGFyZW50KCk7DQoJCQkJCX0NCg0KCQkJCQlpZiAoZGVsdGEgIT09IDAgJiYgIWNhblNjcm9sbCkgew0KCQkJCQkJaWYgKEYuZ3JvdXAubGVuZ3RoID4gMSAmJiAhY3VycmVudC5jYW5TaHJpbmspIHsNCgkJCQkJCQlpZiAoZGVsdGFZID4gMCB8fCBkZWx0YVggPiAwKSB7DQoJCQkJCQkJCUYucHJldiggZGVsdGFZID4gMCA/ICdkb3duJyA6ICdsZWZ0JyApOw0KDQoJCQkJCQkJfSBlbHNlIGlmIChkZWx0YVkgPCAwIHx8IGRlbHRhWCA8IDApIHsNCgkJCQkJCQkJRi5uZXh0KCBkZWx0YVkgPCAwID8gJ3VwJyA6ICdyaWdodCcgKTsNCgkJCQkJCQl9DQoNCgkJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9KTsNCgkJCX0NCgkJfSwNCg0KCQl0cmlnZ2VyOiBmdW5jdGlvbiAoZXZlbnQsIG8pIHsNCgkJCXZhciByZXQsIG9iaiA9IG8gfHwgRi5jb21pbmcgfHwgRi5jdXJyZW50Ow0KDQoJCQlpZiAoIW9iaikgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJaWYgKCQuaXNGdW5jdGlvbiggb2JqW2V2ZW50XSApKSB7DQoJCQkJcmV0ID0gb2JqW2V2ZW50XS5hcHBseShvYmosIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpOw0KCQkJfQ0KDQoJCQlpZiAocmV0ID09PSBmYWxzZSkgew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCg0KCQkJaWYgKG9iai5oZWxwZXJzKSB7DQoJCQkJJC5lYWNoKG9iai5oZWxwZXJzLCBmdW5jdGlvbiAoaGVscGVyLCBvcHRzKSB7DQoJCQkJCWlmIChvcHRzICYmIEYuaGVscGVyc1toZWxwZXJdICYmICQuaXNGdW5jdGlvbihGLmhlbHBlcnNbaGVscGVyXVtldmVudF0pKSB7DQoJCQkJCQlGLmhlbHBlcnNbaGVscGVyXVtldmVudF0oJC5leHRlbmQodHJ1ZSwge30sIEYuaGVscGVyc1toZWxwZXJdLmRlZmF1bHRzLCBvcHRzKSwgb2JqKTsNCgkJCQkJfQ0KCQkJCX0pOw0KCQkJfQ0KDQoJCQlELnRyaWdnZXIoZXZlbnQpOw0KCQl9LA0KDQoJCWlzSW1hZ2U6IGZ1bmN0aW9uIChzdHIpIHsNCgkJCXJldHVybiBpc1N0cmluZyhzdHIpICYmIHN0ci5tYXRjaCgvKF5kYXRhOmltYWdlXC8uKiwpfChcLihqcChlfGd8ZWcpfGdpZnxwbmd8Ym1wfHdlYnB8c3ZnKSgoXD98IykuKik/JCkvaSk7DQoJCX0sDQoNCgkJaXNTV0Y6IGZ1bmN0aW9uIChzdHIpIHsNCgkJCXJldHVybiBpc1N0cmluZyhzdHIpICYmIHN0ci5tYXRjaCgvXC4oc3dmKSgoXD98IykuKik/JC9pKTsNCgkJfSwNCg0KCQlfc3RhcnQ6IGZ1bmN0aW9uIChpbmRleCkgew0KCQkJdmFyIGNvbWluZyA9IHt9LA0KCQkJCW9iaiwNCgkJCQlocmVmLA0KCQkJCXR5cGUsDQoJCQkJbWFyZ2luLA0KCQkJCXBhZGRpbmc7DQoNCgkJCWluZGV4ID0gZ2V0U2NhbGFyKCBpbmRleCApOw0KCQkJb2JqICAgPSBGLmdyb3VwWyBpbmRleCBdIHx8IG51bGw7DQoNCgkJCWlmICghb2JqKSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KDQoJCQljb21pbmcgPSAkLmV4dGVuZCh0cnVlLCB7fSwgRi5vcHRzLCBvYmopOw0KDQoJCQkvLyBDb252ZXJ0IG1hcmdpbiBhbmQgcGFkZGluZyBwcm9wZXJ0aWVzIHRvIGFycmF5IC0gdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0DQoJCQltYXJnaW4gID0gY29taW5nLm1hcmdpbjsNCgkJCXBhZGRpbmcgPSBjb21pbmcucGFkZGluZzsNCg0KCQkJaWYgKCQudHlwZShtYXJnaW4pID09PSAnbnVtYmVyJykgew0KCQkJCWNvbWluZy5tYXJnaW4gPSBbbWFyZ2luLCBtYXJnaW4sIG1hcmdpbiwgbWFyZ2luXTsNCgkJCX0NCg0KCQkJaWYgKCQudHlwZShwYWRkaW5nKSA9PT0gJ251bWJlcicpIHsNCgkJCQljb21pbmcucGFkZGluZyA9IFtwYWRkaW5nLCBwYWRkaW5nLCBwYWRkaW5nLCBwYWRkaW5nXTsNCgkJCX0NCg0KCQkJLy8gJ21vZGFsJyBwcm9wZXJ5IGlzIGp1c3QgYSBzaG9ydGN1dA0KCQkJaWYgKGNvbWluZy5tb2RhbCkgew0KCQkJCSQuZXh0ZW5kKHRydWUsIGNvbWluZywgew0KCQkJCQljbG9zZUJ0biAgIDogZmFsc2UsDQoJCQkJCWNsb3NlQ2xpY2sgOiBmYWxzZSwNCgkJCQkJbmV4dENsaWNrICA6IGZhbHNlLA0KCQkJCQlhcnJvd3MgICAgIDogZmFsc2UsDQoJCQkJCW1vdXNlV2hlZWwgOiBmYWxzZSwNCgkJCQkJa2V5cyAgICAgICA6IG51bGwsDQoJCQkJCWhlbHBlcnM6IHsNCgkJCQkJCW92ZXJsYXkgOiB7DQoJCQkJCQkJY2xvc2VDbGljayA6IGZhbHNlDQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9KTsNCgkJCX0NCg0KCQkJLy8gJ2F1dG9TaXplJyBwcm9wZXJ0eSBpcyBhIHNob3J0Y3V0LCB0b28NCgkJCWlmIChjb21pbmcuYXV0b1NpemUpIHsNCgkJCQljb21pbmcuYXV0b1dpZHRoID0gY29taW5nLmF1dG9IZWlnaHQgPSB0cnVlOw0KCQkJfQ0KDQoJCQlpZiAoY29taW5nLndpZHRoID09PSAnYXV0bycpIHsNCgkJCQljb21pbmcuYXV0b1dpZHRoID0gdHJ1ZTsNCgkJCX0NCg0KCQkJaWYgKGNvbWluZy5oZWlnaHQgPT09ICdhdXRvJykgew0KCQkJCWNvbWluZy5hdXRvSGVpZ2h0ID0gdHJ1ZTsNCgkJCX0NCg0KCQkJLyoNCgkJCSAqIEFkZCByZWZlcmVuY2UgdG8gdGhlIGdyb3VwLCBzbyBpdGBzIHBvc3NpYmxlIHRvIGFjY2VzcyBmcm9tIGNhbGxiYWNrcywgZXhhbXBsZToNCgkJCSAqIGFmdGVyTG9hZCA6IGZ1bmN0aW9uKCkgew0KCQkJICogICAgIHRoaXMudGl0bGUgPSAnSW1hZ2UgJyArICh0aGlzLmluZGV4ICsgMSkgKyAnIG9mICcgKyB0aGlzLmdyb3VwLmxlbmd0aCArICh0aGlzLnRpdGxlID8gJyAtICcgKyB0aGlzLnRpdGxlIDogJycpOw0KCQkJICogfQ0KCQkJICovDQoNCgkJCWNvbWluZy5ncm91cCAgPSBGLmdyb3VwOw0KCQkJY29taW5nLmluZGV4ICA9IGluZGV4Ow0KDQoJCQkvLyBHaXZlIGEgY2hhbmNlIGZvciBjYWxsYmFjayBvciBoZWxwZXJzIHRvIHVwZGF0ZSBjb21pbmcgaXRlbSAodHlwZSwgdGl0bGUsIGV0YykNCgkJCUYuY29taW5nID0gY29taW5nOw0KDQoJCQlpZiAoZmFsc2UgPT09IEYudHJpZ2dlcignYmVmb3JlTG9hZCcpKSB7DQoJCQkJRi5jb21pbmcgPSBudWxsOw0KDQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQl0eXBlID0gY29taW5nLnR5cGU7DQoJCQlocmVmID0gY29taW5nLmhyZWY7DQoNCgkJCWlmICghdHlwZSkgew0KCQkJCUYuY29taW5nID0gbnVsbDsNCg0KCQkJCS8vSWYgd2UgY2FuIG5vdCBkZXRlcm1pbmUgY29udGVudCB0eXBlIHRoZW4gZHJvcCBzaWxlbnRseSBvciBkaXNwbGF5IG5leHQvcHJldiBpdGVtIGlmIGxvb3BpbmcgdGhyb3VnaCBnYWxsZXJ5DQoJCQkJaWYgKEYuY3VycmVudCAmJiBGLnJvdXRlciAmJiBGLnJvdXRlciAhPT0gJ2p1bXB0bycpIHsNCgkJCQkJRi5jdXJyZW50LmluZGV4ID0gaW5kZXg7DQoNCgkJCQkJcmV0dXJuIEZbIEYucm91dGVyIF0oIEYuZGlyZWN0aW9uICk7DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KDQoJCQlGLmlzQWN0aXZlID0gdHJ1ZTsNCg0KCQkJaWYgKHR5cGUgPT09ICdpbWFnZScgfHwgdHlwZSA9PT0gJ3N3ZicpIHsNCgkJCQljb21pbmcuYXV0b0hlaWdodCA9IGNvbWluZy5hdXRvV2lkdGggPSBmYWxzZTsNCgkJCQljb21pbmcuc2Nyb2xsaW5nICA9ICd2aXNpYmxlJzsNCgkJCX0NCg0KCQkJaWYgKHR5cGUgPT09ICdpbWFnZScpIHsNCgkJCQljb21pbmcuYXNwZWN0UmF0aW8gPSB0cnVlOw0KCQkJfQ0KDQoJCQlpZiAodHlwZSA9PT0gJ2lmcmFtZScgJiYgaXNUb3VjaCkgew0KCQkJCWNvbWluZy5zY3JvbGxpbmcgPSAnc2Nyb2xsJzsNCgkJCX0NCg0KCQkJLy8gQnVpbGQgdGhlIG5lY2Nlc3NhcnkgbWFya3VwDQoJCQljb21pbmcud3JhcCA9ICQoY29taW5nLnRwbC53cmFwKS5hZGRDbGFzcygnZmFuY3lib3gtJyArIChpc1RvdWNoID8gJ21vYmlsZScgOiAnZGVza3RvcCcpICsgJyBmYW5jeWJveC10eXBlLScgKyB0eXBlICsgJyBmYW5jeWJveC10bXAgJyArIGNvbWluZy53cmFwQ1NTKS5hcHBlbmRUbyggY29taW5nLnBhcmVudCB8fCAnYm9keScgKTsNCg0KCQkJJC5leHRlbmQoY29taW5nLCB7DQoJCQkJc2tpbiAgOiAkKCcuZmFuY3lib3gtc2tpbicsICBjb21pbmcud3JhcCksDQoJCQkJb3V0ZXIgOiAkKCcuZmFuY3lib3gtb3V0ZXInLCBjb21pbmcud3JhcCksDQoJCQkJaW5uZXIgOiAkKCcuZmFuY3lib3gtaW5uZXInLCBjb21pbmcud3JhcCkNCgkJCX0pOw0KDQoJCQkkLmVhY2goWyJUb3AiLCAiUmlnaHQiLCAiQm90dG9tIiwgIkxlZnQiXSwgZnVuY3Rpb24oaSwgdikgew0KCQkJCWNvbWluZy5za2luLmNzcygncGFkZGluZycgKyB2LCBnZXRWYWx1ZShjb21pbmcucGFkZGluZ1sgaSBdKSk7DQoJCQl9KTsNCg0KCQkJRi50cmlnZ2VyKCdvblJlYWR5Jyk7DQoNCgkJCS8vIENoZWNrIGJlZm9yZSB0cnkgdG8gbG9hZDsgJ2lubGluZScgYW5kICdodG1sJyB0eXBlcyBuZWVkIGNvbnRlbnQsIG90aGVycyAtIGhyZWYNCgkJCWlmICh0eXBlID09PSAnaW5saW5lJyB8fCB0eXBlID09PSAnaHRtbCcpIHsNCgkJCQlpZiAoIWNvbWluZy5jb250ZW50IHx8ICFjb21pbmcuY29udGVudC5sZW5ndGgpIHsNCgkJCQkJcmV0dXJuIEYuX2Vycm9yKCAnY29udGVudCcgKTsNCgkJCQl9DQoNCgkJCX0gZWxzZSBpZiAoIWhyZWYpIHsNCgkJCQlyZXR1cm4gRi5fZXJyb3IoICdocmVmJyApOw0KCQkJfQ0KDQoJCQlpZiAodHlwZSA9PT0gJ2ltYWdlJykgew0KCQkJCUYuX2xvYWRJbWFnZSgpOw0KDQoJCQl9IGVsc2UgaWYgKHR5cGUgPT09ICdhamF4Jykgew0KCQkJCUYuX2xvYWRBamF4KCk7DQoNCgkJCX0gZWxzZSBpZiAodHlwZSA9PT0gJ2lmcmFtZScpIHsNCgkJCQlGLl9sb2FkSWZyYW1lKCk7DQoNCgkJCX0gZWxzZSB7DQoJCQkJRi5fYWZ0ZXJMb2FkKCk7DQoJCQl9DQoJCX0sDQoNCgkJX2Vycm9yOiBmdW5jdGlvbiAoIHR5cGUgKSB7DQoJCQkkLmV4dGVuZChGLmNvbWluZywgew0KCQkJCXR5cGUgICAgICAgOiAnaHRtbCcsDQoJCQkJYXV0b1dpZHRoICA6IHRydWUsDQoJCQkJYXV0b0hlaWdodCA6IHRydWUsDQoJCQkJbWluV2lkdGggICA6IDAsDQoJCQkJbWluSGVpZ2h0ICA6IDAsDQoJCQkJc2Nyb2xsaW5nICA6ICdubycsDQoJCQkJaGFzRXJyb3IgICA6IHR5cGUsDQoJCQkJY29udGVudCAgICA6IEYuY29taW5nLnRwbC5lcnJvcg0KCQkJfSk7DQoNCgkJCUYuX2FmdGVyTG9hZCgpOw0KCQl9LA0KDQoJCV9sb2FkSW1hZ2U6IGZ1bmN0aW9uICgpIHsNCgkJCS8vIFJlc2V0IHByZWxvYWQgaW1hZ2Ugc28gaXQgaXMgbGF0ZXIgcG9zc2libGUgdG8gY2hlY2sgImNvbXBsZXRlIiBwcm9wZXJ0eQ0KCQkJdmFyIGltZyA9IEYuaW1nUHJlbG9hZCA9IG5ldyBJbWFnZSgpOw0KDQoJCQlpbWcub25sb2FkID0gZnVuY3Rpb24gKCkgew0KCQkJCXRoaXMub25sb2FkID0gdGhpcy5vbmVycm9yID0gbnVsbDsNCg0KCQkJCUYuY29taW5nLndpZHRoICA9IHRoaXMud2lkdGggLyBGLm9wdHMucGl4ZWxSYXRpbzsNCgkJCQlGLmNvbWluZy5oZWlnaHQgPSB0aGlzLmhlaWdodCAvIEYub3B0cy5waXhlbFJhdGlvOw0KDQoJCQkJRi5fYWZ0ZXJMb2FkKCk7DQoJCQl9Ow0KDQoJCQlpbWcub25lcnJvciA9IGZ1bmN0aW9uICgpIHsNCgkJCQl0aGlzLm9ubG9hZCA9IHRoaXMub25lcnJvciA9IG51bGw7DQoNCgkJCQlGLl9lcnJvciggJ2ltYWdlJyApOw0KCQkJfTsNCg0KCQkJaW1nLnNyYyA9IEYuY29taW5nLmhyZWY7DQoNCgkJCWlmIChpbWcuY29tcGxldGUgIT09IHRydWUpIHsNCgkJCQlGLnNob3dMb2FkaW5nKCk7DQoJCQl9DQoJCX0sDQoNCgkJX2xvYWRBamF4OiBmdW5jdGlvbiAoKSB7DQoJCQl2YXIgY29taW5nID0gRi5jb21pbmc7DQoNCgkJCUYuc2hvd0xvYWRpbmcoKTsNCg0KCQkJRi5hamF4TG9hZCA9ICQuYWpheCgkLmV4dGVuZCh7fSwgY29taW5nLmFqYXgsIHsNCgkJCQl1cmw6IGNvbWluZy5ocmVmLA0KCQkJCWVycm9yOiBmdW5jdGlvbiAoanFYSFIsIHRleHRTdGF0dXMpIHsNCgkJCQkJaWYgKEYuY29taW5nICYmIHRleHRTdGF0dXMgIT09ICdhYm9ydCcpIHsNCgkJCQkJCUYuX2Vycm9yKCAnYWpheCcsIGpxWEhSICk7DQoNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCUYuaGlkZUxvYWRpbmcoKTsNCgkJCQkJfQ0KCQkJCX0sDQoJCQkJc3VjY2VzczogZnVuY3Rpb24gKGRhdGEsIHRleHRTdGF0dXMpIHsNCgkJCQkJaWYgKHRleHRTdGF0dXMgPT09ICdzdWNjZXNzJykgew0KCQkJCQkJY29taW5nLmNvbnRlbnQgPSBkYXRhOw0KDQoJCQkJCQlGLl9hZnRlckxvYWQoKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0pKTsNCgkJfSwNCg0KCQlfbG9hZElmcmFtZTogZnVuY3Rpb24oKSB7DQoJCQl2YXIgY29taW5nID0gRi5jb21pbmcsDQoJCQkJaWZyYW1lID0gJChjb21pbmcudHBsLmlmcmFtZS5yZXBsYWNlKC9ce3JuZFx9L2csIG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkNCgkJCQkJLmF0dHIoJ3Njcm9sbGluZycsIGlzVG91Y2ggPyAnYXV0bycgOiBjb21pbmcuaWZyYW1lLnNjcm9sbGluZykNCgkJCQkJLmF0dHIoJ3NyYycsIGNvbWluZy5ocmVmKTsNCg0KCQkJLy8gVGhpcyBoZWxwcyBJRQ0KCQkJJChjb21pbmcud3JhcCkuYmluZCgnb25SZXNldCcsIGZ1bmN0aW9uICgpIHsNCgkJCQl0cnkgew0KCQkJCQkkKHRoaXMpLmZpbmQoJ2lmcmFtZScpLmhpZGUoKS5hdHRyKCdzcmMnLCAnLy9hYm91dDpibGFuaycpLmVuZCgpLmVtcHR5KCk7DQoJCQkJfSBjYXRjaCAoZSkge30NCgkJCX0pOw0KDQoJCQlpZiAoY29taW5nLmlmcmFtZS5wcmVsb2FkKSB7DQoJCQkJRi5zaG93TG9hZGluZygpOw0KDQoJCQkJaWZyYW1lLm9uZSgnbG9hZCcsIGZ1bmN0aW9uKCkgew0KCQkJCQkkKHRoaXMpLmRhdGEoJ3JlYWR5JywgMSk7DQoNCgkJCQkJLy8gaU9TIHdpbGwgbG9zZSBzY3JvbGxpbmcgaWYgd2UgcmVzaXplDQoJCQkJCWlmICghaXNUb3VjaCkgew0KCQkJCQkJJCh0aGlzKS5iaW5kKCdsb2FkLmZiJywgRi51cGRhdGUpOw0KCQkJCQl9DQoNCgkJCQkJLy8gV2l0aG91dCB0aGlzIHRyaWNrOg0KCQkJCQkvLyAgIC0gaWZyYW1lIHdvbid0IHNjcm9sbCBvbiBpT1MgZGV2aWNlcw0KCQkJCQkvLyAgIC0gSUU3IHNvbWV0aW1lcyBkaXNwbGF5cyBlbXB0eSBpZnJhbWUNCgkJCQkJJCh0aGlzKS5wYXJlbnRzKCcuZmFuY3lib3gtd3JhcCcpLndpZHRoKCcxMDAlJykucmVtb3ZlQ2xhc3MoJ2ZhbmN5Ym94LXRtcCcpLnNob3coKTsNCg0KCQkJCQlGLl9hZnRlckxvYWQoKTsNCgkJCQl9KTsNCgkJCX0NCg0KCQkJY29taW5nLmNvbnRlbnQgPSBpZnJhbWUuYXBwZW5kVG8oIGNvbWluZy5pbm5lciApOw0KDQoJCQlpZiAoIWNvbWluZy5pZnJhbWUucHJlbG9hZCkgew0KCQkJCUYuX2FmdGVyTG9hZCgpOw0KCQkJfQ0KCQl9LA0KDQoJCV9wcmVsb2FkSW1hZ2VzOiBmdW5jdGlvbigpIHsNCgkJCXZhciBncm91cCAgID0gRi5ncm91cCwNCgkJCQljdXJyZW50ID0gRi5jdXJyZW50LA0KCQkJCWxlbiAgICAgPSBncm91cC5sZW5ndGgsDQoJCQkJY250ICAgICA9IGN1cnJlbnQucHJlbG9hZCA/IE1hdGgubWluKGN1cnJlbnQucHJlbG9hZCwgbGVuIC0gMSkgOiAwLA0KCQkJCWl0ZW0sDQoJCQkJaTsNCg0KCQkJZm9yIChpID0gMTsgaSA8PSBjbnQ7IGkgKz0gMSkgew0KCQkJCWl0ZW0gPSBncm91cFsgKGN1cnJlbnQuaW5kZXggKyBpICkgJSBsZW4gXTsNCg0KCQkJCWlmIChpdGVtLnR5cGUgPT09ICdpbWFnZScgJiYgaXRlbS5ocmVmKSB7DQoJCQkJCW5ldyBJbWFnZSgpLnNyYyA9IGl0ZW0uaHJlZjsNCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJX2FmdGVyTG9hZDogZnVuY3Rpb24gKCkgew0KCQkJdmFyIGNvbWluZyAgID0gRi5jb21pbmcsDQoJCQkJcHJldmlvdXMgPSBGLmN1cnJlbnQsDQoJCQkJcGxhY2Vob2xkZXIgPSAnZmFuY3lib3gtcGxhY2Vob2xkZXInLA0KCQkJCWN1cnJlbnQsDQoJCQkJY29udGVudCwNCgkJCQl0eXBlLA0KCQkJCXNjcm9sbGluZywNCgkJCQlocmVmLA0KCQkJCWVtYmVkOw0KDQoJCQlGLmhpZGVMb2FkaW5nKCk7DQoNCgkJCWlmICghY29taW5nIHx8IEYuaXNBY3RpdmUgPT09IGZhbHNlKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQlpZiAoZmFsc2UgPT09IEYudHJpZ2dlcignYWZ0ZXJMb2FkJywgY29taW5nLCBwcmV2aW91cykpIHsNCgkJCQljb21pbmcud3JhcC5zdG9wKHRydWUpLnRyaWdnZXIoJ29uUmVzZXQnKS5yZW1vdmUoKTsNCg0KCQkJCUYuY29taW5nID0gbnVsbDsNCg0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJaWYgKHByZXZpb3VzKSB7DQoJCQkJRi50cmlnZ2VyKCdiZWZvcmVDaGFuZ2UnLCBwcmV2aW91cyk7DQoNCgkJCQlwcmV2aW91cy53cmFwLnN0b3AodHJ1ZSkucmVtb3ZlQ2xhc3MoJ2ZhbmN5Ym94LW9wZW5lZCcpDQoJCQkJCS5maW5kKCcuZmFuY3lib3gtaXRlbSwgLmZhbmN5Ym94LW5hdicpDQoJCQkJCS5yZW1vdmUoKTsNCgkJCX0NCg0KCQkJRi51bmJpbmRFdmVudHMoKTsNCg0KCQkJY3VycmVudCAgID0gY29taW5nOw0KCQkJY29udGVudCAgID0gY29taW5nLmNvbnRlbnQ7DQoJCQl0eXBlICAgICAgPSBjb21pbmcudHlwZTsNCgkJCXNjcm9sbGluZyA9IGNvbWluZy5zY3JvbGxpbmc7DQoNCgkJCSQuZXh0ZW5kKEYsIHsNCgkJCQl3cmFwICA6IGN1cnJlbnQud3JhcCwNCgkJCQlza2luICA6IGN1cnJlbnQuc2tpbiwNCgkJCQlvdXRlciA6IGN1cnJlbnQub3V0ZXIsDQoJCQkJaW5uZXIgOiBjdXJyZW50LmlubmVyLA0KCQkJCWN1cnJlbnQgIDogY3VycmVudCwNCgkJCQlwcmV2aW91cyA6IHByZXZpb3VzDQoJCQl9KTsNCg0KCQkJaHJlZiA9IGN1cnJlbnQuaHJlZjsNCg0KCQkJc3dpdGNoICh0eXBlKSB7DQoJCQkJY2FzZSAnaW5saW5lJzoNCgkJCQljYXNlICdhamF4JzoNCgkJCQljYXNlICdodG1sJzoNCgkJCQkJaWYgKGN1cnJlbnQuc2VsZWN0b3IpIHsNCgkJCQkJCWNvbnRlbnQgPSAkKCc8ZGl2PicpLmh0bWwoY29udGVudCkuZmluZChjdXJyZW50LnNlbGVjdG9yKTsNCg0KCQkJCQl9IGVsc2UgaWYgKGlzUXVlcnkoY29udGVudCkpIHsNCgkJCQkJCWlmICghY29udGVudC5kYXRhKHBsYWNlaG9sZGVyKSkgew0KCQkJCQkJCWNvbnRlbnQuZGF0YShwbGFjZWhvbGRlciwgJCgnPGRpdiBjbGFzcz0iJyArIHBsYWNlaG9sZGVyICsgJyI+PC9kaXY+JykuaW5zZXJ0QWZ0ZXIoIGNvbnRlbnQgKS5oaWRlKCkgKTsNCgkJCQkJCX0NCg0KCQkJCQkJY29udGVudCA9IGNvbnRlbnQuc2hvdygpLmRldGFjaCgpOw0KDQoJCQkJCQljdXJyZW50LndyYXAuYmluZCgnb25SZXNldCcsIGZ1bmN0aW9uICgpIHsNCgkJCQkJCQlpZiAoJCh0aGlzKS5maW5kKGNvbnRlbnQpLmxlbmd0aCkgew0KCQkJCQkJCQljb250ZW50LmhpZGUoKS5yZXBsYWNlQWxsKCBjb250ZW50LmRhdGEocGxhY2Vob2xkZXIpICkuZGF0YShwbGFjZWhvbGRlciwgZmFsc2UpOw0KCQkJCQkJCX0NCgkJCQkJCX0pOw0KCQkJCQl9DQoJCQkJYnJlYWs7DQoNCgkJCQljYXNlICdpbWFnZSc6DQoJCQkJCWNvbnRlbnQgPSBjdXJyZW50LnRwbC5pbWFnZS5yZXBsYWNlKCd7aHJlZn0nLCBocmVmKTsNCgkJCQlicmVhazsNCg0KCQkJCWNhc2UgJ3N3Zic6DQoJCQkJCWNvbnRlbnQgPSAnPG9iamVjdCBpZD0iZmFuY3lib3gtc3dmIiBjbGFzc2lkPSJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicgKyBocmVmICsgJyI+PC9wYXJhbT4nOw0KCQkJCQllbWJlZCAgID0gJyc7DQoNCgkJCQkJJC5lYWNoKGN1cnJlbnQuc3dmLCBmdW5jdGlvbihuYW1lLCB2YWwpIHsNCgkJCQkJCWNvbnRlbnQgKz0gJzxwYXJhbSBuYW1lPSInICsgbmFtZSArICciIHZhbHVlPSInICsgdmFsICsgJyI+PC9wYXJhbT4nOw0KCQkJCQkJZW1iZWQgICArPSAnICcgKyBuYW1lICsgJz0iJyArIHZhbCArICciJzsNCgkJCQkJfSk7DQoNCgkJCQkJY29udGVudCArPSAnPGVtYmVkIHNyYz0iJyArIGhyZWYgKyAnIiB0eXBlPSJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSInICsgZW1iZWQgKyAnPjwvZW1iZWQ+PC9vYmplY3Q+JzsNCgkJCQlicmVhazsNCgkJCX0NCg0KCQkJaWYgKCEoaXNRdWVyeShjb250ZW50KSAmJiBjb250ZW50LnBhcmVudCgpLmlzKGN1cnJlbnQuaW5uZXIpKSkgew0KCQkJCWN1cnJlbnQuaW5uZXIuYXBwZW5kKCBjb250ZW50ICk7DQoJCQl9DQoNCgkJCS8vIEdpdmUgYSBjaGFuY2UgZm9yIGhlbHBlcnMgb3IgY2FsbGJhY2tzIHRvIHVwZGF0ZSBlbGVtZW50cw0KCQkJRi50cmlnZ2VyKCdiZWZvcmVTaG93Jyk7DQoNCgkJCS8vIFNldCBzY3JvbGxpbmcgYmVmb3JlIGNhbGN1bGF0aW5nIGRpbWVuc2lvbnMNCgkJCWN1cnJlbnQuaW5uZXIuY3NzKCdvdmVyZmxvdycsIHNjcm9sbGluZyA9PT0gJ3llcycgPyAnc2Nyb2xsJyA6IChzY3JvbGxpbmcgPT09ICdubycgPyAnaGlkZGVuJyA6IHNjcm9sbGluZykpOw0KDQoJCQkvLyBTZXQgaW5pdGlhbCBkaW1lbnNpb25zIGFuZCBzdGFydCBwb3NpdGlvbg0KCQkJRi5fc2V0RGltZW5zaW9uKCk7DQoNCgkJCUYucmVwb3NpdGlvbigpOw0KDQoJCQlGLmlzT3BlbiA9IGZhbHNlOw0KCQkJRi5jb21pbmcgPSBudWxsOw0KDQoJCQlGLmJpbmRFdmVudHMoKTsNCg0KCQkJaWYgKCFGLmlzT3BlbmVkKSB7DQoJCQkJJCgnLmZhbmN5Ym94LXdyYXAnKS5ub3QoIGN1cnJlbnQud3JhcCApLnN0b3AodHJ1ZSkudHJpZ2dlcignb25SZXNldCcpLnJlbW92ZSgpOw0KDQoJCQl9IGVsc2UgaWYgKHByZXZpb3VzLnByZXZNZXRob2QpIHsNCgkJCQlGLnRyYW5zaXRpb25zWyBwcmV2aW91cy5wcmV2TWV0aG9kIF0oKTsNCgkJCX0NCg0KCQkJRi50cmFuc2l0aW9uc1sgRi5pc09wZW5lZCA/IGN1cnJlbnQubmV4dE1ldGhvZCA6IGN1cnJlbnQub3Blbk1ldGhvZCBdKCk7DQoNCgkJCUYuX3ByZWxvYWRJbWFnZXMoKTsNCgkJfSwNCg0KCQlfc2V0RGltZW5zaW9uOiBmdW5jdGlvbiAoKSB7DQoJCQl2YXIgdmlld3BvcnQgICA9IEYuZ2V0Vmlld3BvcnQoKSwNCgkJCQlzdGVwcyAgICAgID0gMCwNCgkJCQljYW5TaHJpbmsgID0gZmFsc2UsDQoJCQkJY2FuRXhwYW5kICA9IGZhbHNlLA0KCQkJCXdyYXAgICAgICAgPSBGLndyYXAsDQoJCQkJc2tpbiAgICAgICA9IEYuc2tpbiwNCgkJCQlpbm5lciAgICAgID0gRi5pbm5lciwNCgkJCQljdXJyZW50ICAgID0gRi5jdXJyZW50LA0KCQkJCXdpZHRoICAgICAgPSBjdXJyZW50LndpZHRoLA0KCQkJCWhlaWdodCAgICAgPSBjdXJyZW50LmhlaWdodCwNCgkJCQltaW5XaWR0aCAgID0gY3VycmVudC5taW5XaWR0aCwNCgkJCQltaW5IZWlnaHQgID0gY3VycmVudC5taW5IZWlnaHQsDQoJCQkJbWF4V2lkdGggICA9IGN1cnJlbnQubWF4V2lkdGgsDQoJCQkJbWF4SGVpZ2h0ICA9IGN1cnJlbnQubWF4SGVpZ2h0LA0KCQkJCXNjcm9sbGluZyAgPSBjdXJyZW50LnNjcm9sbGluZywNCgkJCQlzY3JvbGxPdXQgID0gY3VycmVudC5zY3JvbGxPdXRzaWRlID8gY3VycmVudC5zY3JvbGxiYXJXaWR0aCA6IDAsDQoJCQkJbWFyZ2luICAgICA9IGN1cnJlbnQubWFyZ2luLA0KCQkJCXdNYXJnaW4gICAgPSBnZXRTY2FsYXIobWFyZ2luWzFdICsgbWFyZ2luWzNdKSwNCgkJCQloTWFyZ2luICAgID0gZ2V0U2NhbGFyKG1hcmdpblswXSArIG1hcmdpblsyXSksDQoJCQkJd1BhZGRpbmcsDQoJCQkJaFBhZGRpbmcsDQoJCQkJd1NwYWNlLA0KCQkJCWhTcGFjZSwNCgkJCQlvcmlnV2lkdGgsDQoJCQkJb3JpZ0hlaWdodCwNCgkJCQlvcmlnTWF4V2lkdGgsDQoJCQkJb3JpZ01heEhlaWdodCwNCgkJCQlyYXRpbywNCgkJCQl3aWR0aF8sDQoJCQkJaGVpZ2h0XywNCgkJCQltYXhXaWR0aF8sDQoJCQkJbWF4SGVpZ2h0XywNCgkJCQlpZnJhbWUsDQoJCQkJYm9keTsNCg0KCQkJLy8gUmVzZXQgZGltZW5zaW9ucyBzbyB3ZSBjb3VsZCByZS1jaGVjayBhY3R1YWwgc2l6ZQ0KCQkJd3JhcC5hZGQoc2tpbikuYWRkKGlubmVyKS53aWR0aCgnYXV0bycpLmhlaWdodCgnYXV0bycpLnJlbW92ZUNsYXNzKCdmYW5jeWJveC10bXAnKTsNCg0KCQkJd1BhZGRpbmcgPSBnZXRTY2FsYXIoc2tpbi5vdXRlcldpZHRoKHRydWUpICAtIHNraW4ud2lkdGgoKSk7DQoJCQloUGFkZGluZyA9IGdldFNjYWxhcihza2luLm91dGVySGVpZ2h0KHRydWUpIC0gc2tpbi5oZWlnaHQoKSk7DQoNCgkJCS8vIEFueSBzcGFjZSBiZXR3ZWVuIGNvbnRlbnQgYW5kIHZpZXdwb3J0IChtYXJnaW4sIHBhZGRpbmcsIGJvcmRlciwgdGl0bGUpDQoJCQl3U3BhY2UgPSB3TWFyZ2luICsgd1BhZGRpbmc7DQoJCQloU3BhY2UgPSBoTWFyZ2luICsgaFBhZGRpbmc7DQoNCgkJCW9yaWdXaWR0aCAgPSBpc1BlcmNlbnRhZ2Uod2lkdGgpICA/ICh2aWV3cG9ydC53IC0gd1NwYWNlKSAqIGdldFNjYWxhcih3aWR0aCkgIC8gMTAwIDogd2lkdGg7DQoJCQlvcmlnSGVpZ2h0ID0gaXNQZXJjZW50YWdlKGhlaWdodCkgPyAodmlld3BvcnQuaCAtIGhTcGFjZSkgKiBnZXRTY2FsYXIoaGVpZ2h0KSAvIDEwMCA6IGhlaWdodDsNCg0KCQkJaWYgKGN1cnJlbnQudHlwZSA9PT0gJ2lmcmFtZScpIHsNCgkJCQlpZnJhbWUgPSBjdXJyZW50LmNvbnRlbnQ7DQoNCgkJCQlpZiAoY3VycmVudC5hdXRvSGVpZ2h0ICYmIGlmcmFtZS5kYXRhKCdyZWFkeScpID09PSAxKSB7DQoJCQkJCXRyeSB7DQoJCQkJCQlpZiAoaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24pIHsNCgkJCQkJCQlpbm5lci53aWR0aCggb3JpZ1dpZHRoICkuaGVpZ2h0KDk5OTkpOw0KDQoJCQkJCQkJYm9keSA9IGlmcmFtZS5jb250ZW50cygpLmZpbmQoJ2JvZHknKTsNCg0KCQkJCQkJCWlmIChzY3JvbGxPdXQpIHsNCgkJCQkJCQkJYm9keS5jc3MoJ292ZXJmbG93LXgnLCAnaGlkZGVuJyk7DQoJCQkJCQkJfQ0KDQoJCQkJCQkJb3JpZ0hlaWdodCA9IGJvZHkub3V0ZXJIZWlnaHQodHJ1ZSk7DQoJCQkJCQl9DQoNCgkJCQkJfSBjYXRjaCAoZSkge30NCgkJCQl9DQoNCgkJCX0gZWxzZSBpZiAoY3VycmVudC5hdXRvV2lkdGggfHwgY3VycmVudC5hdXRvSGVpZ2h0KSB7DQoJCQkJaW5uZXIuYWRkQ2xhc3MoICdmYW5jeWJveC10bXAnICk7DQoNCgkJCQkvLyBTZXQgd2lkdGggb3IgaGVpZ2h0IGluIGNhc2Ugd2UgbmVlZCB0byBjYWxjdWxhdGUgb25seSBvbmUgZGltZW5zaW9uDQoJCQkJaWYgKCFjdXJyZW50LmF1dG9XaWR0aCkgew0KCQkJCQlpbm5lci53aWR0aCggb3JpZ1dpZHRoICk7DQoJCQkJfQ0KDQoJCQkJaWYgKCFjdXJyZW50LmF1dG9IZWlnaHQpIHsNCgkJCQkJaW5uZXIuaGVpZ2h0KCBvcmlnSGVpZ2h0ICk7DQoJCQkJfQ0KDQoJCQkJaWYgKGN1cnJlbnQuYXV0b1dpZHRoKSB7DQoJCQkJCW9yaWdXaWR0aCA9IGlubmVyLndpZHRoKCk7DQoJCQkJfQ0KDQoJCQkJaWYgKGN1cnJlbnQuYXV0b0hlaWdodCkgew0KCQkJCQlvcmlnSGVpZ2h0ID0gaW5uZXIuaGVpZ2h0KCk7DQoJCQkJfQ0KDQoJCQkJaW5uZXIucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC10bXAnICk7DQoJCQl9DQoNCgkJCXdpZHRoICA9IGdldFNjYWxhciggb3JpZ1dpZHRoICk7DQoJCQloZWlnaHQgPSBnZXRTY2FsYXIoIG9yaWdIZWlnaHQgKTsNCg0KCQkJcmF0aW8gID0gb3JpZ1dpZHRoIC8gb3JpZ0hlaWdodDsNCg0KCQkJLy8gQ2FsY3VsYXRpb25zIGZvciB0aGUgY29udGVudA0KCQkJbWluV2lkdGggID0gZ2V0U2NhbGFyKGlzUGVyY2VudGFnZShtaW5XaWR0aCkgPyBnZXRTY2FsYXIobWluV2lkdGgsICd3JykgLSB3U3BhY2UgOiBtaW5XaWR0aCk7DQoJCQltYXhXaWR0aCAgPSBnZXRTY2FsYXIoaXNQZXJjZW50YWdlKG1heFdpZHRoKSA/IGdldFNjYWxhcihtYXhXaWR0aCwgJ3cnKSAtIHdTcGFjZSA6IG1heFdpZHRoKTsNCg0KCQkJbWluSGVpZ2h0ID0gZ2V0U2NhbGFyKGlzUGVyY2VudGFnZShtaW5IZWlnaHQpID8gZ2V0U2NhbGFyKG1pbkhlaWdodCwgJ2gnKSAtIGhTcGFjZSA6IG1pbkhlaWdodCk7DQoJCQltYXhIZWlnaHQgPSBnZXRTY2FsYXIoaXNQZXJjZW50YWdlKG1heEhlaWdodCkgPyBnZXRTY2FsYXIobWF4SGVpZ2h0LCAnaCcpIC0gaFNwYWNlIDogbWF4SGVpZ2h0KTsNCg0KCQkJLy8gVGhlc2Ugd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSBpZiB3cmFwIGNhbiBmaXQgaW4gdGhlIHZpZXdwb3J0DQoJCQlvcmlnTWF4V2lkdGggID0gbWF4V2lkdGg7DQoJCQlvcmlnTWF4SGVpZ2h0ID0gbWF4SGVpZ2h0Ow0KDQoJCQlpZiAoY3VycmVudC5maXRUb1ZpZXcpIHsNCgkJCQltYXhXaWR0aCAgPSBNYXRoLm1pbih2aWV3cG9ydC53IC0gd1NwYWNlLCBtYXhXaWR0aCk7DQoJCQkJbWF4SGVpZ2h0ID0gTWF0aC5taW4odmlld3BvcnQuaCAtIGhTcGFjZSwgbWF4SGVpZ2h0KTsNCgkJCX0NCg0KCQkJbWF4V2lkdGhfICA9IHZpZXdwb3J0LncgLSB3TWFyZ2luOw0KCQkJbWF4SGVpZ2h0XyA9IHZpZXdwb3J0LmggLSBoTWFyZ2luOw0KDQoJCQlpZiAoY3VycmVudC5hc3BlY3RSYXRpbykgew0KCQkJCWlmICh3aWR0aCA+IG1heFdpZHRoKSB7DQoJCQkJCXdpZHRoICA9IG1heFdpZHRoOw0KCQkJCQloZWlnaHQgPSBnZXRTY2FsYXIod2lkdGggLyByYXRpbyk7DQoJCQkJfQ0KDQoJCQkJaWYgKGhlaWdodCA+IG1heEhlaWdodCkgew0KCQkJCQloZWlnaHQgPSBtYXhIZWlnaHQ7DQoJCQkJCXdpZHRoICA9IGdldFNjYWxhcihoZWlnaHQgKiByYXRpbyk7DQoJCQkJfQ0KDQoJCQkJaWYgKHdpZHRoIDwgbWluV2lkdGgpIHsNCgkJCQkJd2lkdGggID0gbWluV2lkdGg7DQoJCQkJCWhlaWdodCA9IGdldFNjYWxhcih3aWR0aCAvIHJhdGlvKTsNCgkJCQl9DQoNCgkJCQlpZiAoaGVpZ2h0IDwgbWluSGVpZ2h0KSB7DQoJCQkJCWhlaWdodCA9IG1pbkhlaWdodDsNCgkJCQkJd2lkdGggID0gZ2V0U2NhbGFyKGhlaWdodCAqIHJhdGlvKTsNCgkJCQl9DQoNCgkJCX0gZWxzZSB7DQoJCQkJd2lkdGggPSBNYXRoLm1heChtaW5XaWR0aCwgTWF0aC5taW4od2lkdGgsIG1heFdpZHRoKSk7DQoNCgkJCQlpZiAoY3VycmVudC5hdXRvSGVpZ2h0ICYmIGN1cnJlbnQudHlwZSAhPT0gJ2lmcmFtZScpIHsNCgkJCQkJaW5uZXIud2lkdGgoIHdpZHRoICk7DQoNCgkJCQkJaGVpZ2h0ID0gaW5uZXIuaGVpZ2h0KCk7DQoJCQkJfQ0KDQoJCQkJaGVpZ2h0ID0gTWF0aC5tYXgobWluSGVpZ2h0LCBNYXRoLm1pbihoZWlnaHQsIG1heEhlaWdodCkpOw0KCQkJfQ0KDQoJCQkvLyBUcnkgdG8gZml0IGluc2lkZSB2aWV3cG9ydCAoaW5jbHVkaW5nIHRoZSB0aXRsZSkNCgkJCWlmIChjdXJyZW50LmZpdFRvVmlldykgew0KCQkJCWlubmVyLndpZHRoKCB3aWR0aCApLmhlaWdodCggaGVpZ2h0ICk7DQoNCgkJCQl3cmFwLndpZHRoKCB3aWR0aCArIHdQYWRkaW5nICk7DQoNCgkJCQkvLyBSZWFsIHdyYXAgZGltZW5zaW9ucw0KCQkJCXdpZHRoXyAgPSB3cmFwLndpZHRoKCk7DQoJCQkJaGVpZ2h0XyA9IHdyYXAuaGVpZ2h0KCk7DQoNCgkJCQlpZiAoY3VycmVudC5hc3BlY3RSYXRpbykgew0KCQkJCQl3aGlsZSAoKHdpZHRoXyA+IG1heFdpZHRoXyB8fCBoZWlnaHRfID4gbWF4SGVpZ2h0XykgJiYgd2lkdGggPiBtaW5XaWR0aCAmJiBoZWlnaHQgPiBtaW5IZWlnaHQpIHsNCgkJCQkJCWlmIChzdGVwcysrID4gMTkpIHsNCgkJCQkJCQlicmVhazsNCgkJCQkJCX0NCg0KCQkJCQkJaGVpZ2h0ID0gTWF0aC5tYXgobWluSGVpZ2h0LCBNYXRoLm1pbihtYXhIZWlnaHQsIGhlaWdodCAtIDEwKSk7DQoJCQkJCQl3aWR0aCAgPSBnZXRTY2FsYXIoaGVpZ2h0ICogcmF0aW8pOw0KDQoJCQkJCQlpZiAod2lkdGggPCBtaW5XaWR0aCkgew0KCQkJCQkJCXdpZHRoICA9IG1pbldpZHRoOw0KCQkJCQkJCWhlaWdodCA9IGdldFNjYWxhcih3aWR0aCAvIHJhdGlvKTsNCgkJCQkJCX0NCg0KCQkJCQkJaWYgKHdpZHRoID4gbWF4V2lkdGgpIHsNCgkJCQkJCQl3aWR0aCAgPSBtYXhXaWR0aDsNCgkJCQkJCQloZWlnaHQgPSBnZXRTY2FsYXIod2lkdGggLyByYXRpbyk7DQoJCQkJCQl9DQoNCgkJCQkJCWlubmVyLndpZHRoKCB3aWR0aCApLmhlaWdodCggaGVpZ2h0ICk7DQoNCgkJCQkJCXdyYXAud2lkdGgoIHdpZHRoICsgd1BhZGRpbmcgKTsNCg0KCQkJCQkJd2lkdGhfICA9IHdyYXAud2lkdGgoKTsNCgkJCQkJCWhlaWdodF8gPSB3cmFwLmhlaWdodCgpOw0KCQkJCQl9DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQl3aWR0aCAgPSBNYXRoLm1heChtaW5XaWR0aCwgIE1hdGgubWluKHdpZHRoLCAgd2lkdGggIC0gKHdpZHRoXyAgLSBtYXhXaWR0aF8pKSk7DQoJCQkJCWhlaWdodCA9IE1hdGgubWF4KG1pbkhlaWdodCwgTWF0aC5taW4oaGVpZ2h0LCBoZWlnaHQgLSAoaGVpZ2h0XyAtIG1heEhlaWdodF8pKSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAoc2Nyb2xsT3V0ICYmIHNjcm9sbGluZyA9PT0gJ2F1dG8nICYmIGhlaWdodCA8IG9yaWdIZWlnaHQgJiYgKHdpZHRoICsgd1BhZGRpbmcgKyBzY3JvbGxPdXQpIDwgbWF4V2lkdGhfKSB7DQoJCQkJd2lkdGggKz0gc2Nyb2xsT3V0Ow0KCQkJfQ0KDQoJCQlpbm5lci53aWR0aCggd2lkdGggKS5oZWlnaHQoIGhlaWdodCApOw0KDQoJCQl3cmFwLndpZHRoKCB3aWR0aCArIHdQYWRkaW5nICk7DQoNCgkJCXdpZHRoXyAgPSB3cmFwLndpZHRoKCk7DQoJCQloZWlnaHRfID0gd3JhcC5oZWlnaHQoKTsNCg0KCQkJY2FuU2hyaW5rID0gKHdpZHRoXyA+IG1heFdpZHRoXyB8fCBoZWlnaHRfID4gbWF4SGVpZ2h0XykgJiYgd2lkdGggPiBtaW5XaWR0aCAmJiBoZWlnaHQgPiBtaW5IZWlnaHQ7DQoJCQljYW5FeHBhbmQgPSBjdXJyZW50LmFzcGVjdFJhdGlvID8gKHdpZHRoIDwgb3JpZ01heFdpZHRoICYmIGhlaWdodCA8IG9yaWdNYXhIZWlnaHQgJiYgd2lkdGggPCBvcmlnV2lkdGggJiYgaGVpZ2h0IDwgb3JpZ0hlaWdodCkgOiAoKHdpZHRoIDwgb3JpZ01heFdpZHRoIHx8IGhlaWdodCA8IG9yaWdNYXhIZWlnaHQpICYmICh3aWR0aCA8IG9yaWdXaWR0aCB8fCBoZWlnaHQgPCBvcmlnSGVpZ2h0KSk7DQoNCgkJCSQuZXh0ZW5kKGN1cnJlbnQsIHsNCgkJCQlkaW0gOiB7DQoJCQkJCXdpZHRoCTogZ2V0VmFsdWUoIHdpZHRoXyApLA0KCQkJCQloZWlnaHQJOiBnZXRWYWx1ZSggaGVpZ2h0XyApDQoJCQkJfSwNCgkJCQlvcmlnV2lkdGggIDogb3JpZ1dpZHRoLA0KCQkJCW9yaWdIZWlnaHQgOiBvcmlnSGVpZ2h0LA0KCQkJCWNhblNocmluayAgOiBjYW5TaHJpbmssDQoJCQkJY2FuRXhwYW5kICA6IGNhbkV4cGFuZCwNCgkJCQl3UGFkZGluZyAgIDogd1BhZGRpbmcsDQoJCQkJaFBhZGRpbmcgICA6IGhQYWRkaW5nLA0KCQkJCXdyYXBTcGFjZSAgOiBoZWlnaHRfIC0gc2tpbi5vdXRlckhlaWdodCh0cnVlKSwNCgkJCQlza2luU3BhY2UgIDogc2tpbi5oZWlnaHQoKSAtIGhlaWdodA0KCQkJfSk7DQoNCgkJCWlmICghaWZyYW1lICYmIGN1cnJlbnQuYXV0b0hlaWdodCAmJiBoZWlnaHQgPiBtaW5IZWlnaHQgJiYgaGVpZ2h0IDwgbWF4SGVpZ2h0ICYmICFjYW5FeHBhbmQpIHsNCgkJCQlpbm5lci5oZWlnaHQoJ2F1dG8nKTsNCgkJCX0NCgkJfSwNCg0KCQlfZ2V0UG9zaXRpb246IGZ1bmN0aW9uIChvbmx5QWJzb2x1dGUpIHsNCgkJCXZhciBjdXJyZW50ICA9IEYuY3VycmVudCwNCgkJCQl2aWV3cG9ydCA9IEYuZ2V0Vmlld3BvcnQoKSwNCgkJCQltYXJnaW4gICA9IGN1cnJlbnQubWFyZ2luLA0KCQkJCXdpZHRoICAgID0gRi53cmFwLndpZHRoKCkgICsgbWFyZ2luWzFdICsgbWFyZ2luWzNdLA0KCQkJCWhlaWdodCAgID0gRi53cmFwLmhlaWdodCgpICsgbWFyZ2luWzBdICsgbWFyZ2luWzJdLA0KCQkJCXJleiAgICAgID0gew0KCQkJCQlwb3NpdGlvbjogJ2Fic29sdXRlJywNCgkJCQkJdG9wICA6IG1hcmdpblswXSwNCgkJCQkJbGVmdCA6IG1hcmdpblszXQ0KCQkJCX07DQoNCgkJCWlmIChjdXJyZW50LmF1dG9DZW50ZXIgJiYgY3VycmVudC5maXhlZCAmJiAhb25seUFic29sdXRlICYmIGhlaWdodCA8PSB2aWV3cG9ydC5oICYmIHdpZHRoIDw9IHZpZXdwb3J0LncpIHsNCgkJCQlyZXoucG9zaXRpb24gPSAnZml4ZWQnOw0KDQoJCQl9IGVsc2UgaWYgKCFjdXJyZW50LmxvY2tlZCkgew0KCQkJCXJlei50b3AgICs9IHZpZXdwb3J0Lnk7DQoJCQkJcmV6LmxlZnQgKz0gdmlld3BvcnQueDsNCgkJCX0NCg0KCQkJcmV6LnRvcCAgPSBnZXRWYWx1ZShNYXRoLm1heChyZXoudG9wLCAgcmV6LnRvcCAgKyAoKHZpZXdwb3J0LmggLSBoZWlnaHQpICogY3VycmVudC50b3BSYXRpbykpKTsNCgkJCXJlei5sZWZ0ID0gZ2V0VmFsdWUoTWF0aC5tYXgocmV6LmxlZnQsIHJlei5sZWZ0ICsgKCh2aWV3cG9ydC53IC0gd2lkdGgpICAqIGN1cnJlbnQubGVmdFJhdGlvKSkpOw0KDQoJCQlyZXR1cm4gcmV6Ow0KCQl9LA0KDQoJCV9hZnRlclpvb21JbjogZnVuY3Rpb24gKCkgew0KCQkJdmFyIGN1cnJlbnQgPSBGLmN1cnJlbnQ7DQoNCgkJCWlmICghY3VycmVudCkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJRi5pc09wZW4gPSBGLmlzT3BlbmVkID0gdHJ1ZTsNCg0KCQkJRi53cmFwLmNzcygnb3ZlcmZsb3cnLCAndmlzaWJsZScpLmFkZENsYXNzKCdmYW5jeWJveC1vcGVuZWQnKTsNCg0KCQkJRi51cGRhdGUoKTsNCg0KCQkJLy8gQXNzaWduIGEgY2xpY2sgZXZlbnQNCgkJCWlmICggY3VycmVudC5jbG9zZUNsaWNrIHx8IChjdXJyZW50Lm5leHRDbGljayAmJiBGLmdyb3VwLmxlbmd0aCA+IDEpICkgew0KCQkJCUYuaW5uZXIuY3NzKCdjdXJzb3InLCAncG9pbnRlcicpLmJpbmQoJ2NsaWNrLmZiJywgZnVuY3Rpb24oZSkgew0KCQkJCQlpZiAoISQoZS50YXJnZXQpLmlzKCdhJykgJiYgISQoZS50YXJnZXQpLnBhcmVudCgpLmlzKCdhJykpIHsNCgkJCQkJCWUucHJldmVudERlZmF1bHQoKTsNCg0KCQkJCQkJRlsgY3VycmVudC5jbG9zZUNsaWNrID8gJ2Nsb3NlJyA6ICduZXh0JyBdKCk7DQoJCQkJCX0NCgkJCQl9KTsNCgkJCX0NCg0KCQkJLy8gQ3JlYXRlIGEgY2xvc2UgYnV0dG9uDQoJCQlpZiAoY3VycmVudC5jbG9zZUJ0bikgew0KCQkJCSQoY3VycmVudC50cGwuY2xvc2VCdG4pLmFwcGVuZFRvKEYuc2tpbikuYmluZCgnY2xpY2suZmInLCBmdW5jdGlvbihlKSB7DQoJCQkJCWUucHJldmVudERlZmF1bHQoKTsNCg0KCQkJCQlGLmNsb3NlKCk7DQoJCQkJfSk7DQoJCQl9DQoNCgkJCS8vIENyZWF0ZSBuYXZpZ2F0aW9uIGFycm93cw0KCQkJaWYgKGN1cnJlbnQuYXJyb3dzICYmIEYuZ3JvdXAubGVuZ3RoID4gMSkgew0KCQkJCWlmIChjdXJyZW50Lmxvb3AgfHwgY3VycmVudC5pbmRleCA+IDApIHsNCgkJCQkJJChjdXJyZW50LnRwbC5wcmV2KS5hcHBlbmRUbyhGLm91dGVyKS5iaW5kKCdjbGljay5mYicsIEYucHJldik7DQoJCQkJfQ0KDQoJCQkJaWYgKGN1cnJlbnQubG9vcCB8fCBjdXJyZW50LmluZGV4IDwgRi5ncm91cC5sZW5ndGggLSAxKSB7DQoJCQkJCSQoY3VycmVudC50cGwubmV4dCkuYXBwZW5kVG8oRi5vdXRlcikuYmluZCgnY2xpY2suZmInLCBGLm5leHQpOw0KCQkJCX0NCgkJCX0NCg0KCQkJRi50cmlnZ2VyKCdhZnRlclNob3cnKTsNCg0KCQkJLy8gU3RvcCB0aGUgc2xpZGVzaG93IGlmIHRoaXMgaXMgdGhlIGxhc3QgaXRlbQ0KCQkJaWYgKCFjdXJyZW50Lmxvb3AgJiYgY3VycmVudC5pbmRleCA9PT0gY3VycmVudC5ncm91cC5sZW5ndGggLSAxKSB7DQoJCQkJRi5wbGF5KCBmYWxzZSApOw0KDQoJCQl9IGVsc2UgaWYgKEYub3B0cy5hdXRvUGxheSAmJiAhRi5wbGF5ZXIuaXNBY3RpdmUpIHsNCgkJCQlGLm9wdHMuYXV0b1BsYXkgPSBmYWxzZTsNCg0KCQkJCUYucGxheSgpOw0KCQkJfQ0KCQl9LA0KDQoJCV9hZnRlclpvb21PdXQ6IGZ1bmN0aW9uICggb2JqICkgew0KCQkJb2JqID0gb2JqIHx8IEYuY3VycmVudDsNCg0KCQkJJCgnLmZhbmN5Ym94LXdyYXAnKS50cmlnZ2VyKCdvblJlc2V0JykucmVtb3ZlKCk7DQoNCgkJCSQuZXh0ZW5kKEYsIHsNCgkJCQlncm91cCAgOiB7fSwNCgkJCQlvcHRzICAgOiB7fSwNCgkJCQlyb3V0ZXIgOiBmYWxzZSwNCgkJCQljdXJyZW50ICAgOiBudWxsLA0KCQkJCWlzQWN0aXZlICA6IGZhbHNlLA0KCQkJCWlzT3BlbmVkICA6IGZhbHNlLA0KCQkJCWlzT3BlbiAgICA6IGZhbHNlLA0KCQkJCWlzQ2xvc2luZyA6IGZhbHNlLA0KCQkJCXdyYXAgICA6IG51bGwsDQoJCQkJc2tpbiAgIDogbnVsbCwNCgkJCQlvdXRlciAgOiBudWxsLA0KCQkJCWlubmVyICA6IG51bGwNCgkJCX0pOw0KDQoJCQlGLnRyaWdnZXIoJ2FmdGVyQ2xvc2UnLCBvYmopOw0KCQl9DQoJfSk7DQoNCgkvKg0KCSAqCURlZmF1bHQgdHJhbnNpdGlvbnMNCgkgKi8NCg0KCUYudHJhbnNpdGlvbnMgPSB7DQoJCWdldE9yaWdQb3NpdGlvbjogZnVuY3Rpb24gKCkgew0KCQkJdmFyIGN1cnJlbnQgID0gRi5jdXJyZW50LA0KCQkJCWVsZW1lbnQgID0gY3VycmVudC5lbGVtZW50LA0KCQkJCW9yaWcgICAgID0gY3VycmVudC5vcmlnLA0KCQkJCXBvcyAgICAgID0ge30sDQoJCQkJd2lkdGggICAgPSA1MCwNCgkJCQloZWlnaHQgICA9IDUwLA0KCQkJCWhQYWRkaW5nID0gY3VycmVudC5oUGFkZGluZywNCgkJCQl3UGFkZGluZyA9IGN1cnJlbnQud1BhZGRpbmcsDQoJCQkJdmlld3BvcnQgPSBGLmdldFZpZXdwb3J0KCk7DQoNCgkJCWlmICghb3JpZyAmJiBjdXJyZW50LmlzRG9tICYmIGVsZW1lbnQuaXMoJzp2aXNpYmxlJykpIHsNCgkJCQlvcmlnID0gZWxlbWVudC5maW5kKCdpbWc6Zmlyc3QnKTsNCg0KCQkJCWlmICghb3JpZy5sZW5ndGgpIHsNCgkJCQkJb3JpZyA9IGVsZW1lbnQ7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAoaXNRdWVyeShvcmlnKSkgew0KCQkJCXBvcyA9IG9yaWcub2Zmc2V0KCk7DQoNCgkJCQlpZiAob3JpZy5pcygnaW1nJykpIHsNCgkJCQkJd2lkdGggID0gb3JpZy5vdXRlcldpZHRoKCk7DQoJCQkJCWhlaWdodCA9IG9yaWcub3V0ZXJIZWlnaHQoKTsNCgkJCQl9DQoNCgkJCX0gZWxzZSB7DQoJCQkJcG9zLnRvcCAgPSB2aWV3cG9ydC55ICsgKHZpZXdwb3J0LmggLSBoZWlnaHQpICogY3VycmVudC50b3BSYXRpbzsNCgkJCQlwb3MubGVmdCA9IHZpZXdwb3J0LnggKyAodmlld3BvcnQudyAtIHdpZHRoKSAgKiBjdXJyZW50LmxlZnRSYXRpbzsNCgkJCX0NCg0KCQkJaWYgKEYud3JhcC5jc3MoJ3Bvc2l0aW9uJykgPT09ICdmaXhlZCcgfHwgY3VycmVudC5sb2NrZWQpIHsNCgkJCQlwb3MudG9wICAtPSB2aWV3cG9ydC55Ow0KCQkJCXBvcy5sZWZ0IC09IHZpZXdwb3J0Lng7DQoJCQl9DQoNCgkJCXBvcyA9IHsNCgkJCQl0b3AgICAgIDogZ2V0VmFsdWUocG9zLnRvcCAgLSBoUGFkZGluZyAqIGN1cnJlbnQudG9wUmF0aW8pLA0KCQkJCWxlZnQgICAgOiBnZXRWYWx1ZShwb3MubGVmdCAtIHdQYWRkaW5nICogY3VycmVudC5sZWZ0UmF0aW8pLA0KCQkJCXdpZHRoICAgOiBnZXRWYWx1ZSh3aWR0aCAgKyB3UGFkZGluZyksDQoJCQkJaGVpZ2h0ICA6IGdldFZhbHVlKGhlaWdodCArIGhQYWRkaW5nKQ0KCQkJfTsNCg0KCQkJcmV0dXJuIHBvczsNCgkJfSwNCg0KCQlzdGVwOiBmdW5jdGlvbiAobm93LCBmeCkgew0KCQkJdmFyIHJhdGlvLA0KCQkJCXBhZGRpbmcsDQoJCQkJdmFsdWUsDQoJCQkJcHJvcCAgICAgICA9IGZ4LnByb3AsDQoJCQkJY3VycmVudCAgICA9IEYuY3VycmVudCwNCgkJCQl3cmFwU3BhY2UgID0gY3VycmVudC53cmFwU3BhY2UsDQoJCQkJc2tpblNwYWNlICA9IGN1cnJlbnQuc2tpblNwYWNlOw0KDQoJCQlpZiAocHJvcCA9PT0gJ3dpZHRoJyB8fCBwcm9wID09PSAnaGVpZ2h0Jykgew0KCQkJCXJhdGlvID0gZnguZW5kID09PSBmeC5zdGFydCA/IDEgOiAobm93IC0gZnguc3RhcnQpIC8gKGZ4LmVuZCAtIGZ4LnN0YXJ0KTsNCg0KCQkJCWlmIChGLmlzQ2xvc2luZykgew0KCQkJCQlyYXRpbyA9IDEgLSByYXRpbzsNCgkJCQl9DQoNCgkJCQlwYWRkaW5nID0gcHJvcCA9PT0gJ3dpZHRoJyA/IGN1cnJlbnQud1BhZGRpbmcgOiBjdXJyZW50LmhQYWRkaW5nOw0KCQkJCXZhbHVlICAgPSBub3cgLSBwYWRkaW5nOw0KDQoJCQkJRi5za2luWyBwcm9wIF0oICBnZXRTY2FsYXIoIHByb3AgPT09ICd3aWR0aCcgPyAgdmFsdWUgOiB2YWx1ZSAtICh3cmFwU3BhY2UgKiByYXRpbykgKSApOw0KCQkJCUYuaW5uZXJbIHByb3AgXSggZ2V0U2NhbGFyKCBwcm9wID09PSAnd2lkdGgnID8gIHZhbHVlIDogdmFsdWUgLSAod3JhcFNwYWNlICogcmF0aW8pIC0gKHNraW5TcGFjZSAqIHJhdGlvKSApICk7DQoJCQl9DQoJCX0sDQoNCgkJem9vbUluOiBmdW5jdGlvbiAoKSB7DQoJCQl2YXIgY3VycmVudCAgPSBGLmN1cnJlbnQsDQoJCQkJc3RhcnRQb3MgPSBjdXJyZW50LnBvcywNCgkJCQllZmZlY3QgICA9IGN1cnJlbnQub3BlbkVmZmVjdCwNCgkJCQllbGFzdGljICA9IGVmZmVjdCA9PT0gJ2VsYXN0aWMnLA0KCQkJCWVuZFBvcyAgID0gJC5leHRlbmQoe29wYWNpdHkgOiAxfSwgc3RhcnRQb3MpOw0KDQoJCQkvLyBSZW1vdmUgInBvc2l0aW9uIiBwcm9wZXJ0eSB0aGF0IGJyZWFrcyBvbGRlciBJRQ0KCQkJZGVsZXRlIGVuZFBvcy5wb3NpdGlvbjsNCg0KCQkJaWYgKGVsYXN0aWMpIHsNCgkJCQlzdGFydFBvcyA9IHRoaXMuZ2V0T3JpZ1Bvc2l0aW9uKCk7DQoNCgkJCQlpZiAoY3VycmVudC5vcGVuT3BhY2l0eSkgew0KCQkJCQlzdGFydFBvcy5vcGFjaXR5ID0gMC4xOw0KCQkJCX0NCg0KCQkJfSBlbHNlIGlmIChlZmZlY3QgPT09ICdmYWRlJykgew0KCQkJCXN0YXJ0UG9zLm9wYWNpdHkgPSAwLjE7DQoJCQl9DQoNCgkJCUYud3JhcC5jc3Moc3RhcnRQb3MpLmFuaW1hdGUoZW5kUG9zLCB7DQoJCQkJZHVyYXRpb24gOiBlZmZlY3QgPT09ICdub25lJyA/IDAgOiBjdXJyZW50Lm9wZW5TcGVlZCwNCgkJCQllYXNpbmcgICA6IGN1cnJlbnQub3BlbkVhc2luZywNCgkJCQlzdGVwICAgICA6IGVsYXN0aWMgPyB0aGlzLnN0ZXAgOiBudWxsLA0KCQkJCWNvbXBsZXRlIDogRi5fYWZ0ZXJab29tSW4NCgkJCX0pOw0KCQl9LA0KDQoJCXpvb21PdXQ6IGZ1bmN0aW9uICgpIHsNCgkJCXZhciBjdXJyZW50ICA9IEYuY3VycmVudCwNCgkJCQllZmZlY3QgICA9IGN1cnJlbnQuY2xvc2VFZmZlY3QsDQoJCQkJZWxhc3RpYyAgPSBlZmZlY3QgPT09ICdlbGFzdGljJywNCgkJCQllbmRQb3MgICA9IHtvcGFjaXR5IDogMC4xfTsNCg0KCQkJaWYgKGVsYXN0aWMpIHsNCgkJCQllbmRQb3MgPSB0aGlzLmdldE9yaWdQb3NpdGlvbigpOw0KDQoJCQkJaWYgKGN1cnJlbnQuY2xvc2VPcGFjaXR5KSB7DQoJCQkJCWVuZFBvcy5vcGFjaXR5ID0gMC4xOw0KCQkJCX0NCgkJCX0NCg0KCQkJRi53cmFwLmFuaW1hdGUoZW5kUG9zLCB7DQoJCQkJZHVyYXRpb24gOiBlZmZlY3QgPT09ICdub25lJyA/IDAgOiBjdXJyZW50LmNsb3NlU3BlZWQsDQoJCQkJZWFzaW5nICAgOiBjdXJyZW50LmNsb3NlRWFzaW5nLA0KCQkJCXN0ZXAgICAgIDogZWxhc3RpYyA/IHRoaXMuc3RlcCA6IG51bGwsDQoJCQkJY29tcGxldGUgOiBGLl9hZnRlclpvb21PdXQNCgkJCX0pOw0KCQl9LA0KDQoJCWNoYW5nZUluOiBmdW5jdGlvbiAoKSB7DQoJCQl2YXIgY3VycmVudCAgID0gRi5jdXJyZW50LA0KCQkJCWVmZmVjdCAgICA9IGN1cnJlbnQubmV4dEVmZmVjdCwNCgkJCQlzdGFydFBvcyAgPSBjdXJyZW50LnBvcywNCgkJCQllbmRQb3MgICAgPSB7IG9wYWNpdHkgOiAxIH0sDQoJCQkJZGlyZWN0aW9uID0gRi5kaXJlY3Rpb24sDQoJCQkJZGlzdGFuY2UgID0gMjAwLA0KCQkJCWZpZWxkOw0KDQoJCQlzdGFydFBvcy5vcGFjaXR5ID0gMC4xOw0KDQoJCQlpZiAoZWZmZWN0ID09PSAnZWxhc3RpYycpIHsNCgkJCQlmaWVsZCA9IGRpcmVjdGlvbiA9PT0gJ2Rvd24nIHx8IGRpcmVjdGlvbiA9PT0gJ3VwJyA/ICd0b3AnIDogJ2xlZnQnOw0KDQoJCQkJaWYgKGRpcmVjdGlvbiA9PT0gJ2Rvd24nIHx8IGRpcmVjdGlvbiA9PT0gJ3JpZ2h0Jykgew0KCQkJCQlzdGFydFBvc1sgZmllbGQgXSA9IGdldFZhbHVlKGdldFNjYWxhcihzdGFydFBvc1sgZmllbGQgXSkgLSBkaXN0YW5jZSk7DQoJCQkJCWVuZFBvc1sgZmllbGQgXSAgID0gJys9JyArIGRpc3RhbmNlICsgJ3B4JzsNCg0KCQkJCX0gZWxzZSB7DQoJCQkJCXN0YXJ0UG9zWyBmaWVsZCBdID0gZ2V0VmFsdWUoZ2V0U2NhbGFyKHN0YXJ0UG9zWyBmaWVsZCBdKSArIGRpc3RhbmNlKTsNCgkJCQkJZW5kUG9zWyBmaWVsZCBdICAgPSAnLT0nICsgZGlzdGFuY2UgKyAncHgnOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gV29ya2Fyb3VuZCBmb3IgaHR0cDovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTIyNzMNCgkJCWlmIChlZmZlY3QgPT09ICdub25lJykgew0KCQkJCUYuX2FmdGVyWm9vbUluKCk7DQoNCgkJCX0gZWxzZSB7DQoJCQkJRi53cmFwLmNzcyhzdGFydFBvcykuYW5pbWF0ZShlbmRQb3MsIHsNCgkJCQkJZHVyYXRpb24gOiBjdXJyZW50Lm5leHRTcGVlZCwNCgkJCQkJZWFzaW5nICAgOiBjdXJyZW50Lm5leHRFYXNpbmcsDQoJCQkJCWNvbXBsZXRlIDogRi5fYWZ0ZXJab29tSW4NCgkJCQl9KTsNCgkJCX0NCgkJfSwNCg0KCQljaGFuZ2VPdXQ6IGZ1bmN0aW9uICgpIHsNCgkJCXZhciBwcmV2aW91cyAgPSBGLnByZXZpb3VzLA0KCQkJCWVmZmVjdCAgICA9IHByZXZpb3VzLnByZXZFZmZlY3QsDQoJCQkJZW5kUG9zICAgID0geyBvcGFjaXR5IDogMC4xIH0sDQoJCQkJZGlyZWN0aW9uID0gRi5kaXJlY3Rpb24sDQoJCQkJZGlzdGFuY2UgID0gMjAwOw0KDQoJCQlpZiAoZWZmZWN0ID09PSAnZWxhc3RpYycpIHsNCgkJCQllbmRQb3NbIGRpcmVjdGlvbiA9PT0gJ2Rvd24nIHx8IGRpcmVjdGlvbiA9PT0gJ3VwJyA/ICd0b3AnIDogJ2xlZnQnIF0gPSAoIGRpcmVjdGlvbiA9PT0gJ3VwJyB8fCBkaXJlY3Rpb24gPT09ICdsZWZ0JyA/ICctJyA6ICcrJyApICsgJz0nICsgZGlzdGFuY2UgKyAncHgnOw0KCQkJfQ0KDQoJCQlwcmV2aW91cy53cmFwLmFuaW1hdGUoZW5kUG9zLCB7DQoJCQkJZHVyYXRpb24gOiBlZmZlY3QgPT09ICdub25lJyA/IDAgOiBwcmV2aW91cy5wcmV2U3BlZWQsDQoJCQkJZWFzaW5nICAgOiBwcmV2aW91cy5wcmV2RWFzaW5nLA0KCQkJCWNvbXBsZXRlIDogZnVuY3Rpb24gKCkgew0KCQkJCQkkKHRoaXMpLnRyaWdnZXIoJ29uUmVzZXQnKS5yZW1vdmUoKTsNCgkJCQl9DQoJCQl9KTsNCgkJfQ0KCX07DQoNCgkvKg0KCSAqCU92ZXJsYXkgaGVscGVyDQoJICovDQoNCglGLmhlbHBlcnMub3ZlcmxheSA9IHsNCgkJZGVmYXVsdHMgOiB7DQoJCQljbG9zZUNsaWNrIDogdHJ1ZSwgICAgICAvLyBpZiB0cnVlLCBmYW5jeUJveCB3aWxsIGJlIGNsb3NlZCB3aGVuIHVzZXIgY2xpY2tzIG9uIHRoZSBvdmVybGF5DQoJCQlzcGVlZE91dCAgIDogMjAwLCAgICAgICAvLyBkdXJhdGlvbiBvZiBmYWRlT3V0IGFuaW1hdGlvbg0KCQkJc2hvd0Vhcmx5ICA6IHRydWUsICAgICAgLy8gaW5kaWNhdGVzIGlmIHNob3VsZCBiZSBvcGVuZWQgaW1tZWRpYXRlbHkgb3Igd2FpdCB1bnRpbCB0aGUgY29udGVudCBpcyByZWFkeQ0KCQkJY3NzICAgICAgICA6IHt9LCAgICAgICAgLy8gY3VzdG9tIENTUyBwcm9wZXJ0aWVzDQoJCQlsb2NrZWQgICAgIDogIWlzVG91Y2gsICAvLyBpZiB0cnVlLCB0aGUgY29udGVudCB3aWxsIGJlIGxvY2tlZCBpbnRvIG92ZXJsYXkNCgkJCWZpeGVkICAgICAgOiB0cnVlICAgICAgIC8vIGlmIGZhbHNlLCB0aGUgb3ZlcmxheSBDU1MgcG9zaXRpb24gcHJvcGVydHkgd2lsbCBub3QgYmUgc2V0IHRvICJmaXhlZCINCgkJfSwNCg0KCQlvdmVybGF5IDogbnVsbCwgICAgICAvLyBjdXJyZW50IGhhbmRsZQ0KCQlmaXhlZCAgIDogZmFsc2UsICAgICAvLyBpbmRpY2F0ZXMgaWYgdGhlIG92ZXJsYXkgaGFzIHBvc2l0aW9uICJmaXhlZCINCgkJZWwgICAgICA6ICQoJ2h0bWwnKSwgLy8gZWxlbWVudCB0aGF0IGNvbnRhaW5zICJ0aGUgbG9jayINCg0KCQkvLyBQdWJsaWMgbWV0aG9kcw0KCQljcmVhdGUgOiBmdW5jdGlvbihvcHRzKSB7DQoJCQlvcHRzID0gJC5leHRlbmQoe30sIHRoaXMuZGVmYXVsdHMsIG9wdHMpOw0KDQoJCQlpZiAodGhpcy5vdmVybGF5KSB7DQoJCQkJdGhpcy5jbG9zZSgpOw0KCQkJfQ0KDQoJCQl0aGlzLm92ZXJsYXkgPSAkKCc8ZGl2IGNsYXNzPSJmYW5jeWJveC1vdmVybGF5Ij48L2Rpdj4nKS5hcHBlbmRUbyggRi5jb21pbmcgPyBGLmNvbWluZy5wYXJlbnQgOiBvcHRzLnBhcmVudCApOw0KCQkJdGhpcy5maXhlZCAgID0gZmFsc2U7DQoNCgkJCWlmIChvcHRzLmZpeGVkICYmIEYuZGVmYXVsdHMuZml4ZWQpIHsNCgkJCQl0aGlzLm92ZXJsYXkuYWRkQ2xhc3MoJ2ZhbmN5Ym94LW92ZXJsYXktZml4ZWQnKTsNCg0KCQkJCXRoaXMuZml4ZWQgPSB0cnVlOw0KCQkJfQ0KCQl9LA0KDQoJCW9wZW4gOiBmdW5jdGlvbihvcHRzKSB7DQoJCQl2YXIgdGhhdCA9IHRoaXM7DQoNCgkJCW9wdHMgPSAkLmV4dGVuZCh7fSwgdGhpcy5kZWZhdWx0cywgb3B0cyk7DQoNCgkJCWlmICh0aGlzLm92ZXJsYXkpIHsNCgkJCQl0aGlzLm92ZXJsYXkudW5iaW5kKCcub3ZlcmxheScpLndpZHRoKCdhdXRvJykuaGVpZ2h0KCdhdXRvJyk7DQoNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5jcmVhdGUob3B0cyk7DQoJCQl9DQoNCgkJCWlmICghdGhpcy5maXhlZCkgew0KCQkJCVcuYmluZCgncmVzaXplLm92ZXJsYXknLCAkLnByb3h5KCB0aGlzLnVwZGF0ZSwgdGhpcykgKTsNCg0KCQkJCXRoaXMudXBkYXRlKCk7DQoJCQl9DQoNCgkJCWlmIChvcHRzLmNsb3NlQ2xpY2spIHsNCgkJCQl0aGlzLm92ZXJsYXkuYmluZCgnY2xpY2sub3ZlcmxheScsIGZ1bmN0aW9uKGUpIHsNCgkJCQkJaWYgKCQoZS50YXJnZXQpLmhhc0NsYXNzKCdmYW5jeWJveC1vdmVybGF5JykpIHsNCgkJCQkJCWlmIChGLmlzQWN0aXZlKSB7DQoJCQkJCQkJRi5jbG9zZSgpOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQl0aGF0LmNsb3NlKCk7DQoJCQkJCQl9DQoNCgkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJfQ0KCQkJCX0pOw0KCQkJfQ0KDQoJCQl0aGlzLm92ZXJsYXkuY3NzKCBvcHRzLmNzcyApLnNob3coKTsNCgkJfSwNCg0KCQljbG9zZSA6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIHNjcm9sbFYsIHNjcm9sbEg7DQoNCgkJCVcudW5iaW5kKCdyZXNpemUub3ZlcmxheScpOw0KDQoJCQlpZiAodGhpcy5lbC5oYXNDbGFzcygnZmFuY3lib3gtbG9jaycpKSB7DQoJCQkJJCgnLmZhbmN5Ym94LW1hcmdpbicpLnJlbW92ZUNsYXNzKCdmYW5jeWJveC1tYXJnaW4nKTsNCg0KCQkJCXNjcm9sbFYgPSBXLnNjcm9sbFRvcCgpOw0KCQkJCXNjcm9sbEggPSBXLnNjcm9sbExlZnQoKTsNCg0KCQkJCXRoaXMuZWwucmVtb3ZlQ2xhc3MoJ2ZhbmN5Ym94LWxvY2snKTsNCg0KCQkJCVcuc2Nyb2xsVG9wKCBzY3JvbGxWICkuc2Nyb2xsTGVmdCggc2Nyb2xsSCApOw0KCQkJfQ0KDQoJCQkkKCcuZmFuY3lib3gtb3ZlcmxheScpLnJlbW92ZSgpLmhpZGUoKTsNCg0KCQkJJC5leHRlbmQodGhpcywgew0KCQkJCW92ZXJsYXkgOiBudWxsLA0KCQkJCWZpeGVkICAgOiBmYWxzZQ0KCQkJfSk7DQoJCX0sDQoNCgkJLy8gUHJpdmF0ZSwgY2FsbGJhY2tzDQoNCgkJdXBkYXRlIDogZnVuY3Rpb24gKCkgew0KCQkJdmFyIHdpZHRoID0gJzEwMCUnLCBvZmZzZXRXaWR0aDsNCg0KCQkJLy8gUmVzZXQgd2lkdGgvaGVpZ2h0IHNvIGl0IHdpbGwgbm90IG1lc3MNCgkJCXRoaXMub3ZlcmxheS53aWR0aCh3aWR0aCkuaGVpZ2h0KCcxMDAlJyk7DQoNCgkJCS8vIGpRdWVyeSBkb2VzIG5vdCByZXR1cm4gcmVsaWFibGUgcmVzdWx0IGZvciBJRQ0KCQkJaWYgKElFKSB7DQoJCQkJb2Zmc2V0V2lkdGggPSBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGgsIGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpOw0KDQoJCQkJaWYgKEQud2lkdGgoKSA+IG9mZnNldFdpZHRoKSB7DQoJCQkJCXdpZHRoID0gRC53aWR0aCgpOw0KCQkJCX0NCg0KCQkJfSBlbHNlIGlmIChELndpZHRoKCkgPiBXLndpZHRoKCkpIHsNCgkJCQl3aWR0aCA9IEQud2lkdGgoKTsNCgkJCX0NCg0KCQkJdGhpcy5vdmVybGF5LndpZHRoKHdpZHRoKS5oZWlnaHQoRC5oZWlnaHQoKSk7DQoJCX0sDQoNCgkJLy8gVGhpcyBpcyB3aGVyZSB3ZSBjYW4gbWFuaXB1bGF0ZSBET00sIGJlY2F1c2UgbGF0ZXIgaXQgd291bGQgY2F1c2UgaWZyYW1lcyB0byByZWxvYWQNCgkJb25SZWFkeSA6IGZ1bmN0aW9uIChvcHRzLCBvYmopIHsNCgkJCXZhciBvdmVybGF5ID0gdGhpcy5vdmVybGF5Ow0KDQoJCQkkKCcuZmFuY3lib3gtb3ZlcmxheScpLnN0b3AodHJ1ZSwgdHJ1ZSk7DQoNCgkJCWlmICghb3ZlcmxheSkgew0KCQkJCXRoaXMuY3JlYXRlKG9wdHMpOw0KCQkJfQ0KDQoJCQlpZiAob3B0cy5sb2NrZWQgJiYgdGhpcy5maXhlZCAmJiBvYmouZml4ZWQpIHsNCgkJCQlpZiAoIW92ZXJsYXkpIHsNCgkJCQkJdGhpcy5tYXJnaW4gPSBELmhlaWdodCgpID4gVy5oZWlnaHQoKSA/ICQoJ2h0bWwnKS5jc3MoJ21hcmdpbi1yaWdodCcpLnJlcGxhY2UoInB4IiwgIiIpIDogZmFsc2U7DQoJCQkJfQ0KDQoJCQkJb2JqLmxvY2tlZCA9IHRoaXMub3ZlcmxheS5hcHBlbmQoIG9iai53cmFwICk7DQoJCQkJb2JqLmZpeGVkICA9IGZhbHNlOw0KCQkJfQ0KDQoJCQlpZiAob3B0cy5zaG93RWFybHkgPT09IHRydWUpIHsNCgkJCQl0aGlzLmJlZm9yZVNob3cuYXBwbHkodGhpcywgYXJndW1lbnRzKTsNCgkJCX0NCgkJfSwNCg0KCQliZWZvcmVTaG93IDogZnVuY3Rpb24ob3B0cywgb2JqKSB7DQoJCQl2YXIgc2Nyb2xsViwgc2Nyb2xsSDsNCg0KCQkJaWYgKG9iai5sb2NrZWQpIHsNCgkJCQlpZiAodGhpcy5tYXJnaW4gIT09IGZhbHNlKSB7DQoJCQkJCSQoJyonKS5maWx0ZXIoZnVuY3Rpb24oKXsNCgkJCQkJCXJldHVybiAoJCh0aGlzKS5jc3MoJ3Bvc2l0aW9uJykgPT09ICdmaXhlZCcgJiYgISQodGhpcykuaGFzQ2xhc3MoImZhbmN5Ym94LW92ZXJsYXkiKSAmJiAhJCh0aGlzKS5oYXNDbGFzcygiZmFuY3lib3gtd3JhcCIpICk7DQoJCQkJCX0pLmFkZENsYXNzKCdmYW5jeWJveC1tYXJnaW4nKTsNCg0KCQkJCQl0aGlzLmVsLmFkZENsYXNzKCdmYW5jeWJveC1tYXJnaW4nKTsNCgkJCQl9DQoNCgkJCQlzY3JvbGxWID0gVy5zY3JvbGxUb3AoKTsNCgkJCQlzY3JvbGxIID0gVy5zY3JvbGxMZWZ0KCk7DQoNCgkJCQl0aGlzLmVsLmFkZENsYXNzKCdmYW5jeWJveC1sb2NrJyk7DQoNCgkJCQlXLnNjcm9sbFRvcCggc2Nyb2xsViApLnNjcm9sbExlZnQoIHNjcm9sbEggKTsNCgkJCX0NCg0KCQkJdGhpcy5vcGVuKG9wdHMpOw0KCQl9LA0KDQoJCW9uVXBkYXRlIDogZnVuY3Rpb24oKSB7DQoJCQlpZiAoIXRoaXMuZml4ZWQpIHsNCgkJCQl0aGlzLnVwZGF0ZSgpOw0KCQkJfQ0KCQl9LA0KDQoJCWFmdGVyQ2xvc2U6IGZ1bmN0aW9uIChvcHRzKSB7DQoJCQkvLyBSZW1vdmUgb3ZlcmxheSBpZiBleGlzdHMgYW5kIGZhbmN5Qm94IGlzIG5vdCBvcGVuaW5nDQoJCQkvLyAoZS5nLiwgaXQgaXMgbm90IGJlaW5nIG9wZW4gdXNpbmcgYWZ0ZXJDbG9zZSBjYWxsYmFjaykNCgkJCS8vaWYgKHRoaXMub3ZlcmxheSAmJiAhRi5pc0FjdGl2ZSkgew0KCQkJaWYgKHRoaXMub3ZlcmxheSAmJiAhRi5jb21pbmcpIHsNCgkJCQl0aGlzLm92ZXJsYXkuZmFkZU91dChvcHRzLnNwZWVkT3V0LCAkLnByb3h5KCB0aGlzLmNsb3NlLCB0aGlzICkpOw0KCQkJfQ0KCQl9DQoJfTsNCg0KCS8qDQoJICoJVGl0bGUgaGVscGVyDQoJICovDQoNCglGLmhlbHBlcnMudGl0bGUgPSB7DQoJCWRlZmF1bHRzIDogew0KCQkJdHlwZSAgICAgOiAnZmxvYXQnLCAvLyAnZmxvYXQnLCAnaW5zaWRlJywgJ291dHNpZGUnIG9yICdvdmVyJywNCgkJCXBvc2l0aW9uIDogJ2JvdHRvbScgLy8gJ3RvcCcgb3IgJ2JvdHRvbScNCgkJfSwNCg0KCQliZWZvcmVTaG93OiBmdW5jdGlvbiAob3B0cykgew0KCQkJdmFyIGN1cnJlbnQgPSBGLmN1cnJlbnQsDQoJCQkJdGV4dCAgICA9IGN1cnJlbnQudGl0bGUsDQoJCQkJdHlwZSAgICA9IG9wdHMudHlwZSwNCgkJCQl0aXRsZSwNCgkJCQl0YXJnZXQ7DQoNCgkJCWlmICgkLmlzRnVuY3Rpb24odGV4dCkpIHsNCgkJCQl0ZXh0ID0gdGV4dC5jYWxsKGN1cnJlbnQuZWxlbWVudCwgY3VycmVudCk7DQoJCQl9DQoNCgkJCWlmICghaXNTdHJpbmcodGV4dCkgfHwgJC50cmltKHRleHQpID09PSAnJykgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJdGl0bGUgPSAkKCc8ZGl2IGNsYXNzPSJmYW5jeWJveC10aXRsZSBmYW5jeWJveC10aXRsZS0nICsgdHlwZSArICctd3JhcCI+JyArIHRleHQgKyAnPC9kaXY+Jyk7DQoNCgkJCXN3aXRjaCAodHlwZSkgew0KCQkJCWNhc2UgJ2luc2lkZSc6DQoJCQkJCXRhcmdldCA9IEYuc2tpbjsNCgkJCQlicmVhazsNCg0KCQkJCWNhc2UgJ291dHNpZGUnOg0KCQkJCQl0YXJnZXQgPSBGLndyYXA7DQoJCQkJYnJlYWs7DQoNCgkJCQljYXNlICdvdmVyJzoNCgkJCQkJdGFyZ2V0ID0gRi5pbm5lcjsNCgkJCQlicmVhazsNCg0KCQkJCWRlZmF1bHQ6IC8vICdmbG9hdCcNCgkJCQkJdGFyZ2V0ID0gRi5za2luOw0KDQoJCQkJCXRpdGxlLmFwcGVuZFRvKCdib2R5Jyk7DQoNCgkJCQkJaWYgKElFKSB7DQoJCQkJCQl0aXRsZS53aWR0aCggdGl0bGUud2lkdGgoKSApOw0KCQkJCQl9DQoNCgkJCQkJdGl0bGUud3JhcElubmVyKCc8c3BhbiBjbGFzcz0iY2hpbGQiPjwvc3Bhbj4nKTsNCg0KCQkJCQkvL0luY3JlYXNlIGJvdHRvbSBtYXJnaW4gc28gdGhpcyB0aXRsZSB3aWxsIGFsc28gZml0IGludG8gdmlld3BvcnQNCgkJCQkJRi5jdXJyZW50Lm1hcmdpblsyXSArPSBNYXRoLmFicyggZ2V0U2NhbGFyKHRpdGxlLmNzcygnbWFyZ2luLWJvdHRvbScpKSApOw0KCQkJCWJyZWFrOw0KCQkJfQ0KDQoJCQl0aXRsZVsgKG9wdHMucG9zaXRpb24gPT09ICd0b3AnID8gJ3ByZXBlbmRUbycgIDogJ2FwcGVuZFRvJykgXSh0YXJnZXQpOw0KCQl9DQoJfTsNCg0KCS8vIGpRdWVyeSBwbHVnaW4gaW5pdGlhbGl6YXRpb24NCgkkLmZuLmZhbmN5Ym94ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHsNCgkJdmFyIGluZGV4LA0KCQkJdGhhdCAgICAgPSAkKHRoaXMpLA0KCQkJc2VsZWN0b3IgPSB0aGlzLnNlbGVjdG9yIHx8ICcnLA0KCQkJcnVuICAgICAgPSBmdW5jdGlvbihlKSB7DQoJCQkJdmFyIHdoYXQgPSAkKHRoaXMpLmJsdXIoKSwgaWR4ID0gaW5kZXgsIHJlbFR5cGUsIHJlbFZhbDsNCg0KCQkJCWlmICghKGUuY3RybEtleSB8fCBlLmFsdEtleSB8fCBlLnNoaWZ0S2V5IHx8IGUubWV0YUtleSkgJiYgIXdoYXQuaXMoJy5mYW5jeWJveC13cmFwJykpIHsNCgkJCQkJcmVsVHlwZSA9IG9wdGlvbnMuZ3JvdXBBdHRyIHx8ICdkYXRhLWZhbmN5Ym94LWdyb3VwJzsNCgkJCQkJcmVsVmFsICA9IHdoYXQuYXR0cihyZWxUeXBlKTsNCg0KCQkJCQlpZiAoIXJlbFZhbCkgew0KCQkJCQkJcmVsVHlwZSA9ICdyZWwnOw0KCQkJCQkJcmVsVmFsICA9IHdoYXQuZ2V0KDApWyByZWxUeXBlIF07DQoJCQkJCX0NCg0KCQkJCQlpZiAocmVsVmFsICYmIHJlbFZhbCAhPT0gJycgJiYgcmVsVmFsICE9PSAnbm9mb2xsb3cnKSB7DQoJCQkJCQl3aGF0ID0gc2VsZWN0b3IubGVuZ3RoID8gJChzZWxlY3RvcikgOiB0aGF0Ow0KCQkJCQkJd2hhdCA9IHdoYXQuZmlsdGVyKCdbJyArIHJlbFR5cGUgKyAnPSInICsgcmVsVmFsICsgJyJdJyk7DQoJCQkJCQlpZHggID0gd2hhdC5pbmRleCh0aGlzKTsNCgkJCQkJfQ0KDQoJCQkJCW9wdGlvbnMuaW5kZXggPSBpZHg7DQoNCgkJCQkJLy8gU3RvcCBhbiBldmVudCBmcm9tIGJ1YmJsaW5nIGlmIGV2ZXJ5dGhpbmcgaXMgZmluZQ0KCQkJCQlpZiAoRi5vcGVuKHdoYXQsIG9wdGlvbnMpICE9PSBmYWxzZSkgew0KCQkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfTsNCg0KCQlvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsNCgkJaW5kZXggICA9IG9wdGlvbnMuaW5kZXggfHwgMDsNCg0KCQlpZiAoIXNlbGVjdG9yIHx8IG9wdGlvbnMubGl2ZSA9PT0gZmFsc2UpIHsNCgkJCXRoYXQudW5iaW5kKCdjbGljay5mYi1zdGFydCcpLmJpbmQoJ2NsaWNrLmZiLXN0YXJ0JywgcnVuKTsNCg0KCQl9IGVsc2Ugew0KCQkJRC51bmRlbGVnYXRlKHNlbGVjdG9yLCAnY2xpY2suZmItc3RhcnQnKS5kZWxlZ2F0ZShzZWxlY3RvciArICI6bm90KCcuZmFuY3lib3gtaXRlbSwgLmZhbmN5Ym94LW5hdicpIiwgJ2NsaWNrLmZiLXN0YXJ0JywgcnVuKTsNCgkJfQ0KDQoJCXRoaXMuZmlsdGVyKCdbZGF0YS1mYW5jeWJveC1zdGFydD0xXScpLnRyaWdnZXIoJ2NsaWNrJyk7DQoNCgkJcmV0dXJuIHRoaXM7DQoJfTsNCg0KCS8vIFRlc3RzIHRoYXQgbmVlZCBhIGJvZHkgYXQgZG9jIHJlYWR5DQoJRC5yZWFkeShmdW5jdGlvbigpIHsNCgkJdmFyIHcxLCB3MjsNCg0KCQlpZiAoICQuc2Nyb2xsYmFyV2lkdGggPT09IHVuZGVmaW5lZCApIHsNCgkJCS8vIGh0dHA6Ly9iZW5hbG1hbi5jb20vcHJvamVjdHMvanF1ZXJ5LW1pc2MtcGx1Z2lucy8jc2Nyb2xsYmFyd2lkdGgNCgkJCSQuc2Nyb2xsYmFyV2lkdGggPSBmdW5jdGlvbigpIHsNCgkJCQl2YXIgcGFyZW50ID0gJCgnPGRpdiBzdHlsZT0id2lkdGg6NTBweDtoZWlnaHQ6NTBweDtvdmVyZmxvdzphdXRvIj48ZGl2Lz48L2Rpdj4nKS5hcHBlbmRUbygnYm9keScpLA0KCQkJCQljaGlsZCAgPSBwYXJlbnQuY2hpbGRyZW4oKSwNCgkJCQkJd2lkdGggID0gY2hpbGQuaW5uZXJXaWR0aCgpIC0gY2hpbGQuaGVpZ2h0KCA5OSApLmlubmVyV2lkdGgoKTsNCg0KCQkJCXBhcmVudC5yZW1vdmUoKTsNCg0KCQkJCXJldHVybiB3aWR0aDsNCgkJCX07DQoJCX0NCg0KCQlpZiAoICQuc3VwcG9ydC5maXhlZFBvc2l0aW9uID09PSB1bmRlZmluZWQgKSB7DQoJCQkkLnN1cHBvcnQuZml4ZWRQb3NpdGlvbiA9IChmdW5jdGlvbigpIHsNCgkJCQl2YXIgZWxlbSAgPSAkKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjpmaXhlZDt0b3A6MjBweDsiPjwvZGl2PicpLmFwcGVuZFRvKCdib2R5JyksDQoJCQkJCWZpeGVkID0gKCBlbGVtWzBdLm9mZnNldFRvcCA9PT0gMjAgfHwgZWxlbVswXS5vZmZzZXRUb3AgPT09IDE1ICk7DQoNCgkJCQllbGVtLnJlbW92ZSgpOw0KDQoJCQkJcmV0dXJuIGZpeGVkOw0KCQkJfSgpKTsNCgkJfQ0KDQoJCSQuZXh0ZW5kKEYuZGVmYXVsdHMsIHsNCgkJCXNjcm9sbGJhcldpZHRoIDogJC5zY3JvbGxiYXJXaWR0aCgpLA0KCQkJZml4ZWQgIDogJC5zdXBwb3J0LmZpeGVkUG9zaXRpb24sDQoJCQlwYXJlbnQgOiAkKCdib2R5JykNCgkJfSk7DQoNCgkJLy9HZXQgcmVhbCB3aWR0aCBvZiBwYWdlIHNjcm9sbC1iYXINCgkJdzEgPSAkKHdpbmRvdykud2lkdGgoKTsNCg0KCQlILmFkZENsYXNzKCdmYW5jeWJveC1sb2NrLXRlc3QnKTsNCg0KCQl3MiA9ICQod2luZG93KS53aWR0aCgpOw0KDQoJCUgucmVtb3ZlQ2xhc3MoJ2ZhbmN5Ym94LWxvY2stdGVzdCcpOw0KDQoJCSQoIjxzdHlsZSB0eXBlPSd0ZXh0L2Nzcyc+LmZhbmN5Ym94LW1hcmdpbnttYXJnaW4tcmlnaHQ6IiArICh3MiAtIHcxKSArICJweDt9PC9zdHlsZT4iKS5hcHBlbmRUbygiaGVhZCIpOw0KCX0pOw0KDQp9KHdpbmRvdywgZG9jdW1lbnQsIGpRdWVyeSkpOw==]]></data>
	</file>
	<file>
	  <filename>/scripts/fancybox/jquery.fancybox.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGZhbmN5Qm94IHYyLjEuNSBmYW5jeWFwcHMuY29tIHwgZmFuY3lhcHBzLmNvbS9mYW5jeWJveC8jbGljZW5zZSAqLw0KKGZ1bmN0aW9uKHIsRyxmLHYpe3ZhciBKPWYoImh0bWwiKSxuPWYocikscD1mKEcpLGI9Zi5mYW5jeWJveD1mdW5jdGlvbigpe2Iub3Blbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LEk9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvbXNpZS9pKSxCPW51bGwscz1HLmNyZWF0ZVRvdWNoIT09dix0PWZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLmhhc093blByb3BlcnR5JiZhIGluc3RhbmNlb2YgZn0scT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmInN0cmluZyI9PT1mLnR5cGUoYSl9LEU9ZnVuY3Rpb24oYSl7cmV0dXJuIHEoYSkmJjA8YS5pbmRleE9mKCIlIil9LGw9ZnVuY3Rpb24oYSxkKXt2YXIgZT1wYXJzZUludChhLDEwKXx8MDtkJiZFKGEpJiYoZSo9Yi5nZXRWaWV3cG9ydCgpW2RdLzEwMCk7cmV0dXJuIE1hdGguY2VpbChlKX0sdz1mdW5jdGlvbihhLGIpe3JldHVybiBsKGEsYikrInB4In07Zi5leHRlbmQoYix7dmVyc2lvbjoiMi4xLjUiLGRlZmF1bHRzOntwYWRkaW5nOjE1LG1hcmdpbjoyMCwNCndpZHRoOjgwMCxoZWlnaHQ6NjAwLG1pbldpZHRoOjEwMCxtaW5IZWlnaHQ6MTAwLG1heFdpZHRoOjk5OTksbWF4SGVpZ2h0Ojk5OTkscGl4ZWxSYXRpbzoxLGF1dG9TaXplOiEwLGF1dG9IZWlnaHQ6ITEsYXV0b1dpZHRoOiExLGF1dG9SZXNpemU6ITAsYXV0b0NlbnRlcjohcyxmaXRUb1ZpZXc6ITAsYXNwZWN0UmF0aW86ITEsdG9wUmF0aW86MC41LGxlZnRSYXRpbzowLjUsc2Nyb2xsaW5nOiJhdXRvIix3cmFwQ1NTOiIiLGFycm93czohMCxjbG9zZUJ0bjohMCxjbG9zZUNsaWNrOiExLG5leHRDbGljazohMSxtb3VzZVdoZWVsOiEwLGF1dG9QbGF5OiExLHBsYXlTcGVlZDozRTMscHJlbG9hZDozLG1vZGFsOiExLGxvb3A6ITAsYWpheDp7ZGF0YVR5cGU6Imh0bWwiLGhlYWRlcnM6eyJYLWZhbmN5Qm94IjohMH19LGlmcmFtZTp7c2Nyb2xsaW5nOiJhdXRvIixwcmVsb2FkOiEwfSxzd2Y6e3dtb2RlOiJ0cmFuc3BhcmVudCIsYWxsb3dmdWxsc2NyZWVuOiJ0cnVlIixhbGxvd3NjcmlwdGFjY2VzczoiYWx3YXlzIn0sDQprZXlzOntuZXh0OnsxMzoibGVmdCIsMzQ6InVwIiwzOToibGVmdCIsNDA6InVwIn0scHJldjp7ODoicmlnaHQiLDMzOiJkb3duIiwzNzoicmlnaHQiLDM4OiJkb3duIn0sY2xvc2U6WzI3XSxwbGF5OlszMl0sdG9nZ2xlOls3MF19LGRpcmVjdGlvbjp7bmV4dDoibGVmdCIscHJldjoicmlnaHQifSxzY3JvbGxPdXRzaWRlOiEwLGluZGV4OjAsdHlwZTpudWxsLGhyZWY6bnVsbCxjb250ZW50Om51bGwsdGl0bGU6bnVsbCx0cGw6e3dyYXA6JzxkaXYgY2xhc3M9ImZhbmN5Ym94LXdyYXAiIHRhYkluZGV4PSItMSI+PGRpdiBjbGFzcz0iZmFuY3lib3gtc2tpbiI+PGRpdiBjbGFzcz0iZmFuY3lib3gtb3V0ZXIiPjxkaXYgY2xhc3M9ImZhbmN5Ym94LWlubmVyIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4nLGltYWdlOic8aW1nIGNsYXNzPSJmYW5jeWJveC1pbWFnZSIgc3JjPSJ7aHJlZn0iIGFsdD0iIiAvPicsaWZyYW1lOic8aWZyYW1lIGlkPSJmYW5jeWJveC1mcmFtZXtybmR9IiBuYW1lPSJmYW5jeWJveC1mcmFtZXtybmR9IiBjbGFzcz0iZmFuY3lib3gtaWZyYW1lIiBmcmFtZWJvcmRlcj0iMCIgdnNwYWNlPSIwIiBoc3BhY2U9IjAiIHdlYmtpdEFsbG93RnVsbFNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gYWxsb3dGdWxsU2NyZWVuJysNCihJPycgYWxsb3d0cmFuc3BhcmVuY3k9InRydWUiJzoiIikrIj48L2lmcmFtZT4iLGVycm9yOic8cCBjbGFzcz0iZmFuY3lib3gtZXJyb3IiPlRoZSByZXF1ZXN0ZWQgY29udGVudCBjYW5ub3QgYmUgbG9hZGVkLjxici8+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci48L3A+JyxjbG9zZUJ0bjonPGEgdGl0bGU9IkNsb3NlIiBjbGFzcz0iZmFuY3lib3gtaXRlbSBmYW5jeWJveC1jbG9zZSIgaHJlZj0iamF2YXNjcmlwdDo7Ij48L2E+JyxuZXh0Oic8YSB0aXRsZT0iTmV4dCIgY2xhc3M9ImZhbmN5Ym94LW5hdiBmYW5jeWJveC1uZXh0IiBocmVmPSJqYXZhc2NyaXB0OjsiPjxzcGFuPjwvc3Bhbj48L2E+JyxwcmV2Oic8YSB0aXRsZT0iUHJldmlvdXMiIGNsYXNzPSJmYW5jeWJveC1uYXYgZmFuY3lib3gtcHJldiIgaHJlZj0iamF2YXNjcmlwdDo7Ij48c3Bhbj48L3NwYW4+PC9hPid9LG9wZW5FZmZlY3Q6ImZhZGUiLG9wZW5TcGVlZDoyNTAsb3BlbkVhc2luZzoic3dpbmciLG9wZW5PcGFjaXR5OiEwLA0Kb3Blbk1ldGhvZDoiem9vbUluIixjbG9zZUVmZmVjdDoiZmFkZSIsY2xvc2VTcGVlZDoyNTAsY2xvc2VFYXNpbmc6InN3aW5nIixjbG9zZU9wYWNpdHk6ITAsY2xvc2VNZXRob2Q6Inpvb21PdXQiLG5leHRFZmZlY3Q6ImVsYXN0aWMiLG5leHRTcGVlZDoyNTAsbmV4dEVhc2luZzoic3dpbmciLG5leHRNZXRob2Q6ImNoYW5nZUluIixwcmV2RWZmZWN0OiJlbGFzdGljIixwcmV2U3BlZWQ6MjUwLHByZXZFYXNpbmc6InN3aW5nIixwcmV2TWV0aG9kOiJjaGFuZ2VPdXQiLGhlbHBlcnM6e292ZXJsYXk6ITAsdGl0bGU6ITB9LG9uQ2FuY2VsOmYubm9vcCxiZWZvcmVMb2FkOmYubm9vcCxhZnRlckxvYWQ6Zi5ub29wLGJlZm9yZVNob3c6Zi5ub29wLGFmdGVyU2hvdzpmLm5vb3AsYmVmb3JlQ2hhbmdlOmYubm9vcCxiZWZvcmVDbG9zZTpmLm5vb3AsYWZ0ZXJDbG9zZTpmLm5vb3B9LGdyb3VwOnt9LG9wdHM6e30scHJldmlvdXM6bnVsbCxjb21pbmc6bnVsbCxjdXJyZW50Om51bGwsaXNBY3RpdmU6ITEsDQppc09wZW46ITEsaXNPcGVuZWQ6ITEsd3JhcDpudWxsLHNraW46bnVsbCxvdXRlcjpudWxsLGlubmVyOm51bGwscGxheWVyOnt0aW1lcjpudWxsLGlzQWN0aXZlOiExfSxhamF4TG9hZDpudWxsLGltZ1ByZWxvYWQ6bnVsbCx0cmFuc2l0aW9uczp7fSxoZWxwZXJzOnt9LG9wZW46ZnVuY3Rpb24oYSxkKXtpZihhJiYoZi5pc1BsYWluT2JqZWN0KGQpfHwoZD17fSksITEhPT1iLmNsb3NlKCEwKSkpcmV0dXJuIGYuaXNBcnJheShhKXx8KGE9dChhKT9mKGEpLmdldCgpOlthXSksZi5lYWNoKGEsZnVuY3Rpb24oZSxjKXt2YXIgaz17fSxnLGgsaixtLGw7Im9iamVjdCI9PT1mLnR5cGUoYykmJihjLm5vZGVUeXBlJiYoYz1mKGMpKSx0KGMpPyhrPXtocmVmOmMuZGF0YSgiZmFuY3lib3gtaHJlZiIpfHxjLmF0dHIoImhyZWYiKSx0aXRsZTpjLmRhdGEoImZhbmN5Ym94LXRpdGxlIil8fGMuYXR0cigidGl0bGUiKSxpc0RvbTohMCxlbGVtZW50OmN9LGYubWV0YWRhdGEmJmYuZXh0ZW5kKCEwLGssDQpjLm1ldGFkYXRhKCkpKTprPWMpO2c9ZC5ocmVmfHxrLmhyZWZ8fChxKGMpP2M6bnVsbCk7aD1kLnRpdGxlIT09dj9kLnRpdGxlOmsudGl0bGV8fCIiO209KGo9ZC5jb250ZW50fHxrLmNvbnRlbnQpPyJodG1sIjpkLnR5cGV8fGsudHlwZTshbSYmay5pc0RvbSYmKG09Yy5kYXRhKCJmYW5jeWJveC10eXBlIiksbXx8KG09KG09Yy5wcm9wKCJjbGFzcyIpLm1hdGNoKC9mYW5jeWJveFwuKFx3KykvKSk/bVsxXTpudWxsKSk7cShnKSYmKG18fChiLmlzSW1hZ2UoZyk/bT0iaW1hZ2UiOmIuaXNTV0YoZyk/bT0ic3dmIjoiIyI9PT1nLmNoYXJBdCgwKT9tPSJpbmxpbmUiOnEoYykmJihtPSJodG1sIixqPWMpKSwiYWpheCI9PT1tJiYobD1nLnNwbGl0KC9ccysvLDIpLGc9bC5zaGlmdCgpLGw9bC5zaGlmdCgpKSk7anx8KCJpbmxpbmUiPT09bT9nP2o9ZihxKGcpP2cucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKTpnKTprLmlzRG9tJiYoaj1jKToiaHRtbCI9PT1tP2o9ZzohbSYmKCFnJiYNCmsuaXNEb20pJiYobT0iaW5saW5lIixqPWMpKTtmLmV4dGVuZChrLHtocmVmOmcsdHlwZTptLGNvbnRlbnQ6aix0aXRsZTpoLHNlbGVjdG9yOmx9KTthW2VdPWt9KSxiLm9wdHM9Zi5leHRlbmQoITAse30sYi5kZWZhdWx0cyxkKSxkLmtleXMhPT12JiYoYi5vcHRzLmtleXM9ZC5rZXlzP2YuZXh0ZW5kKHt9LGIuZGVmYXVsdHMua2V5cyxkLmtleXMpOiExKSxiLmdyb3VwPWEsYi5fc3RhcnQoYi5vcHRzLmluZGV4KX0sY2FuY2VsOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jb21pbmc7YSYmITEhPT1iLnRyaWdnZXIoIm9uQ2FuY2VsIikmJihiLmhpZGVMb2FkaW5nKCksYi5hamF4TG9hZCYmYi5hamF4TG9hZC5hYm9ydCgpLGIuYWpheExvYWQ9bnVsbCxiLmltZ1ByZWxvYWQmJihiLmltZ1ByZWxvYWQub25sb2FkPWIuaW1nUHJlbG9hZC5vbmVycm9yPW51bGwpLGEud3JhcCYmYS53cmFwLnN0b3AoITAsITApLnRyaWdnZXIoIm9uUmVzZXQiKS5yZW1vdmUoKSxiLmNvbWluZz1udWxsLGIuY3VycmVudHx8DQpiLl9hZnRlclpvb21PdXQoYSkpfSxjbG9zZTpmdW5jdGlvbihhKXtiLmNhbmNlbCgpOyExIT09Yi50cmlnZ2VyKCJiZWZvcmVDbG9zZSIpJiYoYi51bmJpbmRFdmVudHMoKSxiLmlzQWN0aXZlJiYoIWIuaXNPcGVufHwhMD09PWE/KGYoIi5mYW5jeWJveC13cmFwIikuc3RvcCghMCkudHJpZ2dlcigib25SZXNldCIpLnJlbW92ZSgpLGIuX2FmdGVyWm9vbU91dCgpKTooYi5pc09wZW49Yi5pc09wZW5lZD0hMSxiLmlzQ2xvc2luZz0hMCxmKCIuZmFuY3lib3gtaXRlbSwgLmZhbmN5Ym94LW5hdiIpLnJlbW92ZSgpLGIud3JhcC5zdG9wKCEwLCEwKS5yZW1vdmVDbGFzcygiZmFuY3lib3gtb3BlbmVkIiksYi50cmFuc2l0aW9uc1tiLmN1cnJlbnQuY2xvc2VNZXRob2RdKCkpKSl9LHBsYXk6ZnVuY3Rpb24oYSl7dmFyIGQ9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoYi5wbGF5ZXIudGltZXIpfSxlPWZ1bmN0aW9uKCl7ZCgpO2IuY3VycmVudCYmYi5wbGF5ZXIuaXNBY3RpdmUmJihiLnBsYXllci50aW1lcj0NCnNldFRpbWVvdXQoYi5uZXh0LGIuY3VycmVudC5wbGF5U3BlZWQpKX0sYz1mdW5jdGlvbigpe2QoKTtwLnVuYmluZCgiLnBsYXllciIpO2IucGxheWVyLmlzQWN0aXZlPSExO2IudHJpZ2dlcigib25QbGF5RW5kIil9O2lmKCEwPT09YXx8IWIucGxheWVyLmlzQWN0aXZlJiYhMSE9PWEpe2lmKGIuY3VycmVudCYmKGIuY3VycmVudC5sb29wfHxiLmN1cnJlbnQuaW5kZXg8Yi5ncm91cC5sZW5ndGgtMSkpYi5wbGF5ZXIuaXNBY3RpdmU9ITAscC5iaW5kKHsib25DYW5jZWwucGxheWVyIGJlZm9yZUNsb3NlLnBsYXllciI6Yywib25VcGRhdGUucGxheWVyIjplLCJiZWZvcmVMb2FkLnBsYXllciI6ZH0pLGUoKSxiLnRyaWdnZXIoIm9uUGxheVN0YXJ0Iil9ZWxzZSBjKCl9LG5leHQ6ZnVuY3Rpb24oYSl7dmFyIGQ9Yi5jdXJyZW50O2QmJihxKGEpfHwoYT1kLmRpcmVjdGlvbi5uZXh0KSxiLmp1bXB0byhkLmluZGV4KzEsYSwibmV4dCIpKX0scHJldjpmdW5jdGlvbihhKXt2YXIgZD1iLmN1cnJlbnQ7DQpkJiYocShhKXx8KGE9ZC5kaXJlY3Rpb24ucHJldiksYi5qdW1wdG8oZC5pbmRleC0xLGEsInByZXYiKSl9LGp1bXB0bzpmdW5jdGlvbihhLGQsZSl7dmFyIGM9Yi5jdXJyZW50O2MmJihhPWwoYSksYi5kaXJlY3Rpb249ZHx8Yy5kaXJlY3Rpb25bYT49Yy5pbmRleD8ibmV4dCI6InByZXYiXSxiLnJvdXRlcj1lfHwianVtcHRvIixjLmxvb3AmJigwPmEmJihhPWMuZ3JvdXAubGVuZ3RoK2ElYy5ncm91cC5sZW5ndGgpLGElPWMuZ3JvdXAubGVuZ3RoKSxjLmdyb3VwW2FdIT09diYmKGIuY2FuY2VsKCksYi5fc3RhcnQoYSkpKX0scmVwb3NpdGlvbjpmdW5jdGlvbihhLGQpe3ZhciBlPWIuY3VycmVudCxjPWU/ZS53cmFwOm51bGwsaztjJiYoaz1iLl9nZXRQb3NpdGlvbihkKSxhJiYic2Nyb2xsIj09PWEudHlwZT8oZGVsZXRlIGsucG9zaXRpb24sYy5zdG9wKCEwLCEwKS5hbmltYXRlKGssMjAwKSk6KGMuY3NzKGspLGUucG9zPWYuZXh0ZW5kKHt9LGUuZGltLGspKSl9LHVwZGF0ZTpmdW5jdGlvbihhKXt2YXIgZD0NCmEmJmEudHlwZSxlPSFkfHwib3JpZW50YXRpb25jaGFuZ2UiPT09ZDtlJiYoY2xlYXJUaW1lb3V0KEIpLEI9bnVsbCk7Yi5pc09wZW4mJiFCJiYoQj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGM9Yi5jdXJyZW50O2MmJiFiLmlzQ2xvc2luZyYmKGIud3JhcC5yZW1vdmVDbGFzcygiZmFuY3lib3gtdG1wIiksKGV8fCJsb2FkIj09PWR8fCJyZXNpemUiPT09ZCYmYy5hdXRvUmVzaXplKSYmYi5fc2V0RGltZW5zaW9uKCksInNjcm9sbCI9PT1kJiZjLmNhblNocmlua3x8Yi5yZXBvc2l0aW9uKGEpLGIudHJpZ2dlcigib25VcGRhdGUiKSxCPW51bGwpfSxlJiYhcz8wOjMwMCkpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7Yi5pc09wZW4mJihiLmN1cnJlbnQuZml0VG9WaWV3PSJib29sZWFuIj09PWYudHlwZShhKT9hOiFiLmN1cnJlbnQuZml0VG9WaWV3LHMmJihiLndyYXAucmVtb3ZlQXR0cigic3R5bGUiKS5hZGRDbGFzcygiZmFuY3lib3gtdG1wIiksYi50cmlnZ2VyKCJvblVwZGF0ZSIpKSwNCmIudXBkYXRlKCkpfSxoaWRlTG9hZGluZzpmdW5jdGlvbigpe3AudW5iaW5kKCIubG9hZGluZyIpO2YoIiNmYW5jeWJveC1sb2FkaW5nIikucmVtb3ZlKCl9LHNob3dMb2FkaW5nOmZ1bmN0aW9uKCl7dmFyIGEsZDtiLmhpZGVMb2FkaW5nKCk7YT1mKCc8ZGl2IGlkPSJmYW5jeWJveC1sb2FkaW5nIj48ZGl2PjwvZGl2PjwvZGl2PicpLmNsaWNrKGIuY2FuY2VsKS5hcHBlbmRUbygiYm9keSIpO3AuYmluZCgia2V5ZG93bi5sb2FkaW5nIixmdW5jdGlvbihhKXtpZigyNz09PShhLndoaWNofHxhLmtleUNvZGUpKWEucHJldmVudERlZmF1bHQoKSxiLmNhbmNlbCgpfSk7Yi5kZWZhdWx0cy5maXhlZHx8KGQ9Yi5nZXRWaWV3cG9ydCgpLGEuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLjUqZC5oK2QueSxsZWZ0OjAuNSpkLncrZC54fSkpfSxnZXRWaWV3cG9ydDpmdW5jdGlvbigpe3ZhciBhPWIuY3VycmVudCYmYi5jdXJyZW50LmxvY2tlZHx8ITEsZD17eDpuLnNjcm9sbExlZnQoKSwNCnk6bi5zY3JvbGxUb3AoKX07YT8oZC53PWFbMF0uY2xpZW50V2lkdGgsZC5oPWFbMF0uY2xpZW50SGVpZ2h0KTooZC53PXMmJnIuaW5uZXJXaWR0aD9yLmlubmVyV2lkdGg6bi53aWR0aCgpLGQuaD1zJiZyLmlubmVySGVpZ2h0P3IuaW5uZXJIZWlnaHQ6bi5oZWlnaHQoKSk7cmV0dXJuIGR9LHVuYmluZEV2ZW50czpmdW5jdGlvbigpe2Iud3JhcCYmdChiLndyYXApJiZiLndyYXAudW5iaW5kKCIuZmIiKTtwLnVuYmluZCgiLmZiIik7bi51bmJpbmQoIi5mYiIpfSxiaW5kRXZlbnRzOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jdXJyZW50LGQ7YSYmKG4uYmluZCgib3JpZW50YXRpb25jaGFuZ2UuZmIiKyhzPyIiOiIgcmVzaXplLmZiIikrKGEuYXV0b0NlbnRlciYmIWEubG9ja2VkPyIgc2Nyb2xsLmZiIjoiIiksYi51cGRhdGUpLChkPWEua2V5cykmJnAuYmluZCgia2V5ZG93bi5mYiIsZnVuY3Rpb24oZSl7dmFyIGM9ZS53aGljaHx8ZS5rZXlDb2RlLGs9ZS50YXJnZXR8fGUuc3JjRWxlbWVudDsNCmlmKDI3PT09YyYmYi5jb21pbmcpcmV0dXJuITE7IWUuY3RybEtleSYmKCFlLmFsdEtleSYmIWUuc2hpZnRLZXkmJiFlLm1ldGFLZXkmJigha3x8IWsudHlwZSYmIWYoaykuaXMoIltjb250ZW50ZWRpdGFibGVdIikpKSYmZi5lYWNoKGQsZnVuY3Rpb24oZCxrKXtpZigxPGEuZ3JvdXAubGVuZ3RoJiZrW2NdIT09dilyZXR1cm4gYltkXShrW2NdKSxlLnByZXZlbnREZWZhdWx0KCksITE7aWYoLTE8Zi5pbkFycmF5KGMsaykpcmV0dXJuIGJbZF0oKSxlLnByZXZlbnREZWZhdWx0KCksITF9KX0pLGYuZm4ubW91c2V3aGVlbCYmYS5tb3VzZVdoZWVsJiZiLndyYXAuYmluZCgibW91c2V3aGVlbC5mYiIsZnVuY3Rpb24oZCxjLGssZyl7Zm9yKHZhciBoPWYoZC50YXJnZXR8fG51bGwpLGo9ITE7aC5sZW5ndGgmJiFqJiYhaC5pcygiLmZhbmN5Ym94LXNraW4iKSYmIWguaXMoIi5mYW5jeWJveC13cmFwIik7KWo9aFswXSYmIShoWzBdLnN0eWxlLm92ZXJmbG93JiYiaGlkZGVuIj09PWhbMF0uc3R5bGUub3ZlcmZsb3cpJiYNCihoWzBdLmNsaWVudFdpZHRoJiZoWzBdLnNjcm9sbFdpZHRoPmhbMF0uY2xpZW50V2lkdGh8fGhbMF0uY2xpZW50SGVpZ2h0JiZoWzBdLnNjcm9sbEhlaWdodD5oWzBdLmNsaWVudEhlaWdodCksaD1mKGgpLnBhcmVudCgpO2lmKDAhPT1jJiYhaiYmMTxiLmdyb3VwLmxlbmd0aCYmIWEuY2FuU2hyaW5rKXtpZigwPGd8fDA8ayliLnByZXYoMDxnPyJkb3duIjoibGVmdCIpO2Vsc2UgaWYoMD5nfHwwPmspYi5uZXh0KDA+Zz8idXAiOiJyaWdodCIpO2QucHJldmVudERlZmF1bHQoKX19KSl9LHRyaWdnZXI6ZnVuY3Rpb24oYSxkKXt2YXIgZSxjPWR8fGIuY29taW5nfHxiLmN1cnJlbnQ7aWYoYyl7Zi5pc0Z1bmN0aW9uKGNbYV0pJiYoZT1jW2FdLmFwcGx5KGMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKSk7aWYoITE9PT1lKXJldHVybiExO2MuaGVscGVycyYmZi5lYWNoKGMuaGVscGVycyxmdW5jdGlvbihkLGUpe2lmKGUmJmIuaGVscGVyc1tkXSYmZi5pc0Z1bmN0aW9uKGIuaGVscGVyc1tkXVthXSkpYi5oZWxwZXJzW2RdW2FdKGYuZXh0ZW5kKCEwLA0Ke30sYi5oZWxwZXJzW2RdLmRlZmF1bHRzLGUpLGMpfSk7cC50cmlnZ2VyKGEpfX0saXNJbWFnZTpmdW5jdGlvbihhKXtyZXR1cm4gcShhKSYmYS5tYXRjaCgvKF5kYXRhOmltYWdlXC8uKiwpfChcLihqcChlfGd8ZWcpfGdpZnxwbmd8Ym1wfHdlYnB8c3ZnKSgoXD98IykuKik/JCkvaSl9LGlzU1dGOmZ1bmN0aW9uKGEpe3JldHVybiBxKGEpJiZhLm1hdGNoKC9cLihzd2YpKChcP3wjKS4qKT8kL2kpfSxfc3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGQ9e30sZSxjO2E9bChhKTtlPWIuZ3JvdXBbYV18fG51bGw7aWYoIWUpcmV0dXJuITE7ZD1mLmV4dGVuZCghMCx7fSxiLm9wdHMsZSk7ZT1kLm1hcmdpbjtjPWQucGFkZGluZzsibnVtYmVyIj09PWYudHlwZShlKSYmKGQubWFyZ2luPVtlLGUsZSxlXSk7Im51bWJlciI9PT1mLnR5cGUoYykmJihkLnBhZGRpbmc9W2MsYyxjLGNdKTtkLm1vZGFsJiZmLmV4dGVuZCghMCxkLHtjbG9zZUJ0bjohMSxjbG9zZUNsaWNrOiExLG5leHRDbGljazohMSxhcnJvd3M6ITEsDQptb3VzZVdoZWVsOiExLGtleXM6bnVsbCxoZWxwZXJzOntvdmVybGF5OntjbG9zZUNsaWNrOiExfX19KTtkLmF1dG9TaXplJiYoZC5hdXRvV2lkdGg9ZC5hdXRvSGVpZ2h0PSEwKTsiYXV0byI9PT1kLndpZHRoJiYoZC5hdXRvV2lkdGg9ITApOyJhdXRvIj09PWQuaGVpZ2h0JiYoZC5hdXRvSGVpZ2h0PSEwKTtkLmdyb3VwPWIuZ3JvdXA7ZC5pbmRleD1hO2IuY29taW5nPWQ7aWYoITE9PT1iLnRyaWdnZXIoImJlZm9yZUxvYWQiKSliLmNvbWluZz1udWxsO2Vsc2V7Yz1kLnR5cGU7ZT1kLmhyZWY7aWYoIWMpcmV0dXJuIGIuY29taW5nPW51bGwsYi5jdXJyZW50JiZiLnJvdXRlciYmImp1bXB0byIhPT1iLnJvdXRlcj8oYi5jdXJyZW50LmluZGV4PWEsYltiLnJvdXRlcl0oYi5kaXJlY3Rpb24pKTohMTtiLmlzQWN0aXZlPSEwO2lmKCJpbWFnZSI9PT1jfHwic3dmIj09PWMpZC5hdXRvSGVpZ2h0PWQuYXV0b1dpZHRoPSExLGQuc2Nyb2xsaW5nPSJ2aXNpYmxlIjsiaW1hZ2UiPT09YyYmKGQuYXNwZWN0UmF0aW89DQohMCk7ImlmcmFtZSI9PT1jJiZzJiYoZC5zY3JvbGxpbmc9InNjcm9sbCIpO2Qud3JhcD1mKGQudHBsLndyYXApLmFkZENsYXNzKCJmYW5jeWJveC0iKyhzPyJtb2JpbGUiOiJkZXNrdG9wIikrIiBmYW5jeWJveC10eXBlLSIrYysiIGZhbmN5Ym94LXRtcCAiK2Qud3JhcENTUykuYXBwZW5kVG8oZC5wYXJlbnR8fCJib2R5Iik7Zi5leHRlbmQoZCx7c2tpbjpmKCIuZmFuY3lib3gtc2tpbiIsZC53cmFwKSxvdXRlcjpmKCIuZmFuY3lib3gtb3V0ZXIiLGQud3JhcCksaW5uZXI6ZigiLmZhbmN5Ym94LWlubmVyIixkLndyYXApfSk7Zi5lYWNoKFsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sZnVuY3Rpb24oYSxiKXtkLnNraW4uY3NzKCJwYWRkaW5nIitiLHcoZC5wYWRkaW5nW2FdKSl9KTtiLnRyaWdnZXIoIm9uUmVhZHkiKTtpZigiaW5saW5lIj09PWN8fCJodG1sIj09PWMpe2lmKCFkLmNvbnRlbnR8fCFkLmNvbnRlbnQubGVuZ3RoKXJldHVybiBiLl9lcnJvcigiY29udGVudCIpfWVsc2UgaWYoIWUpcmV0dXJuIGIuX2Vycm9yKCJocmVmIik7DQoiaW1hZ2UiPT09Yz9iLl9sb2FkSW1hZ2UoKToiYWpheCI9PT1jP2IuX2xvYWRBamF4KCk6ImlmcmFtZSI9PT1jP2IuX2xvYWRJZnJhbWUoKTpiLl9hZnRlckxvYWQoKX19LF9lcnJvcjpmdW5jdGlvbihhKXtmLmV4dGVuZChiLmNvbWluZyx7dHlwZToiaHRtbCIsYXV0b1dpZHRoOiEwLGF1dG9IZWlnaHQ6ITAsbWluV2lkdGg6MCxtaW5IZWlnaHQ6MCxzY3JvbGxpbmc6Im5vIixoYXNFcnJvcjphLGNvbnRlbnQ6Yi5jb21pbmcudHBsLmVycm9yfSk7Yi5fYWZ0ZXJMb2FkKCl9LF9sb2FkSW1hZ2U6ZnVuY3Rpb24oKXt2YXIgYT1iLmltZ1ByZWxvYWQ9bmV3IEltYWdlO2Eub25sb2FkPWZ1bmN0aW9uKCl7dGhpcy5vbmxvYWQ9dGhpcy5vbmVycm9yPW51bGw7Yi5jb21pbmcud2lkdGg9dGhpcy53aWR0aC9iLm9wdHMucGl4ZWxSYXRpbztiLmNvbWluZy5oZWlnaHQ9dGhpcy5oZWlnaHQvYi5vcHRzLnBpeGVsUmF0aW87Yi5fYWZ0ZXJMb2FkKCl9O2Eub25lcnJvcj1mdW5jdGlvbigpe3RoaXMub25sb2FkPQ0KdGhpcy5vbmVycm9yPW51bGw7Yi5fZXJyb3IoImltYWdlIil9O2Euc3JjPWIuY29taW5nLmhyZWY7ITAhPT1hLmNvbXBsZXRlJiZiLnNob3dMb2FkaW5nKCl9LF9sb2FkQWpheDpmdW5jdGlvbigpe3ZhciBhPWIuY29taW5nO2Iuc2hvd0xvYWRpbmcoKTtiLmFqYXhMb2FkPWYuYWpheChmLmV4dGVuZCh7fSxhLmFqYXgse3VybDphLmhyZWYsZXJyb3I6ZnVuY3Rpb24oYSxlKXtiLmNvbWluZyYmImFib3J0IiE9PWU/Yi5fZXJyb3IoImFqYXgiLGEpOmIuaGlkZUxvYWRpbmcoKX0sc3VjY2VzczpmdW5jdGlvbihkLGUpeyJzdWNjZXNzIj09PWUmJihhLmNvbnRlbnQ9ZCxiLl9hZnRlckxvYWQoKSl9fSkpfSxfbG9hZElmcmFtZTpmdW5jdGlvbigpe3ZhciBhPWIuY29taW5nLGQ9ZihhLnRwbC5pZnJhbWUucmVwbGFjZSgvXHtybmRcfS9nLChuZXcgRGF0ZSkuZ2V0VGltZSgpKSkuYXR0cigic2Nyb2xsaW5nIixzPyJhdXRvIjphLmlmcmFtZS5zY3JvbGxpbmcpLmF0dHIoInNyYyIsYS5ocmVmKTsNCmYoYS53cmFwKS5iaW5kKCJvblJlc2V0IixmdW5jdGlvbigpe3RyeXtmKHRoaXMpLmZpbmQoImlmcmFtZSIpLmhpZGUoKS5hdHRyKCJzcmMiLCIvL2Fib3V0OmJsYW5rIikuZW5kKCkuZW1wdHkoKX1jYXRjaChhKXt9fSk7YS5pZnJhbWUucHJlbG9hZCYmKGIuc2hvd0xvYWRpbmcoKSxkLm9uZSgibG9hZCIsZnVuY3Rpb24oKXtmKHRoaXMpLmRhdGEoInJlYWR5IiwxKTtzfHxmKHRoaXMpLmJpbmQoImxvYWQuZmIiLGIudXBkYXRlKTtmKHRoaXMpLnBhcmVudHMoIi5mYW5jeWJveC13cmFwIikud2lkdGgoIjEwMCUiKS5yZW1vdmVDbGFzcygiZmFuY3lib3gtdG1wIikuc2hvdygpO2IuX2FmdGVyTG9hZCgpfSkpO2EuY29udGVudD1kLmFwcGVuZFRvKGEuaW5uZXIpO2EuaWZyYW1lLnByZWxvYWR8fGIuX2FmdGVyTG9hZCgpfSxfcHJlbG9hZEltYWdlczpmdW5jdGlvbigpe3ZhciBhPWIuZ3JvdXAsZD1iLmN1cnJlbnQsZT1hLmxlbmd0aCxjPWQucHJlbG9hZD9NYXRoLm1pbihkLnByZWxvYWQsDQplLTEpOjAsZixnO2ZvcihnPTE7Zzw9YztnKz0xKWY9YVsoZC5pbmRleCtnKSVlXSwiaW1hZ2UiPT09Zi50eXBlJiZmLmhyZWYmJigobmV3IEltYWdlKS5zcmM9Zi5ocmVmKX0sX2FmdGVyTG9hZDpmdW5jdGlvbigpe3ZhciBhPWIuY29taW5nLGQ9Yi5jdXJyZW50LGUsYyxrLGcsaDtiLmhpZGVMb2FkaW5nKCk7aWYoYSYmITEhPT1iLmlzQWN0aXZlKWlmKCExPT09Yi50cmlnZ2VyKCJhZnRlckxvYWQiLGEsZCkpYS53cmFwLnN0b3AoITApLnRyaWdnZXIoIm9uUmVzZXQiKS5yZW1vdmUoKSxiLmNvbWluZz1udWxsO2Vsc2V7ZCYmKGIudHJpZ2dlcigiYmVmb3JlQ2hhbmdlIixkKSxkLndyYXAuc3RvcCghMCkucmVtb3ZlQ2xhc3MoImZhbmN5Ym94LW9wZW5lZCIpLmZpbmQoIi5mYW5jeWJveC1pdGVtLCAuZmFuY3lib3gtbmF2IikucmVtb3ZlKCkpO2IudW5iaW5kRXZlbnRzKCk7ZT1hLmNvbnRlbnQ7Yz1hLnR5cGU7az1hLnNjcm9sbGluZztmLmV4dGVuZChiLHt3cmFwOmEud3JhcCxza2luOmEuc2tpbiwNCm91dGVyOmEub3V0ZXIsaW5uZXI6YS5pbm5lcixjdXJyZW50OmEscHJldmlvdXM6ZH0pO2c9YS5ocmVmO3N3aXRjaChjKXtjYXNlICJpbmxpbmUiOmNhc2UgImFqYXgiOmNhc2UgImh0bWwiOmEuc2VsZWN0b3I/ZT1mKCI8ZGl2PiIpLmh0bWwoZSkuZmluZChhLnNlbGVjdG9yKTp0KGUpJiYoZS5kYXRhKCJmYW5jeWJveC1wbGFjZWhvbGRlciIpfHxlLmRhdGEoImZhbmN5Ym94LXBsYWNlaG9sZGVyIixmKCc8ZGl2IGNsYXNzPSJmYW5jeWJveC1wbGFjZWhvbGRlciI+PC9kaXY+JykuaW5zZXJ0QWZ0ZXIoZSkuaGlkZSgpKSxlPWUuc2hvdygpLmRldGFjaCgpLGEud3JhcC5iaW5kKCJvblJlc2V0IixmdW5jdGlvbigpe2YodGhpcykuZmluZChlKS5sZW5ndGgmJmUuaGlkZSgpLnJlcGxhY2VBbGwoZS5kYXRhKCJmYW5jeWJveC1wbGFjZWhvbGRlciIpKS5kYXRhKCJmYW5jeWJveC1wbGFjZWhvbGRlciIsITEpfSkpO2JyZWFrO2Nhc2UgImltYWdlIjplPWEudHBsLmltYWdlLnJlcGxhY2UoIntocmVmfSIsDQpnKTticmVhaztjYXNlICJzd2YiOmU9JzxvYmplY3QgaWQ9ImZhbmN5Ym94LXN3ZiIgY2xhc3NpZD0iY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj48cGFyYW0gbmFtZT0ibW92aWUiIHZhbHVlPSInK2crJyI+PC9wYXJhbT4nLGg9IiIsZi5lYWNoKGEuc3dmLGZ1bmN0aW9uKGEsYil7ZSs9JzxwYXJhbSBuYW1lPSInK2ErJyIgdmFsdWU9IicrYisnIj48L3BhcmFtPic7aCs9IiAiK2ErJz0iJytiKyciJ30pLGUrPSc8ZW1iZWQgc3JjPSInK2crJyIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiJytoKyI+PC9lbWJlZD48L29iamVjdD4ifSghdChlKXx8IWUucGFyZW50KCkuaXMoYS5pbm5lcikpJiZhLmlubmVyLmFwcGVuZChlKTtiLnRyaWdnZXIoImJlZm9yZVNob3ciKTthLmlubmVyLmNzcygib3ZlcmZsb3ciLCJ5ZXMiPT09az8ic2Nyb2xsIjoNCiJubyI9PT1rPyJoaWRkZW4iOmspO2IuX3NldERpbWVuc2lvbigpO2IucmVwb3NpdGlvbigpO2IuaXNPcGVuPSExO2IuY29taW5nPW51bGw7Yi5iaW5kRXZlbnRzKCk7aWYoYi5pc09wZW5lZCl7aWYoZC5wcmV2TWV0aG9kKWIudHJhbnNpdGlvbnNbZC5wcmV2TWV0aG9kXSgpfWVsc2UgZigiLmZhbmN5Ym94LXdyYXAiKS5ub3QoYS53cmFwKS5zdG9wKCEwKS50cmlnZ2VyKCJvblJlc2V0IikucmVtb3ZlKCk7Yi50cmFuc2l0aW9uc1tiLmlzT3BlbmVkP2EubmV4dE1ldGhvZDphLm9wZW5NZXRob2RdKCk7Yi5fcHJlbG9hZEltYWdlcygpfX0sX3NldERpbWVuc2lvbjpmdW5jdGlvbigpe3ZhciBhPWIuZ2V0Vmlld3BvcnQoKSxkPTAsZT0hMSxjPSExLGU9Yi53cmFwLGs9Yi5za2luLGc9Yi5pbm5lcixoPWIuY3VycmVudCxjPWgud2lkdGgsaj1oLmhlaWdodCxtPWgubWluV2lkdGgsdT1oLm1pbkhlaWdodCxuPWgubWF4V2lkdGgscD1oLm1heEhlaWdodCxzPWguc2Nyb2xsaW5nLHE9aC5zY3JvbGxPdXRzaWRlPw0KaC5zY3JvbGxiYXJXaWR0aDowLHg9aC5tYXJnaW4seT1sKHhbMV0reFszXSkscj1sKHhbMF0reFsyXSksdix6LHQsQyxBLEYsQixELEg7ZS5hZGQoaykuYWRkKGcpLndpZHRoKCJhdXRvIikuaGVpZ2h0KCJhdXRvIikucmVtb3ZlQ2xhc3MoImZhbmN5Ym94LXRtcCIpO3g9bChrLm91dGVyV2lkdGgoITApLWsud2lkdGgoKSk7dj1sKGsub3V0ZXJIZWlnaHQoITApLWsuaGVpZ2h0KCkpO3o9eSt4O3Q9cit2O0M9RShjKT8oYS53LXopKmwoYykvMTAwOmM7QT1FKGopPyhhLmgtdCkqbChqKS8xMDA6ajtpZigiaWZyYW1lIj09PWgudHlwZSl7aWYoSD1oLmNvbnRlbnQsaC5hdXRvSGVpZ2h0JiYxPT09SC5kYXRhKCJyZWFkeSIpKXRyeXtIWzBdLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQubG9jYXRpb24mJihnLndpZHRoKEMpLmhlaWdodCg5OTk5KSxGPUguY29udGVudHMoKS5maW5kKCJib2R5IikscSYmRi5jc3MoIm92ZXJmbG93LXgiLCJoaWRkZW4iKSxBPUYub3V0ZXJIZWlnaHQoITApKX1jYXRjaChHKXt9fWVsc2UgaWYoaC5hdXRvV2lkdGh8fA0KaC5hdXRvSGVpZ2h0KWcuYWRkQ2xhc3MoImZhbmN5Ym94LXRtcCIpLGguYXV0b1dpZHRofHxnLndpZHRoKEMpLGguYXV0b0hlaWdodHx8Zy5oZWlnaHQoQSksaC5hdXRvV2lkdGgmJihDPWcud2lkdGgoKSksaC5hdXRvSGVpZ2h0JiYoQT1nLmhlaWdodCgpKSxnLnJlbW92ZUNsYXNzKCJmYW5jeWJveC10bXAiKTtjPWwoQyk7aj1sKEEpO0Q9Qy9BO209bChFKG0pP2wobSwidyIpLXo6bSk7bj1sKEUobik/bChuLCJ3IiktejpuKTt1PWwoRSh1KT9sKHUsImgiKS10OnUpO3A9bChFKHApP2wocCwiaCIpLXQ6cCk7Rj1uO0I9cDtoLmZpdFRvVmlldyYmKG49TWF0aC5taW4oYS53LXosbikscD1NYXRoLm1pbihhLmgtdCxwKSk7ej1hLncteTtyPWEuaC1yO2guYXNwZWN0UmF0aW8/KGM+biYmKGM9bixqPWwoYy9EKSksaj5wJiYoaj1wLGM9bChqKkQpKSxjPG0mJihjPW0saj1sKGMvRCkpLGo8dSYmKGo9dSxjPWwoaipEKSkpOihjPU1hdGgubWF4KG0sTWF0aC5taW4oYyxuKSksaC5hdXRvSGVpZ2h0JiYNCiJpZnJhbWUiIT09aC50eXBlJiYoZy53aWR0aChjKSxqPWcuaGVpZ2h0KCkpLGo9TWF0aC5tYXgodSxNYXRoLm1pbihqLHApKSk7aWYoaC5maXRUb1ZpZXcpaWYoZy53aWR0aChjKS5oZWlnaHQoaiksZS53aWR0aChjK3gpLGE9ZS53aWR0aCgpLHk9ZS5oZWlnaHQoKSxoLmFzcGVjdFJhdGlvKWZvcig7KGE+enx8eT5yKSYmKGM+bSYmaj51KSYmISgxOTxkKyspOylqPU1hdGgubWF4KHUsTWF0aC5taW4ocCxqLTEwKSksYz1sKGoqRCksYzxtJiYoYz1tLGo9bChjL0QpKSxjPm4mJihjPW4saj1sKGMvRCkpLGcud2lkdGgoYykuaGVpZ2h0KGopLGUud2lkdGgoYyt4KSxhPWUud2lkdGgoKSx5PWUuaGVpZ2h0KCk7ZWxzZSBjPU1hdGgubWF4KG0sTWF0aC5taW4oYyxjLShhLXopKSksaj1NYXRoLm1heCh1LE1hdGgubWluKGosai0oeS1yKSkpO3EmJigiYXV0byI9PT1zJiZqPEEmJmMreCtxPHopJiYoYys9cSk7Zy53aWR0aChjKS5oZWlnaHQoaik7ZS53aWR0aChjK3gpO2E9ZS53aWR0aCgpOw0KeT1lLmhlaWdodCgpO2U9KGE+enx8eT5yKSYmYz5tJiZqPnU7Yz1oLmFzcGVjdFJhdGlvP2M8RiYmajxCJiZjPEMmJmo8QTooYzxGfHxqPEIpJiYoYzxDfHxqPEEpO2YuZXh0ZW5kKGgse2RpbTp7d2lkdGg6dyhhKSxoZWlnaHQ6dyh5KX0sb3JpZ1dpZHRoOkMsb3JpZ0hlaWdodDpBLGNhblNocmluazplLGNhbkV4cGFuZDpjLHdQYWRkaW5nOngsaFBhZGRpbmc6dix3cmFwU3BhY2U6eS1rLm91dGVySGVpZ2h0KCEwKSxza2luU3BhY2U6ay5oZWlnaHQoKS1qfSk7IUgmJihoLmF1dG9IZWlnaHQmJmo+dSYmajxwJiYhYykmJmcuaGVpZ2h0KCJhdXRvIil9LF9nZXRQb3NpdGlvbjpmdW5jdGlvbihhKXt2YXIgZD1iLmN1cnJlbnQsZT1iLmdldFZpZXdwb3J0KCksYz1kLm1hcmdpbixmPWIud3JhcC53aWR0aCgpK2NbMV0rY1szXSxnPWIud3JhcC5oZWlnaHQoKStjWzBdK2NbMl0sYz17cG9zaXRpb246ImFic29sdXRlIix0b3A6Y1swXSxsZWZ0OmNbM119O2QuYXV0b0NlbnRlciYmZC5maXhlZCYmDQohYSYmZzw9ZS5oJiZmPD1lLnc/Yy5wb3NpdGlvbj0iZml4ZWQiOmQubG9ja2VkfHwoYy50b3ArPWUueSxjLmxlZnQrPWUueCk7Yy50b3A9dyhNYXRoLm1heChjLnRvcCxjLnRvcCsoZS5oLWcpKmQudG9wUmF0aW8pKTtjLmxlZnQ9dyhNYXRoLm1heChjLmxlZnQsYy5sZWZ0KyhlLnctZikqZC5sZWZ0UmF0aW8pKTtyZXR1cm4gY30sX2FmdGVyWm9vbUluOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jdXJyZW50O2EmJihiLmlzT3Blbj1iLmlzT3BlbmVkPSEwLGIud3JhcC5jc3MoIm92ZXJmbG93IiwidmlzaWJsZSIpLmFkZENsYXNzKCJmYW5jeWJveC1vcGVuZWQiKSxiLnVwZGF0ZSgpLChhLmNsb3NlQ2xpY2t8fGEubmV4dENsaWNrJiYxPGIuZ3JvdXAubGVuZ3RoKSYmYi5pbm5lci5jc3MoImN1cnNvciIsInBvaW50ZXIiKS5iaW5kKCJjbGljay5mYiIsZnVuY3Rpb24oZCl7IWYoZC50YXJnZXQpLmlzKCJhIikmJiFmKGQudGFyZ2V0KS5wYXJlbnQoKS5pcygiYSIpJiYoZC5wcmV2ZW50RGVmYXVsdCgpLA0KYlthLmNsb3NlQ2xpY2s/ImNsb3NlIjoibmV4dCJdKCkpfSksYS5jbG9zZUJ0biYmZihhLnRwbC5jbG9zZUJ0bikuYXBwZW5kVG8oYi5za2luKS5iaW5kKCJjbGljay5mYiIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpO2IuY2xvc2UoKX0pLGEuYXJyb3dzJiYxPGIuZ3JvdXAubGVuZ3RoJiYoKGEubG9vcHx8MDxhLmluZGV4KSYmZihhLnRwbC5wcmV2KS5hcHBlbmRUbyhiLm91dGVyKS5iaW5kKCJjbGljay5mYiIsYi5wcmV2KSwoYS5sb29wfHxhLmluZGV4PGIuZ3JvdXAubGVuZ3RoLTEpJiZmKGEudHBsLm5leHQpLmFwcGVuZFRvKGIub3V0ZXIpLmJpbmQoImNsaWNrLmZiIixiLm5leHQpKSxiLnRyaWdnZXIoImFmdGVyU2hvdyIpLCFhLmxvb3AmJmEuaW5kZXg9PT1hLmdyb3VwLmxlbmd0aC0xP2IucGxheSghMSk6Yi5vcHRzLmF1dG9QbGF5JiYhYi5wbGF5ZXIuaXNBY3RpdmUmJihiLm9wdHMuYXV0b1BsYXk9ITEsYi5wbGF5KCkpKX0sX2FmdGVyWm9vbU91dDpmdW5jdGlvbihhKXthPQ0KYXx8Yi5jdXJyZW50O2YoIi5mYW5jeWJveC13cmFwIikudHJpZ2dlcigib25SZXNldCIpLnJlbW92ZSgpO2YuZXh0ZW5kKGIse2dyb3VwOnt9LG9wdHM6e30scm91dGVyOiExLGN1cnJlbnQ6bnVsbCxpc0FjdGl2ZTohMSxpc09wZW5lZDohMSxpc09wZW46ITEsaXNDbG9zaW5nOiExLHdyYXA6bnVsbCxza2luOm51bGwsb3V0ZXI6bnVsbCxpbm5lcjpudWxsfSk7Yi50cmlnZ2VyKCJhZnRlckNsb3NlIixhKX19KTtiLnRyYW5zaXRpb25zPXtnZXRPcmlnUG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQsZD1hLmVsZW1lbnQsZT1hLm9yaWcsYz17fSxmPTUwLGc9NTAsaD1hLmhQYWRkaW5nLGo9YS53UGFkZGluZyxtPWIuZ2V0Vmlld3BvcnQoKTshZSYmKGEuaXNEb20mJmQuaXMoIjp2aXNpYmxlIikpJiYoZT1kLmZpbmQoImltZzpmaXJzdCIpLGUubGVuZ3RofHwoZT1kKSk7dChlKT8oYz1lLm9mZnNldCgpLGUuaXMoImltZyIpJiYoZj1lLm91dGVyV2lkdGgoKSxnPWUub3V0ZXJIZWlnaHQoKSkpOg0KKGMudG9wPW0ueSsobS5oLWcpKmEudG9wUmF0aW8sYy5sZWZ0PW0ueCsobS53LWYpKmEubGVmdFJhdGlvKTtpZigiZml4ZWQiPT09Yi53cmFwLmNzcygicG9zaXRpb24iKXx8YS5sb2NrZWQpYy50b3AtPW0ueSxjLmxlZnQtPW0ueDtyZXR1cm4gYz17dG9wOncoYy50b3AtaCphLnRvcFJhdGlvKSxsZWZ0OncoYy5sZWZ0LWoqYS5sZWZ0UmF0aW8pLHdpZHRoOncoZitqKSxoZWlnaHQ6dyhnK2gpfX0sc3RlcDpmdW5jdGlvbihhLGQpe3ZhciBlLGMsZj1kLnByb3A7Yz1iLmN1cnJlbnQ7dmFyIGc9Yy53cmFwU3BhY2UsaD1jLnNraW5TcGFjZTtpZigid2lkdGgiPT09Znx8ImhlaWdodCI9PT1mKWU9ZC5lbmQ9PT1kLnN0YXJ0PzE6KGEtZC5zdGFydCkvKGQuZW5kLWQuc3RhcnQpLGIuaXNDbG9zaW5nJiYoZT0xLWUpLGM9IndpZHRoIj09PWY/Yy53UGFkZGluZzpjLmhQYWRkaW5nLGM9YS1jLGIuc2tpbltmXShsKCJ3aWR0aCI9PT1mP2M6Yy1nKmUpKSxiLmlubmVyW2ZdKGwoIndpZHRoIj09PQ0KZj9jOmMtZyplLWgqZSkpfSx6b29tSW46ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQsZD1hLnBvcyxlPWEub3BlbkVmZmVjdCxjPSJlbGFzdGljIj09PWUsaz1mLmV4dGVuZCh7b3BhY2l0eToxfSxkKTtkZWxldGUgay5wb3NpdGlvbjtjPyhkPXRoaXMuZ2V0T3JpZ1Bvc2l0aW9uKCksYS5vcGVuT3BhY2l0eSYmKGQub3BhY2l0eT0wLjEpKToiZmFkZSI9PT1lJiYoZC5vcGFjaXR5PTAuMSk7Yi53cmFwLmNzcyhkKS5hbmltYXRlKGsse2R1cmF0aW9uOiJub25lIj09PWU/MDphLm9wZW5TcGVlZCxlYXNpbmc6YS5vcGVuRWFzaW5nLHN0ZXA6Yz90aGlzLnN0ZXA6bnVsbCxjb21wbGV0ZTpiLl9hZnRlclpvb21Jbn0pfSx6b29tT3V0OmZ1bmN0aW9uKCl7dmFyIGE9Yi5jdXJyZW50LGQ9YS5jbG9zZUVmZmVjdCxlPSJlbGFzdGljIj09PWQsYz17b3BhY2l0eTowLjF9O2UmJihjPXRoaXMuZ2V0T3JpZ1Bvc2l0aW9uKCksYS5jbG9zZU9wYWNpdHkmJihjLm9wYWNpdHk9MC4xKSk7Yi53cmFwLmFuaW1hdGUoYywNCntkdXJhdGlvbjoibm9uZSI9PT1kPzA6YS5jbG9zZVNwZWVkLGVhc2luZzphLmNsb3NlRWFzaW5nLHN0ZXA6ZT90aGlzLnN0ZXA6bnVsbCxjb21wbGV0ZTpiLl9hZnRlclpvb21PdXR9KX0sY2hhbmdlSW46ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQsZD1hLm5leHRFZmZlY3QsZT1hLnBvcyxjPXtvcGFjaXR5OjF9LGY9Yi5kaXJlY3Rpb24sZztlLm9wYWNpdHk9MC4xOyJlbGFzdGljIj09PWQmJihnPSJkb3duIj09PWZ8fCJ1cCI9PT1mPyJ0b3AiOiJsZWZ0IiwiZG93biI9PT1mfHwicmlnaHQiPT09Zj8oZVtnXT13KGwoZVtnXSktMjAwKSxjW2ddPSIrPTIwMHB4Iik6KGVbZ109dyhsKGVbZ10pKzIwMCksY1tnXT0iLT0yMDBweCIpKTsibm9uZSI9PT1kP2IuX2FmdGVyWm9vbUluKCk6Yi53cmFwLmNzcyhlKS5hbmltYXRlKGMse2R1cmF0aW9uOmEubmV4dFNwZWVkLGVhc2luZzphLm5leHRFYXNpbmcsY29tcGxldGU6Yi5fYWZ0ZXJab29tSW59KX0sY2hhbmdlT3V0OmZ1bmN0aW9uKCl7dmFyIGE9DQpiLnByZXZpb3VzLGQ9YS5wcmV2RWZmZWN0LGU9e29wYWNpdHk6MC4xfSxjPWIuZGlyZWN0aW9uOyJlbGFzdGljIj09PWQmJihlWyJkb3duIj09PWN8fCJ1cCI9PT1jPyJ0b3AiOiJsZWZ0Il09KCJ1cCI9PT1jfHwibGVmdCI9PT1jPyItIjoiKyIpKyI9MjAwcHgiKTthLndyYXAuYW5pbWF0ZShlLHtkdXJhdGlvbjoibm9uZSI9PT1kPzA6YS5wcmV2U3BlZWQsZWFzaW5nOmEucHJldkVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpe2YodGhpcykudHJpZ2dlcigib25SZXNldCIpLnJlbW92ZSgpfX0pfX07Yi5oZWxwZXJzLm92ZXJsYXk9e2RlZmF1bHRzOntjbG9zZUNsaWNrOiEwLHNwZWVkT3V0OjIwMCxzaG93RWFybHk6ITAsY3NzOnt9LGxvY2tlZDohcyxmaXhlZDohMH0sb3ZlcmxheTpudWxsLGZpeGVkOiExLGVsOmYoImh0bWwiKSxjcmVhdGU6ZnVuY3Rpb24oYSl7YT1mLmV4dGVuZCh7fSx0aGlzLmRlZmF1bHRzLGEpO3RoaXMub3ZlcmxheSYmdGhpcy5jbG9zZSgpO3RoaXMub3ZlcmxheT0NCmYoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LW92ZXJsYXkiPjwvZGl2PicpLmFwcGVuZFRvKGIuY29taW5nP2IuY29taW5nLnBhcmVudDphLnBhcmVudCk7dGhpcy5maXhlZD0hMTthLmZpeGVkJiZiLmRlZmF1bHRzLmZpeGVkJiYodGhpcy5vdmVybGF5LmFkZENsYXNzKCJmYW5jeWJveC1vdmVybGF5LWZpeGVkIiksdGhpcy5maXhlZD0hMCl9LG9wZW46ZnVuY3Rpb24oYSl7dmFyIGQ9dGhpczthPWYuZXh0ZW5kKHt9LHRoaXMuZGVmYXVsdHMsYSk7dGhpcy5vdmVybGF5P3RoaXMub3ZlcmxheS51bmJpbmQoIi5vdmVybGF5Iikud2lkdGgoImF1dG8iKS5oZWlnaHQoImF1dG8iKTp0aGlzLmNyZWF0ZShhKTt0aGlzLmZpeGVkfHwobi5iaW5kKCJyZXNpemUub3ZlcmxheSIsZi5wcm94eSh0aGlzLnVwZGF0ZSx0aGlzKSksdGhpcy51cGRhdGUoKSk7YS5jbG9zZUNsaWNrJiZ0aGlzLm92ZXJsYXkuYmluZCgiY2xpY2sub3ZlcmxheSIsZnVuY3Rpb24oYSl7aWYoZihhLnRhcmdldCkuaGFzQ2xhc3MoImZhbmN5Ym94LW92ZXJsYXkiKSlyZXR1cm4gYi5pc0FjdGl2ZT8NCmIuY2xvc2UoKTpkLmNsb3NlKCksITF9KTt0aGlzLm92ZXJsYXkuY3NzKGEuY3NzKS5zaG93KCl9LGNsb3NlOmZ1bmN0aW9uKCl7dmFyIGEsYjtuLnVuYmluZCgicmVzaXplLm92ZXJsYXkiKTt0aGlzLmVsLmhhc0NsYXNzKCJmYW5jeWJveC1sb2NrIikmJihmKCIuZmFuY3lib3gtbWFyZ2luIikucmVtb3ZlQ2xhc3MoImZhbmN5Ym94LW1hcmdpbiIpLGE9bi5zY3JvbGxUb3AoKSxiPW4uc2Nyb2xsTGVmdCgpLHRoaXMuZWwucmVtb3ZlQ2xhc3MoImZhbmN5Ym94LWxvY2siKSxuLnNjcm9sbFRvcChhKS5zY3JvbGxMZWZ0KGIpKTtmKCIuZmFuY3lib3gtb3ZlcmxheSIpLnJlbW92ZSgpLmhpZGUoKTtmLmV4dGVuZCh0aGlzLHtvdmVybGF5Om51bGwsZml4ZWQ6ITF9KX0sdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIGE9IjEwMCUiLGI7dGhpcy5vdmVybGF5LndpZHRoKGEpLmhlaWdodCgiMTAwJSIpO0k/KGI9TWF0aC5tYXgoRy5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGgsRy5ib2R5Lm9mZnNldFdpZHRoKSwNCnAud2lkdGgoKT5iJiYoYT1wLndpZHRoKCkpKTpwLndpZHRoKCk+bi53aWR0aCgpJiYoYT1wLndpZHRoKCkpO3RoaXMub3ZlcmxheS53aWR0aChhKS5oZWlnaHQocC5oZWlnaHQoKSl9LG9uUmVhZHk6ZnVuY3Rpb24oYSxiKXt2YXIgZT10aGlzLm92ZXJsYXk7ZigiLmZhbmN5Ym94LW92ZXJsYXkiKS5zdG9wKCEwLCEwKTtlfHx0aGlzLmNyZWF0ZShhKTthLmxvY2tlZCYmKHRoaXMuZml4ZWQmJmIuZml4ZWQpJiYoZXx8KHRoaXMubWFyZ2luPXAuaGVpZ2h0KCk+bi5oZWlnaHQoKT9mKCJodG1sIikuY3NzKCJtYXJnaW4tcmlnaHQiKS5yZXBsYWNlKCJweCIsIiIpOiExKSxiLmxvY2tlZD10aGlzLm92ZXJsYXkuYXBwZW5kKGIud3JhcCksYi5maXhlZD0hMSk7ITA9PT1hLnNob3dFYXJseSYmdGhpcy5iZWZvcmVTaG93LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYmVmb3JlU2hvdzpmdW5jdGlvbihhLGIpe3ZhciBlLGM7Yi5sb2NrZWQmJighMSE9PXRoaXMubWFyZ2luJiYoZigiKiIpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiJmaXhlZCI9PT0NCmYodGhpcykuY3NzKCJwb3NpdGlvbiIpJiYhZih0aGlzKS5oYXNDbGFzcygiZmFuY3lib3gtb3ZlcmxheSIpJiYhZih0aGlzKS5oYXNDbGFzcygiZmFuY3lib3gtd3JhcCIpfSkuYWRkQ2xhc3MoImZhbmN5Ym94LW1hcmdpbiIpLHRoaXMuZWwuYWRkQ2xhc3MoImZhbmN5Ym94LW1hcmdpbiIpKSxlPW4uc2Nyb2xsVG9wKCksYz1uLnNjcm9sbExlZnQoKSx0aGlzLmVsLmFkZENsYXNzKCJmYW5jeWJveC1sb2NrIiksbi5zY3JvbGxUb3AoZSkuc2Nyb2xsTGVmdChjKSk7dGhpcy5vcGVuKGEpfSxvblVwZGF0ZTpmdW5jdGlvbigpe3RoaXMuZml4ZWR8fHRoaXMudXBkYXRlKCl9LGFmdGVyQ2xvc2U6ZnVuY3Rpb24oYSl7dGhpcy5vdmVybGF5JiYhYi5jb21pbmcmJnRoaXMub3ZlcmxheS5mYWRlT3V0KGEuc3BlZWRPdXQsZi5wcm94eSh0aGlzLmNsb3NlLHRoaXMpKX19O2IuaGVscGVycy50aXRsZT17ZGVmYXVsdHM6e3R5cGU6ImZsb2F0Iixwb3NpdGlvbjoiYm90dG9tIn0sYmVmb3JlU2hvdzpmdW5jdGlvbihhKXt2YXIgZD0NCmIuY3VycmVudCxlPWQudGl0bGUsYz1hLnR5cGU7Zi5pc0Z1bmN0aW9uKGUpJiYoZT1lLmNhbGwoZC5lbGVtZW50LGQpKTtpZihxKGUpJiYiIiE9PWYudHJpbShlKSl7ZD1mKCc8ZGl2IGNsYXNzPSJmYW5jeWJveC10aXRsZSBmYW5jeWJveC10aXRsZS0nK2MrJy13cmFwIj4nK2UrIjwvZGl2PiIpO3N3aXRjaChjKXtjYXNlICJpbnNpZGUiOmM9Yi5za2luO2JyZWFrO2Nhc2UgIm91dHNpZGUiOmM9Yi53cmFwO2JyZWFrO2Nhc2UgIm92ZXIiOmM9Yi5pbm5lcjticmVhaztkZWZhdWx0OmM9Yi5za2luLGQuYXBwZW5kVG8oImJvZHkiKSxJJiZkLndpZHRoKGQud2lkdGgoKSksZC53cmFwSW5uZXIoJzxzcGFuIGNsYXNzPSJjaGlsZCI+PC9zcGFuPicpLGIuY3VycmVudC5tYXJnaW5bMl0rPU1hdGguYWJzKGwoZC5jc3MoIm1hcmdpbi1ib3R0b20iKSkpfWRbInRvcCI9PT1hLnBvc2l0aW9uPyJwcmVwZW5kVG8iOiJhcHBlbmRUbyJdKGMpfX19O2YuZm4uZmFuY3lib3g9ZnVuY3Rpb24oYSl7dmFyIGQsDQplPWYodGhpcyksYz10aGlzLnNlbGVjdG9yfHwiIixrPWZ1bmN0aW9uKGcpe3ZhciBoPWYodGhpcykuYmx1cigpLGo9ZCxrLGw7IWcuY3RybEtleSYmKCFnLmFsdEtleSYmIWcuc2hpZnRLZXkmJiFnLm1ldGFLZXkpJiYhaC5pcygiLmZhbmN5Ym94LXdyYXAiKSYmKGs9YS5ncm91cEF0dHJ8fCJkYXRhLWZhbmN5Ym94LWdyb3VwIixsPWguYXR0cihrKSxsfHwoaz0icmVsIixsPWguZ2V0KDApW2tdKSxsJiYoIiIhPT1sJiYibm9mb2xsb3ciIT09bCkmJihoPWMubGVuZ3RoP2YoYyk6ZSxoPWguZmlsdGVyKCJbIitrKyc9IicrbCsnIl0nKSxqPWguaW5kZXgodGhpcykpLGEuaW5kZXg9aiwhMSE9PWIub3BlbihoLGEpJiZnLnByZXZlbnREZWZhdWx0KCkpfTthPWF8fHt9O2Q9YS5pbmRleHx8MDshY3x8ITE9PT1hLmxpdmU/ZS51bmJpbmQoImNsaWNrLmZiLXN0YXJ0IikuYmluZCgiY2xpY2suZmItc3RhcnQiLGspOnAudW5kZWxlZ2F0ZShjLCJjbGljay5mYi1zdGFydCIpLmRlbGVnYXRlKGMrDQoiOm5vdCgnLmZhbmN5Ym94LWl0ZW0sIC5mYW5jeWJveC1uYXYnKSIsImNsaWNrLmZiLXN0YXJ0IixrKTt0aGlzLmZpbHRlcigiW2RhdGEtZmFuY3lib3gtc3RhcnQ9MV0iKS50cmlnZ2VyKCJjbGljayIpO3JldHVybiB0aGlzfTtwLnJlYWR5KGZ1bmN0aW9uKCl7dmFyIGEsZDtmLnNjcm9sbGJhcldpZHRoPT09diYmKGYuc2Nyb2xsYmFyV2lkdGg9ZnVuY3Rpb24oKXt2YXIgYT1mKCc8ZGl2IHN0eWxlPSJ3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OmF1dG8iPjxkaXYvPjwvZGl2PicpLmFwcGVuZFRvKCJib2R5IiksYj1hLmNoaWxkcmVuKCksYj1iLmlubmVyV2lkdGgoKS1iLmhlaWdodCg5OSkuaW5uZXJXaWR0aCgpO2EucmVtb3ZlKCk7cmV0dXJuIGJ9KTtpZihmLnN1cHBvcnQuZml4ZWRQb3NpdGlvbj09PXYpe2E9Zi5zdXBwb3J0O2Q9ZignPGRpdiBzdHlsZT0icG9zaXRpb246Zml4ZWQ7dG9wOjIwcHg7Ij48L2Rpdj4nKS5hcHBlbmRUbygiYm9keSIpO3ZhciBlPTIwPT09DQpkWzBdLm9mZnNldFRvcHx8MTU9PT1kWzBdLm9mZnNldFRvcDtkLnJlbW92ZSgpO2EuZml4ZWRQb3NpdGlvbj1lfWYuZXh0ZW5kKGIuZGVmYXVsdHMse3Njcm9sbGJhcldpZHRoOmYuc2Nyb2xsYmFyV2lkdGgoKSxmaXhlZDpmLnN1cHBvcnQuZml4ZWRQb3NpdGlvbixwYXJlbnQ6ZigiYm9keSIpfSk7YT1mKHIpLndpZHRoKCk7Si5hZGRDbGFzcygiZmFuY3lib3gtbG9jay10ZXN0Iik7ZD1mKHIpLndpZHRoKCk7Si5yZW1vdmVDbGFzcygiZmFuY3lib3gtbG9jay10ZXN0Iik7ZigiPHN0eWxlIHR5cGU9J3RleHQvY3NzJz4uZmFuY3lib3gtbWFyZ2lue21hcmdpbi1yaWdodDoiKyhkLWEpKyJweDt9PC9zdHlsZT4iKS5hcHBlbmRUbygiaGVhZCIpfSl9KSh3aW5kb3csZG9jdW1lbnQsalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/scripts/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/scripts/jquery/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/scripts/jquery/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/scripts/jquery/jquery-1.10.1.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGpRdWVyeSB2MS4xMC4xIHwgKGMpIDIwMDUsIDIwMTMgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UNCi8vQCBzb3VyY2VNYXBwaW5nVVJMPWpxdWVyeS0xLjEwLjEubWluLm1hcA0KKi8NCihmdW5jdGlvbihlLHQpe3ZhciBuLHIsaT10eXBlb2YgdCxvPWUubG9jYXRpb24sYT1lLmRvY3VtZW50LHM9YS5kb2N1bWVudEVsZW1lbnQsbD1lLmpRdWVyeSx1PWUuJCxjPXt9LHA9W10sZj0iMS4xMC4xIixkPXAuY29uY2F0LGg9cC5wdXNoLGc9cC5zbGljZSxtPXAuaW5kZXhPZix5PWMudG9TdHJpbmcsdj1jLmhhc093blByb3BlcnR5LGI9Zi50cmltLHg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IHguZm4uaW5pdChlLHQscil9LHc9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD0vXFMrL2csQz0vXltcc1x1RkVGRlx4QTBdK3xbXHNcdUZFRkZceEEwXSskL2csTj0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLGs9L148KFx3KylccypcLz8+KD86PFwvXDE+fCkkLyxFPS9eW1xdLDp7fVxzXSokLyxTPS8oPzpefDp8LCkoPzpccypcWykrL2csQT0vXFwoPzpbIlxcXC9iZm5ydF18dVtcZGEtZkEtRl17NH0pL2csaj0vIlteIlxcXHJcbl0qInx0cnVlfGZhbHNlfG51bGx8LT8oPzpcZCtcLnwpXGQrKD86W2VFXVsrLV0/XGQrfCkvZyxEPS9eLW1zLS8sTD0vLShbXGRhLXpdKS9naSxIPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQudG9VcHBlckNhc2UoKX0scT1mdW5jdGlvbihlKXsoYS5hZGRFdmVudExpc3RlbmVyfHwibG9hZCI9PT1lLnR5cGV8fCJjb21wbGV0ZSI9PT1hLnJlYWR5U3RhdGUpJiYoXygpLHgucmVhZHkoKSl9LF89ZnVuY3Rpb24oKXthLmFkZEV2ZW50TGlzdGVuZXI/KGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIscSwhMSksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixxLCExKSk6KGEuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIscSksZS5kZXRhY2hFdmVudCgib25sb2FkIixxKSl9O3guZm49eC5wcm90b3R5cGU9e2pxdWVyeTpmLGNvbnN0cnVjdG9yOngsaW5pdDpmdW5jdGlvbihlLG4scil7dmFyIGksbztpZighZSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKGk9IjwiPT09ZS5jaGFyQXQoMCkmJiI+Ij09PWUuY2hhckF0KGUubGVuZ3RoLTEpJiZlLmxlbmd0aD49Mz9bbnVsbCxlLG51bGxdOk4uZXhlYyhlKSwhaXx8IWlbMV0mJm4pcmV0dXJuIW58fG4uanF1ZXJ5PyhufHxyKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IobikuZmluZChlKTtpZihpWzFdKXtpZihuPW4gaW5zdGFuY2VvZiB4P25bMF06bix4Lm1lcmdlKHRoaXMseC5wYXJzZUhUTUwoaVsxXSxuJiZuLm5vZGVUeXBlP24ub3duZXJEb2N1bWVudHx8bjphLCEwKSksay50ZXN0KGlbMV0pJiZ4LmlzUGxhaW5PYmplY3QobikpZm9yKGkgaW4gbil4LmlzRnVuY3Rpb24odGhpc1tpXSk/dGhpc1tpXShuW2ldKTp0aGlzLmF0dHIoaSxuW2ldKTtyZXR1cm4gdGhpc31pZihvPWEuZ2V0RWxlbWVudEJ5SWQoaVsyXSksbyYmby5wYXJlbnROb2RlKXtpZihvLmlkIT09aVsyXSlyZXR1cm4gci5maW5kKGUpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1vfXJldHVybiB0aGlzLmNvbnRleHQ9YSx0aGlzLnNlbGVjdG9yPWUsdGhpc31yZXR1cm4gZS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXMpOnguaXNGdW5jdGlvbihlKT9yLnJlYWR5KGUpOihlLnNlbGVjdG9yIT09dCYmKHRoaXMuc2VsZWN0b3I9ZS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9ZS5jb250ZXh0KSx4Lm1ha2VBcnJheShlLHRoaXMpKX0sc2VsZWN0b3I6IiIsbGVuZ3RoOjAsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBnLmNhbGwodGhpcyl9LGdldDpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT90aGlzLnRvQXJyYXkoKTowPmU/dGhpc1t0aGlzLmxlbmd0aCtlXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9eC5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksZSk7cmV0dXJuIHQucHJldk9iamVjdD10aGlzLHQuY29udGV4dD10aGlzLmNvbnRleHQsdH0sZWFjaDpmdW5jdGlvbihlLHQpe3JldHVybiB4LmVhY2godGhpcyxlLHQpfSxyZWFkeTpmdW5jdGlvbihlKXtyZXR1cm4geC5yZWFkeS5wcm9taXNlKCkuZG9uZShlKSx0aGlzfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhnLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMubGVuZ3RoLG49K2UrKDA+ZT90OjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhuPj0wJiZ0Pm4/W3RoaXNbbl1dOltdKX0sbWFwOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayh4Lm1hcCh0aGlzLGZ1bmN0aW9uKHQsbil7cmV0dXJuIGUuY2FsbCh0LG4sdCl9KSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IobnVsbCl9LHB1c2g6aCxzb3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX0seC5mbi5pbml0LnByb3RvdHlwZT14LmZuLHguZXh0ZW5kPXguZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsbixyLGksbyxhLHM9YXJndW1lbnRzWzBdfHx7fSxsPTEsdT1hcmd1bWVudHMubGVuZ3RoLGM9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIHMmJihjPXMscz1hcmd1bWVudHNbMV18fHt9LGw9MiksIm9iamVjdCI9PXR5cGVvZiBzfHx4LmlzRnVuY3Rpb24ocyl8fChzPXt9KSx1PT09bCYmKHM9dGhpcywtLWwpO3U+bDtsKyspaWYobnVsbCE9KG89YXJndW1lbnRzW2xdKSlmb3IoaSBpbiBvKWU9c1tpXSxyPW9baV0scyE9PXImJihjJiZyJiYoeC5pc1BsYWluT2JqZWN0KHIpfHwobj14LmlzQXJyYXkocikpKT8obj8obj0hMSxhPWUmJnguaXNBcnJheShlKT9lOltdKTphPWUmJnguaXNQbGFpbk9iamVjdChlKT9lOnt9LHNbaV09eC5leHRlbmQoYyxhLHIpKTpyIT09dCYmKHNbaV09cikpO3JldHVybiBzfSx4LmV4dGVuZCh7ZXhwYW5kbzoialF1ZXJ5IisoZitNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxub0NvbmZsaWN0OmZ1bmN0aW9uKHQpe3JldHVybiBlLiQ9PT14JiYoZS4kPXUpLHQmJmUualF1ZXJ5PT09eCYmKGUualF1ZXJ5PWwpLHh9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGUpe2U/eC5yZWFkeVdhaXQrKzp4LnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oZSl7aWYoZT09PSEwPyEtLXgucmVhZHlXYWl0OiF4LmlzUmVhZHkpe2lmKCFhLmJvZHkpcmV0dXJuIHNldFRpbWVvdXQoeC5yZWFkeSk7eC5pc1JlYWR5PSEwLGUhPT0hMCYmLS14LnJlYWR5V2FpdD4wfHwobi5yZXNvbHZlV2l0aChhLFt4XSkseC5mbi50cmlnZ2VyJiZ4KGEpLnRyaWdnZXIoInJlYWR5Iikub2ZmKCJyZWFkeSIpKX19LGlzRnVuY3Rpb246ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09PXgudHlwZShlKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iYXJyYXkiPT09eC50eXBlKGUpfSxpc1dpbmRvdzpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmZT09ZS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihlKXtyZXR1cm4haXNOYU4ocGFyc2VGbG9hdChlKSkmJmlzRmluaXRlKGUpfSx0eXBlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP2UrIiI6Im9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZT9jW3kuY2FsbChlKV18fCJvYmplY3QiOnR5cGVvZiBlfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciBuO2lmKCFlfHwib2JqZWN0IiE9PXgudHlwZShlKXx8ZS5ub2RlVHlwZXx8eC5pc1dpbmRvdyhlKSlyZXR1cm4hMTt0cnl7aWYoZS5jb25zdHJ1Y3RvciYmIXYuY2FsbChlLCJjb25zdHJ1Y3RvciIpJiYhdi5jYWxsKGUuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2gocil7cmV0dXJuITF9aWYoeC5zdXBwb3J0Lm93bkxhc3QpZm9yKG4gaW4gZSlyZXR1cm4gdi5jYWxsKGUsbik7Zm9yKG4gaW4gZSk7cmV0dXJuIG49PT10fHx2LmNhbGwoZSxuKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlKXJldHVybiExO3JldHVybiEwfSxlcnJvcjpmdW5jdGlvbihlKXt0aHJvdyBFcnJvcihlKX0scGFyc2VIVE1MOmZ1bmN0aW9uKGUsdCxuKXtpZighZXx8InN0cmluZyIhPXR5cGVvZiBlKXJldHVybiBudWxsOyJib29sZWFuIj09dHlwZW9mIHQmJihuPXQsdD0hMSksdD10fHxhO3ZhciByPWsuZXhlYyhlKSxpPSFuJiZbXTtyZXR1cm4gcj9bdC5jcmVhdGVFbGVtZW50KHJbMV0pXToocj14LmJ1aWxkRnJhZ21lbnQoW2VdLHQsaSksaSYmeChpKS5yZW1vdmUoKSx4Lm1lcmdlKFtdLHIuY2hpbGROb2RlcykpfSxwYXJzZUpTT046ZnVuY3Rpb24obil7cmV0dXJuIGUuSlNPTiYmZS5KU09OLnBhcnNlP2UuSlNPTi5wYXJzZShuKTpudWxsPT09bj9uOiJzdHJpbmciPT10eXBlb2YgbiYmKG49eC50cmltKG4pLG4mJkUudGVzdChuLnJlcGxhY2UoQSwiQCIpLnJlcGxhY2UoaiwiXSIpLnJlcGxhY2UoUywiIikpKT9GdW5jdGlvbigicmV0dXJuICIrbikoKTooeC5lcnJvcigiSW52YWxpZCBKU09OOiAiK24pLHQpfSxwYXJzZVhNTDpmdW5jdGlvbihuKXt2YXIgcixpO2lmKCFufHwic3RyaW5nIiE9dHlwZW9mIG4pcmV0dXJuIG51bGw7dHJ5e2UuRE9NUGFyc2VyPyhpPW5ldyBET01QYXJzZXIscj1pLnBhcnNlRnJvbVN0cmluZyhuLCJ0ZXh0L3htbCIpKToocj1uZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTERPTSIpLHIuYXN5bmM9ImZhbHNlIixyLmxvYWRYTUwobikpfWNhdGNoKG8pe3I9dH1yZXR1cm4gciYmci5kb2N1bWVudEVsZW1lbnQmJiFyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8eC5lcnJvcigiSW52YWxpZCBYTUw6ICIrbikscn0sbm9vcDpmdW5jdGlvbigpe30sZ2xvYmFsRXZhbDpmdW5jdGlvbih0KXt0JiZ4LnRyaW0odCkmJihlLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKHQpe2UuZXZhbC5jYWxsKGUsdCl9KSh0KX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoRCwibXMtIikucmVwbGFjZShMLEgpfSxub2RlTmFtZTpmdW5jdGlvbihlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9MCxvPWUubGVuZ3RoLGE9TShlKTtpZihuKXtpZihhKXtmb3IoO28+aTtpKyspaWYocj10LmFwcGx5KGVbaV0sbikscj09PSExKWJyZWFrfWVsc2UgZm9yKGkgaW4gZSlpZihyPXQuYXBwbHkoZVtpXSxuKSxyPT09ITEpYnJlYWt9ZWxzZSBpZihhKXtmb3IoO28+aTtpKyspaWYocj10LmNhbGwoZVtpXSxpLGVbaV0pLHI9PT0hMSlicmVha31lbHNlIGZvcihpIGluIGUpaWYocj10LmNhbGwoZVtpXSxpLGVbaV0pLHI9PT0hMSlicmVhaztyZXR1cm4gZX0sdHJpbTpiJiYhYi5jYWxsKCJcdWZlZmZcdTAwYTAiKT9mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjpiLmNhbGwoZSl9OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOihlKyIiKS5yZXBsYWNlKEMsIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10fHxbXTtyZXR1cm4gbnVsbCE9ZSYmKE0oT2JqZWN0KGUpKT94Lm1lcmdlKG4sInN0cmluZyI9PXR5cGVvZiBlP1tlXTplKTpoLmNhbGwobixlKSksbn0saW5BcnJheTpmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYodCl7aWYobSlyZXR1cm4gbS5jYWxsKHQsZSxuKTtmb3Iocj10Lmxlbmd0aCxuPW4/MD5uP01hdGgubWF4KDAscituKTpuOjA7cj5uO24rKylpZihuIGluIHQmJnRbbl09PT1lKXJldHVybiBufXJldHVybi0xfSxtZXJnZTpmdW5jdGlvbihlLG4pe3ZhciByPW4ubGVuZ3RoLGk9ZS5sZW5ndGgsbz0wO2lmKCJudW1iZXIiPT10eXBlb2Ygcilmb3IoO3I+bztvKyspZVtpKytdPW5bb107ZWxzZSB3aGlsZShuW29dIT09dCllW2krK109bltvKytdO3JldHVybiBlLmxlbmd0aD1pLGV9LGdyZXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9W10sbz0wLGE9ZS5sZW5ndGg7Zm9yKG49ISFuO2E+bztvKyspcj0hIXQoZVtvXSxvKSxuIT09ciYmaS5wdXNoKGVbb10pO3JldHVybiBpfSxtYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9MCxvPWUubGVuZ3RoLGE9TShlKSxzPVtdO2lmKGEpZm9yKDtvPmk7aSsrKXI9dChlW2ldLGksbiksbnVsbCE9ciYmKHNbcy5sZW5ndGhdPXIpO2Vsc2UgZm9yKGkgaW4gZSlyPXQoZVtpXSxpLG4pLG51bGwhPXImJihzW3MubGVuZ3RoXT1yKTtyZXR1cm4gZC5hcHBseShbXSxzKX0sZ3VpZDoxLHByb3h5OmZ1bmN0aW9uKGUsbil7dmFyIHIsaSxvO3JldHVybiJzdHJpbmciPT10eXBlb2YgbiYmKG89ZVtuXSxuPWUsZT1vKSx4LmlzRnVuY3Rpb24oZSk/KHI9Zy5jYWxsKGFyZ3VtZW50cywyKSxpPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkobnx8dGhpcyxyLmNvbmNhdChnLmNhbGwoYXJndW1lbnRzKSkpfSxpLmd1aWQ9ZS5ndWlkPWUuZ3VpZHx8eC5ndWlkKyssaSk6dH0sYWNjZXNzOmZ1bmN0aW9uKGUsbixyLGksbyxhLHMpe3ZhciBsPTAsdT1lLmxlbmd0aCxjPW51bGw9PXI7aWYoIm9iamVjdCI9PT14LnR5cGUocikpe289ITA7Zm9yKGwgaW4gcil4LmFjY2VzcyhlLG4sbCxyW2xdLCEwLGEscyl9ZWxzZSBpZihpIT09dCYmKG89ITAseC5pc0Z1bmN0aW9uKGkpfHwocz0hMCksYyYmKHM/KG4uY2FsbChlLGkpLG49bnVsbCk6KGM9bixuPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gYy5jYWxsKHgoZSksbil9KSksbikpZm9yKDt1Pmw7bCsrKW4oZVtsXSxyLHM/aTppLmNhbGwoZVtsXSxsLG4oZVtsXSxyKSkpO3JldHVybiBvP2U6Yz9uLmNhbGwoZSk6dT9uKGVbMF0scik6YX0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9LHN3YXA6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhPXt9O2ZvcihvIGluIHQpYVtvXT1lLnN0eWxlW29dLGUuc3R5bGVbb109dFtvXTtpPW4uYXBwbHkoZSxyfHxbXSk7Zm9yKG8gaW4gdCllLnN0eWxlW29dPWFbb107cmV0dXJuIGl9fSkseC5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKHQpe2lmKCFuKWlmKG49eC5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT1hLnJlYWR5U3RhdGUpc2V0VGltZW91dCh4LnJlYWR5KTtlbHNlIGlmKGEuYWRkRXZlbnRMaXN0ZW5lcilhLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHEsITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIscSwhMSk7ZWxzZXthLmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLHEpLGUuYXR0YWNoRXZlbnQoIm9ubG9hZCIscSk7dmFyIHI9ITE7dHJ5e3I9bnVsbD09ZS5mcmFtZUVsZW1lbnQmJmEuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGkpe31yJiZyLmRvU2Nyb2xsJiZmdW5jdGlvbiBvKCl7aWYoIXguaXNSZWFkeSl7dHJ5e3IuZG9TY3JvbGwoImxlZnQiKX1jYXRjaChlKXtyZXR1cm4gc2V0VGltZW91dChvLDUwKX1fKCkseC5yZWFkeSgpfX0oKX1yZXR1cm4gbi5wcm9taXNlKHQpfSx4LmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oZSx0KXtjWyJbb2JqZWN0ICIrdCsiXSJdPXQudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIE0oZSl7dmFyIHQ9ZS5sZW5ndGgsbj14LnR5cGUoZSk7cmV0dXJuIHguaXNXaW5kb3coZSk/ITE6MT09PWUubm9kZVR5cGUmJnQ/ITA6ImFycmF5Ij09PW58fCJmdW5jdGlvbiIhPT1uJiYoMD09PXR8fCJudW1iZXIiPT10eXBlb2YgdCYmdD4wJiZ0LTEgaW4gZSl9cj14KGEpLGZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzLGwsdSxjLHAsZixkLGgsZyxtLHksdixiPSJzaXp6bGUiKy1uZXcgRGF0ZSx3PWUuZG9jdW1lbnQsVD0wLEM9MCxOPWx0KCksaz1sdCgpLEU9bHQoKSxTPSExLEE9ZnVuY3Rpb24oKXtyZXR1cm4gMH0saj10eXBlb2YgdCxEPTE8PDMxLEw9e30uaGFzT3duUHJvcGVydHksSD1bXSxxPUgucG9wLF89SC5wdXNoLE09SC5wdXNoLE89SC5zbGljZSxGPUguaW5kZXhPZnx8ZnVuY3Rpb24oZSl7dmFyIHQ9MCxuPXRoaXMubGVuZ3RoO2Zvcig7bj50O3QrKylpZih0aGlzW3RdPT09ZSlyZXR1cm4gdDtyZXR1cm4tMX0sQj0iY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLFA9IltcXHgyMFxcdFxcclxcblxcZl0iLFI9Iig/OlxcXFwufFtcXHctXXxbXlxceDAwLVxceGEwXSkrIixXPVIucmVwbGFjZSgidyIsIncjIiksJD0iXFxbIitQKyIqKCIrUisiKSIrUCsiKig/OihbKl4kfCF+XT89KSIrUCsiKig/OihbJ1wiXSkoKD86XFxcXC58W15cXFxcXSkqPylcXDN8KCIrVysiKXwpfCkiK1ArIipcXF0iLEk9IjooIitSKyIpKD86XFwoKChbJ1wiXSkoKD86XFxcXC58W15cXFxcXSkqPylcXDN8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IiskLnJlcGxhY2UoMyw4KSsiKSopfC4qKVxcKXwpIix6PVJlZ0V4cCgiXiIrUCsiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitQKyIrJCIsImciKSxYPVJlZ0V4cCgiXiIrUCsiKiwiK1ArIioiKSxVPVJlZ0V4cCgiXiIrUCsiKihbPit+XXwiK1ArIikiK1ArIioiKSxWPVJlZ0V4cChQKyIqWyt+XSIpLFk9UmVnRXhwKCI9IitQKyIqKFteXFxdJ1wiXSopIitQKyIqXFxdIiwiZyIpLEo9UmVnRXhwKEkpLEc9UmVnRXhwKCJeIitXKyIkIiksUT17SUQ6UmVnRXhwKCJeIygiK1IrIikiKSxDTEFTUzpSZWdFeHAoIl5cXC4oIitSKyIpIiksVEFHOlJlZ0V4cCgiXigiK1IucmVwbGFjZSgidyIsIncqIikrIikiKSxBVFRSOlJlZ0V4cCgiXiIrJCksUFNFVURPOlJlZ0V4cCgiXiIrSSksQ0hJTEQ6UmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK1ArIiooZXZlbnxvZGR8KChbKy1dfCkoXFxkKilufCkiK1ArIiooPzooWystXXwpIitQKyIqKFxcZCspfCkpIitQKyIqXFwpfCkiLCJpIiksYm9vbDpSZWdFeHAoIl4oPzoiK0IrIikkIiwiaSIpLG5lZWRzQ29udGV4dDpSZWdFeHAoIl4iK1ArIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcKCIrUCsiKigoPzotXFxkKT9cXGQqKSIrUCsiKlxcKXwpKD89W14tXXwkKSIsImkiKX0sSz0vXltee10rXHtccypcW25hdGl2ZSBcdy8sWj0vXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLGV0PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksdHQ9L15oXGQkL2ksbnQ9Lyd8XFwvZyxydD1SZWdFeHAoIlxcXFwoW1xcZGEtZl17MSw2fSIrUCsiP3woIitQKyIpfC4pIiwiaWciKSxpdD1mdW5jdGlvbihlLHQsbil7dmFyIHI9IjB4Iit0LTY1NTM2O3JldHVybiByIT09cnx8bj90OjA+cj9TdHJpbmcuZnJvbUNoYXJDb2RlKHIrNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8cj4+MTAsNTYzMjB8MTAyMyZyKX07dHJ5e00uYXBwbHkoSD1PLmNhbGwody5jaGlsZE5vZGVzKSx3LmNoaWxkTm9kZXMpLEhbdy5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2gob3Qpe009e2FwcGx5OkgubGVuZ3RoP2Z1bmN0aW9uKGUsdCl7Xy5hcHBseShlLE8uY2FsbCh0KSl9OmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5sZW5ndGgscj0wO3doaWxlKGVbbisrXT10W3IrK10pO2UubGVuZ3RoPW4tMX19fWZ1bmN0aW9uIGF0KGUsdCxuLGkpe3ZhciBvLGEscyxsLHUsYyxkLG0seSx4O2lmKCh0P3Qub3duZXJEb2N1bWVudHx8dDp3KSE9PWYmJnAodCksdD10fHxmLG49bnx8W10sIWV8fCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gbjtpZigxIT09KGw9dC5ub2RlVHlwZSkmJjkhPT1sKXJldHVybltdO2lmKGgmJiFpKXtpZihvPVouZXhlYyhlKSlpZihzPW9bMV0pe2lmKDk9PT1sKXtpZihhPXQuZ2V0RWxlbWVudEJ5SWQocyksIWF8fCFhLnBhcmVudE5vZGUpcmV0dXJuIG47aWYoYS5pZD09PXMpcmV0dXJuIG4ucHVzaChhKSxufWVsc2UgaWYodC5vd25lckRvY3VtZW50JiYoYT10Lm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocykpJiZ2KHQsYSkmJmEuaWQ9PT1zKXJldHVybiBuLnB1c2goYSksbn1lbHNle2lmKG9bMl0pcmV0dXJuIE0uYXBwbHkobix0LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpKSxuO2lmKChzPW9bM10pJiZyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gTS5hcHBseShuLHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShzKSksbn1pZihyLnFzYSYmKCFnfHwhZy50ZXN0KGUpKSl7aWYobT1kPWIseT10LHg9OT09PWwmJmUsMT09PWwmJiJvYmplY3QiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXtjPWJ0KGUpLChkPXQuZ2V0QXR0cmlidXRlKCJpZCIpKT9tPWQucmVwbGFjZShudCwiXFwkJiIpOnQuc2V0QXR0cmlidXRlKCJpZCIsbSksbT0iW2lkPSciK20rIiddICIsdT1jLmxlbmd0aDt3aGlsZSh1LS0pY1t1XT1tK3h0KGNbdV0pO3k9Vi50ZXN0KGUpJiZ0LnBhcmVudE5vZGV8fHQseD1jLmpvaW4oIiwiKX1pZih4KXRyeXtyZXR1cm4gTS5hcHBseShuLHkucXVlcnlTZWxlY3RvckFsbCh4KSksbn1jYXRjaChUKXt9ZmluYWxseXtkfHx0LnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBBdChlLnJlcGxhY2UoeiwiJDEiKSx0LG4saSl9ZnVuY3Rpb24gc3QoZSl7cmV0dXJuIEsudGVzdChlKyIiKX1mdW5jdGlvbiBsdCgpe3ZhciBlPVtdO2Z1bmN0aW9uIHQobixyKXtyZXR1cm4gZS5wdXNoKG4rPSIgIik+by5jYWNoZUxlbmd0aCYmZGVsZXRlIHRbZS5zaGlmdCgpXSx0W25dPXJ9cmV0dXJuIHR9ZnVuY3Rpb24gdXQoZSl7cmV0dXJuIGVbYl09ITAsZX1mdW5jdGlvbiBjdChlKXt2YXIgdD1mLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RyeXtyZXR1cm4hIWUodCl9Y2F0Y2gobil7cmV0dXJuITF9ZmluYWxseXt0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0PW51bGx9fWZ1bmN0aW9uIHB0KGUsdCxuKXtlPWUuc3BsaXQoInwiKTt2YXIgcixpPWUubGVuZ3RoLGE9bj9udWxsOnQ7d2hpbGUoaS0tKShyPW8uYXR0ckhhbmRsZVtlW2ldXSkmJnIhPT10fHwoby5hdHRySGFuZGxlW2VbaV1dPWEpfWZ1bmN0aW9uIGZ0KGUsdCl7dmFyIG49ZS5nZXRBdHRyaWJ1dGVOb2RlKHQpO3JldHVybiBuJiZuLnNwZWNpZmllZD9uLnZhbHVlOmVbdF09PT0hMD90LnRvTG93ZXJDYXNlKCk6bnVsbH1mdW5jdGlvbiBkdChlLHQpe3JldHVybiBlLmdldEF0dHJpYnV0ZSh0LCJ0eXBlIj09PXQudG9Mb3dlckNhc2UoKT8xOjIpfWZ1bmN0aW9uIGh0KGUpe3JldHVybiJpbnB1dCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/ZS5kZWZhdWx0VmFsdWU6dH1mdW5jdGlvbiBndChlLHQpe3ZhciBuPXQmJmUscj1uJiYxPT09ZS5ub2RlVHlwZSYmMT09PXQubm9kZVR5cGUmJih+dC5zb3VyY2VJbmRleHx8RCktKH5lLnNvdXJjZUluZGV4fHxEKTtpZihyKXJldHVybiByO2lmKG4pd2hpbGUobj1uLm5leHRTaWJsaW5nKWlmKG49PT10KXJldHVybi0xO3JldHVybiBlPzE6LTF9ZnVuY3Rpb24gbXQoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBuPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09biYmdC50eXBlPT09ZX19ZnVuY3Rpb24geXQoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBuPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PW58fCJidXR0b24iPT09bikmJnQudHlwZT09PWV9fWZ1bmN0aW9uIHZ0KGUpe3JldHVybiB1dChmdW5jdGlvbih0KXtyZXR1cm4gdD0rdCx1dChmdW5jdGlvbihuLHIpe3ZhciBpLG89ZShbXSxuLmxlbmd0aCx0KSxhPW8ubGVuZ3RoO3doaWxlKGEtLSluW2k9b1thXV0mJihuW2ldPSEocltpXT1uW2ldKSl9KX0pfXM9YXQuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmKGUub3duZXJEb2N1bWVudHx8ZSkuZG9jdW1lbnRFbGVtZW50O3JldHVybiB0PyJIVE1MIiE9PXQubm9kZU5hbWU6ITF9LHI9YXQuc3VwcG9ydD17fSxwPWF0LnNldERvY3VtZW50PWZ1bmN0aW9uKGUpe3ZhciBuPWU/ZS5vd25lckRvY3VtZW50fHxlOncsaT1uLnBhcmVudFdpbmRvdztyZXR1cm4gbiE9PWYmJjk9PT1uLm5vZGVUeXBlJiZuLmRvY3VtZW50RWxlbWVudD8oZj1uLGQ9bi5kb2N1bWVudEVsZW1lbnQsaD0hcyhuKSxpJiZpLmZyYW1lRWxlbWVudCYmaS5hdHRhY2hFdmVudCgib25iZWZvcmV1bmxvYWQiLGZ1bmN0aW9uKCl7cCgpfSksci5hdHRyaWJ1dGVzPWN0KGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD0iPGEgaHJlZj0nIyc+PC9hPiIscHQoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGR0LCIjIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSkscHQoQixmdCxudWxsPT1lLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKSksZS5jbGFzc05hbWU9ImkiLCFlLmdldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIil9KSxyLmlucHV0PWN0KGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD0iPGlucHV0PiIsZS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KSxwdCgidmFsdWUiLGh0LHIuYXR0cmlidXRlcyYmci5pbnB1dCksci5nZXRFbGVtZW50c0J5VGFnTmFtZT1jdChmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBlbmRDaGlsZChuLmNyZWF0ZUNvbW1lbnQoIiIpKSwhZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLHIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1jdChmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxkaXYgY2xhc3M9J2EnPjwvZGl2PjxkaXYgY2xhc3M9J2EgaSc+PC9kaXY+IixlLmZpcnN0Q2hpbGQuY2xhc3NOYW1lPSJpIiwyPT09ZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJpIikubGVuZ3RofSksci5nZXRCeUlkPWN0KGZ1bmN0aW9uKGUpe3JldHVybiBkLmFwcGVuZENoaWxkKGUpLmlkPWIsIW4uZ2V0RWxlbWVudHNCeU5hbWV8fCFuLmdldEVsZW1lbnRzQnlOYW1lKGIpLmxlbmd0aH0pLHIuZ2V0QnlJZD8oby5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYodHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQhPT1qJiZoKXt2YXIgbj10LmdldEVsZW1lbnRCeUlkKGUpO3JldHVybiBuJiZuLnBhcmVudE5vZGU/W25dOltdfX0sby5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHJ0LGl0KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJpZCIpPT09dH19KTooZGVsZXRlIG8uZmluZC5JRCxvLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UocnQsaXQpO3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj10eXBlb2YgZS5nZXRBdHRyaWJ1dGVOb2RlIT09aiYmZS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBuJiZuLnZhbHVlPT09dH19KSxvLmZpbmQuVEFHPXIuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdHlwZW9mIG4uZ2V0RWxlbWVudHNCeVRhZ05hbWUhPT1qP24uZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk6dH06ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9MCxvPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk7aWYoIioiPT09ZSl7d2hpbGUobj1vW2krK10pMT09PW4ubm9kZVR5cGUmJnIucHVzaChuKTtyZXR1cm4gcn1yZXR1cm4gb30sby5maW5kLkNMQVNTPXIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oZSxuKXtyZXR1cm4gdHlwZW9mIG4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSE9PWomJmg/bi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUpOnR9LG09W10sZz1bXSwoci5xc2E9c3Qobi5xdWVyeVNlbGVjdG9yQWxsKSkmJihjdChmdW5jdGlvbihlKXtlLmlubmVySFRNTD0iPHNlbGVjdD48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsZS5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RofHxnLnB1c2goIlxcWyIrUCsiKig/OnZhbHVlfCIrQisiKSIpLGUucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fGcucHVzaCgiOmNoZWNrZWQiKX0pLGN0KGZ1bmN0aW9uKGUpe3ZhciB0PW4uY3JlYXRlRWxlbWVudCgiaW5wdXQiKTt0LnNldEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpLGUuYXBwZW5kQ2hpbGQodCkuc2V0QXR0cmlidXRlKCJ0IiwiIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJbdF49JyddIikubGVuZ3RoJiZnLnB1c2goIlsqXiRdPSIrUCsiKig/OicnfFwiXCIpIiksZS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aHx8Zy5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGUucXVlcnlTZWxlY3RvckFsbCgiKiw6eCIpLGcucHVzaCgiLC4qOiIpfSkpLChyLm1hdGNoZXNTZWxlY3Rvcj1zdCh5PWQud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxkLm1vek1hdGNoZXNTZWxlY3Rvcnx8ZC5vTWF0Y2hlc1NlbGVjdG9yfHxkLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmN0KGZ1bmN0aW9uKGUpe3IuZGlzY29ubmVjdGVkTWF0Y2g9eS5jYWxsKGUsImRpdiIpLHkuY2FsbChlLCJbcyE9JyddOngiKSxtLnB1c2goIiE9IixJKX0pLGc9Zy5sZW5ndGgmJlJlZ0V4cChnLmpvaW4oInwiKSksbT1tLmxlbmd0aCYmUmVnRXhwKG0uam9pbigifCIpKSx2PXN0KGQuY29udGFpbnMpfHxkLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uP2Z1bmN0aW9uKGUsdCl7dmFyIG49OT09PWUubm9kZVR5cGU/ZS5kb2N1bWVudEVsZW1lbnQ6ZSxyPXQmJnQucGFyZW50Tm9kZTtyZXR1cm4gZT09PXJ8fCEoIXJ8fDEhPT1yLm5vZGVUeXBlfHwhKG4uY29udGFpbnM/bi5jb250YWlucyhyKTplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHIpKSl9OmZ1bmN0aW9uKGUsdCl7aWYodCl3aGlsZSh0PXQucGFyZW50Tm9kZSlpZih0PT09ZSlyZXR1cm4hMDtyZXR1cm4hMX0sci5zb3J0RGV0YWNoZWQ9Y3QoZnVuY3Rpb24oZSl7cmV0dXJuIDEmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuLmNyZWF0ZUVsZW1lbnQoImRpdiIpKX0pLEE9ZC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9mdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBTPSEwLDA7dmFyIGk9dC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KTtyZXR1cm4gaT8xJml8fCFyLnNvcnREZXRhY2hlZCYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKT09PWk/ZT09PW58fHYodyxlKT8tMTp0PT09bnx8dih3LHQpPzE6Yz9GLmNhbGwoYyxlKS1GLmNhbGwoYyx0KTowOjQmaT8tMToxOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24/LTE6MX06ZnVuY3Rpb24oZSx0KXt2YXIgcixpPTAsbz1lLnBhcmVudE5vZGUsYT10LnBhcmVudE5vZGUscz1bZV0sbD1bdF07aWYoZT09PXQpcmV0dXJuIFM9ITAsMDtpZighb3x8IWEpcmV0dXJuIGU9PT1uPy0xOnQ9PT1uPzE6bz8tMTphPzE6Yz9GLmNhbGwoYyxlKS1GLmNhbGwoYyx0KTowO2lmKG89PT1hKXJldHVybiBndChlLHQpO3I9ZTt3aGlsZShyPXIucGFyZW50Tm9kZSlzLnVuc2hpZnQocik7cj10O3doaWxlKHI9ci5wYXJlbnROb2RlKWwudW5zaGlmdChyKTt3aGlsZShzW2ldPT09bFtpXSlpKys7cmV0dXJuIGk/Z3Qoc1tpXSxsW2ldKTpzW2ldPT09dz8tMTpsW2ldPT09dz8xOjB9LG4pOmZ9LGF0Lm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXQoZSxudWxsLG51bGwsdCl9LGF0Lm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihlLHQpe2lmKChlLm93bmVyRG9jdW1lbnR8fGUpIT09ZiYmcChlKSx0PXQucmVwbGFjZShZLCI9JyQxJ10iKSwhKCFyLm1hdGNoZXNTZWxlY3Rvcnx8IWh8fG0mJm0udGVzdCh0KXx8ZyYmZy50ZXN0KHQpKSl0cnl7dmFyIG49eS5jYWxsKGUsdCk7aWYobnx8ci5kaXNjb25uZWN0ZWRNYXRjaHx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBufWNhdGNoKGkpe31yZXR1cm4gYXQodCxmLG51bGwsW2VdKS5sZW5ndGg+MH0sYXQuY29udGFpbnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZS5vd25lckRvY3VtZW50fHxlKSE9PWYmJnAoZSksdihlLHQpfSxhdC5hdHRyPWZ1bmN0aW9uKGUsbil7KGUub3duZXJEb2N1bWVudHx8ZSkhPT1mJiZwKGUpO3ZhciBpPW8uYXR0ckhhbmRsZVtuLnRvTG93ZXJDYXNlKCldLGE9aSYmTC5jYWxsKG8uYXR0ckhhbmRsZSxuLnRvTG93ZXJDYXNlKCkpP2koZSxuLCFoKTp0O3JldHVybiBhPT09dD9yLmF0dHJpYnV0ZXN8fCFoP2UuZ2V0QXR0cmlidXRlKG4pOihhPWUuZ2V0QXR0cmlidXRlTm9kZShuKSkmJmEuc3BlY2lmaWVkP2EudmFsdWU6bnVsbDphfSxhdC5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX0sYXQudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxuPVtdLGk9MCxvPTA7aWYoUz0hci5kZXRlY3REdXBsaWNhdGVzLGM9IXIuc29ydFN0YWJsZSYmZS5zbGljZSgwKSxlLnNvcnQoQSksUyl7d2hpbGUodD1lW28rK10pdD09PWVbb10mJihpPW4ucHVzaChvKSk7d2hpbGUoaS0tKWUuc3BsaWNlKG5baV0sMSl9cmV0dXJuIGV9LGE9YXQuZ2V0VGV4dD1mdW5jdGlvbihlKXt2YXIgdCxuPSIiLHI9MCxpPWUubm9kZVR5cGU7aWYoaSl7aWYoMT09PWl8fDk9PT1pfHwxMT09PWkpe2lmKCJzdHJpbmciPT10eXBlb2YgZS50ZXh0Q29udGVudClyZXR1cm4gZS50ZXh0Q29udGVudDtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpbis9YShlKX1lbHNlIGlmKDM9PT1pfHw0PT09aSlyZXR1cm4gZS5ub2RlVmFsdWV9ZWxzZSBmb3IoO3Q9ZVtyXTtyKyspbis9YSh0KTtyZXR1cm4gbn0sbz1hdC5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzp1dCxtYXRjaDpRLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT1lWzFdLnJlcGxhY2UocnQsaXQpLGVbM109KGVbNF18fGVbNV18fCIiKS5yZXBsYWNlKHJ0LGl0KSwifj0iPT09ZVsyXSYmKGVbM109IiAiK2VbM10rIiAiKSxlLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWVbMV0uc2xpY2UoMCwzKT8oZVszXXx8YXQuZXJyb3IoZVswXSksZVs0XT0rKGVbNF0/ZVs1XSsoZVs2XXx8MSk6MiooImV2ZW4iPT09ZVszXXx8Im9kZCI9PT1lWzNdKSksZVs1XT0rKGVbN10rZVs4XXx8Im9kZCI9PT1lWzNdKSk6ZVszXSYmYXQuZXJyb3IoZVswXSksZX0sUFNFVURPOmZ1bmN0aW9uKGUpe3ZhciBuLHI9IWVbNV0mJmVbMl07cmV0dXJuIFEuQ0hJTEQudGVzdChlWzBdKT9udWxsOihlWzNdJiZlWzRdIT09dD9lWzJdPWVbNF06ciYmSi50ZXN0KHIpJiYobj1idChyLCEwKSkmJihuPXIuaW5kZXhPZigiKSIsci5sZW5ndGgtbiktci5sZW5ndGgpJiYoZVswXT1lWzBdLnNsaWNlKDAsbiksZVsyXT1yLnNsaWNlKDAsbikpLGUuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UocnQsaXQpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09ZT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH19LENMQVNTOmZ1bmN0aW9uKGUpe3ZhciB0PU5bZSsiICJdO3JldHVybiB0fHwodD1SZWdFeHAoIihefCIrUCsiKSIrZSsiKCIrUCsifCQpIikpJiZOKGUsZnVuY3Rpb24oZSl7cmV0dXJuIHQudGVzdCgic3RyaW5nIj09dHlwZW9mIGUuY2xhc3NOYW1lJiZlLmNsYXNzTmFtZXx8dHlwZW9mIGUuZ2V0QXR0cmlidXRlIT09aiYmZS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIGk9YXQuYXR0cihyLGUpO3JldHVybiBudWxsPT1pPyIhPSI9PT10OnQ/KGkrPSIiLCI9Ij09PXQ/aT09PW46IiE9Ij09PXQ/aSE9PW46Il49Ij09PXQ/biYmMD09PWkuaW5kZXhPZihuKToiKj0iPT09dD9uJiZpLmluZGV4T2Yobik+LTE6IiQ9Ij09PXQ/biYmaS5zbGljZSgtbi5sZW5ndGgpPT09bjoifj0iPT09dD8oIiAiK2krIiAiKS5pbmRleE9mKG4pPi0xOiJ8PSI9PT10P2k9PT1ufHxpLnNsaWNlKDAsbi5sZW5ndGgrMSk9PT1uKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvPSJudGgiIT09ZS5zbGljZSgwLDMpLGE9Imxhc3QiIT09ZS5zbGljZSgtNCkscz0ib2YtdHlwZSI9PT10O3JldHVybiAxPT09ciYmMD09PWk/ZnVuY3Rpb24oZSl7cmV0dXJuISFlLnBhcmVudE5vZGV9OmZ1bmN0aW9uKHQsbixsKXt2YXIgdSxjLHAsZixkLGgsZz1vIT09YT8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLG09dC5wYXJlbnROb2RlLHk9cyYmdC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHY9IWwmJiFzO2lmKG0pe2lmKG8pe3doaWxlKGcpe3A9dDt3aGlsZShwPXBbZ10paWYocz9wLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT15OjE9PT1wLm5vZGVUeXBlKXJldHVybiExO2g9Zz0ib25seSI9PT1lJiYhaCYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihoPVthP20uZmlyc3RDaGlsZDptLmxhc3RDaGlsZF0sYSYmdil7Yz1tW2JdfHwobVtiXT17fSksdT1jW2VdfHxbXSxkPXVbMF09PT1UJiZ1WzFdLGY9dVswXT09PVQmJnVbMl0scD1kJiZtLmNoaWxkTm9kZXNbZF07d2hpbGUocD0rK2QmJnAmJnBbZ118fChmPWQ9MCl8fGgucG9wKCkpaWYoMT09PXAubm9kZVR5cGUmJisrZiYmcD09PXQpe2NbZV09W1QsZCxmXTticmVha319ZWxzZSBpZih2JiYodT0odFtiXXx8KHRbYl09e30pKVtlXSkmJnVbMF09PT1UKWY9dVsxXTtlbHNlIHdoaWxlKHA9KytkJiZwJiZwW2ddfHwoZj1kPTApfHxoLnBvcCgpKWlmKChzP3Aubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXk6MT09PXAubm9kZVR5cGUpJiYrK2YmJih2JiYoKHBbYl18fChwW2JdPXt9KSlbZV09W1QsZl0pLHA9PT10KSlicmVhaztyZXR1cm4gZi09aSxmPT09cnx8MD09PWYlciYmZi9yPj0wfX19LFBTRVVETzpmdW5jdGlvbihlLHQpe3ZhciBuLHI9by5wc2V1ZG9zW2VdfHxvLnNldEZpbHRlcnNbZS50b0xvd2VyQ2FzZSgpXXx8YXQuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIitlKTtyZXR1cm4gcltiXT9yKHQpOnIubGVuZ3RoPjE/KG49W2UsZSwiIix0XSxvLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoZS50b0xvd2VyQ2FzZSgpKT91dChmdW5jdGlvbihlLG4pe3ZhciBpLG89cihlLHQpLGE9by5sZW5ndGg7d2hpbGUoYS0tKWk9Ri5jYWxsKGUsb1thXSksZVtpXT0hKG5baV09b1thXSl9KTpmdW5jdGlvbihlKXtyZXR1cm4gcihlLDAsbil9KTpyfX0scHNldWRvczp7bm90OnV0KGZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49W10scj1sKGUucmVwbGFjZSh6LCIkMSIpKTtyZXR1cm4gcltiXT91dChmdW5jdGlvbihlLHQsbixpKXt2YXIgbyxhPXIoZSxudWxsLGksW10pLHM9ZS5sZW5ndGg7d2hpbGUocy0tKShvPWFbc10pJiYoZVtzXT0hKHRbc109bykpfSk6ZnVuY3Rpb24oZSxpLG8pe3JldHVybiB0WzBdPWUscih0LG51bGwsbyxuKSwhbi5wb3AoKX19KSxoYXM6dXQoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBhdChlLHQpLmxlbmd0aD4wfX0pLGNvbnRhaW5zOnV0KGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4odC50ZXh0Q29udGVudHx8dC5pbm5lclRleHR8fGEodCkpLmluZGV4T2YoZSk+LTF9fSksbGFuZzp1dChmdW5jdGlvbihlKXtyZXR1cm4gRy50ZXN0KGV8fCIiKXx8YXQuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrZSksZT1lLnJlcGxhY2UocnQsaXQpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24odCl7dmFyIG47ZG8gaWYobj1oP3QubGFuZzp0LmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8dC5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gbj1uLnRvTG93ZXJDYXNlKCksbj09PWV8fDA9PT1uLmluZGV4T2YoZSsiLSIpO3doaWxlKCh0PXQucGFyZW50Tm9kZSkmJjE9PT10Lm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24odCl7dmFyIG49ZS5sb2NhdGlvbiYmZS5sb2NhdGlvbi5oYXNoO3JldHVybiBuJiZuLnNsaWNlKDEpPT09dC5pZH0scm9vdDpmdW5jdGlvbihlKXtyZXR1cm4gZT09PWR9LGZvY3VzOmZ1bmN0aW9uKGUpe3JldHVybiBlPT09Zi5hY3RpdmVFbGVtZW50JiYoIWYuaGFzRm9jdXN8fGYuaGFzRm9jdXMoKSkmJiEhKGUudHlwZXx8ZS5ocmVmfHx+ZS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiEhZS5jaGVja2VkfHwib3B0aW9uIj09PXQmJiEhZS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsZS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihlKXtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpaWYoZS5ub2RlTmFtZT4iQCJ8fDM9PT1lLm5vZGVUeXBlfHw0PT09ZS5ub2RlVHlwZSlyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGUpe3JldHVybiFvLnBzZXVkb3MuZW1wdHkoZSl9LGhlYWRlcjpmdW5jdGlvbihlKXtyZXR1cm4gdHQudGVzdChlLm5vZGVOYW1lKX0saW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGV0LnRlc3QoZS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09ZS50eXBlJiYobnVsbD09KHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fHQudG9Mb3dlckNhc2UoKT09PWUudHlwZSl9LGZpcnN0OnZ0KGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDp2dChmdW5jdGlvbihlLHQpe3JldHVyblt0LTFdfSksZXE6dnQoZnVuY3Rpb24oZSx0LG4pe3JldHVyblswPm4/bit0Om5dfSksZXZlbjp2dChmdW5jdGlvbihlLHQpe3ZhciBuPTA7Zm9yKDt0Pm47bis9MillLnB1c2gobik7cmV0dXJuIGV9KSxvZGQ6dnQoZnVuY3Rpb24oZSx0KXt2YXIgbj0xO2Zvcig7dD5uO24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksbHQ6dnQoZnVuY3Rpb24oZSx0LG4pe3ZhciByPTA+bj9uK3Q6bjtmb3IoOy0tcj49MDspZS5wdXNoKHIpO3JldHVybiBlfSksZ3Q6dnQoZnVuY3Rpb24oZSx0LG4pe3ZhciByPTA+bj9uK3Q6bjtmb3IoO3Q+KytyOyllLnB1c2gocik7cmV0dXJuIGV9KX19O2ZvcihuIGlue3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KW8ucHNldWRvc1tuXT1tdChuKTtmb3IobiBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KW8ucHNldWRvc1tuXT15dChuKTtmdW5jdGlvbiBidChlLHQpe3ZhciBuLHIsaSxhLHMsbCx1LGM9a1tlKyIgIl07aWYoYylyZXR1cm4gdD8wOmMuc2xpY2UoMCk7cz1lLGw9W10sdT1vLnByZUZpbHRlcjt3aGlsZShzKXsoIW58fChyPVguZXhlYyhzKSkpJiYociYmKHM9cy5zbGljZShyWzBdLmxlbmd0aCl8fHMpLGwucHVzaChpPVtdKSksbj0hMSwocj1VLmV4ZWMocykpJiYobj1yLnNoaWZ0KCksaS5wdXNoKHt2YWx1ZTpuLHR5cGU6clswXS5yZXBsYWNlKHosIiAiKX0pLHM9cy5zbGljZShuLmxlbmd0aCkpO2ZvcihhIGluIG8uZmlsdGVyKSEocj1RW2FdLmV4ZWMocykpfHx1W2FdJiYhKHI9dVthXShyKSl8fChuPXIuc2hpZnQoKSxpLnB1c2goe3ZhbHVlOm4sdHlwZTphLG1hdGNoZXM6cn0pLHM9cy5zbGljZShuLmxlbmd0aCkpO2lmKCFuKWJyZWFrfXJldHVybiB0P3MubGVuZ3RoOnM/YXQuZXJyb3IoZSk6ayhlLGwpLnNsaWNlKDApfWZ1bmN0aW9uIHh0KGUpe3ZhciB0PTAsbj1lLmxlbmd0aCxyPSIiO2Zvcig7bj50O3QrKylyKz1lW3RdLnZhbHVlO3JldHVybiByfWZ1bmN0aW9uIHd0KGUsdCxuKXt2YXIgcj10LmRpcixvPW4mJiJwYXJlbnROb2RlIj09PXIsYT1DKys7cmV0dXJuIHQuZmlyc3Q/ZnVuY3Rpb24odCxuLGkpe3doaWxlKHQ9dFtyXSlpZigxPT09dC5ub2RlVHlwZXx8bylyZXR1cm4gZSh0LG4saSl9OmZ1bmN0aW9uKHQsbixzKXt2YXIgbCx1LGMscD1UKyIgIithO2lmKHMpe3doaWxlKHQ9dFtyXSlpZigoMT09PXQubm9kZVR5cGV8fG8pJiZlKHQsbixzKSlyZXR1cm4hMH1lbHNlIHdoaWxlKHQ9dFtyXSlpZigxPT09dC5ub2RlVHlwZXx8bylpZihjPXRbYl18fCh0W2JdPXt9KSwodT1jW3JdKSYmdVswXT09PXApe2lmKChsPXVbMV0pPT09ITB8fGw9PT1pKXJldHVybiBsPT09ITB9ZWxzZSBpZih1PWNbcl09W3BdLHVbMV09ZSh0LG4scyl8fGksdVsxXT09PSEwKXJldHVybiEwfX1mdW5jdGlvbiBUdChlKXtyZXR1cm4gZS5sZW5ndGg+MT9mdW5jdGlvbih0LG4scil7dmFyIGk9ZS5sZW5ndGg7d2hpbGUoaS0tKWlmKCFlW2ldKHQsbixyKSlyZXR1cm4hMTtyZXR1cm4hMH06ZVswXX1mdW5jdGlvbiBDdChlLHQsbixyLGkpe3ZhciBvLGE9W10scz0wLGw9ZS5sZW5ndGgsdT1udWxsIT10O2Zvcig7bD5zO3MrKykobz1lW3NdKSYmKCFufHxuKG8scixpKSkmJihhLnB1c2gobyksdSYmdC5wdXNoKHMpKTtyZXR1cm4gYX1mdW5jdGlvbiBOdChlLHQsbixyLGksbyl7cmV0dXJuIHImJiFyW2JdJiYocj1OdChyKSksaSYmIWlbYl0mJihpPU50KGksbykpLHV0KGZ1bmN0aW9uKG8sYSxzLGwpe3ZhciB1LGMscCxmPVtdLGQ9W10saD1hLmxlbmd0aCxnPW98fFN0KHR8fCIqIixzLm5vZGVUeXBlP1tzXTpzLFtdKSxtPSFlfHwhbyYmdD9nOkN0KGcsZixlLHMsbCkseT1uP2l8fChvP2U6aHx8cik/W106YTptO2lmKG4mJm4obSx5LHMsbCkscil7dT1DdCh5LGQpLHIodSxbXSxzLGwpLGM9dS5sZW5ndGg7d2hpbGUoYy0tKShwPXVbY10pJiYoeVtkW2NdXT0hKG1bZFtjXV09cCkpfWlmKG8pe2lmKGl8fGUpe2lmKGkpe3U9W10sYz15Lmxlbmd0aDt3aGlsZShjLS0pKHA9eVtjXSkmJnUucHVzaChtW2NdPXApO2kobnVsbCx5PVtdLHUsbCl9Yz15Lmxlbmd0aDt3aGlsZShjLS0pKHA9eVtjXSkmJih1PWk/Ri5jYWxsKG8scCk6ZltjXSk+LTEmJihvW3VdPSEoYVt1XT1wKSl9fWVsc2UgeT1DdCh5PT09YT95LnNwbGljZShoLHkubGVuZ3RoKTp5KSxpP2kobnVsbCxhLHksbCk6TS5hcHBseShhLHkpfSl9ZnVuY3Rpb24ga3QoZSl7dmFyIHQsbixyLGk9ZS5sZW5ndGgsYT1vLnJlbGF0aXZlW2VbMF0udHlwZV0scz1hfHxvLnJlbGF0aXZlWyIgIl0sbD1hPzE6MCxjPXd0KGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dH0scywhMCkscD13dChmdW5jdGlvbihlKXtyZXR1cm4gRi5jYWxsKHQsZSk+LTF9LHMsITApLGY9W2Z1bmN0aW9uKGUsbixyKXtyZXR1cm4hYSYmKHJ8fG4hPT11KXx8KCh0PW4pLm5vZGVUeXBlP2MoZSxuLHIpOnAoZSxuLHIpKX1dO2Zvcig7aT5sO2wrKylpZihuPW8ucmVsYXRpdmVbZVtsXS50eXBlXSlmPVt3dChUdChmKSxuKV07ZWxzZXtpZihuPW8uZmlsdGVyW2VbbF0udHlwZV0uYXBwbHkobnVsbCxlW2xdLm1hdGNoZXMpLG5bYl0pe2ZvcihyPSsrbDtpPnI7cisrKWlmKG8ucmVsYXRpdmVbZVtyXS50eXBlXSlicmVhaztyZXR1cm4gTnQobD4xJiZUdChmKSxsPjEmJnh0KGUuc2xpY2UoMCxsLTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09ZVtsLTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2UoeiwiJDEiKSxuLHI+bCYma3QoZS5zbGljZShsLHIpKSxpPnImJmt0KGU9ZS5zbGljZShyKSksaT5yJiZ4dChlKSl9Zi5wdXNoKG4pfXJldHVybiBUdChmKX1mdW5jdGlvbiBFdChlLHQpe3ZhciBuPTAscj10Lmxlbmd0aD4wLGE9ZS5sZW5ndGg+MCxzPWZ1bmN0aW9uKHMsbCxjLHAsZCl7dmFyIGgsZyxtLHk9W10sdj0wLGI9IjAiLHg9cyYmW10sdz1udWxsIT1kLEM9dSxOPXN8fGEmJm8uZmluZC5UQUcoIioiLGQmJmwucGFyZW50Tm9kZXx8bCksaz1UKz1udWxsPT1DPzE6TWF0aC5yYW5kb20oKXx8LjE7Zm9yKHcmJih1PWwhPT1mJiZsLGk9bik7bnVsbCE9KGg9TltiXSk7YisrKXtpZihhJiZoKXtnPTA7d2hpbGUobT1lW2crK10paWYobShoLGwsYykpe3AucHVzaChoKTticmVha313JiYoVD1rLGk9KytuKX1yJiYoKGg9IW0mJmgpJiZ2LS0scyYmeC5wdXNoKGgpKX1pZih2Kz1iLHImJmIhPT12KXtnPTA7d2hpbGUobT10W2crK10pbSh4LHksbCxjKTtpZihzKXtpZih2PjApd2hpbGUoYi0tKXhbYl18fHlbYl18fCh5W2JdPXEuY2FsbChwKSk7eT1DdCh5KX1NLmFwcGx5KHAseSksdyYmIXMmJnkubGVuZ3RoPjAmJnYrdC5sZW5ndGg+MSYmYXQudW5pcXVlU29ydChwKX1yZXR1cm4gdyYmKFQ9ayx1PUMpLHh9O3JldHVybiByP3V0KHMpOnN9bD1hdC5jb21waWxlPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxpPVtdLG89RVtlKyIgIl07aWYoIW8pe3R8fCh0PWJ0KGUpKSxuPXQubGVuZ3RoO3doaWxlKG4tLSlvPWt0KHRbbl0pLG9bYl0/ci5wdXNoKG8pOmkucHVzaChvKTtvPUUoZSxFdChpLHIpKX1yZXR1cm4gb307ZnVuY3Rpb24gU3QoZSx0LG4pe3ZhciByPTAsaT10Lmxlbmd0aDtmb3IoO2k+cjtyKyspYXQoZSx0W3JdLG4pO3JldHVybiBufWZ1bmN0aW9uIEF0KGUsdCxuLGkpe3ZhciBhLHMsdSxjLHAsZj1idChlKTtpZighaSYmMT09PWYubGVuZ3RoKXtpZihzPWZbMF09ZlswXS5zbGljZSgwKSxzLmxlbmd0aD4yJiYiSUQiPT09KHU9c1swXSkudHlwZSYmci5nZXRCeUlkJiY5PT09dC5ub2RlVHlwZSYmaCYmby5yZWxhdGl2ZVtzWzFdLnR5cGVdKXtpZih0PShvLmZpbmQuSUQodS5tYXRjaGVzWzBdLnJlcGxhY2UocnQsaXQpLHQpfHxbXSlbMF0sIXQpcmV0dXJuIG47ZT1lLnNsaWNlKHMuc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWE9US5uZWVkc0NvbnRleHQudGVzdChlKT8wOnMubGVuZ3RoO3doaWxlKGEtLSl7aWYodT1zW2FdLG8ucmVsYXRpdmVbYz11LnR5cGVdKWJyZWFrO2lmKChwPW8uZmluZFtjXSkmJihpPXAodS5tYXRjaGVzWzBdLnJlcGxhY2UocnQsaXQpLFYudGVzdChzWzBdLnR5cGUpJiZ0LnBhcmVudE5vZGV8fHQpKSl7aWYocy5zcGxpY2UoYSwxKSxlPWkubGVuZ3RoJiZ4dChzKSwhZSlyZXR1cm4gTS5hcHBseShuLGkpLG47YnJlYWt9fX1yZXR1cm4gbChlLGYpKGksdCwhaCxuLFYudGVzdChlKSksbn1vLnBzZXVkb3MubnRoPW8ucHNldWRvcy5lcTtmdW5jdGlvbiBqdCgpe31qdC5wcm90b3R5cGU9by5maWx0ZXJzPW8ucHNldWRvcyxvLnNldEZpbHRlcnM9bmV3IGp0LHIuc29ydFN0YWJsZT1iLnNwbGl0KCIiKS5zb3J0KEEpLmpvaW4oIiIpPT09YixwKCksWzAsMF0uc29ydChBKSxyLmRldGVjdER1cGxpY2F0ZXM9Uyx4LmZpbmQ9YXQseC5leHByPWF0LnNlbGVjdG9ycyx4LmV4cHJbIjoiXT14LmV4cHIucHNldWRvcyx4LnVuaXF1ZT1hdC51bmlxdWVTb3J0LHgudGV4dD1hdC5nZXRUZXh0LHguaXNYTUxEb2M9YXQuaXNYTUwseC5jb250YWlucz1hdC5jb250YWluc30oZSk7dmFyIE89e307ZnVuY3Rpb24gRihlKXt2YXIgdD1PW2VdPXt9O3JldHVybiB4LmVhY2goZS5tYXRjaChUKXx8W10sZnVuY3Rpb24oZSxuKXt0W25dPSEwfSksdH14LkNhbGxiYWNrcz1mdW5jdGlvbihlKXtlPSJzdHJpbmciPT10eXBlb2YgZT9PW2VdfHxGKGUpOnguZXh0ZW5kKHt9LGUpO3ZhciBuLHIsaSxvLGEscyxsPVtdLHU9IWUub25jZSYmW10sYz1mdW5jdGlvbih0KXtmb3Iocj1lLm1lbW9yeSYmdCxpPSEwLGE9c3x8MCxzPTAsbz1sLmxlbmd0aCxuPSEwO2wmJm8+YTthKyspaWYobFthXS5hcHBseSh0WzBdLHRbMV0pPT09ITEmJmUuc3RvcE9uRmFsc2Upe3I9ITE7YnJlYWt9bj0hMSxsJiYodT91Lmxlbmd0aCYmYyh1LnNoaWZ0KCkpOnI/bD1bXTpwLmRpc2FibGUoKSl9LHA9e2FkZDpmdW5jdGlvbigpe2lmKGwpe3ZhciB0PWwubGVuZ3RoOyhmdW5jdGlvbiBpKHQpe3guZWFjaCh0LGZ1bmN0aW9uKHQsbil7dmFyIHI9eC50eXBlKG4pOyJmdW5jdGlvbiI9PT1yP2UudW5pcXVlJiZwLmhhcyhuKXx8bC5wdXNoKG4pOm4mJm4ubGVuZ3RoJiYic3RyaW5nIiE9PXImJmkobil9KX0pKGFyZ3VtZW50cyksbj9vPWwubGVuZ3RoOnImJihzPXQsYyhyKSl9cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBsJiZ4LmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGUsdCl7dmFyIHI7d2hpbGUoKHI9eC5pbkFycmF5KHQsbCxyKSk+LTEpbC5zcGxpY2UociwxKSxuJiYobz49ciYmby0tLGE+PXImJmEtLSl9KSx0aGlzfSxoYXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/eC5pbkFycmF5KGUsbCk+LTE6ISghbHx8IWwubGVuZ3RoKX0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gbD1bXSxvPTAsdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBsPXU9cj10LHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIWx9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gdT10LHJ8fHAuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiF1fSxmaXJlV2l0aDpmdW5jdGlvbihlLHQpe3JldHVybiB0PXR8fFtdLHQ9W2UsdC5zbGljZT90LnNsaWNlKCk6dF0sIWx8fGkmJiF1fHwobj91LnB1c2godCk6Yyh0KSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBwLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhaX19O3JldHVybiBwfSx4LmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24oZSl7dmFyIHQ9W1sicmVzb2x2ZSIsImRvbmUiLHguQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIseC5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlamVjdGVkIl0sWyJub3RpZnkiLCJwcm9ncmVzcyIseC5DYWxsYmFja3MoIm1lbW9yeSIpXV0sbj0icGVuZGluZyIscj17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gbn0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGkuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSx0aGVuOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzO3JldHVybiB4LkRlZmVycmVkKGZ1bmN0aW9uKG4pe3guZWFjaCh0LGZ1bmN0aW9uKHQsbyl7dmFyIGE9b1swXSxzPXguaXNGdW5jdGlvbihlW3RdKSYmZVt0XTtpW29bMV1dKGZ1bmN0aW9uKCl7dmFyIGU9cyYmcy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZSYmeC5pc0Z1bmN0aW9uKGUucHJvbWlzZSk/ZS5wcm9taXNlKCkuZG9uZShuLnJlc29sdmUpLmZhaWwobi5yZWplY3QpLnByb2dyZXNzKG4ubm90aWZ5KTpuW2ErIldpdGgiXSh0aGlzPT09cj9uLnByb21pc2UoKTp0aGlzLHM/W2VdOmFyZ3VtZW50cyl9KX0pLGU9bnVsbH0pLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZT94LmV4dGVuZChlLHIpOnJ9fSxpPXt9O3JldHVybiByLnBpcGU9ci50aGVuLHguZWFjaCh0LGZ1bmN0aW9uKGUsbyl7dmFyIGE9b1syXSxzPW9bM107cltvWzFdXT1hLmFkZCxzJiZhLmFkZChmdW5jdGlvbigpe249c30sdFsxXmVdWzJdLmRpc2FibGUsdFsyXVsyXS5sb2NrKSxpW29bMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIGlbb1swXSsiV2l0aCJdKHRoaXM9PT1pP3I6dGhpcyxhcmd1bWVudHMpLHRoaXN9LGlbb1swXSsiV2l0aCJdPWEuZmlyZVdpdGh9KSxyLnByb21pc2UoaSksZSYmZS5jYWxsKGksaSksaX0sd2hlbjpmdW5jdGlvbihlKXt2YXIgdD0wLG49Zy5jYWxsKGFyZ3VtZW50cykscj1uLmxlbmd0aCxpPTEhPT1yfHxlJiZ4LmlzRnVuY3Rpb24oZS5wcm9taXNlKT9yOjAsbz0xPT09aT9lOnguRGVmZXJyZWQoKSxhPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24ocil7dFtlXT10aGlzLG5bZV09YXJndW1lbnRzLmxlbmd0aD4xP2cuY2FsbChhcmd1bWVudHMpOnIsbj09PXM/by5ub3RpZnlXaXRoKHQsbik6LS1pfHxvLnJlc29sdmVXaXRoKHQsbil9fSxzLGwsdTtpZihyPjEpZm9yKHM9QXJyYXkociksbD1BcnJheShyKSx1PUFycmF5KHIpO3I+dDt0Kyspblt0XSYmeC5pc0Z1bmN0aW9uKG5bdF0ucHJvbWlzZSk/blt0XS5wcm9taXNlKCkuZG9uZShhKHQsdSxuKSkuZmFpbChvLnJlamVjdCkucHJvZ3Jlc3MoYSh0LGwscykpOi0taTtyZXR1cm4gaXx8by5yZXNvbHZlV2l0aCh1LG4pLG8ucHJvbWlzZSgpfX0pLHguc3VwcG9ydD1mdW5jdGlvbih0KXt2YXIgbixyLG8scyxsLHUsYyxwLGYsZD1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKGQuc2V0QXR0cmlidXRlKCJjbGFzc05hbWUiLCJ0IiksZC5pbm5lckhUTUw9IiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsbj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIil8fFtdLHI9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdLCFyfHwhci5zdHlsZXx8IW4ubGVuZ3RoKXJldHVybiB0O3M9YS5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKSx1PXMuYXBwZW5kQ2hpbGQoYS5jcmVhdGVFbGVtZW50KCJvcHRpb24iKSksbz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdLHIuc3R5bGUuY3NzVGV4dD0idG9wOjFweDtmbG9hdDpsZWZ0O29wYWNpdHk6LjUiLHQuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWQuY2xhc3NOYW1lLHQubGVhZGluZ1doaXRlc3BhY2U9Mz09PWQuZmlyc3RDaGlsZC5ub2RlVHlwZSx0LnRib2R5PSFkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0aCx0Lmh0bWxTZXJpYWxpemU9ISFkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIikubGVuZ3RoLHQuc3R5bGU9L3RvcC8udGVzdChyLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksdC5ocmVmTm9ybWFsaXplZD0iL2EiPT09ci5nZXRBdHRyaWJ1dGUoImhyZWYiKSx0Lm9wYWNpdHk9L14wLjUvLnRlc3Qoci5zdHlsZS5vcGFjaXR5KSx0LmNzc0Zsb2F0PSEhci5zdHlsZS5jc3NGbG9hdCx0LmNoZWNrT249ISFvLnZhbHVlLHQub3B0U2VsZWN0ZWQ9dS5zZWxlY3RlZCx0LmVuY3R5cGU9ISFhLmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLHQuaHRtbDVDbG9uZT0iPDpuYXY+PC86bmF2PiIhPT1hLmNyZWF0ZUVsZW1lbnQoIm5hdiIpLmNsb25lTm9kZSghMCkub3V0ZXJIVE1MLHQuaW5saW5lQmxvY2tOZWVkc0xheW91dD0hMSx0LnNocmlua1dyYXBCbG9ja3M9ITEsdC5waXhlbFBvc2l0aW9uPSExLHQuZGVsZXRlRXhwYW5kbz0hMCx0Lm5vQ2xvbmVFdmVudD0hMCx0LnJlbGlhYmxlTWFyZ2luUmlnaHQ9ITAsdC5ib3hTaXppbmdSZWxpYWJsZT0hMCxvLmNoZWNrZWQ9ITAsdC5ub0Nsb25lQ2hlY2tlZD1vLmNsb25lTm9kZSghMCkuY2hlY2tlZCxzLmRpc2FibGVkPSEwLHQub3B0RGlzYWJsZWQ9IXUuZGlzYWJsZWQ7dHJ5e2RlbGV0ZSBkLnRlc3R9Y2F0Y2goaCl7dC5kZWxldGVFeHBhbmRvPSExfW89YS5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLG8uc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLHQuaW5wdXQ9IiI9PT1vLmdldEF0dHJpYnV0ZSgidmFsdWUiKSxvLnZhbHVlPSJ0IixvLnNldEF0dHJpYnV0ZSgidHlwZSIsInJhZGlvIiksdC5yYWRpb1ZhbHVlPSJ0Ij09PW8udmFsdWUsby5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJ0Iiksby5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJ0IiksbD1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxsLmFwcGVuZENoaWxkKG8pLHQuYXBwZW5kQ2hlY2tlZD1vLmNoZWNrZWQsdC5jaGVja0Nsb25lPWwuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGQuYXR0YWNoRXZlbnQmJihkLmF0dGFjaEV2ZW50KCJvbmNsaWNrIixmdW5jdGlvbigpe3Qubm9DbG9uZUV2ZW50PSExfSksZC5jbG9uZU5vZGUoITApLmNsaWNrKCkpO2ZvcihmIGlue3N1Ym1pdDohMCxjaGFuZ2U6ITAsZm9jdXNpbjohMH0pZC5zZXRBdHRyaWJ1dGUoYz0ib24iK2YsInQiKSx0W2YrIkJ1YmJsZXMiXT1jIGluIGV8fGQuYXR0cmlidXRlc1tjXS5leHBhbmRvPT09ITE7ZC5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iY29udGVudC1ib3giLGQuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iIix0LmNsZWFyQ2xvbmVTdHlsZT0iY29udGVudC1ib3giPT09ZC5zdHlsZS5iYWNrZ3JvdW5kQ2xpcDtmb3IoZiBpbiB4KHQpKWJyZWFrO3JldHVybiB0Lm93bkxhc3Q9IjAiIT09Zix4KGZ1bmN0aW9uKCl7dmFyIG4scixvLHM9InBhZGRpbmc6MDttYXJnaW46MDtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Y29udGVudC1ib3g7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDsiLGw9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO2wmJihuPWEuY3JlYXRlRWxlbWVudCgiZGl2Iiksbi5zdHlsZS5jc3NUZXh0PSJib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6LTk5OTlweDttYXJnaW4tdG9wOjFweCIsbC5hcHBlbmRDaGlsZChuKS5hcHBlbmRDaGlsZChkKSxkLmlubmVySFRNTD0iPHRhYmxlPjx0cj48dGQ+PC90ZD48dGQ+dDwvdGQ+PC90cj48L3RhYmxlPiIsbz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpLG9bMF0uc3R5bGUuY3NzVGV4dD0icGFkZGluZzowO21hcmdpbjowO2JvcmRlcjowO2Rpc3BsYXk6bm9uZSIscD0wPT09b1swXS5vZmZzZXRIZWlnaHQsb1swXS5zdHlsZS5kaXNwbGF5PSIiLG9bMV0uc3R5bGUuZGlzcGxheT0ibm9uZSIsdC5yZWxpYWJsZUhpZGRlbk9mZnNldHM9cCYmMD09PW9bMF0ub2Zmc2V0SGVpZ2h0LGQuaW5uZXJIVE1MPSIiLGQuc3R5bGUuY3NzVGV4dD0iYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MXB4O2JvcmRlcjoxcHg7ZGlzcGxheTpibG9jazt3aWR0aDo0cHg7bWFyZ2luLXRvcDoxJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MSU7Iix4LnN3YXAobCxudWxsIT1sLnN0eWxlLnpvb20/e3pvb206MX06e30sZnVuY3Rpb24oKXt0LmJveFNpemluZz00PT09ZC5vZmZzZXRXaWR0aH0pLGUuZ2V0Q29tcHV0ZWRTdHlsZSYmKHQucGl4ZWxQb3NpdGlvbj0iMSUiIT09KGUuZ2V0Q29tcHV0ZWRTdHlsZShkLG51bGwpfHx7fSkudG9wLHQuYm94U2l6aW5nUmVsaWFibGU9IjRweCI9PT0oZS5nZXRDb21wdXRlZFN0eWxlKGQsbnVsbCl8fHt3aWR0aDoiNHB4In0pLndpZHRoLHI9ZC5hcHBlbmRDaGlsZChhLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxyLnN0eWxlLmNzc1RleHQ9ZC5zdHlsZS5jc3NUZXh0PXMsci5zdHlsZS5tYXJnaW5SaWdodD1yLnN0eWxlLndpZHRoPSIwIixkLnN0eWxlLndpZHRoPSIxcHgiLHQucmVsaWFibGVNYXJnaW5SaWdodD0hcGFyc2VGbG9hdCgoZS5nZXRDb21wdXRlZFN0eWxlKHIsbnVsbCl8fHt9KS5tYXJnaW5SaWdodCkpLHR5cGVvZiBkLnN0eWxlLnpvb20hPT1pJiYoZC5pbm5lckhUTUw9IiIsZC5zdHlsZS5jc3NUZXh0PXMrIndpZHRoOjFweDtwYWRkaW5nOjFweDtkaXNwbGF5OmlubGluZTt6b29tOjEiLHQuaW5saW5lQmxvY2tOZWVkc0xheW91dD0zPT09ZC5vZmZzZXRXaWR0aCxkLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixkLmlubmVySFRNTD0iPGRpdj48L2Rpdj4iLGQuZmlyc3RDaGlsZC5zdHlsZS53aWR0aD0iNXB4Iix0LnNocmlua1dyYXBCbG9ja3M9MyE9PWQub2Zmc2V0V2lkdGgsdC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0JiYobC5zdHlsZS56b29tPTEpKSxsLnJlbW92ZUNoaWxkKG4pLG49ZD1vPXI9bnVsbCkNCn0pLG49cz1sPXU9cj1vPW51bGwsdH0oe30pO3ZhciBCPS8oPzpce1tcc1xTXSpcfXxcW1tcc1xTXSpcXSkkLyxQPS8oW0EtWl0pL2c7ZnVuY3Rpb24gUihlLG4scixpKXtpZih4LmFjY2VwdERhdGEoZSkpe3ZhciBvLGEscz14LmV4cGFuZG8sbD1lLm5vZGVUeXBlLHU9bD94LmNhY2hlOmUsYz1sP2Vbc106ZVtzXSYmcztpZihjJiZ1W2NdJiYoaXx8dVtjXS5kYXRhKXx8ciE9PXR8fCJzdHJpbmciIT10eXBlb2YgbilyZXR1cm4gY3x8KGM9bD9lW3NdPXAucG9wKCl8fHguZ3VpZCsrOnMpLHVbY118fCh1W2NdPWw/e306e3RvSlNPTjp4Lm5vb3B9KSwoIm9iamVjdCI9PXR5cGVvZiBufHwiZnVuY3Rpb24iPT10eXBlb2YgbikmJihpP3VbY109eC5leHRlbmQodVtjXSxuKTp1W2NdLmRhdGE9eC5leHRlbmQodVtjXS5kYXRhLG4pKSxhPXVbY10saXx8KGEuZGF0YXx8KGEuZGF0YT17fSksYT1hLmRhdGEpLHIhPT10JiYoYVt4LmNhbWVsQ2FzZShuKV09ciksInN0cmluZyI9PXR5cGVvZiBuPyhvPWFbbl0sbnVsbD09byYmKG89YVt4LmNhbWVsQ2FzZShuKV0pKTpvPWEsb319ZnVuY3Rpb24gVyhlLHQsbil7aWYoeC5hY2NlcHREYXRhKGUpKXt2YXIgcixpLG89ZS5ub2RlVHlwZSxhPW8/eC5jYWNoZTplLHM9bz9lW3guZXhwYW5kb106eC5leHBhbmRvO2lmKGFbc10pe2lmKHQmJihyPW4/YVtzXTphW3NdLmRhdGEpKXt4LmlzQXJyYXkodCk/dD10LmNvbmNhdCh4Lm1hcCh0LHguY2FtZWxDYXNlKSk6dCBpbiByP3Q9W3RdOih0PXguY2FtZWxDYXNlKHQpLHQ9dCBpbiByP1t0XTp0LnNwbGl0KCIgIikpLGk9dC5sZW5ndGg7d2hpbGUoaS0tKWRlbGV0ZSByW3RbaV1dO2lmKG4/IUkocik6IXguaXNFbXB0eU9iamVjdChyKSlyZXR1cm59KG58fChkZWxldGUgYVtzXS5kYXRhLEkoYVtzXSkpKSYmKG8/eC5jbGVhbkRhdGEoW2VdLCEwKTp4LnN1cHBvcnQuZGVsZXRlRXhwYW5kb3x8YSE9YS53aW5kb3c/ZGVsZXRlIGFbc106YVtzXT1udWxsKX19fXguZXh0ZW5kKHtjYWNoZTp7fSxub0RhdGE6e2FwcGxldDohMCxlbWJlZDohMCxvYmplY3Q6ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCJ9LGhhc0RhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZS5ub2RlVHlwZT94LmNhY2hlW2VbeC5leHBhbmRvXV06ZVt4LmV4cGFuZG9dLCEhZSYmIUkoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBSKGUsdCxuKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe3JldHVybiBXKGUsdCl9LF9kYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gUihlLHQsbiwhMCl9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIFcoZSx0LCEwKX0sYWNjZXB0RGF0YTpmdW5jdGlvbihlKXtpZihlLm5vZGVUeXBlJiYxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUpcmV0dXJuITE7dmFyIHQ9ZS5ub2RlTmFtZSYmeC5ub0RhdGFbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtyZXR1cm4hdHx8dCE9PSEwJiZlLmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpPT09dH19KSx4LmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihlLG4pe3ZhciByLGksbz1udWxsLGE9MCxzPXRoaXNbMF07aWYoZT09PXQpe2lmKHRoaXMubGVuZ3RoJiYobz14LmRhdGEocyksMT09PXMubm9kZVR5cGUmJiF4Ll9kYXRhKHMsInBhcnNlZEF0dHJzIikpKXtmb3Iocj1zLmF0dHJpYnV0ZXM7ci5sZW5ndGg+YTthKyspaT1yW2FdLm5hbWUsMD09PWkuaW5kZXhPZigiZGF0YS0iKSYmKGk9eC5jYW1lbENhc2UoaS5zbGljZSg1KSksJChzLGksb1tpXSkpO3guX2RhdGEocywicGFyc2VkQXR0cnMiLCEwKX1yZXR1cm4gb31yZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGU/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7eC5kYXRhKHRoaXMsZSl9KTphcmd1bWVudHMubGVuZ3RoPjE/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7eC5kYXRhKHRoaXMsZSxuKX0pOnM/JChzLGUseC5kYXRhKHMsZSkpOm51bGx9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3gucmVtb3ZlRGF0YSh0aGlzLGUpfSl9fSk7ZnVuY3Rpb24gJChlLG4scil7aWYocj09PXQmJjE9PT1lLm5vZGVUeXBlKXt2YXIgaT0iZGF0YS0iK24ucmVwbGFjZShQLCItJDEiKS50b0xvd2VyQ2FzZSgpO2lmKHI9ZS5nZXRBdHRyaWJ1dGUoaSksInN0cmluZyI9PXR5cGVvZiByKXt0cnl7cj0idHJ1ZSI9PT1yPyEwOiJmYWxzZSI9PT1yPyExOiJudWxsIj09PXI/bnVsbDorcisiIj09PXI/K3I6Qi50ZXN0KHIpP3gucGFyc2VKU09OKHIpOnJ9Y2F0Y2gobyl7fXguZGF0YShlLG4scil9ZWxzZSByPXR9cmV0dXJuIHJ9ZnVuY3Rpb24gSShlKXt2YXIgdDtmb3IodCBpbiBlKWlmKCgiZGF0YSIhPT10fHwheC5pc0VtcHR5T2JqZWN0KGVbdF0pKSYmInRvSlNPTiIhPT10KXJldHVybiExO3JldHVybiEwfXguZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihlLG4scil7dmFyIGk7cmV0dXJuIGU/KG49KG58fCJmeCIpKyJxdWV1ZSIsaT14Ll9kYXRhKGUsbiksciYmKCFpfHx4LmlzQXJyYXkocik/aT14Ll9kYXRhKGUsbix4Lm1ha2VBcnJheShyKSk6aS5wdXNoKHIpKSxpfHxbXSk6dH0sZGVxdWV1ZTpmdW5jdGlvbihlLHQpe3Q9dHx8ImZ4Ijt2YXIgbj14LnF1ZXVlKGUsdCkscj1uLmxlbmd0aCxpPW4uc2hpZnQoKSxvPXguX3F1ZXVlSG9va3MoZSx0KSxhPWZ1bmN0aW9uKCl7eC5kZXF1ZXVlKGUsdCl9OyJpbnByb2dyZXNzIj09PWkmJihpPW4uc2hpZnQoKSxyLS0pLGkmJigiZngiPT09dCYmbi51bnNoaWZ0KCJpbnByb2dyZXNzIiksZGVsZXRlIG8uc3RvcCxpLmNhbGwoZSxhLG8pKSwhciYmbyYmby5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dCsicXVldWVIb29rcyI7cmV0dXJuIHguX2RhdGEoZSxuKXx8eC5fZGF0YShlLG4se2VtcHR5OnguQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLmFkZChmdW5jdGlvbigpe3guX3JlbW92ZURhdGEoZSx0KyJxdWV1ZSIpLHguX3JlbW92ZURhdGEoZSxuKX0pfSl9fSkseC5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGUsbil7dmFyIHI9MjtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGUmJihuPWUsZT0iZngiLHItLSkscj5hcmd1bWVudHMubGVuZ3RoP3gucXVldWUodGhpc1swXSxlKTpuPT09dD90aGlzOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PXgucXVldWUodGhpcyxlLG4pO3guX3F1ZXVlSG9va3ModGhpcyxlKSwiZngiPT09ZSYmImlucHJvZ3Jlc3MiIT09dFswXSYmeC5kZXF1ZXVlKHRoaXMsZSl9KX0sZGVxdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7eC5kZXF1ZXVlKHRoaXMsZSl9KX0sZGVsYXk6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT14LmZ4P3guZnguc3BlZWRzW2VdfHxlOmUsdD10fHwiZngiLHRoaXMucXVldWUodCxmdW5jdGlvbih0LG4pe3ZhciByPXNldFRpbWVvdXQodCxlKTtuLnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQocil9fSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucXVldWUoZXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oZSxuKXt2YXIgcixpPTEsbz14LkRlZmVycmVkKCksYT10aGlzLHM9dGhpcy5sZW5ndGgsbD1mdW5jdGlvbigpey0taXx8by5yZXNvbHZlV2l0aChhLFthXSl9OyJzdHJpbmciIT10eXBlb2YgZSYmKG49ZSxlPXQpLGU9ZXx8ImZ4Ijt3aGlsZShzLS0pcj14Ll9kYXRhKGFbc10sZSsicXVldWVIb29rcyIpLHImJnIuZW1wdHkmJihpKyssci5lbXB0eS5hZGQobCkpO3JldHVybiBsKCksby5wcm9taXNlKG4pfX0pO3ZhciB6LFgsVT0vW1x0XHJcblxmXS9nLFY9L1xyL2csWT0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSxKPS9eKD86YXxhcmVhKSQvaSxHPS9eKD86Y2hlY2tlZHxzZWxlY3RlZCkkL2ksUT14LnN1cHBvcnQuZ2V0U2V0QXR0cmlidXRlLEs9eC5zdXBwb3J0LmlucHV0O3guZm4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHguYWNjZXNzKHRoaXMseC5hdHRyLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt4LnJlbW92ZUF0dHIodGhpcyxlKX0pfSxwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHguYWNjZXNzKHRoaXMseC5wcm9wLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiBlPXgucHJvcEZpeFtlXXx8ZSx0aGlzLmVhY2goZnVuY3Rpb24oKXt0cnl7dGhpc1tlXT10LGRlbGV0ZSB0aGlzW2VdfWNhdGNoKG4pe319KX0sYWRkQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhPTAscz10aGlzLmxlbmd0aCxsPSJzdHJpbmciPT10eXBlb2YgZSYmZTtpZih4LmlzRnVuY3Rpb24oZSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih0KXt4KHRoaXMpLmFkZENsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGwpZm9yKHQ9KGV8fCIiKS5tYXRjaChUKXx8W107cz5hO2ErKylpZihuPXRoaXNbYV0scj0xPT09bi5ub2RlVHlwZSYmKG4uY2xhc3NOYW1lPygiICIrbi5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKFUsIiAiKToiICIpKXtvPTA7d2hpbGUoaT10W28rK10pMD5yLmluZGV4T2YoIiAiK2krIiAiKSYmKHIrPWkrIiAiKTtuLmNsYXNzTmFtZT14LnRyaW0ocil9cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYT0wLHM9dGhpcy5sZW5ndGgsbD0wPT09YXJndW1lbnRzLmxlbmd0aHx8InN0cmluZyI9PXR5cGVvZiBlJiZlO2lmKHguaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3godGhpcykucmVtb3ZlQ2xhc3MoZS5jYWxsKHRoaXMsdCx0aGlzLmNsYXNzTmFtZSkpfSk7aWYobClmb3IodD0oZXx8IiIpLm1hdGNoKFQpfHxbXTtzPmE7YSsrKWlmKG49dGhpc1thXSxyPTE9PT1uLm5vZGVUeXBlJiYobi5jbGFzc05hbWU/KCIgIituLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UoVSwiICIpOiIiKSl7bz0wO3doaWxlKGk9dFtvKytdKXdoaWxlKHIuaW5kZXhPZigiICIraSsiICIpPj0wKXI9ci5yZXBsYWNlKCIgIitpKyIgIiwiICIpO24uY2xhc3NOYW1lPWU/eC50cmltKHIpOiIifXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlLHI9ImJvb2xlYW4iPT10eXBlb2YgdDtyZXR1cm4geC5pc0Z1bmN0aW9uKGUpP3RoaXMuZWFjaChmdW5jdGlvbihuKXt4KHRoaXMpLnRvZ2dsZUNsYXNzKGUuY2FsbCh0aGlzLG4sdGhpcy5jbGFzc05hbWUsdCksdCl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXtpZigic3RyaW5nIj09PW4pe3ZhciBvLGE9MCxzPXgodGhpcyksbD10LHU9ZS5tYXRjaChUKXx8W107d2hpbGUobz11W2ErK10pbD1yP2w6IXMuaGFzQ2xhc3Mobyksc1tsPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0obyl9ZWxzZShuPT09aXx8ImJvb2xlYW4iPT09bikmJih0aGlzLmNsYXNzTmFtZSYmeC5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGU9PT0hMT8iIjp4Ll9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0PSIgIitlKyIgIixuPTAscj10aGlzLmxlbmd0aDtmb3IoO3I+bjtuKyspaWYoMT09PXRoaXNbbl0ubm9kZVR5cGUmJigiICIrdGhpc1tuXS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKFUsIiAiKS5pbmRleE9mKHQpPj0wKXJldHVybiEwO3JldHVybiExfSx2YWw6ZnVuY3Rpb24oZSl7dmFyIG4scixpLG89dGhpc1swXTt7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gaT14LmlzRnVuY3Rpb24oZSksdGhpcy5lYWNoKGZ1bmN0aW9uKG4pe3ZhciBvOzE9PT10aGlzLm5vZGVUeXBlJiYobz1pP2UuY2FsbCh0aGlzLG4seCh0aGlzKS52YWwoKSk6ZSxudWxsPT1vP289IiI6Im51bWJlciI9PXR5cGVvZiBvP28rPSIiOnguaXNBcnJheShvKSYmKG89eC5tYXAobyxmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjplKyIifSkpLHI9eC52YWxIb29rc1t0aGlzLnR5cGVdfHx4LnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0sciYmInNldCJpbiByJiZyLnNldCh0aGlzLG8sInZhbHVlIikhPT10fHwodGhpcy52YWx1ZT1vKSl9KTtpZihvKXJldHVybiByPXgudmFsSG9va3Nbby50eXBlXXx8eC52YWxIb29rc1tvLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLHImJiJnZXQiaW4gciYmKG49ci5nZXQobywidmFsdWUiKSkhPT10P246KG49by52YWx1ZSwic3RyaW5nIj09dHlwZW9mIG4/bi5yZXBsYWNlKFYsIiIpOm51bGw9PW4/IiI6bil9fX0pLHguZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9eC5maW5kLmF0dHIoZSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9dD90OmUudGV4dH19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG4scj1lLm9wdGlvbnMsaT1lLnNlbGVjdGVkSW5kZXgsbz0ic2VsZWN0LW9uZSI9PT1lLnR5cGV8fDA+aSxhPW8/bnVsbDpbXSxzPW8/aSsxOnIubGVuZ3RoLGw9MD5pP3M6bz9pOjA7Zm9yKDtzPmw7bCsrKWlmKG49cltsXSwhKCFuLnNlbGVjdGVkJiZsIT09aXx8KHguc3VwcG9ydC5vcHREaXNhYmxlZD9uLmRpc2FibGVkOm51bGwhPT1uLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKSl8fG4ucGFyZW50Tm9kZS5kaXNhYmxlZCYmeC5ub2RlTmFtZShuLnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXtpZih0PXgobikudmFsKCksbylyZXR1cm4gdDthLnB1c2godCl9cmV0dXJuIGF9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsaT1lLm9wdGlvbnMsbz14Lm1ha2VBcnJheSh0KSxhPWkubGVuZ3RoO3doaWxlKGEtLSlyPWlbYV0sKHIuc2VsZWN0ZWQ9eC5pbkFycmF5KHgocikudmFsKCksbyk+PTApJiYobj0hMCk7cmV0dXJuIG58fChlLnNlbGVjdGVkSW5kZXg9LTEpLG99fX0sYXR0cjpmdW5jdGlvbihlLG4scil7dmFyIG8sYSxzPWUubm9kZVR5cGU7aWYoZSYmMyE9PXMmJjghPT1zJiYyIT09cylyZXR1cm4gdHlwZW9mIGUuZ2V0QXR0cmlidXRlPT09aT94LnByb3AoZSxuLHIpOigxPT09cyYmeC5pc1hNTERvYyhlKXx8KG49bi50b0xvd2VyQ2FzZSgpLG89eC5hdHRySG9va3Nbbl18fCh4LmV4cHIubWF0Y2guYm9vbC50ZXN0KG4pP1g6eikpLHI9PT10P28mJiJnZXQiaW4gbyYmbnVsbCE9PShhPW8uZ2V0KGUsbikpP2E6KGE9eC5maW5kLmF0dHIoZSxuKSxudWxsPT1hP3Q6YSk6bnVsbCE9PXI/byYmInNldCJpbiBvJiYoYT1vLnNldChlLHIsbikpIT09dD9hOihlLnNldEF0dHJpYnV0ZShuLHIrIiIpLHIpOih4LnJlbW92ZUF0dHIoZSxuKSx0KSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGk9MCxvPXQmJnQubWF0Y2goVCk7aWYobyYmMT09PWUubm9kZVR5cGUpd2hpbGUobj1vW2krK10pcj14LnByb3BGaXhbbl18fG4seC5leHByLm1hdGNoLmJvb2wudGVzdChuKT9LJiZRfHwhRy50ZXN0KG4pP2Vbcl09ITE6ZVt4LmNhbWVsQ2FzZSgiZGVmYXVsdC0iK24pXT1lW3JdPSExOnguYXR0cihlLG4sIiIpLGUucmVtb3ZlQXR0cmlidXRlKFE/bjpyKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oZSx0KXtpZigheC5zdXBwb3J0LnJhZGlvVmFsdWUmJiJyYWRpbyI9PT10JiZ4Lm5vZGVOYW1lKGUsImlucHV0Iikpe3ZhciBuPWUudmFsdWU7cmV0dXJuIGUuc2V0QXR0cmlidXRlKCJ0eXBlIix0KSxuJiYoZS52YWx1ZT1uKSx0fX19fSxwcm9wRml4OnsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn0scHJvcDpmdW5jdGlvbihlLG4scil7dmFyIGksbyxhLHM9ZS5ub2RlVHlwZTtpZihlJiYzIT09cyYmOCE9PXMmJjIhPT1zKXJldHVybiBhPTEhPT1zfHwheC5pc1hNTERvYyhlKSxhJiYobj14LnByb3BGaXhbbl18fG4sbz14LnByb3BIb29rc1tuXSksciE9PXQ/byYmInNldCJpbiBvJiYoaT1vLnNldChlLHIsbikpIT09dD9pOmVbbl09cjpvJiYiZ2V0ImluIG8mJm51bGwhPT0oaT1vLmdldChlLG4pKT9pOmVbbl19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihlKXt2YXIgdD14LmZpbmQuYXR0cihlLCJ0YWJpbmRleCIpO3JldHVybiB0P3BhcnNlSW50KHQsMTApOlkudGVzdChlLm5vZGVOYW1lKXx8Si50ZXN0KGUubm9kZU5hbWUpJiZlLmhyZWY/MDotMX19fX0pLFg9e3NldDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQ9PT0hMT94LnJlbW92ZUF0dHIoZSxuKTpLJiZRfHwhRy50ZXN0KG4pP2Uuc2V0QXR0cmlidXRlKCFRJiZ4LnByb3BGaXhbbl18fG4sbik6ZVt4LmNhbWVsQ2FzZSgiZGVmYXVsdC0iK24pXT1lW25dPSEwLG59fSx4LmVhY2goeC5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cdysvZyksZnVuY3Rpb24oZSxuKXt2YXIgcj14LmV4cHIuYXR0ckhhbmRsZVtuXXx8eC5maW5kLmF0dHI7eC5leHByLmF0dHJIYW5kbGVbbl09SyYmUXx8IUcudGVzdChuKT9mdW5jdGlvbihlLG4saSl7dmFyIG89eC5leHByLmF0dHJIYW5kbGVbbl0sYT1pP3Q6KHguZXhwci5hdHRySGFuZGxlW25dPXQpIT1yKGUsbixpKT9uLnRvTG93ZXJDYXNlKCk6bnVsbDtyZXR1cm4geC5leHByLmF0dHJIYW5kbGVbbl09byxhfTpmdW5jdGlvbihlLG4scil7cmV0dXJuIHI/dDplW3guY2FtZWxDYXNlKCJkZWZhdWx0LSIrbildP24udG9Mb3dlckNhc2UoKTpudWxsfX0pLEsmJlF8fCh4LmF0dHJIb29rcy52YWx1ZT17c2V0OmZ1bmN0aW9uKGUsbixyKXtyZXR1cm4geC5ub2RlTmFtZShlLCJpbnB1dCIpPyhlLmRlZmF1bHRWYWx1ZT1uLHQpOnomJnouc2V0KGUsbixyKX19KSxRfHwoej17c2V0OmZ1bmN0aW9uKGUsbixyKXt2YXIgaT1lLmdldEF0dHJpYnV0ZU5vZGUocik7cmV0dXJuIGl8fGUuc2V0QXR0cmlidXRlTm9kZShpPWUub3duZXJEb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUocikpLGkudmFsdWU9bis9IiIsInZhbHVlIj09PXJ8fG49PT1lLmdldEF0dHJpYnV0ZShyKT9uOnR9fSx4LmV4cHIuYXR0ckhhbmRsZS5pZD14LmV4cHIuYXR0ckhhbmRsZS5uYW1lPXguZXhwci5hdHRySGFuZGxlLmNvb3Jkcz1mdW5jdGlvbihlLG4scil7dmFyIGk7cmV0dXJuIHI/dDooaT1lLmdldEF0dHJpYnV0ZU5vZGUobikpJiYiIiE9PWkudmFsdWU/aS52YWx1ZTpudWxsfSx4LnZhbEhvb2tzLmJ1dHRvbj17Z2V0OmZ1bmN0aW9uKGUsbil7dmFyIHI9ZS5nZXRBdHRyaWJ1dGVOb2RlKG4pO3JldHVybiByJiZyLnNwZWNpZmllZD9yLnZhbHVlOnR9LHNldDp6LnNldH0seC5hdHRySG9va3MuY29udGVudGVkaXRhYmxlPXtzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ouc2V0KGUsIiI9PT10PyExOnQsbil9fSx4LmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGUsbil7eC5hdHRySG9va3Nbbl09e3NldDpmdW5jdGlvbihlLHIpe3JldHVybiIiPT09cj8oZS5zZXRBdHRyaWJ1dGUobiwiYXV0byIpLHIpOnR9fX0pKSx4LnN1cHBvcnQuaHJlZk5vcm1hbGl6ZWR8fHguZWFjaChbImhyZWYiLCJzcmMiXSxmdW5jdGlvbihlLHQpe3gucHJvcEhvb2tzW3RdPXtnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKHQsNCl9fX0pLHguc3VwcG9ydC5zdHlsZXx8KHguYXR0ckhvb2tzLnN0eWxlPXtnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3R5bGUuY3NzVGV4dHx8dH0sc2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuc3R5bGUuY3NzVGV4dD10KyIifX0pLHguc3VwcG9ydC5vcHRTZWxlY3RlZHx8KHgucHJvcEhvb2tzLnNlbGVjdGVkPXtnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYodC5zZWxlY3RlZEluZGV4LHQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpLG51bGx9fSkseC5lYWNoKFsidGFiSW5kZXgiLCJyZWFkT25seSIsIm1heExlbmd0aCIsImNlbGxTcGFjaW5nIiwiY2VsbFBhZGRpbmciLCJyb3dTcGFuIiwiY29sU3BhbiIsInVzZU1hcCIsImZyYW1lQm9yZGVyIiwiY29udGVudEVkaXRhYmxlIl0sZnVuY3Rpb24oKXt4LnByb3BGaXhbdGhpcy50b0xvd2VyQ2FzZSgpXT10aGlzfSkseC5zdXBwb3J0LmVuY3R5cGV8fCh4LnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKSx4LmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXt4LnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4geC5pc0FycmF5KG4pP2UuY2hlY2tlZD14LmluQXJyYXkoeChlKS52YWwoKSxuKT49MDp0fX0seC5zdXBwb3J0LmNoZWNrT258fCh4LnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6ZS52YWx1ZX0pfSk7dmFyIFo9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWEpJC9pLGV0PS9ea2V5Lyx0dD0vXig/Om1vdXNlfGNvbnRleHRtZW51KXxjbGljay8sbnQ9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvLHJ0PS9eKFteLl0qKSg/OlwuKC4rKXwpJC87ZnVuY3Rpb24gaXQoKXtyZXR1cm4hMH1mdW5jdGlvbiBvdCgpe3JldHVybiExfWZ1bmN0aW9uIGF0KCl7dHJ5e3JldHVybiBhLmFjdGl2ZUVsZW1lbnR9Y2F0Y2goZSl7fX14LmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGUsbixyLG8sYSl7dmFyIHMsbCx1LGMscCxmLGQsaCxnLG0seSx2PXguX2RhdGEoZSk7aWYodil7ci5oYW5kbGVyJiYoYz1yLHI9Yy5oYW5kbGVyLGE9Yy5zZWxlY3Rvciksci5ndWlkfHwoci5ndWlkPXguZ3VpZCsrKSwobD12LmV2ZW50cyl8fChsPXYuZXZlbnRzPXt9KSwoZj12LmhhbmRsZSl8fChmPXYuaGFuZGxlPWZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgeD09PWl8fGUmJnguZXZlbnQudHJpZ2dlcmVkPT09ZS50eXBlP3Q6eC5ldmVudC5kaXNwYXRjaC5hcHBseShmLmVsZW0sYXJndW1lbnRzKX0sZi5lbGVtPWUpLG49KG58fCIiKS5tYXRjaChUKXx8WyIiXSx1PW4ubGVuZ3RoO3doaWxlKHUtLSlzPXJ0LmV4ZWMoblt1XSl8fFtdLGc9eT1zWzFdLG09KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxnJiYocD14LmV2ZW50LnNwZWNpYWxbZ118fHt9LGc9KGE/cC5kZWxlZ2F0ZVR5cGU6cC5iaW5kVHlwZSl8fGcscD14LmV2ZW50LnNwZWNpYWxbZ118fHt9LGQ9eC5leHRlbmQoe3R5cGU6ZyxvcmlnVHlwZTp5LGRhdGE6byxoYW5kbGVyOnIsZ3VpZDpyLmd1aWQsc2VsZWN0b3I6YSxuZWVkc0NvbnRleHQ6YSYmeC5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGEpLG5hbWVzcGFjZTptLmpvaW4oIi4iKX0sYyksKGg9bFtnXSl8fChoPWxbZ109W10saC5kZWxlZ2F0ZUNvdW50PTAscC5zZXR1cCYmcC5zZXR1cC5jYWxsKGUsbyxtLGYpIT09ITF8fChlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKGcsZiwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK2csZikpKSxwLmFkZCYmKHAuYWRkLmNhbGwoZSxkKSxkLmhhbmRsZXIuZ3VpZHx8KGQuaGFuZGxlci5ndWlkPXIuZ3VpZCkpLGE/aC5zcGxpY2UoaC5kZWxlZ2F0ZUNvdW50KyssMCxkKTpoLnB1c2goZCkseC5ldmVudC5nbG9iYWxbZ109ITApO2U9bnVsbH19LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyxsLHUsYyxwLGYsZCxoLGcsbT14Lmhhc0RhdGEoZSkmJnguX2RhdGEoZSk7aWYobSYmKGM9bS5ldmVudHMpKXt0PSh0fHwiIikubWF0Y2goVCl8fFsiIl0sdT10Lmxlbmd0aDt3aGlsZSh1LS0paWYocz1ydC5leGVjKHRbdV0pfHxbXSxkPWc9c1sxXSxoPShzWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksZCl7cD14LmV2ZW50LnNwZWNpYWxbZF18fHt9LGQ9KHI/cC5kZWxlZ2F0ZVR5cGU6cC5iaW5kVHlwZSl8fGQsZj1jW2RdfHxbXSxzPXNbMl0mJlJlZ0V4cCgiKF58XFwuKSIraC5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKSxsPW89Zi5sZW5ndGg7d2hpbGUoby0tKWE9ZltvXSwhaSYmZyE9PWEub3JpZ1R5cGV8fG4mJm4uZ3VpZCE9PWEuZ3VpZHx8cyYmIXMudGVzdChhLm5hbWVzcGFjZSl8fHImJnIhPT1hLnNlbGVjdG9yJiYoIioqIiE9PXJ8fCFhLnNlbGVjdG9yKXx8KGYuc3BsaWNlKG8sMSksYS5zZWxlY3RvciYmZi5kZWxlZ2F0ZUNvdW50LS0scC5yZW1vdmUmJnAucmVtb3ZlLmNhbGwoZSxhKSk7bCYmIWYubGVuZ3RoJiYocC50ZWFyZG93biYmcC50ZWFyZG93bi5jYWxsKGUsaCxtLmhhbmRsZSkhPT0hMXx8eC5yZW1vdmVFdmVudChlLGQsbS5oYW5kbGUpLGRlbGV0ZSBjW2RdKX1lbHNlIGZvcihkIGluIGMpeC5ldmVudC5yZW1vdmUoZSxkK3RbdV0sbixyLCEwKTt4LmlzRW1wdHlPYmplY3QoYykmJihkZWxldGUgbS5oYW5kbGUseC5fcmVtb3ZlRGF0YShlLCJldmVudHMiKSl9fSx0cmlnZ2VyOmZ1bmN0aW9uKG4scixpLG8pe3ZhciBzLGwsdSxjLHAsZixkLGg9W2l8fGFdLGc9di5jYWxsKG4sInR5cGUiKT9uLnR5cGU6bixtPXYuY2FsbChuLCJuYW1lc3BhY2UiKT9uLm5hbWVzcGFjZS5zcGxpdCgiLiIpOltdO2lmKHU9Zj1pPWl8fGEsMyE9PWkubm9kZVR5cGUmJjghPT1pLm5vZGVUeXBlJiYhbnQudGVzdChnK3guZXZlbnQudHJpZ2dlcmVkKSYmKGcuaW5kZXhPZigiLiIpPj0wJiYobT1nLnNwbGl0KCIuIiksZz1tLnNoaWZ0KCksbS5zb3J0KCkpLGw9MD5nLmluZGV4T2YoIjoiKSYmIm9uIitnLG49blt4LmV4cGFuZG9dP246bmV3IHguRXZlbnQoZywib2JqZWN0Ij09dHlwZW9mIG4mJm4pLG4uaXNUcmlnZ2VyPW8/MjozLG4ubmFtZXNwYWNlPW0uam9pbigiLiIpLG4ubmFtZXNwYWNlX3JlPW4ubmFtZXNwYWNlP1JlZ0V4cCgiKF58XFwuKSIrbS5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKTpudWxsLG4ucmVzdWx0PXQsbi50YXJnZXR8fChuLnRhcmdldD1pKSxyPW51bGw9PXI/W25dOngubWFrZUFycmF5KHIsW25dKSxwPXguZXZlbnQuc3BlY2lhbFtnXXx8e30sb3x8IXAudHJpZ2dlcnx8cC50cmlnZ2VyLmFwcGx5KGkscikhPT0hMSkpe2lmKCFvJiYhcC5ub0J1YmJsZSYmIXguaXNXaW5kb3coaSkpe2ZvcihjPXAuZGVsZWdhdGVUeXBlfHxnLG50LnRlc3QoYytnKXx8KHU9dS5wYXJlbnROb2RlKTt1O3U9dS5wYXJlbnROb2RlKWgucHVzaCh1KSxmPXU7Zj09PShpLm93bmVyRG9jdW1lbnR8fGEpJiZoLnB1c2goZi5kZWZhdWx0Vmlld3x8Zi5wYXJlbnRXaW5kb3d8fGUpfWQ9MDt3aGlsZSgodT1oW2QrK10pJiYhbi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKW4udHlwZT1kPjE/YzpwLmJpbmRUeXBlfHxnLHM9KHguX2RhdGEodSwiZXZlbnRzIil8fHt9KVtuLnR5cGVdJiZ4Ll9kYXRhKHUsImhhbmRsZSIpLHMmJnMuYXBwbHkodSxyKSxzPWwmJnVbbF0scyYmeC5hY2NlcHREYXRhKHUpJiZzLmFwcGx5JiZzLmFwcGx5KHUscik9PT0hMSYmbi5wcmV2ZW50RGVmYXVsdCgpO2lmKG4udHlwZT1nLCFvJiYhbi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmKCFwLl9kZWZhdWx0fHxwLl9kZWZhdWx0LmFwcGx5KGgucG9wKCkscik9PT0hMSkmJnguYWNjZXB0RGF0YShpKSYmbCYmaVtnXSYmIXguaXNXaW5kb3coaSkpe2Y9aVtsXSxmJiYoaVtsXT1udWxsKSx4LmV2ZW50LnRyaWdnZXJlZD1nO3RyeXtpW2ddKCl9Y2F0Y2goeSl7fXguZXZlbnQudHJpZ2dlcmVkPXQsZiYmKGlbbF09Zil9cmV0dXJuIG4ucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oZSl7ZT14LmV2ZW50LmZpeChlKTt2YXIgbixyLGksbyxhLHM9W10sbD1nLmNhbGwoYXJndW1lbnRzKSx1PSh4Ll9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbZS50eXBlXXx8W10sYz14LmV2ZW50LnNwZWNpYWxbZS50eXBlXXx8e307aWYobFswXT1lLGUuZGVsZWdhdGVUYXJnZXQ9dGhpcywhYy5wcmVEaXNwYXRjaHx8Yy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsZSkhPT0hMSl7cz14LmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxlLHUpLG49MDt3aGlsZSgobz1zW24rK10pJiYhZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXtlLmN1cnJlbnRUYXJnZXQ9by5lbGVtLGE9MDt3aGlsZSgoaT1vLmhhbmRsZXJzW2ErK10pJiYhZS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghZS5uYW1lc3BhY2VfcmV8fGUubmFtZXNwYWNlX3JlLnRlc3QoaS5uYW1lc3BhY2UpKSYmKGUuaGFuZGxlT2JqPWksZS5kYXRhPWkuZGF0YSxyPSgoeC5ldmVudC5zcGVjaWFsW2kub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxpLmhhbmRsZXIpLmFwcGx5KG8uZWxlbSxsKSxyIT09dCYmKGUucmVzdWx0PXIpPT09ITEmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSkpfXJldHVybiBjLnBvc3REaXNwYXRjaCYmYy5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLGUpLGUucmVzdWx0fX0saGFuZGxlcnM6ZnVuY3Rpb24oZSxuKXt2YXIgcixpLG8sYSxzPVtdLGw9bi5kZWxlZ2F0ZUNvdW50LHU9ZS50YXJnZXQ7aWYobCYmdS5ub2RlVHlwZSYmKCFlLmJ1dHRvbnx8ImNsaWNrIiE9PWUudHlwZSkpZm9yKDt1IT10aGlzO3U9dS5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT11Lm5vZGVUeXBlJiYodS5kaXNhYmxlZCE9PSEwfHwiY2xpY2siIT09ZS50eXBlKSl7Zm9yKG89W10sYT0wO2w+YTthKyspaT1uW2FdLHI9aS5zZWxlY3RvcisiICIsb1tyXT09PXQmJihvW3JdPWkubmVlZHNDb250ZXh0P3gocix0aGlzKS5pbmRleCh1KT49MDp4LmZpbmQocix0aGlzLG51bGwsW3VdKS5sZW5ndGgpLG9bcl0mJm8ucHVzaChpKTtvLmxlbmd0aCYmcy5wdXNoKHtlbGVtOnUsaGFuZGxlcnM6b30pfXJldHVybiBuLmxlbmd0aD5sJiZzLnB1c2goe2VsZW06dGhpcyxoYW5kbGVyczpuLnNsaWNlKGwpfSksc30sZml4OmZ1bmN0aW9uKGUpe2lmKGVbeC5leHBhbmRvXSlyZXR1cm4gZTt2YXIgdCxuLHIsaT1lLnR5cGUsbz1lLHM9dGhpcy5maXhIb29rc1tpXTtzfHwodGhpcy5maXhIb29rc1tpXT1zPXR0LnRlc3QoaSk/dGhpcy5tb3VzZUhvb2tzOmV0LnRlc3QoaSk/dGhpcy5rZXlIb29rczp7fSkscj1zLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KHMucHJvcHMpOnRoaXMucHJvcHMsZT1uZXcgeC5FdmVudChvKSx0PXIubGVuZ3RoO3doaWxlKHQtLSluPXJbdF0sZVtuXT1vW25dO3JldHVybiBlLnRhcmdldHx8KGUudGFyZ2V0PW8uc3JjRWxlbWVudHx8YSksMz09PWUudGFyZ2V0Lm5vZGVUeXBlJiYoZS50YXJnZXQ9ZS50YXJnZXQucGFyZW50Tm9kZSksZS5tZXRhS2V5PSEhZS5tZXRhS2V5LHMuZmlsdGVyP3MuZmlsdGVyKGUsbyk6ZX0scHJvcHM6ImFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWUud2hpY2gmJihlLndoaWNoPW51bGwhPXQuY2hhckNvZGU/dC5jaGFyQ29kZTp0LmtleUNvZGUpLGV9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihlLG4pe3ZhciByLGksbyxzPW4uYnV0dG9uLGw9bi5mcm9tRWxlbWVudDtyZXR1cm4gbnVsbD09ZS5wYWdlWCYmbnVsbCE9bi5jbGllbnRYJiYoaT1lLnRhcmdldC5vd25lckRvY3VtZW50fHxhLG89aS5kb2N1bWVudEVsZW1lbnQscj1pLmJvZHksZS5wYWdlWD1uLmNsaWVudFgrKG8mJm8uc2Nyb2xsTGVmdHx8ciYmci5zY3JvbGxMZWZ0fHwwKS0obyYmby5jbGllbnRMZWZ0fHxyJiZyLmNsaWVudExlZnR8fDApLGUucGFnZVk9bi5jbGllbnRZKyhvJiZvLnNjcm9sbFRvcHx8ciYmci5zY3JvbGxUb3B8fDApLShvJiZvLmNsaWVudFRvcHx8ciYmci5jbGllbnRUb3B8fDApKSwhZS5yZWxhdGVkVGFyZ2V0JiZsJiYoZS5yZWxhdGVkVGFyZ2V0PWw9PT1lLnRhcmdldD9uLnRvRWxlbWVudDpsKSxlLndoaWNofHxzPT09dHx8KGUud2hpY2g9MSZzPzE6MiZzPzM6NCZzPzI6MCksZX19LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxmb2N1czp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKHRoaXMhPT1hdCgpJiZ0aGlzLmZvY3VzKXRyeXtyZXR1cm4gdGhpcy5mb2N1cygpLCExfWNhdGNoKGUpe319LGRlbGVnYXRlVHlwZToiZm9jdXNpbiJ9LGJsdXI6e3RyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcz09PWF0KCkmJnRoaXMuYmx1cj8odGhpcy5ibHVyKCksITEpOnR9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiB4Lm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dH0sX2RlZmF1bHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHgubm9kZU5hbWUoZS50YXJnZXQsImEiKX19LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe2UucmVzdWx0IT09dCYmKGUub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1lLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGk9eC5leHRlbmQobmV3IHguRXZlbnQsbix7dHlwZTplLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtyP3guZXZlbnQudHJpZ2dlcihpLG51bGwsdCk6eC5ldmVudC5kaXNwYXRjaC5jYWxsKHQsaSksaS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmbi5wcmV2ZW50RGVmYXVsdCgpfX0seC5yZW1vdmVFdmVudD1hLnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oZSx0LG4pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lciYmZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbiwhMSl9OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0ib24iK3Q7ZS5kZXRhY2hFdmVudCYmKHR5cGVvZiBlW3JdPT09aSYmKGVbcl09bnVsbCksZS5kZXRhY2hFdmVudChyLG4pKX0seC5FdmVudD1mdW5jdGlvbihlLG4pe3JldHVybiB0aGlzIGluc3RhbmNlb2YgeC5FdmVudD8oZSYmZS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9ZSx0aGlzLnR5cGU9ZS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWUuZGVmYXVsdFByZXZlbnRlZHx8ZS5yZXR1cm5WYWx1ZT09PSExfHxlLmdldFByZXZlbnREZWZhdWx0JiZlLmdldFByZXZlbnREZWZhdWx0KCk/aXQ6b3QpOnRoaXMudHlwZT1lLG4mJnguZXh0ZW5kKHRoaXMsbiksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fHgubm93KCksdGhpc1t4LmV4cGFuZG9dPSEwLHQpOm5ldyB4LkV2ZW50KGUsbil9LHguRXZlbnQucHJvdG90eXBlPXtpc0RlZmF1bHRQcmV2ZW50ZWQ6b3QsaXNQcm9wYWdhdGlvblN0b3BwZWQ6b3QsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6b3QscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9aXQsZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOmUucmV0dXJuVmFsdWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1pdCxlJiYoZS5zdG9wUHJvcGFnYXRpb24mJmUuc3RvcFByb3BhZ2F0aW9uKCksZS5jYW5jZWxCdWJibGU9ITApfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPWl0LHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSx4LmVhY2goe21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifSxmdW5jdGlvbihlLHQpe3guZXZlbnQuc3BlY2lhbFtlXT17ZGVsZWdhdGVUeXBlOnQsYmluZFR5cGU6dCxoYW5kbGU6ZnVuY3Rpb24oZSl7dmFyIG4scj10aGlzLGk9ZS5yZWxhdGVkVGFyZ2V0LG89ZS5oYW5kbGVPYmo7cmV0dXJuKCFpfHxpIT09ciYmIXguY29udGFpbnMocixpKSkmJihlLnR5cGU9by5vcmlnVHlwZSxuPW8uaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksZS50eXBlPXQpLG59fX0pLHguc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwoeC5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4geC5ub2RlTmFtZSh0aGlzLCJmb3JtIik/ITE6KHguZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oZSl7dmFyIG49ZS50YXJnZXQscj14Lm5vZGVOYW1lKG4sImlucHV0Iil8fHgubm9kZU5hbWUobiwiYnV0dG9uIik/bi5mb3JtOnQ7ciYmIXguX2RhdGEociwic3VibWl0QnViYmxlcyIpJiYoeC5ldmVudC5hZGQociwic3VibWl0Ll9zdWJtaXQiLGZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGU9ITB9KSx4Ll9kYXRhKHIsInN1Ym1pdEJ1YmJsZXMiLCEwKSl9KSx0KX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGUmJihkZWxldGUgZS5fc3VibWl0X2J1YmJsZSx0aGlzLnBhcmVudE5vZGUmJiFlLmlzVHJpZ2dlciYmeC5ldmVudC5zaW11bGF0ZSgic3VibWl0Iix0aGlzLnBhcmVudE5vZGUsZSwhMCkpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiB4Lm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTooeC5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKSx0KX19KSx4LnN1cHBvcnQuY2hhbmdlQnViYmxlc3x8KHguZXZlbnQuc3BlY2lhbC5jaGFuZ2U9e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIFoudGVzdCh0aGlzLm5vZGVOYW1lKT8oKCJjaGVja2JveCI9PT10aGlzLnR5cGV8fCJyYWRpbyI9PT10aGlzLnR5cGUpJiYoeC5ldmVudC5hZGQodGhpcywicHJvcGVydHljaGFuZ2UuX2NoYW5nZSIsZnVuY3Rpb24oZSl7ImNoZWNrZWQiPT09ZS5vcmlnaW5hbEV2ZW50LnByb3BlcnR5TmFtZSYmKHRoaXMuX2p1c3RfY2hhbmdlZD0hMCl9KSx4LmV2ZW50LmFkZCh0aGlzLCJjbGljay5fY2hhbmdlIixmdW5jdGlvbihlKXt0aGlzLl9qdXN0X2NoYW5nZWQmJiFlLmlzVHJpZ2dlciYmKHRoaXMuX2p1c3RfY2hhbmdlZD0hMSkseC5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLGUsITApfSkpLCExKTooeC5ldmVudC5hZGQodGhpcywiYmVmb3JlYWN0aXZhdGUuX2NoYW5nZSIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7Wi50ZXN0KHQubm9kZU5hbWUpJiYheC5fZGF0YSh0LCJjaGFuZ2VCdWJibGVzIikmJih4LmV2ZW50LmFkZCh0LCJjaGFuZ2UuX2NoYW5nZSIsZnVuY3Rpb24oZSl7IXRoaXMucGFyZW50Tm9kZXx8ZS5pc1NpbXVsYXRlZHx8ZS5pc1RyaWdnZXJ8fHguZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcy5wYXJlbnROb2RlLGUsITApfSkseC5fZGF0YSh0LCJjaGFuZ2VCdWJibGVzIiwhMCkpfSksdCl9LGhhbmRsZTpmdW5jdGlvbihlKXt2YXIgbj1lLnRhcmdldDtyZXR1cm4gdGhpcyE9PW58fGUuaXNTaW11bGF0ZWR8fGUuaXNUcmlnZ2VyfHwicmFkaW8iIT09bi50eXBlJiYiY2hlY2tib3giIT09bi50eXBlP2UuaGFuZGxlT2JqLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpOnR9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIHguZXZlbnQucmVtb3ZlKHRoaXMsIi5fY2hhbmdlIiksIVoudGVzdCh0aGlzLm5vZGVOYW1lKX19KSx4LnN1cHBvcnQuZm9jdXNpbkJ1YmJsZXN8fHguZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVuY3Rpb24oZSx0KXt2YXIgbj0wLHI9ZnVuY3Rpb24oZSl7eC5ldmVudC5zaW11bGF0ZSh0LGUudGFyZ2V0LHguZXZlbnQuZml4KGUpLCEwKX07eC5ldmVudC5zcGVjaWFsW3RdPXtzZXR1cDpmdW5jdGlvbigpezA9PT1uKysmJmEuYWRkRXZlbnRMaXN0ZW5lcihlLHIsITApfSx0ZWFyZG93bjpmdW5jdGlvbigpezA9PT0tLW4mJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHIsITApfX19KSx4LmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSxuLHIsaSxvKXt2YXIgYSxzO2lmKCJvYmplY3QiPT10eXBlb2YgZSl7InN0cmluZyIhPXR5cGVvZiBuJiYocj1yfHxuLG49dCk7Zm9yKGEgaW4gZSl0aGlzLm9uKGEsbixyLGVbYV0sbyk7cmV0dXJuIHRoaXN9aWYobnVsbD09ciYmbnVsbD09aT8oaT1uLHI9bj10KTpudWxsPT1pJiYoInN0cmluZyI9PXR5cGVvZiBuPyhpPXIscj10KTooaT1yLHI9bixuPXQpKSxpPT09ITEpaT1vdDtlbHNlIGlmKCFpKXJldHVybiB0aGlzO3JldHVybiAxPT09byYmKHM9aSxpPWZ1bmN0aW9uKGUpe3JldHVybiB4KCkub2ZmKGUpLHMuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxpLmd1aWQ9cy5ndWlkfHwocy5ndWlkPXguZ3VpZCsrKSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7eC5ldmVudC5hZGQodGhpcyxlLGkscixuKX0pfSxvbmU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMub24oZSx0LG4sciwxKX0sb2ZmOmZ1bmN0aW9uKGUsbixyKXt2YXIgaSxvO2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXJldHVybiBpPWUuaGFuZGxlT2JqLHgoZS5kZWxlZ2F0ZVRhcmdldCkub2ZmKGkubmFtZXNwYWNlP2kub3JpZ1R5cGUrIi4iK2kubmFtZXNwYWNlOmkub3JpZ1R5cGUsaS5zZWxlY3RvcixpLmhhbmRsZXIpLHRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtmb3IobyBpbiBlKXRoaXMub2ZmKG8sbixlW29dKTtyZXR1cm4gdGhpc31yZXR1cm4obj09PSExfHwiZnVuY3Rpb24iPT10eXBlb2YgbikmJihyPW4sbj10KSxyPT09ITEmJihyPW90KSx0aGlzLmVhY2goZnVuY3Rpb24oKXt4LmV2ZW50LnJlbW92ZSh0aGlzLGUscixuKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3guZXZlbnQudHJpZ2dlcihlLHQsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oZSxuKXt2YXIgcj10aGlzWzBdO3JldHVybiByP3guZXZlbnQudHJpZ2dlcihlLG4sciwhMCk6dH19KTt2YXIgc3Q9L14uW146I1xbXC4sXSokLyxsdD0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyx1dD14LmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LGN0PXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O3guZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG49W10scj10aGlzLGk9ci5sZW5ndGg7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB0aGlzLnB1c2hTdGFjayh4KGUpLmZpbHRlcihmdW5jdGlvbigpe2Zvcih0PTA7aT50O3QrKylpZih4LmNvbnRhaW5zKHJbdF0sdGhpcykpcmV0dXJuITB9KSk7Zm9yKHQ9MDtpPnQ7dCsrKXguZmluZChlLHJbdF0sbik7cmV0dXJuIG49dGhpcy5wdXNoU3RhY2soaT4xP3gudW5pcXVlKG4pOm4pLG4uc2VsZWN0b3I9dGhpcy5zZWxlY3Rvcj90aGlzLnNlbGVjdG9yKyIgIitlOmUsbn0saGFzOmZ1bmN0aW9uKGUpe3ZhciB0LG49eChlLHRoaXMpLHI9bi5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHQ9MDtyPnQ7dCsrKWlmKHguY29udGFpbnModGhpcyxuW3RdKSlyZXR1cm4hMH0pfSxub3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGZ0KHRoaXMsZXx8W10sITApKX0sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhmdCh0aGlzLGV8fFtdLCExKSl9LGlzOmZ1bmN0aW9uKGUpe3JldHVybiEhZnQodGhpcywic3RyaW5nIj09dHlwZW9mIGUmJnV0LnRlc3QoZSk/eChlKTplfHxbXSwhMSkubGVuZ3RofSxjbG9zZXN0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9dGhpcy5sZW5ndGgsbz1bXSxhPXV0LnRlc3QoZSl8fCJzdHJpbmciIT10eXBlb2YgZT94KGUsdHx8dGhpcy5jb250ZXh0KTowO2Zvcig7aT5yO3IrKylmb3Iobj10aGlzW3JdO24mJm4hPT10O249bi5wYXJlbnROb2RlKWlmKDExPm4ubm9kZVR5cGUmJihhP2EuaW5kZXgobik+LTE6MT09PW4ubm9kZVR5cGUmJnguZmluZC5tYXRjaGVzU2VsZWN0b3IobixlKSkpe249by5wdXNoKG4pO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhvLmxlbmd0aD4xP3gudW5pcXVlKG8pOm8pfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/eC5pbkFycmF5KHRoaXNbMF0seChlKSk6eC5pbkFycmF5KGUuanF1ZXJ5P2VbMF06ZSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihlLHQpe3ZhciBuPSJzdHJpbmciPT10eXBlb2YgZT94KGUsdCk6eC5tYWtlQXJyYXkoZSYmZS5ub2RlVHlwZT9bZV06ZSkscj14Lm1lcmdlKHRoaXMuZ2V0KCksbik7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHgudW5pcXVlKHIpKX0sYWRkQmFjazpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihlKSl9fSk7ZnVuY3Rpb24gcHQoZSx0KXtkbyBlPWVbdF07d2hpbGUoZSYmMSE9PWUubm9kZVR5cGUpO3JldHVybiBlfXguZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmMTEhPT10Lm5vZGVUeXBlP3Q6bnVsbH0scGFyZW50czpmdW5jdGlvbihlKXtyZXR1cm4geC5kaXIoZSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB4LmRpcihlLCJwYXJlbnROb2RlIixuKX0sbmV4dDpmdW5jdGlvbihlKXtyZXR1cm4gcHQoZSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihlKXtyZXR1cm4gcHQoZSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIHguZGlyKGUsIm5leHRTaWJsaW5nIil9LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIHguZGlyKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB4LmRpcihlLCJuZXh0U2libGluZyIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHguZGlyKGUsInByZXZpb3VzU2libGluZyIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe3JldHVybiB4LnNpYmxpbmcoKGUucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsZSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiB4LnNpYmxpbmcoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIHgubm9kZU5hbWUoZSwiaWZyYW1lIik/ZS5jb250ZW50RG9jdW1lbnR8fGUuY29udGVudFdpbmRvdy5kb2N1bWVudDp4Lm1lcmdlKFtdLGUuY2hpbGROb2Rlcyl9fSxmdW5jdGlvbihlLHQpe3guZm5bZV09ZnVuY3Rpb24obixyKXt2YXIgaT14Lm1hcCh0aGlzLHQsbik7cmV0dXJuIlVudGlsIiE9PWUuc2xpY2UoLTUpJiYocj1uKSxyJiYic3RyaW5nIj09dHlwZW9mIHImJihpPXguZmlsdGVyKHIsaSkpLHRoaXMubGVuZ3RoPjEmJihjdFtlXXx8KGk9eC51bmlxdWUoaSkpLGx0LnRlc3QoZSkmJihpPWkucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soaSl9fSkseC5leHRlbmQoe2ZpbHRlcjpmdW5jdGlvbihlLHQsbil7dmFyIHI9dFswXTtyZXR1cm4gbiYmKGU9Ijpub3QoIitlKyIpIiksMT09PXQubGVuZ3RoJiYxPT09ci5ub2RlVHlwZT94LmZpbmQubWF0Y2hlc1NlbGVjdG9yKHIsZSk/W3JdOltdOnguZmluZC5tYXRjaGVzKGUseC5ncmVwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfSkpfSxkaXI6ZnVuY3Rpb24oZSxuLHIpe3ZhciBpPVtdLG89ZVtuXTt3aGlsZShvJiY5IT09by5ub2RlVHlwZSYmKHI9PT10fHwxIT09by5ub2RlVHlwZXx8IXgobykuaXMocikpKTE9PT1vLm5vZGVUeXBlJiZpLnB1c2gobyksbz1vW25dO3JldHVybiBpfSxzaWJsaW5nOmZ1bmN0aW9uKGUsdCl7dmFyIG49W107Zm9yKDtlO2U9ZS5uZXh0U2libGluZykxPT09ZS5ub2RlVHlwZSYmZSE9PXQmJm4ucHVzaChlKTtyZXR1cm4gbn19KTtmdW5jdGlvbiBmdChlLHQsbil7aWYoeC5pc0Z1bmN0aW9uKHQpKXJldHVybiB4LmdyZXAoZSxmdW5jdGlvbihlLHIpe3JldHVybiEhdC5jYWxsKGUscixlKSE9PW59KTtpZih0Lm5vZGVUeXBlKXJldHVybiB4LmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gZT09PXQhPT1ufSk7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZihzdC50ZXN0KHQpKXJldHVybiB4LmZpbHRlcih0LGUsbik7dD14LmZpbHRlcih0LGUpfXJldHVybiB4LmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4geC5pbkFycmF5KGUsdCk+PTAhPT1ufSl9ZnVuY3Rpb24gZHQoZSl7dmFyIHQ9aHQuc3BsaXQoInwiKSxuPWUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2lmKG4uY3JlYXRlRWxlbWVudCl3aGlsZSh0Lmxlbmd0aCluLmNyZWF0ZUVsZW1lbnQodC5wb3AoKSk7cmV0dXJuIG59dmFyIGh0PSJhYmJyfGFydGljbGV8YXNpZGV8YXVkaW98YmRpfGNhbnZhc3xkYXRhfGRhdGFsaXN0fGRldGFpbHN8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFya3xtZXRlcnxuYXZ8b3V0cHV0fHByb2dyZXNzfHNlY3Rpb258c3VtbWFyeXx0aW1lfHZpZGVvIixndD0vIGpRdWVyeVxkKz0iKD86bnVsbHxcZCspIi9nLG10PVJlZ0V4cCgiPCg/OiIraHQrIilbXFxzLz5dIiwiaSIpLHl0PS9eXHMrLyx2dD0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6XSspW14+XSopXC8+L2dpLGJ0PS88KFtcdzpdKykvLHh0PS88dGJvZHkvaSx3dD0vPHwmIz9cdys7LyxUdD0vPCg/OnNjcmlwdHxzdHlsZXxsaW5rKS9pLEN0PS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLE50PS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLGt0PS9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSxFdD0vXnRydWVcLyguKikvLFN0PS9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg/OlxdXF18LS0pPlxzKiQvZyxBdD17b3B0aW9uOlsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0sbGVnZW5kOlsxLCI8ZmllbGRzZXQ+IiwiPC9maWVsZHNldD4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJdLHBhcmFtOlsxLCI8b2JqZWN0PiIsIjwvb2JqZWN0PiJdLHRoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6eC5zdXBwb3J0Lmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX0sanQ9ZHQoYSksRHQ9anQuYXBwZW5kQ2hpbGQoYS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7QXQub3B0Z3JvdXA9QXQub3B0aW9uLEF0LnRib2R5PUF0LnRmb290PUF0LmNvbGdyb3VwPUF0LmNhcHRpb249QXQudGhlYWQsQXQudGg9QXQudGQseC5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHguYWNjZXNzKHRoaXMsZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10P3gudGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fGEpLmNyZWF0ZVRleHROb2RlKGUpKX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oZSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciB0PUx0KHRoaXMsZSk7dC5hcHBlbmRDaGlsZChlKX19KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyxmdW5jdGlvbihlKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIHQ9THQodGhpcyxlKTt0Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzLm5leHRTaWJsaW5nKX0pfSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPWU/eC5maWx0ZXIoZSx0aGlzKTp0aGlzLGk9MDtmb3IoO251bGwhPShuPXJbaV0pO2krKyl0fHwxIT09bi5ub2RlVHlwZXx8eC5jbGVhbkRhdGEoRnQobikpLG4ucGFyZW50Tm9kZSYmKHQmJnguY29udGFpbnMobi5vd25lckRvY3VtZW50LG4pJiZfdChGdChuLCJzY3JpcHQiKSksbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXt2YXIgZSx0PTA7Zm9yKDtudWxsIT0oZT10aGlzW3RdKTt0KyspezE9PT1lLm5vZGVUeXBlJiZ4LmNsZWFuRGF0YShGdChlLCExKSk7d2hpbGUoZS5maXJzdENoaWxkKWUucmVtb3ZlQ2hpbGQoZS5maXJzdENoaWxkKTtlLm9wdGlvbnMmJngubm9kZU5hbWUoZSwic2VsZWN0IikmJihlLm9wdGlvbnMubGVuZ3RoPTApfXJldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPW51bGw9PWU/ITE6ZSx0PW51bGw9PXQ/ZTp0LHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHguY2xvbmUodGhpcyxlLHQpfSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIHguYWNjZXNzKHRoaXMsZnVuY3Rpb24oZSl7dmFyIG49dGhpc1swXXx8e30scj0wLGk9dGhpcy5sZW5ndGg7aWYoZT09PXQpcmV0dXJuIDE9PT1uLm5vZGVUeXBlP24uaW5uZXJIVE1MLnJlcGxhY2UoZ3QsIiIpOnQ7aWYoISgic3RyaW5nIiE9dHlwZW9mIGV8fFR0LnRlc3QoZSl8fCF4LnN1cHBvcnQuaHRtbFNlcmlhbGl6ZSYmbXQudGVzdChlKXx8IXguc3VwcG9ydC5sZWFkaW5nV2hpdGVzcGFjZSYmeXQudGVzdChlKXx8QXRbKGJ0LmV4ZWMoZSl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCldKSl7ZT1lLnJlcGxhY2UodnQsIjwkMT48LyQyPiIpO3RyeXtmb3IoO2k+cjtyKyspbj10aGlzW3JdfHx7fSwxPT09bi5ub2RlVHlwZSYmKHguY2xlYW5EYXRhKEZ0KG4sITEpKSxuLmlubmVySFRNTD1lKTtuPTB9Y2F0Y2gobyl7fX1uJiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGUpfSxudWxsLGUsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGU9eC5tYXAodGhpcyxmdW5jdGlvbihlKXtyZXR1cm5bZS5uZXh0U2libGluZyxlLnBhcmVudE5vZGVdfSksdD0wO3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyxmdW5jdGlvbihuKXt2YXIgcj1lW3QrK10saT1lW3QrK107aSYmKHImJnIucGFyZW50Tm9kZSE9PWkmJihyPXRoaXMubmV4dFNpYmxpbmcpLHgodGhpcykucmVtb3ZlKCksaS5pbnNlcnRCZWZvcmUobixyKSl9LCEwKSx0P3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlbW92ZShlLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oZSx0LG4pe2U9ZC5hcHBseShbXSxlKTt2YXIgcixpLG8sYSxzLGwsdT0wLGM9dGhpcy5sZW5ndGgscD10aGlzLGY9Yy0xLGg9ZVswXSxnPXguaXNGdW5jdGlvbihoKTtpZihnfHwhKDE+PWN8fCJzdHJpbmciIT10eXBlb2YgaHx8eC5zdXBwb3J0LmNoZWNrQ2xvbmUpJiZOdC50ZXN0KGgpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24ocil7dmFyIGk9cC5lcShyKTtnJiYoZVswXT1oLmNhbGwodGhpcyxyLGkuaHRtbCgpKSksaS5kb21NYW5pcChlLHQsbil9KTtpZihjJiYobD14LmJ1aWxkRnJhZ21lbnQoZSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsIW4mJnRoaXMpLHI9bC5maXJzdENoaWxkLDE9PT1sLmNoaWxkTm9kZXMubGVuZ3RoJiYobD1yKSxyKSl7Zm9yKGE9eC5tYXAoRnQobCwic2NyaXB0IiksSHQpLG89YS5sZW5ndGg7Yz51O3UrKylpPWwsdSE9PWYmJihpPXguY2xvbmUoaSwhMCwhMCksbyYmeC5tZXJnZShhLEZ0KGksInNjcmlwdCIpKSksdC5jYWxsKHRoaXNbdV0saSx1KTtpZihvKWZvcihzPWFbYS5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCx4Lm1hcChhLHF0KSx1PTA7bz51O3UrKylpPWFbdV0sa3QudGVzdChpLnR5cGV8fCIiKSYmIXguX2RhdGEoaSwiZ2xvYmFsRXZhbCIpJiZ4LmNvbnRhaW5zKHMsaSkmJihpLnNyYz94Ll9ldmFsVXJsKGkuc3JjKTp4Lmdsb2JhbEV2YWwoKGkudGV4dHx8aS50ZXh0Q29udGVudHx8aS5pbm5lckhUTUx8fCIiKS5yZXBsYWNlKFN0LCIiKSkpO2w9cj1udWxsfXJldHVybiB0aGlzfX0pO2Z1bmN0aW9uIEx0KGUsdCl7cmV0dXJuIHgubm9kZU5hbWUoZSwidGFibGUiKSYmeC5ub2RlTmFtZSgxPT09dC5ub2RlVHlwZT90OnQuZmlyc3RDaGlsZCwidHIiKT9lLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHxlLmFwcGVuZENoaWxkKGUub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIpKTplfWZ1bmN0aW9uIEh0KGUpe3JldHVybiBlLnR5cGU9KG51bGwhPT14LmZpbmQuYXR0cihlLCJ0eXBlIikpKyIvIitlLnR5cGUsZX1mdW5jdGlvbiBxdChlKXt2YXIgdD1FdC5leGVjKGUudHlwZSk7cmV0dXJuIHQ/ZS50eXBlPXRbMV06ZS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSxlfWZ1bmN0aW9uIF90KGUsdCl7dmFyIG4scj0wO2Zvcig7bnVsbCE9KG49ZVtyXSk7cisrKXguX2RhdGEobiwiZ2xvYmFsRXZhbCIsIXR8fHguX2RhdGEodFtyXSwiZ2xvYmFsRXZhbCIpKX1mdW5jdGlvbiBNdChlLHQpe2lmKDE9PT10Lm5vZGVUeXBlJiZ4Lmhhc0RhdGEoZSkpe3ZhciBuLHIsaSxvPXguX2RhdGEoZSksYT14Ll9kYXRhKHQsbykscz1vLmV2ZW50cztpZihzKXtkZWxldGUgYS5oYW5kbGUsYS5ldmVudHM9e307Zm9yKG4gaW4gcylmb3Iocj0wLGk9c1tuXS5sZW5ndGg7aT5yO3IrKyl4LmV2ZW50LmFkZCh0LG4sc1tuXVtyXSl9YS5kYXRhJiYoYS5kYXRhPXguZXh0ZW5kKHt9LGEuZGF0YSkpfX1mdW5jdGlvbiBPdChlLHQpe3ZhciBuLHIsaTtpZigxPT09dC5ub2RlVHlwZSl7aWYobj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIXguc3VwcG9ydC5ub0Nsb25lRXZlbnQmJnRbeC5leHBhbmRvXSl7aT14Ll9kYXRhKHQpO2ZvcihyIGluIGkuZXZlbnRzKXgucmVtb3ZlRXZlbnQodCxyLGkuaGFuZGxlKTt0LnJlbW92ZUF0dHJpYnV0ZSh4LmV4cGFuZG8pfSJzY3JpcHQiPT09biYmdC50ZXh0IT09ZS50ZXh0PyhIdCh0KS50ZXh0PWUudGV4dCxxdCh0KSk6Im9iamVjdCI9PT1uPyh0LnBhcmVudE5vZGUmJih0Lm91dGVySFRNTD1lLm91dGVySFRNTCkseC5zdXBwb3J0Lmh0bWw1Q2xvbmUmJmUuaW5uZXJIVE1MJiYheC50cmltKHQuaW5uZXJIVE1MKSYmKHQuaW5uZXJIVE1MPWUuaW5uZXJIVE1MKSk6ImlucHV0Ij09PW4mJkN0LnRlc3QoZS50eXBlKT8odC5kZWZhdWx0Q2hlY2tlZD10LmNoZWNrZWQ9ZS5jaGVja2VkLHQudmFsdWUhPT1lLnZhbHVlJiYodC52YWx1ZT1lLnZhbHVlKSk6Im9wdGlvbiI9PT1uP3QuZGVmYXVsdFNlbGVjdGVkPXQuc2VsZWN0ZWQ9ZS5kZWZhdWx0U2VsZWN0ZWQ6KCJpbnB1dCI9PT1ufHwidGV4dGFyZWEiPT09bikmJih0LmRlZmF1bHRWYWx1ZT1lLmRlZmF1bHRWYWx1ZSl9fXguZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGUsdCl7eC5mbltlXT1mdW5jdGlvbihlKXt2YXIgbixyPTAsaT1bXSxvPXgoZSksYT1vLmxlbmd0aC0xO2Zvcig7YT49cjtyKyspbj1yPT09YT90aGlzOnRoaXMuY2xvbmUoITApLHgob1tyXSlbdF0obiksaC5hcHBseShpLG4uZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhpKX19KTtmdW5jdGlvbiBGdChlLG4pe3ZhciByLG8sYT0wLHM9dHlwZW9mIGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPT1pP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUobnx8IioiKTp0eXBlb2YgZS5xdWVyeVNlbGVjdG9yQWxsIT09aT9lLnF1ZXJ5U2VsZWN0b3JBbGwobnx8IioiKTp0O2lmKCFzKWZvcihzPVtdLHI9ZS5jaGlsZE5vZGVzfHxlO251bGwhPShvPXJbYV0pO2ErKykhbnx8eC5ub2RlTmFtZShvLG4pP3MucHVzaChvKTp4Lm1lcmdlKHMsRnQobyxuKSk7cmV0dXJuIG49PT10fHxuJiZ4Lm5vZGVOYW1lKGUsbik/eC5tZXJnZShbZV0scyk6c31mdW5jdGlvbiBCdChlKXtDdC50ZXN0KGUudHlwZSkmJihlLmRlZmF1bHRDaGVja2VkPWUuY2hlY2tlZCl9eC5leHRlbmQoe2Nsb25lOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLGw9eC5jb250YWlucyhlLm93bmVyRG9jdW1lbnQsZSk7aWYoeC5zdXBwb3J0Lmh0bWw1Q2xvbmV8fHguaXNYTUxEb2MoZSl8fCFtdC50ZXN0KCI8IitlLm5vZGVOYW1lKyI+Iik/bz1lLmNsb25lTm9kZSghMCk6KER0LmlubmVySFRNTD1lLm91dGVySFRNTCxEdC5yZW1vdmVDaGlsZChvPUR0LmZpcnN0Q2hpbGQpKSwhKHguc3VwcG9ydC5ub0Nsb25lRXZlbnQmJnguc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8eC5pc1hNTERvYyhlKSkpZm9yKHI9RnQobykscz1GdChlKSxhPTA7bnVsbCE9KGk9c1thXSk7KythKXJbYV0mJk90KGksclthXSk7aWYodClpZihuKWZvcihzPXN8fEZ0KGUpLHI9cnx8RnQobyksYT0wO251bGwhPShpPXNbYV0pO2ErKylNdChpLHJbYV0pO2Vsc2UgTXQoZSxvKTtyZXR1cm4gcj1GdChvLCJzY3JpcHQiKSxyLmxlbmd0aD4wJiZfdChyLCFsJiZGdChlLCJzY3JpcHQiKSkscj1zPWk9bnVsbCxvfSxidWlsZEZyYWdtZW50OmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzLGwsdSxjLHA9ZS5sZW5ndGgsZj1kdCh0KSxkPVtdLGg9MDtmb3IoO3A+aDtoKyspaWYobz1lW2hdLG98fDA9PT1vKWlmKCJvYmplY3QiPT09eC50eXBlKG8pKXgubWVyZ2UoZCxvLm5vZGVUeXBlP1tvXTpvKTtlbHNlIGlmKHd0LnRlc3Qobykpe3M9c3x8Zi5hcHBlbmRDaGlsZCh0LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxsPShidC5leGVjKG8pfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLGM9QXRbbF18fEF0Ll9kZWZhdWx0LHMuaW5uZXJIVE1MPWNbMV0rby5yZXBsYWNlKHZ0LCI8JDE+PC8kMj4iKStjWzJdLGk9Y1swXTt3aGlsZShpLS0pcz1zLmxhc3RDaGlsZDtpZigheC5zdXBwb3J0LmxlYWRpbmdXaGl0ZXNwYWNlJiZ5dC50ZXN0KG8pJiZkLnB1c2godC5jcmVhdGVUZXh0Tm9kZSh5dC5leGVjKG8pWzBdKSksIXguc3VwcG9ydC50Ym9keSl7bz0idGFibGUiIT09bHx8eHQudGVzdChvKT8iPHRhYmxlPiIhPT1jWzFdfHx4dC50ZXN0KG8pPzA6czpzLmZpcnN0Q2hpbGQsaT1vJiZvLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGktLSl4Lm5vZGVOYW1lKHU9by5jaGlsZE5vZGVzW2ldLCJ0Ym9keSIpJiYhdS5jaGlsZE5vZGVzLmxlbmd0aCYmby5yZW1vdmVDaGlsZCh1KX14Lm1lcmdlKGQscy5jaGlsZE5vZGVzKSxzLnRleHRDb250ZW50PSIiO3doaWxlKHMuZmlyc3RDaGlsZClzLnJlbW92ZUNoaWxkKHMuZmlyc3RDaGlsZCk7cz1mLmxhc3RDaGlsZH1lbHNlIGQucHVzaCh0LmNyZWF0ZVRleHROb2RlKG8pKTtzJiZmLnJlbW92ZUNoaWxkKHMpLHguc3VwcG9ydC5hcHBlbmRDaGVja2VkfHx4LmdyZXAoRnQoZCwiaW5wdXQiKSxCdCksaD0wO3doaWxlKG89ZFtoKytdKWlmKCghcnx8LTE9PT14LmluQXJyYXkobyxyKSkmJihhPXguY29udGFpbnMoby5vd25lckRvY3VtZW50LG8pLHM9RnQoZi5hcHBlbmRDaGlsZChvKSwic2NyaXB0IiksYSYmX3Qocyksbikpe2k9MDt3aGlsZShvPXNbaSsrXSlrdC50ZXN0KG8udHlwZXx8IiIpJiZuLnB1c2gobyl9cmV0dXJuIHM9bnVsbCxmfSxjbGVhbkRhdGE6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8sYSxzPTAsbD14LmV4cGFuZG8sdT14LmNhY2hlLGM9eC5zdXBwb3J0LmRlbGV0ZUV4cGFuZG8sZj14LmV2ZW50LnNwZWNpYWw7Zm9yKDtudWxsIT0obj1lW3NdKTtzKyspaWYoKHR8fHguYWNjZXB0RGF0YShuKSkmJihvPW5bbF0sYT1vJiZ1W29dKSl7aWYoYS5ldmVudHMpZm9yKHIgaW4gYS5ldmVudHMpZltyXT94LmV2ZW50LnJlbW92ZShuLHIpOngucmVtb3ZlRXZlbnQobixyLGEuaGFuZGxlKTsNCnVbb10mJihkZWxldGUgdVtvXSxjP2RlbGV0ZSBuW2xdOnR5cGVvZiBuLnJlbW92ZUF0dHJpYnV0ZSE9PWk/bi5yZW1vdmVBdHRyaWJ1dGUobCk6bltsXT1udWxsLHAucHVzaChvKSl9fSxfZXZhbFVybDpmdW5jdGlvbihlKXtyZXR1cm4geC5hamF4KHt1cmw6ZSx0eXBlOiJHRVQiLGRhdGFUeXBlOiJzY3JpcHQiLGFzeW5jOiExLGdsb2JhbDohMSwidGhyb3dzIjohMH0pfX0pLHguZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGUpe2lmKHguaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3godGhpcykud3JhcEFsbChlLmNhbGwodGhpcyx0KSl9KTtpZih0aGlzWzBdKXt2YXIgdD14KGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCk7dGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcChmdW5jdGlvbigpe3ZhciBlPXRoaXM7d2hpbGUoZS5maXJzdENoaWxkJiYxPT09ZS5maXJzdENoaWxkLm5vZGVUeXBlKWU9ZS5maXJzdENoaWxkO3JldHVybiBlfSkuYXBwZW5kKHRoaXMpfXJldHVybiB0aGlzfSx3cmFwSW5uZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHguaXNGdW5jdGlvbihlKT90aGlzLmVhY2goZnVuY3Rpb24odCl7eCh0aGlzKS53cmFwSW5uZXIoZS5jYWxsKHRoaXMsdCkpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9eCh0aGlzKSxuPXQuY29udGVudHMoKTtuLmxlbmd0aD9uLndyYXBBbGwoZSk6dC5hcHBlbmQoZSl9KX0sd3JhcDpmdW5jdGlvbihlKXt2YXIgdD14LmlzRnVuY3Rpb24oZSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihuKXt4KHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7eC5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fHgodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pO3ZhciBQdCxSdCxXdCwkdD0vYWxwaGFcKFteKV0qXCkvaSxJdD0vb3BhY2l0eVxzKj1ccyooW14pXSopLyx6dD0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC8sWHQ9L14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLFV0PS9ebWFyZ2luLyxWdD1SZWdFeHAoIl4oIit3KyIpKC4qKSQiLCJpIiksWXQ9UmVnRXhwKCJeKCIrdysiKSg/IXB4KVthLXolXSskIiwiaSIpLEp0PVJlZ0V4cCgiXihbKy1dKT0oIit3KyIpIiwiaSIpLEd0PXtCT0RZOiJibG9jayJ9LFF0PXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxLdD17bGV0dGVyU3BhY2luZzowLGZvbnRXZWlnaHQ6NDAwfSxadD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLGVuPVsiV2Via2l0IiwiTyIsIk1veiIsIm1zIl07ZnVuY3Rpb24gdG4oZSx0KXtpZih0IGluIGUpcmV0dXJuIHQ7dmFyIG49dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpLHI9dCxpPWVuLmxlbmd0aDt3aGlsZShpLS0paWYodD1lbltpXStuLHQgaW4gZSlyZXR1cm4gdDtyZXR1cm4gcn1mdW5jdGlvbiBubihlLHQpe3JldHVybiBlPXR8fGUsIm5vbmUiPT09eC5jc3MoZSwiZGlzcGxheSIpfHwheC5jb250YWlucyhlLm93bmVyRG9jdW1lbnQsZSl9ZnVuY3Rpb24gcm4oZSx0KXt2YXIgbixyLGksbz1bXSxhPTAscz1lLmxlbmd0aDtmb3IoO3M+YTthKyspcj1lW2FdLHIuc3R5bGUmJihvW2FdPXguX2RhdGEociwib2xkZGlzcGxheSIpLG49ci5zdHlsZS5kaXNwbGF5LHQ/KG9bYV18fCJub25lIiE9PW58fChyLnN0eWxlLmRpc3BsYXk9IiIpLCIiPT09ci5zdHlsZS5kaXNwbGF5JiZubihyKSYmKG9bYV09eC5fZGF0YShyLCJvbGRkaXNwbGF5IixsbihyLm5vZGVOYW1lKSkpKTpvW2FdfHwoaT1ubihyKSwobiYmIm5vbmUiIT09bnx8IWkpJiZ4Ll9kYXRhKHIsIm9sZGRpc3BsYXkiLGk/bjp4LmNzcyhyLCJkaXNwbGF5IikpKSk7Zm9yKGE9MDtzPmE7YSsrKXI9ZVthXSxyLnN0eWxlJiYodCYmIm5vbmUiIT09ci5zdHlsZS5kaXNwbGF5JiYiIiE9PXIuc3R5bGUuZGlzcGxheXx8KHIuc3R5bGUuZGlzcGxheT10P29bYV18fCIiOiJub25lIikpO3JldHVybiBlfXguZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oZSxuKXtyZXR1cm4geC5hY2Nlc3ModGhpcyxmdW5jdGlvbihlLG4scil7dmFyIGksbyxhPXt9LHM9MDtpZih4LmlzQXJyYXkobikpe2ZvcihvPVJ0KGUpLGk9bi5sZW5ndGg7aT5zO3MrKylhW25bc11dPXguY3NzKGUsbltzXSwhMSxvKTtyZXR1cm4gYX1yZXR1cm4gciE9PXQ/eC5zdHlsZShlLG4scik6eC5jc3MoZSxuKX0sZSxuLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHNob3c6ZnVuY3Rpb24oKXtyZXR1cm4gcm4odGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gcm4odGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihlKXt2YXIgdD0iYm9vbGVhbiI9PXR5cGVvZiBlO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsodD9lOm5uKHRoaXMpKT94KHRoaXMpLnNob3coKTp4KHRoaXMpLmhpZGUoKX0pfX0pLHguZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGUsdCl7aWYodCl7dmFyIG49V3QoZSwib3BhY2l0eSIpO3JldHVybiIiPT09bj8iMSI6bn19fX0sY3NzTnVtYmVyOntjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6eC5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihlLG4scixpKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBvLGEscyxsPXguY2FtZWxDYXNlKG4pLHU9ZS5zdHlsZTtpZihuPXguY3NzUHJvcHNbbF18fCh4LmNzc1Byb3BzW2xdPXRuKHUsbCkpLHM9eC5jc3NIb29rc1tuXXx8eC5jc3NIb29rc1tsXSxyPT09dClyZXR1cm4gcyYmImdldCJpbiBzJiYobz1zLmdldChlLCExLGkpKSE9PXQ/bzp1W25dO2lmKGE9dHlwZW9mIHIsInN0cmluZyI9PT1hJiYobz1KdC5leGVjKHIpKSYmKHI9KG9bMV0rMSkqb1syXStwYXJzZUZsb2F0KHguY3NzKGUsbikpLGE9Im51bWJlciIpLCEobnVsbD09cnx8Im51bWJlciI9PT1hJiZpc05hTihyKXx8KCJudW1iZXIiIT09YXx8eC5jc3NOdW1iZXJbbF18fChyKz0icHgiKSx4LnN1cHBvcnQuY2xlYXJDbG9uZVN0eWxlfHwiIiE9PXJ8fDAhPT1uLmluZGV4T2YoImJhY2tncm91bmQiKXx8KHVbbl09ImluaGVyaXQiKSxzJiYic2V0ImluIHMmJihyPXMuc2V0KGUscixpKSk9PT10KSkpdHJ5e3Vbbl09cn1jYXRjaChjKXt9fX0sY3NzOmZ1bmN0aW9uKGUsbixyLGkpe3ZhciBvLGEscyxsPXguY2FtZWxDYXNlKG4pO3JldHVybiBuPXguY3NzUHJvcHNbbF18fCh4LmNzc1Byb3BzW2xdPXRuKGUuc3R5bGUsbCkpLHM9eC5jc3NIb29rc1tuXXx8eC5jc3NIb29rc1tsXSxzJiYiZ2V0ImluIHMmJihhPXMuZ2V0KGUsITAscikpLGE9PT10JiYoYT1XdChlLG4saSkpLCJub3JtYWwiPT09YSYmbiBpbiBLdCYmKGE9S3Rbbl0pLCIiPT09cnx8cj8obz1wYXJzZUZsb2F0KGEpLHI9PT0hMHx8eC5pc051bWVyaWMobyk/b3x8MDphKTphfX0pLGUuZ2V0Q29tcHV0ZWRTdHlsZT8oUnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGUuZ2V0Q29tcHV0ZWRTdHlsZSh0LG51bGwpfSxXdD1mdW5jdGlvbihlLG4scil7dmFyIGksbyxhLHM9cnx8UnQoZSksbD1zP3MuZ2V0UHJvcGVydHlWYWx1ZShuKXx8c1tuXTp0LHU9ZS5zdHlsZTtyZXR1cm4gcyYmKCIiIT09bHx8eC5jb250YWlucyhlLm93bmVyRG9jdW1lbnQsZSl8fChsPXguc3R5bGUoZSxuKSksWXQudGVzdChsKSYmVXQudGVzdChuKSYmKGk9dS53aWR0aCxvPXUubWluV2lkdGgsYT11Lm1heFdpZHRoLHUubWluV2lkdGg9dS5tYXhXaWR0aD11LndpZHRoPWwsbD1zLndpZHRoLHUud2lkdGg9aSx1Lm1pbldpZHRoPW8sdS5tYXhXaWR0aD1hKSksbH0pOmEuZG9jdW1lbnRFbGVtZW50LmN1cnJlbnRTdHlsZSYmKFJ0PWZ1bmN0aW9uKGUpe3JldHVybiBlLmN1cnJlbnRTdHlsZX0sV3Q9ZnVuY3Rpb24oZSxuLHIpe3ZhciBpLG8sYSxzPXJ8fFJ0KGUpLGw9cz9zW25dOnQsdT1lLnN0eWxlO3JldHVybiBudWxsPT1sJiZ1JiZ1W25dJiYobD11W25dKSxZdC50ZXN0KGwpJiYhenQudGVzdChuKSYmKGk9dS5sZWZ0LG89ZS5ydW50aW1lU3R5bGUsYT1vJiZvLmxlZnQsYSYmKG8ubGVmdD1lLmN1cnJlbnRTdHlsZS5sZWZ0KSx1LmxlZnQ9ImZvbnRTaXplIj09PW4/IjFlbSI6bCxsPXUucGl4ZWxMZWZ0KyJweCIsdS5sZWZ0PWksYSYmKG8ubGVmdD1hKSksIiI9PT1sPyJhdXRvIjpsfSk7ZnVuY3Rpb24gb24oZSx0LG4pe3ZhciByPVZ0LmV4ZWModCk7cmV0dXJuIHI/TWF0aC5tYXgoMCxyWzFdLShufHwwKSkrKHJbMl18fCJweCIpOnR9ZnVuY3Rpb24gYW4oZSx0LG4scixpKXt2YXIgbz1uPT09KHI/ImJvcmRlciI6ImNvbnRlbnQiKT80OiJ3aWR0aCI9PT10PzE6MCxhPTA7Zm9yKDs0Pm87bys9MikibWFyZ2luIj09PW4mJihhKz14LmNzcyhlLG4rWnRbb10sITAsaSkpLHI/KCJjb250ZW50Ij09PW4mJihhLT14LmNzcyhlLCJwYWRkaW5nIitadFtvXSwhMCxpKSksIm1hcmdpbiIhPT1uJiYoYS09eC5jc3MoZSwiYm9yZGVyIitadFtvXSsiV2lkdGgiLCEwLGkpKSk6KGErPXguY3NzKGUsInBhZGRpbmciK1p0W29dLCEwLGkpLCJwYWRkaW5nIiE9PW4mJihhKz14LmNzcyhlLCJib3JkZXIiK1p0W29dKyJXaWR0aCIsITAsaSkpKTtyZXR1cm4gYX1mdW5jdGlvbiBzbihlLHQsbil7dmFyIHI9ITAsaT0id2lkdGgiPT09dD9lLm9mZnNldFdpZHRoOmUub2Zmc2V0SGVpZ2h0LG89UnQoZSksYT14LnN1cHBvcnQuYm94U2l6aW5nJiYiYm9yZGVyLWJveCI9PT14LmNzcyhlLCJib3hTaXppbmciLCExLG8pO2lmKDA+PWl8fG51bGw9PWkpe2lmKGk9V3QoZSx0LG8pLCgwPml8fG51bGw9PWkpJiYoaT1lLnN0eWxlW3RdKSxZdC50ZXN0KGkpKXJldHVybiBpO3I9YSYmKHguc3VwcG9ydC5ib3hTaXppbmdSZWxpYWJsZXx8aT09PWUuc3R5bGVbdF0pLGk9cGFyc2VGbG9hdChpKXx8MH1yZXR1cm4gaSthbihlLHQsbnx8KGE/ImJvcmRlciI6ImNvbnRlbnQiKSxyLG8pKyJweCJ9ZnVuY3Rpb24gbG4oZSl7dmFyIHQ9YSxuPUd0W2VdO3JldHVybiBufHwobj11bihlLHQpLCJub25lIiE9PW4mJm58fChQdD0oUHR8fHgoIjxpZnJhbWUgZnJhbWVib3JkZXI9JzAnIHdpZHRoPScwJyBoZWlnaHQ9JzAnLz4iKS5jc3MoImNzc1RleHQiLCJkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQiKSkuYXBwZW5kVG8odC5kb2N1bWVudEVsZW1lbnQpLHQ9KFB0WzBdLmNvbnRlbnRXaW5kb3d8fFB0WzBdLmNvbnRlbnREb2N1bWVudCkuZG9jdW1lbnQsdC53cml0ZSgiPCFkb2N0eXBlIGh0bWw+PGh0bWw+PGJvZHk+IiksdC5jbG9zZSgpLG49dW4oZSx0KSxQdC5kZXRhY2goKSksR3RbZV09biksbn1mdW5jdGlvbiB1bihlLHQpe3ZhciBuPXgodC5jcmVhdGVFbGVtZW50KGUpKS5hcHBlbmRUbyh0LmJvZHkpLHI9eC5jc3MoblswXSwiZGlzcGxheSIpO3JldHVybiBuLnJlbW92ZSgpLHJ9eC5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihlLG4pe3guY3NzSG9va3Nbbl09e2dldDpmdW5jdGlvbihlLHIsaSl7cmV0dXJuIHI/MD09PWUub2Zmc2V0V2lkdGgmJlh0LnRlc3QoeC5jc3MoZSwiZGlzcGxheSIpKT94LnN3YXAoZSxRdCxmdW5jdGlvbigpe3JldHVybiBzbihlLG4saSl9KTpzbihlLG4saSk6dH0sc2V0OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yJiZSdChlKTtyZXR1cm4gb24oZSx0LHI/YW4oZSxuLHIseC5zdXBwb3J0LmJveFNpemluZyYmImJvcmRlci1ib3giPT09eC5jc3MoZSwiYm94U2l6aW5nIiwhMSxpKSxpKTowKX19fSkseC5zdXBwb3J0Lm9wYWNpdHl8fCh4LmNzc0hvb2tzLm9wYWNpdHk9e2dldDpmdW5jdGlvbihlLHQpe3JldHVybiBJdC50ZXN0KCh0JiZlLmN1cnJlbnRTdHlsZT9lLmN1cnJlbnRTdHlsZS5maWx0ZXI6ZS5zdHlsZS5maWx0ZXIpfHwiIik/LjAxKnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsiIjp0PyIxIjoiIn0sc2V0OmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5zdHlsZSxyPWUuY3VycmVudFN0eWxlLGk9eC5pc051bWVyaWModCk/ImFscGhhKG9wYWNpdHk9IisxMDAqdCsiKSI6IiIsbz1yJiZyLmZpbHRlcnx8bi5maWx0ZXJ8fCIiO24uem9vbT0xLCh0Pj0xfHwiIj09PXQpJiYiIj09PXgudHJpbShvLnJlcGxhY2UoJHQsIiIpKSYmbi5yZW1vdmVBdHRyaWJ1dGUmJihuLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIiksIiI9PT10fHxyJiYhci5maWx0ZXIpfHwobi5maWx0ZXI9JHQudGVzdChvKT9vLnJlcGxhY2UoJHQsaSk6bysiICIraSl9fSkseChmdW5jdGlvbigpe3guc3VwcG9ydC5yZWxpYWJsZU1hcmdpblJpZ2h0fHwoeC5jc3NIb29rcy5tYXJnaW5SaWdodD17Z2V0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIG4/eC5zd2FwKGUse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LFd0LFtlLCJtYXJnaW5SaWdodCJdKTp0fX0pLCF4LnN1cHBvcnQucGl4ZWxQb3NpdGlvbiYmeC5mbi5wb3NpdGlvbiYmeC5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGUsbil7eC5jc3NIb29rc1tuXT17Z2V0OmZ1bmN0aW9uKGUscil7cmV0dXJuIHI/KHI9V3QoZSxuKSxZdC50ZXN0KHIpP3goZSkucG9zaXRpb24oKVtuXSsicHgiOnIpOnR9fX0pfSkseC5leHByJiZ4LmV4cHIuZmlsdGVycyYmKHguZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihlKXtyZXR1cm4gMD49ZS5vZmZzZXRXaWR0aCYmMD49ZS5vZmZzZXRIZWlnaHR8fCF4LnN1cHBvcnQucmVsaWFibGVIaWRkZW5PZmZzZXRzJiYibm9uZSI9PT0oZS5zdHlsZSYmZS5zdHlsZS5kaXNwbGF5fHx4LmNzcyhlLCJkaXNwbGF5IikpfSx4LmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGUpe3JldHVybiF4LmV4cHIuZmlsdGVycy5oaWRkZW4oZSl9KSx4LmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihlLHQpe3guY3NzSG9va3NbZSt0XT17ZXhwYW5kOmZ1bmN0aW9uKG4pe3ZhciByPTAsaT17fSxvPSJzdHJpbmciPT10eXBlb2Ygbj9uLnNwbGl0KCIgIik6W25dO2Zvcig7ND5yO3IrKylpW2UrWnRbcl0rdF09b1tyXXx8b1tyLTJdfHxvWzBdO3JldHVybiBpfX0sVXQudGVzdChlKXx8KHguY3NzSG9va3NbZSt0XS5zZXQ9b24pfSk7dmFyIGNuPS8lMjAvZyxwbj0vXFtcXSQvLGZuPS9ccj9cbi9nLGRuPS9eKD86c3VibWl0fGJ1dHRvbnxpbWFnZXxyZXNldHxmaWxlKSQvaSxobj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7eC5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiB4LnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9eC5wcm9wKHRoaXMsImVsZW1lbnRzIik7cmV0dXJuIGU/eC5tYWtlQXJyYXkoZSk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciBlPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYheCh0aGlzKS5pcygiOmRpc2FibGVkIikmJmhuLnRlc3QodGhpcy5ub2RlTmFtZSkmJiFkbi50ZXN0KGUpJiYodGhpcy5jaGVja2VkfHwhQ3QudGVzdChlKSl9KS5tYXAoZnVuY3Rpb24oZSx0KXt2YXIgbj14KHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1uP251bGw6eC5pc0FycmF5KG4pP3gubWFwKG4sZnVuY3Rpb24oZSl7cmV0dXJue25hbWU6dC5uYW1lLHZhbHVlOmUucmVwbGFjZShmbiwiXHJcbiIpfX0pOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2UoZm4sIlxyXG4iKX19KS5nZXQoKX19KSx4LnBhcmFtPWZ1bmN0aW9uKGUsbil7dmFyIHIsaT1bXSxvPWZ1bmN0aW9uKGUsdCl7dD14LmlzRnVuY3Rpb24odCk/dCgpOm51bGw9PXQ/IiI6dCxpW2kubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoZSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh0KX07aWYobj09PXQmJihuPXguYWpheFNldHRpbmdzJiZ4LmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCkseC5pc0FycmF5KGUpfHxlLmpxdWVyeSYmIXguaXNQbGFpbk9iamVjdChlKSl4LmVhY2goZSxmdW5jdGlvbigpe28odGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IociBpbiBlKWduKHIsZVtyXSxuLG8pO3JldHVybiBpLmpvaW4oIiYiKS5yZXBsYWNlKGNuLCIrIil9O2Z1bmN0aW9uIGduKGUsdCxuLHIpe3ZhciBpO2lmKHguaXNBcnJheSh0KSl4LmVhY2godCxmdW5jdGlvbih0LGkpe258fHBuLnRlc3QoZSk/cihlLGkpOmduKGUrIlsiKygib2JqZWN0Ij09dHlwZW9mIGk/dDoiIikrIl0iLGksbixyKX0pO2Vsc2UgaWYobnx8Im9iamVjdCIhPT14LnR5cGUodCkpcihlLHQpO2Vsc2UgZm9yKGkgaW4gdClnbihlKyJbIitpKyJdIix0W2ldLG4scil9eC5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgbG9hZCByZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGVycm9yIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGUsdCl7eC5mblt0XT1mdW5jdGlvbihlLG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5vbih0LG51bGwsZSxuKTp0aGlzLnRyaWdnZXIodCl9fSkseC5mbi5leHRlbmQoe2hvdmVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubW91c2VlbnRlcihlKS5tb3VzZWxlYXZlKHR8fGUpfSxiaW5kOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5vbihlLG51bGwsdCxuKX0sdW5iaW5kOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub2ZmKGUsbnVsbCx0KX0sZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMub24odCxlLG4scil9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmKHQsZXx8IioqIixuKX19KTt2YXIgbW4seW4sdm49eC5ub3coKSxibj0vXD8vLHhuPS8jLiokLyx3bj0vKFs/Jl0pXz1bXiZdKi8sVG49L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxDbj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxObj0vXig/OkdFVHxIRUFEKSQvLGtuPS9eXC9cLy8sRW49L14oW1x3ListXSs6KSg/OlwvXC8oW15cLz8jOl0qKSg/OjooXGQrKXwpfCkvLFNuPXguZm4ubG9hZCxBbj17fSxqbj17fSxEbj0iKi8iLmNvbmNhdCgiKiIpO3RyeXt5bj1vLmhyZWZ9Y2F0Y2goTG4pe3luPWEuY3JlYXRlRWxlbWVudCgiYSIpLHluLmhyZWY9IiIseW49eW4uaHJlZn1tbj1Fbi5leGVjKHluLnRvTG93ZXJDYXNlKCkpfHxbXTtmdW5jdGlvbiBIbihlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXsic3RyaW5nIiE9dHlwZW9mIHQmJihuPXQsdD0iKiIpO3ZhciByLGk9MCxvPXQudG9Mb3dlckNhc2UoKS5tYXRjaChUKXx8W107aWYoeC5pc0Z1bmN0aW9uKG4pKXdoaWxlKHI9b1tpKytdKSIrIj09PXJbMF0/KHI9ci5zbGljZSgxKXx8IioiLChlW3JdPWVbcl18fFtdKS51bnNoaWZ0KG4pKTooZVtyXT1lW3JdfHxbXSkucHVzaChuKX19ZnVuY3Rpb24gcW4oZSxuLHIsaSl7dmFyIG89e30sYT1lPT09am47ZnVuY3Rpb24gcyhsKXt2YXIgdTtyZXR1cm4gb1tsXT0hMCx4LmVhY2goZVtsXXx8W10sZnVuY3Rpb24oZSxsKXt2YXIgYz1sKG4scixpKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGN8fGF8fG9bY10/YT8hKHU9Yyk6dDoobi5kYXRhVHlwZXMudW5zaGlmdChjKSxzKGMpLCExKX0pLHV9cmV0dXJuIHMobi5kYXRhVHlwZXNbMF0pfHwhb1siKiJdJiZzKCIqIil9ZnVuY3Rpb24gX24oZSxuKXt2YXIgcixpLG89eC5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihpIGluIG4pbltpXSE9PXQmJigob1tpXT9lOnJ8fChyPXt9KSlbaV09bltpXSk7cmV0dXJuIHImJnguZXh0ZW5kKCEwLGUsciksZX14LmZuLmxvYWQ9ZnVuY3Rpb24oZSxuLHIpe2lmKCJzdHJpbmciIT10eXBlb2YgZSYmU24pcmV0dXJuIFNuLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2YXIgaSxvLGEscz10aGlzLGw9ZS5pbmRleE9mKCIgIik7cmV0dXJuIGw+PTAmJihpPWUuc2xpY2UobCxlLmxlbmd0aCksZT1lLnNsaWNlKDAsbCkpLHguaXNGdW5jdGlvbihuKT8ocj1uLG49dCk6biYmIm9iamVjdCI9PXR5cGVvZiBuJiYoYT0iUE9TVCIpLHMubGVuZ3RoPjAmJnguYWpheCh7dXJsOmUsdHlwZTphLGRhdGFUeXBlOiJodG1sIixkYXRhOm59KS5kb25lKGZ1bmN0aW9uKGUpe289YXJndW1lbnRzLHMuaHRtbChpP3goIjxkaXY+IikuYXBwZW5kKHgucGFyc2VIVE1MKGUpKS5maW5kKGkpOmUpfSkuY29tcGxldGUociYmZnVuY3Rpb24oZSx0KXtzLmVhY2gocixvfHxbZS5yZXNwb25zZVRleHQsdCxlXSl9KSx0aGlzfSx4LmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihlLHQpe3guZm5bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMub24odCxlKX19KSx4LmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6eW4sdHlwZToiR0VUIixpc0xvY2FsOkNuLnRlc3QobW5bMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6RG4sdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjp4LnBhcnNlSlNPTiwidGV4dCB4bWwiOngucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0P19uKF9uKGUseC5hamF4U2V0dGluZ3MpLHQpOl9uKHguYWpheFNldHRpbmdzLGUpfSxhamF4UHJlZmlsdGVyOkhuKEFuKSxhamF4VHJhbnNwb3J0OkhuKGpuKSxhamF4OmZ1bmN0aW9uKGUsbil7Im9iamVjdCI9PXR5cGVvZiBlJiYobj1lLGU9dCksbj1ufHx7fTt2YXIgcixpLG8sYSxzLGwsdSxjLHA9eC5hamF4U2V0dXAoe30sbiksZj1wLmNvbnRleHR8fHAsZD1wLmNvbnRleHQmJihmLm5vZGVUeXBlfHxmLmpxdWVyeSk/eChmKTp4LmV2ZW50LGg9eC5EZWZlcnJlZCgpLGc9eC5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksbT1wLnN0YXR1c0NvZGV8fHt9LHk9e30sdj17fSxiPTAsdz0iY2FuY2VsZWQiLEM9e3JlYWR5U3RhdGU6MCxnZXRSZXNwb25zZUhlYWRlcjpmdW5jdGlvbihlKXt2YXIgdDtpZigyPT09Yil7aWYoIWMpe2M9e307d2hpbGUodD1Ubi5leGVjKGEpKWNbdFsxXS50b0xvd2VyQ2FzZSgpXT10WzJdfXQ9Y1tlLnRvTG93ZXJDYXNlKCldfXJldHVybiBudWxsPT10P251bGw6dH0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT1iP2E6bnVsbH0sc2V0UmVxdWVzdEhlYWRlcjpmdW5jdGlvbihlLHQpe3ZhciBuPWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gYnx8KGU9dltuXT12W25dfHxlLHlbZV09dCksdGhpc30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihlKXtyZXR1cm4gYnx8KHAubWltZVR5cGU9ZSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihlKXt2YXIgdDtpZihlKWlmKDI+Yilmb3IodCBpbiBlKW1bdF09W21bdF0sZVt0XV07ZWxzZSBDLmFsd2F5cyhlW0Muc3RhdHVzXSk7cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGUpe3ZhciB0PWV8fHc7cmV0dXJuIHUmJnUuYWJvcnQodCksaygwLHQpLHRoaXN9fTtpZihoLnByb21pc2UoQykuY29tcGxldGU9Zy5hZGQsQy5zdWNjZXNzPUMuZG9uZSxDLmVycm9yPUMuZmFpbCxwLnVybD0oKGV8fHAudXJsfHx5bikrIiIpLnJlcGxhY2UoeG4sIiIpLnJlcGxhY2Uoa24sbW5bMV0rIi8vIikscC50eXBlPW4ubWV0aG9kfHxuLnR5cGV8fHAubWV0aG9kfHxwLnR5cGUscC5kYXRhVHlwZXM9eC50cmltKHAuZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChUKXx8WyIiXSxudWxsPT1wLmNyb3NzRG9tYWluJiYocj1Fbi5leGVjKHAudXJsLnRvTG93ZXJDYXNlKCkpLHAuY3Jvc3NEb21haW49ISghcnx8clsxXT09PW1uWzFdJiZyWzJdPT09bW5bMl0mJihyWzNdfHwoImh0dHA6Ij09PXJbMV0/IjgwIjoiNDQzIikpPT09KG1uWzNdfHwoImh0dHA6Ij09PW1uWzFdPyI4MCI6IjQ0MyIpKSkpLHAuZGF0YSYmcC5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBwLmRhdGEmJihwLmRhdGE9eC5wYXJhbShwLmRhdGEscC50cmFkaXRpb25hbCkpLHFuKEFuLHAsbixDKSwyPT09YilyZXR1cm4gQztsPXAuZ2xvYmFsLGwmJjA9PT14LmFjdGl2ZSsrJiZ4LmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLHAudHlwZT1wLnR5cGUudG9VcHBlckNhc2UoKSxwLmhhc0NvbnRlbnQ9IU5uLnRlc3QocC50eXBlKSxvPXAudXJsLHAuaGFzQ29udGVudHx8KHAuZGF0YSYmKG89cC51cmwrPShibi50ZXN0KG8pPyImIjoiPyIpK3AuZGF0YSxkZWxldGUgcC5kYXRhKSxwLmNhY2hlPT09ITEmJihwLnVybD13bi50ZXN0KG8pP28ucmVwbGFjZSh3biwiJDFfPSIrdm4rKyk6bysoYm4udGVzdChvKT8iJiI6Ij8iKSsiXz0iK3ZuKyspKSxwLmlmTW9kaWZpZWQmJih4Lmxhc3RNb2RpZmllZFtvXSYmQy5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIseC5sYXN0TW9kaWZpZWRbb10pLHguZXRhZ1tvXSYmQy5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIix4LmV0YWdbb10pKSwocC5kYXRhJiZwLmhhc0NvbnRlbnQmJnAuY29udGVudFR5cGUhPT0hMXx8bi5jb250ZW50VHlwZSkmJkMuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixwLmNvbnRlbnRUeXBlKSxDLnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIscC5kYXRhVHlwZXNbMF0mJnAuYWNjZXB0c1twLmRhdGFUeXBlc1swXV0/cC5hY2NlcHRzW3AuZGF0YVR5cGVzWzBdXSsoIioiIT09cC5kYXRhVHlwZXNbMF0/IiwgIitEbisiOyBxPTAuMDEiOiIiKTpwLmFjY2VwdHNbIioiXSk7Zm9yKGkgaW4gcC5oZWFkZXJzKUMuc2V0UmVxdWVzdEhlYWRlcihpLHAuaGVhZGVyc1tpXSk7aWYocC5iZWZvcmVTZW5kJiYocC5iZWZvcmVTZW5kLmNhbGwoZixDLHApPT09ITF8fDI9PT1iKSlyZXR1cm4gQy5hYm9ydCgpO3c9ImFib3J0Ijtmb3IoaSBpbntzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSlDW2ldKHBbaV0pO2lmKHU9cW4oam4scCxuLEMpKXtDLnJlYWR5U3RhdGU9MSxsJiZkLnRyaWdnZXIoImFqYXhTZW5kIixbQyxwXSkscC5hc3luYyYmcC50aW1lb3V0PjAmJihzPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtDLmFib3J0KCJ0aW1lb3V0Iil9LHAudGltZW91dCkpO3RyeXtiPTEsdS5zZW5kKHksayl9Y2F0Y2goTil7aWYoISgyPmIpKXRocm93IE47aygtMSxOKX19ZWxzZSBrKC0xLCJObyBUcmFuc3BvcnQiKTtmdW5jdGlvbiBrKGUsbixyLGkpe3ZhciBjLHksdix3LFQsTj1uOzIhPT1iJiYoYj0yLHMmJmNsZWFyVGltZW91dChzKSx1PXQsYT1pfHwiIixDLnJlYWR5U3RhdGU9ZT4wPzQ6MCxjPWU+PTIwMCYmMzAwPmV8fDMwND09PWUsciYmKHc9TW4ocCxDLHIpKSx3PU9uKHAsdyxDLGMpLGM/KHAuaWZNb2RpZmllZCYmKFQ9Qy5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpLFQmJih4Lmxhc3RNb2RpZmllZFtvXT1UKSxUPUMuZ2V0UmVzcG9uc2VIZWFkZXIoImV0YWciKSxUJiYoeC5ldGFnW29dPVQpKSwyMDQ9PT1lfHwiSEVBRCI9PT1wLnR5cGU/Tj0ibm9jb250ZW50IjozMDQ9PT1lP049Im5vdG1vZGlmaWVkIjooTj13LnN0YXRlLHk9dy5kYXRhLHY9dy5lcnJvcixjPSF2KSk6KHY9TiwoZXx8IU4pJiYoTj0iZXJyb3IiLDA+ZSYmKGU9MCkpKSxDLnN0YXR1cz1lLEMuc3RhdHVzVGV4dD0obnx8TikrIiIsYz9oLnJlc29sdmVXaXRoKGYsW3ksTixDXSk6aC5yZWplY3RXaXRoKGYsW0MsTix2XSksQy5zdGF0dXNDb2RlKG0pLG09dCxsJiZkLnRyaWdnZXIoYz8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFtDLHAsYz95OnZdKSxnLmZpcmVXaXRoKGYsW0MsTl0pLGwmJihkLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW0MscF0pLC0teC5hY3RpdmV8fHguZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiBDfSxnZXRKU09OOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4geC5nZXQoZSx0LG4sImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIHguZ2V0KGUsdCxuLCJzY3JpcHQiKX19KSx4LmVhY2goWyJnZXQiLCJwb3N0Il0sZnVuY3Rpb24oZSxuKXt4W25dPWZ1bmN0aW9uKGUscixpLG8pe3JldHVybiB4LmlzRnVuY3Rpb24ocikmJihvPW98fGksaT1yLHI9dCkseC5hamF4KHt1cmw6ZSx0eXBlOm4sZGF0YVR5cGU6byxkYXRhOnIsc3VjY2VzczppfSl9fSk7ZnVuY3Rpb24gTW4oZSxuLHIpe3ZhciBpLG8sYSxzLGw9ZS5jb250ZW50cyx1PWUuZGF0YVR5cGVzO3doaWxlKCIqIj09PXVbMF0pdS5zaGlmdCgpLG89PT10JiYobz1lLm1pbWVUeXBlfHxuLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKSk7aWYobylmb3IocyBpbiBsKWlmKGxbc10mJmxbc10udGVzdChvKSl7dS51bnNoaWZ0KHMpO2JyZWFrfWlmKHVbMF1pbiByKWE9dVswXTtlbHNle2ZvcihzIGluIHIpe2lmKCF1WzBdfHxlLmNvbnZlcnRlcnNbcysiICIrdVswXV0pe2E9czticmVha31pfHwoaT1zKX1hPWF8fGl9cmV0dXJuIGE/KGEhPT11WzBdJiZ1LnVuc2hpZnQoYSksclthXSk6dH1mdW5jdGlvbiBPbihlLHQsbixyKXt2YXIgaSxvLGEscyxsLHU9e30sYz1lLmRhdGFUeXBlcy5zbGljZSgpO2lmKGNbMV0pZm9yKGEgaW4gZS5jb252ZXJ0ZXJzKXVbYS50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbYV07bz1jLnNoaWZ0KCk7d2hpbGUobylpZihlLnJlc3BvbnNlRmllbGRzW29dJiYobltlLnJlc3BvbnNlRmllbGRzW29dXT10KSwhbCYmciYmZS5kYXRhRmlsdGVyJiYodD1lLmRhdGFGaWx0ZXIodCxlLmRhdGFUeXBlKSksbD1vLG89Yy5zaGlmdCgpKWlmKCIqIj09PW8pbz1sO2Vsc2UgaWYoIioiIT09bCYmbCE9PW8pe2lmKGE9dVtsKyIgIitvXXx8dVsiKiAiK29dLCFhKWZvcihpIGluIHUpaWYocz1pLnNwbGl0KCIgIiksc1sxXT09PW8mJihhPXVbbCsiICIrc1swXV18fHVbIiogIitzWzBdXSkpe2E9PT0hMD9hPXVbaV06dVtpXSE9PSEwJiYobz1zWzBdLGMudW5zaGlmdChzWzFdKSk7YnJlYWt9aWYoYSE9PSEwKWlmKGEmJmVbInRocm93cyJdKXQ9YSh0KTtlbHNlIHRyeXt0PWEodCl9Y2F0Y2gocCl7cmV0dXJue3N0YXRlOiJwYXJzZXJlcnJvciIsZXJyb3I6YT9wOiJObyBjb252ZXJzaW9uIGZyb20gIitsKyIgdG8gIitvfX19cmV0dXJue3N0YXRlOiJzdWNjZXNzIixkYXRhOnR9fXguYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovKD86amF2YXxlY21hKXNjcmlwdC99LGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oZSl7cmV0dXJuIHguZ2xvYmFsRXZhbChlKSxlfX19KSx4LmFqYXhQcmVmaWx0ZXIoInNjcmlwdCIsZnVuY3Rpb24oZSl7ZS5jYWNoZT09PXQmJihlLmNhY2hlPSExKSxlLmNyb3NzRG9tYWluJiYoZS50eXBlPSJHRVQiLGUuZ2xvYmFsPSExKX0pLHguYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihlKXtpZihlLmNyb3NzRG9tYWluKXt2YXIgbixyPWEuaGVhZHx8eCgiaGVhZCIpWzBdfHxhLmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbih0LGkpe249YS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxuLmFzeW5jPSEwLGUuc2NyaXB0Q2hhcnNldCYmKG4uY2hhcnNldD1lLnNjcmlwdENoYXJzZXQpLG4uc3JjPWUudXJsLG4ub25sb2FkPW4ub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGUsdCl7KHR8fCFuLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3Qobi5yZWFkeVN0YXRlKSkmJihuLm9ubG9hZD1uLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLG4ucGFyZW50Tm9kZSYmbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pLG49bnVsbCx0fHxpKDIwMCwic3VjY2VzcyIpKX0sci5pbnNlcnRCZWZvcmUobixyLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe24mJm4ub25sb2FkKHQsITApfX19fSk7dmFyIEZuPVtdLEJuPS8oPSlcPyg/PSZ8JCl8XD9cPy87eC5hamF4U2V0dXAoe2pzb25wOiJjYWxsYmFjayIsanNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3ZhciBlPUZuLnBvcCgpfHx4LmV4cGFuZG8rIl8iK3ZuKys7cmV0dXJuIHRoaXNbZV09ITAsZX19KSx4LmFqYXhQcmVmaWx0ZXIoImpzb24ganNvbnAiLGZ1bmN0aW9uKG4scixpKXt2YXIgbyxhLHMsbD1uLmpzb25wIT09ITEmJihCbi50ZXN0KG4udXJsKT8idXJsIjoic3RyaW5nIj09dHlwZW9mIG4uZGF0YSYmIShuLmNvbnRlbnRUeXBlfHwiIikuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikmJkJuLnRlc3Qobi5kYXRhKSYmImRhdGEiKTtyZXR1cm4gbHx8Impzb25wIj09PW4uZGF0YVR5cGVzWzBdPyhvPW4uanNvbnBDYWxsYmFjaz14LmlzRnVuY3Rpb24obi5qc29ucENhbGxiYWNrKT9uLmpzb25wQ2FsbGJhY2soKTpuLmpzb25wQ2FsbGJhY2ssbD9uW2xdPW5bbF0ucmVwbGFjZShCbiwiJDEiK28pOm4uanNvbnAhPT0hMSYmKG4udXJsKz0oYm4udGVzdChuLnVybCk/IiYiOiI/Iikrbi5qc29ucCsiPSIrbyksbi5jb252ZXJ0ZXJzWyJzY3JpcHQganNvbiJdPWZ1bmN0aW9uKCl7cmV0dXJuIHN8fHguZXJyb3IobysiIHdhcyBub3QgY2FsbGVkIiksc1swXX0sbi5kYXRhVHlwZXNbMF09Impzb24iLGE9ZVtvXSxlW29dPWZ1bmN0aW9uKCl7cz1hcmd1bWVudHN9LGkuYWx3YXlzKGZ1bmN0aW9uKCl7ZVtvXT1hLG5bb10mJihuLmpzb25wQ2FsbGJhY2s9ci5qc29ucENhbGxiYWNrLEZuLnB1c2gobykpLHMmJnguaXNGdW5jdGlvbihhKSYmYShzWzBdKSxzPWE9dH0pLCJzY3JpcHQiKTp0fSk7dmFyIFBuLFJuLFduPTAsJG49ZS5BY3RpdmVYT2JqZWN0JiZmdW5jdGlvbigpe3ZhciBlO2ZvcihlIGluIFBuKVBuW2VdKHQsITApfTtmdW5jdGlvbiBJbigpe3RyeXtyZXR1cm4gbmV3IGUuWE1MSHR0cFJlcXVlc3R9Y2F0Y2godCl7fX1mdW5jdGlvbiB6bigpe3RyeXtyZXR1cm4gbmV3IGUuQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKX1jYXRjaCh0KXt9fXguYWpheFNldHRpbmdzLnhocj1lLkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0xvY2FsJiZJbigpfHx6bigpfTpJbixSbj14LmFqYXhTZXR0aW5ncy54aHIoKSx4LnN1cHBvcnQuY29ycz0hIVJuJiYid2l0aENyZWRlbnRpYWxzImluIFJuLFJuPXguc3VwcG9ydC5hamF4PSEhUm4sUm4mJnguYWpheFRyYW5zcG9ydChmdW5jdGlvbihuKXtpZighbi5jcm9zc0RvbWFpbnx8eC5zdXBwb3J0LmNvcnMpe3ZhciByO3JldHVybntzZW5kOmZ1bmN0aW9uKGksbyl7dmFyIGEscyxsPW4ueGhyKCk7aWYobi51c2VybmFtZT9sLm9wZW4obi50eXBlLG4udXJsLG4uYXN5bmMsbi51c2VybmFtZSxuLnBhc3N3b3JkKTpsLm9wZW4obi50eXBlLG4udXJsLG4uYXN5bmMpLG4ueGhyRmllbGRzKWZvcihzIGluIG4ueGhyRmllbGRzKWxbc109bi54aHJGaWVsZHNbc107bi5taW1lVHlwZSYmbC5vdmVycmlkZU1pbWVUeXBlJiZsLm92ZXJyaWRlTWltZVR5cGUobi5taW1lVHlwZSksbi5jcm9zc0RvbWFpbnx8aVsiWC1SZXF1ZXN0ZWQtV2l0aCJdfHwoaVsiWC1SZXF1ZXN0ZWQtV2l0aCJdPSJYTUxIdHRwUmVxdWVzdCIpO3RyeXtmb3IocyBpbiBpKWwuc2V0UmVxdWVzdEhlYWRlcihzLGlbc10pfWNhdGNoKHUpe31sLnNlbmQobi5oYXNDb250ZW50JiZuLmRhdGF8fG51bGwpLHI9ZnVuY3Rpb24oZSxpKXt2YXIgcyx1LGMscDt0cnl7aWYociYmKGl8fDQ9PT1sLnJlYWR5U3RhdGUpKWlmKHI9dCxhJiYobC5vbnJlYWR5c3RhdGVjaGFuZ2U9eC5ub29wLCRuJiZkZWxldGUgUG5bYV0pLGkpNCE9PWwucmVhZHlTdGF0ZSYmbC5hYm9ydCgpO2Vsc2V7cD17fSxzPWwuc3RhdHVzLHU9bC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSwic3RyaW5nIj09dHlwZW9mIGwucmVzcG9uc2VUZXh0JiYocC50ZXh0PWwucmVzcG9uc2VUZXh0KTt0cnl7Yz1sLnN0YXR1c1RleHR9Y2F0Y2goZil7Yz0iIn1zfHwhbi5pc0xvY2FsfHxuLmNyb3NzRG9tYWluPzEyMjM9PT1zJiYocz0yMDQpOnM9cC50ZXh0PzIwMDo0MDR9fWNhdGNoKGQpe2l8fG8oLTEsZCl9cCYmbyhzLGMscCx1KX0sbi5hc3luYz80PT09bC5yZWFkeVN0YXRlP3NldFRpbWVvdXQocik6KGE9KytXbiwkbiYmKFBufHwoUG49e30seChlKS51bmxvYWQoJG4pKSxQblthXT1yKSxsLm9ucmVhZHlzdGF0ZWNoYW5nZT1yKTpyKCl9LGFib3J0OmZ1bmN0aW9uKCl7ciYmcih0LCEwKX19fX0pO3ZhciBYbixVbixWbj0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sWW49UmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrdysiKShbYS16JV0qKSQiLCJpIiksSm49L3F1ZXVlSG9va3MkLyxHbj1bbnJdLFFuPXsiKiI6W2Z1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5jcmVhdGVUd2VlbihlLHQpLHI9bi5jdXIoKSxpPVluLmV4ZWModCksbz1pJiZpWzNdfHwoeC5jc3NOdW1iZXJbZV0/IiI6InB4IiksYT0oeC5jc3NOdW1iZXJbZV18fCJweCIhPT1vJiYrcikmJlluLmV4ZWMoeC5jc3Mobi5lbGVtLGUpKSxzPTEsbD0yMDtpZihhJiZhWzNdIT09byl7bz1vfHxhWzNdLGk9aXx8W10sYT0rcnx8MTtkbyBzPXN8fCIuNSIsYS89cyx4LnN0eWxlKG4uZWxlbSxlLGErbyk7d2hpbGUocyE9PShzPW4uY3VyKCkvcikmJjEhPT1zJiYtLWwpfXJldHVybiBpJiYoYT1uLnN0YXJ0PSthfHwrcnx8MCxuLnVuaXQ9byxuLmVuZD1pWzFdP2ErKGlbMV0rMSkqaVsyXToraVsyXSksbn1dfTtmdW5jdGlvbiBLbigpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7WG49dH0pLFhuPXgubm93KCl9ZnVuY3Rpb24gWm4oZSx0LG4pe3ZhciByLGk9KFFuW3RdfHxbXSkuY29uY2F0KFFuWyIqIl0pLG89MCxhPWkubGVuZ3RoO2Zvcig7YT5vO28rKylpZihyPWlbb10uY2FsbChuLHQsZSkpcmV0dXJuIHJ9ZnVuY3Rpb24gZXIoZSx0LG4pe3ZhciByLGksbz0wLGE9R24ubGVuZ3RoLHM9eC5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBsLmVsZW19KSxsPWZ1bmN0aW9uKCl7aWYoaSlyZXR1cm4hMTt2YXIgdD1Ybnx8S24oKSxuPU1hdGgubWF4KDAsdS5zdGFydFRpbWUrdS5kdXJhdGlvbi10KSxyPW4vdS5kdXJhdGlvbnx8MCxvPTEtcixhPTAsbD11LnR3ZWVucy5sZW5ndGg7Zm9yKDtsPmE7YSsrKXUudHdlZW5zW2FdLnJ1bihvKTtyZXR1cm4gcy5ub3RpZnlXaXRoKGUsW3UsbyxuXSksMT5vJiZsP246KHMucmVzb2x2ZVdpdGgoZSxbdV0pLCExKX0sdT1zLnByb21pc2Uoe2VsZW06ZSxwcm9wczp4LmV4dGVuZCh7fSx0KSxvcHRzOnguZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9fSxuKSxvcmlnaW5hbFByb3BlcnRpZXM6dCxvcmlnaW5hbE9wdGlvbnM6bixzdGFydFRpbWU6WG58fEtuKCksZHVyYXRpb246bi5kdXJhdGlvbix0d2VlbnM6W10sY3JlYXRlVHdlZW46ZnVuY3Rpb24odCxuKXt2YXIgcj14LlR3ZWVuKGUsdS5vcHRzLHQsbix1Lm9wdHMuc3BlY2lhbEVhc2luZ1t0XXx8dS5vcHRzLmVhc2luZyk7cmV0dXJuIHUudHdlZW5zLnB1c2gocikscn0sc3RvcDpmdW5jdGlvbih0KXt2YXIgbj0wLHI9dD91LnR3ZWVucy5sZW5ndGg6MDtpZihpKXJldHVybiB0aGlzO2ZvcihpPSEwO3I+bjtuKyspdS50d2VlbnNbbl0ucnVuKDEpO3JldHVybiB0P3MucmVzb2x2ZVdpdGgoZSxbdSx0XSk6cy5yZWplY3RXaXRoKGUsW3UsdF0pLHRoaXN9fSksYz11LnByb3BzO2Zvcih0cihjLHUub3B0cy5zcGVjaWFsRWFzaW5nKTthPm87bysrKWlmKHI9R25bb10uY2FsbCh1LGUsYyx1Lm9wdHMpKXJldHVybiByO3JldHVybiB4Lm1hcChjLFpuLHUpLHguaXNGdW5jdGlvbih1Lm9wdHMuc3RhcnQpJiZ1Lm9wdHMuc3RhcnQuY2FsbChlLHUpLHguZngudGltZXIoeC5leHRlbmQobCx7ZWxlbTplLGFuaW06dSxxdWV1ZTp1Lm9wdHMucXVldWV9KSksdS5wcm9ncmVzcyh1Lm9wdHMucHJvZ3Jlc3MpLmRvbmUodS5vcHRzLmRvbmUsdS5vcHRzLmNvbXBsZXRlKS5mYWlsKHUub3B0cy5mYWlsKS5hbHdheXModS5vcHRzLmFsd2F5cyl9ZnVuY3Rpb24gdHIoZSx0KXt2YXIgbixyLGksbyxhO2ZvcihuIGluIGUpaWYocj14LmNhbWVsQ2FzZShuKSxpPXRbcl0sbz1lW25dLHguaXNBcnJheShvKSYmKGk9b1sxXSxvPWVbbl09b1swXSksbiE9PXImJihlW3JdPW8sZGVsZXRlIGVbbl0pLGE9eC5jc3NIb29rc1tyXSxhJiYiZXhwYW5kImluIGEpe289YS5leHBhbmQobyksZGVsZXRlIGVbcl07Zm9yKG4gaW4gbyluIGluIGV8fChlW25dPW9bbl0sdFtuXT1pKX1lbHNlIHRbcl09aX14LkFuaW1hdGlvbj14LmV4dGVuZChlcix7dHdlZW5lcjpmdW5jdGlvbihlLHQpe3guaXNGdW5jdGlvbihlKT8odD1lLGU9WyIqIl0pOmU9ZS5zcGxpdCgiICIpO3ZhciBuLHI9MCxpPWUubGVuZ3RoO2Zvcig7aT5yO3IrKyluPWVbcl0sUW5bbl09UW5bbl18fFtdLFFuW25dLnVuc2hpZnQodCl9LHByZWZpbHRlcjpmdW5jdGlvbihlLHQpe3Q/R24udW5zaGlmdChlKTpHbi5wdXNoKGUpfX0pO2Z1bmN0aW9uIG5yKGUsdCxuKXt2YXIgcixpLG8sYSxzLGwsdT10aGlzLGM9e30scD1lLnN0eWxlLGY9ZS5ub2RlVHlwZSYmbm4oZSksZD14Ll9kYXRhKGUsImZ4c2hvdyIpO24ucXVldWV8fChzPXguX3F1ZXVlSG9va3MoZSwiZngiKSxudWxsPT1zLnVucXVldWVkJiYocy51bnF1ZXVlZD0wLGw9cy5lbXB0eS5maXJlLHMuZW1wdHkuZmlyZT1mdW5jdGlvbigpe3MudW5xdWV1ZWR8fGwoKX0pLHMudW5xdWV1ZWQrKyx1LmFsd2F5cyhmdW5jdGlvbigpe3UuYWx3YXlzKGZ1bmN0aW9uKCl7cy51bnF1ZXVlZC0tLHgucXVldWUoZSwiZngiKS5sZW5ndGh8fHMuZW1wdHkuZmlyZSgpfSl9KSksMT09PWUubm9kZVR5cGUmJigiaGVpZ2h0ImluIHR8fCJ3aWR0aCJpbiB0KSYmKG4ub3ZlcmZsb3c9W3Aub3ZlcmZsb3cscC5vdmVyZmxvd1gscC5vdmVyZmxvd1ldLCJpbmxpbmUiPT09eC5jc3MoZSwiZGlzcGxheSIpJiYibm9uZSI9PT14LmNzcyhlLCJmbG9hdCIpJiYoeC5zdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09bG4oZS5ub2RlTmFtZSk/cC56b29tPTE6cC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksbi5vdmVyZmxvdyYmKHAub3ZlcmZsb3c9ImhpZGRlbiIseC5zdXBwb3J0LnNocmlua1dyYXBCbG9ja3N8fHUuYWx3YXlzKGZ1bmN0aW9uKCl7cC5vdmVyZmxvdz1uLm92ZXJmbG93WzBdLHAub3ZlcmZsb3dYPW4ub3ZlcmZsb3dbMV0scC5vdmVyZmxvd1k9bi5vdmVyZmxvd1syXX0pKTtmb3IociBpbiB0KWlmKGk9dFtyXSxWbi5leGVjKGkpKXtpZihkZWxldGUgdFtyXSxvPW98fCJ0b2dnbGUiPT09aSxpPT09KGY/ImhpZGUiOiJzaG93IikpY29udGludWU7Y1tyXT1kJiZkW3JdfHx4LnN0eWxlKGUscil9aWYoIXguaXNFbXB0eU9iamVjdChjKSl7ZD8iaGlkZGVuImluIGQmJihmPWQuaGlkZGVuKTpkPXguX2RhdGEoZSwiZnhzaG93Iix7fSksbyYmKGQuaGlkZGVuPSFmKSxmP3goZSkuc2hvdygpOnUuZG9uZShmdW5jdGlvbigpe3goZSkuaGlkZSgpfSksdS5kb25lKGZ1bmN0aW9uKCl7dmFyIHQ7eC5fcmVtb3ZlRGF0YShlLCJmeHNob3ciKTtmb3IodCBpbiBjKXguc3R5bGUoZSx0LGNbdF0pfSk7Zm9yKHIgaW4gYylhPVpuKGY/ZFtyXTowLHIsdSksciBpbiBkfHwoZFtyXT1hLnN0YXJ0LGYmJihhLmVuZD1hLnN0YXJ0LGEuc3RhcnQ9IndpZHRoIj09PXJ8fCJoZWlnaHQiPT09cj8xOjApKX19ZnVuY3Rpb24gcnIoZSx0LG4scixpKXtyZXR1cm4gbmV3IHJyLnByb3RvdHlwZS5pbml0KGUsdCxuLHIsaSl9eC5Ud2Vlbj1ycixyci5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOnJyLGluaXQ6ZnVuY3Rpb24oZSx0LG4scixpLG8pe3RoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHRoaXMuZWFzaW5nPWl8fCJzd2luZyIsdGhpcy5vcHRpb25zPXQsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPXIsdGhpcy51bml0PW98fCh4LmNzc051bWJlcltuXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGU9cnIucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGUmJmUuZ2V0P2UuZ2V0KHRoaXMpOnJyLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihlKXt2YXIgdCxuPXJyLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLnBvcz10PXRoaXMub3B0aW9ucy5kdXJhdGlvbj94LmVhc2luZ1t0aGlzLmVhc2luZ10oZSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qZSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTplLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0K3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLG4mJm4uc2V0P24uc2V0KHRoaXMpOnJyLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LHJyLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1yci5wcm90b3R5cGUscnIucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBudWxsPT1lLmVsZW1bZS5wcm9wXXx8ZS5lbGVtLnN0eWxlJiZudWxsIT1lLmVsZW0uc3R5bGVbZS5wcm9wXT8odD14LmNzcyhlLmVsZW0sZS5wcm9wLCIiKSx0JiYiYXV0byIhPT10P3Q6MCk6ZS5lbGVtW2UucHJvcF19LHNldDpmdW5jdGlvbihlKXt4LmZ4LnN0ZXBbZS5wcm9wXT94LmZ4LnN0ZXBbZS5wcm9wXShlKTplLmVsZW0uc3R5bGUmJihudWxsIT1lLmVsZW0uc3R5bGVbeC5jc3NQcm9wc1tlLnByb3BdXXx8eC5jc3NIb29rc1tlLnByb3BdKT94LnN0eWxlKGUuZWxlbSxlLnByb3AsZS5ub3crZS51bml0KTplLmVsZW1bZS5wcm9wXT1lLm5vd319fSxyci5wcm9wSG9va3Muc2Nyb2xsVG9wPXJyLnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oZSl7ZS5lbGVtLm5vZGVUeXBlJiZlLmVsZW0ucGFyZW50Tm9kZSYmKGUuZWxlbVtlLnByb3BdPWUubm93KX19LHguZWFjaChbInRvZ2dsZSIsInNob3ciLCJoaWRlIl0sZnVuY3Rpb24oZSx0KXt2YXIgbj14LmZuW3RdO3guZm5bdF09ZnVuY3Rpb24oZSxyLGkpe3JldHVybiBudWxsPT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlP24uYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYW5pbWF0ZShpcih0LCEwKSxlLHIsaSl9fSkseC5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5maWx0ZXIobm4pLmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6dH0sZSxuLHIpfSxhbmltYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPXguaXNFbXB0eU9iamVjdChlKSxvPXguc3BlZWQodCxuLHIpLGE9ZnVuY3Rpb24oKXt2YXIgdD1lcih0aGlzLHguZXh0ZW5kKHt9LGUpLG8pOyhpfHx4Ll9kYXRhKHRoaXMsImZpbmlzaCIpKSYmdC5zdG9wKCEwKX07cmV0dXJuIGEuZmluaXNoPWEsaXx8by5xdWV1ZT09PSExP3RoaXMuZWFjaChhKTp0aGlzLnF1ZXVlKG8ucXVldWUsYSl9LHN0b3A6ZnVuY3Rpb24oZSxuLHIpe3ZhciBpPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RvcDtkZWxldGUgZS5zdG9wLHQocil9O3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKHI9bixuPWUsZT10KSxuJiZlIT09ITEmJnRoaXMucXVldWUoZXx8ImZ4IixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ITAsbj1udWxsIT1lJiZlKyJxdWV1ZUhvb2tzIixvPXgudGltZXJzLGE9eC5fZGF0YSh0aGlzKTtpZihuKWFbbl0mJmFbbl0uc3RvcCYmaShhW25dKTtlbHNlIGZvcihuIGluIGEpYVtuXSYmYVtuXS5zdG9wJiZKbi50ZXN0KG4pJiZpKGFbbl0pO2ZvcihuPW8ubGVuZ3RoO24tLTspb1tuXS5lbGVtIT09dGhpc3x8bnVsbCE9ZSYmb1tuXS5xdWV1ZSE9PWV8fChvW25dLmFuaW0uc3RvcChyKSx0PSExLG8uc3BsaWNlKG4sMSkpOyh0fHwhcikmJnguZGVxdWV1ZSh0aGlzLGUpfSl9LGZpbmlzaDpmdW5jdGlvbihlKXtyZXR1cm4gZSE9PSExJiYoZT1lfHwiZngiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdCxuPXguX2RhdGEodGhpcykscj1uW2UrInF1ZXVlIl0saT1uW2UrInF1ZXVlSG9va3MiXSxvPXgudGltZXJzLGE9cj9yLmxlbmd0aDowO2ZvcihuLmZpbmlzaD0hMCx4LnF1ZXVlKHRoaXMsZSxbXSksaSYmaS5zdG9wJiZpLnN0b3AuY2FsbCh0aGlzLCEwKSx0PW8ubGVuZ3RoO3QtLTspb1t0XS5lbGVtPT09dGhpcyYmb1t0XS5xdWV1ZT09PWUmJihvW3RdLmFuaW0uc3RvcCghMCksby5zcGxpY2UodCwxKSk7Zm9yKHQ9MDthPnQ7dCsrKXJbdF0mJnJbdF0uZmluaXNoJiZyW3RdLmZpbmlzaC5jYWxsKHRoaXMpO2RlbGV0ZSBuLmZpbmlzaH0pfX0pO2Z1bmN0aW9uIGlyKGUsdCl7dmFyIG4scj17aGVpZ2h0OmV9LGk9MDtmb3IodD10PzE6MDs0Pmk7aSs9Mi10KW49WnRbaV0sclsibWFyZ2luIituXT1yWyJwYWRkaW5nIituXT1lO3JldHVybiB0JiYoci5vcGFjaXR5PXIud2lkdGg9ZSkscn14LmVhY2goe3NsaWRlRG93bjppcigic2hvdyIpLHNsaWRlVXA6aXIoImhpZGUiKSxzbGlkZVRvZ2dsZTppcigidG9nZ2xlIiksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihlLHQpe3guZm5bZV09ZnVuY3Rpb24oZSxuLHIpe3JldHVybiB0aGlzLmFuaW1hdGUodCxlLG4scil9fSkseC5zcGVlZD1mdW5jdGlvbihlLHQsbil7dmFyIHI9ZSYmIm9iamVjdCI9PXR5cGVvZiBlP3guZXh0ZW5kKHt9LGUpOntjb21wbGV0ZTpufHwhbiYmdHx8eC5pc0Z1bmN0aW9uKGUpJiZlLGR1cmF0aW9uOmUsZWFzaW5nOm4mJnR8fHQmJiF4LmlzRnVuY3Rpb24odCkmJnR9O3JldHVybiByLmR1cmF0aW9uPXguZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiByLmR1cmF0aW9uP3IuZHVyYXRpb246ci5kdXJhdGlvbiBpbiB4LmZ4LnNwZWVkcz94LmZ4LnNwZWVkc1tyLmR1cmF0aW9uXTp4LmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09ci5xdWV1ZXx8ci5xdWV1ZT09PSEwKSYmKHIucXVldWU9ImZ4Iiksci5vbGQ9ci5jb21wbGV0ZSxyLmNvbXBsZXRlPWZ1bmN0aW9uKCl7eC5pc0Z1bmN0aW9uKHIub2xkKSYmci5vbGQuY2FsbCh0aGlzKSxyLnF1ZXVlJiZ4LmRlcXVldWUodGhpcyxyLnF1ZXVlKX0scn0seC5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihlKXtyZXR1cm4gZX0sc3dpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuLjUtTWF0aC5jb3MoZSpNYXRoLlBJKS8yfX0seC50aW1lcnM9W10seC5meD1yci5wcm90b3R5cGUuaW5pdCx4LmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgZSxuPXgudGltZXJzLHI9MDtmb3IoWG49eC5ub3coKTtuLmxlbmd0aD5yO3IrKyllPW5bcl0sZSgpfHxuW3JdIT09ZXx8bi5zcGxpY2Uoci0tLDEpO24ubGVuZ3RofHx4LmZ4LnN0b3AoKSxYbj10fSx4LmZ4LnRpbWVyPWZ1bmN0aW9uKGUpe2UoKSYmeC50aW1lcnMucHVzaChlKSYmeC5meC5zdGFydCgpfSx4LmZ4LmludGVydmFsPTEzLHguZnguc3RhcnQ9ZnVuY3Rpb24oKXtVbnx8KFVuPXNldEludGVydmFsKHguZngudGljayx4LmZ4LmludGVydmFsKSl9LHguZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoVW4pLFVuPW51bGx9LHguZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LHguZnguc3RlcD17fSx4LmV4cHImJnguZXhwci5maWx0ZXJzJiYoeC5leHByLmZpbHRlcnMuYW5pbWF0ZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHguZ3JlcCh4LnRpbWVycyxmdW5jdGlvbih0KXtyZXR1cm4gZT09PXQuZWxlbX0pLmxlbmd0aH0pLHguZm4ub2Zmc2V0PWZ1bmN0aW9uKGUpe2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGU9PT10P3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3gub2Zmc2V0LnNldE9mZnNldCh0aGlzLGUsdCl9KTt2YXIgbixyLG89e3RvcDowLGxlZnQ6MH0sYT10aGlzWzBdLHM9YSYmYS5vd25lckRvY3VtZW50O2lmKHMpcmV0dXJuIG49cy5kb2N1bWVudEVsZW1lbnQseC5jb250YWlucyhuLGEpPyh0eXBlb2YgYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QhPT1pJiYobz1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxyPW9yKHMpLHt0b3A6by50b3ArKHIucGFnZVlPZmZzZXR8fG4uc2Nyb2xsVG9wKS0obi5jbGllbnRUb3B8fDApLGxlZnQ6by5sZWZ0KyhyLnBhZ2VYT2Zmc2V0fHxuLnNjcm9sbExlZnQpLShuLmNsaWVudExlZnR8fDApfSk6b30seC5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihlLHQsbil7dmFyIHI9eC5jc3MoZSwicG9zaXRpb24iKTsic3RhdGljIj09PXImJihlLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIpO3ZhciBpPXgoZSksbz1pLm9mZnNldCgpLGE9eC5jc3MoZSwidG9wIikscz14LmNzcyhlLCJsZWZ0IiksbD0oImFic29sdXRlIj09PXJ8fCJmaXhlZCI9PT1yKSYmeC5pbkFycmF5KCJhdXRvIixbYSxzXSk+LTEsdT17fSxjPXt9LHAsZjtsPyhjPWkucG9zaXRpb24oKSxwPWMudG9wLGY9Yy5sZWZ0KToocD1wYXJzZUZsb2F0KGEpfHwwLGY9cGFyc2VGbG9hdChzKXx8MCkseC5pc0Z1bmN0aW9uKHQpJiYodD10LmNhbGwoZSxuLG8pKSxudWxsIT10LnRvcCYmKHUudG9wPXQudG9wLW8udG9wK3ApLG51bGwhPXQubGVmdCYmKHUubGVmdD10LmxlZnQtby5sZWZ0K2YpLCJ1c2luZyJpbiB0P3QudXNpbmcuY2FsbChlLHUpOmkuY3NzKHUpfX0seC5mbi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGUsdCxuPXt0b3A6MCxsZWZ0OjB9LHI9dGhpc1swXTtyZXR1cm4iZml4ZWQiPT09eC5jc3MociwicG9zaXRpb24iKT90PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KGU9dGhpcy5vZmZzZXRQYXJlbnQoKSx0PXRoaXMub2Zmc2V0KCkseC5ub2RlTmFtZShlWzBdLCJodG1sIil8fChuPWUub2Zmc2V0KCkpLG4udG9wKz14LmNzcyhlWzBdLCJib3JkZXJUb3BXaWR0aCIsITApLG4ubGVmdCs9eC5jc3MoZVswXSwiYm9yZGVyTGVmdFdpZHRoIiwhMCkpLHt0b3A6dC50b3Atbi50b3AteC5jc3MociwibWFyZ2luVG9wIiwhMCksbGVmdDp0LmxlZnQtbi5sZWZ0LXguY3NzKHIsIm1hcmdpbkxlZnQiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9mZnNldFBhcmVudHx8czt3aGlsZShlJiYheC5ub2RlTmFtZShlLCJodG1sIikmJiJzdGF0aWMiPT09eC5jc3MoZSwicG9zaXRpb24iKSllPWUub2Zmc2V0UGFyZW50O3JldHVybiBlfHxzfSl9fSkseC5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKGUsbil7dmFyIHI9L1kvLnRlc3Qobik7eC5mbltlXT1mdW5jdGlvbihpKXtyZXR1cm4geC5hY2Nlc3ModGhpcyxmdW5jdGlvbihlLGksbyl7dmFyIGE9b3IoZSk7cmV0dXJuIG89PT10P2E/biBpbiBhP2Fbbl06YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbaV06ZVtpXTooYT9hLnNjcm9sbFRvKHI/eChhKS5zY3JvbGxMZWZ0KCk6byxyP286eChhKS5zY3JvbGxUb3AoKSk6ZVtpXT1vLHQpfSxlLGksYXJndW1lbnRzLmxlbmd0aCxudWxsKX19KTtmdW5jdGlvbiBvcihlKXtyZXR1cm4geC5pc1dpbmRvdyhlKT9lOjk9PT1lLm5vZGVUeXBlP2UuZGVmYXVsdFZpZXd8fGUucGFyZW50V2luZG93OiExfXguZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LGZ1bmN0aW9uKGUsbil7eC5lYWNoKHtwYWRkaW5nOiJpbm5lciIrZSxjb250ZW50Om4sIiI6Im91dGVyIitlfSxmdW5jdGlvbihyLGkpe3guZm5baV09ZnVuY3Rpb24oaSxvKXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoJiYocnx8ImJvb2xlYW4iIT10eXBlb2YgaSkscz1yfHwoaT09PSEwfHxvPT09ITA/Im1hcmdpbiI6ImJvcmRlciIpO3JldHVybiB4LmFjY2Vzcyh0aGlzLGZ1bmN0aW9uKG4scixpKXt2YXIgbztyZXR1cm4geC5pc1dpbmRvdyhuKT9uLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IitlXTo5PT09bi5ub2RlVHlwZT8obz1uLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChuLmJvZHlbInNjcm9sbCIrZV0sb1sic2Nyb2xsIitlXSxuLmJvZHlbIm9mZnNldCIrZV0sb1sib2Zmc2V0IitlXSxvWyJjbGllbnQiK2VdKSk6aT09PXQ/eC5jc3MobixyLHMpOnguc3R5bGUobixyLGkscyl9LG4sYT9pOnQsYSxudWxsKX19KX0pLHguZm4uc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0seC5mbi5hbmRTZWxmPXguZm4uYWRkQmFjaywib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPXg6KGUualF1ZXJ5PWUuJD14LCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQmJmRlZmluZSgianF1ZXJ5IixbXSxmdW5jdGlvbigpe3JldHVybiB4fSkpfSkod2luZG93KTsNCg==]]></data>
	</file>
	<file>
	  <filename>/scripts/jquery/jquery.mousewheel-3.0.6.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIENvcHlyaWdodCAoYykgMjAxMSBCcmFuZG9uIEFhcm9uIChodHRwOi8vYnJhbmRvbmFhcm9uLm5ldCkNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAoTElDRU5TRS50eHQpLg0KICoNCiAqIFRoYW5rcyB0bzogaHR0cDovL2Fkb21hcy5vcmcvamF2YXNjcmlwdC1tb3VzZS13aGVlbC8gZm9yIHNvbWUgcG9pbnRlcnMuDQogKiBUaGFua3MgdG86IE1hdGhpYXMgQmFuayhodHRwOi8vd3d3Lm1hdGhpYXMtYmFuay5kZSkgZm9yIGEgc2NvcGUgYnVnIGZpeC4NCiAqIFRoYW5rcyB0bzogU2VhbXVzIExlYWh5IGZvciBhZGRpbmcgZGVsdGFYIGFuZCBkZWx0YVkNCiAqDQogKiBWZXJzaW9uOiAzLjAuNg0KICogDQogKiBSZXF1aXJlczogMS4yLjIrDQogKi8NCihmdW5jdGlvbihkKXtmdW5jdGlvbiBlKGEpe3ZhciBiPWF8fHdpbmRvdy5ldmVudCxjPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGY9MCxlPTAsZz0wLGE9ZC5ldmVudC5maXgoYik7YS50eXBlPSJtb3VzZXdoZWVsIjtiLndoZWVsRGVsdGEmJihmPWIud2hlZWxEZWx0YS8xMjApO2IuZGV0YWlsJiYoZj0tYi5kZXRhaWwvMyk7Zz1mO2IuYXhpcyE9PXZvaWQgMCYmYi5heGlzPT09Yi5IT1JJWk9OVEFMX0FYSVMmJihnPTAsZT0tMSpmKTtiLndoZWVsRGVsdGFZIT09dm9pZCAwJiYoZz1iLndoZWVsRGVsdGFZLzEyMCk7Yi53aGVlbERlbHRhWCE9PXZvaWQgMCYmKGU9LTEqYi53aGVlbERlbHRhWC8xMjApO2MudW5zaGlmdChhLGYsZSxnKTtyZXR1cm4oZC5ldmVudC5kaXNwYXRjaHx8ZC5ldmVudC5oYW5kbGUpLmFwcGx5KHRoaXMsYyl9dmFyIGM9WyJET01Nb3VzZVNjcm9sbCIsIm1vdXNld2hlZWwiXTtpZihkLmV2ZW50LmZpeEhvb2tzKWZvcih2YXIgaD1jLmxlbmd0aDtoOylkLmV2ZW50LmZpeEhvb2tzW2NbLS1oXV09DQpkLmV2ZW50Lm1vdXNlSG9va3M7ZC5ldmVudC5zcGVjaWFsLm1vdXNld2hlZWw9e3NldHVwOmZ1bmN0aW9uKCl7aWYodGhpcy5hZGRFdmVudExpc3RlbmVyKWZvcih2YXIgYT1jLmxlbmd0aDthOyl0aGlzLmFkZEV2ZW50TGlzdGVuZXIoY1stLWFdLGUsZmFsc2UpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9ZX0sdGVhcmRvd246ZnVuY3Rpb24oKXtpZih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpZm9yKHZhciBhPWMubGVuZ3RoO2E7KXRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihjWy0tYV0sZSxmYWxzZSk7ZWxzZSB0aGlzLm9ubW91c2V3aGVlbD1udWxsfX07ZC5mbi5leHRlbmQoe21vdXNld2hlZWw6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/dGhpcy5iaW5kKCJtb3VzZXdoZWVsIixhKTp0aGlzLnRyaWdnZXIoIm1vdXNld2hlZWwiKX0sdW5tb3VzZXdoZWVsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnVuYmluZCgibW91c2V3aGVlbCIsYSl9fSl9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlPg0KDQouYm94ew0KCWJvcmRlcjoxcHggc29saWQgIzAwMDsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDOw0KCXBhZGRpbmc6IDEwcHg7DQoJYm9yZGVyLXJhZGl1czogNXB4Ow0KCW1hcmdpbi1ib3R0b206IDVweDsgDQp9DQoNCi5ib3hXew0KCXBhZGRpbmc6IDEwcHg7DQoJbWFyZ2luLWJvdHRvbTogNXB4OyANCn0NCg0KLmJveCBoMnsNCgltYXJnaW4tdG9wOiAwOw0KfQ0KDQouYm94IHB7DQoJbWFyZ2luOiAxMHB4IDA7DQp9DQoNCi5jaG9pY2V7DQoJY29sb3I6ICM2NjY7DQoJbWFyZ2luLWxlZnQ6IDIwcHg7DQp9DQouY2hvaWNlOmJlZm9yZXsNCg0KfQ0KDQouaDJlcnJvcnsNCgljb2xvcjojRkYwMDAwOw0KfQ0KDQo8L3N0eWxlPg0KDQoNCntpZiAhJGhhc19hc3NldH08aDIgY2xhc3M9J2gyZXJyb3InPkZvdW5kYXRpb24ncyBQYWNrYWdlIG5vdCBmb3VuZDwvaDI+PHA+SXQgc2VlbXMgdGhhdCB5b3UgZG9uJ3QgaGF2ZSBpbnN0YWxsZWQgdGhlIGZvdW5kYXRpb24gcGFja2FnZSBpbnRvIHRoZSBkaXJlY3RvcnkgL3VwbG9hZHMuIFRoZXNlIGZpbGVzIGFyZSByZXF1aXJlZCB0byB0aGUgbW9kdWxlLiBZb3UgY2FuIGRvd25sb2FkIHRoZW0gb24gdGhlIDxhIGhyZWY9J3skYXNzZXRfbGlua30nPnBhZ2Ugb2YgdGhlIHByb2plY3Q8L2E+PC9wPnsvaWZ9DQoNCntpZiAkX1Zpc2libGVUb1VzZXJ9DQp7dGFiX2hlYWRlciBuYW1lPSd0YWIxJyBsYWJlbD0nQ3VzdG9taXplIHlvdXIgd2lraSd9DQp7dGFiX2hlYWRlciBuYW1lPSd0YWIyJyBsYWJlbD0nQ3VzdG9taXplIHRoZSBsYW5ncyd9DQp7dGFiX2hlYWRlciBuYW1lPSd0YWIzJyBsYWJlbD0nU2V0IHRoZSBBY2Nlc3MnfQ0Key9pZn0NCntpZiAkX1Zpc2libGVUb0FkbWlufQ0Ke3RhYl9oZWFkZXIgbmFtZT0ndGFiNCcgbGFiZWw9J1Jlc2V0IHRoZSBXaWtpJ30NCnsvaWZ9DQoNCg0Ke2lmICRfVmlzaWJsZVRvVXNlcn0NCnt0YWJfc3RhcnQgbmFtZT0ndGFiMSd9DQoNCntmb3JtX3N0YXJ0IGFjdGlvbj0iYWRtaW5fc2F2ZSJ9DQo8ZGl2IGNsYXNzPSdib3gnPg0KCTxkaXYgY2xhc3M9J2Nob2ljZSc+DQoJCTxoMj5Nb25vLUluc3RhbmNlIFZTIE11bHRpLUluc3RhbmNlczwvaDI+DQoJCTxwPlRoaXMgd2lraSB3aWxsIGJlIGNhbGxlZCBlYWNoIHRpbWUgdGhlIHVybCA8Yj5zdGFydHM8L2I+IHdpdGggdGhlIHByZWZpeCAoZWcgOiAvd2lraS94eHgpLiBJZiB5b3UgbmVlZCBtb3JlIGluc3RhbmNlcyBvZiB0aGUgd2lraSB3aXRoIGRpZmZlcmVudCB1cmxzIChlZyA6IC9mb28vd2lraS94eHggJmFtcDsgL2Jhci93aWtpL3h4eCkgeW91IHNob3VsZCBhY3RpdmF0ZSB0aGUgbXVsdGktaW5zdGFuY2VzLiBUaGUgcHJlZml4IHdpbGwgYmUgY29tbXVuIGZvciBlYWNoIGluc3RhbmNlIGJ1dCB0aGUgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGVhY2ggdGltZSB0aGUgdXJsIDxiPmNvbnRhaW5zPC9iPiB0aGUgcHJlZml4LjwvcD4NCgkJPGxhYmVsIGZvcj0neyRhY3Rpb25pZH1tdWx0aUluc3RhbmNlczAnPk1vbm8gSW5zdGFuY2U8L2xhYmVsPg0KCQk8aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J3skYWN0aW9uaWR9bXVsdGlJbnN0YW5jZXMnIGlkPSd7JGFjdGlvbmlkfW11bHRpSW5zdGFuY2VzMCcgdmFsdWU9JzAnIHtpZiAhJG11bHRpSW5zdGFuY2VzfWNoZWNrZWR7L2lmfT4NCgkJPGxhYmVsIGZvcj0neyRhY3Rpb25pZH1tdWx0aUluc3RhbmNlczEnPk11bHRpLWluc3RhbmNlczwvbGFiZWw+DQoJCTxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0neyRhY3Rpb25pZH1tdWx0aUluc3RhbmNlcycgaWQ9J3skYWN0aW9uaWR9bXVsdGlJbnN0YW5jZXMxJyB2YWx1ZT0nMScge2lmICRtdWx0aUluc3RhbmNlc31jaGVja2Vkey9pZn0+DQoJPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9J2JveCc+DQoJPGRpdiBjbGFzcz0nY2hvaWNlJz4NCgkJPGgyPlByZWZpeCBvZiB0aGUgd2lraTwvaDI+DQoJCTxwPllvdSBjYW4gcGVyc29uYWxpemUgdGhlIHByZWZpeCBvZiB5b3VyIFdJS0kuPC9wPg0KCQk8bGFiZWwgZm9yPSd7JGFjdGlvbmlkfXByZWZpeCc+DQoJCQlQcmVmaXggZm9yIFVSTHMgOiANCgkJCTxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd7JGFjdGlvbmlkfXByZWZpeCcgdmFsdWU9J3skcHJlZml4fScgLz4NCgkJPC9sYWJlbD4NCgk8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0nYm94Jz4NCgk8ZGl2IGNsYXNzPSdjaG9pY2UnPg0KCQk8aDI+TGFuZyBDb2RlIGluIHRoZSBVUkw8L2gyPg0KCQk8cD5Vbmxlc3MgeW91IG1hbmFnZSBkaWZmZXJlbnRzIGxhbmdzLCB5b3UgY2FuIGFzayB0byByZW1vdmUgdGhlIGxhbmcgaW5mb3JtYXRpb24gZnJvbSB0aGUgVVJMIChlZyA6IC93aWtpL0ZSX2ZyL2hvbWUgPT4gL3dpa2kvaG9tZSkgLjwvcD4NCgkJPGxhYmVsIGZvcj0neyRhY3Rpb25pZH1zaG93X2NvZGVfaXNvMSc+U2hvdyBsYW5ncyBpbiBVUkw8L2xhYmVsPg0KCQk8aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J3skYWN0aW9uaWR9c2hvd19jb2RlX2lzbycgaWQ9J3skYWN0aW9uaWR9c2hvd19jb2RlX2lzbzEnIHZhbHVlPScxJyB7aWYgJHNob3dfY29kZV9pc299Y2hlY2tlZHsvaWZ9Pg0KCQk8bGFiZWwgZm9yPSd7JGFjdGlvbmlkfXNob3dfY29kZV9pc28wJz5IaWRlIGluZm9ybWF0aW9uPC9sYWJlbD4NCgkJPGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSd7JGFjdGlvbmlkfXNob3dfY29kZV9pc28nIGlkPSd7JGFjdGlvbmlkfXNob3dfY29kZV9pc28wJyB2YWx1ZT0nMCcge2lmICEkc2hvd19jb2RlX2lzb31jaGVja2Vkey9pZn0+DQoJPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9J2JveCc+DQoJPGRpdiBjbGFzcz0nY2hvaWNlJz4NCgkJPGgyPkRlZmF1bHQgQWxpYXMgZm9yIEhvbWUgUGFnZTwvaDI+DQoJCTxwPllvdSBjYW4gcGVyc29uYWxpemUgdGhlIGFsaWFzIG9mIHRoZSBkZWZhdWx0IHBhZ2UuPC9wPg0KCQk8bGFiZWwgZm9yPSd7JGFjdGlvbmlkfWRlZmF1bHRfYWxpYXMnPg0KCQkJRGVmYXVsdCBBbGlhcyA6IA0KCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3skYWN0aW9uaWR9ZGVmYXVsdF9hbGlhcycgdmFsdWU9J3skZGVmYXVsdF9hbGlhc30nIC8+DQoJCTwvbGFiZWw+DQoJPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9J2JveCc+DQoJPGRpdiBjbGFzcz0nY2hvaWNlJz4NCgkJPGgyPkNtcyBQYWdlJ3MgQWxpYXM8L2gyPg0KCQk8cD5Zb3UgbXVzdCBjcmVhdGUgYSBjbGFzc2ljIGNvbnRlbnQgcGFnZSBpbiBDbXNNYWRlU2ltcGxlLCBzZXR0aW5ncyB0aGUgZGVzaWduL3RlbXBsYXRlIG9mIHlvdXIgY2hvaWNlIGFuZCB0eXBpbmcgdGhlIGFsaWFzIG9mIHRoaXMgbmV3IHBhZ2UgaGVyZS4gSXQgd2lsbCBoZWtwIHRoZSBtb2R1bGUgV2lraSB0byAiY2hvb3NlIiB0aGUgZ29vZCB0ZW1wbGF0ZS4gVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueXRoaW5nIGFzIGl0IGlzIHRoZSBhbGlhcyBvZiBhIGV4aXN0aW5nIHBhZ2UuIFRoZSBjb250ZW50IG9mIHRoZSBuZXcgcGFnZSBkb2VzIG5vdCBtYXR0ZXIsIHRoZSBtb2R1bGUgV2lraSB3b24ndCB1c2UgaXQuPC9wPg0KCQk8bGFiZWwgZm9yPSd7JGFjdGlvbmlkfWNtc19wYWdlJz4NCgkJCURlZmF1bHQgQWxpYXMgOiANCgkJCTxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd7JGFjdGlvbmlkfWNtc19wYWdlJyB2YWx1ZT0neyRjbXNfcGFnZX0nIC8+DQoJCTwvbGFiZWw+DQoJPC9kaXY+DQo8L2Rpdj4NCg0KCTxkaXY+DQoJCTxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSdzYXZlJyAvPg0KCTwvZGl2Pg0KPC9mb3JtPg0KDQp7dGFiX3N0YXJ0IG5hbWU9J3RhYjInfQ0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPg0KCTx0aGVhZD4NCgkJPHRyPg0KCQkJPHRoPkNvZGU8L3RoPg0KCQkJPHRoPkxhYmVsPC90aD4NCgkJCTx0aD5BY3RpdmVzIFBhZ2VzPC90aD4NCgkJCTx0aD4mbmJzcDs8L3RoPg0KCQkJPHRoPjxhIGhyZWY9J3skYWRkTGFuZ30nPlsrXSBBZGQgbmV3IExhbmc8L2E+PC90aD4NCgkJPC90cj4NCgk8L3RoZWFkPg0KCTx0Ym9keT4NCgkJe2ZvcmVhY2ggJGxhbmdzIGxhbmd9DQoJCQk8dHI+DQoJCQkJPHRkPg0KCQkJCQl7aWYgJGxhbmcuaXNkZWZhdWx0fTxiPnsvaWZ9eyRsYW5nLmNvZGV9e2lmICRsYW5nLmlzZGVmYXVsdH08L2I+ey9pZn0NCgkJCQk8L3RkPg0KCQkJCTx0ZD4NCgkJCQkJe2lmICRsYW5nLmlzZGVmYXVsdH08Yj57L2lmfXskbGFuZy5sYWJlbH17aWYgJGxhbmcuaXNkZWZhdWx0fTwvYj57L2lmfQ0KCQkJCTwvdGQ+DQoJCQkJPHRkPg0KCQkJCQl7aWYgJGxhbmcuaXNkZWZhdWx0fTxiPnsvaWZ9eyRsYW5nLmNvdW50fXtpZiAkbGFuZy5pc2RlZmF1bHR9PC9iPnsvaWZ9DQoJCQkJPC90ZD4NCgkJCQk8dGQ+DQoJCQkJCXtpZiAkbGFuZy5pc2RlZmF1bHR9DQoJCQkJCQl7JGltZ3MudHJ1ZX0NCgkJCQkJe2Vsc2V9DQoJCQkJCQk8YSBocmVmPSd7JGxhbmcuZGVmYXVsdH0nPnskaW1ncy5mYWxzZX08L2E+DQoJCQkJCXsvaWZ9DQoJCQkJPC90ZD4NCgkJCQk8dGQ+DQoJCQkJCTxhIGhyZWY9J3skbGFuZy5lZGl0fSc+eyRpbWdzLmVkaXR9PC9hPntpZiAhJGxhbmcuaXNkZWZhdWx0fSZuYnNwOyZuYnNwOzxhIGhyZWY9J3skbGFuZy5kZWxldGV9Jz57JGltZ3MuZGVsZXRlfTwvYT57L2lmfQ0KCQkJCTwvdGQ+DQoJCQk8L3RyPg0KCQl7Zm9yZWFjaGVsc2V9DQoJCQk8dHI+PHRkPlRoZXJlIGlzIG5vIExhbmcsIGl0J3MgYSBwcm9ibGVtLi4uPC90ZD48L3RyPg0KCQl7L2ZvcmVhY2h9DQoJPC90Ym9keT4NCjwvdGFibGU+DQoNCnt0YWJfc3RhcnQgbmFtZT0ndGFiMyd9DQoNCntmb3JtX3N0YXJ0IGFjdGlvbj0iYWRtaW5fdGVtcGxhdGVfc2F2ZSJ9DQoJPGRpdj4NCgkJPHRleHRhcmVhIG5hbWU9J3skYWN0aW9uaWR9dGVtcGxhdGVfYWNjZXNzJyBpZD0neyRhY3Rpb25pZH10ZW1wbGF0ZV9hY2Nlc3MnIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWluLWhlaWdodDogNTAwcHg7Ij57JGFjY2Vzc1RwbH08L3RleHRhcmVhPg0KCTwvZGl2Pg0KCTxkaXY+DQoJCTxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSdzYXZlJyAvPg0KCTwvZGl2Pg0KPC9mb3JtPg0KDQp7L2lmfQ0Ke2lmICRfVmlzaWJsZVRvQWRtaW59DQoNCnt0YWJfc3RhcnQgbmFtZT0ndGFiNCd9DQo8ZGl2PjxwPkNsaWMgPHNwYW4gb25jbGljaz0nJCgiI3Jlc2V0bWUiKS5zaG93KCk7JyBzdHlsZT0nY29sb3I6I0YwMDtjdXJzb3I6IG5vLWRyb3A7Jz5oZXJlPC9zcGFuPiBpZiB5b3UgcmVhbGx5IDxiPnJlYWxseTwvYj4gd2FudCB0byByZXNldCB0aGUgd2lraTwvcD4NCgk8cCBpZD0ncmVzZXRtZScgc3R5bGU9J2Rpc3BsYXk6bm9uZTsnPjxhIGhyZWY9J3skcmVzZXR9JyA+UmVzZXQgdGhlIGVudGlyZSBXaWtpICh0cnVzdCBtZSwgeW91IGNlcnRhaW5seSBkb24ndCB3YW50IHRvIGNsaWMgb24gdGhpcyBsaW5rLi4uKTwvYT48L3A+DQo8L2Rpdj4NCnsvaWZ9DQp7dGFiX2VuZH0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_lang.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQp7Zm9ybV9zdGFydCBhY3Rpb249ImFkbWluX2xhbmdfc2F2ZSIgZXh0cmFwYXJtcz1bJ2xhbmdfaWQnID0+ICRsYW5nLT5nZXQoJ2xhbmdfaWQnKV19DQo8aDM+eyR0aXRsZX08L2gzPg0KPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3skYWN0aW9uaWR9Y29kZScgdmFsdWU9J3skbGFuZy0+Z2V0KCdjb2RlJyl9JyBwbGFjZWhvbGRlcj0iSVNPIENvZGUiLz4NCjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd7JGFjdGlvbmlkfWxhYmVsJyB2YWx1ZT0neyRsYW5nLT5nZXQoJ2xhYmVsJyl9JyBwbGFjZWhvbGRlcj0iTGFiZWwiLz4NCjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSdzYXZlJyAvPg0KPC9mb3JtPg==]]></data>
	</file>
	<file>
	  <filename>/templates/editPage.js.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KCS8vPCFbQ0RBVEFbDQoNCgkgIHZhciB0aW1lb3V0SUQ7DQoJICB2YXIgbGFiZWw7DQoJICB2YXIgY250ID0gMTsNCgkgIHZhciBmaWVsZFByZSA9ICcuY2FuY2VsUHJlJzsNCgkgIHZhciBmaWVsZFBvc3QgPSAnLmNhbmNlbFBvc3QnOw0KDQoJICB2YXIgdXJsID0gInskcHJldmlld3x1bmVzY2FwZTonaHRtbGFsbCd9JnNob3d0ZW1wbGF0ZT1mYWxzZSI7DQoJICB2YXIgdXJsX2NhbmNlbCA9ICJ7JGNhbmNlbHxyZXBsYWNlOicmYW1wOyc6JyYnfSI7DQoJDQoJICANCgkgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsNCgkJICAkKCJpbnB1dC5wcmV2aWV3IikuY2xpY2soZnVuY3Rpb24gKCkgeyANCgkJCQlxdWVyeSA9ICJ7JHdpa2lfYWN0aW9uX2lkfXZ0aXRsZT0iICsgZW5jb2RlVVJJKCQoIiN7JHdpa2lfYWN0aW9uX2lkfXZ0aXRsZSIpLnZhbCgpKSArICImIiANCgkJCQkJKyAieyR3aWtpX2FjdGlvbl9pZH12dGV4dD0iICsgZW5jb2RlVVJJKCQoIiN7JHdpa2lfYWN0aW9uX2lkfXZ0ZXh0IikudmFsKCkpOw0KDQoJCQkJLyoJY29uc29sZS5kZWJ1Zyh1cmwpOw0KCQkJCQljb25zb2xlLmRlYnVnKHF1ZXJ5KTsgKi8NCgkJCQkkLnBvc3QoIHVybCwgcXVlcnkpLmRvbmUoZnVuY3Rpb24oIGRhdGEgKSB7DQoJCQkJCSQoIiNwcmV2aWV3X3Jlc3VsdCIpLmh0bWwoZGF0YSk7DQoJCQkJCQ0KCQkJCQkkKCJhLndpa2lsaW5rcyIpLmF0dHIoInRhcmdldCIsIl9ibGFuayIpOw0KCQkJCQkNCgkJCQkJJC5mYW5jeWJveC5vcGVuKCB7DQoJCQkJCQlocmVmIDogJyNwcmV2aWV3X3Jlc3VsdCcsIHRpdGxlIDogJ1ByZXZpZXcnLCBhdXRvU2l6ZSA6IGZhbHNlDQoJCQkJCX0pOw0KCQkJCX0pOw0KCQkJfSk7DQoJCQkNCgkJCSQoZmllbGRQb3N0KS5jbGljayhmdW5jdGlvbiAoKSB7IA0KCQkJCWxvY2F0aW9uLmhyZWYgPSB1cmxfY2FuY2VsOw0KCQkJfSk7DQoJCQkNCgkJCSQoZmllbGRQb3N0KS5oaWRlKCk7CQ0KCQkJLy9BbGwgYnV0IGZpZWxkUHJlDQoJCQkkKGRvY3VtZW50KS5iaW5kKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7DQoJCQkJd2luZG93LmNsZWFyVGltZW91dCh0aW1lb3V0SUQpOw0KCQkJCSQoZmllbGRQcmUpLnNob3coKTsNCgkJCQkkKGZpZWxkUG9zdCkuaGlkZSgpOw0KCQkJCSQoZmllbGRQb3N0KS5hdHRyKCdkaXNhYmxlZCcsJ2Rpc2FibGVkJyk7DQoJCQkJaWYobGFiZWw9PW51bGwpew0KCQkJCQlsYWJlbCA9ICQoZmllbGRQb3N0KS52YWwoKTsNCgkJCQl9DQoJCQkJJChmaWVsZFBvc3QpLnZhbChsYWJlbCk7DQoJCQkJY250PTE7DQoJCQl9KTsNCg0KCQkJJChmaWVsZFByZSkuYmluZCgnY2xpY2snLCBmdW5jdGlvbihlKSB7DQoJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsNCgkJCQkkKGZpZWxkUHJlKS5oaWRlKCk7DQoJCQkJJChmaWVsZFBvc3QpLnNob3coKS5hdHRyKCdkaXNhYmxlZCcsJ2Rpc2FibGVkJyk7DQoJCQkJY291bnQoZmllbGRQb3N0KTsNCgkJCQkNCgkJCX0pOw0KCQl9KTsNCgkJDQoJCSQoImlucHV0LnNhdmUiKS5jbGljayhmdW5jdGlvbiAoKSB7IA0KCQkJJCggIiN7JHdpa2lfYWN0aW9uX2lkfW1vZHVsZWZvcm1fMSIgKS5zdWJtaXQoKTsNCgkJfSk7DQoJCQ0KCQlmdW5jdGlvbiBjb3VudChmaWVsZElkKSB7DQoJCSAgaWYobGFiZWw9PW51bGwpew0KCQkJbGFiZWwgPSAkKGZpZWxkSWQpLnZhbCgpOw0KCQkgIH0NCgkJICBpZihjbnQgPD0gMCl7DQoJCQkgICQoZmllbGRJZCkudmFsKGxhYmVsKTsNCgkJCSAgJChmaWVsZElkKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpOw0KCQkgIH0gZWxzZSB7DQoJCQkgICQoZmllbGRJZCkudmFsKGxhYmVsICsgIiAiICsgKGNudCkgKyAicyIpOw0KCQkJICBjbnQtLTsNCgkJCSAgdGltZW91dElEID0gd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQoJCQkgIAljb3VudChmaWVsZElkKTsNCgkJCSAgfSwgMTAwMCk7DQoJCSAgfQ0KCQl9DQoNCgkvLyBdXT4NCgk8L3NjcmlwdD4=]]></data>
	</file>
	<file>
	  <filename>/templates/editPage.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICFlbXB0eSgkYnJlYWRjcnVtYnMpfTx1bCBjbGFzcz0iYnJlYWRjcnVtYnMiPg0Ke2ZvcmVhY2ggJGJyZWFkY3J1bWJzIGFzICRicmVhZH0NCgkgPGxpIHtpZiAkYnJlYWRAbGFzdH1jbGFzcz0nY3VycmVudCd7L2lmfT48YSBocmVmPSJ7JGJyZWFkLnVybH0iIHtpZiAhZW1wdHkoJGJyZWFkLmNsYXNzKX1jbGFzcz0neyRicmVhZC5jbGFzc30ney9pZn0ge2lmICFlbXB0eSgkYnJlYWQudGl0bGUpfXRpdGxlPSd7JGJyZWFkLnRpdGxlfSd7L2lmfT57JGJyZWFkLm5hbWV9PC9hPjwvbGk+DQp7L2ZvcmVhY2h9PC91bD4NCnsvaWZ9DQoNCjxkaXYgY2xhc3M9Im9mZi1jYW52YXMtd3JhcCIgZGF0YS1vZmZjYW52YXM+DQo8ZGl2IGNsYXNzPSJpbm5lci13cmFwIj4NCg0KPG5hdiBjbGFzcz0idGFiLWJhciI+DQoNCnsqCTxzZWN0aW9uIGNsYXNzPSJsZWZ0LXNtYWxsIj4NCgkJPGEgY2xhc3M9ImxlZnQtb2ZmLWNhbnZhcy10b2dnbGUgbWVudS1pY29uIiA+PHNwYW4+PC9zcGFuPjwvYT4NCgk8L3NlY3Rpb24+ICp9DQoNCgk8c2VjdGlvbiBjbGFzcz0ibWlkZGxlIHRhYi1iYXItc2VjdGlvbiI+IA0KCQkNCgk8dWwgY2xhc3M9ImJ1dHRvbi1ncm91cCBpbi1vZmYtYmFyIj4NCgkJCTxsaT48aW5wdXQgY2xhc3M9J3RpbnkgYnV0dG9uIGluLW9mZi1iYXIgcHJldmlldycgdHlwZT0nYnV0dG9uJyB2YWx1ZT0nUHJldmlldyc+PC9saT4NCgkJCTxsaT48aW5wdXQgY2xhc3M9J3RpbnkgYnV0dG9uIGluLW9mZi1iYXIgY2FuY2VsUHJlJyB0eXBlPSdidXR0b24nIHZhbHVlPSdDYW5jZWwnPjwvbGk+DQoJCQk8bGk+PGlucHV0IGNsYXNzPSd0aW55IGJ1dHRvbiBpbi1vZmYtYmFyIGNhbmNlbFBvc3QgYWxlcnQnIHR5cGU9J2J1dHRvbicgdmFsdWU9J0NhbmNlbCAoQXJlIFlvdSBTdXJlPyknPjwvbGk+DQoJCQk8bGk+PGlucHV0IGNsYXNzPSd0aW55IGJ1dHRvbiBpbi1vZmYtYmFyIHNhdmUnIHR5cGU9J3N1Ym1pdCcgdmFsdWU9J1NhdmUnIG5hbWU9J3skd2lraV9hY3Rpb25faWR9c2F2ZScgLz48L2xpPg0KCQk8L3VsPg0KCQkJDQoJPC9zZWN0aW9uPg0KPC9uYXY+DQoNCnsqDQo8YXNpZGUgY2xhc3M9ImxlZnQtb2ZmLWNhbnZhcy1tZW51Ij4NCgk8dWwgY2xhc3M9Im9mZi1jYW52YXMtbGlzdCI+DQoJCTxsaT48bGFiZWw+TWVudTwvbGFiZWw+PC9saT4NCgkNCgkJe2ZvcmVhY2ggJHdpa2lfbWVudSBhcyAkZWx0fQ0KCQkJPGxpPjxhIGhyZWY9InskZWx0LnZpZXdVcmx9IiB7aWYgIWVtcHR5KCRlbHQuY2xhc3MpfWNsYXNzPSd7JGVsdC5jbGFzc30ney9pZn0+eyRlbHQubGFiZWx8Y2FwaXRhbGl6ZX08L2E+PC9saT4NCgkJey9mb3JlYWNofQ0KCQkNCgkJDQoJCTxsaT48bGFiZWw+T3B0aW9uczwvbGFiZWw+PC9saT4NCgkJPGxpPjxhIGhyZWY9IiMiPlNvbWUgb3B0aW9uczwvYT48L2xpPg0KCQk8bGk+PGEgaHJlZj0iIyI+T3RoZXIgb3B0aW9uczwvYT48L2xpPg0KCQkNCgk8L3VsPg0KPC9hc2lkZT4qfQ0KDQoNCjxzZWN0aW9uIGNsYXNzPSJtYWluLXNlY3Rpb24iPg0KDQo8ZGl2IGNsYXNzPSdwYW5lbCBuby1tYXJnaW4nPg0KDQoJPGRpdiBjbGFzcz0nZmFuY3lib3gnIGlkPSdwcmV2aWV3X3Jlc3VsdCc+PC9kaXY+DQoNCgl7JGZvcm19DQoJDQoJCTxkaXYgY2xhc3M9Im5hbWUtZmllbGQiPg0KCQkJPGxhYmVsPlRpdGxlIDogPC9sYWJlbD4NCgkJCTxpbnB1dCB0eXBlPSd0ZXh0JyB2YWx1ZT0neyR2ZXJzaW9uLnRpdGxlfScgbmFtZT0neyR3aWtpX2FjdGlvbl9pZH12dGl0bGUnIGlkPSd7JHdpa2lfYWN0aW9uX2lkfXZ0aXRsZScgLz4NCgkJPC9kaXY+DQoJCTxkaXYgY2xhc3M9Im5hbWUtZmllbGQiPg0KCQkJPHRleHRhcmVhIG5hbWU9J3skd2lraV9hY3Rpb25faWR9dnRleHQnIGlkPSd7JHdpa2lfYWN0aW9uX2lkfXZ0ZXh0JyByb3dzPScxMCcgY29scz0nMjAnIGNsYXNzPSd3aWtpYXJlYScgcmVxdWlyZWQ+eyR2ZXJzaW9uLnRleHR9PC90ZXh0YXJlYT4NCgkJPC9kaXY+DQoJCQ0KCTwvZm9ybT4NCjwvZGl2Pg0KDQogPC9zZWN0aW9uPiA8YSBjbGFzcz0iZXhpdC1vZmYtY2FudmFzIj48L2E+IDwvZGl2PiA8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/forgeSetAccess.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRnYXRld2F5UGFyYW1zKSAmJiBpc3NldCgkZ2F0ZXdheVBhcmFtcy5wcHJlZml4KX0NCntGb3JnZTJGcm9udE9mZmljZSBhY3Rpb249J3dpa2lnYXRld2F5JyB3aWtpX3ByZWZpeD0kZ2F0ZXdheVBhcmFtcy5wcHJlZml4fQ0Ke2Vsc2V9DQp7Rm9yZ2UyRnJvbnRPZmZpY2UgYWN0aW9uPSd3aWtpZ2F0ZXdheSd9DQp7L2lmfQ0KDQp7aWYgJGNjdXNlci0+bG9nZ2VkaW4oKX0NCiAge1dpa2kgYWN0aW9uPSJzZXRBY2Nlc3MiIGlzX3JlYWRhYmxlPSRpc19yZWFkYWJsZSBpc193cml0YWJsZT0kaXNfd3JpdGFibGUgaXNfZGVsZXRhYmxlPSRpc19kZWxldGFibGUgYXV0aG9yX25hbWU9Y2NVc2VyOjpwcm9wZXJ0eSgncHNldWRvJykgYXV0aG9yX2lkPSRjY3VzZXItPmxvZ2dlZGluKCkgfQ0Ke2Vsc2V9DQogIHtXaWtpIGFjdGlvbj0ic2V0QWNjZXNzIiBpc19yZWFkYWJsZT0kaXNfcmVhZGFibGV9DQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/init/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/init/css_foundation</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[bWV0YS5mb3VuZGF0aW9uLXZlcnNpb24gew0KICBmb250LWZhbWlseTogIi81LjUuMS8iOyB9DQoNCm1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbCB7DQogIGZvbnQtZmFtaWx5OiAiL29ubHkgc2NyZWVuLyI7DQogIHdpZHRoOiAwOyB9DQoNCm1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbC1vbmx5IHsNCiAgZm9udC1mYW1pbHk6ICIvb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pLyI7DQogIHdpZHRoOiAwOyB9DQoNCm1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0gew0KICBmb250LWZhbWlseTogIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo0MC4wNjNlbSkvIjsNCiAgd2lkdGg6IDQwLjA2M2VtOyB9DQoNCm1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0tb25seSB7DQogIGZvbnQtZmFtaWx5OiAiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwLjA2M2VtKSBhbmQgKG1heC13aWR0aDo2NGVtKS8iOw0KICB3aWR0aDogNDAuMDYzZW07IH0NCg0KbWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlIHsNCiAgZm9udC1mYW1pbHk6ICIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjQuMDYzZW0pLyI7DQogIHdpZHRoOiA2NC4wNjNlbTsgfQ0KDQptZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Utb25seSB7DQogIGZvbnQtZmFtaWx5OiAiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0LjA2M2VtKSBhbmQgKG1heC13aWR0aDo5MGVtKS8iOw0KICB3aWR0aDogNjQuMDYzZW07IH0NCg0KbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZSB7DQogIGZvbnQtZmFtaWx5OiAiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjkwLjA2M2VtKS8iOw0KICB3aWR0aDogOTAuMDYzZW07IH0NCg0KbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZS1vbmx5IHsNCiAgZm9udC1mYW1pbHk6ICIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTAuMDYzZW0pIGFuZCAobWF4LXdpZHRoOjEyMGVtKS8iOw0KICB3aWR0aDogOTAuMDYzZW07IH0NCg0KbWV0YS5mb3VuZGF0aW9uLW1xLXh4bGFyZ2Ugew0KICBmb250LWZhbWlseTogIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAuMDYzZW0pLyI7DQogIHdpZHRoOiAxMjAuMDYzZW07IH0NCg0KbWV0YS5mb3VuZGF0aW9uLWRhdGEtYXR0cmlidXRlLW5hbWVzcGFjZSB7DQogIGZvbnQtZmFtaWx5OiBmYWxzZTsgfQ0KDQpodG1sLCBib2R5IHsNCiAgaGVpZ2h0OiAxMDAlOyB9DQoNCiosDQoqOmJlZm9yZSwNCio6YWZ0ZXIgew0KICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfQ0KDQpodG1sLA0KYm9keSB7DQogIGZvbnQtc2l6ZTogMTAwJTsgfQ0KDQpib2R5IHsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCiAgY29sb3I6ICMyMjIyMjI7DQogIHBhZGRpbmc6IDA7DQogIG1hcmdpbjogMDsNCiAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsNCiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgZm9udC1zdHlsZTogbm9ybWFsOw0KICBsaW5lLWhlaWdodDogMS41Ow0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGN1cnNvcjogYXV0bzsgfQ0KDQphOmhvdmVyIHsNCiAgY3Vyc29yOiBwb2ludGVyOyB9DQoNCmltZyB7DQogIG1heC13aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiBhdXRvOyB9DQoNCmltZyB7DQogIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH0NCg0KI21hcF9jYW52YXMgaW1nLA0KI21hcF9jYW52YXMgZW1iZWQsDQojbWFwX2NhbnZhcyBvYmplY3QsDQoubWFwX2NhbnZhcyBpbWcsDQoubWFwX2NhbnZhcyBlbWJlZCwNCi5tYXBfY2FudmFzIG9iamVjdCB7DQogIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9DQoNCi5sZWZ0IHsNCiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfQ0KDQoucmlnaHQgew0KICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfQ0KDQouY2xlYXJmaXg6YmVmb3JlLCAuY2xlYXJmaXg6YWZ0ZXIgew0KICBjb250ZW50OiAiICI7DQogIGRpc3BsYXk6IHRhYmxlOyB9DQouY2xlYXJmaXg6YWZ0ZXIgew0KICBjbGVhcjogYm90aDsgfQ0KDQouaGlkZSB7DQogIGRpc3BsYXk6IG5vbmU7IH0NCg0KLmludmlzaWJsZSB7DQogIHZpc2liaWxpdHk6IGhpZGRlbjsgfQ0KDQouYW50aWFsaWFzZWQgew0KICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfQ0KDQppbWcgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0NCg0KdGV4dGFyZWEgew0KICBoZWlnaHQ6IGF1dG87DQogIG1pbi1oZWlnaHQ6IDUwcHg7IH0NCg0Kc2VsZWN0IHsNCiAgd2lkdGg6IDEwMCU7IH0NCg0KLnJvdyB7DQogIHdpZHRoOiAxMDAlOw0KICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICBtYXJnaW4tdG9wOiAwOw0KICBtYXJnaW4tYm90dG9tOiAwOw0KICBtYXgtd2lkdGg6IDYyLjVlbTsgfQ0KICAucm93OmJlZm9yZSwgLnJvdzphZnRlciB7DQogICAgY29udGVudDogIiAiOw0KICAgIGRpc3BsYXk6IHRhYmxlOyB9DQogIC5yb3c6YWZ0ZXIgew0KICAgIGNsZWFyOiBib3RoOyB9DQogIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLA0KICAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9DQogIC5yb3cuY29sbGFwc2UgLnJvdyB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgbWFyZ2luLXJpZ2h0OiAwOyB9DQogIC5yb3cgLnJvdyB7DQogICAgd2lkdGg6IGF1dG87DQogICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVlbTsNCiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVlbTsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgbWF4LXdpZHRoOiBub25lOyB9DQogICAgLnJvdyAucm93OmJlZm9yZSwgLnJvdyAucm93OmFmdGVyIHsNCiAgICAgIGNvbnRlbnQ6ICIgIjsNCiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9DQogICAgLnJvdyAucm93OmFmdGVyIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQogICAgLnJvdyAucm93LmNvbGxhcHNlIHsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgbWFyZ2luOiAwOw0KICAgICAgbWF4LXdpZHRoOiBub25lOyB9DQogICAgICAucm93IC5yb3cuY29sbGFwc2U6YmVmb3JlLCAucm93IC5yb3cuY29sbGFwc2U6YWZ0ZXIgew0KICAgICAgICBjb250ZW50OiAiICI7DQogICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9DQogICAgICAucm93IC5yb3cuY29sbGFwc2U6YWZ0ZXIgew0KICAgICAgICBjbGVhcjogYm90aDsgfQ0KDQouY29sdW1uLA0KLmNvbHVtbnMgew0KICBwYWRkaW5nLWxlZnQ6IDAuOTM3NWVtOw0KICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVlbTsNCiAgd2lkdGg6IDEwMCU7DQogIGZsb2F0OiBsZWZ0OyB9DQoNCltjbGFzcyo9ImNvbHVtbiJdICsgW2NsYXNzKj0iY29sdW1uIl06bGFzdC1jaGlsZCB7DQogIGZsb2F0OiByaWdodDsgfQ0KDQpbY2xhc3MqPSJjb2x1bW4iXSArIFtjbGFzcyo9ImNvbHVtbiJdLmVuZCB7DQogIGZsb2F0OiBsZWZ0OyB9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiB7DQogIC5zbWFsbC1wdXNoLTAgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiAwJTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5zbWFsbC1wdWxsLTAgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogMCU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5zbWFsbC1wdXNoLTEgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA4LjMzMzMzJTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5zbWFsbC1wdWxsLTEgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogOC4zMzMzMyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5zbWFsbC1wdXNoLTIgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiAxNi42NjY2NyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAuc21hbGwtcHVsbC0yIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDE2LjY2NjY3JTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnNtYWxsLXB1c2gtMyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDI1JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5zbWFsbC1wdWxsLTMgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogMjUlOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAuc21hbGwtcHVzaC00IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogMzMuMzMzMzMlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnNtYWxsLXB1bGwtNCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiAzMy4zMzMzMyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5zbWFsbC1wdXNoLTUgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA0MS42NjY2NyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAuc21hbGwtcHVsbC01IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDQxLjY2NjY3JTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnNtYWxsLXB1c2gtNiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDUwJTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5zbWFsbC1wdWxsLTYgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogNTAlOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAuc21hbGwtcHVzaC03IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogNTguMzMzMzMlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnNtYWxsLXB1bGwtNyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA1OC4zMzMzMyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5zbWFsbC1wdXNoLTggew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA2Ni42NjY2NyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAuc21hbGwtcHVsbC04IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDY2LjY2NjY3JTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnNtYWxsLXB1c2gtOSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDc1JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5zbWFsbC1wdWxsLTkgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogNzUlOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAuc21hbGwtcHVzaC0xMCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDgzLjMzMzMzJTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5zbWFsbC1wdWxsLTEwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDgzLjMzMzMzJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnNtYWxsLXB1c2gtMTEgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA5MS42NjY2NyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAuc21hbGwtcHVsbC0xMSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA5MS42NjY2NyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5jb2x1bW4sDQogIC5jb2x1bW5zIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVlbTsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVlbTsNCiAgICBmbG9hdDogbGVmdDsgfQ0KDQogIC5zbWFsbC0xIHsNCiAgICB3aWR0aDogOC4zMzMzMyU7IH0NCg0KICAuc21hbGwtMiB7DQogICAgd2lkdGg6IDE2LjY2NjY3JTsgfQ0KDQogIC5zbWFsbC0zIHsNCiAgICB3aWR0aDogMjUlOyB9DQoNCiAgLnNtYWxsLTQgew0KICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0NCg0KICAuc21hbGwtNSB7DQogICAgd2lkdGg6IDQxLjY2NjY3JTsgfQ0KDQogIC5zbWFsbC02IHsNCiAgICB3aWR0aDogNTAlOyB9DQoNCiAgLnNtYWxsLTcgew0KICAgIHdpZHRoOiA1OC4zMzMzMyU7IH0NCg0KICAuc21hbGwtOCB7DQogICAgd2lkdGg6IDY2LjY2NjY3JTsgfQ0KDQogIC5zbWFsbC05IHsNCiAgICB3aWR0aDogNzUlOyB9DQoNCiAgLnNtYWxsLTEwIHsNCiAgICB3aWR0aDogODMuMzMzMzMlOyB9DQoNCiAgLnNtYWxsLTExIHsNCiAgICB3aWR0aDogOTEuNjY2NjclOyB9DQoNCiAgLnNtYWxsLTEyIHsNCiAgICB3aWR0aDogMTAwJTsgfQ0KDQogIC5zbWFsbC1vZmZzZXQtMCB7DQogICAgbWFyZ2luLWxlZnQ6IDAlICFpbXBvcnRhbnQ7IH0NCg0KICAuc21hbGwtb2Zmc2V0LTEgew0KICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9DQoNCiAgLnNtYWxsLW9mZnNldC0yIHsNCiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclICFpbXBvcnRhbnQ7IH0NCg0KICAuc21hbGwtb2Zmc2V0LTMgew0KICAgIG1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudDsgfQ0KDQogIC5zbWFsbC1vZmZzZXQtNCB7DQogICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9DQoNCiAgLnNtYWxsLW9mZnNldC01IHsNCiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclICFpbXBvcnRhbnQ7IH0NCg0KICAuc21hbGwtb2Zmc2V0LTYgew0KICAgIG1hcmdpbi1sZWZ0OiA1MCUgIWltcG9ydGFudDsgfQ0KDQogIC5zbWFsbC1vZmZzZXQtNyB7DQogICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9DQoNCiAgLnNtYWxsLW9mZnNldC04IHsNCiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclICFpbXBvcnRhbnQ7IH0NCg0KICAuc21hbGwtb2Zmc2V0LTkgew0KICAgIG1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudDsgfQ0KDQogIC5zbWFsbC1vZmZzZXQtMTAgew0KICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfQ0KDQogIC5zbWFsbC1vZmZzZXQtMTEgew0KICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyUgIWltcG9ydGFudDsgfQ0KDQogIC5zbWFsbC1yZXNldC1vcmRlciB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQogICAgcmlnaHQ6IGF1dG87DQogICAgZmxvYXQ6IGxlZnQ7IH0NCg0KICAuY29sdW1uLnNtYWxsLWNlbnRlcmVkLA0KICAuY29sdW1ucy5zbWFsbC1jZW50ZXJlZCB7DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICAgIGZsb2F0OiBub25lOyB9DQoNCiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkLA0KICAuY29sdW1ucy5zbWFsbC11bmNlbnRlcmVkIHsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgZmxvYXQ6IGxlZnQ7IH0NCg0KICAuY29sdW1uLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQsDQogIC5jb2x1bW5zLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQgew0KICAgIGZsb2F0OiBub25lOyB9DQoNCiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQsDQogIC5jb2x1bW5zLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7DQogICAgZmxvYXQ6IGxlZnQ7IH0NCg0KICAuY29sdW1uLnNtYWxsLXVuY2VudGVyZWQub3Bwb3NpdGUsDQogIC5jb2x1bW5zLnNtYWxsLXVuY2VudGVyZWQub3Bwb3NpdGUgew0KICAgIGZsb2F0OiByaWdodDsgfQ0KDQogIC5yb3cuc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLA0KICAucm93LnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9DQogIC5yb3cuc21hbGwtY29sbGFwc2UgLnJvdyB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgbWFyZ2luLXJpZ2h0OiAwOyB9DQogIC5yb3cuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sDQogIC5yb3cuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NWVtOw0KICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NWVtOw0KICAgIGZsb2F0OiBsZWZ0OyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgLm1lZGl1bS1wdXNoLTAgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiAwJTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5tZWRpdW0tcHVsbC0wIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDAlOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAubWVkaXVtLXB1c2gtMSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDguMzMzMzMlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLm1lZGl1bS1wdWxsLTEgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogOC4zMzMzMyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5tZWRpdW0tcHVzaC0yIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogMTYuNjY2NjclOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLm1lZGl1bS1wdWxsLTIgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogMTYuNjY2NjclOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAubWVkaXVtLXB1c2gtMyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDI1JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5tZWRpdW0tcHVsbC0zIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDI1JTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLm1lZGl1bS1wdXNoLTQgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiAzMy4zMzMzMyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAubWVkaXVtLXB1bGwtNCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiAzMy4zMzMzMyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5tZWRpdW0tcHVzaC01IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogNDEuNjY2NjclOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLm1lZGl1bS1wdWxsLTUgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogNDEuNjY2NjclOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAubWVkaXVtLXB1c2gtNiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDUwJTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5tZWRpdW0tcHVsbC02IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDUwJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLm1lZGl1bS1wdXNoLTcgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA1OC4zMzMzMyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAubWVkaXVtLXB1bGwtNyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA1OC4zMzMzMyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5tZWRpdW0tcHVzaC04IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogNjYuNjY2NjclOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLm1lZGl1bS1wdWxsLTggew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogNjYuNjY2NjclOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAubWVkaXVtLXB1c2gtOSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDc1JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5tZWRpdW0tcHVsbC05IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDc1JTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLm1lZGl1bS1wdXNoLTEwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogODMuMzMzMzMlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLm1lZGl1bS1wdWxsLTEwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDgzLjMzMzMzJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLm1lZGl1bS1wdXNoLTExIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogOTEuNjY2NjclOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLm1lZGl1bS1wdWxsLTExIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDkxLjY2NjY3JTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLmNvbHVtbiwNCiAgLmNvbHVtbnMgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NWVtOw0KICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NWVtOw0KICAgIGZsb2F0OiBsZWZ0OyB9DQoNCiAgLm1lZGl1bS0xIHsNCiAgICB3aWR0aDogOC4zMzMzMyU7IH0NCg0KICAubWVkaXVtLTIgew0KICAgIHdpZHRoOiAxNi42NjY2NyU7IH0NCg0KICAubWVkaXVtLTMgew0KICAgIHdpZHRoOiAyNSU7IH0NCg0KICAubWVkaXVtLTQgew0KICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0NCg0KICAubWVkaXVtLTUgew0KICAgIHdpZHRoOiA0MS42NjY2NyU7IH0NCg0KICAubWVkaXVtLTYgew0KICAgIHdpZHRoOiA1MCU7IH0NCg0KICAubWVkaXVtLTcgew0KICAgIHdpZHRoOiA1OC4zMzMzMyU7IH0NCg0KICAubWVkaXVtLTggew0KICAgIHdpZHRoOiA2Ni42NjY2NyU7IH0NCg0KICAubWVkaXVtLTkgew0KICAgIHdpZHRoOiA3NSU7IH0NCg0KICAubWVkaXVtLTEwIHsNCiAgICB3aWR0aDogODMuMzMzMzMlOyB9DQoNCiAgLm1lZGl1bS0xMSB7DQogICAgd2lkdGg6IDkxLjY2NjY3JTsgfQ0KDQogIC5tZWRpdW0tMTIgew0KICAgIHdpZHRoOiAxMDAlOyB9DQoNCiAgLm1lZGl1bS1vZmZzZXQtMCB7DQogICAgbWFyZ2luLWxlZnQ6IDAlICFpbXBvcnRhbnQ7IH0NCg0KICAubWVkaXVtLW9mZnNldC0xIHsNCiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyUgIWltcG9ydGFudDsgfQ0KDQogIC5tZWRpdW0tb2Zmc2V0LTIgew0KICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfQ0KDQogIC5tZWRpdW0tb2Zmc2V0LTMgew0KICAgIG1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudDsgfQ0KDQogIC5tZWRpdW0tb2Zmc2V0LTQgew0KICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfQ0KDQogIC5tZWRpdW0tb2Zmc2V0LTUgew0KICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUgIWltcG9ydGFudDsgfQ0KDQogIC5tZWRpdW0tb2Zmc2V0LTYgew0KICAgIG1hcmdpbi1sZWZ0OiA1MCUgIWltcG9ydGFudDsgfQ0KDQogIC5tZWRpdW0tb2Zmc2V0LTcgew0KICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyUgIWltcG9ydGFudDsgfQ0KDQogIC5tZWRpdW0tb2Zmc2V0LTggew0KICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfQ0KDQogIC5tZWRpdW0tb2Zmc2V0LTkgew0KICAgIG1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudDsgfQ0KDQogIC5tZWRpdW0tb2Zmc2V0LTEwIHsNCiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlICFpbXBvcnRhbnQ7IH0NCg0KICAubWVkaXVtLW9mZnNldC0xMSB7DQogICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JSAhaW1wb3J0YW50OyB9DQoNCiAgLm1lZGl1bS1yZXNldC1vcmRlciB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQogICAgcmlnaHQ6IGF1dG87DQogICAgZmxvYXQ6IGxlZnQ7IH0NCg0KICAuY29sdW1uLm1lZGl1bS1jZW50ZXJlZCwNCiAgLmNvbHVtbnMubWVkaXVtLWNlbnRlcmVkIHsNCiAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgZmxvYXQ6IG5vbmU7IH0NCg0KICAuY29sdW1uLm1lZGl1bS11bmNlbnRlcmVkLA0KICAuY29sdW1ucy5tZWRpdW0tdW5jZW50ZXJlZCB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgIGZsb2F0OiBsZWZ0OyB9DQoNCiAgLmNvbHVtbi5tZWRpdW0tY2VudGVyZWQ6bGFzdC1jaGlsZCwNCiAgLmNvbHVtbnMubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQgew0KICAgIGZsb2F0OiBub25lOyB9DQoNCiAgLmNvbHVtbi5tZWRpdW0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkLA0KICAuY29sdW1ucy5tZWRpdW0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkIHsNCiAgICBmbG9hdDogbGVmdDsgfQ0KDQogIC5jb2x1bW4ubWVkaXVtLXVuY2VudGVyZWQub3Bwb3NpdGUsDQogIC5jb2x1bW5zLm1lZGl1bS11bmNlbnRlcmVkLm9wcG9zaXRlIHsNCiAgICBmbG9hdDogcmlnaHQ7IH0NCg0KICAucm93Lm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sDQogIC5yb3cubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9DQogIC5yb3cubWVkaXVtLWNvbGxhcHNlIC5yb3cgew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIG1hcmdpbi1yaWdodDogMDsgfQ0KICAucm93Lm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwNCiAgLnJvdy5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NWVtOw0KICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NWVtOw0KICAgIGZsb2F0OiBsZWZ0OyB9DQoNCiAgLnB1c2gtMCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDAlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnB1bGwtMCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiAwJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnB1c2gtMSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDguMzMzMzMlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnB1bGwtMSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA4LjMzMzMzJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnB1c2gtMiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDE2LjY2NjY3JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5wdWxsLTIgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogMTYuNjY2NjclOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAucHVzaC0zIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogMjUlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnB1bGwtMyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiAyNSU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5wdXNoLTQgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiAzMy4zMzMzMyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAucHVsbC00IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDMzLjMzMzMzJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnB1c2gtNSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDQxLjY2NjY3JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5wdWxsLTUgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogNDEuNjY2NjclOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAucHVzaC02IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogNTAlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnB1bGwtNiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA1MCU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5wdXNoLTcgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA1OC4zMzMzMyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAucHVsbC03IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDU4LjMzMzMzJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnB1c2gtOCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDY2LjY2NjY3JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5wdWxsLTggew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogNjYuNjY2NjclOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAucHVzaC05IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogNzUlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnB1bGwtOSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA3NSU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5wdXNoLTEwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogODMuMzMzMzMlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnB1bGwtMTAgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogODMuMzMzMzMlOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAucHVzaC0xMSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDkxLjY2NjY3JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5wdWxsLTExIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDkxLjY2NjY3JTsNCiAgICBsZWZ0OiBhdXRvOyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHsNCiAgLmxhcmdlLXB1c2gtMCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDAlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLmxhcmdlLXB1bGwtMCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiAwJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLmxhcmdlLXB1c2gtMSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDguMzMzMzMlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLmxhcmdlLXB1bGwtMSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA4LjMzMzMzJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLmxhcmdlLXB1c2gtMiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDE2LjY2NjY3JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5sYXJnZS1wdWxsLTIgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogMTYuNjY2NjclOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAubGFyZ2UtcHVzaC0zIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogMjUlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLmxhcmdlLXB1bGwtMyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiAyNSU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5sYXJnZS1wdXNoLTQgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiAzMy4zMzMzMyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAubGFyZ2UtcHVsbC00IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDMzLjMzMzMzJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLmxhcmdlLXB1c2gtNSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDQxLjY2NjY3JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5sYXJnZS1wdWxsLTUgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogNDEuNjY2NjclOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAubGFyZ2UtcHVzaC02IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogNTAlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLmxhcmdlLXB1bGwtNiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA1MCU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5sYXJnZS1wdXNoLTcgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA1OC4zMzMzMyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAubGFyZ2UtcHVsbC03IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDU4LjMzMzMzJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLmxhcmdlLXB1c2gtOCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDY2LjY2NjY3JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5sYXJnZS1wdWxsLTggew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogNjYuNjY2NjclOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAubGFyZ2UtcHVzaC05IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogNzUlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLmxhcmdlLXB1bGwtOSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA3NSU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5sYXJnZS1wdXNoLTEwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogODMuMzMzMzMlOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLmxhcmdlLXB1bGwtMTAgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogODMuMzMzMzMlOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAubGFyZ2UtcHVzaC0xMSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDkxLjY2NjY3JTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5sYXJnZS1wdWxsLTExIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDkxLjY2NjY3JTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLmNvbHVtbiwNCiAgLmNvbHVtbnMgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NWVtOw0KICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NWVtOw0KICAgIGZsb2F0OiBsZWZ0OyB9DQoNCiAgLmxhcmdlLTEgew0KICAgIHdpZHRoOiA4LjMzMzMzJTsgfQ0KDQogIC5sYXJnZS0yIHsNCiAgICB3aWR0aDogMTYuNjY2NjclOyB9DQoNCiAgLmxhcmdlLTMgew0KICAgIHdpZHRoOiAyNSU7IH0NCg0KICAubGFyZ2UtNCB7DQogICAgd2lkdGg6IDMzLjMzMzMzJTsgfQ0KDQogIC5sYXJnZS01IHsNCiAgICB3aWR0aDogNDEuNjY2NjclOyB9DQoNCiAgLmxhcmdlLTYgew0KICAgIHdpZHRoOiA1MCU7IH0NCg0KICAubGFyZ2UtNyB7DQogICAgd2lkdGg6IDU4LjMzMzMzJTsgfQ0KDQogIC5sYXJnZS04IHsNCiAgICB3aWR0aDogNjYuNjY2NjclOyB9DQoNCiAgLmxhcmdlLTkgew0KICAgIHdpZHRoOiA3NSU7IH0NCg0KICAubGFyZ2UtMTAgew0KICAgIHdpZHRoOiA4My4zMzMzMyU7IH0NCg0KICAubGFyZ2UtMTEgew0KICAgIHdpZHRoOiA5MS42NjY2NyU7IH0NCg0KICAubGFyZ2UtMTIgew0KICAgIHdpZHRoOiAxMDAlOyB9DQoNCiAgLmxhcmdlLW9mZnNldC0wIHsNCiAgICBtYXJnaW4tbGVmdDogMCUgIWltcG9ydGFudDsgfQ0KDQogIC5sYXJnZS1vZmZzZXQtMSB7DQogICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlICFpbXBvcnRhbnQ7IH0NCg0KICAubGFyZ2Utb2Zmc2V0LTIgew0KICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfQ0KDQogIC5sYXJnZS1vZmZzZXQtMyB7DQogICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9DQoNCiAgLmxhcmdlLW9mZnNldC00IHsNCiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IH0NCg0KICAubGFyZ2Utb2Zmc2V0LTUgew0KICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUgIWltcG9ydGFudDsgfQ0KDQogIC5sYXJnZS1vZmZzZXQtNiB7DQogICAgbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9DQoNCiAgLmxhcmdlLW9mZnNldC03IHsNCiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlICFpbXBvcnRhbnQ7IH0NCg0KICAubGFyZ2Utb2Zmc2V0LTggew0KICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfQ0KDQogIC5sYXJnZS1vZmZzZXQtOSB7DQogICAgbWFyZ2luLWxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9DQoNCiAgLmxhcmdlLW9mZnNldC0xMCB7DQogICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJSAhaW1wb3J0YW50OyB9DQoNCiAgLmxhcmdlLW9mZnNldC0xMSB7DQogICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JSAhaW1wb3J0YW50OyB9DQoNCiAgLmxhcmdlLXJlc2V0LW9yZGVyIHsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgbGVmdDogYXV0bzsNCiAgICByaWdodDogYXV0bzsNCiAgICBmbG9hdDogbGVmdDsgfQ0KDQogIC5jb2x1bW4ubGFyZ2UtY2VudGVyZWQsDQogIC5jb2x1bW5zLmxhcmdlLWNlbnRlcmVkIHsNCiAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgZmxvYXQ6IG5vbmU7IH0NCg0KICAuY29sdW1uLmxhcmdlLXVuY2VudGVyZWQsDQogIC5jb2x1bW5zLmxhcmdlLXVuY2VudGVyZWQgew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICBmbG9hdDogbGVmdDsgfQ0KDQogIC5jb2x1bW4ubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZCwNCiAgLmNvbHVtbnMubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZCB7DQogICAgZmxvYXQ6IG5vbmU7IH0NCg0KICAuY29sdW1uLmxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCwNCiAgLmNvbHVtbnMubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkIHsNCiAgICBmbG9hdDogbGVmdDsgfQ0KDQogIC5jb2x1bW4ubGFyZ2UtdW5jZW50ZXJlZC5vcHBvc2l0ZSwNCiAgLmNvbHVtbnMubGFyZ2UtdW5jZW50ZXJlZC5vcHBvc2l0ZSB7DQogICAgZmxvYXQ6IHJpZ2h0OyB9DQoNCiAgLnJvdy5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sDQogIC5yb3cubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0NCiAgLnJvdy5sYXJnZS1jb2xsYXBzZSAucm93IHsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0NCiAgLnJvdy5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwNCiAgLnJvdy5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMgew0KICAgIHBhZGRpbmctbGVmdDogMC45Mzc1ZW07DQogICAgcGFkZGluZy1yaWdodDogMC45Mzc1ZW07DQogICAgZmxvYXQ6IGxlZnQ7IH0NCg0KICAucHVzaC0wIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogMCU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAucHVsbC0wIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDAlOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAucHVzaC0xIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogOC4zMzMzMyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAucHVsbC0xIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDguMzMzMzMlOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAucHVzaC0yIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogMTYuNjY2NjclOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnB1bGwtMiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiAxNi42NjY2NyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5wdXNoLTMgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiAyNSU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAucHVsbC0zIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDI1JTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnB1c2gtNCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDMzLjMzMzMzJTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5wdWxsLTQgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogMzMuMzMzMzMlOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAucHVzaC01IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogNDEuNjY2NjclOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnB1bGwtNSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA0MS42NjY2NyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5wdXNoLTYgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA1MCU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAucHVsbC02IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDUwJTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnB1c2gtNyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxlZnQ6IDU4LjMzMzMzJTsNCiAgICByaWdodDogYXV0bzsgfQ0KDQogIC5wdWxsLTcgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogNTguMzMzMzMlOw0KICAgIGxlZnQ6IGF1dG87IH0NCg0KICAucHVzaC04IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogNjYuNjY2NjclOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnB1bGwtOCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA2Ni42NjY2NyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5wdXNoLTkgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA3NSU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAucHVsbC05IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcmlnaHQ6IDc1JTsNCiAgICBsZWZ0OiBhdXRvOyB9DQoNCiAgLnB1c2gtMTAgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiA4My4zMzMzMyU7DQogICAgcmlnaHQ6IGF1dG87IH0NCg0KICAucHVsbC0xMCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHJpZ2h0OiA4My4zMzMzMyU7DQogICAgbGVmdDogYXV0bzsgfQ0KDQogIC5wdXNoLTExIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbGVmdDogOTEuNjY2NjclOw0KICAgIHJpZ2h0OiBhdXRvOyB9DQoNCiAgLnB1bGwtMTEgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICByaWdodDogOTEuNjY2NjclOw0KICAgIGxlZnQ6IGF1dG87IH0gfQ0KYnV0dG9uLCAuYnV0dG9uIHsNCiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgYm9yZGVyLXdpZHRoOiAwOw0KICBjdXJzb3I6IHBvaW50ZXI7DQogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGxpbmUtaGVpZ2h0OiBub3JtYWw7DQogIG1hcmdpbjogMCAwIDEuMjVyZW07DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsNCiAgLW1vei1hcHBlYXJhbmNlOiBub25lOw0KICBib3JkZXItcmFkaXVzOiAwOw0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHBhZGRpbmctdG9wOiAxcmVtOw0KICBwYWRkaW5nLXJpZ2h0OiAycmVtOw0KICBwYWRkaW5nLWJvdHRvbTogMS4wNjI1cmVtOw0KICBwYWRkaW5nLWxlZnQ6IDJyZW07DQogIGZvbnQtc2l6ZTogMXJlbTsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzJiYTZjYjsNCiAgYm9yZGVyLWNvbG9yOiAjMjI4NWEyOw0KICBjb2xvcjogI0ZGRkZGRjsNCiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dDsgfQ0KICBidXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzIyODVhMjsgfQ0KICBidXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7DQogICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnkgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWU5ZTk7DQogICAgYm9yZGVyLWNvbG9yOiAjYmFiYWJhOw0KICAgIGNvbG9yOiAjMzMzMzMzOyB9DQogICAgYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYWJhYmE7IH0NCiAgICBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMgew0KICAgICAgY29sb3I6ICMzMzMzMzM7IH0NCiAgYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24uc3VjY2VzcyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzVkYTQyMzsNCiAgICBib3JkZXItY29sb3I6ICM0YTgzMWM7DQogICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICBidXR0b24uc3VjY2Vzczpob3ZlciwgYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTgzMWM7IH0NCiAgICBidXR0b24uc3VjY2Vzczpob3ZlciwgYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogIGJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M2MGYxMzsNCiAgICBib3JkZXItY29sb3I6ICM5ZTBjMGY7DQogICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICBidXR0b24uYWxlcnQ6aG92ZXIsIGJ1dHRvbi5hbGVydDpmb2N1cywgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWUwYzBmOyB9DQogICAgYnV0dG9uLmFsZXJ0OmhvdmVyLCBidXR0b24uYWxlcnQ6Zm9jdXMsIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMgew0KICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgYnV0dG9uLndhcm5pbmcsIC5idXR0b24ud2FybmluZyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDsNCiAgICBib3JkZXItY29sb3I6ICNjZjZlMGU7DQogICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICBidXR0b24ud2FybmluZzpob3ZlciwgYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZjZlMGU7IH0NCiAgICBidXR0b24ud2FybmluZzpob3ZlciwgYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogIGJ1dHRvbi5pbmZvLCAuYnV0dG9uLmluZm8gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNhMGQzZTg7DQogICAgYm9yZGVyLWNvbG9yOiAjNjFiNmQ5Ow0KICAgIGNvbG9yOiAjMzMzMzMzOyB9DQogICAgYnV0dG9uLmluZm86aG92ZXIsIGJ1dHRvbi5pbmZvOmZvY3VzLCAuYnV0dG9uLmluZm86aG92ZXIsIC5idXR0b24uaW5mbzpmb2N1cyB7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjFiNmQ5OyB9DQogICAgYnV0dG9uLmluZm86aG92ZXIsIGJ1dHRvbi5pbmZvOmZvY3VzLCAuYnV0dG9uLmluZm86aG92ZXIsIC5idXR0b24uaW5mbzpmb2N1cyB7DQogICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICBidXR0b24ubGFyZ2UsIC5idXR0b24ubGFyZ2Ugew0KICAgIHBhZGRpbmctdG9wOiAxLjEyNXJlbTsNCiAgICBwYWRkaW5nLXJpZ2h0OiAyLjI1cmVtOw0KICAgIHBhZGRpbmctYm90dG9tOiAxLjE4NzVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAyLjI1cmVtOw0KICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfQ0KICBidXR0b24uc21hbGwsIC5idXR0b24uc21hbGwgew0KICAgIHBhZGRpbmctdG9wOiAwLjg3NXJlbTsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxLjc1cmVtOw0KICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtOw0KICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9DQogIGJ1dHRvbi50aW55LCAuYnV0dG9uLnRpbnkgew0KICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOw0KICAgIHBhZGRpbmctYm90dG9tOiAwLjY4NzVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOw0KICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9DQogIGJ1dHRvbi5leHBhbmQsIC5idXR0b24uZXhwYW5kIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICB3aWR0aDogMTAwJTsgfQ0KICBidXR0b24ubGVmdC1hbGlnbiwgLmJ1dHRvbi5sZWZ0LWFsaWduIHsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIHRleHQtaW5kZW50OiAwLjc1cmVtOyB9DQogIGJ1dHRvbi5yaWdodC1hbGlnbiwgLmJ1dHRvbi5yaWdodC1hbGlnbiB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogICAgcGFkZGluZy1yaWdodDogMC43NXJlbTsgfQ0KICBidXR0b24ucmFkaXVzLCAuYnV0dG9uLnJhZGl1cyB7DQogICAgYm9yZGVyLXJhZGl1czogM3B4OyB9DQogIGJ1dHRvbi5yb3VuZCwgLmJ1dHRvbi5yb3VuZCB7DQogICAgYm9yZGVyLXJhZGl1czogMTAwMHB4OyB9DQogIGJ1dHRvbi5kaXNhYmxlZCwgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyYmE2Y2I7DQogICAgYm9yZGVyLWNvbG9yOiAjMjI4NWEyOw0KICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIGN1cnNvcjogZGVmYXVsdDsNCiAgICBvcGFjaXR5OiAwLjc7DQogICAgYm94LXNoYWRvdzogbm9uZTsgfQ0KICAgIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMgew0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyODVhMjsgfQ0KICAgIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMgew0KICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYmE2Y2I7IH0NCiAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5Ow0KICAgICAgYm9yZGVyLWNvbG9yOiAjYmFiYWJhOw0KICAgICAgY29sb3I6ICMzMzMzMzM7DQogICAgICBjdXJzb3I6IGRlZmF1bHQ7DQogICAgICBvcGFjaXR5OiAwLjc7DQogICAgICBib3gtc2hhZG93OiBub25lOyB9DQogICAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMgew0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmFiYWJhOyB9DQogICAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMgew0KICAgICAgICBjb2xvcjogIzMzMzMzMzsgfQ0KICAgICAgYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZTllOTsgfQ0KICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWRhNDIzOw0KICAgICAgYm9yZGVyLWNvbG9yOiAjNGE4MzFjOw0KICAgICAgY29sb3I6ICNGRkZGRkY7DQogICAgICBjdXJzb3I6IGRlZmF1bHQ7DQogICAgICBvcGFjaXR5OiAwLjc7DQogICAgICBib3gtc2hhZG93OiBub25lOyB9DQogICAgICBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTgzMWM7IH0NCiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHsNCiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVkYTQyMzsgfQ0KICAgIGJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQgew0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M2MGYxMzsNCiAgICAgIGJvcmRlci1jb2xvcjogIzllMGMwZjsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgICAgb3BhY2l0eTogMC43Ow0KICAgICAgYm94LXNoYWRvdzogbm9uZTsgfQ0KICAgICAgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZTBjMGY7IH0NCiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMgew0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjBmMTM7IH0NCiAgICBidXR0b24uZGlzYWJsZWQud2FybmluZywgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcgew0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDsNCiAgICAgIGJvcmRlci1jb2xvcjogI2NmNmUwZTsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgICAgb3BhY2l0eTogMC43Ow0KICAgICAgYm94LXNoYWRvdzogbm9uZTsgfQ0KICAgICAgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMgew0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y2ZTBlOyB9DQogICAgICBidXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7DQogICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogICAgICBidXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7IH0NCiAgICBidXR0b24uZGlzYWJsZWQuaW5mbywgYnV0dG9uW2Rpc2FibGVkXS5pbmZvLCAuYnV0dG9uLmRpc2FibGVkLmluZm8sIC5idXR0b25bZGlzYWJsZWRdLmluZm8gew0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODsNCiAgICAgIGJvcmRlci1jb2xvcjogIzYxYjZkOTsNCiAgICAgIGNvbG9yOiAjMzMzMzMzOw0KICAgICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgICAgb3BhY2l0eTogMC43Ow0KICAgICAgYm94LXNoYWRvdzogbm9uZTsgfQ0KICAgICAgYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMgew0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjFiNmQ5OyB9DQogICAgICBidXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cyB7DQogICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogICAgICBidXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cyB7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMGQzZTg7IH0NCg0KYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsNCiAgYm9yZGVyOiAwOw0KICBwYWRkaW5nOiAwOyB9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgYnV0dG9uLCAuYnV0dG9uIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfQ0KLyogU3RhbmRhcmQgRm9ybXMgKi8NCmZvcm0gew0KICBtYXJnaW46IDAgMCAxcmVtOyB9DQoNCi8qIFVzaW5nIGZvcm1zIHdpdGhpbiByb3dzLCB3ZSBuZWVkIHRvIHNldCBzb21lIGRlZmF1bHRzICovDQpmb3JtIC5yb3cgLnJvdyB7DQogIG1hcmdpbjogMCAtMC41cmVtOyB9DQogIGZvcm0gLnJvdyAucm93IC5jb2x1bW4sDQogIGZvcm0gLnJvdyAucm93IC5jb2x1bW5zIHsNCiAgICBwYWRkaW5nOiAwIDAuNXJlbTsgfQ0KICBmb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSB7DQogICAgbWFyZ2luOiAwOyB9DQogICAgZm9ybSAucm93IC5yb3cuY29sbGFwc2UgLmNvbHVtbiwNCiAgICBmb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSAuY29sdW1ucyB7DQogICAgICBwYWRkaW5nOiAwOyB9DQogICAgZm9ybSAucm93IC5yb3cuY29sbGFwc2UgaW5wdXQgew0KICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9DQpmb3JtIC5yb3cgaW5wdXQuY29sdW1uLA0KZm9ybSAucm93IGlucHV0LmNvbHVtbnMsDQpmb3JtIC5yb3cgdGV4dGFyZWEuY29sdW1uLA0KZm9ybSAucm93IHRleHRhcmVhLmNvbHVtbnMgew0KICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfQ0KDQovKiBMYWJlbCBTdHlsZXMgKi8NCmxhYmVsIHsNCiAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgY29sb3I6ICM0ZDRkNGQ7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgZGlzcGxheTogYmxvY2s7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGxpbmUtaGVpZ2h0OiAxLjU7DQogIG1hcmdpbi1ib3R0b206IDA7DQogIC8qIFN0eWxlcyBmb3IgcmVxdWlyZWQgaW5wdXRzICovIH0NCiAgbGFiZWwucmlnaHQgew0KICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0NCiAgbGFiZWwuaW5saW5lIHsNCiAgICBtYXJnaW46IDAgMCAxcmVtIDA7DQogICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH0NCiAgbGFiZWwgc21hbGwgew0KICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOw0KICAgIGNvbG9yOiAjNjc2NzY3OyB9DQoNCi8qIEF0dGFjaCBlbGVtZW50cyB0byB0aGUgYmVnaW5uaW5nIG9yIGVuZCBvZiBhbiBpbnB1dCAqLw0KLnByZWZpeCwNCi5wb3N0Zml4IHsNCiAgZGlzcGxheTogYmxvY2s7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgei1pbmRleDogMjsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICB3aWR0aDogMTAwJTsNCiAgcGFkZGluZy10b3A6IDA7DQogIHBhZGRpbmctYm90dG9tOiAwOw0KICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICBib3JkZXItd2lkdGg6IDFweDsNCiAgb3ZlcmZsb3c6IHZpc2libGU7DQogIGZvbnQtc2l6ZTogMC44NzVyZW07DQogIGhlaWdodDogMi4zMTI1cmVtOw0KICBsaW5lLWhlaWdodDogMi4zMTI1cmVtOyB9DQoNCi8qIEFkanVzdCBwYWRkaW5nLCBhbGlnbm1lbnQgYW5kIHJhZGl1cyBpZiBwcmUvcG9zdCBlbGVtZW50IGlzIGEgYnV0dG9uICovDQoucG9zdGZpeC5idXR0b24gew0KICBwYWRkaW5nLWxlZnQ6IDA7DQogIHBhZGRpbmctcmlnaHQ6IDA7DQogIHBhZGRpbmctdG9wOiAwOw0KICBwYWRkaW5nLWJvdHRvbTogMDsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICBib3JkZXI6IG5vbmU7IH0NCg0KLnByZWZpeC5idXR0b24gew0KICBwYWRkaW5nLWxlZnQ6IDA7DQogIHBhZGRpbmctcmlnaHQ6IDA7DQogIHBhZGRpbmctdG9wOiAwOw0KICBwYWRkaW5nLWJvdHRvbTogMDsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICBib3JkZXI6IG5vbmU7IH0NCg0KLnByZWZpeC5idXR0b24ucmFkaXVzIHsNCiAgYm9yZGVyLXJhZGl1czogMDsNCiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsgfQ0KDQoucG9zdGZpeC5idXR0b24ucmFkaXVzIHsNCiAgYm9yZGVyLXJhZGl1czogMDsNCiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7IH0NCg0KLnByZWZpeC5idXR0b24ucm91bmQgew0KICBib3JkZXItcmFkaXVzOiAwOw0KICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDsNCiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7DQogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDsNCiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4OyB9DQoNCi5wb3N0Zml4LmJ1dHRvbi5yb3VuZCB7DQogIGJvcmRlci1yYWRpdXM6IDA7DQogIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDsNCiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4Ow0KICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4Ow0KICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9DQoNCi8qIFNlcGFyYXRlIHByZWZpeCBhbmQgcG9zdGZpeCBzdHlsZXMgd2hlbiBvbiBzcGFuIG9yIGxhYmVsIHNvIGJ1dHRvbnMga2VlcCB0aGVpciBvd24gKi8NCnNwYW4ucHJlZml4LCBsYWJlbC5wcmVmaXggew0KICBiYWNrZ3JvdW5kOiAjZjJmMmYyOw0KICBib3JkZXItcmlnaHQ6IG5vbmU7DQogIGNvbG9yOiAjMzMzMzMzOw0KICBib3JkZXItY29sb3I6ICNjY2NjY2M7IH0NCg0Kc3Bhbi5wb3N0Zml4LCBsYWJlbC5wb3N0Zml4IHsNCiAgYmFja2dyb3VuZDogI2YyZjJmMjsNCiAgYm9yZGVyLWxlZnQ6IG5vbmU7DQogIGNvbG9yOiAjMzMzMzMzOw0KICBib3JkZXItY29sb3I6ICNjY2NjY2M7IH0NCg0KLyogV2UgdXNlIHRoaXMgdG8gZ2V0IGJhc2ljIHN0eWxpbmcgb24gYWxsIGJhc2ljIGZvcm0gZWxlbWVudHMgKi8NCmlucHV0W3R5cGU9InRleHQiXSwgaW5wdXRbdHlwZT0icGFzc3dvcmQiXSwgaW5wdXRbdHlwZT0iZGF0ZSJdLCBpbnB1dFt0eXBlPSJkYXRldGltZSJdLCBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLCBpbnB1dFt0eXBlPSJtb250aCJdLCBpbnB1dFt0eXBlPSJ3ZWVrIl0sIGlucHV0W3R5cGU9ImVtYWlsIl0sIGlucHV0W3R5cGU9Im51bWJlciJdLCBpbnB1dFt0eXBlPSJzZWFyY2giXSwgaW5wdXRbdHlwZT0idGVsIl0sIGlucHV0W3R5cGU9InRpbWUiXSwgaW5wdXRbdHlwZT0idXJsIl0sIGlucHV0W3R5cGU9ImNvbG9yIl0sIHRleHRhcmVhIHsNCiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOw0KICBib3JkZXItcmFkaXVzOiAwOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KICBmb250LWZhbWlseTogaW5oZXJpdDsNCiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgYm9yZGVyLXdpZHRoOiAxcHg7DQogIGJvcmRlci1jb2xvcjogI2NjY2NjYzsNCiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBmb250LXNpemU6IDAuODc1cmVtOw0KICBtYXJnaW46IDAgMCAxcmVtIDA7DQogIHBhZGRpbmc6IDAuNXJlbTsNCiAgaGVpZ2h0OiAyLjMxMjVyZW07DQogIHdpZHRoOiAxMDAlOw0KICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGxpbmVhcjsgfQ0KICBpbnB1dFt0eXBlPSJ0ZXh0Il06Zm9jdXMsIGlucHV0W3R5cGU9InBhc3N3b3JkIl06Zm9jdXMsIGlucHV0W3R5cGU9ImRhdGUiXTpmb2N1cywgaW5wdXRbdHlwZT0iZGF0ZXRpbWUiXTpmb2N1cywgaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXTpmb2N1cywgaW5wdXRbdHlwZT0ibW9udGgiXTpmb2N1cywgaW5wdXRbdHlwZT0id2VlayJdOmZvY3VzLCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLCBpbnB1dFt0eXBlPSJudW1iZXIiXTpmb2N1cywgaW5wdXRbdHlwZT0ic2VhcmNoIl06Zm9jdXMsIGlucHV0W3R5cGU9InRlbCJdOmZvY3VzLCBpbnB1dFt0eXBlPSJ0aW1lIl06Zm9jdXMsIGlucHV0W3R5cGU9InVybCJdOmZvY3VzLCBpbnB1dFt0eXBlPSJjb2xvciJdOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cyB7DQogICAgYmFja2dyb3VuZDogI2ZhZmFmYTsNCiAgICBib3JkZXItY29sb3I6ICM5OTk5OTk7DQogICAgb3V0bGluZTogbm9uZTsgfQ0KICBpbnB1dFt0eXBlPSJ0ZXh0Il06ZGlzYWJsZWQsIGlucHV0W3R5cGU9InBhc3N3b3JkIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9ImRhdGUiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT0iZGF0ZXRpbWUiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT0ibW9udGgiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT0id2VlayJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPSJlbWFpbCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPSJudW1iZXIiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT0ic2VhcmNoIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9InRlbCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPSJ0aW1lIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9InVybCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPSJjb2xvciJdOmRpc2FibGVkLCB0ZXh0YXJlYTpkaXNhYmxlZCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDsNCiAgICBjdXJzb3I6IGRlZmF1bHQ7IH0NCiAgaW5wdXRbdHlwZT0idGV4dCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT0idGV4dCJdW3JlYWRvbmx5XSwgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9InRleHQiXSwgaW5wdXRbdHlwZT0icGFzc3dvcmQiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9InBhc3N3b3JkIl1bcmVhZG9ubHldLCBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT0icGFzc3dvcmQiXSwgaW5wdXRbdHlwZT0iZGF0ZSJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT0iZGF0ZSJdW3JlYWRvbmx5XSwgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9ImRhdGUiXSwgaW5wdXRbdHlwZT0iZGF0ZXRpbWUiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9ImRhdGV0aW1lIl1bcmVhZG9ubHldLCBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT0iZGF0ZXRpbWUiXSwgaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9ImRhdGV0aW1lLWxvY2FsIl1bcmVhZG9ubHldLCBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXSwgaW5wdXRbdHlwZT0ibW9udGgiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9Im1vbnRoIl1bcmVhZG9ubHldLCBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT0ibW9udGgiXSwgaW5wdXRbdHlwZT0id2VlayJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT0id2VlayJdW3JlYWRvbmx5XSwgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9IndlZWsiXSwgaW5wdXRbdHlwZT0iZW1haWwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9ImVtYWlsIl1bcmVhZG9ubHldLCBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT0iZW1haWwiXSwgaW5wdXRbdHlwZT0ibnVtYmVyIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPSJudW1iZXIiXVtyZWFkb25seV0sIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPSJudW1iZXIiXSwgaW5wdXRbdHlwZT0ic2VhcmNoIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPSJzZWFyY2giXVtyZWFkb25seV0sIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPSJzZWFyY2giXSwgaW5wdXRbdHlwZT0idGVsIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPSJ0ZWwiXVtyZWFkb25seV0sIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPSJ0ZWwiXSwgaW5wdXRbdHlwZT0idGltZSJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT0idGltZSJdW3JlYWRvbmx5XSwgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9InRpbWUiXSwgaW5wdXRbdHlwZT0idXJsIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPSJ1cmwiXVtyZWFkb25seV0sIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPSJ1cmwiXSwgaW5wdXRbdHlwZT0iY29sb3IiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9ImNvbG9yIl1bcmVhZG9ubHldLCBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT0iY29sb3IiXSwgdGV4dGFyZWFbZGlzYWJsZWRdLCB0ZXh0YXJlYVtyZWFkb25seV0sIGZpZWxkc2V0W2Rpc2FibGVkXSB0ZXh0YXJlYSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDsNCiAgICBjdXJzb3I6IGRlZmF1bHQ7IH0NCiAgaW5wdXRbdHlwZT0idGV4dCJdLnJhZGl1cywgaW5wdXRbdHlwZT0icGFzc3dvcmQiXS5yYWRpdXMsIGlucHV0W3R5cGU9ImRhdGUiXS5yYWRpdXMsIGlucHV0W3R5cGU9ImRhdGV0aW1lIl0ucmFkaXVzLCBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLnJhZGl1cywgaW5wdXRbdHlwZT0ibW9udGgiXS5yYWRpdXMsIGlucHV0W3R5cGU9IndlZWsiXS5yYWRpdXMsIGlucHV0W3R5cGU9ImVtYWlsIl0ucmFkaXVzLCBpbnB1dFt0eXBlPSJudW1iZXIiXS5yYWRpdXMsIGlucHV0W3R5cGU9InNlYXJjaCJdLnJhZGl1cywgaW5wdXRbdHlwZT0idGVsIl0ucmFkaXVzLCBpbnB1dFt0eXBlPSJ0aW1lIl0ucmFkaXVzLCBpbnB1dFt0eXBlPSJ1cmwiXS5yYWRpdXMsIGlucHV0W3R5cGU9ImNvbG9yIl0ucmFkaXVzLCB0ZXh0YXJlYS5yYWRpdXMgew0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfQ0KDQpmb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGlucHV0LA0KZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSwNCmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2Ugc2VsZWN0LA0KZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSBidXR0b24gew0KICBib3JkZXItcmFkaXVzOiAwOw0KICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsNCiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfQ0KZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSAucHJlZml4IHsNCiAgYm9yZGVyLXJhZGl1czogMDsNCiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsgfQ0KZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgaW5wdXQsDQpmb3JtIC5yb3cgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSwNCmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHNlbGVjdCwNCmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGJ1dHRvbiB7DQogIGJvcmRlci1yYWRpdXM6IDA7DQogIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsNCiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH0NCmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIC5wb3N0Zml4IHsNCiAgYm9yZGVyLXJhZGl1czogMDsNCiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7IH0NCmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSBpbnB1dCwNCmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSwNCmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSBzZWxlY3QsDQpmb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2UgYnV0dG9uIHsNCiAgYm9yZGVyLXJhZGl1czogMDsNCiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4Ow0KICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7DQogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7IH0NCmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSAucHJlZml4IHsNCiAgYm9yZGVyLXJhZGl1czogMDsNCiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7DQogIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4Ow0KICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDsgfQ0KZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSBpbnB1dCwNCmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2UgdGV4dGFyZWEsDQpmb3JtIC5yb3cgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHNlbGVjdCwNCmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2UgYnV0dG9uIHsNCiAgYm9yZGVyLXJhZGl1czogMDsNCiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7DQogIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4Ow0KICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDsgfQ0KZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSAucG9zdGZpeCB7DQogIGJvcmRlci1yYWRpdXM6IDA7DQogIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDsNCiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4Ow0KICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4Ow0KICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9DQoNCmlucHV0W3R5cGU9InN1Ym1pdCJdIHsNCiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOw0KICBib3JkZXItcmFkaXVzOiAwOyB9DQoNCi8qIFJlc3BlY3QgZW5mb3JjZWQgYW1vdW50IG9mIHJvd3MgZm9yIHRleHRhcmVhICovDQp0ZXh0YXJlYVtyb3dzXSB7DQogIGhlaWdodDogYXV0bzsgfQ0KDQovKiBOb3QgYWxsb3cgcmVzaXplIG91dCBvZiBwYXJlbnQgKi8NCnRleHRhcmVhIHsNCiAgbWF4LXdpZHRoOiAxMDAlOyB9DQoNCi8qIEFkZCBoZWlnaHQgdmFsdWUgZm9yIHNlbGVjdCBlbGVtZW50cyB0byBtYXRjaCB0ZXh0IGlucHV0IGhlaWdodCAqLw0Kc2VsZWN0IHsNCiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7DQogIGJvcmRlci1yYWRpdXM6IDA7DQogIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7DQogIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VEMGlNVEp3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpSd2VDSWdhR1ZwWjJoMFBTSXpjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJJRE1pSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURZZ015SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0kxTGprNU1pd3dJREl1T1RreUxETWdMVEF1TURBNExEQWdJaTgrUEM5emRtYyspOw0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIGNlbnRlcjsNCiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgYm9yZGVyLXdpZHRoOiAxcHg7DQogIGJvcmRlci1jb2xvcjogI2NjY2NjYzsNCiAgcGFkZGluZzogMC41cmVtOw0KICBmb250LXNpemU6IDAuODc1cmVtOw0KICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOw0KICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsNCiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsNCiAgYm9yZGVyLXJhZGl1czogMDsNCiAgaGVpZ2h0OiAyLjMxMjVyZW07IH0NCiAgc2VsZWN0OjotbXMtZXhwYW5kIHsNCiAgICBkaXNwbGF5OiBub25lOyB9DQogIHNlbGVjdC5yYWRpdXMgew0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfQ0KICBzZWxlY3Q6aG92ZXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7DQogICAgYm9yZGVyLWNvbG9yOiAjOTk5OTk5OyB9DQogIHNlbGVjdDpkaXNhYmxlZCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDsNCiAgICBjdXJzb3I6IGRlZmF1bHQ7IH0NCiAgc2VsZWN0W211bHRpcGxlXSB7DQogICAgaGVpZ2h0OiBhdXRvOyB9DQoNCi8qIEFkanVzdCBtYXJnaW4gZm9yIGZvcm0gZWxlbWVudHMgYmVsb3cgKi8NCmlucHV0W3R5cGU9ImZpbGUiXSwNCmlucHV0W3R5cGU9ImNoZWNrYm94Il0sDQppbnB1dFt0eXBlPSJyYWRpbyJdLA0Kc2VsZWN0IHsNCiAgbWFyZ2luOiAwIDAgMXJlbSAwOyB9DQoNCmlucHV0W3R5cGU9ImNoZWNrYm94Il0gKyBsYWJlbCwNCmlucHV0W3R5cGU9InJhZGlvIl0gKyBsYWJlbCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsNCiAgbWFyZ2luLXJpZ2h0OiAxcmVtOw0KICBtYXJnaW4tYm90dG9tOiAwOw0KICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH0NCg0KLyogTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGggKi8NCmlucHV0W3R5cGU9ImZpbGUiXSB7DQogIHdpZHRoOiAxMDAlOyB9DQoNCi8qIEhUTUw1IE51bWJlciBzcGlubmVycyBzZXR0aW5ncyAqLw0KLyogV2UgYWRkIGJhc2ljIGZpZWxkc2V0IHN0eWxpbmcgKi8NCmZpZWxkc2V0IHsNCiAgYm9yZGVyOiAxcHggc29saWQgI0RERERERDsNCiAgcGFkZGluZzogMS4yNXJlbTsNCiAgbWFyZ2luOiAxLjEyNXJlbSAwOyB9DQogIGZpZWxkc2V0IGxlZ2VuZCB7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgYmFja2dyb3VuZDogI0ZGRkZGRjsNCiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsNCiAgICBtYXJnaW46IDA7DQogICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07IH0NCg0KLyogRXJyb3IgSGFuZGxpbmcgKi8NCltkYXRhLWFiaWRlXSAuZXJyb3Igc21hbGwuZXJyb3IsIFtkYXRhLWFiaWRlXSAuZXJyb3Igc3Bhbi5lcnJvciwgW2RhdGEtYWJpZGVdIHNwYW4uZXJyb3IsIFtkYXRhLWFiaWRlXSBzbWFsbC5lcnJvciB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBwYWRkaW5nOiAwLjM3NXJlbSAwLjU2MjVyZW0gMC41NjI1cmVtOw0KICBtYXJnaW4tdG9wOiAtMXB4Ow0KICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KICBmb250LXNpemU6IDAuNzVyZW07DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgYmFja2dyb3VuZDogI2M2MGYxMzsNCiAgY29sb3I6ICNGRkZGRkY7IH0NCltkYXRhLWFiaWRlXSBzcGFuLmVycm9yLCBbZGF0YS1hYmlkZV0gc21hbGwuZXJyb3Igew0KICBkaXNwbGF5OiBub25lOyB9DQoNCnNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIHBhZGRpbmc6IDAuMzc1cmVtIDAuNTYyNXJlbSAwLjU2MjVyZW07DQogIG1hcmdpbi10b3A6IC0xcHg7DQogIG1hcmdpbi1ib3R0b206IDFyZW07DQogIGZvbnQtc2l6ZTogMC43NXJlbTsNCiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgZm9udC1zdHlsZTogaXRhbGljOw0KICBiYWNrZ3JvdW5kOiAjYzYwZjEzOw0KICBjb2xvcjogI0ZGRkZGRjsgfQ0KDQouZXJyb3IgaW5wdXQsDQouZXJyb3IgdGV4dGFyZWEsDQouZXJyb3Igc2VsZWN0IHsNCiAgbWFyZ2luLWJvdHRvbTogMDsgfQ0KLmVycm9yIGlucHV0W3R5cGU9ImNoZWNrYm94Il0sDQouZXJyb3IgaW5wdXRbdHlwZT0icmFkaW8iXSB7DQogIG1hcmdpbi1ib3R0b206IDFyZW07IH0NCi5lcnJvciBsYWJlbCwNCi5lcnJvciBsYWJlbC5lcnJvciB7DQogIGNvbG9yOiAjYzYwZjEzOyB9DQouZXJyb3Igc21hbGwuZXJyb3Igew0KICBkaXNwbGF5OiBibG9jazsNCiAgcGFkZGluZzogMC4zNzVyZW0gMC41NjI1cmVtIDAuNTYyNXJlbTsNCiAgbWFyZ2luLXRvcDogLTFweDsNCiAgbWFyZ2luLWJvdHRvbTogMXJlbTsNCiAgZm9udC1zaXplOiAwLjc1cmVtOw0KICBmb250LXdlaWdodDogbm9ybWFsOw0KICBmb250LXN0eWxlOiBpdGFsaWM7DQogIGJhY2tncm91bmQ6ICNjNjBmMTM7DQogIGNvbG9yOiAjRkZGRkZGOyB9DQouZXJyb3IgPiBsYWJlbCA+IHNtYWxsIHsNCiAgY29sb3I6ICM2NzY3Njc7DQogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Ow0KICBwYWRkaW5nOiAwOw0KICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsNCiAgZm9udC1zdHlsZTogbm9ybWFsOw0KICBmb250LXNpemU6IDYwJTsNCiAgbWFyZ2luOiAwOw0KICBkaXNwbGF5OiBpbmxpbmU7IH0NCi5lcnJvciBzcGFuLmVycm9yLW1lc3NhZ2Ugew0KICBkaXNwbGF5OiBibG9jazsgfQ0KDQppbnB1dC5lcnJvciwNCnRleHRhcmVhLmVycm9yLA0Kc2VsZWN0LmVycm9yIHsNCiAgbWFyZ2luLWJvdHRvbTogMDsgfQ0KDQpsYWJlbC5lcnJvciB7DQogIGNvbG9yOiAjYzYwZjEzOyB9DQoNCm1ldGEuZm91bmRhdGlvbi1tcS10b3BiYXIgew0KICBmb250LWZhbWlseTogIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo0MC4wNjNlbSkvIjsNCiAgd2lkdGg6IDU4Ljc1ZW07IH0NCg0KLyogV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gY29udGFpbiB0byBncmlkIHdpZHRoICovDQouY29udGFpbi10by1ncmlkIHsNCiAgd2lkdGg6IDEwMCU7DQogIGJhY2tncm91bmQ6ICMzMzMzMzM7IH0NCiAgLmNvbnRhaW4tdG8tZ3JpZCAudG9wLWJhciB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsgfQ0KDQouZml4ZWQgew0KICB3aWR0aDogMTAwJTsNCiAgbGVmdDogMDsNCiAgcG9zaXRpb246IGZpeGVkOw0KICB0b3A6IDA7DQogIHotaW5kZXg6IDk5OyB9DQogIC5maXhlZC5leHBhbmRlZDpub3QoLnRvcC1iYXIpIHsNCiAgICBvdmVyZmxvdy15OiBhdXRvOw0KICAgIGhlaWdodDogYXV0bzsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9DQogICAgLmZpeGVkLmV4cGFuZGVkOm5vdCgudG9wLWJhcikgLnRpdGxlLWFyZWEgew0KICAgICAgcG9zaXRpb246IGZpeGVkOw0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgICB6LWluZGV4OiA5OTsgfQ0KICAgIC5maXhlZC5leHBhbmRlZDpub3QoLnRvcC1iYXIpIC50b3AtYmFyLXNlY3Rpb24gew0KICAgICAgei1pbmRleDogOTg7DQogICAgICBtYXJnaW4tdG9wOiAyLjgxMjVyZW07IH0NCg0KLnRvcC1iYXIgew0KICBvdmVyZmxvdzogaGlkZGVuOw0KICBoZWlnaHQ6IDIuODEyNXJlbTsNCiAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBiYWNrZ3JvdW5kOiAjMzMzMzMzOw0KICBtYXJnaW4tYm90dG9tOiAwOyB9DQogIC50b3AtYmFyIHVsIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH0NCiAgLnRvcC1iYXIgLnJvdyB7DQogICAgbWF4LXdpZHRoOiBub25lOyB9DQogIC50b3AtYmFyIGZvcm0sDQogIC50b3AtYmFyIGlucHV0IHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOyB9DQogIC50b3AtYmFyIGlucHV0IHsNCiAgICBoZWlnaHQ6IDEuNzVyZW07DQogICAgcGFkZGluZy10b3A6IC4zNXJlbTsNCiAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtOw0KICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfQ0KICAudG9wLWJhciAuYnV0dG9uLCAudG9wLWJhciBidXR0b24gew0KICAgIHBhZGRpbmctdG9wOiAwLjQxMjVyZW07DQogICAgcGFkZGluZy1ib3R0b206IDAuNDEyNXJlbTsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfQ0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkgew0KICAgICAgLnRvcC1iYXIgLmJ1dHRvbiwgLnRvcC1iYXIgYnV0dG9uIHsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICB0b3A6IC0xcHg7IH0gfQ0KICAudG9wLWJhciAudGl0bGUtYXJlYSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG1hcmdpbjogMDsgfQ0KICAudG9wLWJhciAubmFtZSB7DQogICAgaGVpZ2h0OiAyLjgxMjVyZW07DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtc2l6ZTogMTZweDsgfQ0KICAgIC50b3AtYmFyIC5uYW1lIGgxLCAudG9wLWJhciAubmFtZSBoMiwgLnRvcC1iYXIgLm5hbWUgaDMsIC50b3AtYmFyIC5uYW1lIGg0LCAudG9wLWJhciAubmFtZSBwLCAudG9wLWJhciAubmFtZSBzcGFuIHsNCiAgICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07DQogICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsNCiAgICAgIG1hcmdpbjogMDsgfQ0KICAgICAgLnRvcC1iYXIgLm5hbWUgaDEgYSwgLnRvcC1iYXIgLm5hbWUgaDIgYSwgLnRvcC1iYXIgLm5hbWUgaDMgYSwgLnRvcC1iYXIgLm5hbWUgaDQgYSwgLnRvcC1iYXIgLm5hbWUgcCBhLCAudG9wLWJhciAubmFtZSBzcGFuIGEgew0KICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsNCiAgICAgICAgd2lkdGg6IDc1JTsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9DQogIC50b3AtYmFyIC50b2dnbGUtdG9wYmFyIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgcmlnaHQ6IDA7DQogICAgdG9wOiAwOyB9DQogICAgLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIgYSB7DQogICAgICBjb2xvcjogI0ZGRkZGRjsNCiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgICBmb250LXNpemU6IDAuODEyNXJlbTsNCiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsNCiAgICAgIGhlaWdodDogMi44MTI1cmVtOw0KICAgICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTsgfQ0KICAgIC50b3AtYmFyIC50b2dnbGUtdG9wYmFyLm1lbnUtaWNvbiB7DQogICAgICB0b3A6IDUwJTsNCiAgICAgIG1hcmdpbi10b3A6IC0xNnB4OyB9DQogICAgICAudG9wLWJhciAudG9nZ2xlLXRvcGJhci5tZW51LWljb24gYSB7DQogICAgICAgIGhlaWdodDogMzRweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7DQogICAgICAgIHBhZGRpbmc6IDAgMi41cmVtIDAgMC45Mzc1cmVtOw0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9DQogICAgICAgIC50b3AtYmFyIC50b2dnbGUtdG9wYmFyLm1lbnUtaWNvbiBhIHNwYW46OmFmdGVyIHsNCiAgICAgICAgICBjb250ZW50OiAiIjsNCiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgaGVpZ2h0OiAwOw0KICAgICAgICAgIHRvcDogNTAlOw0KICAgICAgICAgIG1hcmdpbi10b3A6IC04cHg7DQogICAgICAgICAgcmlnaHQ6IDAuOTM3NXJlbTsNCiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0ZGRkZGRiwgMCA3cHggMCAxcHggI0ZGRkZGRiwgMCAxNHB4IDAgMXB4ICNGRkZGRkY7DQogICAgICAgICAgd2lkdGg6IDE2cHg7IH0NCiAgICAgICAgLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIubWVudS1pY29uIGEgc3Bhbjpob3ZlcjphZnRlciB7DQogICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICIiLCAwIDdweCAwIDFweCAiIiwgMCAxNHB4IDAgMXB4ICIiOyB9DQogIC50b3AtYmFyLmV4cGFuZGVkIHsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0NCiAgICAudG9wLWJhci5leHBhbmRlZCAudGl0bGUtYXJlYSB7DQogICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9DQogICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvZ2dsZS10b3BiYXIgYSB7DQogICAgICBjb2xvcjogIzg4ODg4ODsgfQ0KICAgICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvZ2dsZS10b3BiYXIgYSBzcGFuOjphZnRlciB7DQogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjODg4ODg4LCAwIDdweCAwIDFweCAjODg4ODg4LCAwIDE0cHggMCAxcHggIzg4ODg4ODsgfQ0KDQoudG9wLWJhci1zZWN0aW9uIHsNCiAgbGVmdDogMDsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB3aWR0aDogYXV0bzsNCiAgdHJhbnNpdGlvbjogbGVmdCAzMDBtcyBlYXNlLW91dDsgfQ0KICAudG9wLWJhci1zZWN0aW9uIHVsIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogYXV0bzsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgbWFyZ2luOiAwOyB9DQogIC50b3AtYmFyLXNlY3Rpb24gLmRpdmlkZXIsDQogIC50b3AtYmFyLXNlY3Rpb24gW3JvbGU9InNlcGFyYXRvciJdIHsNCiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggIzFhMWExYTsNCiAgICBjbGVhcjogYm90aDsNCiAgICBoZWlnaHQ6IDFweDsNCiAgICB3aWR0aDogMTAwJTsgfQ0KICAudG9wLWJhci1zZWN0aW9uIHVsIGxpIHsNCiAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9DQogICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEgew0KICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgICAgcGFkZGluZzogMTJweCAwIDEycHggMDsNCiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOw0KICAgICAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsNCiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOw0KICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24gew0KICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsNCiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOw0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiYTZjYjsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjI4NWEyOw0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b246aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbjpmb2N1cyB7DQogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyODVhMjsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b246aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbjpmb2N1cyB7DQogICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zZWNvbmRhcnkgew0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5Ow0KICAgICAgICBib3JkZXItY29sb3I6ICNiYWJhYmE7DQogICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9DQogICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMgew0KICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYWJhYmE7IH0NCiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7DQogICAgICAgICAgY29sb3I6ICMzMzMzMzM7IH0NCiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zdWNjZXNzIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVkYTQyMzsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGE4MzFjOw0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc3VjY2Vzczpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMgew0KICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTgzMWM7IH0NCiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHsNCiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmFsZXJ0IHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M2MGYxMzsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOWUwYzBmOw0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uYWxlcnQ6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5hbGVydDpmb2N1cyB7DQogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzllMGMwZjsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uYWxlcnQ6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5hbGVydDpmb2N1cyB7DQogICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2Y2ZTBlOw0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24ud2FybmluZzpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLndhcm5pbmc6Zm9jdXMgew0KICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZjZlMGU7IH0NCiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHsNCiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24gew0KICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07DQogICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07DQogICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYmE2Y2I7DQogICAgICBib3JkZXItY29sb3I6ICMyMjg1YTI7DQogICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbjpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbjpmb2N1cyB7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjg1YTI7IH0NCiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b246aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b246Zm9jdXMgew0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zZWNvbmRhcnkgew0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5Ow0KICAgICAgICBib3JkZXItY29sb3I6ICNiYWJhYmE7DQogICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9DQogICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7DQogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JhYmFiYTsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMgew0KICAgICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnN1Y2Nlc3Mgew0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWRhNDIzOw0KICAgICAgICBib3JkZXItY29sb3I6ICM0YTgzMWM7DQogICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc3VjY2Vzczpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zdWNjZXNzOmZvY3VzIHsNCiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE4MzFjOyB9DQogICAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc3VjY2Vzczpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zdWNjZXNzOmZvY3VzIHsNCiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5hbGVydCB7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjBmMTM7DQogICAgICAgIGJvcmRlci1jb2xvcjogIzllMGMwZjsNCiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5hbGVydDpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5hbGVydDpmb2N1cyB7DQogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzllMGMwZjsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0OmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0OmZvY3VzIHsNCiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi53YXJuaW5nIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2Y2ZTBlOw0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLndhcm5pbmc6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ud2FybmluZzpmb2N1cyB7DQogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NmNmUwZTsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLndhcm5pbmc6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ud2FybmluZzpmb2N1cyB7DQogICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpOmhvdmVyOm5vdCguaGFzLWZvcm0pID4gYSB7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1Ow0KICAgICAgYmFja2dyb3VuZDogIzMzMzMzMzsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaS5hY3RpdmUgPiBhIHsNCiAgICAgIGJhY2tncm91bmQ6ICMyYmE2Y2I7DQogICAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaS5hY3RpdmUgPiBhOmhvdmVyIHsNCiAgICAgICAgYmFja2dyb3VuZDogIzI1OGZhZjsNCiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWZvcm0gew0KICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfQ0KICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQ0KICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biA+IGE6YWZ0ZXIgew0KICAgICAgY29udGVudDogIiI7DQogICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgIHdpZHRoOiAwOw0KICAgICAgaGVpZ2h0OiAwOw0KICAgICAgYm9yZGVyOiBpbnNldCA1cHg7DQogICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsNCiAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsNCiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOw0KICAgICAgbWFyZ2luLXRvcDogLTQuNXB4Ow0KICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgdG9wOiA1MCU7DQogICAgICByaWdodDogMDsgfQ0KICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCB7DQogICAgICBwb3NpdGlvbjogc3RhdGljOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24gew0KICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50Ow0KICAgICAgICBoZWlnaHQ6IGF1dG87DQogICAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsNCiAgICAgICAgY2xpcDogYXV0bzsNCiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQgPiBhOmFmdGVyIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsgfQ0KICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biB7DQogICAgcGFkZGluZzogMDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogMTAwJTsNCiAgICB0b3A6IDA7DQogICAgei1pbmRleDogOTk7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7DQogICAgaGVpZ2h0OiAxcHg7DQogICAgd2lkdGg6IDFweDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTsgfQ0KICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIHsNCiAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgaGVpZ2h0OiBhdXRvOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSBhIHsNCiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICAgICAgcGFkZGluZzogOHB4IDAuOTM3NXJlbTsgfQ0KICAgICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSBhLnBhcmVudC1saW5rIHsNCiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaS50aXRsZSBoNSwgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkucGFyZW50LWxpbmsgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgICBtYXJnaW4tdG9wOiAwOw0KICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9DQogICAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLnRpdGxlIGg1IGEsIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLnBhcmVudC1saW5rIGEgew0KICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9DQogICAgICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkudGl0bGUgaDUgYTpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkucGFyZW50LWxpbmsgYTpob3ZlciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaS5oYXMtZm9ybSB7DQogICAgICAgIHBhZGRpbmc6IDhweCAwLjkzNzVyZW07IH0NCiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIC5idXR0b24sIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIGJ1dHRvbiB7DQogICAgICAgIHRvcDogYXV0bzsgfQ0KICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxhYmVsIHsNCiAgICAgIHBhZGRpbmc6IDhweCAwLjkzNzVyZW0gMnB4Ow0KICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgICBjb2xvcjogIzc3Nzc3NzsNCiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfQ0KDQouanMtZ2VuZXJhdGVkIHsNCiAgZGlzcGxheTogYmxvY2s7IH0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAudG9wLWJhciB7DQogICAgYmFja2dyb3VuZDogIzMzMzMzMzsNCiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfQ0KICAgIC50b3AtYmFyOmJlZm9yZSwgLnRvcC1iYXI6YWZ0ZXIgew0KICAgICAgY29udGVudDogIiAiOw0KICAgICAgZGlzcGxheTogdGFibGU7IH0NCiAgICAudG9wLWJhcjphZnRlciB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KICAgIC50b3AtYmFyIC50b2dnbGUtdG9wYmFyIHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7IH0NCiAgICAudG9wLWJhciAudGl0bGUtYXJlYSB7DQogICAgICBmbG9hdDogbGVmdDsgfQ0KICAgIC50b3AtYmFyIC5uYW1lIGgxIGEsDQogICAgLnRvcC1iYXIgLm5hbWUgaDIgYSwNCiAgICAudG9wLWJhciAubmFtZSBoMyBhLA0KICAgIC50b3AtYmFyIC5uYW1lIGg0IGEsDQogICAgLnRvcC1iYXIgLm5hbWUgaDUgYSwNCiAgICAudG9wLWJhciAubmFtZSBoNiBhIHsNCiAgICAgIHdpZHRoOiBhdXRvOyB9DQogICAgLnRvcC1iYXIgaW5wdXQsDQogICAgLnRvcC1iYXIgLmJ1dHRvbiwNCiAgICAudG9wLWJhciBidXR0b24gew0KICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgIGhlaWdodDogMS43NXJlbTsNCiAgICAgIHRvcDogMC41MzEyNXJlbTsgfQ0KICAgIC50b3AtYmFyLmV4cGFuZGVkIHsNCiAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7IH0NCg0KICAuY29udGFpbi10by1ncmlkIC50b3AtYmFyIHsNCiAgICBtYXgtd2lkdGg6IDYyLjVlbTsNCiAgICBtYXJnaW46IDAgYXV0bzsNCiAgICBtYXJnaW4tYm90dG9tOiAwOyB9DQoNCiAgLnRvcC1iYXItc2VjdGlvbiB7DQogICAgdHJhbnNpdGlvbjogbm9uZSAwIDA7DQogICAgbGVmdDogMCAhaW1wb3J0YW50OyB9DQogICAgLnRvcC1iYXItc2VjdGlvbiB1bCB7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgZGlzcGxheTogaW5saW5lOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0NCiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSAuanMtZ2VuZXJhdGVkIHsNCiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9DQogICAgLnRvcC1iYXItc2VjdGlvbiBsaS5ob3ZlciA+IGE6bm90KC5idXR0b24pIHsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTU7DQogICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOw0KICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICAudG9wLWJhci1zZWN0aW9uIGxpOm5vdCguaGFzLWZvcm0pIGE6bm90KC5idXR0b24pIHsNCiAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtOw0KICAgICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTsNCiAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7IH0NCiAgICAgIC50b3AtYmFyLXNlY3Rpb24gbGk6bm90KC5oYXMtZm9ybSkgYTpub3QoLmJ1dHRvbik6aG92ZXIgew0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1Ow0KICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9DQogICAgLnRvcC1iYXItc2VjdGlvbiBsaS5hY3RpdmU6bm90KC5oYXMtZm9ybSkgYTpub3QoLmJ1dHRvbikgew0KICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07DQogICAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtOw0KICAgICAgY29sb3I6ICNGRkZGRkY7DQogICAgICBiYWNrZ3JvdW5kOiAjMmJhNmNiOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIGxpLmFjdGl2ZTpub3QoLmhhcy1mb3JtKSBhOm5vdCguYnV0dG9uKTpob3ZlciB7DQogICAgICAgIGJhY2tncm91bmQ6ICMyNThmYWY7DQogICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogICAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYSB7DQogICAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NzVyZW0gIWltcG9ydGFudDsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTphZnRlciB7DQogICAgICAgIGNvbnRlbnQ6ICIiOw0KICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgd2lkdGg6IDA7DQogICAgICAgIGhlaWdodDogMDsNCiAgICAgICAgYm9yZGVyOiBpbnNldCA1cHg7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgbWFyZ2luLXRvcDogLTIuNXB4Ow0KICAgICAgICB0b3A6IDEuNDA2MjVyZW07IH0NCiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQgew0KICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24gew0KICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7DQogICAgICAgIGhlaWdodDogMXB4Ow0KICAgICAgICB3aWR0aDogMXB4Ow0KICAgICAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH0NCiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24uaG92ZXIgPiAuZHJvcGRvd24sIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5ub3QtY2xpY2s6aG92ZXIgPiAuZHJvcGRvd24gew0KICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7DQogICAgICBoZWlnaHQ6IGF1dG87DQogICAgICB3aWR0aDogYXV0bzsNCiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOw0KICAgICAgY2xpcDogYXV0bzsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9DQogICAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTpmb2N1cyArIC5kcm9wZG93biB7DQogICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsNCiAgICAgIGhlaWdodDogYXV0bzsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgb3ZlcmZsb3c6IHZpc2libGU7DQogICAgICBjbGlwOiBhdXRvOw0KICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH0NCiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24gLmRyb3Bkb3duIGxpLmhhcy1kcm9wZG93biA+IGE6YWZ0ZXIgew0KICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgY29udGVudDogIlwwMGJiIjsNCiAgICAgIHRvcDogMXJlbTsNCiAgICAgIG1hcmdpbi10b3A6IC0xcHg7DQogICAgICByaWdodDogNXB4Ow0KICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfQ0KICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIHsNCiAgICAgIGxlZnQ6IDA7DQogICAgICB0b3A6IGF1dG87DQogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCiAgICAgIG1pbi13aWR0aDogMTAwJTsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkgYSB7DQogICAgICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgICAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtOw0KICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgICAgICBwYWRkaW5nOiAxMnB4IDAuOTM3NXJlbTsNCiAgICAgICAgYmFja2dyb3VuZDogIzMzMzMzMzsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGk6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpID4gYTpub3QoLmJ1dHRvbikgew0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsNCiAgICAgICAgYmFja2dyb3VuZDogIzMzMzMzMzsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGk6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpOmhvdmVyID4gYTpub3QoLmJ1dHRvbikgew0KICAgICAgICBjb2xvcjogI0ZGRkZGRjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTsNCiAgICAgICAgYmFja2dyb3VuZDogIzMzMzMzMzsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkgbGFiZWwgew0KICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSAuZHJvcGRvd24gew0KICAgICAgICBsZWZ0OiAxMDAlOw0KICAgICAgICB0b3A6IDA7IH0NCiAgICAudG9wLWJhci1zZWN0aW9uID4gdWwgPiAuZGl2aWRlciwgLnRvcC1iYXItc2VjdGlvbiA+IHVsID4gW3JvbGU9InNlcGFyYXRvciJdIHsNCiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgICBib3JkZXItdG9wOiBub25lOw0KICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggIzRlNGU0ZTsNCiAgICAgIGNsZWFyOiBub25lOw0KICAgICAgaGVpZ2h0OiAyLjgxMjVyZW07DQogICAgICB3aWR0aDogMDsgfQ0KICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1mb3JtIHsNCiAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7DQogICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsNCiAgICAgIGhlaWdodDogMi44MTI1cmVtOyB9DQogICAgLnRvcC1iYXItc2VjdGlvbiAucmlnaHQgbGkgLmRyb3Bkb3duIHsNCiAgICAgIGxlZnQ6IGF1dG87DQogICAgICByaWdodDogMDsgfQ0KICAgICAgLnRvcC1iYXItc2VjdGlvbiAucmlnaHQgbGkgLmRyb3Bkb3duIGxpIC5kcm9wZG93biB7DQogICAgICAgIHJpZ2h0OiAxMDAlOyB9DQogICAgLnRvcC1iYXItc2VjdGlvbiAubGVmdCBsaSAuZHJvcGRvd24gew0KICAgICAgcmlnaHQ6IGF1dG87DQogICAgICBsZWZ0OiAwOyB9DQogICAgICAudG9wLWJhci1zZWN0aW9uIC5sZWZ0IGxpIC5kcm9wZG93biBsaSAuZHJvcGRvd24gew0KICAgICAgICBsZWZ0OiAxMDAlOyB9DQoNCiAgLm5vLWpzIC50b3AtYmFyLXNlY3Rpb24gdWwgbGk6aG92ZXIgPiBhIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1Ow0KICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7DQogICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgLm5vLWpzIC50b3AtYmFyLXNlY3Rpb24gdWwgbGk6YWN0aXZlID4gYSB7DQogICAgYmFja2dyb3VuZDogIzJiYTZjYjsNCiAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duOmhvdmVyID4gLmRyb3Bkb3duIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7DQogICAgaGVpZ2h0OiBhdXRvOw0KICAgIHdpZHRoOiBhdXRvOw0KICAgIG92ZXJmbG93OiB2aXNpYmxlOw0KICAgIGNsaXA6IGF1dG87DQogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH0NCiAgLm5vLWpzIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biA+IGE6Zm9jdXMgKyAuZHJvcGRvd24gew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgd2lkdGg6IGF1dG87DQogICAgb3ZlcmZsb3c6IHZpc2libGU7DQogICAgY2xpcDogYXV0bzsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfSB9DQouYnJlYWRjcnVtYnMgew0KICBkaXNwbGF5OiBibG9jazsNCiAgcGFkZGluZzogMC41NjI1cmVtIDAuODc1cmVtIDAuNTYyNXJlbTsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgbWFyZ2luLWxlZnQ6IDA7DQogIGxpc3Qtc3R5bGU6IG5vbmU7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQogIGJvcmRlci13aWR0aDogMXB4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlOw0KICBib3JkZXItY29sb3I6ICNkZGRkZGQ7DQogIGJvcmRlci1yYWRpdXM6IDNweDsgfQ0KICAuYnJlYWRjcnVtYnMgPiAqIHsNCiAgICBtYXJnaW46IDA7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgZm9udC1zaXplOiAwLjY4NzVyZW07DQogICAgbGluZS1oZWlnaHQ6IDAuNjg3NXJlbTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIGNvbG9yOiAjMmJhNmNiOyB9DQogICAgLmJyZWFkY3J1bWJzID4gKjpob3ZlciBhLCAuYnJlYWRjcnVtYnMgPiAqOmZvY3VzIGEgew0KICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0NCiAgICAuYnJlYWRjcnVtYnMgPiAqIGEgew0KICAgICAgY29sb3I6ICMyYmE2Y2I7IH0NCiAgICAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQgew0KICAgICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgICAgY29sb3I6ICMzMzMzMzM7IH0NCiAgICAgIC5icmVhZGNydW1icyA+ICouY3VycmVudCBhIHsNCiAgICAgICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgICAgICBjb2xvcjogIzMzMzMzMzsgfQ0KICAgICAgLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50OmhvdmVyLCAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQ6aG92ZXIgYSwgLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50OmZvY3VzLCAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQ6Zm9jdXMgYSB7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQ0KICAgIC5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGUgew0KICAgICAgY29sb3I6ICM5OTk5OTk7IH0NCiAgICAgIC5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGUgYSB7DQogICAgICAgIGNvbG9yOiAjOTk5OTk5OyB9DQogICAgICAuYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlOmhvdmVyLCAuYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlOmhvdmVyIGEsIC5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGU6Zm9jdXMsDQogICAgICAuYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlIGE6Zm9jdXMgew0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGNvbG9yOiAjOTk5OTk5Ow0KICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9DQogICAgLmJyZWFkY3J1bWJzID4gKjpiZWZvcmUgew0KICAgICAgY29udGVudDogIi8iOw0KICAgICAgY29sb3I6ICNBQUFBQUE7DQogICAgICBtYXJnaW46IDAgMC43NXJlbTsNCiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgIHRvcDogMXB4OyB9DQogICAgLmJyZWFkY3J1bWJzID4gKjpmaXJzdC1jaGlsZDpiZWZvcmUgew0KICAgICAgY29udGVudDogIiAiOw0KICAgICAgbWFyZ2luOiAwOyB9DQoNCi8qIEFjY2Vzc2liaWxpdHkgLSBoaWRlcyB0aGUgZm9yd2FyZCBzbGFzaCAqLw0KW2FyaWEtbGFiZWw9ImJyZWFkY3J1bWJzIl0gW2FyaWEtaGlkZGVuPSJ0cnVlIl06YWZ0ZXIgew0KICBjb250ZW50OiAiLyI7IH0NCg0KLmFsZXJ0LWJveCB7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQogIGJvcmRlci13aWR0aDogMXB4Ow0KICBkaXNwbGF5OiBibG9jazsNCiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nOiAwLjg3NXJlbSAxLjVyZW0gMC44NzVyZW0gMC44NzVyZW07DQogIGZvbnQtc2l6ZTogMC44MTI1cmVtOw0KICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2Utb3V0Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmJhNmNiOw0KICBib3JkZXItY29sb3I6ICMyNThmYWY7DQogIGNvbG9yOiAjRkZGRkZGOyB9DQogIC5hbGVydC1ib3ggLmNsb3NlIHsNCiAgICBmb250LXNpemU6IDEuMzc1cmVtOw0KICAgIHBhZGRpbmc6IDAgNnB4IDRweDsNCiAgICBsaW5lLWhlaWdodDogLjk7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogNTAlOw0KICAgIG1hcmdpbi10b3A6IC0wLjY4NzVyZW07DQogICAgcmlnaHQ6IDAuMjVyZW07DQogICAgY29sb3I6ICMzMzMzMzM7DQogICAgb3BhY2l0eTogMC4zOw0KICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7IH0NCiAgICAuYWxlcnQtYm94IC5jbG9zZTpob3ZlciwgLmFsZXJ0LWJveCAuY2xvc2U6Zm9jdXMgew0KICAgICAgb3BhY2l0eTogMC41OyB9DQogIC5hbGVydC1ib3gucmFkaXVzIHsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH0NCiAgLmFsZXJ0LWJveC5yb3VuZCB7DQogICAgYm9yZGVyLXJhZGl1czogMTAwMHB4OyB9DQogIC5hbGVydC1ib3guc3VjY2VzcyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzVkYTQyMzsNCiAgICBib3JkZXItY29sb3I6ICM1MDhkMWU7DQogICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgLmFsZXJ0LWJveC5hbGVydCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M2MGYxMzsNCiAgICBib3JkZXItY29sb3I6ICNhYTBkMTA7DQogICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgLmFsZXJ0LWJveC5zZWNvbmRhcnkgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWU5ZTk7DQogICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4Ow0KICAgIGNvbG9yOiAjNGY0ZjRmOyB9DQogIC5hbGVydC1ib3gud2FybmluZyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDsNCiAgICBib3JkZXItY29sb3I6ICNkZTc3MGY7DQogICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgLmFsZXJ0LWJveC5pbmZvIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkM2U4Ow0KICAgIGJvcmRlci1jb2xvcjogIzc0YmZkZDsNCiAgICBjb2xvcjogIzRmNGY0ZjsgfQ0KICAuYWxlcnQtYm94LmFsZXJ0LWNsb3NlIHsNCiAgICBvcGFjaXR5OiAwOyB9DQoNCi5pbmxpbmUtbGlzdCB7DQogIG1hcmdpbjogMCBhdXRvIDEuMDYyNXJlbSBhdXRvOw0KICBtYXJnaW4tbGVmdDogLTEuMzc1cmVtOw0KICBtYXJnaW4tcmlnaHQ6IDA7DQogIHBhZGRpbmc6IDA7DQogIGxpc3Qtc3R5bGU6IG5vbmU7DQogIG92ZXJmbG93OiBoaWRkZW47IH0NCiAgLmlubGluZS1saXN0ID4gbGkgew0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgbWFyZ2luLWxlZnQ6IDEuMzc1cmVtOw0KICAgIGRpc3BsYXk6IGJsb2NrOyB9DQogICAgLmlubGluZS1saXN0ID4gbGkgPiAqIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9DQoNCi5idXR0b24tZ3JvdXAgew0KICBsaXN0LXN0eWxlOiBub25lOw0KICBtYXJnaW46IDA7DQogIGxlZnQ6IDA7IH0NCiAgLmJ1dHRvbi1ncm91cDpiZWZvcmUsIC5idXR0b24tZ3JvdXA6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICIgIjsNCiAgICBkaXNwbGF5OiB0YWJsZTsgfQ0KICAuYnV0dG9uLWdyb3VwOmFmdGVyIHsNCiAgICBjbGVhcjogYm90aDsgfQ0KICAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaSB7DQogICAgbWFyZ2luOiAwIC0ycHg7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHdpZHRoOiA1MCU7IH0NCiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTIgbGkgLmJ1dHRvbiB7DQogICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkOw0KICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH0NCiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi0yIGxpOmZpcnN0LWNoaWxkIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDA7IH0NCiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaSBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi0yIGxpIC5idXR0b24gew0KICAgICAgd2lkdGg6IDEwMCU7IH0NCiAgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGkgew0KICAgIG1hcmdpbjogMCAtMnB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogMzMuMzMzMzMlOyB9DQogICAgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi0zIGxpIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsNCiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9DQogICAgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tMyBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHsNCiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9DQogICAgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tMyBsaSAuYnV0dG9uIHsNCiAgICAgIHdpZHRoOiAxMDAlOyB9DQogIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpIHsNCiAgICBtYXJnaW46IDAgLTJweDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDI1JTsgfQ0KICAgIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNCBsaSAuYnV0dG9uIHsNCiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7DQogICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfQ0KICAgIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTQgbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7DQogICAgICBib3JkZXItbGVmdDogMDsgfQ0KICAgIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTQgbGkgLmJ1dHRvbiB7DQogICAgICB3aWR0aDogMTAwJTsgfQ0KICAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaSB7DQogICAgbWFyZ2luOiAwIC0ycHg7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHdpZHRoOiAyMCU7IH0NCiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTUgbGkgLmJ1dHRvbiB7DQogICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkOw0KICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH0NCiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi01IGxpOmZpcnN0LWNoaWxkIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDA7IH0NCiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaSBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi01IGxpIC5idXR0b24gew0KICAgICAgd2lkdGg6IDEwMCU7IH0NCiAgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGkgew0KICAgIG1hcmdpbjogMCAtMnB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogMTYuNjY2NjclOyB9DQogICAgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi02IGxpIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsNCiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9DQogICAgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHsNCiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9DQogICAgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNiBsaSAuYnV0dG9uIHsNCiAgICAgIHdpZHRoOiAxMDAlOyB9DQogIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpIHsNCiAgICBtYXJnaW46IDAgLTJweDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDE0LjI4NTcxJTsgfQ0KICAgIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNyBsaSAuYnV0dG9uIHsNCiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7DQogICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfQ0KICAgIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTcgbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7DQogICAgICBib3JkZXItbGVmdDogMDsgfQ0KICAgIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTcgbGkgLmJ1dHRvbiB7DQogICAgICB3aWR0aDogMTAwJTsgfQ0KICAuYnV0dG9uLWdyb3VwLmV2ZW4tOCBsaSB7DQogICAgbWFyZ2luOiAwIC0ycHg7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHdpZHRoOiAxMi41JTsgfQ0KICAgIC5idXR0b24tZ3JvdXAuZXZlbi04IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tOCBsaSAuYnV0dG9uIHsNCiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7DQogICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfQ0KICAgIC5idXR0b24tZ3JvdXAuZXZlbi04IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTggbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7DQogICAgICBib3JkZXItbGVmdDogMDsgfQ0KICAgIC5idXR0b24tZ3JvdXAuZXZlbi04IGxpIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTggbGkgLmJ1dHRvbiB7DQogICAgICB3aWR0aDogMTAwJTsgfQ0KICAuYnV0dG9uLWdyb3VwID4gbGkgew0KICAgIG1hcmdpbjogMCAtMnB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQ0KICAgIC5idXR0b24tZ3JvdXAgPiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cCA+IGxpIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsNCiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9DQogICAgLmJ1dHRvbi1ncm91cCA+IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cCA+IGxpOmZpcnN0LWNoaWxkIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDA7IH0NCiAgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpIHsNCiAgICBtYXJnaW46IDAgLTJweDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luOiAwOw0KICAgIGZsb2F0OiBub25lOyB9DQogICAgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGkgLmJ1dHRvbiB7DQogICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkOw0KICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7DQogICAgICBib3JkZXItbGVmdDogMDsgfQ0KICAgIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpIC5idXR0b24gew0KICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkOw0KICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7DQogICAgICBib3JkZXItbGVmdC13aWR0aDogMDsNCiAgICAgIG1hcmdpbjogMDsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9DQogICAgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpID4gYnV0dG9uIHsNCiAgICAgIHdpZHRoOiAxMDAlOyB9DQogICAgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpOmZpcnN0LWNoaWxkIC5idXR0b24gew0KICAgICAgYm9yZGVyLXRvcDogMDsgfQ0KICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpIHsNCiAgICBtYXJnaW46IDAgLTJweDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsNCiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9DQogICAgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7DQogICAgICBib3JkZXItbGVmdDogMDsgfQ0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkgew0KICAgICAgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSB7DQogICAgICAgIG1hcmdpbjogMCAtMnB4Ow0KICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICBtYXJnaW46IDA7IH0NCiAgICAgICAgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSAuYnV0dG9uIHsNCiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkOw0KICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9DQogICAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpOmZpcnN0LWNoaWxkIC5idXR0b24gew0KICAgICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9DQogICAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkgLmJ1dHRvbiB7DQogICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkOw0KICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOw0KICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOw0KICAgICAgICAgIG1hcmdpbjogMDsNCiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfQ0KICAgICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpID4gYnV0dG9uIHsNCiAgICAgICAgICB3aWR0aDogMTAwJTsgfQ0KICAgICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHsNCiAgICAgICAgICBib3JkZXItdG9wOiAwOyB9IH0NCiAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqIHsNCiAgICBtYXJnaW46IDAgLTJweDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiAuYnV0dG9uIHsNCiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7DQogICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfQ0KICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHsNCiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9DQogICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqLCAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICogPiBhLCAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiA+IC5idXR0b24gew0KICAgICAgYm9yZGVyLXJhZGl1czogMDsgfQ0KICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqOmZpcnN0LWNoaWxkID4gYSwgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHsNCiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqOmxhc3QtY2hpbGQgPiBhLCAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6bGFzdC1jaGlsZCA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHsNCiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsNCiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9DQogIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiB7DQogICAgbWFyZ2luOiAwIC0ycHg7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG1hcmdpbjogMDsgfQ0KICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsNCiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9DQogICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDA7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiAuYnV0dG9uIHsNCiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDsNCiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOw0KICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7DQogICAgICBtYXJnaW46IDA7DQogICAgICBkaXNwbGF5OiBibG9jazsgfQ0KICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiA+IGJ1dHRvbiB7DQogICAgICB3aWR0aDogMTAwJTsgfQ0KICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHsNCiAgICAgIGJvcmRlci10b3A6IDA7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICosIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiA+IGEsIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqID4gLmJ1dHRvbiB7DQogICAgICBib3JkZXItcmFkaXVzOiAwOyB9DQogICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgPiBhLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpmaXJzdC1jaGlsZCA+IC5idXR0b24gew0KICAgICAgLXdlYmtpdC10b3AtbGVmdC1yYWRpdXM6IDNweDsNCiAgICAgIC13ZWJraXQtdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfQ0KICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6bGFzdC1jaGlsZCA+IGEsIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6bGFzdC1jaGlsZCA+IC5idXR0b24gew0KICAgICAgLXdlYmtpdC1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCiAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsgfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7DQogICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiB7DQogICAgICBtYXJnaW46IDAgLTJweDsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHsNCiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH0NCiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24gew0KICAgICAgICBib3JkZXItbGVmdDogMDsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGEsIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiAuYnV0dG9uIHsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IGEsIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHsNCiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiBhLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCA+IC5idXR0b24gew0KICAgICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsNCiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfSB9DQogIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkgew0KICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogew0KICAgICAgbWFyZ2luOiAwIC0ycHg7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgIG1hcmdpbjogMDsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHsNCiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH0NCiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24gew0KICAgICAgICBib3JkZXItbGVmdDogMDsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHsNCiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsNCiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7DQogICAgICAgIG1hcmdpbjogMDsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0NCiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24gew0KICAgICAgICB3aWR0aDogMTAwJTsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7DQogICAgICAgIGJvcmRlci10b3A6IDA7IH0NCiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICosIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBhLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqID4gLmJ1dHRvbiB7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0NCiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBhLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7DQogICAgICAgIC13ZWJraXQtdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgICAgIC13ZWJraXQtdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7IH0NCiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYSwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHsNCiAgICAgICAgLXdlYmtpdC1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCiAgICAgICAgLXdlYmtpdC1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsgfSB9DQogIC5idXR0b24tZ3JvdXAucm91bmQgPiAqIHsNCiAgICBtYXJnaW46IDAgLTJweDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICogLmJ1dHRvbiB7DQogICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkOw0KICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDA7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKiwgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICogPiBhLCAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICogPiAuYnV0dG9uIHsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpmaXJzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQgPiBhLCAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpmaXJzdC1jaGlsZCA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHsNCiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4Ow0KICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7DQogICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7DQogICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpsYXN0LWNoaWxkID4gYSwgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6bGFzdC1jaGlsZCA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6bGFzdC1jaGlsZCA+IC5idXR0b24gew0KICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4Ow0KICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4Ow0KICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDsNCiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7IH0NCiAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogew0KICAgIG1hcmdpbjogMCAtMnB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW46IDA7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogLmJ1dHRvbiB7DQogICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkOw0KICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24gew0KICAgICAgYm9yZGVyLWxlZnQ6IDA7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogLmJ1dHRvbiB7DQogICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7DQogICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsNCiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOw0KICAgICAgbWFyZ2luOiAwOw0KICAgICAgZGlzcGxheTogYmxvY2s7IH0NCiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiB7DQogICAgICB3aWR0aDogMTAwJTsgfQ0KICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7DQogICAgICBib3JkZXItdG9wOiAwOyB9DQogICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICosIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqID4gYSwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqID4gLmJ1dHRvbiB7DQogICAgICBib3JkZXItcmFkaXVzOiAwOyB9DQogICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gYSwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7DQogICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogMXJlbTsNCiAgICAgIC13ZWJraXQtdG9wLXJpZ2h0LXJhZGl1czogMXJlbTsNCiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDFyZW07DQogICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMXJlbTsgfQ0KICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmxhc3QtY2hpbGQgPiBhLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7DQogICAgICAtd2Via2l0LWJvdHRvbS1sZWZ0LXJhZGl1czogMXJlbTsNCiAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogMXJlbTsNCiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDFyZW07DQogICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMXJlbTsgfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7DQogICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIHsNCiAgICAgIG1hcmdpbjogMCAtMnB4Ow0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9DQogICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHsNCiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH0NCiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHsNCiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH0NCiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYSwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiAuYnV0dG9uIHsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBhLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IC5idXR0b24gew0KICAgICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDsNCiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7DQogICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDsNCiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4OyB9DQogICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiBhLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHsNCiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4Ow0KICAgICAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7DQogICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7DQogICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7IH0gfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHsNCiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogew0KICAgICAgbWFyZ2luOiAwIC0ycHg7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgIG1hcmdpbjogMDsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogLmJ1dHRvbiB7DQogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9DQogICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7DQogICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9DQogICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHsNCiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsNCiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7DQogICAgICAgIG1hcmdpbjogMDsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0NCiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbiB7DQogICAgICAgIHdpZHRoOiAxMDAlOyB9DQogICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7DQogICAgICAgIGJvcmRlci10b3A6IDA7IH0NCiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYSwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiAuYnV0dG9uIHsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBhLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IC5idXR0b24gew0KICAgICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogMXJlbTsNCiAgICAgICAgLXdlYmtpdC10b3AtcmlnaHQtcmFkaXVzOiAxcmVtOw0KICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxcmVtOw0KICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMXJlbTsgfQ0KICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYSwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7DQogICAgICAgIC13ZWJraXQtYm90dG9tLWxlZnQtcmFkaXVzOiAxcmVtOw0KICAgICAgICAtd2Via2l0LWJvdHRvbS1yaWdodC1yYWRpdXM6IDFyZW07DQogICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDFyZW07DQogICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxcmVtOyB9IH0NCg0KLmJ1dHRvbi1iYXI6YmVmb3JlLCAuYnV0dG9uLWJhcjphZnRlciB7DQogIGNvbnRlbnQ6ICIgIjsNCiAgZGlzcGxheTogdGFibGU7IH0NCi5idXR0b24tYmFyOmFmdGVyIHsNCiAgY2xlYXI6IGJvdGg7IH0NCi5idXR0b24tYmFyIC5idXR0b24tZ3JvdXAgew0KICBmbG9hdDogbGVmdDsNCiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfQ0KICAuYnV0dG9uLWJhciAuYnV0dG9uLWdyb3VwIGRpdiB7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQ0KDQovKiBQYW5lbHMgKi8NCi5wYW5lbCB7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQogIGJvcmRlci13aWR0aDogMXB4Ow0KICBib3JkZXItY29sb3I6ICNkOGQ4ZDg7DQogIG1hcmdpbi1ib3R0b206IDEuMjVyZW07DQogIHBhZGRpbmc6IDEuMjVyZW07DQogIGJhY2tncm91bmQ6ICNmMmYyZjI7DQogIGNvbG9yOiAjMzMzMzMzOyB9DQogIC5wYW5lbCA+IDpmaXJzdC1jaGlsZCB7DQogICAgbWFyZ2luLXRvcDogMDsgfQ0KICAucGFuZWwgPiA6bGFzdC1jaGlsZCB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsgfQ0KICAucGFuZWwgaDEsIC5wYW5lbCBoMiwgLnBhbmVsIGgzLCAucGFuZWwgaDQsIC5wYW5lbCBoNSwgLnBhbmVsIGg2LCAucGFuZWwgcCwgLnBhbmVsIGxpLCAucGFuZWwgZGwgew0KICAgIGNvbG9yOiAjMzMzMzMzOyB9DQogIC5wYW5lbCBoMSwgLnBhbmVsIGgyLCAucGFuZWwgaDMsIC5wYW5lbCBoNCwgLnBhbmVsIGg1LCAucGFuZWwgaDYgew0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9DQogICAgLnBhbmVsIGgxLnN1YmhlYWRlciwgLnBhbmVsIGgyLnN1YmhlYWRlciwgLnBhbmVsIGgzLnN1YmhlYWRlciwgLnBhbmVsIGg0LnN1YmhlYWRlciwgLnBhbmVsIGg1LnN1YmhlYWRlciwgLnBhbmVsIGg2LnN1YmhlYWRlciB7DQogICAgICBsaW5lLWhlaWdodDogMS40OyB9DQogIC5wYW5lbC5jYWxsb3V0IHsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1jb2xvcjogI2M1ZThmMzsNCiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOw0KICAgIHBhZGRpbmc6IDEuMjVyZW07DQogICAgYmFja2dyb3VuZDogI2YyZmFmYzsNCiAgICBjb2xvcjogIzMzMzMzMzsgfQ0KICAgIC5wYW5lbC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHsNCiAgICAgIG1hcmdpbi10b3A6IDA7IH0NCiAgICAucGFuZWwuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0NCiAgICAucGFuZWwuY2FsbG91dCBoMSwgLnBhbmVsLmNhbGxvdXQgaDIsIC5wYW5lbC5jYWxsb3V0IGgzLCAucGFuZWwuY2FsbG91dCBoNCwgLnBhbmVsLmNhbGxvdXQgaDUsIC5wYW5lbC5jYWxsb3V0IGg2LCAucGFuZWwuY2FsbG91dCBwLCAucGFuZWwuY2FsbG91dCBsaSwgLnBhbmVsLmNhbGxvdXQgZGwgew0KICAgICAgY29sb3I6ICMzMzMzMzM7IH0NCiAgICAucGFuZWwuY2FsbG91dCBoMSwgLnBhbmVsLmNhbGxvdXQgaDIsIC5wYW5lbC5jYWxsb3V0IGgzLCAucGFuZWwuY2FsbG91dCBoNCwgLnBhbmVsLmNhbGxvdXQgaDUsIC5wYW5lbC5jYWxsb3V0IGg2IHsNCiAgICAgIGxpbmUtaGVpZ2h0OiAxOw0KICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0NCiAgICAgIC5wYW5lbC5jYWxsb3V0IGgxLnN1YmhlYWRlciwgLnBhbmVsLmNhbGxvdXQgaDIuc3ViaGVhZGVyLCAucGFuZWwuY2FsbG91dCBoMy5zdWJoZWFkZXIsIC5wYW5lbC5jYWxsb3V0IGg0LnN1YmhlYWRlciwgLnBhbmVsLmNhbGxvdXQgaDUuc3ViaGVhZGVyLCAucGFuZWwuY2FsbG91dCBoNi5zdWJoZWFkZXIgew0KICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9DQogICAgLnBhbmVsLmNhbGxvdXQgYTpub3QoLmJ1dHRvbikgew0KICAgICAgY29sb3I6ICMyYmE2Y2I7IH0NCiAgICAgIC5wYW5lbC5jYWxsb3V0IGE6bm90KC5idXR0b24pOmhvdmVyLCAucGFuZWwuY2FsbG91dCBhOm5vdCguYnV0dG9uKTpmb2N1cyB7DQogICAgICAgIGNvbG9yOiAjMjU4ZmFmOyB9DQogIC5wYW5lbC5yYWRpdXMgew0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfQ0KDQouZHJvcGRvd24uYnV0dG9uLCBidXR0b24uZHJvcGRvd24gew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIG91dGxpbmU6IG5vbmU7DQogIHBhZGRpbmctcmlnaHQ6IDMuNTYyNXJlbTsgfQ0KICAuZHJvcGRvd24uYnV0dG9uOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGNvbnRlbnQ6ICIiOw0KICAgIHdpZHRoOiAwOw0KICAgIGhlaWdodDogMDsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsNCiAgICB0b3A6IDUwJTsgfQ0KICAuZHJvcGRvd24uYnV0dG9uOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7DQogICAgYm9yZGVyLXdpZHRoOiAwLjM3NXJlbTsNCiAgICByaWdodDogMS40MDYyNXJlbTsNCiAgICBtYXJnaW4tdG9wOiAtMC4xNTYyNXJlbTsgfQ0KICAuZHJvcGRvd24uYnV0dG9uOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7DQogICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9DQogIC5kcm9wZG93bi5idXR0b24udGlueSwgYnV0dG9uLmRyb3Bkb3duLnRpbnkgew0KICAgIHBhZGRpbmctcmlnaHQ6IDIuNjI1cmVtOyB9DQogICAgLmRyb3Bkb3duLmJ1dHRvbi50aW55OmFmdGVyLCBidXR0b24uZHJvcGRvd24udGlueTphZnRlciB7DQogICAgICBib3JkZXItd2lkdGg6IDAuMzc1cmVtOw0KICAgICAgcmlnaHQ6IDEuMTI1cmVtOw0KICAgICAgbWFyZ2luLXRvcDogLTAuMTI1cmVtOyB9DQogICAgLmRyb3Bkb3duLmJ1dHRvbi50aW55OjphZnRlciwgYnV0dG9uLmRyb3Bkb3duLnRpbnk6OmFmdGVyIHsNCiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfQ0KICAuZHJvcGRvd24uYnV0dG9uLnNtYWxsLCBidXR0b24uZHJvcGRvd24uc21hbGwgew0KICAgIHBhZGRpbmctcmlnaHQ6IDMuMDYyNXJlbTsgfQ0KICAgIC5kcm9wZG93bi5idXR0b24uc21hbGw6OmFmdGVyLCBidXR0b24uZHJvcGRvd24uc21hbGw6OmFmdGVyIHsNCiAgICAgIGJvcmRlci13aWR0aDogMC40Mzc1cmVtOw0KICAgICAgcmlnaHQ6IDEuMzEyNXJlbTsNCiAgICAgIG1hcmdpbi10b3A6IC0wLjE1NjI1cmVtOyB9DQogICAgLmRyb3Bkb3duLmJ1dHRvbi5zbWFsbDo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi5zbWFsbDo6YWZ0ZXIgew0KICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9DQogIC5kcm9wZG93bi5idXR0b24ubGFyZ2UsIGJ1dHRvbi5kcm9wZG93bi5sYXJnZSB7DQogICAgcGFkZGluZy1yaWdodDogMy42MjVyZW07IH0NCiAgICAuZHJvcGRvd24uYnV0dG9uLmxhcmdlOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duLmxhcmdlOjphZnRlciB7DQogICAgICBib3JkZXItd2lkdGg6IDAuMzEyNXJlbTsNCiAgICAgIHJpZ2h0OiAxLjcxODc1cmVtOw0KICAgICAgbWFyZ2luLXRvcDogLTAuMTU2MjVyZW07IH0NCiAgICAuZHJvcGRvd24uYnV0dG9uLmxhcmdlOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duLmxhcmdlOjphZnRlciB7DQogICAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH0NCiAgLmRyb3Bkb3duLmJ1dHRvbi5zZWNvbmRhcnk6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi5zZWNvbmRhcnk6YWZ0ZXIgew0KICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfQ0KDQovKiBJbWFnZSBUaHVtYm5haWxzICovDQoudGggew0KICBsaW5lLWhlaWdodDogMDsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBib3JkZXI6IHNvbGlkIDRweCAjRkZGRkZGOw0KICBtYXgtd2lkdGg6IDEwMCU7DQogIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7DQogIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLW91dDsgfQ0KICAudGg6aG92ZXIsIC50aDpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSg0MywgMTY2LCAyMDMsIDAuNSk7IH0NCiAgLnRoLnJhZGl1cyB7DQogICAgYm9yZGVyLXJhZGl1czogM3B4OyB9DQoNCi8qIFByaWNpbmcgVGFibGVzICovDQoucHJpY2luZy10YWJsZSB7DQogIGJvcmRlcjogc29saWQgMXB4ICNEREREREQ7DQogIG1hcmdpbi1sZWZ0OiAwOw0KICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9DQogIC5wcmljaW5nLXRhYmxlICogew0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgbGluZS1oZWlnaHQ6IDE7IH0NCiAgLnByaWNpbmctdGFibGUgLnRpdGxlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOw0KICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjI1cmVtOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBjb2xvcjogI0VFRUVFRTsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9DQogIC5wcmljaW5nLXRhYmxlIC5wcmljZSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjsNCiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4yNXJlbTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgY29sb3I6ICMzMzMzMzM7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBmb250LXNpemU6IDJyZW07DQogICAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfQ0KICAucHJpY2luZy10YWJsZSAuZGVzY3JpcHRpb24gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQogICAgcGFkZGluZzogMC45Mzc1cmVtOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBjb2xvcjogIzc3Nzc3NzsNCiAgICBmb250LXNpemU6IDAuNzVyZW07DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMS40Ow0KICAgIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI0RERERERDsgfQ0KICAucHJpY2luZy10YWJsZSAuYnVsbGV0LWl0ZW0gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQogICAgcGFkZGluZzogMC45Mzc1cmVtOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBjb2xvcjogIzMzMzMzMzsNCiAgICBmb250LXNpemU6IDAuODc1cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjREREREREOyB9DQogIC5wcmljaW5nLXRhYmxlIC5jdGEtYnV0dG9uIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW0gMDsgfQ0KDQpbZGF0YS1tYWdlbGxhbi1leHBlZGl0aW9uXSwgW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZV0gew0KICBiYWNrZ3JvdW5kOiAjRkZGRkZGOw0KICB6LWluZGV4OiA1MDsNCiAgbWluLXdpZHRoOiAxMDAlOw0KICBwYWRkaW5nOiAxMHB4OyB9DQogIFtkYXRhLW1hZ2VsbGFuLWV4cGVkaXRpb25dIC5zdWItbmF2LCBbZGF0YS1tYWdlbGxhbi1leHBlZGl0aW9uLWNsb25lXSAuc3ViLW5hdiB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsgfQ0KICAgIFtkYXRhLW1hZ2VsbGFuLWV4cGVkaXRpb25dIC5zdWItbmF2IGRkLCBbZGF0YS1tYWdlbGxhbi1leHBlZGl0aW9uLWNsb25lXSAuc3ViLW5hdiBkZCB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOyB9DQogICAgW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbl0gLnN1Yi1uYXYgYSwgW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZV0gLnN1Yi1uYXYgYSB7DQogICAgICBsaW5lLWhlaWdodDogMS44ZW07IH0NCg0KLmljb24tYmFyIHsNCiAgd2lkdGg6IDEwMCU7DQogIGZvbnQtc2l6ZTogMDsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9DQogIC5pY29uLWJhciA+ICogew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBmb250LXNpemU6IDFyZW07DQogICAgd2lkdGg6IDI1JTsNCiAgICBtYXJnaW46IDAgYXV0bzsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwYWRkaW5nOiAxLjI1cmVtOw0KICAgIGZsb2F0OiBsZWZ0OyB9DQogICAgLmljb24tYmFyID4gKiBpLCAuaWNvbi1iYXIgPiAqIGltZyB7DQogICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgIG1hcmdpbjogMCBhdXRvOyB9DQogICAgICAuaWNvbi1iYXIgPiAqIGkgKyBsYWJlbCwgLmljb24tYmFyID4gKiBpbWcgKyBsYWJlbCB7DQogICAgICAgIG1hcmdpbi10b3A6IC4wNjI1cmVtOyB9DQogICAgLmljb24tYmFyID4gKiBpIHsNCiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9DQogICAgLmljb24tYmFyID4gKiBpbWcgew0KICAgICAgd2lkdGg6IDEuODc1cmVtOw0KICAgICAgaGVpZ2h0OiAxLjg3NXJlbTsgfQ0KICAuaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGksIC5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogaW1nIHsNCiAgICBtYXJnaW46IDAgLjA2MjVyZW0gMCAwOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQ0KICAgIC5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogaSArIGxhYmVsLCAuaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGltZyArIGxhYmVsIHsNCiAgICAgIG1hcmdpbi10b3A6IDA7IH0NCiAgLmljb24tYmFyLmxhYmVsLXJpZ2h0ID4gKiBsYWJlbCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9DQogIC5pY29uLWJhci52ZXJ0aWNhbC5sYWJlbC1yaWdodCA+ICogew0KICAgIHRleHQtYWxpZ246IGxlZnQ7IH0NCiAgLmljb24tYmFyLnZlcnRpY2FsLCAuaWNvbi1iYXIuc21hbGwtdmVydGljYWwgew0KICAgIGhlaWdodDogMTAwJTsNCiAgICB3aWR0aDogYXV0bzsgfQ0KICAgIC5pY29uLWJhci52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgbWFyZ2luOiBhdXRvOw0KICAgICAgZmxvYXQ6IG5vbmU7IH0NCiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAgIC5pY29uLWJhci5tZWRpdW0tdmVydGljYWwgew0KICAgICAgaGVpZ2h0OiAxMDAlOw0KICAgICAgd2lkdGg6IGF1dG87IH0NCiAgICAgIC5pY29uLWJhci5tZWRpdW0tdmVydGljYWwgLml0ZW0gew0KICAgICAgICB3aWR0aDogYXV0bzsNCiAgICAgICAgbWFyZ2luOiBhdXRvOw0KICAgICAgICBmbG9hdDogbm9uZTsgfSB9DQogIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHsNCiAgICAuaWNvbi1iYXIubGFyZ2UtdmVydGljYWwgew0KICAgICAgaGVpZ2h0OiAxMDAlOw0KICAgICAgd2lkdGg6IGF1dG87IH0NCiAgICAgIC5pY29uLWJhci5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7DQogICAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgICBtYXJnaW46IGF1dG87DQogICAgICAgIGZsb2F0OiBub25lOyB9IH0NCiAgLmljb24tYmFyID4gKiB7DQogICAgZm9udC1zaXplOiAxcmVtOw0KICAgIHBhZGRpbmc6IDEuMjVyZW07IH0NCiAgICAuaWNvbi1iYXIgPiAqIGkgKyBsYWJlbCwgLmljb24tYmFyID4gKiBpbWcgKyBsYWJlbCB7DQogICAgICBtYXJnaW4tdG9wOiAuMDYyNXJlbTsgfQ0KICAgIC5pY29uLWJhciA+ICogaSB7DQogICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9DQogICAgLmljb24tYmFyID4gKiBpbWcgew0KICAgICAgd2lkdGg6IDEuODc1cmVtOw0KICAgICAgaGVpZ2h0OiAxLjg3NXJlbTsgfQ0KICAuaWNvbi1iYXIgPiAqIGxhYmVsIHsNCiAgICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAuaWNvbi1iYXIgPiAqIGkgew0KICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogIC5pY29uLWJhciA+IGE6aG92ZXIgew0KICAgIGJhY2tncm91bmQ6ICMyYmE2Y2I7IH0NCiAgICAuaWNvbi1iYXIgPiBhOmhvdmVyIGxhYmVsIHsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogICAgLmljb24tYmFyID4gYTpob3ZlciBpIHsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogIC5pY29uLWJhciA+IGEuYWN0aXZlIHsNCiAgICBiYWNrZ3JvdW5kOiAjMmJhNmNiOyB9DQogICAgLmljb24tYmFyID4gYS5hY3RpdmUgbGFiZWwgew0KICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICAuaWNvbi1iYXIgPiBhLmFjdGl2ZSBpIHsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogIC5pY29uLWJhciAuaXRlbS5kaXNhYmxlZCB7DQogICAgb3BhY2l0eTogMC43Ow0KICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0NCiAgICAuaWNvbi1iYXIgLml0ZW0uZGlzYWJsZWQgPiAqIHsNCiAgICAgIG9wYWNpdHk6IDAuNzsNCiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH0NCg0KLmljb24tYmFyLnR3by11cCAuaXRlbSB7DQogIHdpZHRoOiA1MCU7IH0NCi5pY29uLWJhci50d28tdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci50d28tdXAuc21hbGwtdmVydGljYWwgLml0ZW0gew0KICB3aWR0aDogYXV0bzsgfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAuaWNvbi1iYXIudHdvLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7DQogICAgd2lkdGg6IGF1dG87IH0gfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkgew0KICAuaWNvbi1iYXIudHdvLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHsNCiAgICB3aWR0aDogYXV0bzsgfSB9DQouaWNvbi1iYXIudGhyZWUtdXAgLml0ZW0gew0KICB3aWR0aDogMzMuMzMzMyU7IH0NCi5pY29uLWJhci50aHJlZS11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnRocmVlLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsNCiAgd2lkdGg6IGF1dG87IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgLmljb24tYmFyLnRocmVlLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7DQogICAgd2lkdGg6IGF1dG87IH0gfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkgew0KICAuaWNvbi1iYXIudGhyZWUtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0gew0KICAgIHdpZHRoOiBhdXRvOyB9IH0NCi5pY29uLWJhci5mb3VyLXVwIC5pdGVtIHsNCiAgd2lkdGg6IDI1JTsgfQ0KLmljb24tYmFyLmZvdXItdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5mb3VyLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsNCiAgd2lkdGg6IGF1dG87IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgLmljb24tYmFyLmZvdXItdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHsNCiAgICB3aWR0aDogYXV0bzsgfSB9DQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2M2VtKSB7DQogIC5pY29uLWJhci5mb3VyLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHsNCiAgICB3aWR0aDogYXV0bzsgfSB9DQouaWNvbi1iYXIuZml2ZS11cCAuaXRlbSB7DQogIHdpZHRoOiAyMCU7IH0NCi5pY29uLWJhci5maXZlLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuZml2ZS11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7DQogIHdpZHRoOiBhdXRvOyB9DQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7DQogIC5pY29uLWJhci5maXZlLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7DQogICAgd2lkdGg6IGF1dG87IH0gfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkgew0KICAuaWNvbi1iYXIuZml2ZS11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7DQogICAgd2lkdGg6IGF1dG87IH0gfQ0KLmljb24tYmFyLnNpeC11cCAuaXRlbSB7DQogIHdpZHRoOiAxNi42NjY2NyU7IH0NCi5pY29uLWJhci5zaXgtdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5zaXgtdXAuc21hbGwtdmVydGljYWwgLml0ZW0gew0KICB3aWR0aDogYXV0bzsgfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAuaWNvbi1iYXIuc2l4LXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7DQogICAgd2lkdGg6IGF1dG87IH0gfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkgew0KICAuaWNvbi1iYXIuc2l4LXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHsNCiAgICB3aWR0aDogYXV0bzsgfSB9DQouaWNvbi1iYXIuc2V2ZW4tdXAgLml0ZW0gew0KICB3aWR0aDogMTQuMjg1NzElOyB9DQouaWNvbi1iYXIuc2V2ZW4tdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5zZXZlbi11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7DQogIHdpZHRoOiBhdXRvOyB9DQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7DQogIC5pY29uLWJhci5zZXZlbi11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0gew0KICAgIHdpZHRoOiBhdXRvOyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHsNCiAgLmljb24tYmFyLnNldmVuLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHsNCiAgICB3aWR0aDogYXV0bzsgfSB9DQouaWNvbi1iYXIuZWlnaHQtdXAgLml0ZW0gew0KICB3aWR0aDogMTIuNSU7IH0NCi5pY29uLWJhci5laWdodC11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLmVpZ2h0LXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsNCiAgd2lkdGg6IGF1dG87IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgLmljb24tYmFyLmVpZ2h0LXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7DQogICAgd2lkdGg6IGF1dG87IH0gfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkgew0KICAuaWNvbi1iYXIuZWlnaHQtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0gew0KICAgIHdpZHRoOiBhdXRvOyB9IH0NCg0KLnRhYnMgew0KICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7DQogIG1hcmdpbi1sZWZ0OiAwOyB9DQogIC50YWJzOmJlZm9yZSwgLnRhYnM6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICIgIjsNCiAgICBkaXNwbGF5OiB0YWJsZTsgfQ0KICAudGFiczphZnRlciB7DQogICAgY2xlYXI6IGJvdGg7IH0NCiAgLnRhYnMgZGQsIC50YWJzIC50YWItdGl0bGUgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgICBmbG9hdDogbGVmdDsgfQ0KICAgIC50YWJzIGRkID4gYSwgLnRhYnMgLnRhYi10aXRsZSA+IGEgew0KICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGOw0KICAgICAgY29sb3I6ICMyMjIyMjI7DQogICAgICBwYWRkaW5nOiAxcmVtIDJyZW07DQogICAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOw0KICAgICAgZm9udC1zaXplOiAxcmVtOyB9DQogICAgICAudGFicyBkZCA+IGE6aG92ZXIsIC50YWJzIC50YWItdGl0bGUgPiBhOmhvdmVyIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTsgfQ0KICAgICAgLnRhYnMgZGQgPiBhOmZvY3VzLCAudGFicyAudGFiLXRpdGxlID4gYTpmb2N1cyB7DQogICAgICAgIG91dGxpbmU6IG5vbmU7IH0NCiAgICAudGFicyBkZC5hY3RpdmUgYSwgLnRhYnMgLnRhYi10aXRsZS5hY3RpdmUgYSB7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KICAgICAgY29sb3I6ICMyMjIyMjI7IH0NCiAgLnRhYnMucmFkaXVzIGRkOmZpcnN0LWNoaWxkIGEsIC50YWJzLnJhZGl1cyAudGFiOmZpcnN0LWNoaWxkIGEgew0KICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH0NCiAgLnRhYnMucmFkaXVzIGRkOmxhc3QtY2hpbGQgYSwgLnRhYnMucmFkaXVzIC50YWI6bGFzdC1jaGlsZCBhIHsNCiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfQ0KICAudGFicy52ZXJ0aWNhbCBkZCwgLnRhYnMudmVydGljYWwgLnRhYi10aXRsZSB7DQogICAgcG9zaXRpb246IGluaGVyaXQ7DQogICAgZmxvYXQ6IG5vbmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgdG9wOiBhdXRvOyB9DQoNCi50YWJzLWNvbnRlbnQgew0KICBtYXJnaW4tYm90dG9tOiAxLjVyZW07DQogIHdpZHRoOiAxMDAlOyB9DQogIC50YWJzLWNvbnRlbnQ6YmVmb3JlLCAudGFicy1jb250ZW50OmFmdGVyIHsNCiAgICBjb250ZW50OiAiICI7DQogICAgZGlzcGxheTogdGFibGU7IH0NCiAgLnRhYnMtY29udGVudDphZnRlciB7DQogICAgY2xlYXI6IGJvdGg7IH0NCiAgLnRhYnMtY29udGVudCA+IC5jb250ZW50IHsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHBhZGRpbmc6IDAuOTM3NWVtIDA7DQogICAgd2lkdGg6IDEwMCU7IH0NCiAgICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQuYWN0aXZlIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgZmxvYXQ6IG5vbmU7IH0NCiAgICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQuY29udGFpbmVkIHsNCiAgICAgIHBhZGRpbmc6IDAuOTM3NWVtOyB9DQogIC50YWJzLWNvbnRlbnQudmVydGljYWwgew0KICAgIGRpc3BsYXk6IGJsb2NrOyB9DQogICAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCA+IC5jb250ZW50IHsNCiAgICAgIHBhZGRpbmc6IDAgMC45Mzc1ZW07IH0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAudGFicy52ZXJ0aWNhbCB7DQogICAgd2lkdGg6IDIwJTsNCiAgICBtYXgtd2lkdGg6IDIwJTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9DQoNCiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7DQogICAgd2lkdGg6IDgwJTsNCiAgICBtYXgtd2lkdGg6IDgwJTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBtYXJnaW4tbGVmdDogLTFweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfQ0KLm5vLWpzIC50YWJzLWNvbnRlbnQgPiAuY29udGVudCB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBmbG9hdDogbm9uZTsgfQ0KDQp1bC5wYWdpbmF0aW9uIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIG1pbi1oZWlnaHQ6IDEuNXJlbTsNCiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH0NCiAgdWwucGFnaW5hdGlvbiBsaSB7DQogICAgaGVpZ2h0OiAxLjVyZW07DQogICAgY29sb3I6ICMyMjIyMjI7DQogICAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtOyB9DQogICAgdWwucGFnaW5hdGlvbiBsaSBhLCB1bC5wYWdpbmF0aW9uIGxpIGJ1dHRvbiB7DQogICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAwLjYyNXJlbSAwLjA2MjVyZW07DQogICAgICBjb2xvcjogIzk5OTk5OTsNCiAgICAgIGJhY2tncm91bmQ6IG5vbmU7DQogICAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogICAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgICAgZm9udC1zaXplOiAxZW07DQogICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsNCiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgZWFzZS1vdXQ7IH0NCiAgICB1bC5wYWdpbmF0aW9uIGxpOmhvdmVyIGEsDQogICAgdWwucGFnaW5hdGlvbiBsaSBhOmZvY3VzLCB1bC5wYWdpbmF0aW9uIGxpOmhvdmVyIGJ1dHRvbiwNCiAgICB1bC5wYWdpbmF0aW9uIGxpIGJ1dHRvbjpmb2N1cyB7DQogICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9DQogICAgdWwucGFnaW5hdGlvbiBsaS51bmF2YWlsYWJsZSBhLCB1bC5wYWdpbmF0aW9uIGxpLnVuYXZhaWxhYmxlIGJ1dHRvbiB7DQogICAgICBjdXJzb3I6IGRlZmF1bHQ7DQogICAgICBjb2xvcjogIzk5OTk5OTsgfQ0KICAgIHVsLnBhZ2luYXRpb24gbGkudW5hdmFpbGFibGU6aG92ZXIgYSwgdWwucGFnaW5hdGlvbiBsaS51bmF2YWlsYWJsZSBhOmZvY3VzLCB1bC5wYWdpbmF0aW9uIGxpLnVuYXZhaWxhYmxlOmhvdmVyIGJ1dHRvbiwgdWwucGFnaW5hdGlvbiBsaS51bmF2YWlsYWJsZSBidXR0b246Zm9jdXMgew0KICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0NCiAgICB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYSwgdWwucGFnaW5hdGlvbiBsaS5jdXJyZW50IGJ1dHRvbiB7DQogICAgICBiYWNrZ3JvdW5kOiAjMmJhNmNiOw0KICAgICAgY29sb3I6ICNGRkZGRkY7DQogICAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfQ0KICAgICAgdWwucGFnaW5hdGlvbiBsaS5jdXJyZW50IGE6aG92ZXIsIHVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBhOmZvY3VzLCB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYnV0dG9uOmhvdmVyLCB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYnV0dG9uOmZvY3VzIHsNCiAgICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfQ0KICB1bC5wYWdpbmF0aW9uIGxpIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBkaXNwbGF5OiBibG9jazsgfQ0KDQovKiBQYWdpbmF0aW9uIGNlbnRyZWQgd3JhcHBlciAqLw0KLnBhZ2luYXRpb24tY2VudGVyZWQgew0KICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0NCiAgLnBhZ2luYXRpb24tY2VudGVyZWQgdWwucGFnaW5hdGlvbiBsaSB7DQogICAgZmxvYXQ6IG5vbmU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9DQoNCi5zaWRlLW5hdiB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBtYXJnaW46IDA7DQogIHBhZGRpbmc6IDAuODc1cmVtIDA7DQogIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsNCiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsNCiAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfQ0KICAuc2lkZS1uYXYgbGkgew0KICAgIG1hcmdpbjogMCAwIDAuNDM3NXJlbSAwOw0KICAgIGZvbnQtc2l6ZTogMC44NzVyZW07DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfQ0KICAgIC5zaWRlLW5hdiBsaSBhOm5vdCguYnV0dG9uKSB7DQogICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgIGNvbG9yOiAjMmJhNmNiOw0KICAgICAgbWFyZ2luOiAwOw0KICAgICAgcGFkZGluZzogMC40Mzc1cmVtIDAuODc1cmVtOyB9DQogICAgICAuc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbik6aG92ZXIsIC5zaWRlLW5hdiBsaSBhOm5vdCguYnV0dG9uKTpmb2N1cyB7DQogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMjUpOw0KICAgICAgICBjb2xvcjogIzY3YzNkZjsgfQ0KICAgIC5zaWRlLW5hdiBsaS5hY3RpdmUgPiBhOmZpcnN0LWNoaWxkOm5vdCguYnV0dG9uKSB7DQogICAgICBjb2xvcjogIzY3YzNkZjsNCiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9DQogICAgLnNpZGUtbmF2IGxpLmRpdmlkZXIgew0KICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkOw0KICAgICAgaGVpZ2h0OiAwOw0KICAgICAgcGFkZGluZzogMDsNCiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgICBib3JkZXItdG9wLWNvbG9yOiB3aGl0ZTsgfQ0KICAgIC5zaWRlLW5hdiBsaS5oZWFkaW5nIHsNCiAgICAgIGNvbG9yOiAjMmJhNmNiOw0KICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQ0KDQouYWNjb3JkaW9uIHsNCiAgbWFyZ2luLWJvdHRvbTogMDsgfQ0KICAuYWNjb3JkaW9uOmJlZm9yZSwgLmFjY29yZGlvbjphZnRlciB7DQogICAgY29udGVudDogIiAiOw0KICAgIGRpc3BsYXk6IHRhYmxlOyB9DQogIC5hY2NvcmRpb246YWZ0ZXIgew0KICAgIGNsZWFyOiBib3RoOyB9DQogIC5hY2NvcmRpb24gLmFjY29yZGlvbi1uYXZpZ2F0aW9uLCAuYWNjb3JkaW9uIGRkIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH0NCiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbi5hY3RpdmUgPiBhLCAuYWNjb3JkaW9uIGRkLmFjdGl2ZSA+IGEgew0KICAgICAgYmFja2dyb3VuZDogI2U4ZThlODsgfQ0KICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1uYXZpZ2F0aW9uID4gYSwgLmFjY29yZGlvbiBkZCA+IGEgew0KICAgICAgYmFja2dyb3VuZDogI0VGRUZFRjsNCiAgICAgIGNvbG9yOiAjMjIyMjIyOw0KICAgICAgcGFkZGluZzogMXJlbTsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsNCiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfQ0KICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLW5hdmlnYXRpb24gPiBhOmhvdmVyLCAuYWNjb3JkaW9uIGRkID4gYTpob3ZlciB7DQogICAgICAgIGJhY2tncm91bmQ6ICNlM2UzZTM7IH0NCiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbiA+IC5jb250ZW50LCAuYWNjb3JkaW9uIGRkID4gLmNvbnRlbnQgew0KICAgICAgZGlzcGxheTogbm9uZTsNCiAgICAgIHBhZGRpbmc6IDAuOTM3NWVtOyB9DQogICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbiA+IC5jb250ZW50LmFjdGl2ZSwgLmFjY29yZGlvbiBkZCA+IC5jb250ZW50LmFjdGl2ZSB7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9DQoNCi50ZXh0LWxlZnQgew0KICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH0NCg0KLnRleHQtcmlnaHQgew0KICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9DQoNCi50ZXh0LWNlbnRlciB7DQogIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9DQoNCi50ZXh0LWp1c3RpZnkgew0KICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7DQogIC5zbWFsbC1vbmx5LXRleHQtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9DQoNCiAgLnNtYWxsLW9ubHktdGV4dC1yaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfQ0KDQogIC5zbWFsbC1vbmx5LXRleHQtY2VudGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfQ0KDQogIC5zbWFsbC1vbmx5LXRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiB7DQogIC5zbWFsbC10ZXh0LWxlZnQgew0KICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfQ0KDQogIC5zbWFsbC10ZXh0LXJpZ2h0IHsNCiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9DQoNCiAgLnNtYWxsLXRleHQtY2VudGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfQ0KDQogIC5zbWFsbC10ZXh0LWp1c3RpZnkgew0KICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9DQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSBhbmQgKG1heC13aWR0aDogNjRlbSkgew0KICAubWVkaXVtLW9ubHktdGV4dC1sZWZ0IHsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH0NCg0KICAubWVkaXVtLW9ubHktdGV4dC1yaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfQ0KDQogIC5tZWRpdW0tb25seS10ZXh0LWNlbnRlciB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0NCg0KICAubWVkaXVtLW9ubHktdGV4dC1qdXN0aWZ5IHsNCiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAubWVkaXVtLXRleHQtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9DQoNCiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHsNCiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9DQoNCiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0NCg0KICAubWVkaXVtLXRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIGFuZCAobWF4LXdpZHRoOiA5MGVtKSB7DQogIC5sYXJnZS1vbmx5LXRleHQtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9DQoNCiAgLmxhcmdlLW9ubHktdGV4dC1yaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfQ0KDQogIC5sYXJnZS1vbmx5LXRleHQtY2VudGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfQ0KDQogIC5sYXJnZS1vbmx5LXRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHsNCiAgLmxhcmdlLXRleHQtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9DQoNCiAgLmxhcmdlLXRleHQtcmlnaHQgew0KICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH0NCg0KICAubGFyZ2UtdGV4dC1jZW50ZXIgew0KICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9DQoNCiAgLmxhcmdlLXRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYzZW0pIGFuZCAobWF4LXdpZHRoOiAxMjBlbSkgew0KICAueGxhcmdlLW9ubHktdGV4dC1sZWZ0IHsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH0NCg0KICAueGxhcmdlLW9ubHktdGV4dC1yaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfQ0KDQogIC54bGFyZ2Utb25seS10ZXh0LWNlbnRlciB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0NCg0KICAueGxhcmdlLW9ubHktdGV4dC1qdXN0aWZ5IHsNCiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjNlbSkgew0KICAueGxhcmdlLXRleHQtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9DQoNCiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHsNCiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9DQoNCiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0NCg0KICAueGxhcmdlLXRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2M2VtKSBhbmQgKG1heC13aWR0aDogOTk5OTk5OTllbSkgew0KICAueHhsYXJnZS1vbmx5LXRleHQtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9DQoNCiAgLnh4bGFyZ2Utb25seS10ZXh0LXJpZ2h0IHsNCiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9DQoNCiAgLnh4bGFyZ2Utb25seS10ZXh0LWNlbnRlciB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0NCg0KICAueHhsYXJnZS1vbmx5LXRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2M2VtKSB7DQogIC54eGxhcmdlLXRleHQtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9DQoNCiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfQ0KDQogIC54eGxhcmdlLXRleHQtY2VudGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfQ0KDQogIC54eGxhcmdlLXRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH0NCi8qIFR5cG9ncmFwaHkgcmVzZXRzICovDQpkaXYsDQpkbCwNCmR0LA0KZGQsDQp1bCwNCm9sLA0KbGksDQpoMSwNCmgyLA0KaDMsDQpoNCwNCmg1LA0KaDYsDQpwcmUsDQpmb3JtLA0KcCwNCmJsb2NrcXVvdGUsDQp0aCwNCnRkIHsNCiAgbWFyZ2luOiAwOw0KICBwYWRkaW5nOiAwOyB9DQoNCi8qIERlZmF1bHQgTGluayBTdHlsZXMgKi8NCmEgew0KICBjb2xvcjogIzJiYTZjYjsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfQ0KICBhOmhvdmVyLCBhOmZvY3VzIHsNCiAgICBjb2xvcjogIzI1OGZhZjsgfQ0KICBhIGltZyB7DQogICAgYm9yZGVyOiBub25lOyB9DQoNCi8qIERlZmF1bHQgcGFyYWdyYXBoIHN0eWxlcyAqLw0KcCB7DQogIGZvbnQtZmFtaWx5OiBpbmhlcml0Ow0KICBmb250LXdlaWdodDogbm9ybWFsOw0KICBmb250LXNpemU6IDFyZW07DQogIGxpbmUtaGVpZ2h0OiAxLjY7DQogIG1hcmdpbi1ib3R0b206IDEuMjVyZW07DQogIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH0NCiAgcC5sZWFkIHsNCiAgICBmb250LXNpemU6IDEuMjE4NzVyZW07DQogICAgbGluZS1oZWlnaHQ6IDEuNjsgfQ0KICBwIGFzaWRlIHsNCiAgICBmb250LXNpemU6IDAuODc1cmVtOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjM1Ow0KICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfQ0KDQovKiBEZWZhdWx0IGhlYWRlciBzdHlsZXMgKi8NCmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgew0KICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOw0KICBmb250LXdlaWdodDogbm9ybWFsOw0KICBmb250LXN0eWxlOiBub3JtYWw7DQogIGNvbG9yOiAjMjIyMjIyOw0KICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5Ow0KICBtYXJnaW4tdG9wOiAwLjJyZW07DQogIG1hcmdpbi1ib3R0b206IDAuNXJlbTsNCiAgbGluZS1oZWlnaHQ6IDEuNDsgfQ0KICBoMSBzbWFsbCwgaDIgc21hbGwsIGgzIHNtYWxsLCBoNCBzbWFsbCwgaDUgc21hbGwsIGg2IHNtYWxsIHsNCiAgICBmb250LXNpemU6IDYwJTsNCiAgICBjb2xvcjogIzZmNmY2ZjsNCiAgICBsaW5lLWhlaWdodDogMDsgfQ0KDQpoMSB7DQogIGZvbnQtc2l6ZTogMi4xMjVyZW07IH0NCg0KaDIgew0KICBmb250LXNpemU6IDEuNjg3NXJlbTsgfQ0KDQpoMyB7DQogIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0NCg0KaDQgew0KICBmb250LXNpemU6IDEuMTI1cmVtOyB9DQoNCmg1IHsNCiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfQ0KDQpoNiB7DQogIGZvbnQtc2l6ZTogMXJlbTsgfQ0KDQouc3ViaGVhZGVyIHsNCiAgbGluZS1oZWlnaHQ6IDEuNDsNCiAgY29sb3I6ICM2ZjZmNmY7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIG1hcmdpbi10b3A6IDAuMnJlbTsNCiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9DQoNCmhyIHsNCiAgYm9yZGVyOiBzb2xpZCAjREREREREOw0KICBib3JkZXItd2lkdGg6IDFweCAwIDA7DQogIGNsZWFyOiBib3RoOw0KICBtYXJnaW46IDEuMjVyZW0gMCAxLjE4NzVyZW07DQogIGhlaWdodDogMDsgfQ0KDQovKiBIZWxwZnVsIFR5cG9ncmFwaHkgRGVmYXVsdHMgKi8NCmVtLA0KaSB7DQogIGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH0NCg0Kc3Ryb25nLA0KYiB7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfQ0KDQpzbWFsbCB7DQogIGZvbnQtc2l6ZTogNjAlOw0KICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfQ0KDQpjb2RlIHsNCiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCAiTGliZXJhdGlvbiBNb25vIiwgQ291cmllciwgbW9ub3NwYWNlOw0KICBmb250LXdlaWdodDogbm9ybWFsOw0KICBjb2xvcjogIzMzMzMzMzsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsNCiAgYm9yZGVyLXdpZHRoOiAxcHg7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQogIGJvcmRlci1jb2xvcjogI2UwZTBlMDsNCiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfQ0KDQovKiBMaXN0cyAqLw0KdWwsDQpvbCwNCmRsIHsNCiAgZm9udC1zaXplOiAxcmVtOw0KICBsaW5lLWhlaWdodDogMS42Ow0KICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOw0KICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlOw0KICBmb250LWZhbWlseTogaW5oZXJpdDsgfQ0KDQp1bCB7DQogIG1hcmdpbi1sZWZ0OiAxLjFyZW07IH0NCiAgdWwubm8tYnVsbGV0IHsNCiAgICBtYXJnaW4tbGVmdDogMDsgfQ0KICAgIHVsLm5vLWJ1bGxldCBsaSB1bCwNCiAgICB1bC5uby1idWxsZXQgbGkgb2wgew0KICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KDQovKiBVbm9yZGVyZWQgTGlzdHMgKi8NCnVsIGxpIHVsLA0KdWwgbGkgb2wgew0KICBtYXJnaW4tbGVmdDogMS4yNXJlbTsNCiAgbWFyZ2luLWJvdHRvbTogMDsgfQ0KdWwuc3F1YXJlIGxpIHVsLCB1bC5jaXJjbGUgbGkgdWwsIHVsLmRpc2MgbGkgdWwgew0KICBsaXN0LXN0eWxlOiBpbmhlcml0OyB9DQp1bC5zcXVhcmUgew0KICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsNCiAgbWFyZ2luLWxlZnQ6IDEuMXJlbTsgfQ0KdWwuY2lyY2xlIHsNCiAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7DQogIG1hcmdpbi1sZWZ0OiAxLjFyZW07IH0NCnVsLmRpc2Mgew0KICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7DQogIG1hcmdpbi1sZWZ0OiAxLjFyZW07IH0NCnVsLm5vLWJ1bGxldCB7DQogIGxpc3Qtc3R5bGU6IG5vbmU7IH0NCg0KLyogT3JkZXJlZCBMaXN0cyAqLw0Kb2wgew0KICBtYXJnaW4tbGVmdDogMS40cmVtOyB9DQogIG9sIGxpIHVsLA0KICBvbCBsaSBvbCB7DQogICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07DQogICAgbWFyZ2luLWJvdHRvbTogMDsgfQ0KDQovKiBEZWZpbml0aW9uIExpc3RzICovDQpkbCBkdCB7DQogIG1hcmdpbi1ib3R0b206IDAuM3JlbTsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCmRsIGRkIHsNCiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfQ0KDQovKiBBYmJyZXZpYXRpb25zICovDQphYmJyLA0KYWNyb255bSB7DQogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogIGZvbnQtc2l6ZTogOTAlOw0KICBjb2xvcjogIzIyMjIyMjsNCiAgY3Vyc29yOiBoZWxwOyB9DQoNCmFiYnIgew0KICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfQ0KICBhYmJyW3RpdGxlXSB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjREREREREOyB9DQoNCi8qIEJsb2NrcXVvdGVzICovDQpibG9ja3F1b3RlIHsNCiAgbWFyZ2luOiAwIDAgMS4yNXJlbTsNCiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07DQogIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RERERERDsgfQ0KICBibG9ja3F1b3RlIGNpdGUgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOw0KICAgIGNvbG9yOiAjNTU1NTU1OyB9DQogICAgYmxvY2txdW90ZSBjaXRlOmJlZm9yZSB7DQogICAgICBjb250ZW50OiAiXDIwMTQgXDAwMjAiOyB9DQogICAgYmxvY2txdW90ZSBjaXRlIGEsDQogICAgYmxvY2txdW90ZSBjaXRlIGE6dmlzaXRlZCB7DQogICAgICBjb2xvcjogIzU1NTU1NTsgfQ0KDQpibG9ja3F1b3RlLA0KYmxvY2txdW90ZSBwIHsNCiAgbGluZS1oZWlnaHQ6IDEuNjsNCiAgY29sb3I6ICM2ZjZmNmY7IH0NCg0KLyogTWljcm9mb3JtYXRzICovDQoudmNhcmQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIG1hcmdpbjogMCAwIDEuMjVyZW0gMDsNCiAgYm9yZGVyOiAxcHggc29saWQgI0RERERERDsNCiAgcGFkZGluZzogMC42MjVyZW0gMC43NXJlbTsgfQ0KICAudmNhcmQgbGkgew0KICAgIG1hcmdpbjogMDsNCiAgICBkaXNwbGF5OiBibG9jazsgfQ0KICAudmNhcmQgLmZuIHsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfQ0KDQoudmV2ZW50IC5zdW1tYXJ5IHsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCi52ZXZlbnQgYWJiciB7DQogIGN1cnNvcjogZGVmYXVsdDsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICBmb250LXdlaWdodDogYm9sZDsNCiAgYm9yZGVyOiBub25lOw0KICBwYWRkaW5nOiAwIDAuMDYyNXJlbTsgfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7DQogIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgew0KICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH0NCg0KICBoMSB7DQogICAgZm9udC1zaXplOiAyLjc1cmVtOyB9DQoNCiAgaDIgew0KICAgIGZvbnQtc2l6ZTogMi4zMTI1cmVtOyB9DQoNCiAgaDMgew0KICAgIGZvbnQtc2l6ZTogMS42ODc1cmVtOyB9DQoNCiAgaDQgew0KICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtOyB9DQoNCiAgaDUgew0KICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0NCg0KICBoNiB7DQogICAgZm9udC1zaXplOiAxcmVtOyB9IH0NCi5zcGxpdC5idXR0b24gew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHBhZGRpbmctcmlnaHQ6IDUuMDYyNXJlbTsgfQ0KICAuc3BsaXQuYnV0dG9uIHNwYW4gew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgcmlnaHQ6IDA7DQogICAgdG9wOiAwOw0KICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHg7IH0NCiAgICAuc3BsaXQuYnV0dG9uIHNwYW46YWZ0ZXIgew0KICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgY29udGVudDogIiI7DQogICAgICB3aWR0aDogMDsNCiAgICAgIGhlaWdodDogMDsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgYm9yZGVyLXN0eWxlOiBpbnNldDsNCiAgICAgIHRvcDogNTAlOw0KICAgICAgbGVmdDogNTAlOyB9DQogICAgLnNwbGl0LmJ1dHRvbiBzcGFuOmFjdGl2ZSB7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH0NCiAgLnNwbGl0LmJ1dHRvbiBzcGFuIHsNCiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9DQogIC5zcGxpdC5idXR0b24gc3BhbiB7DQogICAgd2lkdGg6IDMuMDkzNzVyZW07IH0NCiAgICAuc3BsaXQuYnV0dG9uIHNwYW46YWZ0ZXIgew0KICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7DQogICAgICBib3JkZXItd2lkdGg6IDAuMzc1cmVtOw0KICAgICAgdG9wOiA0OCU7DQogICAgICBtYXJnaW4tbGVmdDogLTAuMzc1cmVtOyB9DQogIC5zcGxpdC5idXR0b24gc3BhbjphZnRlciB7DQogICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9DQogIC5zcGxpdC5idXR0b24uc2Vjb25kYXJ5IHNwYW4gew0KICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH0NCiAgLnNwbGl0LmJ1dHRvbi5zZWNvbmRhcnkgc3BhbjphZnRlciB7DQogICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9DQogIC5zcGxpdC5idXR0b24uYWxlcnQgc3BhbiB7DQogICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfQ0KICAuc3BsaXQuYnV0dG9uLnN1Y2Nlc3Mgc3BhbiB7DQogICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfQ0KICAuc3BsaXQuYnV0dG9uLnRpbnkgew0KICAgIHBhZGRpbmctcmlnaHQ6IDMuNzVyZW07IH0NCiAgICAuc3BsaXQuYnV0dG9uLnRpbnkgc3BhbiB7DQogICAgICB3aWR0aDogMi4yNXJlbTsgfQ0KICAgICAgLnNwbGl0LmJ1dHRvbi50aW55IHNwYW46YWZ0ZXIgew0KICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjM3NXJlbTsNCiAgICAgICAgdG9wOiA0OCU7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4zNzVyZW07IH0NCiAgLnNwbGl0LmJ1dHRvbi5zbWFsbCB7DQogICAgcGFkZGluZy1yaWdodDogNC4zNzVyZW07IH0NCiAgICAuc3BsaXQuYnV0dG9uLnNtYWxsIHNwYW4gew0KICAgICAgd2lkdGg6IDIuNjI1cmVtOyB9DQogICAgICAuc3BsaXQuYnV0dG9uLnNtYWxsIHNwYW46YWZ0ZXIgew0KICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjQzNzVyZW07DQogICAgICAgIHRvcDogNDglOw0KICAgICAgICBtYXJnaW4tbGVmdDogLTAuMzc1cmVtOyB9DQogIC5zcGxpdC5idXR0b24ubGFyZ2Ugew0KICAgIHBhZGRpbmctcmlnaHQ6IDUuNXJlbTsgfQ0KICAgIC5zcGxpdC5idXR0b24ubGFyZ2Ugc3BhbiB7DQogICAgICB3aWR0aDogMy40Mzc1cmVtOyB9DQogICAgICAuc3BsaXQuYnV0dG9uLmxhcmdlIHNwYW46YWZ0ZXIgew0KICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjMxMjVyZW07DQogICAgICAgIHRvcDogNDglOw0KICAgICAgICBtYXJnaW4tbGVmdDogLTAuMzc1cmVtOyB9DQogIC5zcGxpdC5idXR0b24uZXhwYW5kIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07IH0NCiAgLnNwbGl0LmJ1dHRvbi5zZWNvbmRhcnkgc3BhbjphZnRlciB7DQogICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9DQogIC5zcGxpdC5idXR0b24ucmFkaXVzIHNwYW4gew0KICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9DQogIC5zcGxpdC5idXR0b24ucm91bmQgc3BhbiB7DQogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4Ow0KICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7IH0NCiAgLnNwbGl0LmJ1dHRvbi5uby1waXAgc3BhbjpiZWZvcmUgew0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsgfQ0KICAuc3BsaXQuYnV0dG9uLm5vLXBpcCBzcGFuOmFmdGVyIHsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7IH0NCiAgLnNwbGl0LmJ1dHRvbi5uby1waXAgc3BhbiA+IGkgew0KICAgIHRvcDogNTAlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC0wLjI4ODg5ZW07DQogICAgbWFyZ2luLXRvcDogLTAuNDg4ODllbTsgfQ0KDQoucmV2ZWFsLW1vZGFsLWJnIHsNCiAgcG9zaXRpb246IGZpeGVkOw0KICB0b3A6IDA7DQogIGJvdHRvbTogMDsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDA7DQogIGJhY2tncm91bmQ6ICMwMDAwMDA7DQogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7DQogIHotaW5kZXg6IDEwMDQ7DQogIGRpc3BsYXk6IG5vbmU7DQogIGxlZnQ6IDA7IH0NCg0KLnJldmVhbC1tb2RhbCB7DQogIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgZGlzcGxheTogbm9uZTsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAxMDA1Ow0KICB3aWR0aDogMTAwJTsNCiAgdG9wOiAwOw0KICBib3JkZXItcmFkaXVzOiAzcHg7DQogIGxlZnQ6IDA7DQogIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQogIHBhZGRpbmc6IDEuODc1cmVtOw0KICBib3JkZXI6IHNvbGlkIDFweCAjNjY2NjY2Ow0KICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7IH0NCiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7DQogICAgLnJldmVhbC1tb2RhbCB7DQogICAgICBtaW4taGVpZ2h0OiAxMDB2aDsgfSB9DQogIC5yZXZlYWwtbW9kYWwgLmNvbHVtbiwgLnJldmVhbC1tb2RhbCAuY29sdW1ucyB7DQogICAgbWluLXdpZHRoOiAwOyB9DQogIC5yZXZlYWwtbW9kYWwgPiA6Zmlyc3QtY2hpbGQgew0KICAgIG1hcmdpbi10b3A6IDA7IH0NCiAgLnJldmVhbC1tb2RhbCA+IDpsYXN0LWNoaWxkIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOyB9DQogIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgICAucmV2ZWFsLW1vZGFsIHsNCiAgICAgIHdpZHRoOiA4MCU7DQogICAgICBtYXgtd2lkdGg6IDYyLjVlbTsNCiAgICAgIGxlZnQ6IDA7DQogICAgICByaWdodDogMDsNCiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH0NCiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAgIC5yZXZlYWwtbW9kYWwgew0KICAgICAgdG9wOiA2LjI1cmVtOyB9IH0NCiAgLnJldmVhbC1tb2RhbC5yYWRpdXMgew0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfQ0KICAucmV2ZWFsLW1vZGFsLnJvdW5kIHsNCiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH0NCiAgLnJldmVhbC1tb2RhbC5jb2xsYXBzZSB7DQogICAgcGFkZGluZzogMDsgfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7DQogICAgLnJldmVhbC1tb2RhbC50aW55IHsNCiAgICAgIHdpZHRoOiAzMCU7DQogICAgICBtYXgtd2lkdGg6IDYyLjVlbTsNCiAgICAgIGxlZnQ6IDA7DQogICAgICByaWdodDogMDsNCiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH0NCiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAgIC5yZXZlYWwtbW9kYWwuc21hbGwgew0KICAgICAgd2lkdGg6IDQwJTsNCiAgICAgIG1heC13aWR0aDogNjIuNWVtOw0KICAgICAgbGVmdDogMDsNCiAgICAgIHJpZ2h0OiAwOw0KICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7DQogICAgLnJldmVhbC1tb2RhbC5tZWRpdW0gew0KICAgICAgd2lkdGg6IDYwJTsNCiAgICAgIG1heC13aWR0aDogNjIuNWVtOw0KICAgICAgbGVmdDogMDsNCiAgICAgIHJpZ2h0OiAwOw0KICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7DQogICAgLnJldmVhbC1tb2RhbC5sYXJnZSB7DQogICAgICB3aWR0aDogNzAlOw0KICAgICAgbWF4LXdpZHRoOiA2Mi41ZW07DQogICAgICBsZWZ0OiAwOw0KICAgICAgcmlnaHQ6IDA7DQogICAgICBtYXJnaW46IDAgYXV0bzsgfSB9DQogIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgICAucmV2ZWFsLW1vZGFsLnhsYXJnZSB7DQogICAgICB3aWR0aDogOTUlOw0KICAgICAgbWF4LXdpZHRoOiA2Mi41ZW07DQogICAgICBsZWZ0OiAwOw0KICAgICAgcmlnaHQ6IDA7DQogICAgICBtYXJnaW46IDAgYXV0bzsgfSB9DQogIC5yZXZlYWwtbW9kYWwuZnVsbCB7DQogICAgdG9wOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIGhlaWdodDogMTAwdmg7DQogICAgbWluLWhlaWdodDogMTAwdmg7DQogICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7DQogICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfQ0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgICAgIC5yZXZlYWwtbW9kYWwuZnVsbCB7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDYyLjVlbTsNCiAgICAgICAgbGVmdDogMDsNCiAgICAgICAgcmlnaHQ6IDA7DQogICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH0NCiAgLnJldmVhbC1tb2RhbC50b2JhY2sgew0KICAgIHotaW5kZXg6IDEwMDM7IH0NCiAgLnJldmVhbC1tb2RhbCAuY2xvc2UtcmV2ZWFsLW1vZGFsIHsNCiAgICBmb250LXNpemU6IDIuNXJlbTsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwLjYyNXJlbTsNCiAgICByaWdodDogMS4zNzVyZW07DQogICAgY29sb3I6ICNBQUFBQUE7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgY3Vyc29yOiBwb2ludGVyOyB9DQoNCi8qIFRvb2x0aXBzICovDQouaGFzLXRpcCB7DQogIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI0NDQ0NDQzsNCiAgY3Vyc29yOiBoZWxwOw0KICBmb250LXdlaWdodDogYm9sZDsNCiAgY29sb3I6ICMzMzMzMzM7IH0NCiAgLmhhcy10aXA6aG92ZXIsIC5oYXMtdGlwOmZvY3VzIHsNCiAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICMxMzRiNWI7DQogICAgY29sb3I6ICMyYmE2Y2I7IH0NCiAgLmhhcy10aXAudGlwLWxlZnQsIC5oYXMtdGlwLnRpcC1yaWdodCB7DQogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfQ0KDQoudG9vbHRpcCB7DQogIGRpc3BsYXk6IG5vbmU7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogMTAwNjsNCiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgbGluZS1oZWlnaHQ6IDEuMzsNCiAgcGFkZGluZzogMC43NXJlbTsNCiAgbWF4LXdpZHRoOiAzMDBweDsNCiAgbGVmdDogNTAlOw0KICB3aWR0aDogMTAwJTsNCiAgY29sb3I6ICNGRkZGRkY7DQogIGJhY2tncm91bmQ6ICMzMzMzMzM7IH0NCiAgLnRvb2x0aXAgPiAubnViIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBsZWZ0OiA1cHg7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHdpZHRoOiAwOw0KICAgIGhlaWdodDogMDsNCiAgICBib3JkZXI6IHNvbGlkIDVweDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzMzMzMgdHJhbnNwYXJlbnQ7DQogICAgdG9wOiAtMTBweDsNCiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfQ0KICAgIC50b29sdGlwID4gLm51Yi5ydGwgew0KICAgICAgbGVmdDogYXV0bzsNCiAgICAgIHJpZ2h0OiA1cHg7IH0NCiAgLnRvb2x0aXAucmFkaXVzIHsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH0NCiAgLnRvb2x0aXAucm91bmQgew0KICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfQ0KICAgIC50b29sdGlwLnJvdW5kID4gLm51YiB7DQogICAgICBsZWZ0OiAycmVtOyB9DQogIC50b29sdGlwLm9wZW5lZCB7DQogICAgY29sb3I6ICMyYmE2Y2IgIWltcG9ydGFudDsNCiAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICMxMzRiNWIgIWltcG9ydGFudDsgfQ0KDQoudGFwLXRvLWNsb3NlIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIGZvbnQtc2l6ZTogMC42MjVyZW07DQogIGNvbG9yOiAjNzc3Nzc3Ow0KICBmb250LXdlaWdodDogbm9ybWFsOyB9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgLnRvb2x0aXAgPiAubnViIHsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzMzMzMgdHJhbnNwYXJlbnQ7DQogICAgdG9wOiAtMTBweDsgfQ0KICAudG9vbHRpcC50aXAtdG9wID4gLm51YiB7DQogICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50Ow0KICAgIHRvcDogYXV0bzsNCiAgICBib3R0b206IC0xMHB4OyB9DQogIC50b29sdGlwLnRpcC1sZWZ0LCAudG9vbHRpcC50aXAtcmlnaHQgew0KICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0NCiAgLnRvb2x0aXAudGlwLWxlZnQgPiAubnViIHsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzMzMzM7DQogICAgcmlnaHQ6IC0xMHB4Ow0KICAgIGxlZnQ6IGF1dG87DQogICAgdG9wOiA1MCU7DQogICAgbWFyZ2luLXRvcDogLTVweDsgfQ0KICAudG9vbHRpcC50aXAtcmlnaHQgPiAubnViIHsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzMzMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7DQogICAgcmlnaHQ6IGF1dG87DQogICAgbGVmdDogLTEwcHg7DQogICAgdG9wOiA1MCU7DQogICAgbWFyZ2luLXRvcDogLTVweDsgfSB9DQovKiBDbGVhcmluZyBTdHlsZXMgKi8NCi5jbGVhcmluZy10aHVtYnMsIFtkYXRhLWNsZWFyaW5nXSB7DQogIG1hcmdpbi1ib3R0b206IDA7DQogIG1hcmdpbi1sZWZ0OiAwOw0KICBsaXN0LXN0eWxlOiBub25lOyB9DQogIC5jbGVhcmluZy10aHVtYnM6YmVmb3JlLCAuY2xlYXJpbmctdGh1bWJzOmFmdGVyLCBbZGF0YS1jbGVhcmluZ106YmVmb3JlLCBbZGF0YS1jbGVhcmluZ106YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICIgIjsNCiAgICBkaXNwbGF5OiB0YWJsZTsgfQ0KICAuY2xlYXJpbmctdGh1bWJzOmFmdGVyLCBbZGF0YS1jbGVhcmluZ106YWZ0ZXIgew0KICAgIGNsZWFyOiBib3RoOyB9DQogIC5jbGVhcmluZy10aHVtYnMgbGksIFtkYXRhLWNsZWFyaW5nXSBsaSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9DQogIC5jbGVhcmluZy10aHVtYnNbY2xhc3MqPSJibG9jay1ncmlkLSJdIGxpLCBbZGF0YS1jbGVhcmluZ11bY2xhc3MqPSJibG9jay1ncmlkLSJdIGxpIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0NCg0KLmNsZWFyaW5nLWJsYWNrb3V0IHsNCiAgYmFja2dyb3VuZDogIzMzMzMzMzsNCiAgcG9zaXRpb246IGZpeGVkOw0KICB3aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiAxMDAlOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIHotaW5kZXg6IDk5ODsgfQ0KICAuY2xlYXJpbmctYmxhY2tvdXQgLmNsZWFyaW5nLWNsb3NlIHsNCiAgICBkaXNwbGF5OiBibG9jazsgfQ0KDQouY2xlYXJpbmctY29udGFpbmVyIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB6LWluZGV4OiA5OTg7DQogIGhlaWdodDogMTAwJTsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgbWFyZ2luOiAwOyB9DQoNCi5jbGVhcmluZy10b3VjaC1sYWJlbCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiA1MCU7DQogIGxlZnQ6IDUwJTsNCiAgY29sb3I6ICNBQUFBQUE7DQogIGZvbnQtc2l6ZTogMC42ZW07IH0NCg0KLnZpc2libGUtaW1nIHsNCiAgaGVpZ2h0OiA5NSU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQ0KICAudmlzaWJsZS1pbWcgaW1nIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogNTAlOw0KICAgIHRvcDogNTAlOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpOw0KICAgIG1heC1oZWlnaHQ6IDEwMCU7DQogICAgbWF4LXdpZHRoOiAxMDAlOyB9DQoNCi5jbGVhcmluZy1jYXB0aW9uIHsNCiAgY29sb3I6ICNDQ0NDQ0M7DQogIGZvbnQtc2l6ZTogMC44NzVlbTsNCiAgbGluZS1oZWlnaHQ6IDEuMzsNCiAgbWFyZ2luLWJvdHRvbTogMDsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICBib3R0b206IDA7DQogIGJhY2tncm91bmQ6ICMzMzMzMzM7DQogIHdpZHRoOiAxMDAlOw0KICBwYWRkaW5nOiAxMHB4IDMwcHggMjBweDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBsZWZ0OiAwOyB9DQoNCi5jbGVhcmluZy1jbG9zZSB7DQogIHotaW5kZXg6IDk5OTsNCiAgcGFkZGluZy1sZWZ0OiAyMHB4Ow0KICBwYWRkaW5nLXRvcDogMTBweDsNCiAgZm9udC1zaXplOiAzMHB4Ow0KICBsaW5lLWhlaWdodDogMTsNCiAgY29sb3I6ICNDQ0NDQ0M7DQogIGRpc3BsYXk6IG5vbmU7IH0NCiAgLmNsZWFyaW5nLWNsb3NlOmhvdmVyLCAuY2xlYXJpbmctY2xvc2U6Zm9jdXMgew0KICAgIGNvbG9yOiAjQ0NDQ0NDOyB9DQoNCi5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7DQogIGhlaWdodDogMTAwJTsgfQ0KICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwgew0KICAgIGRpc3BsYXk6IG5vbmU7IH0NCg0KLmNsZWFyaW5nLWZlYXR1cmUgbGkgew0KICBkaXNwbGF5OiBub25lOyB9DQogIC5jbGVhcmluZy1mZWF0dXJlIGxpLmNsZWFyaW5nLWZlYXR1cmVkLWltZyB7DQogICAgZGlzcGxheTogYmxvY2s7IH0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAuY2xlYXJpbmctbWFpbi1wcmV2LA0KICAuY2xlYXJpbmctbWFpbi1uZXh0IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIHdpZHRoOiA0MHB4Ow0KICAgIHRvcDogMDsgfQ0KICAgIC5jbGVhcmluZy1tYWluLXByZXYgPiBzcGFuLA0KICAgIC5jbGVhcmluZy1tYWluLW5leHQgPiBzcGFuIHsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIHRvcDogNTAlOw0KICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICB3aWR0aDogMDsNCiAgICAgIGhlaWdodDogMDsNCiAgICAgIGJvcmRlcjogc29saWQgMTJweDsgfQ0KICAgICAgLmNsZWFyaW5nLW1haW4tcHJldiA+IHNwYW46aG92ZXIsDQogICAgICAuY2xlYXJpbmctbWFpbi1uZXh0ID4gc3Bhbjpob3ZlciB7DQogICAgICAgIG9wYWNpdHk6IDAuODsgfQ0KDQogIC5jbGVhcmluZy1tYWluLXByZXYgew0KICAgIGxlZnQ6IDA7IH0NCiAgICAuY2xlYXJpbmctbWFpbi1wcmV2ID4gc3BhbiB7DQogICAgICBsZWZ0OiA1cHg7DQogICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjQ0NDQ0NDOyB9DQoNCiAgLmNsZWFyaW5nLW1haW4tbmV4dCB7DQogICAgcmlnaHQ6IDA7IH0NCiAgICAuY2xlYXJpbmctbWFpbi1uZXh0ID4gc3BhbiB7DQogICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNDQ0NDQ0M7IH0NCg0KICAuY2xlYXJpbmctbWFpbi1wcmV2LmRpc2FibGVkLA0KICAuY2xlYXJpbmctbWFpbi1uZXh0LmRpc2FibGVkIHsNCiAgICBvcGFjaXR5OiAwLjM7IH0NCg0KICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsIHsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7DQogICAgaGVpZ2h0OiAxMjBweDsNCiAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQ0KICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAuY2Fyb3VzZWwgPiB1bCB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICB6LWluZGV4OiA5OTk7DQogICAgICBoZWlnaHQ6IDEwMCU7DQogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICBmbG9hdDogbm9uZTsgfQ0KICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgIHdpZHRoOiAxMjBweDsNCiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICAgICAgcGFkZGluZzogMDsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgICAgIG9wYWNpdHk6IDAuNDsNCiAgICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpLmZpeC1oZWlnaHQgaW1nIHsNCiAgICAgICAgICBoZWlnaHQ6IDEwMCU7DQogICAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9DQogICAgICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAuY2Fyb3VzZWwgPiB1bCBsaSBhLnRoIHsNCiAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfQ0KICAgICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwgbGkgaW1nIHsNCiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsNCiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9DQogICAgICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAuY2Fyb3VzZWwgPiB1bCBsaS52aXNpYmxlIHsNCiAgICAgICAgICBvcGFjaXR5OiAxOyB9DQogICAgICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAuY2Fyb3VzZWwgPiB1bCBsaTpob3ZlciB7DQogICAgICAgICAgb3BhY2l0eTogMC44OyB9DQogIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAudmlzaWJsZS1pbWcgew0KICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBoZWlnaHQ6IDg1JTsgfQ0KDQogIC5jbGVhcmluZy1jbG9zZSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMTBweDsNCiAgICByaWdodDogMjBweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgcGFkZGluZy10b3A6IDA7IH0gfQ0KLyogUHJvZ3Jlc3MgQmFyICovDQoucHJvZ3Jlc3Mgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2Ow0KICBoZWlnaHQ6IDEuNTYyNXJlbTsNCiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7DQogIHBhZGRpbmc6IDAuMTI1cmVtOw0KICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfQ0KICAucHJvZ3Jlc3MgLm1ldGVyIHsNCiAgICBiYWNrZ3JvdW5kOiAjMmJhNmNiOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBkaXNwbGF5OiBibG9jazsgfQ0KICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5tZXRlciB7DQogICAgYmFja2dyb3VuZDogI2U5ZTllOTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgZGlzcGxheTogYmxvY2s7IH0NCiAgLnByb2dyZXNzLnN1Y2Nlc3MgLm1ldGVyIHsNCiAgICBiYWNrZ3JvdW5kOiAjNWRhNDIzOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBkaXNwbGF5OiBibG9jazsgfQ0KICAucHJvZ3Jlc3MuYWxlcnQgLm1ldGVyIHsNCiAgICBiYWNrZ3JvdW5kOiAjYzYwZjEzOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBkaXNwbGF5OiBibG9jazsgfQ0KICAucHJvZ3Jlc3MucmFkaXVzIHsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH0NCiAgICAucHJvZ3Jlc3MucmFkaXVzIC5tZXRlciB7DQogICAgICBib3JkZXItcmFkaXVzOiAycHg7IH0NCiAgLnByb2dyZXNzLnJvdW5kIHsNCiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH0NCiAgICAucHJvZ3Jlc3Mucm91bmQgLm1ldGVyIHsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OyB9DQoNCi5zdWItbmF2IHsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiBhdXRvOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAwIDEuMTI1cmVtOw0KICBwYWRkaW5nLXRvcDogMC4yNXJlbTsgfQ0KICAuc3ViLW5hdiBkdCB7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQ0KICAuc3ViLW5hdiBkdCwNCiAgLnN1Yi1uYXYgZGQsDQogIC5zdWItbmF2IGxpIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBtYXJnaW4tbGVmdDogMXJlbTsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBmb250LXNpemU6IDAuODc1cmVtOw0KICAgIGNvbG9yOiAjOTk5OTk5OyB9DQogICAgLnN1Yi1uYXYgZHQgYSwNCiAgICAuc3ViLW5hdiBkZCBhLA0KICAgIC5zdWItbmF2IGxpIGEgew0KICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgY29sb3I6ICM5OTk5OTk7DQogICAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMXJlbTsgfQ0KICAgICAgLnN1Yi1uYXYgZHQgYTpob3ZlciwNCiAgICAgIC5zdWItbmF2IGRkIGE6aG92ZXIsDQogICAgICAuc3ViLW5hdiBsaSBhOmhvdmVyIHsNCiAgICAgICAgY29sb3I6ICM3MzczNzM7IH0NCiAgICAuc3ViLW5hdiBkdC5hY3RpdmUgYSwNCiAgICAuc3ViLW5hdiBkZC5hY3RpdmUgYSwNCiAgICAuc3ViLW5hdiBsaS5hY3RpdmUgYSB7DQogICAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogICAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsNCiAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAxcmVtOw0KICAgICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgICAgY29sb3I6ICNGRkZGRkY7IH0NCiAgICAgIC5zdWItbmF2IGR0LmFjdGl2ZSBhOmhvdmVyLA0KICAgICAgLnN1Yi1uYXYgZGQuYWN0aXZlIGE6aG92ZXIsDQogICAgICAuc3ViLW5hdiBsaS5hY3RpdmUgYTpob3ZlciB7DQogICAgICAgIGJhY2tncm91bmQ6ICMyNThmYWY7IH0NCg0KLyogRm91bmRhdGlvbiBKb3lyaWRlICovDQouam95cmlkZS1saXN0IHsNCiAgZGlzcGxheTogbm9uZTsgfQ0KDQovKiBEZWZhdWx0IHN0eWxlcyBmb3IgdGhlIGNvbnRhaW5lciAqLw0KLmpveXJpZGUtdGlwLWd1aWRlIHsNCiAgZGlzcGxheTogbm9uZTsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBiYWNrZ3JvdW5kOiAjMzMzMzMzOw0KICBjb2xvcjogI0ZGRkZGRjsNCiAgei1pbmRleDogMTAxOw0KICB0b3A6IDA7DQogIGxlZnQ6IDIuNSU7DQogIGZvbnQtZmFtaWx5OiBpbmhlcml0Ow0KICBmb250LXdlaWdodDogbm9ybWFsOw0KICB3aWR0aDogOTUlOyB9DQoNCi5sdC1pZTkgLmpveXJpZGUtdGlwLWd1aWRlIHsNCiAgbWF4LXdpZHRoOiA4MDBweDsNCiAgbGVmdDogNTAlOw0KICBtYXJnaW4tbGVmdDogLTQwMHB4OyB9DQoNCi5qb3lyaWRlLWNvbnRlbnQtd3JhcHBlciB7DQogIHdpZHRoOiAxMDAlOw0KICBwYWRkaW5nOiAxLjEyNXJlbSAxLjI1cmVtIDEuNXJlbTsgfQ0KICAuam95cmlkZS1jb250ZW50LXdyYXBwZXIgLmJ1dHRvbiB7DQogICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9DQogIC5qb3lyaWRlLWNvbnRlbnQtd3JhcHBlciAuam95cmlkZS1wcmV2LXRpcCB7DQogICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9DQoNCi8qIEFkZCBhIGxpdHRsZSBjc3MgdHJpYW5nbGUgcGlwLCBvbGRlciBicm93c2VyIGp1c3QgbWlzcyBvdXQgb24gdGhlIGZhbmNpbmVzcyBvZiBpdCAqLw0KLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51YiB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGxlZnQ6IDIycHg7DQogIHdpZHRoOiAwOw0KICBoZWlnaHQ6IDA7DQogIGJvcmRlcjogMTBweCBzb2xpZCAjMzMzMzMzOyB9DQogIC5qb3lyaWRlLXRpcC1ndWlkZSAuam95cmlkZS1udWIudG9wIHsNCiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItY29sb3I6ICMzMzMzMzM7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsNCiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsNCiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7DQogICAgdG9wOiAtMjBweDsgfQ0KICAuam95cmlkZS10aXAtZ3VpZGUgLmpveXJpZGUtbnViLmJvdHRvbSB7DQogICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsNCiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsNCiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7DQogICAgYm90dG9tOiAtMjBweDsgfQ0KICAuam95cmlkZS10aXAtZ3VpZGUgLmpveXJpZGUtbnViLnJpZ2h0IHsNCiAgICByaWdodDogLTIwcHg7IH0NCiAgLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51Yi5sZWZ0IHsNCiAgICBsZWZ0OiAtMjBweDsgfQ0KDQovKiBUeXBvZ3JhcGh5ICovDQouam95cmlkZS10aXAtZ3VpZGUgaDEsDQouam95cmlkZS10aXAtZ3VpZGUgaDIsDQouam95cmlkZS10aXAtZ3VpZGUgaDMsDQouam95cmlkZS10aXAtZ3VpZGUgaDQsDQouam95cmlkZS10aXAtZ3VpZGUgaDUsDQouam95cmlkZS10aXAtZ3VpZGUgaDYgew0KICBsaW5lLWhlaWdodDogMS4yNTsNCiAgbWFyZ2luOiAwOw0KICBmb250LXdlaWdodDogYm9sZDsNCiAgY29sb3I6ICNGRkZGRkY7IH0NCg0KLmpveXJpZGUtdGlwLWd1aWRlIHAgew0KICBtYXJnaW46IDAgMCAxLjEyNXJlbSAwOw0KICBmb250LXNpemU6IDAuODc1cmVtOw0KICBsaW5lLWhlaWdodDogMS4zOyB9DQoNCi5qb3lyaWRlLXRpbWVyLWluZGljYXRvci13cmFwIHsNCiAgd2lkdGg6IDUwcHg7DQogIGhlaWdodDogM3B4Ow0KICBib3JkZXI6IHNvbGlkIDFweCAjNTU1NTU1Ow0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxLjA2MjVyZW07DQogIGJvdHRvbTogMXJlbTsgfQ0KDQouam95cmlkZS10aW1lci1pbmRpY2F0b3Igew0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDA7DQogIGhlaWdodDogaW5oZXJpdDsNCiAgYmFja2dyb3VuZDogIzY2NjY2NjsgfQ0KDQouam95cmlkZS1jbG9zZS10aXAgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxMnB4Ow0KICB0b3A6IDEwcHg7DQogIGNvbG9yOiAjNzc3Nzc3ICFpbXBvcnRhbnQ7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgZm9udC1zaXplOiAyNHB4Ow0KICBmb250LXdlaWdodDogbm9ybWFsOw0KICBsaW5lLWhlaWdodDogLjUgIWltcG9ydGFudDsgfQ0KICAuam95cmlkZS1jbG9zZS10aXA6aG92ZXIsIC5qb3lyaWRlLWNsb3NlLXRpcDpmb2N1cyB7DQogICAgY29sb3I6ICNFRUVFRUUgIWltcG9ydGFudDsgfQ0KDQouam95cmlkZS1tb2RhbC1iZyB7DQogIHBvc2l0aW9uOiBmaXhlZDsNCiAgaGVpZ2h0OiAxMDAlOw0KICB3aWR0aDogMTAwJTsNCiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsNCiAgei1pbmRleDogMTAwOw0KICBkaXNwbGF5OiBub25lOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIGN1cnNvcjogcG9pbnRlcjsgfQ0KDQouam95cmlkZS1leHBvc2Utd3JhcHBlciB7DQogIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICB6LWluZGV4OiAxMDI7DQogIGJveC1zaGFkb3c6IDAgMCAxNXB4ICNGRkZGRkY7IH0NCg0KLmpveXJpZGUtZXhwb3NlLWNvdmVyIHsNCiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQogIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiA5OTk5Ow0KICB0b3A6IDA7DQogIGxlZnQ6IDA7IH0NCg0KLyogU3R5bGVzIGZvciBzY3JlZW5zIHRoYXQgYXJlIGF0IGxlYXN0IDc2OHB4OyAqLw0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAuam95cmlkZS10aXAtZ3VpZGUgew0KICAgIHdpZHRoOiAzMDBweDsNCiAgICBsZWZ0OiBpbmhlcml0OyB9DQogICAgLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51Yi5ib3R0b20gew0KICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7DQogICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7DQogICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7DQogICAgICBib3R0b206IC0yMHB4OyB9DQogICAgLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51Yi5yaWdodCB7DQogICAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgIWltcG9ydGFudDsNCiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7DQogICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7DQogICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgICAgdG9wOiAyMnB4Ow0KICAgICAgbGVmdDogYXV0bzsNCiAgICAgIHJpZ2h0OiAtMjBweDsgfQ0KICAgIC5qb3lyaWRlLXRpcC1ndWlkZSAuam95cmlkZS1udWIubGVmdCB7DQogICAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgIWltcG9ydGFudDsNCiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7DQogICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsNCiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7DQogICAgICB0b3A6IDIycHg7DQogICAgICBsZWZ0OiAtMjBweDsNCiAgICAgIHJpZ2h0OiBhdXRvOyB9IH0NCi5sYWJlbCB7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICBsaW5lLWhlaWdodDogMTsNCiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIG1hcmdpbi1ib3R0b206IGF1dG87DQogIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtIDAuMjVyZW07DQogIGZvbnQtc2l6ZTogMC42ODc1cmVtOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmJhNmNiOw0KICBjb2xvcjogI0ZGRkZGRjsgfQ0KICAubGFiZWwucmFkaXVzIHsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH0NCiAgLmxhYmVsLnJvdW5kIHsNCiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH0NCiAgLmxhYmVsLmFsZXJ0IHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzYwZjEzOw0KICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogIC5sYWJlbC53YXJuaW5nIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA4YTI0Ow0KICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogIC5sYWJlbC5zdWNjZXNzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWRhNDIzOw0KICAgIGNvbG9yOiAjRkZGRkZGOyB9DQogIC5sYWJlbC5zZWNvbmRhcnkgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWU5ZTk7DQogICAgY29sb3I6ICMzMzMzMzM7IH0NCiAgLmxhYmVsLmluZm8gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNhMGQzZTg7DQogICAgY29sb3I6ICMzMzMzMzM7IH0NCg0KLm9mZi1jYW52YXMtd3JhcCB7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHdpZHRoOiAxMDAlOw0KICBvdmVyZmxvdzogaGlkZGVuOyB9DQogIC5vZmYtY2FudmFzLXdyYXAubW92ZS1yaWdodCwgLm9mZi1jYW52YXMtd3JhcC5tb3ZlLWxlZnQgew0KICAgIG1pbi1oZWlnaHQ6IDEwMCU7DQogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9DQoNCi5pbm5lci13cmFwIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB3aWR0aDogMTAwJTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlOw0KICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDUwMG1zIGVhc2U7DQogIC1tcy10cmFuc2l0aW9uOiAtbXMtdHJhbnNmb3JtIDUwMG1zIGVhc2U7DQogIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSA1MDBtcyBlYXNlOw0KICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTsgfQ0KICAuaW5uZXItd3JhcDpiZWZvcmUsIC5pbm5lci13cmFwOmFmdGVyIHsNCiAgICBjb250ZW50OiAiICI7DQogICAgZGlzcGxheTogdGFibGU7IH0NCiAgLmlubmVyLXdyYXA6YWZ0ZXIgew0KICAgIGNsZWFyOiBib3RoOyB9DQoNCi50YWItYmFyIHsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tncm91bmQ6ICMzMzMzMzM7DQogIGNvbG9yOiAjRkZGRkZGOw0KICBoZWlnaHQ6IDIuODEyNXJlbTsNCiAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOyB9DQogIC50YWItYmFyIGgxLCAudGFiLWJhciBoMiwgLnRhYi1iYXIgaDMsIC50YWItYmFyIGg0LCAudGFiLWJhciBoNSwgLnRhYi1iYXIgaDYgew0KICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07DQogICAgbWFyZ2luOiAwOyB9DQogIC50YWItYmFyIGgxLCAudGFiLWJhciBoMiwgLnRhYi1iYXIgaDMsIC50YWItYmFyIGg0IHsNCiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9DQoNCi5sZWZ0LXNtYWxsIHsNCiAgd2lkdGg6IDIuODEyNXJlbTsNCiAgaGVpZ2h0OiAyLjgxMjVyZW07DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAwOw0KICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjMWExYTFhOw0KICBsZWZ0OiAwOyB9DQoNCi5yaWdodC1zbWFsbCB7DQogIHdpZHRoOiAyLjgxMjVyZW07DQogIGhlaWdodDogMi44MTI1cmVtOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMDsNCiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjMWExYTFhOw0KICByaWdodDogMDsgfQ0KDQoudGFiLWJhci1zZWN0aW9uIHsNCiAgcGFkZGluZzogMCAwLjYyNXJlbTsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGhlaWdodDogMi44MTI1cmVtOw0KICB0b3A6IDA7IH0NCiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAgIC50YWItYmFyLXNlY3Rpb24ubGVmdCB7DQogICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9DQogICAgLnRhYi1iYXItc2VjdGlvbi5yaWdodCB7DQogICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9DQogIC50YWItYmFyLXNlY3Rpb24ubGVmdCB7DQogICAgbGVmdDogMDsNCiAgICByaWdodDogMi44MTI1cmVtOyB9DQogIC50YWItYmFyLXNlY3Rpb24ucmlnaHQgew0KICAgIGxlZnQ6IDIuODEyNXJlbTsNCiAgICByaWdodDogMDsgfQ0KICAudGFiLWJhci1zZWN0aW9uLm1pZGRsZSB7DQogICAgbGVmdDogMi44MTI1cmVtOw0KICAgIHJpZ2h0OiAyLjgxMjVyZW07IH0NCg0KLnRhYi1iYXIgLm1lbnUtaWNvbiB7DQogIHRleHQtaW5kZW50OiAyLjE4NzVyZW07DQogIHdpZHRoOiAyLjgxMjVyZW07DQogIGhlaWdodDogMi44MTI1cmVtOw0KICBkaXNwbGF5OiBibG9jazsNCiAgcGFkZGluZzogMDsNCiAgY29sb3I6ICNGRkZGRkY7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfQ0KICAudGFiLWJhciAubWVudS1pY29uIHNwYW46OmFmdGVyIHsNCiAgICBjb250ZW50OiAiIjsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgaGVpZ2h0OiAwOw0KICAgIHRvcDogNTAlOw0KICAgIG1hcmdpbi10b3A6IC0wLjVyZW07DQogICAgbGVmdDogMC45MDYyNXJlbTsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0ZGRkZGRiwgMCA3cHggMCAxcHggI0ZGRkZGRiwgMCAxNHB4IDAgMXB4ICNGRkZGRkY7DQogICAgd2lkdGg6IDFyZW07IH0NCiAgLnRhYi1iYXIgLm1lbnUtaWNvbiBzcGFuOmhvdmVyOmFmdGVyIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2IzYjNiMywgMCA3cHggMCAxcHggI2IzYjNiMywgMCAxNHB4IDAgMXB4ICNiM2IzYjM7IH0NCg0KLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIHdpZHRoOiAxNS42MjVyZW07DQogIHRvcDogMDsNCiAgYm90dG9tOiAwOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIG92ZXJmbG93LXg6IGhpZGRlbjsNCiAgb3ZlcmZsb3cteTogYXV0bzsNCiAgYmFja2dyb3VuZDogIzMzMzMzMzsNCiAgei1pbmRleDogMTAwMTsNCiAgYm94LXNpemluZzogY29udGVudC1ib3g7DQogIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlIDBzOw0KICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7DQogIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOw0KICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgbGVmdDogMDsgfQ0KICAubGVmdC1vZmYtY2FudmFzLW1lbnUgKiB7DQogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH0NCg0KLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICB3aWR0aDogMTUuNjI1cmVtOw0KICB0b3A6IDA7DQogIGJvdHRvbTogMDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBvdmVyZmxvdy14OiBoaWRkZW47DQogIG92ZXJmbG93LXk6IGF1dG87DQogIGJhY2tncm91bmQ6ICMzMzMzMzM7DQogIHotaW5kZXg6IDEwMDE7DQogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Ow0KICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZSAwczsNCiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOw0KICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsNCiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogIHJpZ2h0OiAwOyB9DQogIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgKiB7DQogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH0NCg0KdWwub2ZmLWNhbnZhcy1saXN0IHsNCiAgbGlzdC1zdHlsZS10eXBlOiBub25lOw0KICBwYWRkaW5nOiAwOw0KICBtYXJnaW46IDA7IH0NCiAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGxhYmVsIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwYWRkaW5nOiAwLjNyZW0gMC45Mzc1cmVtOw0KICAgIGNvbG9yOiAjOTk5OTk5Ow0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgZm9udC1zaXplOiAwLjc1cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGJhY2tncm91bmQ6ICM0NDQ0NDQ7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZTVlNWU7DQogICAgYm9yZGVyLWJvdHRvbTogbm9uZTsNCiAgICBtYXJnaW46IDA7IH0NCiAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGEgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IDAuNjY2NjdyZW07DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI2MjYyNjsNCiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7IH0NCiAgICB1bC5vZmYtY2FudmFzLWxpc3QgbGkgYTpob3ZlciB7DQogICAgICBiYWNrZ3JvdW5kOiAjMjQyNDI0OyB9DQoNCi5tb3ZlLXJpZ2h0ID4gLmlubmVyLXdyYXAgew0KICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTUuNjI1cmVtLCAwKTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1LjYyNXJlbSwgMCwgMCk7DQogIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNS42MjVyZW0sIDAsIDApOw0KICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNS42MjVyZW0sIDAsIDApOw0KICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1LjYyNXJlbSwgMCwgMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUuNjI1cmVtLCAwLCAwKTsgfQ0KLm1vdmUtcmlnaHQgLmV4aXQtb2ZmLWNhbnZhcyB7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsNCiAgdG9wOiAwOw0KICBib3R0b206IDA7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KICB6LWluZGV4OiAxMDAyOw0KICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9DQogIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgICAubW92ZS1yaWdodCAuZXhpdC1vZmYtY2FudmFzOmhvdmVyIHsNCiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH0gfQ0KDQoubW92ZS1sZWZ0ID4gLmlubmVyLXdyYXAgew0KICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1LjYyNXJlbSwgMCk7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUuNjI1cmVtLCAwLCAwKTsNCiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNS42MjVyZW0sIDAsIDApOw0KICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUuNjI1cmVtLCAwLCAwKTsNCiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUuNjI1cmVtLCAwLCAwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUuNjI1cmVtLCAwLCAwKTsgfQ0KLm1vdmUtbGVmdCAuZXhpdC1vZmYtY2FudmFzIHsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KSwgNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KTsNCiAgZGlzcGxheTogYmxvY2s7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOw0KICB0b3A6IDA7DQogIGJvdHRvbTogMDsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDA7DQogIHotaW5kZXg6IDEwMDI7DQogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0NCiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAgIC5tb3ZlLWxlZnQgLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7DQogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH0NCg0KLm9mZmNhbnZhcy1vdmVybGFwIC5sZWZ0LW9mZi1jYW52YXMtbWVudSwgLm9mZmNhbnZhcy1vdmVybGFwIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgew0KICAtbXMtdHJhbnNmb3JtOiBub25lOw0KICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgLW1vei10cmFuc2Zvcm06IG5vbmU7DQogIC1vLXRyYW5zZm9ybTogbm9uZTsNCiAgdHJhbnNmb3JtOiBub25lOw0KICB6LWluZGV4OiAxMDAzOyB9DQoub2ZmY2FudmFzLW92ZXJsYXAgLmV4aXQtb2ZmLWNhbnZhcyB7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsNCiAgdG9wOiAwOw0KICBib3R0b206IDA7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KICB6LWluZGV4OiAxMDAyOw0KICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9DQogIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgICAub2ZmY2FudmFzLW92ZXJsYXAgLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7DQogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH0NCg0KLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7DQogIC1tcy10cmFuc2Zvcm06IG5vbmU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAtbW96LXRyYW5zZm9ybTogbm9uZTsNCiAgLW8tdHJhbnNmb3JtOiBub25lOw0KICB0cmFuc2Zvcm06IG5vbmU7DQogIHotaW5kZXg6IDEwMDM7IH0NCi5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0IC5leGl0LW9mZi1jYW52YXMgew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlOw0KICBjdXJzb3I6IHBvaW50ZXI7DQogIGJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpOw0KICBkaXNwbGF5OiBibG9jazsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7DQogIHRvcDogMDsNCiAgYm90dG9tOiAwOw0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgei1pbmRleDogMTAwMjsNCiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7DQogICAgLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQgLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7DQogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH0NCg0KLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0IC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7DQogIC1tcy10cmFuc2Zvcm06IG5vbmU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAtbW96LXRyYW5zZm9ybTogbm9uZTsNCiAgLW8tdHJhbnNmb3JtOiBub25lOw0KICB0cmFuc2Zvcm06IG5vbmU7DQogIHotaW5kZXg6IDEwMDM7IH0NCi5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCAuZXhpdC1vZmYtY2FudmFzIHsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KSwgNHB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KTsNCiAgZGlzcGxheTogYmxvY2s7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOw0KICB0b3A6IDA7DQogIGJvdHRvbTogMDsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDA7DQogIHotaW5kZXg6IDEwMDI7DQogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0NCiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCAuZXhpdC1vZmYtY2FudmFzOmhvdmVyIHsNCiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH0gfQ0KDQoubm8tY3NzdHJhbnNmb3JtcyAubGVmdC1vZmYtY2FudmFzLW1lbnUgew0KICBsZWZ0OiAtMTUuNjI1cmVtOyB9DQoubm8tY3NzdHJhbnNmb3JtcyAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHsNCiAgcmlnaHQ6IC0xNS42MjVyZW07IH0NCi5uby1jc3N0cmFuc2Zvcm1zIC5tb3ZlLWxlZnQgPiAuaW5uZXItd3JhcCB7DQogIHJpZ2h0OiAxNS42MjVyZW07IH0NCi5uby1jc3N0cmFuc2Zvcm1zIC5tb3ZlLXJpZ2h0ID4gLmlubmVyLXdyYXAgew0KICBsZWZ0OiAxNS42MjVyZW07IH0NCg0KLmxlZnQtc3VibWVudSB7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICB3aWR0aDogMTUuNjI1cmVtOw0KICB0b3A6IDA7DQogIGJvdHRvbTogMDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBtYXJnaW46IDA7DQogIG92ZXJmbG93LXg6IGhpZGRlbjsNCiAgb3ZlcmZsb3cteTogYXV0bzsNCiAgYmFja2dyb3VuZDogIzMzMzMzMzsNCiAgei1pbmRleDogMTAwMjsNCiAgYm94LXNpemluZzogY29udGVudC1ib3g7DQogIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsNCiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogIGxlZnQ6IDA7DQogIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTsNCiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA1MDBtcyBlYXNlOw0KICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSA1MDBtcyBlYXNlOw0KICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNTAwbXMgZWFzZTsNCiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7IH0NCiAgLmxlZnQtc3VibWVudSAqIHsNCiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfQ0KICAubGVmdC1zdWJtZW51IC5iYWNrID4gYSB7DQogICAgcGFkZGluZzogMC4zcmVtIDAuOTM3NXJlbTsNCiAgICBjb2xvcjogIzk5OTk5OTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGJhY2tncm91bmQ6ICM0NDQ7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZTVlNWU7DQogICAgYm9yZGVyLWJvdHRvbTogbm9uZTsNCiAgICBtYXJnaW46IDA7IH0NCiAgICAubGVmdC1zdWJtZW51IC5iYWNrID4gYTpob3ZlciB7DQogICAgICBiYWNrZ3JvdW5kOiAjMzAzMDMwOw0KICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZTVlNWU7DQogICAgICBib3JkZXItYm90dG9tOiBub25lOyB9DQogICAgLmxlZnQtc3VibWVudSAuYmFjayA+IGE6YmVmb3JlIHsNCiAgICAgIGNvbnRlbnQ6ICJcQUIiOw0KICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07DQogICAgICBkaXNwbGF5OiBpbmxpbmU7IH0NCiAgLmxlZnQtc3VibWVudS5tb3ZlLXJpZ2h0LCAubGVmdC1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0LCAubGVmdC1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwIHsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDApOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7IH0NCg0KLnJpZ2h0LXN1Ym1lbnUgew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgd2lkdGg6IDE1LjYyNXJlbTsNCiAgdG9wOiAwOw0KICBib3R0b206IDA7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgbWFyZ2luOiAwOw0KICBvdmVyZmxvdy14OiBoaWRkZW47DQogIG92ZXJmbG93LXk6IGF1dG87DQogIGJhY2tncm91bmQ6ICMzMzMzMzM7DQogIHotaW5kZXg6IDEwMDI7DQogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Ow0KICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7DQogIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICByaWdodDogMDsNCiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSA1MDBtcyBlYXNlOw0KICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDUwMG1zIGVhc2U7DQogIC1tcy10cmFuc2l0aW9uOiAtbXMtdHJhbnNmb3JtIDUwMG1zIGVhc2U7DQogIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSA1MDBtcyBlYXNlOw0KICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTsgfQ0KICAucmlnaHQtc3VibWVudSAqIHsNCiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfQ0KICAucmlnaHQtc3VibWVudSAuYmFjayA+IGEgew0KICAgIHBhZGRpbmc6IDAuM3JlbSAwLjkzNzVyZW07DQogICAgY29sb3I6ICM5OTk5OTk7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBiYWNrZ3JvdW5kOiAjNDQ0Ow0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlOw0KICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgbWFyZ2luOiAwOyB9DQogICAgLnJpZ2h0LXN1Ym1lbnUgLmJhY2sgPiBhOmhvdmVyIHsNCiAgICAgIGJhY2tncm91bmQ6ICMzMDMwMzA7DQogICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVlNWU1ZTsNCiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0NCiAgICAucmlnaHQtc3VibWVudSAuYmFjayA+IGE6YWZ0ZXIgew0KICAgICAgY29udGVudDogIlxCQiI7DQogICAgICBtYXJnaW4tbGVmdDogMC41cmVtOw0KICAgICAgZGlzcGxheTogaW5saW5lOyB9DQogIC5yaWdodC1zdWJtZW51Lm1vdmUtbGVmdCwgLnJpZ2h0LXN1Ym1lbnUub2ZmY2FudmFzLW92ZXJsYXAtbGVmdCwgLnJpZ2h0LXN1Ym1lbnUub2ZmY2FudmFzLW92ZXJsYXAgew0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTsgfQ0KDQoubGVmdC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTphZnRlciB7DQogIGNvbnRlbnQ6ICJcQkIiOw0KICBtYXJnaW4tbGVmdDogMC41cmVtOw0KICBkaXNwbGF5OiBpbmxpbmU7IH0NCg0KLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcQUIiOw0KICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsNCiAgZGlzcGxheTogaW5saW5lOyB9DQoNCi8qIEZvdW5kYXRpb24gRHJvcGRvd25zICovDQouZi1kcm9wZG93biB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgbGVmdDogLTk5OTlweDsNCiAgbGlzdC1zdHlsZTogbm9uZTsNCiAgbWFyZ2luLWxlZnQ6IDA7DQogIG91dGxpbmU6IG5vbmU7DQogIHdpZHRoOiAxMDAlOw0KICBtYXgtaGVpZ2h0OiBub25lOw0KICBoZWlnaHQ6IGF1dG87DQogIGJhY2tncm91bmQ6ICNGRkZGRkY7DQogIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7DQogIGZvbnQtc2l6ZTogMC44NzVyZW07DQogIHotaW5kZXg6IDg5Ow0KICBtYXJnaW4tdG9wOiAycHg7DQogIG1heC13aWR0aDogMjAwcHg7IH0NCiAgLmYtZHJvcGRvd24gPiAqOmZpcnN0LWNoaWxkIHsNCiAgICBtYXJnaW4tdG9wOiAwOyB9DQogIC5mLWRyb3Bkb3duID4gKjpsYXN0LWNoaWxkIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOyB9DQogIC5mLWRyb3Bkb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIiI7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDA7DQogICAgaGVpZ2h0OiAwOw0KICAgIGJvcmRlcjogaW5zZXQgNnB4Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0ZGRkZGRiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAtMTJweDsNCiAgICBsZWZ0OiAxMHB4Ow0KICAgIHotaW5kZXg6IDg5OyB9DQogIC5mLWRyb3Bkb3duOmFmdGVyIHsNCiAgICBjb250ZW50OiAiIjsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMDsNCiAgICBoZWlnaHQ6IDA7DQogICAgYm9yZGVyOiBpbnNldCA3cHg7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjY2NjY2NjIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IC0xNHB4Ow0KICAgIGxlZnQ6IDlweDsNCiAgICB6LWluZGV4OiA4ODsgfQ0KICAuZi1kcm9wZG93bi5yaWdodDpiZWZvcmUgew0KICAgIGxlZnQ6IGF1dG87DQogICAgcmlnaHQ6IDEwcHg7IH0NCiAgLmYtZHJvcGRvd24ucmlnaHQ6YWZ0ZXIgew0KICAgIGxlZnQ6IGF1dG87DQogICAgcmlnaHQ6IDlweDsgfQ0KICAuZi1kcm9wZG93bi5kcm9wLXJpZ2h0IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogLTk5OTlweDsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIG91dGxpbmU6IG5vbmU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWF4LWhlaWdodDogbm9uZTsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgYmFja2dyb3VuZDogI0ZGRkZGRjsNCiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjOw0KICAgIGZvbnQtc2l6ZTogMC44NzVyZW07DQogICAgei1pbmRleDogODk7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tbGVmdDogMnB4Ow0KICAgIG1heC13aWR0aDogMjAwcHg7IH0NCiAgICAuZi1kcm9wZG93bi5kcm9wLXJpZ2h0ID4gKjpmaXJzdC1jaGlsZCB7DQogICAgICBtYXJnaW4tdG9wOiAwOyB9DQogICAgLmYtZHJvcGRvd24uZHJvcC1yaWdodCA+ICo6bGFzdC1jaGlsZCB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOyB9DQogICAgLmYtZHJvcGRvd24uZHJvcC1yaWdodDpiZWZvcmUgew0KICAgICAgY29udGVudDogIiI7DQogICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgIHdpZHRoOiAwOw0KICAgICAgaGVpZ2h0OiAwOw0KICAgICAgYm9yZGVyOiBpbnNldCA2cHg7DQogICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7DQogICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkOw0KICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgdG9wOiAxMHB4Ow0KICAgICAgbGVmdDogLTEycHg7DQogICAgICB6LWluZGV4OiA4OTsgfQ0KICAgIC5mLWRyb3Bkb3duLmRyb3AtcmlnaHQ6YWZ0ZXIgew0KICAgICAgY29udGVudDogIiI7DQogICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgIHdpZHRoOiAwOw0KICAgICAgaGVpZ2h0OiAwOw0KICAgICAgYm9yZGVyOiBpbnNldCA3cHg7DQogICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNjY2NjY2MgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7DQogICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkOw0KICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgdG9wOiA5cHg7DQogICAgICBsZWZ0OiAtMTRweDsNCiAgICAgIHotaW5kZXg6IDg4OyB9DQogIC5mLWRyb3Bkb3duLmRyb3AtbGVmdCB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IC05OTk5cHg7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgICBvdXRsaW5lOiBub25lOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1heC1oZWlnaHQ6IG5vbmU7DQogICAgaGVpZ2h0OiBhdXRvOw0KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7DQogICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYzsNCiAgICBmb250LXNpemU6IDAuODc1cmVtOw0KICAgIHotaW5kZXg6IDg5Ow0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLWxlZnQ6IC0ycHg7DQogICAgbWF4LXdpZHRoOiAyMDBweDsgfQ0KICAgIC5mLWRyb3Bkb3duLmRyb3AtbGVmdCA+ICo6Zmlyc3QtY2hpbGQgew0KICAgICAgbWFyZ2luLXRvcDogMDsgfQ0KICAgIC5mLWRyb3Bkb3duLmRyb3AtbGVmdCA+ICo6bGFzdC1jaGlsZCB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOyB9DQogICAgLmYtZHJvcGRvd24uZHJvcC1sZWZ0OmJlZm9yZSB7DQogICAgICBjb250ZW50OiAiIjsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgd2lkdGg6IDA7DQogICAgICBoZWlnaHQ6IDA7DQogICAgICBib3JkZXI6IGluc2V0IDZweDsNCiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0ZGRkZGRjsNCiAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIHRvcDogMTBweDsNCiAgICAgIHJpZ2h0OiAtMTJweDsNCiAgICAgIGxlZnQ6IGF1dG87DQogICAgICB6LWluZGV4OiA4OTsgfQ0KICAgIC5mLWRyb3Bkb3duLmRyb3AtbGVmdDphZnRlciB7DQogICAgICBjb250ZW50OiAiIjsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgd2lkdGg6IDA7DQogICAgICBoZWlnaHQ6IDA7DQogICAgICBib3JkZXI6IGluc2V0IDdweDsNCiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2NjY2NjYzsNCiAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIHRvcDogOXB4Ow0KICAgICAgcmlnaHQ6IC0xNHB4Ow0KICAgICAgbGVmdDogYXV0bzsNCiAgICAgIHotaW5kZXg6IDg4OyB9DQogIC5mLWRyb3Bkb3duLmRyb3AtdG9wIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogLTk5OTlweDsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIG91dGxpbmU6IG5vbmU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWF4LWhlaWdodDogbm9uZTsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgYmFja2dyb3VuZDogI0ZGRkZGRjsNCiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjOw0KICAgIGZvbnQtc2l6ZTogMC44NzVyZW07DQogICAgei1pbmRleDogODk7DQogICAgbWFyZ2luLXRvcDogLTJweDsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgICBtYXgtd2lkdGg6IDIwMHB4OyB9DQogICAgLmYtZHJvcGRvd24uZHJvcC10b3AgPiAqOmZpcnN0LWNoaWxkIHsNCiAgICAgIG1hcmdpbi10b3A6IDA7IH0NCiAgICAuZi1kcm9wZG93bi5kcm9wLXRvcCA+ICo6bGFzdC1jaGlsZCB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOyB9DQogICAgLmYtZHJvcGRvd24uZHJvcC10b3A6YmVmb3JlIHsNCiAgICAgIGNvbnRlbnQ6ICIiOw0KICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICB3aWR0aDogMDsNCiAgICAgIGhlaWdodDogMDsNCiAgICAgIGJvcmRlcjogaW5zZXQgNnB4Ow0KICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50Ow0KICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7DQogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICB0b3A6IGF1dG87DQogICAgICBib3R0b206IC0xMnB4Ow0KICAgICAgbGVmdDogMTBweDsNCiAgICAgIHJpZ2h0OiBhdXRvOw0KICAgICAgei1pbmRleDogODk7IH0NCiAgICAuZi1kcm9wZG93bi5kcm9wLXRvcDphZnRlciB7DQogICAgICBjb250ZW50OiAiIjsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgd2lkdGg6IDA7DQogICAgICBoZWlnaHQ6IDA7DQogICAgICBib3JkZXI6IGluc2V0IDdweDsNCiAgICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsNCiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOw0KICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgdG9wOiBhdXRvOw0KICAgICAgYm90dG9tOiAtMTRweDsNCiAgICAgIGxlZnQ6IDlweDsNCiAgICAgIHJpZ2h0OiBhdXRvOw0KICAgICAgei1pbmRleDogODg7IH0NCiAgLmYtZHJvcGRvd24gbGkgew0KICAgIGZvbnQtc2l6ZTogMC44NzVyZW07DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTsNCiAgICBtYXJnaW46IDA7IH0NCiAgICAuZi1kcm9wZG93biBsaTpob3ZlciwgLmYtZHJvcGRvd24gbGk6Zm9jdXMgew0KICAgICAgYmFja2dyb3VuZDogI0VFRUVFRTsgfQ0KICAgIC5mLWRyb3Bkb3duIGxpLnJhZGl1cyB7DQogICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH0NCiAgICAuZi1kcm9wZG93biBsaSBhIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgcGFkZGluZzogMC41cmVtOw0KICAgICAgY29sb3I6ICM1NTU1NTU7IH0NCiAgLmYtZHJvcGRvd24uY29udGVudCB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IC05OTk5cHg7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgICBvdXRsaW5lOiBub25lOw0KICAgIHBhZGRpbmc6IDEuMjVyZW07DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiBhdXRvOw0KICAgIG1heC1oZWlnaHQ6IG5vbmU7DQogICAgYmFja2dyb3VuZDogI0ZGRkZGRjsNCiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjOw0KICAgIGZvbnQtc2l6ZTogMC44NzVyZW07DQogICAgei1pbmRleDogODk7DQogICAgbWF4LXdpZHRoOiAyMDBweDsgfQ0KICAgIC5mLWRyb3Bkb3duLmNvbnRlbnQgPiAqOmZpcnN0LWNoaWxkIHsNCiAgICAgIG1hcmdpbi10b3A6IDA7IH0NCiAgICAuZi1kcm9wZG93bi5jb250ZW50ID4gKjpsYXN0LWNoaWxkIHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0NCiAgLmYtZHJvcGRvd24udGlueSB7DQogICAgbWF4LXdpZHRoOiAyMDBweDsgfQ0KICAuZi1kcm9wZG93bi5zbWFsbCB7DQogICAgbWF4LXdpZHRoOiAzMDBweDsgfQ0KICAuZi1kcm9wZG93bi5tZWRpdW0gew0KICAgIG1heC13aWR0aDogNTAwcHg7IH0NCiAgLmYtZHJvcGRvd24ubGFyZ2Ugew0KICAgIG1heC13aWR0aDogODAwcHg7IH0NCiAgLmYtZHJvcGRvd24ubWVnYSB7DQogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfQ0KICAgIC5mLWRyb3Bkb3duLm1lZ2Eub3BlbiB7DQogICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7IH0NCg0KdGFibGUgew0KICBiYWNrZ3JvdW5kOiAjRkZGRkZGOw0KICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOw0KICBib3JkZXI6IHNvbGlkIDFweCAjREREREREOw0KICB0YWJsZS1sYXlvdXQ6IGF1dG87IH0NCiAgdGFibGUgY2FwdGlvbiB7DQogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQogICAgY29sb3I6ICMyMjIyMjI7DQogICAgZm9udC1zaXplOiAxcmVtOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9DQogIHRhYmxlIHRoZWFkIHsNCiAgICBiYWNrZ3JvdW5kOiAjRjVGNUY1OyB9DQogICAgdGFibGUgdGhlYWQgdHIgdGgsDQogICAgdGFibGUgdGhlYWQgdHIgdGQgew0KICAgICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOw0KICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgICAgY29sb3I6ICMyMjIyMjI7IH0NCiAgdGFibGUgdGZvb3Qgew0KICAgIGJhY2tncm91bmQ6ICNGNUY1RjU7IH0NCiAgICB0YWJsZSB0Zm9vdCB0ciB0aCwNCiAgICB0YWJsZSB0Zm9vdCB0ciB0ZCB7DQogICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07DQogICAgICBmb250LXNpemU6IDAuODc1cmVtOw0KICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgICBjb2xvcjogIzIyMjIyMjsgfQ0KICB0YWJsZSB0ciB0aCwNCiAgdGFibGUgdHIgdGQgew0KICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwLjYyNXJlbTsNCiAgICBmb250LXNpemU6IDAuODc1cmVtOw0KICAgIGNvbG9yOiAjMjIyMjIyOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7IH0NCiAgdGFibGUgdHIuZXZlbiwgdGFibGUgdHIuYWx0LCB0YWJsZSB0cjpudGgtb2YtdHlwZShldmVuKSB7DQogICAgYmFja2dyb3VuZDogI0Y5RjlGOTsgfQ0KICB0YWJsZSB0aGVhZCB0ciB0aCwNCiAgdGFibGUgdGZvb3QgdHIgdGgsDQogIHRhYmxlIHRmb290IHRyIHRkLA0KICB0YWJsZSB0Ym9keSB0ciB0aCwNCiAgdGFibGUgdGJvZHkgdHIgdGQsDQogIHRhYmxlIHRyIHRkIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTsgfQ0KDQoucmFuZ2Utc2xpZGVyIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBib3JkZXI6IDFweCBzb2xpZCAjREREREREOw0KICBtYXJnaW46IDEuMjVyZW0gMDsNCiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTsNCiAgdG91Y2gtYWN0aW9uOiBub25lOw0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogMXJlbTsNCiAgYmFja2dyb3VuZDogI0ZBRkFGQTsgfQ0KICAucmFuZ2Utc2xpZGVyLnZlcnRpY2FsLXJhbmdlIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgYm9yZGVyOiAxcHggc29saWQgI0RERERERDsNCiAgICBtYXJnaW46IDEuMjVyZW0gMDsNCiAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lOw0KICAgIHRvdWNoLWFjdGlvbjogbm9uZTsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDFyZW07DQogICAgaGVpZ2h0OiAxMi41cmVtOyB9DQogICAgLnJhbmdlLXNsaWRlci52ZXJ0aWNhbC1yYW5nZSAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7DQogICAgICBtYXJnaW4tdG9wOiAwOw0KICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07DQogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICBib3R0b206IC0xMC41cmVtOyB9DQogICAgLnJhbmdlLXNsaWRlci52ZXJ0aWNhbC1yYW5nZSAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHsNCiAgICAgIHdpZHRoOiAwLjg3NXJlbTsNCiAgICAgIGhlaWdodDogYXV0bzsNCiAgICAgIGJvdHRvbTogMDsgfQ0KICAucmFuZ2Utc2xpZGVyLnJhZGl1cyB7DQogICAgYmFja2dyb3VuZDogI0ZBRkFGQTsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH0NCiAgICAucmFuZ2Utc2xpZGVyLnJhZGl1cyAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7DQogICAgICBiYWNrZ3JvdW5kOiAjMmJhNmNiOw0KICAgICAgYm9yZGVyLXJhZGl1czogM3B4OyB9DQogICAgICAucmFuZ2Utc2xpZGVyLnJhZGl1cyAucmFuZ2Utc2xpZGVyLWhhbmRsZTpob3ZlciB7DQogICAgICAgIGJhY2tncm91bmQ6ICMyNjkyYjM7IH0NCiAgLnJhbmdlLXNsaWRlci5yb3VuZCB7DQogICAgYmFja2dyb3VuZDogI0ZBRkFGQTsNCiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH0NCiAgICAucmFuZ2Utc2xpZGVyLnJvdW5kIC5yYW5nZS1zbGlkZXItaGFuZGxlIHsNCiAgICAgIGJhY2tncm91bmQ6ICMyYmE2Y2I7DQogICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH0NCiAgICAgIC5yYW5nZS1zbGlkZXIucm91bmQgLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIgew0KICAgICAgICBiYWNrZ3JvdW5kOiAjMjY5MmIzOyB9DQogIC5yYW5nZS1zbGlkZXIuZGlzYWJsZWQsIC5yYW5nZS1zbGlkZXJbZGlzYWJsZWRdIHsNCiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBOw0KICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7DQogICAgb3BhY2l0eTogMC43OyB9DQogICAgLnJhbmdlLXNsaWRlci5kaXNhYmxlZCAucmFuZ2Utc2xpZGVyLWhhbmRsZSwgLnJhbmdlLXNsaWRlcltkaXNhYmxlZF0gLnJhbmdlLXNsaWRlci1oYW5kbGUgew0KICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsNCiAgICAgIGN1cnNvcjogZGVmYXVsdDsNCiAgICAgIG9wYWNpdHk6IDAuNzsgfQ0KICAgICAgLnJhbmdlLXNsaWRlci5kaXNhYmxlZCAucmFuZ2Utc2xpZGVyLWhhbmRsZTpob3ZlciwgLnJhbmdlLXNsaWRlcltkaXNhYmxlZF0gLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIgew0KICAgICAgICBiYWNrZ3JvdW5kOiAjMjY5MmIzOyB9DQoNCi5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgaGVpZ2h0OiAwLjg3NXJlbTsNCiAgYmFja2dyb3VuZDogI2U3ZTdlNzsgfQ0KDQoucmFuZ2Utc2xpZGVyLWhhbmRsZSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAxOw0KICB0b3A6IC0wLjMxMjVyZW07DQogIHdpZHRoOiAycmVtOw0KICBoZWlnaHQ6IDEuMzc1cmVtOw0KICBib3JkZXI6IDFweCBzb2xpZCBub25lOw0KICBjdXJzb3I6IHBvaW50ZXI7DQogIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsNCiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247DQogIGJhY2tncm91bmQ6ICMyYmE2Y2I7IH0NCiAgLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIgew0KICAgIGJhY2tncm91bmQ6ICMyNjkyYjM7IH0NCg0KW2NsYXNzKj0iYmxvY2stZ3JpZC0iXSB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBwYWRkaW5nOiAwOw0KICBtYXJnaW46IDAgLTAuNjI1cmVtOyB9DQogIFtjbGFzcyo9ImJsb2NrLWdyaWQtIl06YmVmb3JlLCBbY2xhc3MqPSJibG9jay1ncmlkLSJdOmFmdGVyIHsNCiAgICBjb250ZW50OiAiICI7DQogICAgZGlzcGxheTogdGFibGU7IH0NCiAgW2NsYXNzKj0iYmxvY2stZ3JpZC0iXTphZnRlciB7DQogICAgY2xlYXI6IGJvdGg7IH0NCiAgW2NsYXNzKj0iYmxvY2stZ3JpZC0iXSA+IGxpIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgcGFkZGluZzogMCAwLjYyNXJlbSAxLjI1cmVtOyB9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiB7DQogIC5zbWFsbC1ibG9jay1ncmlkLTEgPiBsaSB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAuc21hbGwtYmxvY2stZ3JpZC0xID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAuc21hbGwtYmxvY2stZ3JpZC0yID4gbGkgew0KICAgIHdpZHRoOiA1MCU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAuc21hbGwtYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAuc21hbGwtYmxvY2stZ3JpZC0zID4gbGkgew0KICAgIHdpZHRoOiAzMy4zMzMzMyU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTMgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAuc21hbGwtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoM24rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAuc21hbGwtYmxvY2stZ3JpZC00ID4gbGkgew0KICAgIHdpZHRoOiAyNSU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAuc21hbGwtYmxvY2stZ3JpZC00ID4gbGk6bnRoLW9mLXR5cGUoNG4rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAuc21hbGwtYmxvY2stZ3JpZC01ID4gbGkgew0KICAgIHdpZHRoOiAyMCU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAuc21hbGwtYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoNW4rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAuc21hbGwtYmxvY2stZ3JpZC02ID4gbGkgew0KICAgIHdpZHRoOiAxNi42NjY2NyU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAuc21hbGwtYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoNm4rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAuc21hbGwtYmxvY2stZ3JpZC03ID4gbGkgew0KICAgIHdpZHRoOiAxNC4yODU3MSU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAuc21hbGwtYmxvY2stZ3JpZC03ID4gbGk6bnRoLW9mLXR5cGUoN24rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAuc21hbGwtYmxvY2stZ3JpZC04ID4gbGkgew0KICAgIHdpZHRoOiAxMi41JTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLnNtYWxsLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSg4bisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5zbWFsbC1ibG9jay1ncmlkLTkgPiBsaSB7DQogICAgd2lkdGg6IDExLjExMTExJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLnNtYWxsLWJsb2NrLWdyaWQtOSA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSg5bisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5zbWFsbC1ibG9jay1ncmlkLTEwID4gbGkgew0KICAgIHdpZHRoOiAxMCU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMW4pIHsNCiAgICAgIGNsZWFyOiBub25lOyB9DQogICAgLnNtYWxsLWJsb2NrLWdyaWQtMTAgPiBsaTpudGgtb2YtdHlwZSgxMG4rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAuc21hbGwtYmxvY2stZ3JpZC0xMSA+IGxpIHsNCiAgICB3aWR0aDogOS4wOTA5MSU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTExID4gbGk6bnRoLW9mLXR5cGUoMW4pIHsNCiAgICAgIGNsZWFyOiBub25lOyB9DQogICAgLnNtYWxsLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxMW4rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAuc21hbGwtYmxvY2stZ3JpZC0xMiA+IGxpIHsNCiAgICB3aWR0aDogOC4zMzMzMyU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsgfQ0KICAgIC5zbWFsbC1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMW4pIHsNCiAgICAgIGNsZWFyOiBub25lOyB9DQogICAgLnNtYWxsLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxMm4rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0gfQ0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkgew0KICAubWVkaXVtLWJsb2NrLWdyaWQtMSA+IGxpIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLm1lZGl1bS1ibG9jay1ncmlkLTIgPiBsaSB7DQogICAgd2lkdGg6IDUwJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMiA+IGxpOm50aC1vZi10eXBlKDJuKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLm1lZGl1bS1ibG9jay1ncmlkLTMgPiBsaSB7DQogICAgd2lkdGg6IDMzLjMzMzMzJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTMgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLm1lZGl1bS1ibG9jay1ncmlkLTQgPiBsaSB7DQogICAgd2lkdGg6IDI1JTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDRuKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLm1lZGl1bS1ibG9jay1ncmlkLTUgPiBsaSB7DQogICAgd2lkdGg6IDIwJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNSA+IGxpOm50aC1vZi10eXBlKDVuKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLm1lZGl1bS1ibG9jay1ncmlkLTYgPiBsaSB7DQogICAgd2lkdGg6IDE2LjY2NjY3JTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDZuKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLm1lZGl1bS1ibG9jay1ncmlkLTcgPiBsaSB7DQogICAgd2lkdGg6IDE0LjI4NTcxJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDduKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLm1lZGl1bS1ibG9jay1ncmlkLTggPiBsaSB7DQogICAgd2lkdGg6IDEyLjUlOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH0NCiAgICAubWVkaXVtLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5tZWRpdW0tYmxvY2stZ3JpZC04ID4gbGk6bnRoLW9mLXR5cGUoOG4rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAubWVkaXVtLWJsb2NrLWdyaWQtOSA+IGxpIHsNCiAgICB3aWR0aDogMTEuMTExMTElOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH0NCiAgICAubWVkaXVtLWJsb2NrLWdyaWQtOSA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5tZWRpdW0tYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoOW4rMSkgew0KICAgICAgY2xlYXI6IGJvdGg7IH0NCg0KICAubWVkaXVtLWJsb2NrLWdyaWQtMTAgPiBsaSB7DQogICAgd2lkdGg6IDEwJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMW4pIHsNCiAgICAgIGNsZWFyOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMTBuKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLm1lZGl1bS1ibG9jay1ncmlkLTExID4gbGkgew0KICAgIHdpZHRoOiA5LjA5MDkxJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTExID4gbGk6bnRoLW9mLXR5cGUoMW4pIHsNCiAgICAgIGNsZWFyOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTExID4gbGk6bnRoLW9mLXR5cGUoMTFuKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLm1lZGl1bS1ibG9jay1ncmlkLTEyID4gbGkgew0KICAgIHdpZHRoOiA4LjMzMzMzJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMW4pIHsNCiAgICAgIGNsZWFyOiBub25lOyB9DQogICAgLm1lZGl1bS1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMTJuKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHsNCiAgLmxhcmdlLWJsb2NrLWdyaWQtMSA+IGxpIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5sYXJnZS1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5sYXJnZS1ibG9jay1ncmlkLTIgPiBsaSB7DQogICAgd2lkdGg6IDUwJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5sYXJnZS1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5sYXJnZS1ibG9jay1ncmlkLTMgPiBsaSB7DQogICAgd2lkdGg6IDMzLjMzMzMzJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5sYXJnZS1ibG9jay1ncmlkLTMgPiBsaTpudGgtb2YtdHlwZSgzbisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5sYXJnZS1ibG9jay1ncmlkLTQgPiBsaSB7DQogICAgd2lkdGg6IDI1JTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5sYXJnZS1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5sYXJnZS1ibG9jay1ncmlkLTUgPiBsaSB7DQogICAgd2lkdGg6IDIwJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtNSA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5sYXJnZS1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSg1bisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5sYXJnZS1ibG9jay1ncmlkLTYgPiBsaSB7DQogICAgd2lkdGg6IDE2LjY2NjY3JTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5sYXJnZS1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSg2bisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5sYXJnZS1ibG9jay1ncmlkLTcgPiBsaSB7DQogICAgd2lkdGg6IDE0LjI4NTcxJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDFuKSB7DQogICAgICBjbGVhcjogbm9uZTsgfQ0KICAgIC5sYXJnZS1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSg3bisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5sYXJnZS1ibG9jay1ncmlkLTggPiBsaSB7DQogICAgd2lkdGg6IDEyLjUlOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH0NCiAgICAubGFyZ2UtYmxvY2stZ3JpZC04ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHsNCiAgICAgIGNsZWFyOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDhuKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLmxhcmdlLWJsb2NrLWdyaWQtOSA+IGxpIHsNCiAgICB3aWR0aDogMTEuMTExMTElOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH0NCiAgICAubGFyZ2UtYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHsNCiAgICAgIGNsZWFyOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtOSA+IGxpOm50aC1vZi10eXBlKDluKzEpIHsNCiAgICAgIGNsZWFyOiBib3RoOyB9DQoNCiAgLmxhcmdlLWJsb2NrLWdyaWQtMTAgPiBsaSB7DQogICAgd2lkdGg6IDEwJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtMTAgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDEwbisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5sYXJnZS1ibG9jay1ncmlkLTExID4gbGkgew0KICAgIHdpZHRoOiA5LjA5MDkxJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDExbisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfQ0KDQogIC5sYXJnZS1ibG9jay1ncmlkLTEyID4gbGkgew0KICAgIHdpZHRoOiA4LjMzMzMzJTsNCiAgICBsaXN0LXN0eWxlOiBub25lOyB9DQogICAgLmxhcmdlLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxbikgew0KICAgICAgY2xlYXI6IG5vbmU7IH0NCiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMiA+IGxpOm50aC1vZi10eXBlKDEybisxKSB7DQogICAgICBjbGVhcjogYm90aDsgfSB9DQouZmxleC12aWRlbyB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsNCiAgcGFkZGluZy1ib3R0b206IDY3LjUlOw0KICBoZWlnaHQ6IDA7DQogIG1hcmdpbi1ib3R0b206IDFyZW07DQogIG92ZXJmbG93OiBoaWRkZW47IH0NCiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7DQogICAgcGFkZGluZy1ib3R0b206IDU2LjM0JTsgfQ0KICAuZmxleC12aWRlby52aW1lbyB7DQogICAgcGFkZGluZy10b3A6IDA7IH0NCiAgLmZsZXgtdmlkZW8gaWZyYW1lLA0KICAuZmxleC12aWRlbyBvYmplY3QsDQogIC5mbGV4LXZpZGVvIGVtYmVkLA0KICAuZmxleC12aWRlbyB2aWRlbyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsgfQ0KDQoua2V5c3Ryb2tlLA0Ka2JkIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsNCiAgYm9yZGVyLWNvbG9yOiAjZGRkZGRkOw0KICBjb2xvcjogIzIyMjIyMjsNCiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgYm9yZGVyLXdpZHRoOiAxcHg7DQogIG1hcmdpbjogMDsNCiAgZm9udC1mYW1pbHk6ICJDb25zb2xhcyIsICJNZW5sbyIsICJDb3VyaWVyIiwgbW9ub3NwYWNlOw0KICBmb250LXNpemU6IGluaGVyaXQ7DQogIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDsNCiAgYm9yZGVyLXJhZGl1czogM3B4OyB9DQoNCi5zd2l0Y2ggew0KICBwYWRkaW5nOiAwOw0KICBib3JkZXI6IG5vbmU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgb3V0bGluZTogMDsNCiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsNCiAgdXNlci1zZWxlY3Q6IG5vbmU7IH0NCiAgLnN3aXRjaCBsYWJlbCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJhY2tncm91bmQ6ICNEREREREQ7DQogICAgdGV4dC1pbmRlbnQ6IDEwMCU7DQogICAgd2lkdGg6IDRyZW07DQogICAgaGVpZ2h0OiAycmVtOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2Utb3V0OyB9DQogIC5zd2l0Y2ggaW5wdXQgew0KICAgIG9wYWNpdHk6IDA7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogOXB4Ow0KICAgIGxlZnQ6IDEwcHg7DQogICAgcGFkZGluZzogMDsgfQ0KICAgIC5zd2l0Y2ggaW5wdXQgKyBsYWJlbCB7DQogICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICAgIG1hcmdpbi1yaWdodDogMDsgfQ0KICAuc3dpdGNoIGxhYmVsOmFmdGVyIHsNCiAgICBjb250ZW50OiAiIjsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IC4yNXJlbTsNCiAgICBsZWZ0OiAuMjVyZW07DQogICAgd2lkdGg6IDEuNXJlbTsNCiAgICBoZWlnaHQ6IDEuNXJlbTsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4xNXMgZWFzZS1vdXQ7DQogICAgLW1vei10cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2Utb3V0Ow0KICAgIC1vLXRyYW5zaXRpb246IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zaXRpb246IGxlZnQgMC4xNXMgZWFzZS1vdXQ7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0NCiAgLnN3aXRjaCBpbnB1dDpjaGVja2VkICsgbGFiZWwgew0KICAgIGJhY2tncm91bmQ6ICMyYmE2Y2I7IH0NCiAgLnN3aXRjaCBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIgew0KICAgIGxlZnQ6IDIuMjVyZW07IH0NCiAgLnN3aXRjaCBsYWJlbCB7DQogICAgd2lkdGg6IDRyZW07DQogICAgaGVpZ2h0OiAycmVtOyB9DQogIC5zd2l0Y2ggbGFiZWw6YWZ0ZXIgew0KICAgIHdpZHRoOiAxLjVyZW07DQogICAgaGVpZ2h0OiAxLjVyZW07IH0NCiAgLnN3aXRjaCBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIgew0KICAgIGxlZnQ6IDIuMjVyZW07IH0NCiAgLnN3aXRjaCBsYWJlbCB7DQogICAgY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJhY2tncm91bmQ6ICNEREREREQ7IH0NCiAgLnN3aXRjaCBsYWJlbDphZnRlciB7DQogICAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfQ0KICAuc3dpdGNoIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7DQogICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfQ0KICAuc3dpdGNoLmxhcmdlIGxhYmVsIHsNCiAgICB3aWR0aDogNXJlbTsNCiAgICBoZWlnaHQ6IDIuNXJlbTsgfQ0KICAuc3dpdGNoLmxhcmdlIGxhYmVsOmFmdGVyIHsNCiAgICB3aWR0aDogMnJlbTsNCiAgICBoZWlnaHQ6IDJyZW07IH0NCiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIgew0KICAgIGxlZnQ6IDIuNzVyZW07IH0NCiAgLnN3aXRjaC5zbWFsbCBsYWJlbCB7DQogICAgd2lkdGg6IDMuNXJlbTsNCiAgICBoZWlnaHQ6IDEuNzVyZW07IH0NCiAgLnN3aXRjaC5zbWFsbCBsYWJlbDphZnRlciB7DQogICAgd2lkdGg6IDEuMjVyZW07DQogICAgaGVpZ2h0OiAxLjI1cmVtOyB9DQogIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHsNCiAgICBsZWZ0OiAycmVtOyB9DQogIC5zd2l0Y2gudGlueSBsYWJlbCB7DQogICAgd2lkdGg6IDNyZW07DQogICAgaGVpZ2h0OiAxLjVyZW07IH0NCiAgLnN3aXRjaC50aW55IGxhYmVsOmFmdGVyIHsNCiAgICB3aWR0aDogMXJlbTsNCiAgICBoZWlnaHQ6IDFyZW07IH0NCiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7DQogICAgbGVmdDogMS43NXJlbTsgfQ0KICAuc3dpdGNoLnJhZGl1cyBsYWJlbCB7DQogICAgYm9yZGVyLXJhZGl1czogNHB4OyB9DQogIC5zd2l0Y2gucmFkaXVzIGxhYmVsOmFmdGVyIHsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH0NCiAgLnN3aXRjaC5yb3VuZCB7DQogICAgYm9yZGVyLXJhZGl1czogMTAwMHB4OyB9DQogICAgLnN3aXRjaC5yb3VuZCBsYWJlbCB7DQogICAgICBib3JkZXItcmFkaXVzOiAycmVtOyB9DQogICAgLnN3aXRjaC5yb3VuZCBsYWJlbDphZnRlciB7DQogICAgICBib3JkZXItcmFkaXVzOiAycmVtOyB9DQoNCi8qIHNtYWxsIGRpc3BsYXlzICovDQpAbWVkaWEgb25seSBzY3JlZW4gew0KICAuc2hvdy1mb3Itc21hbGwtb25seSwgLnNob3ctZm9yLXNtYWxsLXVwLCAuc2hvdy1mb3Itc21hbGwsIC5zaG93LWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5oaWRlLWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5zaG93LWZvci1tZWRpdW0tZG93biwgLmhpZGUtZm9yLWxhcmdlLW9ubHksIC5oaWRlLWZvci1sYXJnZS11cCwgLmhpZGUtZm9yLWxhcmdlLCAuc2hvdy1mb3ItbGFyZ2UtZG93biwgLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteGxhcmdlLXVwLCAuaGlkZS1mb3IteGxhcmdlLCAuc2hvdy1mb3IteGxhcmdlLWRvd24sIC5oaWRlLWZvci14eGxhcmdlLW9ubHksIC5oaWRlLWZvci14eGxhcmdlLXVwLCAuaGlkZS1mb3IteHhsYXJnZSwgLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9DQoNCiAgLmhpZGUtZm9yLXNtYWxsLW9ubHksIC5oaWRlLWZvci1zbWFsbC11cCwgLmhpZGUtZm9yLXNtYWxsLCAuaGlkZS1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuc2hvdy1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuaGlkZS1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuc2hvdy1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLmhpZGUtZm9yLWxhcmdlLWRvd24sIC5zaG93LWZvci14bGFyZ2Utb25seSwgLnNob3ctZm9yLXhsYXJnZS11cCwgLnNob3ctZm9yLXhsYXJnZSwgLmhpZGUtZm9yLXhsYXJnZS1kb3duLCAuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteHhsYXJnZS11cCwgLnNob3ctZm9yLXh4bGFyZ2UsIC5oaWRlLWZvci14eGxhcmdlLWRvd24gew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfQ0KDQogIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC5oaWRkZW4tZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAudmlzaWJsZS1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7DQogICAgaGVpZ2h0OiBhdXRvOw0KICAgIHdpZHRoOiBhdXRvOw0KICAgIG92ZXJmbG93OiB2aXNpYmxlOw0KICAgIGNsaXA6IGF1dG87IH0NCg0KICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLmhpZGRlbi1mb3Itc21hbGwsIC5oaWRkZW4tZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLnZpc2libGUtZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC52aXNpYmxlLWZvci1sYXJnZS1vbmx5LCAudmlzaWJsZS1mb3ItbGFyZ2UtdXAsIC52aXNpYmxlLWZvci1sYXJnZSwgLmhpZGRlbi1mb3ItbGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteGxhcmdlLCAuaGlkZGVuLWZvci14bGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXh4bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14eGxhcmdlLCAuaGlkZGVuLWZvci14eGxhcmdlLWRvd24gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50Ow0KICAgIGhlaWdodDogMXB4Ow0KICAgIHdpZHRoOiAxcHg7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH0NCg0KICB0YWJsZS5zaG93LWZvci1zbWFsbC1vbmx5LCB0YWJsZS5zaG93LWZvci1zbWFsbC11cCwgdGFibGUuc2hvdy1mb3Itc21hbGwsIHRhYmxlLnNob3ctZm9yLXNtYWxsLWRvd24sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tdXAsIHRhYmxlLmhpZGUtZm9yLW1lZGl1bSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRhYmxlLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLWxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci1sYXJnZSwgdGFibGUuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteGxhcmdlLCB0YWJsZS5zaG93LWZvci14bGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLWRvd24gew0KICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH0NCg0KICB0aGVhZC5zaG93LWZvci1zbWFsbC1vbmx5LCB0aGVhZC5zaG93LWZvci1zbWFsbC11cCwgdGhlYWQuc2hvdy1mb3Itc21hbGwsIHRoZWFkLnNob3ctZm9yLXNtYWxsLWRvd24sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tdXAsIHRoZWFkLmhpZGUtZm9yLW1lZGl1bSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoZWFkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLWxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci1sYXJnZSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLCB0aGVhZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLWRvd24gew0KICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9DQoNCiAgdGJvZHkuc2hvdy1mb3Itc21hbGwtb25seSwgdGJvZHkuc2hvdy1mb3Itc21hbGwtdXAsIHRib2R5LnNob3ctZm9yLXNtYWxsLCB0Ym9keS5zaG93LWZvci1zbWFsbC1kb3duLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLXVwLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0sIHRib2R5LnNob3ctZm9yLW1lZGl1bS1kb3duLCB0Ym9keS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci1sYXJnZS11cCwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UsIHRib2R5LnNob3ctZm9yLWxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfQ0KDQogIHRyLnNob3ctZm9yLXNtYWxsLW9ubHksIHRyLnNob3ctZm9yLXNtYWxsLXVwLCB0ci5zaG93LWZvci1zbWFsbCwgdHIuc2hvdy1mb3Itc21hbGwtZG93biwgdHIuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRyLmhpZGUtZm9yLW1lZGl1bS11cCwgdHIuaGlkZS1mb3ItbWVkaXVtLCB0ci5zaG93LWZvci1tZWRpdW0tZG93biwgdHIuaGlkZS1mb3ItbGFyZ2Utb25seSwgdHIuaGlkZS1mb3ItbGFyZ2UtdXAsIHRyLmhpZGUtZm9yLWxhcmdlLCB0ci5zaG93LWZvci1sYXJnZS1kb3duLCB0ci5oaWRlLWZvci14bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteGxhcmdlLXVwLCB0ci5oaWRlLWZvci14bGFyZ2UsIHRyLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ci5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXh4bGFyZ2UsIHRyLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogdGFibGUtcm93OyB9DQoNCiAgdGguc2hvdy1mb3Itc21hbGwtb25seSwgdGQuc2hvdy1mb3Itc21hbGwtb25seSwgdGguc2hvdy1mb3Itc21hbGwtdXAsIHRkLnNob3ctZm9yLXNtYWxsLXVwLCB0aC5zaG93LWZvci1zbWFsbCwgdGQuc2hvdy1mb3Itc21hbGwsIHRoLnNob3ctZm9yLXNtYWxsLWRvd24sIHRkLnNob3ctZm9yLXNtYWxsLWRvd24sIHRoLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGguaGlkZS1mb3ItbWVkaXVtLXVwLCB0ZC5oaWRlLWZvci1tZWRpdW0tdXAsIHRoLmhpZGUtZm9yLW1lZGl1bSwgdGQuaGlkZS1mb3ItbWVkaXVtLCB0aC5zaG93LWZvci1tZWRpdW0tZG93biwgdGQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLWxhcmdlLXVwLCB0ZC5oaWRlLWZvci1sYXJnZS11cCwgdGguaGlkZS1mb3ItbGFyZ2UsIHRkLmhpZGUtZm9yLWxhcmdlLCB0aC5zaG93LWZvci1sYXJnZS1kb3duLCB0ZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXhsYXJnZS11cCwgdGQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aC5oaWRlLWZvci14bGFyZ2UsIHRkLmhpZGUtZm9yLXhsYXJnZSwgdGguc2hvdy1mb3IteGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteHhsYXJnZS11cCwgdGQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGguaGlkZS1mb3IteHhsYXJnZSwgdGQuaGlkZS1mb3IteHhsYXJnZSwgdGguc2hvdy1mb3IteHhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14eGxhcmdlLWRvd24gew0KICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9DQovKiBtZWRpdW0gZGlzcGxheXMgKi8NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHsNCiAgLmhpZGUtZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLmhpZGUtZm9yLXNtYWxsLCAuaGlkZS1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuc2hvdy1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5oaWRlLWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5oaWRlLWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24gew0KICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfQ0KDQogIC5zaG93LWZvci1zbWFsbC1vbmx5LCAuaGlkZS1mb3Itc21hbGwtdXAsIC5zaG93LWZvci1zbWFsbCwgLnNob3ctZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLmhpZGUtZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuc2hvdy1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuc2hvdy1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuaGlkZS1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0NCg0KICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAudmlzaWJsZS1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLmhpZGRlbi1mb3ItbGFyZ2Utb25seSwgLmhpZGRlbi1mb3ItbGFyZ2UtdXAsIC5oaWRkZW4tZm9yLWxhcmdlLCAudmlzaWJsZS1mb3ItbGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLmhpZGRlbi1mb3IteGxhcmdlLCAudmlzaWJsZS1mb3IteGxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXh4bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteHhsYXJnZS11cCwgLmhpZGRlbi1mb3IteHhsYXJnZSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtZG93biB7DQogICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50Ow0KICAgIGhlaWdodDogYXV0bzsNCiAgICB3aWR0aDogYXV0bzsNCiAgICBvdmVyZmxvdzogdmlzaWJsZTsNCiAgICBjbGlwOiBhdXRvOyB9DQoNCiAgLnZpc2libGUtZm9yLXNtYWxsLW9ubHksIC5oaWRkZW4tZm9yLXNtYWxsLXVwLCAudmlzaWJsZS1mb3Itc21hbGwsIC52aXNpYmxlLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAuaGlkZGVuLWZvci1tZWRpdW0sIC5oaWRkZW4tZm9yLW1lZGl1bS1kb3duLCAudmlzaWJsZS1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsNCiAgICBoZWlnaHQ6IDFweDsNCiAgICB3aWR0aDogMXB4Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOyB9DQoNCiAgdGFibGUuaGlkZS1mb3Itc21hbGwtb25seSwgdGFibGUuc2hvdy1mb3Itc21hbGwtdXAsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLCB0YWJsZS5oaWRlLWZvci1zbWFsbC1kb3duLCB0YWJsZS5zaG93LWZvci1tZWRpdW0tb25seSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLXVwLCB0YWJsZS5zaG93LWZvci1tZWRpdW0sIHRhYmxlLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0YWJsZS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci1sYXJnZS11cCwgdGFibGUuaGlkZS1mb3ItbGFyZ2UsIHRhYmxlLnNob3ctZm9yLWxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXhsYXJnZSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteHhsYXJnZSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9DQoNCiAgdGhlYWQuaGlkZS1mb3Itc21hbGwtb25seSwgdGhlYWQuc2hvdy1mb3Itc21hbGwtdXAsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLCB0aGVhZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aGVhZC5zaG93LWZvci1tZWRpdW0tb25seSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aGVhZC5zaG93LWZvci1tZWRpdW0sIHRoZWFkLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci1sYXJnZS11cCwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UsIHRoZWFkLnNob3ctZm9yLWxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfQ0KDQogIHRib2R5LmhpZGUtZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5oaWRlLWZvci1zbWFsbCwgdGJvZHkuaGlkZS1mb3Itc21hbGwtZG93biwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRib2R5LnNob3ctZm9yLW1lZGl1bS11cCwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLCB0Ym9keS5zaG93LWZvci1tZWRpdW0tZG93biwgdGJvZHkuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLWxhcmdlLCB0Ym9keS5zaG93LWZvci1sYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH0NCg0KICB0ci5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ci5zaG93LWZvci1zbWFsbC11cCwgdHIuaGlkZS1mb3Itc21hbGwsIHRyLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRyLnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0ci5zaG93LWZvci1tZWRpdW0tdXAsIHRyLnNob3ctZm9yLW1lZGl1bSwgdHIuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRyLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLWxhcmdlLXVwLCB0ci5oaWRlLWZvci1sYXJnZSwgdHIuc2hvdy1mb3ItbGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXhsYXJnZS11cCwgdHIuaGlkZS1mb3IteGxhcmdlLCB0ci5zaG93LWZvci14bGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14eGxhcmdlLXVwLCB0ci5oaWRlLWZvci14eGxhcmdlLCB0ci5zaG93LWZvci14eGxhcmdlLWRvd24gew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfQ0KDQogIHRoLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoLnNob3ctZm9yLXNtYWxsLXVwLCB0ZC5zaG93LWZvci1zbWFsbC11cCwgdGguaGlkZS1mb3Itc21hbGwsIHRkLmhpZGUtZm9yLXNtYWxsLCB0aC5oaWRlLWZvci1zbWFsbC1kb3duLCB0ZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aC5zaG93LWZvci1tZWRpdW0tb25seSwgdGQuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRoLnNob3ctZm9yLW1lZGl1bS11cCwgdGQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aC5zaG93LWZvci1tZWRpdW0sIHRkLnNob3ctZm9yLW1lZGl1bSwgdGguc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRkLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0aC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aC5oaWRlLWZvci1sYXJnZS11cCwgdGQuaGlkZS1mb3ItbGFyZ2UtdXAsIHRoLmhpZGUtZm9yLWxhcmdlLCB0ZC5oaWRlLWZvci1sYXJnZSwgdGguc2hvdy1mb3ItbGFyZ2UtZG93biwgdGQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGguaGlkZS1mb3IteGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGguaGlkZS1mb3IteGxhcmdlLCB0ZC5oaWRlLWZvci14bGFyZ2UsIHRoLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGguaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXh4bGFyZ2UsIHRkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoLnNob3ctZm9yLXh4bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfQ0KLyogbGFyZ2UgZGlzcGxheXMgKi8NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHsNCiAgLmhpZGUtZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLmhpZGUtZm9yLXNtYWxsLCAuaGlkZS1mb3Itc21hbGwtZG93biwgLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCAuc2hvdy1mb3ItbWVkaXVtLXVwLCAuaGlkZS1mb3ItbWVkaXVtLCAuaGlkZS1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuc2hvdy1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24gew0KICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfQ0KDQogIC5zaG93LWZvci1zbWFsbC1vbmx5LCAuaGlkZS1mb3Itc21hbGwtdXAsIC5zaG93LWZvci1zbWFsbCwgLnNob3ctZm9yLXNtYWxsLWRvd24sIC5zaG93LWZvci1tZWRpdW0tb25seSwgLmhpZGUtZm9yLW1lZGl1bS11cCwgLnNob3ctZm9yLW1lZGl1bSwgLnNob3ctZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLmhpZGUtZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuaGlkZS1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0NCg0KICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLmhpZGRlbi1mb3ItbWVkaXVtLCAuaGlkZGVuLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC52aXNpYmxlLWZvci1sYXJnZS11cCwgLnZpc2libGUtZm9yLWxhcmdlLCAudmlzaWJsZS1mb3ItbGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLmhpZGRlbi1mb3IteGxhcmdlLCAudmlzaWJsZS1mb3IteGxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXh4bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteHhsYXJnZS11cCwgLmhpZGRlbi1mb3IteHhsYXJnZSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtZG93biB7DQogICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50Ow0KICAgIGhlaWdodDogYXV0bzsNCiAgICB3aWR0aDogYXV0bzsNCiAgICBvdmVyZmxvdzogdmlzaWJsZTsNCiAgICBjbGlwOiBhdXRvOyB9DQoNCiAgLnZpc2libGUtZm9yLXNtYWxsLW9ubHksIC5oaWRkZW4tZm9yLXNtYWxsLXVwLCAudmlzaWJsZS1mb3Itc21hbGwsIC52aXNpYmxlLWZvci1zbWFsbC1kb3duLCAudmlzaWJsZS1mb3ItbWVkaXVtLW9ubHksIC5oaWRkZW4tZm9yLW1lZGl1bS11cCwgLnZpc2libGUtZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsNCiAgICBoZWlnaHQ6IDFweDsNCiAgICB3aWR0aDogMXB4Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOyB9DQoNCiAgdGFibGUuaGlkZS1mb3Itc21hbGwtb25seSwgdGFibGUuc2hvdy1mb3Itc21hbGwtdXAsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLCB0YWJsZS5oaWRlLWZvci1zbWFsbC1kb3duLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLXVwLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0YWJsZS5zaG93LWZvci1sYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci1sYXJnZS11cCwgdGFibGUuc2hvdy1mb3ItbGFyZ2UsIHRhYmxlLnNob3ctZm9yLWxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXhsYXJnZSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteHhsYXJnZSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9DQoNCiAgdGhlYWQuaGlkZS1mb3Itc21hbGwtb25seSwgdGhlYWQuc2hvdy1mb3Itc21hbGwtdXAsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLCB0aGVhZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aGVhZC5zaG93LWZvci1sYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci1sYXJnZS11cCwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UsIHRoZWFkLnNob3ctZm9yLWxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfQ0KDQogIHRib2R5LmhpZGUtZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5oaWRlLWZvci1zbWFsbCwgdGJvZHkuaGlkZS1mb3Itc21hbGwtZG93biwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRib2R5LnNob3ctZm9yLW1lZGl1bS11cCwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tZG93biwgdGJvZHkuc2hvdy1mb3ItbGFyZ2Utb25seSwgdGJvZHkuc2hvdy1mb3ItbGFyZ2UtdXAsIHRib2R5LnNob3ctZm9yLWxhcmdlLCB0Ym9keS5zaG93LWZvci1sYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH0NCg0KICB0ci5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ci5zaG93LWZvci1zbWFsbC11cCwgdHIuaGlkZS1mb3Itc21hbGwsIHRyLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRyLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ci5zaG93LWZvci1tZWRpdW0tdXAsIHRyLmhpZGUtZm9yLW1lZGl1bSwgdHIuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRyLnNob3ctZm9yLWxhcmdlLW9ubHksIHRyLnNob3ctZm9yLWxhcmdlLXVwLCB0ci5zaG93LWZvci1sYXJnZSwgdHIuc2hvdy1mb3ItbGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXhsYXJnZS11cCwgdHIuaGlkZS1mb3IteGxhcmdlLCB0ci5zaG93LWZvci14bGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14eGxhcmdlLXVwLCB0ci5oaWRlLWZvci14eGxhcmdlLCB0ci5zaG93LWZvci14eGxhcmdlLWRvd24gew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfQ0KDQogIHRoLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoLnNob3ctZm9yLXNtYWxsLXVwLCB0ZC5zaG93LWZvci1zbWFsbC11cCwgdGguaGlkZS1mb3Itc21hbGwsIHRkLmhpZGUtZm9yLXNtYWxsLCB0aC5oaWRlLWZvci1zbWFsbC1kb3duLCB0ZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoLnNob3ctZm9yLW1lZGl1bS11cCwgdGQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aC5oaWRlLWZvci1tZWRpdW0sIHRkLmhpZGUtZm9yLW1lZGl1bSwgdGguaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aC5zaG93LWZvci1sYXJnZS1vbmx5LCB0ZC5zaG93LWZvci1sYXJnZS1vbmx5LCB0aC5zaG93LWZvci1sYXJnZS11cCwgdGQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoLnNob3ctZm9yLWxhcmdlLCB0ZC5zaG93LWZvci1sYXJnZSwgdGguc2hvdy1mb3ItbGFyZ2UtZG93biwgdGQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGguaGlkZS1mb3IteGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGguaGlkZS1mb3IteGxhcmdlLCB0ZC5oaWRlLWZvci14bGFyZ2UsIHRoLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGguaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXh4bGFyZ2UsIHRkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoLnNob3ctZm9yLXh4bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfQ0KLyogeGxhcmdlIGRpc3BsYXlzICovDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2M2VtKSB7DQogIC5oaWRlLWZvci1zbWFsbC1vbmx5LCAuc2hvdy1mb3Itc21hbGwtdXAsIC5oaWRlLWZvci1zbWFsbCwgLmhpZGUtZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLnNob3ctZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5zaG93LWZvci14bGFyZ2UtZG93biwgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIC5oaWRlLWZvci14eGxhcmdlLCAuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH0NCg0KICAuc2hvdy1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuc2hvdy1mb3Itc21hbGwsIC5zaG93LWZvci1zbWFsbC1kb3duLCAuc2hvdy1mb3ItbWVkaXVtLW9ubHksIC5oaWRlLWZvci1tZWRpdW0tdXAsIC5zaG93LWZvci1tZWRpdW0sIC5zaG93LWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5oaWRlLWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuc2hvdy1mb3ItbGFyZ2UtZG93biwgLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteGxhcmdlLXVwLCAuaGlkZS1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9DQoNCiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLnZpc2libGUtZm9yLXNtYWxsLXVwLCAuaGlkZGVuLWZvci1zbWFsbCwgLmhpZGRlbi1mb3Itc21hbGwtZG93biwgLmhpZGRlbi1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC5oaWRkZW4tZm9yLWxhcmdlLW9ubHksIC52aXNpYmxlLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC52aXNpYmxlLWZvci14eGxhcmdlLWRvd24gew0KICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgd2lkdGg6IGF1dG87DQogICAgb3ZlcmZsb3c6IHZpc2libGU7DQogICAgY2xpcDogYXV0bzsgfQ0KDQogIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLnZpc2libGUtZm9yLXNtYWxsLCAudmlzaWJsZS1mb3Itc21hbGwtZG93biwgLnZpc2libGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC5oaWRkZW4tZm9yLXhsYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteHhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteHhsYXJnZS11cCwgLnZpc2libGUtZm9yLXh4bGFyZ2UsIC5oaWRkZW4tZm9yLXh4bGFyZ2UtZG93biB7DQogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7DQogICAgaGVpZ2h0OiAxcHg7DQogICAgd2lkdGg6IDFweDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTsgfQ0KDQogIHRhYmxlLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5oaWRlLWZvci1zbWFsbCwgdGFibGUuaGlkZS1mb3Itc21hbGwtZG93biwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLnNob3ctZm9yLW1lZGl1bS11cCwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tZG93biwgdGFibGUuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGFibGUuc2hvdy1mb3ItbGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLCB0YWJsZS5oaWRlLWZvci1sYXJnZS1kb3duLCB0YWJsZS5zaG93LWZvci14bGFyZ2Utb25seSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLXVwLCB0YWJsZS5zaG93LWZvci14bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfQ0KDQogIHRoZWFkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoZWFkLnNob3ctZm9yLXNtYWxsLXVwLCB0aGVhZC5oaWRlLWZvci1zbWFsbCwgdGhlYWQuaGlkZS1mb3Itc21hbGwtZG93biwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoZWFkLnNob3ctZm9yLW1lZGl1bS11cCwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGhlYWQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1kb3duLCB0aGVhZC5zaG93LWZvci14bGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLXVwLCB0aGVhZC5zaG93LWZvci14bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH0NCg0KICB0Ym9keS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0Ym9keS5zaG93LWZvci1zbWFsbC11cCwgdGJvZHkuaGlkZS1mb3Itc21hbGwsIHRib2R5LmhpZGUtZm9yLXNtYWxsLWRvd24sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0Ym9keS5zaG93LWZvci1tZWRpdW0tdXAsIHRib2R5LmhpZGUtZm9yLW1lZGl1bSwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRib2R5LmhpZGUtZm9yLWxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLWxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci1sYXJnZSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLXhsYXJnZS11cCwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLCB0Ym9keS5zaG93LWZvci14bGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLWRvd24gew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9DQoNCiAgdHIuaGlkZS1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLmhpZGUtZm9yLXNtYWxsLCB0ci5oaWRlLWZvci1zbWFsbC1kb3duLCB0ci5oaWRlLWZvci1tZWRpdW0tb25seSwgdHIuc2hvdy1mb3ItbWVkaXVtLXVwLCB0ci5oaWRlLWZvci1tZWRpdW0sIHRyLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ci5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ci5zaG93LWZvci1sYXJnZS11cCwgdHIuaGlkZS1mb3ItbGFyZ2UsIHRyLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRyLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0ci5zaG93LWZvci14bGFyZ2UtdXAsIHRyLnNob3ctZm9yLXhsYXJnZSwgdHIuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteHhsYXJnZS11cCwgdHIuaGlkZS1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0NCg0KICB0aC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aC5zaG93LWZvci1zbWFsbC11cCwgdGQuc2hvdy1mb3Itc21hbGwtdXAsIHRoLmhpZGUtZm9yLXNtYWxsLCB0ZC5oaWRlLWZvci1zbWFsbCwgdGguaGlkZS1mb3Itc21hbGwtZG93biwgdGQuaGlkZS1mb3Itc21hbGwtZG93biwgdGguaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aC5zaG93LWZvci1tZWRpdW0tdXAsIHRkLnNob3ctZm9yLW1lZGl1bS11cCwgdGguaGlkZS1mb3ItbWVkaXVtLCB0ZC5oaWRlLWZvci1tZWRpdW0sIHRoLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGguaGlkZS1mb3ItbGFyZ2Utb25seSwgdGQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGguc2hvdy1mb3ItbGFyZ2UtdXAsIHRkLnNob3ctZm9yLWxhcmdlLXVwLCB0aC5oaWRlLWZvci1sYXJnZSwgdGQuaGlkZS1mb3ItbGFyZ2UsIHRoLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0ZC5zaG93LWZvci14bGFyZ2Utb25seSwgdGguc2hvdy1mb3IteGxhcmdlLXVwLCB0ZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoLnNob3ctZm9yLXhsYXJnZSwgdGQuc2hvdy1mb3IteGxhcmdlLCB0aC5zaG93LWZvci14bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14eGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aC5oaWRlLWZvci14eGxhcmdlLCB0ZC5oaWRlLWZvci14eGxhcmdlLCB0aC5zaG93LWZvci14eGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH0NCi8qIHh4bGFyZ2UgZGlzcGxheXMgKi8NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2M2VtKSB7DQogIC5oaWRlLWZvci1zbWFsbC1vbmx5LCAuc2hvdy1mb3Itc21hbGwtdXAsIC5oaWRlLWZvci1zbWFsbCwgLmhpZGUtZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLnNob3ctZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuaGlkZS1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5oaWRlLWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH0NCg0KICAuc2hvdy1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuc2hvdy1mb3Itc21hbGwsIC5zaG93LWZvci1zbWFsbC1kb3duLCAuc2hvdy1mb3ItbWVkaXVtLW9ubHksIC5oaWRlLWZvci1tZWRpdW0tdXAsIC5zaG93LWZvci1tZWRpdW0sIC5zaG93LWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5oaWRlLWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuc2hvdy1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuc2hvdy1mb3IteGxhcmdlLWRvd24sIC5oaWRlLWZvci14eGxhcmdlLW9ubHksIC5oaWRlLWZvci14eGxhcmdlLXVwLCAuaGlkZS1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9DQoNCiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLnZpc2libGUtZm9yLXNtYWxsLXVwLCAuaGlkZGVuLWZvci1zbWFsbCwgLmhpZGRlbi1mb3Itc21hbGwtZG93biwgLmhpZGRlbi1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC5oaWRkZW4tZm9yLWxhcmdlLW9ubHksIC52aXNpYmxlLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC5oaWRkZW4tZm9yLXhsYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteHhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteHhsYXJnZS11cCwgLnZpc2libGUtZm9yLXh4bGFyZ2UsIC52aXNpYmxlLWZvci14eGxhcmdlLWRvd24gew0KICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgd2lkdGg6IGF1dG87DQogICAgb3ZlcmZsb3c6IHZpc2libGU7DQogICAgY2xpcDogYXV0bzsgfQ0KDQogIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLnZpc2libGUtZm9yLXNtYWxsLCAudmlzaWJsZS1mb3Itc21hbGwtZG93biwgLnZpc2libGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC5oaWRkZW4tZm9yLXh4bGFyZ2UtZG93biB7DQogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7DQogICAgaGVpZ2h0OiAxcHg7DQogICAgd2lkdGg6IDFweDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTsgfQ0KDQogIHRhYmxlLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5oaWRlLWZvci1zbWFsbCwgdGFibGUuaGlkZS1mb3Itc21hbGwtZG93biwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLnNob3ctZm9yLW1lZGl1bS11cCwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tZG93biwgdGFibGUuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGFibGUuc2hvdy1mb3ItbGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLCB0YWJsZS5oaWRlLWZvci1sYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UsIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfQ0KDQogIHRoZWFkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoZWFkLnNob3ctZm9yLXNtYWxsLXVwLCB0aGVhZC5oaWRlLWZvci1zbWFsbCwgdGhlYWQuaGlkZS1mb3Itc21hbGwtZG93biwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoZWFkLnNob3ctZm9yLW1lZGl1bS11cCwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGhlYWQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14bGFyZ2UsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1kb3duLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLW9ubHksIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH0NCg0KICB0Ym9keS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0Ym9keS5zaG93LWZvci1zbWFsbC11cCwgdGJvZHkuaGlkZS1mb3Itc21hbGwsIHRib2R5LmhpZGUtZm9yLXNtYWxsLWRvd24sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0Ym9keS5zaG93LWZvci1tZWRpdW0tdXAsIHRib2R5LmhpZGUtZm9yLW1lZGl1bSwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRib2R5LmhpZGUtZm9yLWxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLWxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci1sYXJnZSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLXhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UtZG93biwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci14eGxhcmdlLXVwLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLWRvd24gew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9DQoNCiAgdHIuaGlkZS1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLmhpZGUtZm9yLXNtYWxsLCB0ci5oaWRlLWZvci1zbWFsbC1kb3duLCB0ci5oaWRlLWZvci1tZWRpdW0tb25seSwgdHIuc2hvdy1mb3ItbWVkaXVtLXVwLCB0ci5oaWRlLWZvci1tZWRpdW0sIHRyLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ci5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ci5zaG93LWZvci1sYXJnZS11cCwgdHIuaGlkZS1mb3ItbGFyZ2UsIHRyLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ci5zaG93LWZvci14bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXhsYXJnZSwgdHIuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRyLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdHIuc2hvdy1mb3IteHhsYXJnZS11cCwgdHIuc2hvdy1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0NCg0KICB0aC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aC5zaG93LWZvci1zbWFsbC11cCwgdGQuc2hvdy1mb3Itc21hbGwtdXAsIHRoLmhpZGUtZm9yLXNtYWxsLCB0ZC5oaWRlLWZvci1zbWFsbCwgdGguaGlkZS1mb3Itc21hbGwtZG93biwgdGQuaGlkZS1mb3Itc21hbGwtZG93biwgdGguaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aC5zaG93LWZvci1tZWRpdW0tdXAsIHRkLnNob3ctZm9yLW1lZGl1bS11cCwgdGguaGlkZS1mb3ItbWVkaXVtLCB0ZC5oaWRlLWZvci1tZWRpdW0sIHRoLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGguaGlkZS1mb3ItbGFyZ2Utb25seSwgdGQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGguc2hvdy1mb3ItbGFyZ2UtdXAsIHRkLnNob3ctZm9yLWxhcmdlLXVwLCB0aC5oaWRlLWZvci1sYXJnZSwgdGQuaGlkZS1mb3ItbGFyZ2UsIHRoLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGguc2hvdy1mb3IteGxhcmdlLXVwLCB0ZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXhsYXJnZSwgdGQuaGlkZS1mb3IteGxhcmdlLCB0aC5oaWRlLWZvci14bGFyZ2UtZG93biwgdGQuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRoLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdGQuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0aC5zaG93LWZvci14eGxhcmdlLXVwLCB0ZC5zaG93LWZvci14eGxhcmdlLXVwLCB0aC5zaG93LWZvci14eGxhcmdlLCB0ZC5zaG93LWZvci14eGxhcmdlLCB0aC5zaG93LWZvci14eGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7DQogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH0NCi8qIE9yaWVudGF0aW9uIHRhcmdldGluZyAqLw0KLnNob3ctZm9yLWxhbmRzY2FwZSwNCi5oaWRlLWZvci1wb3J0cmFpdCB7DQogIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfQ0KDQouaGlkZS1mb3ItbGFuZHNjYXBlLA0KLnNob3ctZm9yLXBvcnRyYWl0IHsNCiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9DQoNCi8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqLw0KdGFibGUuaGlkZS1mb3ItbGFuZHNjYXBlLCB0YWJsZS5zaG93LWZvci1wb3J0cmFpdCB7DQogIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH0NCg0KdGhlYWQuaGlkZS1mb3ItbGFuZHNjYXBlLCB0aGVhZC5zaG93LWZvci1wb3J0cmFpdCB7DQogIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9DQoNCnRib2R5LmhpZGUtZm9yLWxhbmRzY2FwZSwgdGJvZHkuc2hvdy1mb3ItcG9ydHJhaXQgew0KICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfQ0KDQp0ci5oaWRlLWZvci1sYW5kc2NhcGUsIHRyLnNob3ctZm9yLXBvcnRyYWl0IHsNCiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH0NCg0KdGQuaGlkZS1mb3ItbGFuZHNjYXBlLCB0ZC5zaG93LWZvci1wb3J0cmFpdCwNCnRoLmhpZGUtZm9yLWxhbmRzY2FwZSwNCnRoLnNob3ctZm9yLXBvcnRyYWl0IHsNCiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHsNCiAgLnNob3ctZm9yLWxhbmRzY2FwZSwNCiAgLmhpZGUtZm9yLXBvcnRyYWl0IHsNCiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH0NCg0KICAuaGlkZS1mb3ItbGFuZHNjYXBlLA0KICAuc2hvdy1mb3ItcG9ydHJhaXQgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfQ0KDQogIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqLw0KICB0YWJsZS5zaG93LWZvci1sYW5kc2NhcGUsIHRhYmxlLmhpZGUtZm9yLXBvcnRyYWl0IHsNCiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9DQoNCiAgdGhlYWQuc2hvdy1mb3ItbGFuZHNjYXBlLCB0aGVhZC5oaWRlLWZvci1wb3J0cmFpdCB7DQogICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH0NCg0KICB0Ym9keS5zaG93LWZvci1sYW5kc2NhcGUsIHRib2R5LmhpZGUtZm9yLXBvcnRyYWl0IHsNCiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfQ0KDQogIHRyLnNob3ctZm9yLWxhbmRzY2FwZSwgdHIuaGlkZS1mb3ItcG9ydHJhaXQgew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9DQoNCiAgdGQuc2hvdy1mb3ItbGFuZHNjYXBlLCB0ZC5oaWRlLWZvci1wb3J0cmFpdCwNCiAgdGguc2hvdy1mb3ItbGFuZHNjYXBlLA0KICB0aC5oaWRlLWZvci1wb3J0cmFpdCB7DQogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgew0KICAuc2hvdy1mb3ItcG9ydHJhaXQsDQogIC5oaWRlLWZvci1sYW5kc2NhcGUgew0KICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfQ0KDQogIC5oaWRlLWZvci1wb3J0cmFpdCwNCiAgLnNob3ctZm9yLWxhbmRzY2FwZSB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9DQoNCiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovDQogIHRhYmxlLnNob3ctZm9yLXBvcnRyYWl0LCB0YWJsZS5oaWRlLWZvci1sYW5kc2NhcGUgew0KICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH0NCg0KICB0aGVhZC5zaG93LWZvci1wb3J0cmFpdCwgdGhlYWQuaGlkZS1mb3ItbGFuZHNjYXBlIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfQ0KDQogIHRib2R5LnNob3ctZm9yLXBvcnRyYWl0LCB0Ym9keS5oaWRlLWZvci1sYW5kc2NhcGUgew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9DQoNCiAgdHIuc2hvdy1mb3ItcG9ydHJhaXQsIHRyLmhpZGUtZm9yLWxhbmRzY2FwZSB7DQogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH0NCg0KICB0ZC5zaG93LWZvci1wb3J0cmFpdCwgdGQuaGlkZS1mb3ItbGFuZHNjYXBlLA0KICB0aC5zaG93LWZvci1wb3J0cmFpdCwNCiAgdGguaGlkZS1mb3ItbGFuZHNjYXBlIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfQ0KLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovDQouc2hvdy1mb3ItdG91Y2ggew0KICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0NCg0KLmhpZGUtZm9yLXRvdWNoIHsNCiAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9DQoNCi50b3VjaCAuc2hvdy1mb3ItdG91Y2ggew0KICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH0NCg0KLnRvdWNoIC5oaWRlLWZvci10b3VjaCB7DQogIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfQ0KDQovKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi8NCnRhYmxlLmhpZGUtZm9yLXRvdWNoIHsNCiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfQ0KDQoudG91Y2ggdGFibGUuc2hvdy1mb3ItdG91Y2ggew0KICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9DQoNCnRoZWFkLmhpZGUtZm9yLXRvdWNoIHsNCiAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH0NCg0KLnRvdWNoIHRoZWFkLnNob3ctZm9yLXRvdWNoIHsNCiAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH0NCg0KdGJvZHkuaGlkZS1mb3ItdG91Y2ggew0KICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfQ0KDQoudG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2ggew0KICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfQ0KDQp0ci5oaWRlLWZvci10b3VjaCB7DQogIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9DQoNCi50b3VjaCB0ci5zaG93LWZvci10b3VjaCB7DQogIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9DQoNCnRkLmhpZGUtZm9yLXRvdWNoIHsNCiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9DQoNCi50b3VjaCB0ZC5zaG93LWZvci10b3VjaCB7DQogIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfQ0KDQp0aC5oaWRlLWZvci10b3VjaCB7DQogIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfQ0KDQoudG91Y2ggdGguc2hvdy1mb3ItdG91Y2ggew0KICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0NCg0KLyoNCiAqIFByaW50IHN0eWxlcy4NCiAqDQogKiBJbmxpbmVkIHRvIGF2b2lkIHJlcXVpcmVkIEhUVFAgY29ubmVjdGlvbjogd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy8NCiAqIENyZWRpdCB0byBQYXVsIElyaXNoIGFuZCBIVE1MNSBCb2lsZXJwbGF0ZSAoaHRtbDVib2lsZXJwbGF0ZS5jb20pDQoqLw0KLnByaW50LW9ubHkgew0KICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0NCg0KQG1lZGlhIHByaW50IHsNCiAgKiB7DQogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsNCiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50Ow0KICAgIC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3MgKi8NCiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7DQogICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfQ0KDQogIC5zaG93LWZvci1wcmludCB7DQogICAgZGlzcGxheTogYmxvY2s7IH0NCg0KICAuaGlkZS1mb3ItcHJpbnQgew0KICAgIGRpc3BsYXk6IG5vbmU7IH0NCg0KICB0YWJsZS5zaG93LWZvci1wcmludCB7DQogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfQ0KDQogIHRoZWFkLnNob3ctZm9yLXByaW50IHsNCiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfQ0KDQogIHRib2R5LnNob3ctZm9yLXByaW50IHsNCiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfQ0KDQogIHRyLnNob3ctZm9yLXByaW50IHsNCiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfQ0KDQogIHRkLnNob3ctZm9yLXByaW50IHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0NCg0KICB0aC5zaG93LWZvci1wcmludCB7DQogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9DQoNCiAgYSwNCiAgYTp2aXNpdGVkIHsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQ0KDQogIGFbaHJlZl06YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICIgKCIgYXR0cihocmVmKSAiKSI7IH0NCg0KICBhYmJyW3RpdGxlXTphZnRlciB7DQogICAgY29udGVudDogIiAoIiBhdHRyKHRpdGxlKSAiKSI7IH0NCg0KICAuaXIgYTphZnRlciwNCiAgYVtocmVmXj0iamF2YXNjcmlwdDoiXTphZnRlciwNCiAgYVtocmVmXj0iIyJdOmFmdGVyIHsNCiAgICBjb250ZW50OiAiIjsgfQ0KDQogIHByZSwNCiAgYmxvY2txdW90ZSB7DQogICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTsNCiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH0NCg0KICB0aGVhZCB7DQogICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOw0KICAgIC8qIGg1YnAuY29tL3QgKi8gfQ0KDQogIHRyLA0KICBpbWcgew0KICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfQ0KDQogIGltZyB7DQogICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0NCg0KICBAcGFnZSB7DQogICAgbWFyZ2luOiAwLjVjbTsgfQ0KICBwLA0KICBoMiwNCiAgaDMgew0KICAgIG9ycGhhbnM6IDM7DQogICAgd2lkb3dzOiAzOyB9DQoNCiAgaDIsDQogIGgzIHsNCiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfQ0KDQogIC5oaWRlLW9uLXByaW50IHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0NCg0KICAucHJpbnQtb25seSB7DQogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfQ0KDQogIC5oaWRlLWZvci1wcmludCB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9DQoNCiAgLnNob3ctZm9yLXByaW50IHsNCiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH0gfQ0KLyogUHJpbnQgdmlzaWJpbGl0eSAqLw0KQG1lZGlhIHByaW50IHsNCiAgLnNob3ctZm9yLXByaW50IHsNCiAgICBkaXNwbGF5OiBibG9jazsgfQ0KDQogIC5oaWRlLWZvci1wcmludCB7DQogICAgZGlzcGxheTogbm9uZTsgfQ0KDQogIHRhYmxlLnNob3ctZm9yLXByaW50IHsNCiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9DQoNCiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgew0KICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9DQoNCiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9DQoNCiAgdHIuc2hvdy1mb3ItcHJpbnQgew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9DQoNCiAgdGQuc2hvdy1mb3ItcHJpbnQgew0KICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfQ0KDQogIHRoLnNob3ctZm9yLXByaW50IHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/init/css_foundation_icones</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogDQogKiBGb3VuZGF0aW9uIEljb25zIHYgMy4wDQogKiBNYWRlIGJ5IFpVUkIgMjAxMyBodHRwOi8venVyYi5jb20vcGxheWdyb3VuZC9mb3VuZGF0aW9uLWljb24tZm9udHMtMw0KICogTUlUIExpY2Vuc2UNCiAqLw0KDQpAZm9udC1mYWNlIHsNCiAgZm9udC1mYW1pbHk6ICJmb3VuZGF0aW9uLWljb25zIjsNCiAgc3JjOiB1cmwoIltbcm9vdF91cmxdXS91cGxvYWRzL2ZvdW5kYXRpb24vaWNvbnMvZm91bmRhdGlvbi1pY29ucy5lb3QiKTsNCiAgc3JjOiB1cmwoIltbcm9vdF91cmxdXS91cGxvYWRzL2ZvdW5kYXRpb24vaWNvbnMvZm91bmRhdGlvbi1pY29ucy5lb3Q/I2llZml4IikgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLA0KICAgICAgIHVybCgiW1tyb290X3VybF1dL3VwbG9hZHMvZm91bmRhdGlvbi9pY29ucy9mb3VuZGF0aW9uLWljb25zLndvZmYiKSBmb3JtYXQoIndvZmYiKSwNCiAgICAgICB1cmwoIltbcm9vdF91cmxdXS91cGxvYWRzL2ZvdW5kYXRpb24vaWNvbnMvZm91bmRhdGlvbi1pY29ucy50dGYiKSBmb3JtYXQoInRydWV0eXBlIiksDQogICAgICAgdXJsKCJbW3Jvb3RfdXJsXV0vdXBsb2Fkcy9mb3VuZGF0aW9uL2ljb25zL2ZvdW5kYXRpb24taWNvbnMuc3ZnI2ZvbnRjdXN0b20iKSBmb3JtYXQoInN2ZyIpOw0KICBmb250LXdlaWdodDogbm9ybWFsOw0KICBmb250LXN0eWxlOiBub3JtYWw7DQp9DQoNCi5maS1hZGRyZXNzLWJvb2s6YmVmb3JlLA0KLmZpLWFsZXJ0OmJlZm9yZSwNCi5maS1hbGlnbi1jZW50ZXI6YmVmb3JlLA0KLmZpLWFsaWduLWp1c3RpZnk6YmVmb3JlLA0KLmZpLWFsaWduLWxlZnQ6YmVmb3JlLA0KLmZpLWFsaWduLXJpZ2h0OmJlZm9yZSwNCi5maS1hbmNob3I6YmVmb3JlLA0KLmZpLWFubm90YXRlOmJlZm9yZSwNCi5maS1hcmNoaXZlOmJlZm9yZSwNCi5maS1hcnJvdy1kb3duOmJlZm9yZSwNCi5maS1hcnJvdy1sZWZ0OmJlZm9yZSwNCi5maS1hcnJvdy1yaWdodDpiZWZvcmUsDQouZmktYXJyb3ctdXA6YmVmb3JlLA0KLmZpLWFycm93cy1jb21wcmVzczpiZWZvcmUsDQouZmktYXJyb3dzLWV4cGFuZDpiZWZvcmUsDQouZmktYXJyb3dzLWluOmJlZm9yZSwNCi5maS1hcnJvd3Mtb3V0OmJlZm9yZSwNCi5maS1hc2w6YmVmb3JlLA0KLmZpLWFzdGVyaXNrOmJlZm9yZSwNCi5maS1hdC1zaWduOmJlZm9yZSwNCi5maS1iYWNrZ3JvdW5kLWNvbG9yOmJlZm9yZSwNCi5maS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSwNCi5maS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlLA0KLmZpLWJhdHRlcnktaGFsZjpiZWZvcmUsDQouZmktYml0Y29pbi1jaXJjbGU6YmVmb3JlLA0KLmZpLWJpdGNvaW46YmVmb3JlLA0KLmZpLWJsaW5kOmJlZm9yZSwNCi5maS1ibHVldG9vdGg6YmVmb3JlLA0KLmZpLWJvbGQ6YmVmb3JlLA0KLmZpLWJvb2stYm9va21hcms6YmVmb3JlLA0KLmZpLWJvb2s6YmVmb3JlLA0KLmZpLWJvb2ttYXJrOmJlZm9yZSwNCi5maS1icmFpbGxlOmJlZm9yZSwNCi5maS1idXJzdC1uZXc6YmVmb3JlLA0KLmZpLWJ1cnN0LXNhbGU6YmVmb3JlLA0KLmZpLWJ1cnN0OmJlZm9yZSwNCi5maS1jYWxlbmRhcjpiZWZvcmUsDQouZmktY2FtZXJhOmJlZm9yZSwNCi5maS1jaGVjazpiZWZvcmUsDQouZmktY2hlY2tib3g6YmVmb3JlLA0KLmZpLWNsaXBib2FyZC1ub3RlczpiZWZvcmUsDQouZmktY2xpcGJvYXJkLXBlbmNpbDpiZWZvcmUsDQouZmktY2xpcGJvYXJkOmJlZm9yZSwNCi5maS1jbG9jazpiZWZvcmUsDQouZmktY2xvc2VkLWNhcHRpb246YmVmb3JlLA0KLmZpLWNsb3VkOmJlZm9yZSwNCi5maS1jb21tZW50LW1pbnVzOmJlZm9yZSwNCi5maS1jb21tZW50LXF1b3RlczpiZWZvcmUsDQouZmktY29tbWVudC12aWRlbzpiZWZvcmUsDQouZmktY29tbWVudDpiZWZvcmUsDQouZmktY29tbWVudHM6YmVmb3JlLA0KLmZpLWNvbXBhc3M6YmVmb3JlLA0KLmZpLWNvbnRyYXN0OmJlZm9yZSwNCi5maS1jcmVkaXQtY2FyZDpiZWZvcmUsDQouZmktY3JvcDpiZWZvcmUsDQouZmktY3Jvd246YmVmb3JlLA0KLmZpLWNzczM6YmVmb3JlLA0KLmZpLWRhdGFiYXNlOmJlZm9yZSwNCi5maS1kaWUtZml2ZTpiZWZvcmUsDQouZmktZGllLWZvdXI6YmVmb3JlLA0KLmZpLWRpZS1vbmU6YmVmb3JlLA0KLmZpLWRpZS1zaXg6YmVmb3JlLA0KLmZpLWRpZS10aHJlZTpiZWZvcmUsDQouZmktZGllLXR3bzpiZWZvcmUsDQouZmktZGlzbGlrZTpiZWZvcmUsDQouZmktZG9sbGFyLWJpbGw6YmVmb3JlLA0KLmZpLWRvbGxhcjpiZWZvcmUsDQouZmktZG93bmxvYWQ6YmVmb3JlLA0KLmZpLWVqZWN0OmJlZm9yZSwNCi5maS1lbGV2YXRvcjpiZWZvcmUsDQouZmktZXVybzpiZWZvcmUsDQouZmktZXllOmJlZm9yZSwNCi5maS1mYXN0LWZvcndhcmQ6YmVmb3JlLA0KLmZpLWZlbWFsZS1zeW1ib2w6YmVmb3JlLA0KLmZpLWZlbWFsZTpiZWZvcmUsDQouZmktZmlsdGVyOmJlZm9yZSwNCi5maS1maXJzdC1haWQ6YmVmb3JlLA0KLmZpLWZsYWc6YmVmb3JlLA0KLmZpLWZvbGRlci1hZGQ6YmVmb3JlLA0KLmZpLWZvbGRlci1sb2NrOmJlZm9yZSwNCi5maS1mb2xkZXI6YmVmb3JlLA0KLmZpLWZvb3Q6YmVmb3JlLA0KLmZpLWZvdW5kYXRpb246YmVmb3JlLA0KLmZpLWdyYXBoLWJhcjpiZWZvcmUsDQouZmktZ3JhcGgtaG9yaXpvbnRhbDpiZWZvcmUsDQouZmktZ3JhcGgtcGllOmJlZm9yZSwNCi5maS1ncmFwaC10cmVuZDpiZWZvcmUsDQouZmktZ3VpZGUtZG9nOmJlZm9yZSwNCi5maS1oZWFyaW5nLWFpZDpiZWZvcmUsDQouZmktaGVhcnQ6YmVmb3JlLA0KLmZpLWhvbWU6YmVmb3JlLA0KLmZpLWh0bWw1OmJlZm9yZSwNCi5maS1pbmRlbnQtbGVzczpiZWZvcmUsDQouZmktaW5kZW50LW1vcmU6YmVmb3JlLA0KLmZpLWluZm86YmVmb3JlLA0KLmZpLWl0YWxpYzpiZWZvcmUsDQouZmkta2V5OmJlZm9yZSwNCi5maS1sYXB0b3A6YmVmb3JlLA0KLmZpLWxheW91dDpiZWZvcmUsDQouZmktbGlnaHRidWxiOmJlZm9yZSwNCi5maS1saWtlOmJlZm9yZSwNCi5maS1saW5rOmJlZm9yZSwNCi5maS1saXN0LWJ1bGxldDpiZWZvcmUsDQouZmktbGlzdC1udW1iZXI6YmVmb3JlLA0KLmZpLWxpc3QtdGh1bWJuYWlsczpiZWZvcmUsDQouZmktbGlzdDpiZWZvcmUsDQouZmktbG9jazpiZWZvcmUsDQouZmktbG9vcDpiZWZvcmUsDQouZmktbWFnbmlmeWluZy1nbGFzczpiZWZvcmUsDQouZmktbWFpbDpiZWZvcmUsDQouZmktbWFsZS1mZW1hbGU6YmVmb3JlLA0KLmZpLW1hbGUtc3ltYm9sOmJlZm9yZSwNCi5maS1tYWxlOmJlZm9yZSwNCi5maS1tYXA6YmVmb3JlLA0KLmZpLW1hcmtlcjpiZWZvcmUsDQouZmktbWVnYXBob25lOmJlZm9yZSwNCi5maS1taWNyb3Bob25lOmJlZm9yZSwNCi5maS1taW51cy1jaXJjbGU6YmVmb3JlLA0KLmZpLW1pbnVzOmJlZm9yZSwNCi5maS1tb2JpbGUtc2lnbmFsOmJlZm9yZSwNCi5maS1tb2JpbGU6YmVmb3JlLA0KLmZpLW1vbml0b3I6YmVmb3JlLA0KLmZpLW1vdW50YWluczpiZWZvcmUsDQouZmktbXVzaWM6YmVmb3JlLA0KLmZpLW5leHQ6YmVmb3JlLA0KLmZpLW5vLWRvZ3M6YmVmb3JlLA0KLmZpLW5vLXNtb2tpbmc6YmVmb3JlLA0KLmZpLXBhZ2UtYWRkOmJlZm9yZSwNCi5maS1wYWdlLWNvcHk6YmVmb3JlLA0KLmZpLXBhZ2UtY3N2OmJlZm9yZSwNCi5maS1wYWdlLWRlbGV0ZTpiZWZvcmUsDQouZmktcGFnZS1kb2M6YmVmb3JlLA0KLmZpLXBhZ2UtZWRpdDpiZWZvcmUsDQouZmktcGFnZS1leHBvcnQtY3N2OmJlZm9yZSwNCi5maS1wYWdlLWV4cG9ydC1kb2M6YmVmb3JlLA0KLmZpLXBhZ2UtZXhwb3J0LXBkZjpiZWZvcmUsDQouZmktcGFnZS1leHBvcnQ6YmVmb3JlLA0KLmZpLXBhZ2UtZmlsbGVkOmJlZm9yZSwNCi5maS1wYWdlLW11bHRpcGxlOmJlZm9yZSwNCi5maS1wYWdlLXBkZjpiZWZvcmUsDQouZmktcGFnZS1yZW1vdmU6YmVmb3JlLA0KLmZpLXBhZ2Utc2VhcmNoOmJlZm9yZSwNCi5maS1wYWdlOmJlZm9yZSwNCi5maS1wYWludC1idWNrZXQ6YmVmb3JlLA0KLmZpLXBhcGVyY2xpcDpiZWZvcmUsDQouZmktcGF1c2U6YmVmb3JlLA0KLmZpLXBhdzpiZWZvcmUsDQouZmktcGF5cGFsOmJlZm9yZSwNCi5maS1wZW5jaWw6YmVmb3JlLA0KLmZpLXBob3RvOmJlZm9yZSwNCi5maS1wbGF5LWNpcmNsZTpiZWZvcmUsDQouZmktcGxheS12aWRlbzpiZWZvcmUsDQouZmktcGxheTpiZWZvcmUsDQouZmktcGx1czpiZWZvcmUsDQouZmktcG91bmQ6YmVmb3JlLA0KLmZpLXBvd2VyOmJlZm9yZSwNCi5maS1wcmV2aW91czpiZWZvcmUsDQouZmktcHJpY2UtdGFnOmJlZm9yZSwNCi5maS1wcmljZXRhZy1tdWx0aXBsZTpiZWZvcmUsDQouZmktcHJpbnQ6YmVmb3JlLA0KLmZpLXByb2hpYml0ZWQ6YmVmb3JlLA0KLmZpLXByb2plY3Rpb24tc2NyZWVuOmJlZm9yZSwNCi5maS1wdXp6bGU6YmVmb3JlLA0KLmZpLXF1b3RlOmJlZm9yZSwNCi5maS1yZWNvcmQ6YmVmb3JlLA0KLmZpLXJlZnJlc2g6YmVmb3JlLA0KLmZpLXJlc3VsdHMtZGVtb2dyYXBoaWNzOmJlZm9yZSwNCi5maS1yZXN1bHRzOmJlZm9yZSwNCi5maS1yZXdpbmQtdGVuOmJlZm9yZSwNCi5maS1yZXdpbmQ6YmVmb3JlLA0KLmZpLXJzczpiZWZvcmUsDQouZmktc2FmZXR5LWNvbmU6YmVmb3JlLA0KLmZpLXNhdmU6YmVmb3JlLA0KLmZpLXNoYXJlOmJlZm9yZSwNCi5maS1zaGVyaWZmLWJhZGdlOmJlZm9yZSwNCi5maS1zaGllbGQ6YmVmb3JlLA0KLmZpLXNob3BwaW5nLWJhZzpiZWZvcmUsDQouZmktc2hvcHBpbmctY2FydDpiZWZvcmUsDQouZmktc2h1ZmZsZTpiZWZvcmUsDQouZmktc2t1bGw6YmVmb3JlLA0KLmZpLXNvY2lhbC01MDBweDpiZWZvcmUsDQouZmktc29jaWFsLWFkb2JlOmJlZm9yZSwNCi5maS1zb2NpYWwtYW1hem9uOmJlZm9yZSwNCi5maS1zb2NpYWwtYW5kcm9pZDpiZWZvcmUsDQouZmktc29jaWFsLWFwcGxlOmJlZm9yZSwNCi5maS1zb2NpYWwtYmVoYW5jZTpiZWZvcmUsDQouZmktc29jaWFsLWJpbmc6YmVmb3JlLA0KLmZpLXNvY2lhbC1ibG9nZ2VyOmJlZm9yZSwNCi5maS1zb2NpYWwtZGVsaWNpb3VzOmJlZm9yZSwNCi5maS1zb2NpYWwtZGVzaWduZXItbmV3czpiZWZvcmUsDQouZmktc29jaWFsLWRldmlhbnQtYXJ0OmJlZm9yZSwNCi5maS1zb2NpYWwtZGlnZzpiZWZvcmUsDQouZmktc29jaWFsLWRyaWJiYmxlOmJlZm9yZSwNCi5maS1zb2NpYWwtZHJpdmU6YmVmb3JlLA0KLmZpLXNvY2lhbC1kcm9wYm94OmJlZm9yZSwNCi5maS1zb2NpYWwtZXZlcm5vdGU6YmVmb3JlLA0KLmZpLXNvY2lhbC1mYWNlYm9vazpiZWZvcmUsDQouZmktc29jaWFsLWZsaWNrcjpiZWZvcmUsDQouZmktc29jaWFsLWZvcnJzdDpiZWZvcmUsDQouZmktc29jaWFsLWZvdXJzcXVhcmU6YmVmb3JlLA0KLmZpLXNvY2lhbC1nYW1lLWNlbnRlcjpiZWZvcmUsDQouZmktc29jaWFsLWdpdGh1YjpiZWZvcmUsDQouZmktc29jaWFsLWdvb2dsZS1wbHVzOmJlZm9yZSwNCi5maS1zb2NpYWwtaGFja2VyLW5ld3M6YmVmb3JlLA0KLmZpLXNvY2lhbC1oaTU6YmVmb3JlLA0KLmZpLXNvY2lhbC1pbnN0YWdyYW06YmVmb3JlLA0KLmZpLXNvY2lhbC1qb29tbGE6YmVmb3JlLA0KLmZpLXNvY2lhbC1sYXN0Zm06YmVmb3JlLA0KLmZpLXNvY2lhbC1saW5rZWRpbjpiZWZvcmUsDQouZmktc29jaWFsLW1lZGl1bTpiZWZvcmUsDQouZmktc29jaWFsLW15c3BhY2U6YmVmb3JlLA0KLmZpLXNvY2lhbC1vcmt1dDpiZWZvcmUsDQouZmktc29jaWFsLXBhdGg6YmVmb3JlLA0KLmZpLXNvY2lhbC1waWNhc2E6YmVmb3JlLA0KLmZpLXNvY2lhbC1waW50ZXJlc3Q6YmVmb3JlLA0KLmZpLXNvY2lhbC1yZGlvOmJlZm9yZSwNCi5maS1zb2NpYWwtcmVkZGl0OmJlZm9yZSwNCi5maS1zb2NpYWwtc2tpbGxzaGFyZTpiZWZvcmUsDQouZmktc29jaWFsLXNreXBlOmJlZm9yZSwNCi5maS1zb2NpYWwtc21hc2hpbmctbWFnOmJlZm9yZSwNCi5maS1zb2NpYWwtc25hcGNoYXQ6YmVmb3JlLA0KLmZpLXNvY2lhbC1zcG90aWZ5OmJlZm9yZSwNCi5maS1zb2NpYWwtc3F1aWRvbzpiZWZvcmUsDQouZmktc29jaWFsLXN0YWNrLW92ZXJmbG93OmJlZm9yZSwNCi5maS1zb2NpYWwtc3RlYW06YmVmb3JlLA0KLmZpLXNvY2lhbC1zdHVtYmxldXBvbjpiZWZvcmUsDQouZmktc29jaWFsLXRyZWVob3VzZTpiZWZvcmUsDQouZmktc29jaWFsLXR1bWJscjpiZWZvcmUsDQouZmktc29jaWFsLXR3aXR0ZXI6YmVmb3JlLA0KLmZpLXNvY2lhbC12aW1lbzpiZWZvcmUsDQouZmktc29jaWFsLXdpbmRvd3M6YmVmb3JlLA0KLmZpLXNvY2lhbC14Ym94OmJlZm9yZSwNCi5maS1zb2NpYWwteWFob286YmVmb3JlLA0KLmZpLXNvY2lhbC15ZWxwOmJlZm9yZSwNCi5maS1zb2NpYWwteW91dHViZTpiZWZvcmUsDQouZmktc29jaWFsLXplcnBseTpiZWZvcmUsDQouZmktc29jaWFsLXp1cmI6YmVmb3JlLA0KLmZpLXNvdW5kOmJlZm9yZSwNCi5maS1zdGFyOmJlZm9yZSwNCi5maS1zdG9wOmJlZm9yZSwNCi5maS1zdHJpa2V0aHJvdWdoOmJlZm9yZSwNCi5maS1zdWJzY3JpcHQ6YmVmb3JlLA0KLmZpLXN1cGVyc2NyaXB0OmJlZm9yZSwNCi5maS10YWJsZXQtbGFuZHNjYXBlOmJlZm9yZSwNCi5maS10YWJsZXQtcG9ydHJhaXQ6YmVmb3JlLA0KLmZpLXRhcmdldC10d286YmVmb3JlLA0KLmZpLXRhcmdldDpiZWZvcmUsDQouZmktdGVsZXBob25lLWFjY2Vzc2libGU6YmVmb3JlLA0KLmZpLXRlbGVwaG9uZTpiZWZvcmUsDQouZmktdGV4dC1jb2xvcjpiZWZvcmUsDQouZmktdGh1bWJuYWlsczpiZWZvcmUsDQouZmktdGlja2V0OmJlZm9yZSwNCi5maS10b3Jzby1idXNpbmVzczpiZWZvcmUsDQouZmktdG9yc28tZmVtYWxlOmJlZm9yZSwNCi5maS10b3JzbzpiZWZvcmUsDQouZmktdG9yc29zLWFsbC1mZW1hbGU6YmVmb3JlLA0KLmZpLXRvcnNvcy1hbGw6YmVmb3JlLA0KLmZpLXRvcnNvcy1mZW1hbGUtbWFsZTpiZWZvcmUsDQouZmktdG9yc29zLW1hbGUtZmVtYWxlOmJlZm9yZSwNCi5maS10b3Jzb3M6YmVmb3JlLA0KLmZpLXRyYXNoOmJlZm9yZSwNCi5maS10cmVlczpiZWZvcmUsDQouZmktdHJvcGh5OmJlZm9yZSwNCi5maS11bmRlcmxpbmU6YmVmb3JlLA0KLmZpLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlLA0KLmZpLXVubGluazpiZWZvcmUsDQouZmktdW5sb2NrOmJlZm9yZSwNCi5maS11cGxvYWQtY2xvdWQ6YmVmb3JlLA0KLmZpLXVwbG9hZDpiZWZvcmUsDQouZmktdXNiOmJlZm9yZSwNCi5maS12aWRlbzpiZWZvcmUsDQouZmktdm9sdW1lLW5vbmU6YmVmb3JlLA0KLmZpLXZvbHVtZS1zdHJpa2U6YmVmb3JlLA0KLmZpLXZvbHVtZTpiZWZvcmUsDQouZmktd2ViOmJlZm9yZSwNCi5maS13aGVlbGNoYWlyOmJlZm9yZSwNCi5maS13aWRnZXQ6YmVmb3JlLA0KLmZpLXdyZW5jaDpiZWZvcmUsDQouZmkteC1jaXJjbGU6YmVmb3JlLA0KLmZpLXg6YmVmb3JlLA0KLmZpLXllbjpiZWZvcmUsDQouZmktem9vbS1pbjpiZWZvcmUsDQouZmktem9vbS1vdXQ6YmVmb3JlIHsNCiAgZm9udC1mYW1pbHk6ICJmb3VuZGF0aW9uLWljb25zIjsNCiAgZm9udC1zdHlsZTogbm9ybWFsOw0KICBmb250LXdlaWdodDogbm9ybWFsOw0KICBmb250LXZhcmlhbnQ6IG5vcm1hbDsNCiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7DQogIGxpbmUtaGVpZ2h0OiAxOw0KICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7DQp9DQoNCi5maS1hZGRyZXNzLWJvb2s6YmVmb3JlIHsgY29udGVudDogIlxmMTAwIjsgfQ0KLmZpLWFsZXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwMSI7IH0NCi5maS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogIlxmMTAyIjsgfQ0KLmZpLWFsaWduLWp1c3RpZnk6YmVmb3JlIHsgY29udGVudDogIlxmMTAzIjsgfQ0KLmZpLWFsaWduLWxlZnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTA0IjsgfQ0KLmZpLWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwNSI7IH0NCi5maS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogIlxmMTA2IjsgfQ0KLmZpLWFubm90YXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwNyI7IH0NCi5maS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwOCI7IH0NCi5maS1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwOSI7IH0NCi5maS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwYSI7IH0NCi5maS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGIiOyB9DQouZmktYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogIlxmMTBjIjsgfQ0KLmZpLWFycm93cy1jb21wcmVzczpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGQiOyB9DQouZmktYXJyb3dzLWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGUiOyB9DQouZmktYXJyb3dzLWluOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwZiI7IH0NCi5maS1hcnJvd3Mtb3V0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMCI7IH0NCi5maS1hc2w6YmVmb3JlIHsgY29udGVudDogIlxmMTExIjsgfQ0KLmZpLWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMiI7IH0NCi5maS1hdC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMyI7IH0NCi5maS1iYWNrZ3JvdW5kLWNvbG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExNCI7IH0NCi5maS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExNSI7IH0NCi5maS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogIlxmMTE2IjsgfQ0KLmZpLWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTciOyB9DQouZmktYml0Y29pbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogIlxmMTE4IjsgfQ0KLmZpLWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogIlxmMTE5IjsgfQ0KLmZpLWJsaW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExYSI7IH0NCi5maS1ibHVldG9vdGg6YmVmb3JlIHsgY29udGVudDogIlxmMTFiIjsgfQ0KLmZpLWJvbGQ6YmVmb3JlIHsgY29udGVudDogIlxmMTFjIjsgfQ0KLmZpLWJvb2stYm9va21hcms6YmVmb3JlIHsgY29udGVudDogIlxmMTFkIjsgfQ0KLmZpLWJvb2s6YmVmb3JlIHsgY29udGVudDogIlxmMTFlIjsgfQ0KLmZpLWJvb2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExZiI7IH0NCi5maS1icmFpbGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyMCI7IH0NCi5maS1idXJzdC1uZXc6YmVmb3JlIHsgY29udGVudDogIlxmMTIxIjsgfQ0KLmZpLWJ1cnN0LXNhbGU6YmVmb3JlIHsgY29udGVudDogIlxmMTIyIjsgfQ0KLmZpLWJ1cnN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyMyI7IH0NCi5maS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjQiOyB9DQouZmktY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyNSI7IH0NCi5maS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjYiOyB9DQouZmktY2hlY2tib3g6YmVmb3JlIHsgY29udGVudDogIlxmMTI3IjsgfQ0KLmZpLWNsaXBib2FyZC1ub3RlczpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjgiOyB9DQouZmktY2xpcGJvYXJkLXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjkiOyB9DQouZmktY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyYSI7IH0NCi5maS1jbG9jazpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmIiOyB9DQouZmktY2xvc2VkLWNhcHRpb246YmVmb3JlIHsgY29udGVudDogIlxmMTJjIjsgfQ0KLmZpLWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyZCI7IH0NCi5maS1jb21tZW50LW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyZSI7IH0NCi5maS1jb21tZW50LXF1b3RlczpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmYiOyB9DQouZmktY29tbWVudC12aWRlbzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzAiOyB9DQouZmktY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzEiOyB9DQouZmktY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogIlxmMTMyIjsgfQ0KLmZpLWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogIlxmMTMzIjsgfQ0KLmZpLWNvbnRyYXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzNCI7IH0NCi5maS1jcmVkaXQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzUiOyB9DQouZmktY3JvcDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzYiOyB9DQouZmktY3Jvd246YmVmb3JlIHsgY29udGVudDogIlxmMTM3IjsgfQ0KLmZpLWNzczM6YmVmb3JlIHsgY29udGVudDogIlxmMTM4IjsgfQ0KLmZpLWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzOSI7IH0NCi5maS1kaWUtZml2ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2EiOyB9DQouZmktZGllLWZvdXI6YmVmb3JlIHsgY29udGVudDogIlxmMTNiIjsgfQ0KLmZpLWRpZS1vbmU6YmVmb3JlIHsgY29udGVudDogIlxmMTNjIjsgfQ0KLmZpLWRpZS1zaXg6YmVmb3JlIHsgY29udGVudDogIlxmMTNkIjsgfQ0KLmZpLWRpZS10aHJlZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2UiOyB9DQouZmktZGllLXR3bzpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2YiOyB9DQouZmktZGlzbGlrZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDAiOyB9DQouZmktZG9sbGFyLWJpbGw6YmVmb3JlIHsgY29udGVudDogIlxmMTQxIjsgfQ0KLmZpLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDIiOyB9DQouZmktZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogIlxmMTQzIjsgfQ0KLmZpLWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0NCI7IH0NCi5maS1lbGV2YXRvcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDUiOyB9DQouZmktZXVybzpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDYiOyB9DQouZmktZXllOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0NyI7IH0NCi5maS1mYXN0LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogIlxmMTQ4IjsgfQ0KLmZpLWZlbWFsZS1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogIlxmMTQ5IjsgfQ0KLmZpLWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNGEiOyB9DQouZmktZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0YiI7IH0NCi5maS1maXJzdC1haWQ6YmVmb3JlIHsgY29udGVudDogIlxmMTRjIjsgfQ0KLmZpLWZsYWc6YmVmb3JlIHsgY29udGVudDogIlxmMTRkIjsgfQ0KLmZpLWZvbGRlci1hZGQ6YmVmb3JlIHsgY29udGVudDogIlxmMTRlIjsgfQ0KLmZpLWZvbGRlci1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0ZiI7IH0NCi5maS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogIlxmMTUwIjsgfQ0KLmZpLWZvb3Q6YmVmb3JlIHsgY29udGVudDogIlxmMTUxIjsgfQ0KLmZpLWZvdW5kYXRpb246YmVmb3JlIHsgY29udGVudDogIlxmMTUyIjsgfQ0KLmZpLWdyYXBoLWJhcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxNTMiOyB9DQouZmktZ3JhcGgtaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNTQiOyB9DQouZmktZ3JhcGgtcGllOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1NSI7IH0NCi5maS1ncmFwaC10cmVuZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNTYiOyB9DQouZmktZ3VpZGUtZG9nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1NyI7IH0NCi5maS1oZWFyaW5nLWFpZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNTgiOyB9DQouZmktaGVhcnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTU5IjsgfQ0KLmZpLWhvbWU6YmVmb3JlIHsgY29udGVudDogIlxmMTVhIjsgfQ0KLmZpLWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1YiI7IH0NCi5maS1pbmRlbnQtbGVzczpiZWZvcmUgeyBjb250ZW50OiAiXGYxNWMiOyB9DQouZmktaW5kZW50LW1vcmU6YmVmb3JlIHsgY29udGVudDogIlxmMTVkIjsgfQ0KLmZpLWluZm86YmVmb3JlIHsgY29udGVudDogIlxmMTVlIjsgfQ0KLmZpLWl0YWxpYzpiZWZvcmUgeyBjb250ZW50OiAiXGYxNWYiOyB9DQouZmkta2V5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2MCI7IH0NCi5maS1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogIlxmMTYxIjsgfQ0KLmZpLWxheW91dDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNjIiOyB9DQouZmktbGlnaHRidWxiOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2MyI7IH0NCi5maS1saWtlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2NCI7IH0NCi5maS1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2NSI7IH0NCi5maS1saXN0LWJ1bGxldDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNjYiOyB9DQouZmktbGlzdC1udW1iZXI6YmVmb3JlIHsgY29udGVudDogIlxmMTY3IjsgfQ0KLmZpLWxpc3QtdGh1bWJuYWlsczpiZWZvcmUgeyBjb250ZW50OiAiXGYxNjgiOyB9DQouZmktbGlzdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNjkiOyB9DQouZmktbG9jazpiZWZvcmUgeyBjb250ZW50OiAiXGYxNmEiOyB9DQouZmktbG9vcDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNmIiOyB9DQouZmktbWFnbmlmeWluZy1nbGFzczpiZWZvcmUgeyBjb250ZW50OiAiXGYxNmMiOyB9DQouZmktbWFpbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNmQiOyB9DQouZmktbWFsZS1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogIlxmMTZlIjsgfQ0KLmZpLW1hbGUtc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2ZiI7IH0NCi5maS1tYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3MCI7IH0NCi5maS1tYXA6YmVmb3JlIHsgY29udGVudDogIlxmMTcxIjsgfQ0KLmZpLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxNzIiOyB9DQouZmktbWVnYXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3MyI7IH0NCi5maS1taWNyb3Bob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3NCI7IH0NCi5maS1taW51cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogIlxmMTc1IjsgfQ0KLmZpLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3NiI7IH0NCi5maS1tb2JpbGUtc2lnbmFsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3NyI7IH0NCi5maS1tb2JpbGU6YmVmb3JlIHsgY29udGVudDogIlxmMTc4IjsgfQ0KLmZpLW1vbml0b3I6YmVmb3JlIHsgY29udGVudDogIlxmMTc5IjsgfQ0KLmZpLW1vdW50YWluczpiZWZvcmUgeyBjb250ZW50OiAiXGYxN2EiOyB9DQouZmktbXVzaWM6YmVmb3JlIHsgY29udGVudDogIlxmMTdiIjsgfQ0KLmZpLW5leHQ6YmVmb3JlIHsgY29udGVudDogIlxmMTdjIjsgfQ0KLmZpLW5vLWRvZ3M6YmVmb3JlIHsgY29udGVudDogIlxmMTdkIjsgfQ0KLmZpLW5vLXNtb2tpbmc6YmVmb3JlIHsgY29udGVudDogIlxmMTdlIjsgfQ0KLmZpLXBhZ2UtYWRkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3ZiI7IH0NCi5maS1wYWdlLWNvcHk6YmVmb3JlIHsgY29udGVudDogIlxmMTgwIjsgfQ0KLmZpLXBhZ2UtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4MSI7IH0NCi5maS1wYWdlLWRlbGV0ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxODIiOyB9DQouZmktcGFnZS1kb2M6YmVmb3JlIHsgY29udGVudDogIlxmMTgzIjsgfQ0KLmZpLXBhZ2UtZWRpdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxODQiOyB9DQouZmktcGFnZS1leHBvcnQtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4NSI7IH0NCi5maS1wYWdlLWV4cG9ydC1kb2M6YmVmb3JlIHsgY29udGVudDogIlxmMTg2IjsgfQ0KLmZpLXBhZ2UtZXhwb3J0LXBkZjpiZWZvcmUgeyBjb250ZW50OiAiXGYxODciOyB9DQouZmktcGFnZS1leHBvcnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTg4IjsgfQ0KLmZpLXBhZ2UtZmlsbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4OSI7IH0NCi5maS1wYWdlLW11bHRpcGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4YSI7IH0NCi5maS1wYWdlLXBkZjpiZWZvcmUgeyBjb250ZW50OiAiXGYxOGIiOyB9DQouZmktcGFnZS1yZW1vdmU6YmVmb3JlIHsgY29udGVudDogIlxmMThjIjsgfQ0KLmZpLXBhZ2Utc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4ZCI7IH0NCi5maS1wYWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4ZSI7IH0NCi5maS1wYWludC1idWNrZXQ6YmVmb3JlIHsgY29udGVudDogIlxmMThmIjsgfQ0KLmZpLXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTAiOyB9DQouZmktcGF1c2U6YmVmb3JlIHsgY29udGVudDogIlxmMTkxIjsgfQ0KLmZpLXBhdzpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTIiOyB9DQouZmktcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5MyI7IH0NCi5maS1wZW5jaWw6YmVmb3JlIHsgY29udGVudDogIlxmMTk0IjsgfQ0KLmZpLXBob3RvOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5NSI7IH0NCi5maS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTYiOyB9DQouZmktcGxheS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTciOyB9DQouZmktcGxheTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTgiOyB9DQouZmktcGx1czpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTkiOyB9DQouZmktcG91bmQ6YmVmb3JlIHsgY29udGVudDogIlxmMTlhIjsgfQ0KLmZpLXBvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5YiI7IH0NCi5maS1wcmV2aW91czpiZWZvcmUgeyBjb250ZW50OiAiXGYxOWMiOyB9DQouZmktcHJpY2UtdGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5ZCI7IH0NCi5maS1wcmljZXRhZy1tdWx0aXBsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOWUiOyB9DQouZmktcHJpbnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTlmIjsgfQ0KLmZpLXByb2hpYml0ZWQ6YmVmb3JlIHsgY29udGVudDogIlxmMWEwIjsgfQ0KLmZpLXByb2plY3Rpb24tc2NyZWVuOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhMSI7IH0NCi5maS1wdXp6bGU6YmVmb3JlIHsgY29udGVudDogIlxmMWEyIjsgfQ0KLmZpLXF1b3RlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhMyI7IH0NCi5maS1yZWNvcmQ6YmVmb3JlIHsgY29udGVudDogIlxmMWE0IjsgfQ0KLmZpLXJlZnJlc2g6YmVmb3JlIHsgY29udGVudDogIlxmMWE1IjsgfQ0KLmZpLXJlc3VsdHMtZGVtb2dyYXBoaWNzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhNiI7IH0NCi5maS1yZXN1bHRzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhNyI7IH0NCi5maS1yZXdpbmQtdGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhOCI7IH0NCi5maS1yZXdpbmQ6YmVmb3JlIHsgY29udGVudDogIlxmMWE5IjsgfQ0KLmZpLXJzczpiZWZvcmUgeyBjb250ZW50OiAiXGYxYWEiOyB9DQouZmktc2FmZXR5LWNvbmU6YmVmb3JlIHsgY29udGVudDogIlxmMWFiIjsgfQ0KLmZpLXNhdmU6YmVmb3JlIHsgY29udGVudDogIlxmMWFjIjsgfQ0KLmZpLXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhZCI7IH0NCi5maS1zaGVyaWZmLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhZSI7IH0NCi5maS1zaGllbGQ6YmVmb3JlIHsgY29udGVudDogIlxmMWFmIjsgfQ0KLmZpLXNob3BwaW5nLWJhZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjAiOyB9DQouZmktc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjEiOyB9DQouZmktc2h1ZmZsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjIiOyB9DQouZmktc2t1bGw6YmVmb3JlIHsgY29udGVudDogIlxmMWIzIjsgfQ0KLmZpLXNvY2lhbC01MDBweDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjQiOyB9DQouZmktc29jaWFsLWFkb2JlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiNSI7IH0NCi5maS1zb2NpYWwtYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiNiI7IH0NCi5maS1zb2NpYWwtYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjciOyB9DQouZmktc29jaWFsLWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiOCI7IH0NCi5maS1zb2NpYWwtYmVoYW5jZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjkiOyB9DQouZmktc29jaWFsLWJpbmc6YmVmb3JlIHsgY29udGVudDogIlxmMWJhIjsgfQ0KLmZpLXNvY2lhbC1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiYiI7IH0NCi5maS1zb2NpYWwtZGVsaWNpb3VzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiYyI7IH0NCi5maS1zb2NpYWwtZGVzaWduZXItbmV3czpiZWZvcmUgeyBjb250ZW50OiAiXGYxYmQiOyB9DQouZmktc29jaWFsLWRldmlhbnQtYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiZSI7IH0NCi5maS1zb2NpYWwtZGlnZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxYmYiOyB9DQouZmktc29jaWFsLWRyaWJiYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjMCI7IH0NCi5maS1zb2NpYWwtZHJpdmU6YmVmb3JlIHsgY29udGVudDogIlxmMWMxIjsgfQ0KLmZpLXNvY2lhbC1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjMiI7IH0NCi5maS1zb2NpYWwtZXZlcm5vdGU6YmVmb3JlIHsgY29udGVudDogIlxmMWMzIjsgfQ0KLmZpLXNvY2lhbC1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiAiXGYxYzQiOyB9DQouZmktc29jaWFsLWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxYzUiOyB9DQouZmktc29jaWFsLWZvcnJzdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYzYiOyB9DQouZmktc29jaWFsLWZvdXJzcXVhcmU6YmVmb3JlIHsgY29udGVudDogIlxmMWM3IjsgfQ0KLmZpLXNvY2lhbC1nYW1lLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxYzgiOyB9DQouZmktc29jaWFsLWdpdGh1YjpiZWZvcmUgeyBjb250ZW50OiAiXGYxYzkiOyB9DQouZmktc29jaWFsLWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjYSI7IH0NCi5maS1zb2NpYWwtaGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogIlxmMWNiIjsgfQ0KLmZpLXNvY2lhbC1oaTU6YmVmb3JlIHsgY29udGVudDogIlxmMWNjIjsgfQ0KLmZpLXNvY2lhbC1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogIlxmMWNkIjsgfQ0KLmZpLXNvY2lhbC1qb29tbGE6YmVmb3JlIHsgY29udGVudDogIlxmMWNlIjsgfQ0KLmZpLXNvY2lhbC1sYXN0Zm06YmVmb3JlIHsgY29udGVudDogIlxmMWNmIjsgfQ0KLmZpLXNvY2lhbC1saW5rZWRpbjpiZWZvcmUgeyBjb250ZW50OiAiXGYxZDAiOyB9DQouZmktc29jaWFsLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZDEiOyB9DQouZmktc29jaWFsLW15c3BhY2U6YmVmb3JlIHsgY29udGVudDogIlxmMWQyIjsgfQ0KLmZpLXNvY2lhbC1vcmt1dDpiZWZvcmUgeyBjb250ZW50OiAiXGYxZDMiOyB9DQouZmktc29jaWFsLXBhdGg6YmVmb3JlIHsgY29udGVudDogIlxmMWQ0IjsgfQ0KLmZpLXNvY2lhbC1waWNhc2E6YmVmb3JlIHsgY29udGVudDogIlxmMWQ1IjsgfQ0KLmZpLXNvY2lhbC1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogIlxmMWQ2IjsgfQ0KLmZpLXNvY2lhbC1yZGlvOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFkNyI7IH0NCi5maS1zb2NpYWwtcmVkZGl0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFkOCI7IH0NCi5maS1zb2NpYWwtc2tpbGxzaGFyZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZDkiOyB9DQouZmktc29jaWFsLXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFkYSI7IH0NCi5maS1zb2NpYWwtc21hc2hpbmctbWFnOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFkYiI7IH0NCi5maS1zb2NpYWwtc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogIlxmMWRjIjsgfQ0KLmZpLXNvY2lhbC1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFkZCI7IH0NCi5maS1zb2NpYWwtc3F1aWRvbzpiZWZvcmUgeyBjb250ZW50OiAiXGYxZGUiOyB9DQouZmktc29jaWFsLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFkZiI7IH0NCi5maS1zb2NpYWwtc3RlYW06YmVmb3JlIHsgY29udGVudDogIlxmMWUwIjsgfQ0KLmZpLXNvY2lhbC1zdHVtYmxldXBvbjpiZWZvcmUgeyBjb250ZW50OiAiXGYxZTEiOyB9DQouZmktc29jaWFsLXRyZWVob3VzZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZTIiOyB9DQouZmktc29jaWFsLXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiAiXGYxZTMiOyB9DQouZmktc29jaWFsLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogIlxmMWU0IjsgfQ0KLmZpLXNvY2lhbC12aW1lbzpiZWZvcmUgeyBjb250ZW50OiAiXGYxZTUiOyB9DQouZmktc29jaWFsLXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogIlxmMWU2IjsgfQ0KLmZpLXNvY2lhbC14Ym94OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlNyI7IH0NCi5maS1zb2NpYWwteWFob286YmVmb3JlIHsgY29udGVudDogIlxmMWU4IjsgfQ0KLmZpLXNvY2lhbC15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlOSI7IH0NCi5maS1zb2NpYWwteW91dHViZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZWEiOyB9DQouZmktc29jaWFsLXplcnBseTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZWIiOyB9DQouZmktc29jaWFsLXp1cmI6YmVmb3JlIHsgY29udGVudDogIlxmMWVjIjsgfQ0KLmZpLXNvdW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlZCI7IH0NCi5maS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlZSI7IH0NCi5maS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlZiI7IH0NCi5maS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmMCI7IH0NCi5maS1zdWJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogIlxmMWYxIjsgfQ0KLmZpLXN1cGVyc2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmMiI7IH0NCi5maS10YWJsZXQtbGFuZHNjYXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmMyI7IH0NCi5maS10YWJsZXQtcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogIlxmMWY0IjsgfQ0KLmZpLXRhcmdldC10d286YmVmb3JlIHsgY29udGVudDogIlxmMWY1IjsgfQ0KLmZpLXRhcmdldDpiZWZvcmUgeyBjb250ZW50OiAiXGYxZjYiOyB9DQouZmktdGVsZXBob25lLWFjY2Vzc2libGU6YmVmb3JlIHsgY29udGVudDogIlxmMWY3IjsgfQ0KLmZpLXRlbGVwaG9uZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZjgiOyB9DQouZmktdGV4dC1jb2xvcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxZjkiOyB9DQouZmktdGh1bWJuYWlsczpiZWZvcmUgeyBjb250ZW50OiAiXGYxZmEiOyB9DQouZmktdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmYiI7IH0NCi5maS10b3Jzby1idXNpbmVzczpiZWZvcmUgeyBjb250ZW50OiAiXGYxZmMiOyB9DQouZmktdG9yc28tZmVtYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmZCI7IH0NCi5maS10b3JzbzpiZWZvcmUgeyBjb250ZW50OiAiXGYxZmUiOyB9DQouZmktdG9yc29zLWFsbC1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogIlxmMWZmIjsgfQ0KLmZpLXRvcnNvcy1hbGw6YmVmb3JlIHsgY29udGVudDogIlxmMjAwIjsgfQ0KLmZpLXRvcnNvcy1mZW1hbGUtbWFsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMDEiOyB9DQouZmktdG9yc29zLW1hbGUtZmVtYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwMiI7IH0NCi5maS10b3Jzb3M6YmVmb3JlIHsgY29udGVudDogIlxmMjAzIjsgfQ0KLmZpLXRyYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwNCI7IH0NCi5maS10cmVlczpiZWZvcmUgeyBjb250ZW50OiAiXGYyMDUiOyB9DQouZmktdHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwNiI7IH0NCi5maS11bmRlcmxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjA3IjsgfQ0KLmZpLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHsgY29udGVudDogIlxmMjA4IjsgfQ0KLmZpLXVubGluazpiZWZvcmUgeyBjb250ZW50OiAiXGYyMDkiOyB9DQouZmktdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwYSI7IH0NCi5maS11cGxvYWQtY2xvdWQ6YmVmb3JlIHsgY29udGVudDogIlxmMjBiIjsgfQ0KLmZpLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMGMiOyB9DQouZmktdXNiOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwZCI7IH0NCi5maS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiAiXGYyMGUiOyB9DQouZmktdm9sdW1lLW5vbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjBmIjsgfQ0KLmZpLXZvbHVtZS1zdHJpa2U6YmVmb3JlIHsgY29udGVudDogIlxmMjEwIjsgfQ0KLmZpLXZvbHVtZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMTEiOyB9DQouZmktd2ViOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxMiI7IH0NCi5maS13aGVlbGNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxMyI7IH0NCi5maS13aWRnZXQ6YmVmb3JlIHsgY29udGVudDogIlxmMjE0IjsgfQ0KLmZpLXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMTUiOyB9DQouZmkteC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogIlxmMjE2IjsgfQ0KLmZpLXg6YmVmb3JlIHsgY29udGVudDogIlxmMjE3IjsgfQ0KLmZpLXllbjpiZWZvcmUgeyBjb250ZW50OiAiXGYyMTgiOyB9DQouZmktem9vbS1pbjpiZWZvcmUgeyBjb250ZW50OiAiXGYyMTkiOyB9DQouZmktem9vbS1vdXQ6YmVmb3JlIHsgY29udGVudDogIlxmMjFhIjsgfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/init/css_normalize</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovDQoNCi8qKg0KICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi4NCiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZw0KICogICAgdXNlciB6b29tLg0KICovDQoNCmh0bWwgew0KICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqLw0KICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqLw0KICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi8NCn0NCg0KLyoqDQogKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uDQogKi8NCg0KYm9keSB7DQogIG1hcmdpbjogMDsNCn0NCg0KLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9ucw0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KLyoqDQogKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85Lg0KICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTENCiAqIGFuZCBGaXJlZm94Lg0KICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS4NCiAqLw0KDQphcnRpY2xlLA0KYXNpZGUsDQpkZXRhaWxzLA0KZmlnY2FwdGlvbiwNCmZpZ3VyZSwNCmZvb3RlciwNCmhlYWRlciwNCmhncm91cCwNCm1haW4sDQptZW51LA0KbmF2LA0Kc2VjdGlvbiwNCnN1bW1hcnkgew0KICBkaXNwbGF5OiBibG9jazsNCn0NCg0KLyoqDQogKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85Lg0KICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLg0KICovDQoNCmF1ZGlvLA0KY2FudmFzLA0KcHJvZ3Jlc3MsDQp2aWRlbyB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqLw0KICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi8NCn0NCg0KLyoqDQogKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLg0KICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy4NCiAqLw0KDQphdWRpbzpub3QoW2NvbnRyb2xzXSkgew0KICBkaXNwbGF5OiBub25lOw0KICBoZWlnaHQ6IDA7DQp9DQoNCi8qKg0KICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLg0KICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLg0KICovDQoNCltoaWRkZW5dLA0KdGVtcGxhdGUgew0KICBkaXNwbGF5OiBub25lOw0KfQ0KDQovKiBMaW5rcw0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KLyoqDQogKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC4NCiAqLw0KDQphIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQp9DQoNCi8qKg0KICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuDQogKi8NCg0KYTphY3RpdmUsDQphOmhvdmVyIHsNCiAgb3V0bGluZTogMDsNCn0NCg0KLyogVGV4dC1sZXZlbCBzZW1hbnRpY3MNCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCi8qKg0KICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLg0KICovDQoNCmFiYnJbdGl0bGVdIHsNCiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsNCn0NCg0KLyoqDQogKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuDQogKi8NCg0KYiwNCnN0cm9uZyB7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KDQovKioNCiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS4NCiAqLw0KDQpkZm4gew0KICBmb250LXN0eWxlOiBpdGFsaWM7DQp9DQoNCi8qKg0KICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYA0KICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLg0KICovDQoNCmgxIHsNCiAgZm9udC1zaXplOiAyZW07DQogIG1hcmdpbjogMC42N2VtIDA7DQp9DQoNCi8qKg0KICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS4NCiAqLw0KDQptYXJrIHsNCiAgYmFja2dyb3VuZDogI2ZmMDsNCiAgY29sb3I6ICMwMDA7DQp9DQoNCi8qKg0KICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuDQogKi8NCg0Kc21hbGwgew0KICBmb250LXNpemU6IDgwJTsNCn0NCg0KLyoqDQogKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuDQogKi8NCg0Kc3ViLA0Kc3VwIHsNCiAgZm9udC1zaXplOiA3NSU7DQogIGxpbmUtaGVpZ2h0OiAwOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsNCn0NCg0Kc3VwIHsNCiAgdG9wOiAtMC41ZW07DQp9DQoNCnN1YiB7DQogIGJvdHRvbTogLTAuMjVlbTsNCn0NCg0KLyogRW1iZWRkZWQgY29udGVudA0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KLyoqDQogKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC4NCiAqLw0KDQppbWcgew0KICBib3JkZXI6IDA7DQp9DQoNCi8qKg0KICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuDQogKi8NCg0Kc3ZnOm5vdCg6cm9vdCkgew0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KDQovKiBHcm91cGluZyBjb250ZW50DQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQovKioNCiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLg0KICovDQoNCmZpZ3VyZSB7DQogIG1hcmdpbjogMWVtIDQwcHg7DQp9DQoNCi8qKg0KICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLg0KICovDQoNCmhyIHsNCiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsNCiAgYm94LXNpemluZzogY29udGVudC1ib3g7DQogIGhlaWdodDogMDsNCn0NCg0KLyoqDQogKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy4NCiAqLw0KDQpwcmUgew0KICBvdmVyZmxvdzogYXV0bzsNCn0NCg0KLyoqDQogKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuDQogKi8NCg0KY29kZSwNCmtiZCwNCnByZSwNCnNhbXAgew0KICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7DQogIGZvbnQtc2l6ZTogMWVtOw0KfQ0KDQovKiBGb3Jtcw0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KLyoqDQogKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZA0KICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0Lg0KICovDQoNCi8qKg0KICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLg0KICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuDQogKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLg0KICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuDQogKi8NCg0KYnV0dG9uLA0KaW5wdXQsDQpvcHRncm91cCwNCnNlbGVjdCwNCnRleHRhcmVhIHsNCiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi8NCiAgZm9udDogaW5oZXJpdDsgLyogMiAqLw0KICBtYXJnaW46IDA7IC8qIDMgKi8NCn0NCg0KLyoqDQogKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS4NCiAqLw0KDQpidXR0b24gew0KICBvdmVyZmxvdzogdmlzaWJsZTsNCn0NCg0KLyoqDQogKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuDQogKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLg0KICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS4NCiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC4NCiAqLw0KDQpidXR0b24sDQpzZWxlY3Qgew0KICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsNCn0NCg0KLyoqDQogKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYA0KICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuDQogKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuDQogKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZQ0KICogICAgYGlucHV0YCBhbmQgb3RoZXJzLg0KICovDQoNCmJ1dHRvbiwNCmh0bWwgaW5wdXRbdHlwZT0iYnV0dG9uIl0sIC8qIDEgKi8NCmlucHV0W3R5cGU9InJlc2V0Il0sDQppbnB1dFt0eXBlPSJzdWJtaXQiXSB7DQogIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovDQogIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqLw0KfQ0KDQovKioNCiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuDQogKi8NCg0KYnV0dG9uW2Rpc2FibGVkXSwNCmh0bWwgaW5wdXRbZGlzYWJsZWRdIHsNCiAgY3Vyc29yOiBkZWZhdWx0Ow0KfQ0KDQovKioNCiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky4NCiAqLw0KDQpidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsDQppbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7DQogIGJvcmRlcjogMDsNCiAgcGFkZGluZzogMDsNCn0NCg0KLyoqDQogKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluDQogKiB0aGUgVUEgc3R5bGVzaGVldC4NCiAqLw0KDQppbnB1dCB7DQogIGxpbmUtaGVpZ2h0OiBub3JtYWw7DQp9DQoNCi8qKg0KICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLg0KICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC4NCiAqDQogKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLg0KICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC4NCiAqLw0KDQppbnB1dFt0eXBlPSJjaGVja2JveCJdLA0KaW5wdXRbdHlwZT0icmFkaW8iXSB7DQogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi8NCiAgcGFkZGluZzogMDsgLyogMiAqLw0KfQ0KDQovKioNCiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluDQogKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZQ0KICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLg0KICovDQoNCmlucHV0W3R5cGU9Im51bWJlciJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLA0KaW5wdXRbdHlwZT0ibnVtYmVyIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24gew0KICBoZWlnaHQ6IGF1dG87DQp9DQoNCi8qKg0KICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuDQogKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lDQogKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS4NCiAqLw0KDQppbnB1dFt0eXBlPSJzZWFyY2giXSB7DQogIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovDQogIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7DQogIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi8NCiAgYm94LXNpemluZzogY29udGVudC1ib3g7DQp9DQoNCi8qKg0KICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguDQogKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzDQogKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuDQogKi8NCg0KaW5wdXRbdHlwZT0ic2VhcmNoIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sDQppbnB1dFt0eXBlPSJzZWFyY2giXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7DQogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsNCn0NCg0KLyoqDQogKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuDQogKi8NCg0KZmllbGRzZXQgew0KICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwOw0KICBtYXJnaW46IDAgMnB4Ow0KICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07DQp9DQoNCi8qKg0KICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLg0KICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLg0KICovDQoNCmxlZ2VuZCB7DQogIGJvcmRlcjogMDsgLyogMSAqLw0KICBwYWRkaW5nOiAwOyAvKiAyICovDQp9DQoNCi8qKg0KICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS4NCiAqLw0KDQp0ZXh0YXJlYSB7DQogIG92ZXJmbG93OiBhdXRvOw0KfQ0KDQovKioNCiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS4NCiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLg0KICovDQoNCm9wdGdyb3VwIHsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCi8qIFRhYmxlcw0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KLyoqDQogKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuDQogKi8NCg0KdGFibGUgew0KICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICBib3JkZXItc3BhY2luZzogMDsNCn0NCg0KdGQsDQp0aCB7DQogIHBhZGRpbmc6IDA7DQp9]]></data>
	</file>
	<file>
	  <filename>/templates/init/css_wiki</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[YS5uZXd7DQogICAgY29sb3I6ICM5MzAwMEMgIWltcG9ydGFudDsNCn0NCg0KYS5mb2xsb3d7DQogICAgY29sb3I6ICMwNTQ4ODI7DQp9DQp0ZXh0YXJlYS53aWtpYXJlYXsNCiAgICBoZWlnaHQ6IDUwMHB4Ow0KICAgIHJlc2l6ZTogdmVydGljYWw7DQp9DQpkaXYucGFuZWwubm8tbWFyZ2luew0KICAgIG1hcmdpbjogMDsNCn0NCmRpdi5wYW5lbC5oNTAwew0KICAgIG1pbi1oZWlnaHQ6NTAwcHg7DQp9DQp1bC5pbi1vZmYtYmFyew0KICAgIG1hcmdpbi10b3A6IDRweDsNCn0NCnVsLmluLW9mZi1iYXIgaW5wdXQuYnV0dG9uew0KICAgIG1hcmdpbjogMDsNCn0NCmJ1dHRvbi5pbi1vZmYtYmFyLCAuYnV0dG9uLmluLW9mZi1iYXJ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzNGM0YzRjsNCiAgICBib3JkZXItY29sb3I6ICMzMzMzMzM7DQogICAgY29sb3I6ICNmZmY7DQp9DQpidXR0b24uaW4tb2ZmLWJhci5kaXNhYmxlZCwgYnV0dG9uLmluLW9mZi1iYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmluLW9mZi1iYXIuZGlzYWJsZWQsIC5idXR0b24uaW4tb2ZmLWJhcltkaXNhYmxlZF0gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7DQogICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzOw0KICAgIGJveC1zaGFkb3c6IG5vbmU7DQogICAgY29sb3I6ICNDMkMyQzI7DQogICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgIG9wYWNpdHk6IDAuNzsNCn0NCmJ1dHRvbi5pbi1vZmYtYmFyOmhvdmVyLCBidXR0b24uaW4tb2ZmLWJhcjpmb2N1cywgLmJ1dHRvbi5pbi1vZmYtYmFyOmhvdmVyLCAuYnV0dG9uLmluLW9mZi1iYXI6Zm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM2MzYzNjM7DQp9DQpidXR0b24uaW4tb2ZmLWJhci5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmluLW9mZi1iYXIuZGlzYWJsZWQ6Zm9jdXMsIGJ1dHRvbi5pbi1vZmYtYmFyW2Rpc2FibGVkXTpob3ZlciwgYnV0dG9uLmluLW9mZi1iYXJbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmluLW9mZi1iYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaW4tb2ZmLWJhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5pbi1vZmYtYmFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5pbi1vZmYtYmFyW2Rpc2FibGVkXTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzNEM0QzRDsNCn0NCg0KbGkuc21hbGx7DQogICAgZm9udC1zaXplOiAwLjc1cmVtOw0KfQ0KDQouaWNvLWJhcnsNCiAgICBmb250LXNpemU6IDEuMmVtOw0KfQ0KDQouaWNvLXN1Y2Nlc3N7DQogICAgY29sb3I6IzQzQUM2QTsNCn0NCi5pY28td2FybmluZ3sNCiAgICBjb2xvcjojZjA4YTI0Ow0KfQ0KLmljby1pbmZvew0KICAgIGNvbG9yOiNhMGQzZTg7DQp9DQouaWNvLWFsZXJ0ew0KICAgIGNvbG9yOiNmMDQxMjQ7DQp9DQouaWNvLXNlY29uZGFyeXsNCiAgICBjb2xvcjojZTdlN2U3Ow0KfQ0KcHJlIGNvZGV7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIH0=]]></data>
	</file>
	<file>
	  <filename>/templates/init/tpl_wiki1col</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e3Byb2Nlc3NfcGFnZWRhdGF9e2NvbnRlbnQgYXNzaWduPSdjb250ZW50J308IWRvY3R5cGUgaHRtbD4NCjxodG1sIGNsYXNzPSJuby1qcyIgbGFuZz0iZW4iPg0KICA8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCIgLz4NCg0KICAgIDx0aXRsZT57U2l0ZW5hbWV9IHwge2lmIGlzc2V0KCR0aXRsZSl9eyR0aXRsZX17ZWxzZX17dGl0bGV9ey9pZn08L3RpdGxlPg0KICAgIHtjbXNfc3R5bGVzaGVldH0NCg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3tyb290X3VybH0vbW9kdWxlcy9XaWtpL3NjcmlwdHMvZmFuY3lib3gvanF1ZXJ5LmZhbmN5Ym94LmNzcz92PTIuMS41JyBtZWRpYT0nc2NyZWVuJyAvPg0KDQogICAgPHNjcmlwdCBzcmM9Intyb290X3VybH0vdXBsb2Fkcy9mb3VuZGF0aW9uL2pzL3ZlbmRvci9tb2Rlcm5penIuanMiPjwvc2NyaXB0Pg0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgIA0KICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgPGRpdiBjbGFzcz0ibGFyZ2UtMTIgY29sdW1ucyI+DQogICAgICAgIDxoMT57aWYgaXNzZXQoJHRpdGxlKX17JHRpdGxlfXtlbHNlfXt0aXRsZX17L2lmfTwvaDE+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICANCiAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImxhcmdlLTEyIGNvbHVtbnMiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9IiI+DQogICAgICAgICAgICB7JGNvbnRlbnR9DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPHNjcmlwdD53aW5kb3cualF1ZXJ5IHx8IGRvY3VtZW50LndyaXRlKCc8c2NyaXB0IHNyYz0ie3Jvb3RfdXJsfS91cGxvYWRzL2ZvdW5kYXRpb24vanMvdmVuZG9yL2pxdWVyeS5qcyI+PFwvc2NyaXB0PicpPC9zY3JpcHQ+DQogICAgPHNjcmlwdCBzcmM9Intyb290X3VybH0vdXBsb2Fkcy9mb3VuZGF0aW9uL2pzL2ZvdW5kYXRpb24ubWluLmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0ie3Jvb3RfdXJsfS91cGxvYWRzL2ZvdW5kYXRpb24vanMvZm91bmRhdGlvbi9mb3VuZGF0aW9uLmFiaWRlLmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0ie3Jvb3RfdXJsfS91cGxvYWRzL2ZvdW5kYXRpb24vanMvZm91bmRhdGlvbi9mb3VuZGF0aW9uLnRvcGJhci5qcyI+PC9zY3JpcHQ+DQogICAgPHNjcmlwdCBzcmM9Intyb290X3VybH0vdXBsb2Fkcy9mb3VuZGF0aW9uL2pzL2ZvdW5kYXRpb24vZm91bmRhdGlvbi5lcXVhbGl6ZXIuanMiPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSJ7cm9vdF91cmx9L3VwbG9hZHMvZm91bmRhdGlvbi9qcy9mb3VuZGF0aW9uL2ZvdW5kYXRpb24ub2ZmY2FudmFzLmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0ie3Jvb3RfdXJsfS91cGxvYWRzL2ZvdW5kYXRpb24vanMvZm91bmRhdGlvbi9mb3VuZGF0aW9uLnRvb2x0aXAuanMiPjwvc2NyaXB0Pg0KDQogICAgPCEtLSBBZGQgbW91c2V3aGVlbCBwbHVnaW4gKHRoaXMgaXMgb3B0aW9uYWwpIC0tPg0KICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J3tyb290X3VybH0vbW9kdWxlcy9XaWtpL3NjcmlwdHMvanF1ZXJ5L2pxdWVyeS5tb3VzZXdoZWVsLTMuMC42LnBhY2suanMnPjwvc2NyaXB0Pg0KDQogICAgPCEtLSBBZGQgZmFuY3lCb3ggbWFpbiBKUyBhbmQgQ1NTIGZpbGVzIC0tPg0KICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J3tyb290X3VybH0vbW9kdWxlcy9XaWtpL3NjcmlwdHMvZmFuY3lib3gvanF1ZXJ5LmZhbmN5Ym94LmpzP3Y9Mi4xLjUnPjwvc2NyaXB0Pg0KDQogICAgPHNjcmlwdD4NCiAgICAgICQoZG9jdW1lbnQpLmZvdW5kYXRpb24oKTsNCiAgICA8L3NjcmlwdD4NCntpZiBpc3NldCgkd2lraV9qcyl9eyR3aWtpX2pzfXsvaWZ9DQogIDwvYm9keT4NCjwvaHRtbD4=]]></data>
	</file>
	<file>
	  <filename>/templates/init/tpl_wiki2cols</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e3Byb2Nlc3NfcGFnZWRhdGF9e2NvbnRlbnQgYXNzaWduPSdjb250ZW50J308IWRvY3R5cGUgaHRtbD4NCjxodG1sIGNsYXNzPSJuby1qcyIgbGFuZz0iZW4iPg0KICA8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCIgLz4NCg0KICAgIDx0aXRsZT57U2l0ZW5hbWV9IHwge2lmIGlzc2V0KCR0aXRsZSl9eyR0aXRsZX17ZWxzZX17dGl0bGV9ey9pZn08L3RpdGxlPg0KICAgIHtjbXNfc3R5bGVzaGVldH0NCg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J3tyb290X3VybH0vbW9kdWxlcy9XaWtpL3NjcmlwdHMvZmFuY3lib3gvanF1ZXJ5LmZhbmN5Ym94LmNzcz92PTIuMS41JyBtZWRpYT0nc2NyZWVuJyAvPg0KDQogICAgPHNjcmlwdCBzcmM9Intyb290X3VybH0vdXBsb2Fkcy9mb3VuZGF0aW9uL2pzL3ZlbmRvci9tb2Rlcm5penIuanMiPjwvc2NyaXB0Pg0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgIA0KICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgPGRpdiBjbGFzcz0ibGFyZ2UtMTIgY29sdW1ucyI+DQogICAgICAgIDxoMT57aWYgaXNzZXQoJHRpdGxlKX17JHRpdGxlfXtlbHNlfXt0aXRsZX17L2lmfTwvaDE+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICANCiAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImxhcmdlLTggY29sdW1ucyI+DQogICAgICAgICAgPGRpdiBjbGFzcz0iIj4NCiAgICAgICAgICAgIHskY29udGVudH0NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9ImxhcmdlLTQgY29sdW1ucyI+DQoNCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbCI+DQogICAgICAgICAgICB7KlNvbWUgc3R1ZmYgKn0NCiAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDxzY3JpcHQ+d2luZG93LmpRdWVyeSB8fCBkb2N1bWVudC53cml0ZSgnPHNjcmlwdCBzcmM9Intyb290X3VybH0vdXBsb2Fkcy9mb3VuZGF0aW9uL2pzL3ZlbmRvci9qcXVlcnkuanMiPjxcL3NjcmlwdD4nKTwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSJ7cm9vdF91cmx9L3VwbG9hZHMvZm91bmRhdGlvbi9qcy9mb3VuZGF0aW9uLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgPHNjcmlwdCBzcmM9Intyb290X3VybH0vdXBsb2Fkcy9mb3VuZGF0aW9uL2pzL2ZvdW5kYXRpb24vZm91bmRhdGlvbi5hYmlkZS5qcyI+PC9zY3JpcHQ+DQogICAgPHNjcmlwdCBzcmM9Intyb290X3VybH0vdXBsb2Fkcy9mb3VuZGF0aW9uL2pzL2ZvdW5kYXRpb24vZm91bmRhdGlvbi50b3BiYXIuanMiPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSJ7cm9vdF91cmx9L3VwbG9hZHMvZm91bmRhdGlvbi9qcy9mb3VuZGF0aW9uL2ZvdW5kYXRpb24uZXF1YWxpemVyLmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0ie3Jvb3RfdXJsfS91cGxvYWRzL2ZvdW5kYXRpb24vanMvZm91bmRhdGlvbi9mb3VuZGF0aW9uLm9mZmNhbnZhcy5qcyI+PC9zY3JpcHQ+DQogICAgPHNjcmlwdCBzcmM9Intyb290X3VybH0vdXBsb2Fkcy9mb3VuZGF0aW9uL2pzL2ZvdW5kYXRpb24vZm91bmRhdGlvbi50b29sdGlwLmpzIj48L3NjcmlwdD4NCg0KICAgIDwhLS0gQWRkIG1vdXNld2hlZWwgcGx1Z2luICh0aGlzIGlzIG9wdGlvbmFsKSAtLT4NCiAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSd7cm9vdF91cmx9L21vZHVsZXMvV2lraS9zY3JpcHRzL2pxdWVyeS9qcXVlcnkubW91c2V3aGVlbC0zLjAuNi5wYWNrLmpzJz48L3NjcmlwdD4NCg0KICAgIDwhLS0gQWRkIGZhbmN5Qm94IG1haW4gSlMgYW5kIENTUyBmaWxlcyAtLT4NCiAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSd7cm9vdF91cmx9L21vZHVsZXMvV2lraS9zY3JpcHRzL2ZhbmN5Ym94L2pxdWVyeS5mYW5jeWJveC5qcz92PTIuMS41Jz48L3NjcmlwdD4NCg0KICAgIDxzY3JpcHQ+DQogICAgICAkKGRvY3VtZW50KS5mb3VuZGF0aW9uKCk7DQogICAgPC9zY3JpcHQ+DQp7aWYgaXNzZXQoJHdpa2lfanMpfXskd2lraV9qc317L2lmfQ0KICA8L2JvZHk+DQo8L2h0bWw+]]></data>
	</file>
	<file>
	  <filename>/templates/message.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0ncGFuZWwnPg0KCXtpZiAhZW1wdHkoJGVycm9ycyl9DQoJe2ZvcmVhY2ggJGVycm9ycyBhcyAkZXJyb3J9e2lmICFlbXB0eSgkZXJyb3IpfQ0KCTxkaXYgZGF0YS1hbGVydCBjbGFzcz0iYWxlcnQtYm94IHdhcm5pbmcgcmFkaXVzIj4NCgkgIHtpZiAhaXNfYXJyYXkoJGVycm9yKX17JG1vZC0+TGFuZygkZXJyb3IpfXsvaWZ9DQoJICB7aWYgaXNfYXJyYXkoJGVycm9yKX17JG1vZC0+TGFuZygkZXJyb3JbMF0sJGVycm9yWzFdKX17L2lmfQ0KCSAgPGEgaHJlZj0iIyIgY2xhc3M9ImNsb3NlIj4mdGltZXM7PC9hPg0KCTwvZGl2PnsvaWZ9ey9mb3JlYWNofQ0KCXsvaWZ9DQoNCg0KCXtpZiAhZW1wdHkoJG1lc3NhZ2VzKX0NCgl7Zm9yZWFjaCAkbWVzc2FnZXMgYXMgJG1lc3NhZ2V9e2lmICFlbXB0eSgkbWVzc2FnZSl9DQoJPGRpdiBkYXRhLWFsZXJ0IGNsYXNzPSJhbGVydC1ib3ggc3VjY2VzcyByYWRpdXMiPg0KCSAgeyRtb2QtPkxhbmcoJG1lc3NhZ2UpfQ0KCSAgPGEgaHJlZj0iIyIgY2xhc3M9ImNsb3NlIj4mdGltZXM7PC9hPg0KCTwvZGl2PnsvaWZ9ey9mb3JlYWNofQ0KCXsvaWZ9DQoNCgl7aWYgIWVtcHR5KCR1cmwpfTxwPjxhIGhyZWY9J3skdXJsfSc+Q29udGludWU8L2E+PC9wPnsvaWZ9DQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/previewPage.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQo8ZGl2IGNsYXNzPSJyb3ciPg0KCTxkaXYgY2xhc3M9ImxhcmdlLTEyIGNvbHVtbnMiPg0KCQk8aDE+eyR0aXRsZX0gLyB7JGFjdGlvbn08L2gxPg0KCTwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJyb3ciPg0KCTxkaXYgY2xhc3M9ImxhcmdlLTEyIGNvbHVtbnMiPg0KCQk8ZGl2IGNsYXNzPSJwYW5lbCI+DQoJCQk8ZGl2IGNsYXNzPSd3aWtpQ29udGVudCc+eyR2ZXJzaW9uLnRleHR9PC9kaXY+DQoJCTwvZGl2Pg0KCTwvZGl2Pg0KPC9kaXY+DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/rawCode.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHRleHRhcmVhIGNsYXNzPSd3aWtpYXJlYSB3aWtpYXJlYTQyMCcgcmVhZG9ubHk9J3JlYWRvbmx5Jz57JHZlcnNpb24udGV4dH08L3RleHRhcmVhPg0K]]></data>
	</file>
	<file>
	  <filename>/templates/setAccess.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogU2ltcGxlIEV4YW1wbGUgKn0NCg0Ke1dpa2kgYWN0aW9uPSJzZXRBY2Nlc3MiIGlzX3JlYWRhYmxlPVRSVUUgaXNfd3JpdGFibGU9RkFMU0UgaXNfZGVsZXRhYmxlPUZBTFNFfSANCg0KeyogRXhhbXBsZSB3aXRoIEZFVSAqfQ0KeyoNCntpZiAkY2N1c2VyLT5sb2dnZWRpbigpfQ0KICB7V2lraSBhY3Rpb249InNldEFjY2VzcyIgaXNfcmVhZGFibGU9VFJVRSBpc193cml0YWJsZT1UUlVFIGlzX2RlbGV0YWJsZT1UUlVFIGF1dGhvcl9uYW1lPWNjVXNlcjo6cHJvcGVydHkoJ3BzZXVkbycpIGF1dGhvcl9pZD0kY2N1c2VyLT5sb2dnZWRpbigpIH0NCntlbHNlfQ0KICB7V2lraSBhY3Rpb249InNldEFjY2VzcyIgaXNfcmVhZGFibGU9RkFMU0V9DQp7L2lmfQ0KKn0=]]></data>
	</file>
	<file>
	  <filename>/templates/sitemap.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQo8ZGl2IGNsYXNzPSJvZmYtY2FudmFzLXdyYXAiIGRhdGEtb2ZmY2FudmFzPg0KPGRpdiBjbGFzcz0iaW5uZXItd3JhcCI+DQoNCjxuYXYgY2xhc3M9InRhYi1iYXIiPg0KDQoJPHNlY3Rpb24gY2xhc3M9Im1pZGRsZSB0YWItYmFyLXNlY3Rpb24iPiANCgkJDQoJCTxkaXYgY2xhc3M9InJpZ2h0Ij4NCg0KCQkJPHNwYW4gZGF0YS10b29sdGlwIGFyaWEtaGFzcG9wdXA9InRydWUiIGNsYXNzPSJoYXMtdGlwIiB0aXRsZT0iR28gYmFjayBob21lIj4NCgkJCQk8YSBocmVmPSd7JHJvb3Rfd2lraV91cmx9Jz48aSBjbGFzcz0iZmktaG9tZSBpY28tYmFyIGljby1zZWNvbmRhcnkiPjwvaT48L2E+PC9zcGFuPg0KCQkJPHNwYW4gZGF0YS10b29sdGlwIGFyaWEtaGFzcG9wdXA9InRydWUiIGNsYXNzPSJoYXMtdGlwIiB0aXRsZT0iU2VlIHRoZSBzaXRlbWFwIG9mIHRoZSB3aWtpLiI+DQoJCQkJPGEgaHJlZj0neyRyb290X3dpa2lfdXJsfS9zaXRlbWFwJz48aSBjbGFzcz0iZmktbWFwIGljby1iYXIgaWNvLXNlY29uZGFyeSI+PC9pPjwvYT48L3NwYW4+DQoJCQkNCgkJPC9kaXY+DQoNCgk8L3NlY3Rpb24+DQo8L25hdj4NCg0KDQoNCjxzZWN0aW9uIGNsYXNzPSJtYWluLXNlY3Rpb24iPg0KDQo8ZGl2IGNsYXNzPSdwYW5lbCBuby1tYXJnaW4nPg0KDQoJe2Z1bmN0aW9uIG5hbWU9c2l0ZW1hcH0NCgkJe2lmICFlbXB0eSgkZGF0YSl9DQoJCQk8dWw+DQoJCXsvaWZ9DQoNCgkJe2ZvcmVhY2ggJGRhdGEgYXMgJGtleSA9PiAkdmFsdWV9DQoJCQk8bGk+PGEgaHJlZj0neyR2YWx1ZS51cmx9JyBjbGFzcz0neyR2YWx1ZS5jc3N9Jz57JHZhbHVlLmxhYmVsfTwvYT4NCgkJCQ0KCQkJe2lmICFlbXB0eSgkdmFsdWUuY2hpbGRyZW4pfQkNCgkJCQl7c2l0ZW1hcCBkYXRhPSR2YWx1ZS5jaGlsZHJlbn0NCgkJCXsvaWZ9DQoNCgkJCTwvbGk+DQoJCXsvZm9yZWFjaH0NCg0KCQl7aWYgIWVtcHR5KCRkYXRhKX0NCgkJCTwvdWw+DQoJCXsvaWZ9DQoJey9mdW5jdGlvbn0NCgkNCgl7c2l0ZW1hcCBkYXRhPSRzaXRlbWFwfQ0KDQo8L2Rpdj4NCg0KIDwvc2VjdGlvbj4gPGEgY2xhc3M9ImV4aXQtb2ZmLWNhbnZhcyI+PC9hPiA8L2Rpdj4gPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/viewPage.js.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KCS8vPCFbQ0RBVEFbDQoNCgkgIHZhciB0aW1lb3V0SUQ7DQoJICB2YXIgbGFiZWw7DQoJICB2YXIgY250ID0gNDsNCgkgIHZhciBmaWVsZFByZSA9ICcuZGVsZXRlUHJlJzsNCgkgIHZhciBmaWVsZFBvc3QgPSAnLmRlbGV0ZVBvc3QnOw0KDQoJICB2YXIgdXJsID0gInskcmF3fHVuZXNjYXBlOidodG1sYWxsJ30mc2hvd3RlbXBsYXRlPWZhbHNlIjsNCgkgIHZhciB1cmxfZWRpdCA9ICJ7JGVkaXR8cmVwbGFjZTonJmFtcDsnOicmJ30iOw0KCSAgdmFyIHVybF9nb0xhc3QgPSAieyRnb0xhc3R8cmVwbGFjZTonJmFtcDsnOicmJ30iOw0KCSAgdmFyIHVybF9kZWZhdWx0TGFuZ0Nhbm9uaWNhbCA9ICJ7JGRlZmF1bHRMYW5nQ2Fub25pY2FsfHJlcGxhY2U6JyZhbXA7JzonJid9IjsNCgkgIHZhciB1cmxfZGVsZXRlID0gInskZGVsZXRlfHJlcGxhY2U6JyZhbXA7JzonJid9IjsNCgkgIA0KCSAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgew0KCQkgICQoImlucHV0LnJhdyIpLmNsaWNrKGZ1bmN0aW9uICgpIHsgDQoJCQkJcXVlcnkgPSAiIjsNCg0KCQkJCSQucG9zdCggdXJsLCBxdWVyeSkuZG9uZShmdW5jdGlvbiggZGF0YSApIHsNCgkJCQkJJCgiI3Jhd19yZXN1bHQiKS5odG1sKGRhdGEpOw0KCQkJCQkJCQkJDQoJCQkJCSQuZmFuY3lib3gub3Blbih7DQoJCQkJCQlocmVmIDogJyNyYXdfcmVzdWx0JywgdGl0bGUgOiAnUmF3IENvZGUnLCBhdXRvU2l6ZSA6IGZhbHNlDQoJCQkJCX0pOw0KCQkJCX0pOw0KCQkJfSk7DQoJCQkNCgkJCSQoJy5lZGl0JykuY2xpY2soZnVuY3Rpb24gKCkgeyANCgkJCQlsb2NhdGlvbi5ocmVmID0gdXJsX2VkaXQ7DQoJCQl9KTsNCg0KCQkJJCgnLmdvTGFzdCcpLmNsaWNrKGZ1bmN0aW9uICgpIHsgDQoJCQkJbG9jYXRpb24uaHJlZiA9IHVybF9nb0xhc3Q7DQoJCQl9KTsNCgkJCQ0KCQkJJCgnLmdvTGFzdERlZmF1bHRMYW5nJykuY2xpY2soZnVuY3Rpb24gKCkgeyANCgkJCQlsb2NhdGlvbi5ocmVmID0gdXJsX2RlZmF1bHRMYW5nQ2Fub25pY2FsOw0KCQkJfSk7DQoJCQkNCg0KCQkJJChmaWVsZFBvc3QpLmNsaWNrKGZ1bmN0aW9uICgpIHsgDQoJCQkJbG9jYXRpb24uaHJlZiA9IHVybF9kZWxldGU7DQoJCQl9KTsNCgkJCQ0KCQkJDQoJCQkkKGZpZWxkUG9zdCkuaGlkZSgpOwkNCgkJCS8vQWxsIGJ1dCBmaWVsZFByZQ0KCQkJJChkb2N1bWVudCkuYmluZCgnY2xpY2snLCBmdW5jdGlvbiAoZSkgew0KCQkJCXdpbmRvdy5jbGVhclRpbWVvdXQodGltZW91dElEKTsNCgkJCQkkKGZpZWxkUHJlKS5zaG93KCk7DQoJCQkJJChmaWVsZFBvc3QpLmhpZGUoKTsNCgkJCQkkKGZpZWxkUG9zdCkuYXR0cignZGlzYWJsZWQnLCdkaXNhYmxlZCcpOw0KCQkJCWlmKGxhYmVsPT1udWxsKXsNCgkJCQkJbGFiZWwgPSAkKGZpZWxkUG9zdCkudmFsKCk7DQoJCQkJfQ0KCQkJCSQoZmllbGRQb3N0KS52YWwobGFiZWwpOw0KCQkJCWNudD00Ow0KCQkJfSk7DQoNCgkJCSQoZmllbGRQcmUpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24oZSkgew0KCQkJCWUuc3RvcFByb3BhZ2F0aW9uKCk7DQoJCQkJJChmaWVsZFByZSkuaGlkZSgpOw0KCQkJCSQoZmllbGRQb3N0KS5zaG93KCkuYXR0cignZGlzYWJsZWQnLCdkaXNhYmxlZCcpOw0KCQkJCWNvdW50KGZpZWxkUG9zdCk7DQoJCQkJDQoJCQl9KTsNCgkJfSk7DQoJCQ0KCQlmdW5jdGlvbiBjb3VudChmaWVsZElkKSB7DQoJCSAgaWYobGFiZWw9PW51bGwpew0KCQkJbGFiZWwgPSAkKGZpZWxkSWQpLnZhbCgpOw0KCQkgIH0NCgkJICBpZihjbnQgPD0gMCl7DQoJCQkgICQoZmllbGRJZCkudmFsKGxhYmVsKTsNCgkJCSAgJChmaWVsZElkKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpOw0KCQkgIH0gZWxzZSB7DQoJCQkgICQoZmllbGRJZCkudmFsKGxhYmVsICsgIiAiICsgKGNudCkgKyAicyIpOw0KCQkJICBjbnQtLTsNCgkJCSAgdGltZW91dElEID0gd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQoJCQkgIAljb3VudChmaWVsZElkKTsNCgkJCSAgCX0sIDEwMDApOw0KCQkgIH0NCgkJfQ0KDQoJCQ0KCS8vIF1dPg0KCTwvc2NyaXB0Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/viewPage.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICFlbXB0eSgkYnJlYWRjcnVtYnMpfTx1bCBjbGFzcz0iYnJlYWRjcnVtYnMiPg0Ke2ZvcmVhY2ggJGJyZWFkY3J1bWJzIGFzICRicmVhZH0NCgkgPGxpIHtpZiAkYnJlYWRAbGFzdH1jbGFzcz0nY3VycmVudCd7L2lmfT48YSBocmVmPSJ7JGJyZWFkLnVybH0iIHtpZiAhZW1wdHkoJGJyZWFkLmNsYXNzKX1jbGFzcz0neyRicmVhZC5jbGFzc30ney9pZn0ge2lmICFlbXB0eSgkYnJlYWQudGl0bGUpfXRpdGxlPSd7JGJyZWFkLnRpdGxlfSd7L2lmfT57JGJyZWFkLm5hbWV9PC9hPjwvbGk+DQp7L2ZvcmVhY2h9PC91bD4NCnsvaWZ9DQoNCjxkaXYgY2xhc3M9Im9mZi1jYW52YXMtd3JhcCIgZGF0YS1vZmZjYW52YXM+DQo8ZGl2IGNsYXNzPSJpbm5lci13cmFwIj4NCg0KPG5hdiBjbGFzcz0idGFiLWJhciI+DQoNCgk8c2VjdGlvbiBjbGFzcz0ibGVmdC1zbWFsbCI+DQoJCTxhIGNsYXNzPSJsZWZ0LW9mZi1jYW52YXMtdG9nZ2xlIG1lbnUtaWNvbiIgPjxzcGFuPjwvc3Bhbj48L2E+DQoJPC9zZWN0aW9uPiANCg0KCTxzZWN0aW9uIGNsYXNzPSJtaWRkbGUgdGFiLWJhci1zZWN0aW9uIj4gDQoJCQ0KCQkNCgk8ZGl2IGNsYXNzPSJyaWdodCI+DQoJe2lmICR2ZXJzaW9uLnN0YXR1cyE9MX0NCgkJPHNwYW4gZGF0YS10b29sdGlwIGFyaWEtaGFzcG9wdXA9InRydWUiIGNsYXNzPSJoYXMtdGlwIiB0aXRsZT0iVGhlIHBhZ2UgaXMgYW4gb2xkIHZlcnNpb24uIFNlZSB0aGUgbGFzdCB2ZXJzaW9uIG9mIHRoaXMgcGFnZSI+DQoJCQk8aSBjbGFzcz0iZmktY2xvY2sgaWNvLWJhciBpY28td2FybmluZyBnb0xhc3QiPjwvaT48L3NwYW4+DQoJe2Vsc2VpZiAhJGlzVXBUb0RhdGV9DQoJCTxzcGFuIGRhdGEtdG9vbHRpcCBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBjbGFzcz0iaGFzLXRpcCIgdGl0bGU9IlRoZSBwYWdlIGlzIGEgdHJhbnNsYXRpb24gYW5kIG1heSBiZSBvdXRkYXRlZC4gU2VlIHRoZSBvcmlnaW5hbCBoZXJlIj4NCgkJCTxpIGNsYXNzPSJmaS1jb21tZW50cyBpY28tYmFyIGljby1hbGVydCBnb0xhc3REZWZhdWx0TGFuZyI+PC9pPjwvc3Bhbj4NCgl7ZWxzZWlmICEkaXNEZWZhdWx0TGFuZ30NCgkJPHNwYW4gZGF0YS10b29sdGlwIGFyaWEtaGFzcG9wdXA9InRydWUiIGNsYXNzPSJoYXMtdGlwIiB0aXRsZT0iVGhlIHBhZ2UgaXMgYSB0cmFuc2xhdGlvbi4gU2VlIHRoZSBvcmlnaW5hbCBoZXJlLiI+DQoJCQk8aSBjbGFzcz0iZmktY29tbWVudCBpY28tYmFyIGljby1zdWNjZXNzIGdvTGFzdERlZmF1bHRMYW5nIj48L2k+PC9zcGFuPg0KCXtlbHNlfQ0KCQk8c3BhbiBkYXRhLXRvb2x0aXAgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgY2xhc3M9Imhhcy10aXAiIHRpdGxlPSJZb3UncmUgbG9va2luZyB0aGUgbGFzdCB2ZXJzaW9uLiI+DQoJCQk8aSBjbGFzcz0iZmktY2hlY2sgaWNvLWJhciBpY28tc3VjY2VzcyI+PC9pPjwvc3Bhbj4NCgl7L2lmfQ0KCQk8c3BhbiBkYXRhLXRvb2x0aXAgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgY2xhc3M9Imhhcy10aXAiIHRpdGxlPSJHbyBiYWNrIGhvbWUiPg0KCQkJPGEgaHJlZj0neyRyb290X3dpa2lfdXJsfSc+PGkgY2xhc3M9ImZpLWhvbWUgaWNvLWJhciBpY28tc2Vjb25kYXJ5Ij48L2k+PC9hPjwvc3Bhbj4NCgkJPHNwYW4gZGF0YS10b29sdGlwIGFyaWEtaGFzcG9wdXA9InRydWUiIGNsYXNzPSJoYXMtdGlwIiB0aXRsZT0iU2VlIHRoZSBzaXRlbWFwIG9mIHRoZSB3aWtpLiI+DQoJCQk8YSBocmVmPSd7JHJvb3Rfd2lraV91cmx9L3NpdGVtYXAnPjxpIGNsYXNzPSJmaS1tYXAgaWNvLWJhciBpY28tc2Vjb25kYXJ5Ij48L2k+PC9hPjwvc3Bhbj4NCgkJDQoJPC9kaXY+DQo8IS0tIAkuZmktcmVzdWx0cw0KCS5maS10aHVtYm5haWxzDQoJLmZpLW1hcA0KCS5maS1saXN0LWJ1bGxldA0KCS5maS1mb3VuZGF0aW9uDQoNCgkuZmktYXJyb3dzLWluDQoJLmZpLWFycm93cy1vdXQgLS0+DQoNCgk8dWwgY2xhc3M9ImJ1dHRvbi1ncm91cCBpbi1vZmYtYmFyIj4NCgkJPGxpPjxpbnB1dCBjbGFzcz0ndGlueSBidXR0b24gaW4tb2ZmLWJhciByYXcnIHR5cGU9J2J1dHRvbicgdmFsdWU9J1Nob3cgUmF3IENvZGUnPjwvbGk+DQoJCXtpZiAkd2lraV9hY2Nlc3MuaXNfd3JpdGFibGV9DQoJCTxsaT48aW5wdXQgY2xhc3M9J3RpbnkgYnV0dG9uIGluLW9mZi1iYXIgZWRpdCcgdHlwZT0nYnV0dG9uJyB2YWx1ZT0nRWRpdCd7aWYgJHZlcnNpb24uc3RhdHVzIT0xfSBkaXNhYmxlZD0nZGlzYWJsZWQnIHRpdGxlPSd5b3UgY2FuIG5vdCBlZGl0IGFuIG9sZCB2ZXJzaW9uJ3svaWZ9PjwvbGk+DQoJCXsvaWZ9DQoJCXtpZiAkd2lraV9hY2Nlc3MuaXNfZGVsZXRhYmxlfQ0KCQk8bGk+PGlucHV0IGNsYXNzPSd0aW55IGJ1dHRvbiBpbi1vZmYtYmFyIGRlbGV0ZVByZScgdHlwZT0nYnV0dG9uJyB2YWx1ZT0nRGVsZXRlJ3tpZiAkdmVyc2lvbi5zdGF0dXMhPTF9IGRpc2FibGVkPSdkaXNhYmxlZCcgdGl0bGU9J3lvdSBjYW4gbm90IGRlbGV0ZSBhbiBvbGQgdmVyc2lvbid7ZWxzZWlmICRpc0RlZmF1bHRQYWdlfSBkaXNhYmxlZD0nZGlzYWJsZWQnIHRpdGxlPSd5b3UgY2FuIG5vdCBkZWxldGUgdGhlIGRlZmF1bHQgcGFnZSd7L2lmfT48L2xpPg0KCQk8bGk+PGlucHV0IGNsYXNzPSd0aW55IGJ1dHRvbiBpbi1vZmYtYmFyIGRlbGV0ZVBvc3QgYWxlcnQnIHR5cGU9J2J1dHRvbicgdmFsdWU9J0RlbGV0ZSAoQXJlIFlvdSBTdXJlPyknPjwvbGk+DQoJCXsvaWZ9DQoJPC91bD4JDQoNCgk8L3NlY3Rpb24+DQoNCg0KCQ0KCTxzZWN0aW9uIGNsYXNzPSJyaWdodC1zbWFsbCI+DQoJCTxhIGNsYXNzPSJyaWdodC1vZmYtY2FudmFzLXRvZ2dsZSBtZW51LWljb24iID48c3Bhbj48L3NwYW4+PC9hPg0KCTwvc2VjdGlvbj4NCjwvbmF2Pg0KPGFzaWRlIGNsYXNzPSJsZWZ0LW9mZi1jYW52YXMtbWVudSI+DQoJPHVsIGNsYXNzPSJvZmYtY2FudmFzLWxpc3QiPg0KCQk8bGk+PGxhYmVsPk1lbnU8L2xhYmVsPjwvbGk+DQoJDQoJCXtmb3JlYWNoICR3aWtpX21lbnUgYXMgJGVsdH0NCgkJCTxsaT48YSBocmVmPSJ7JGVsdC52aWV3VXJsfSIge2lmICFlbXB0eSgkZWx0LmNsYXNzKX1jbGFzcz0neyRlbHQuY2xhc3N9J3svaWZ9PnskZWx0LmxhYmVsfGNhcGl0YWxpemV9PC9hPjwvbGk+DQoJCXtmb3JlYWNoZWxzZX0NCgkJCTxsaT5UaGVyZSBpcyBubyBlbnRyeSBpbiB0aGlzIHdpa2k8L2xpPg0KCQl7L2ZvcmVhY2h9DQoJCTxsaT48bGFiZWw+U2libGluZ3MgRW50cmllczwvbGFiZWw+PC9saT4NCgkNCgkJe2ZvcmVhY2ggJHdpa2lfbWVudV9zaWJsaW5ncyBhcyAkZWx0fQ0KCQkJPGxpPjxhIGhyZWY9InskZWx0LnZpZXdVcmx9IiB7aWYgIWVtcHR5KCRlbHQuY2xhc3MpfWNsYXNzPSd7JGVsdC5jbGFzc30ney9pZn0+eyRlbHQubGFiZWx8Y2FwaXRhbGl6ZX08L2E+PC9saT4NCgkJe2ZvcmVhY2hlbHNlfQ0KCQkJeyo8bGk+VGhlcmUgaXMgbm8gc2libGluZ3MgZW50cnkgaW4gdGhpcyB3aWtpPC9saT4qfQ0KCQl7L2ZvcmVhY2h9DQoJPC91bD4NCjwvYXNpZGU+DQo8YXNpZGUgY2xhc3M9InJpZ2h0LW9mZi1jYW52YXMtbWVudSI+DQoJPHVsIGNsYXNzPSJvZmYtY2FudmFzLWxpc3QiPg0Ke2lmICRzaG93TGFuZ3N9DQoJCTxsaT48bGFiZWw+TGFuZzwvbGFiZWw+PC9saT4NCgkJDQoJCXtmb3JlYWNoICRvdGhlcl9sYW5ncyBhcyAkZWx0fQ0KCQkJPGxpPjxhIGhyZWY9InskZWx0LnZpZXdVcmx9IiB7aWYgIWVtcHR5KCRlbHQuY2xhc3MpfWNsYXNzPSd7JGVsdC5jbGFzc30ney9pZn0+eyRlbHQubGFiZWx8Y2FwaXRhbGl6ZX08L2E+PC9saT4NCgkJey9mb3JlYWNofQ0Key9pZn0JCQ0KCQk8bGk+PGxhYmVsPlJldmlzaW9uczwvbGFiZWw+PC9saT4NCgkJDQoJCXtmb3JlYWNoICRvbGRSZXZpc2lvbnMgYXMgJGVsdH0NCgkJCTxsaSBjbGFzcz0nc21hbGwnPjxhIGhyZWY9InskZWx0LnZpZXdVcmx9Ij57aWYgJGVsdC52ZXJzaW9uX2lkPT0kdmVyc2lvbi52ZXJzaW9uX2lkfSZyYXF1bzsgey9pZn1UaGUgPGI+eyRlbHQuZHRfY3JlYXRpb258Y21zX2RhdGVfZm9ybWF0fHV0ZjhfZW5jb2RlfTwvYj4gYnkgPGI+eyRlbHQuYXV0aG9yX25hbWV9PC9iPiA8L2E+PC9saT4NCgkJey9mb3JlYWNofSANCgkJDQoJPC91bD4NCjwvYXNpZGU+IA0KDQoNCg0KPHNlY3Rpb24gY2xhc3M9Im1haW4tc2VjdGlvbiI+DQoNCjxkaXYgY2xhc3M9J3BhbmVsIG5vLW1hcmdpbiBoNTAwJz4NCgl7aWYgIWVtcHR5KCRzdWJfZW50cmllcyl9DQoJPGRsIGNsYXNzPSJzdWItbmF2Ij4NCgkJPGR0PlN1YiBwYWdlOjwvZHQ+DQoJCQ0KCQl7Zm9yZWFjaCAkc3ViX2VudHJpZXMgYXMgJGVsdH0NCgkJCTxkZD48YSBocmVmPSJ7JGVsdC52aWV3VXJsfSIge2lmICFlbXB0eSgkZWx0LmNsYXNzKX1jbGFzcz0neyRlbHQuY2xhc3N9J3svaWZ9PnskZWx0LmxhYmVsfGNhcGl0YWxpemV9PC9hPjwvZGQ+DQoJCXsvZm9yZWFjaH0NCgk8L2RsPg0KCXsvaWZ9DQoNCgl7aWYgIWVtcHR5KCRlcnJvcnMpfQ0KCXtmb3JlYWNoICRlcnJvcnMgYXMgJGVycm9yfXtpZiAhZW1wdHkoJGVycm9yKX0NCgk8ZGl2IGRhdGEtYWxlcnQgY2xhc3M9ImFsZXJ0LWJveCB3YXJuaW5nIHJhZGl1cyI+DQoJICB7JG1vZC0+TGFuZygkZXJyb3IpfQ0KCSAgPGEgaHJlZj0iIyIgY2xhc3M9ImNsb3NlIj4mdGltZXM7PC9hPg0KCTwvZGl2PnsvaWZ9ey9mb3JlYWNofQ0KCXsvaWZ9DQoNCgk8ZGl2IGNsYXNzPSdmYW5jeWJveCcgaWQ9J3Jhd19yZXN1bHQnPjwvZGl2Pg0KCTxkaXYgY2xhc3M9J3dpa2lDb250ZW50Jz57JHZlcnNpb24udGV4dH08L2Rpdj4NCgk8ZGl2PjxzbWFsbD4NCgkJTGFzdCBlZGl0aW9uIA0KCQkJe2lmICFlbXB0eSgkdmVyc2lvbi5hdXRob3JfbmFtZSl9YnkgPGI+PHNwYW4gdGl0bGU9IntpZiAhZW1wdHkoJHZlcnNpb24uYXV0aG9yX2lkKX0jeyR2ZXJzaW9uLmF1dGhvcl9pZH0gOiB7L2lmfXskdmVyc2lvbi5hdXRob3JfbmFtZX0iPnskdmVyc2lvbi5hdXRob3JfbmFtZX08L3NwYW4+PC9iPnsvaWZ9DQoJCQl0aGUgPGI+eyR2ZXJzaW9uLmR0X2NyZWF0aW9ufGNtc19kYXRlX2Zvcm1hdH08L2I+DQoJCTwvc21hbGw+PC9kaXY+DQoNCjwvZGl2Pg0KDQoNCg0KDQogPC9zZWN0aW9uPiA8YSBjbGFzcz0iZXhpdC1vZmYtY2FudmFzIj48L2E+IDwvZGl2PiA8L2Rpdj4NCg==]]></data>
	</file>
	<file>
	  <filename>/Wiki.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KDQpjbGFzcyBXaWtpIGV4dGVuZHMgT3JtIHsgICANCg0KCWZ1bmN0aW9uIEdldE5hbWUoKSB7IHJldHVybiAnV2lraSc7IH0NCglmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7IHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7IH0NCglmdW5jdGlvbiBHZXRWZXJzaW9uKCkgeyByZXR1cm4gJzEuMC4wJzsgfQ0KCWZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsgcmV0dXJuIGFycmF5KCdPcm0nPT4nMC4zLjMnLCAnUGFyc2VyJz0+JzEuMC4wJyk7IH0NCglmdW5jdGlvbiBHZXRIZWxwKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsgfQ0KCWZ1bmN0aW9uIEdldEF1dGhvcigpIHsgcmV0dXJuICdLZXZpbiBEYW5lemlzIChha2EgQmVzcyknOyB9DQoJZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7IHJldHVybiAnY29udGFjdCBhdCBmdXJpZSBwb2ludCBiZSc7IH0NCglmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKSB7IHJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7IH0NCglmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7IH0NCglmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsgcmV0dXJuICIxLjExLjAiOyB9DQoJZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKSB7IHJldHVybiB0cnVlOyB9DQoJZnVuY3Rpb24gSGFzQWRtaW4oKSB7IHJldHVybiB0cnVlOyB9DQoJZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgeyByZXR1cm4gJ2NvbnRlbnQnOyB9DQoJDQogIAlmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7IHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgV2lraScpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FkdmFuY2UgTWFuYWdlIFdpa2knKTsgfQ0KICAJZnVuY3Rpb24gX1Zpc2libGVUb1VzZXIoKSB7IHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgV2lraScpOyB9DQogIAlmdW5jdGlvbiBfVmlzaWJsZVRvQWRtaW4oKSB7IHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZHZhbmNlIE1hbmFnZSBXaWtpJyk7IH0NCg0KCWZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpIHsNCgkJJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKHRydWUsIGZhbHNlKTsNCgkJJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOw0KCQkNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Z0aXRsZScsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Z0ZXh0JyxDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndmxhbmcnLENMRUFOX1NUUklORyk7DQoNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhbGlhcycsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BwcmVmaXgnLENMRUFOX1NUUklORyk7DQoJCQ0KCQkvL3NhdmUNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NhdmUnLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd2ZXJzaW9uX2lkJyxDTEVBTl9JTlQpOyAvLyByYXcgYWN0aW9uDQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd3ZXJyb3JzJyxDTEVBTl9OT05FKTsNCg0KDQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpc19yZWFkYWJsZScsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lzX3dyaXRhYmxlJyxDTEVBTl9TVFJJTkcpOyANCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lzX2RlbGV0YWJsZScsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2F1dGhvcl9uYW1lJyxDTEVBTl9TVFJJTkcpOyANCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2F1dGhvcl9pZCcsQ0xFQU5fU1RSSU5HKTsNCgkJDQoJfQ0KDQoJZnVuY3Rpb24gSW5pdGlhbGl6ZUFkbWluKCkgew0KCSAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpc19yZWFkYWJsZScsJ2ZhbHNlJywkdGhpcy0+TGFuZygnaGVscF9pc19yZWFkYWJsZScpLCB0cnVlKTsNCgkgICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaXNfd3JpdGFibGUnLCdmYWxzZScsJHRoaXMtPkxhbmcoJ2hlbHBfaXNfd3JpdGFibGUnKSwgdHJ1ZSk7DQoJICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2lzX2RlbGV0YWJsZScsJ2ZhbHNlJywkdGhpcy0+TGFuZygnaGVscF9pc19kZWxldGFibGUnKSwgdHJ1ZSk7DQoJICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2F1dGhvcl9uYW1lJywnJywkdGhpcy0+TGFuZygnaGVscF9hdXRob3JfbmFtZScpLCB0cnVlKTsNCgkgICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYXV0aG9yX2lkJywnJywkdGhpcy0+TGFuZygnaGVscF9hdXRob3JfaWQnKSwgdHJ1ZSk7DQoJfQ0KCWZ1bmN0aW9uIEFsbG93U21hcnR5Q2FjaGluZygpIHsgcmV0dXJuIHRydWU7IH0NCglmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgeyByZXR1cm4gZmFsc2U7IH0NCglmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkgeyByZXR1cm4gZmFsc2U7IH0NCglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsgfQ0KCWZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsgfQ0KCWZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOyB9DQoJZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkbXNnKSB7IGVjaG8gIjxoMz4iLiRtc2cuIjwvaDM+IjsgfSAgDQoJDQoJcHVibGljIGZ1bmN0aW9uIENyZWF0ZVN0YXRpY1JvdXRlcygpIHsNCgkJDQoJCSRwYWdlID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKS0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJHRoaXMtPl9nZXRDbXNQYWdlKCkpOw0KCQlpZigkcGFnZSA9PSBudWxsKSB7DQoJCQkkcmV0dXJuaWQgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXREZWZhdWx0Q29udGVudCgpOw0KCQl9IGVsc2Ugew0KCQkJJHJldHVybmlkID0gJHBhZ2UtPklkKCk7DQoJCX0NCgkJY21zX3JvdXRlX21hbmFnZXI6OmRlbF9zdGF0aWMoJycsJHRoaXMtPkdldE5hbWUoKSk7DQoNCgkJJG1pID0gJHRoaXMtPl9nZXRNdWx0aUluc3RhbmNlcygpOw0KCQkkcHJlZml4ID0gJHRoaXMtPl9nZXREZWZhdWx0UHJlZml4KCk7DQoJCWlmKCRtaSl7DQoJCQkkcGF0dGVybiA9ICcoLikqJy4kcHJlZml4Ow0KCQl9IGVsc2Ugew0KCQkJJHBhdHRlcm4gPSAkcHJlZml4Ow0KCQl9DQoJCSRsYW5nID0gbnVsbDsNCgkJaWYoJHRoaXMtPl9nZXRTaG93Q29kZUlzbygpKXsNCiAJCQkkbGFuZyA9ICcoP1A8dmxhbmc+W1x3XGRcLV0qKSc7DQoJCX0gDQoNCgkJJHByZWZpeCA9ICcoP1A8cHByZWZpeD4nLiRwYXR0ZXJuLicpJzsNCgkJJGFsaWFzID0gJyg/UDxwYWxpYXM+W1x3XGRcLVw6XSopJzsvLyg/UDxwYWxpYXM+W1x3XGRcLV0qKD9zKV4oKD8hc2l0ZW1hcCkuKSopDQoJCSR2ZXJzaW9uID0gJyg/UDx2ZXJzaW9uX2lkPlswLTldKyknOw0KCQkkc2l0ZW1hcCA9ICdbc1NdaXRlbWFwJzsNCg0KCQkvL1dpdGggbm90aGluZw0KCQkkcm91dGUgPSAkdGhpcy0+X2dlbmVyYXRlUm91dGUoJHByZWZpeCk7DQoJCSR0aGlzLT5fYWRkX3N0YXRpYygkcm91dGUsIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcsJ3JldHVybmlkJz0+JHJldHVybmlkKSk7DQoJCQkJDQoJCWlmKCR0aGlzLT5fZ2V0U2hvd0NvZGVJc28oKSl7DQoJCQkvL1dpdGggTGFuZw0KCQkJJHJvdXRlID0gJHRoaXMtPl9nZW5lcmF0ZVJvdXRlKCRwcmVmaXgsICRsYW5nKTsNCgkJCSR0aGlzLT5fYWRkX3N0YXRpYygkcm91dGUsIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcsJ3JldHVybmlkJz0+JHJldHVybmlkLCAncGFsaWFzJyA9PiAnaG9tZScpKTsNCgkJfQ0KCQkvL1dpdGggTGFuZyAmIGFsaWFzDQoJCSRyb3V0ZSA9ICR0aGlzLT5fZ2VuZXJhdGVSb3V0ZSgkcHJlZml4LCAkbGFuZywgJGFsaWFzKTsNCgkJJHRoaXMtPl9hZGRfc3RhdGljKCRyb3V0ZSwgYXJyYXkoJ2FjdGlvbic9PidkZWZhdWx0JywncmV0dXJuaWQnPT4kcmV0dXJuaWQpKTsNCgkJDQoJCSRyb3V0ZSA9ICR0aGlzLT5fZ2VuZXJhdGVSb3V0ZSgkcHJlZml4LCAkbGFuZywgJGFsaWFzLCAndmlldycpOw0KCQkkdGhpcy0+X2FkZF9zdGF0aWMoJHJvdXRlLCBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnLCdyZXR1cm5pZCc9PiRyZXR1cm5pZCkpOw0KCQkNCgkJJHJvdXRlID0gJHRoaXMtPl9nZW5lcmF0ZVJvdXRlKCRwcmVmaXgsICRsYW5nLCAkYWxpYXMsICd2aWV3JywgJHZlcnNpb24pOw0KCQkkdGhpcy0+X2FkZF9zdGF0aWMoJHJvdXRlLCBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnLCdyZXR1cm5pZCc9PiRyZXR1cm5pZCkpOw0KCQkNCgkJJHJvdXRlID0gJHRoaXMtPl9nZW5lcmF0ZVJvdXRlKCRwcmVmaXgsICRsYW5nLCAkYWxpYXMsICdlZGl0Jyk7DQoJCSR0aGlzLT5fYWRkX3N0YXRpYygkcm91dGUsIGFycmF5KCdhY3Rpb24nPT4nZWRpdCcsJ3JldHVybmlkJz0+JHJldHVybmlkKSk7DQoJCQ0KCQkkcm91dGUgPSAkdGhpcy0+X2dlbmVyYXRlUm91dGUoJHByZWZpeCwgJGxhbmcsICRhbGlhcywgJ2RlbGV0ZScpOw0KCQkkdGhpcy0+X2FkZF9zdGF0aWMoJHJvdXRlLCBhcnJheSgnYWN0aW9uJz0+J2RlbGV0ZScsJ3JldHVybmlkJz0+JHJldHVybmlkKSk7DQoJCQ0KCQkkcm91dGUgPSAkdGhpcy0+X2dlbmVyYXRlUm91dGUoJHByZWZpeCwgJGxhbmcsIC8qJyhbYS16QS1aMC05XC1cX1w6XSspJyovICRhbGlhcywgJ3ByZXZpZXcnKTsNCgkJJHRoaXMtPl9hZGRfc3RhdGljKCRyb3V0ZSwgYXJyYXkoJ2FjdGlvbic9PidwcmV2aWV3JywncmV0dXJuaWQnPT4kcmV0dXJuaWQpKTsNCgkJDQoJCSRyb3V0ZSA9ICR0aGlzLT5fZ2VuZXJhdGVSb3V0ZSgkcHJlZml4LCAkbGFuZywgJGFsaWFzLCAncmF3JywgJHZlcnNpb24pOw0KCQkkdGhpcy0+X2FkZF9zdGF0aWMoJHJvdXRlLCBhcnJheSgnYWN0aW9uJz0+J3JhdycsJ3JldHVybmlkJz0+JHJldHVybmlkKSk7DQoNCgkJLy9TaXRlbWFwDQoJCSRyb3V0ZSA9ICR0aGlzLT5fZ2VuZXJhdGVSb3V0ZSgkcHJlZml4LCAkbGFuZywgJHNpdGVtYXApOw0KCQkkdGhpcy0+X2FkZF9zdGF0aWMoJHJvdXRlLCBhcnJheSgnYWN0aW9uJz0+J3NpdGVtYXAnLCdyZXR1cm5pZCc9PiRyZXR1cm5pZCkpOwkNCgkJJHJvdXRlID0gJHRoaXMtPl9nZW5lcmF0ZVJvdXRlKCRwcmVmaXgsICRzaXRlbWFwKTsNCgkJJHRoaXMtPl9hZGRfc3RhdGljKCRyb3V0ZSwgYXJyYXkoJ2FjdGlvbic9PidzaXRlbWFwJywncmV0dXJuaWQnPT4kcmV0dXJuaWQpKTsJDQovL2RpZSgpOw0KICAgfQ0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBfZ2VuZXJhdGVSb3V0ZSgpew0KICAgIAkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQogICAgCSRleHQgPSAkY29uZmlnWyJwYWdlX2V4dGVuc2lvbiJdOyANCiAgICAJaWYoJGV4dCAhPT0gJycpew0KICAgIAkJJGV4dCA9IHN0cl9yZXBsYWNlKCcuJywgJ1wuJywgJGV4dCk7DQogICAgCX0NCg0KICAgIAkvL0F2b2lkIG51bGwgcGFyYW1ldGVyLCBwb3NzaWJsZSBpZCAibm8gcHJlZml4IiBvciAibm8gbGFuZyIgaXMgc2V0IGluIFdpa2kNCiAgICAJJGZ1bmNfcGFyYW1zID0gZnVuY19nZXRfYXJncygpOw0KICAgIAkkZnVuY19wYXJhbXNfY2xlYW5lZCAgPSBhcnJheSgpOw0KICAgIAlmb3JlYWNoKCRmdW5jX3BhcmFtcyBhcyAkcCkgew0KICAgIAkJaWYoIWVtcHR5KCRwKSl7DQogICAgCQkJJGZ1bmNfcGFyYW1zX2NsZWFuZWRbXSA9ICRwOw0KICAgIAkJfQ0KICAgIAl9DQogICAJCSRyb3V0ZSA9ICcjXicuaW1wbG9kZSgnXC8nLCAkZnVuY19wYXJhbXNfY2xlYW5lZCkuJGV4dC4nJCMnOw0KICAgCQkvL2VjaG8gJzxkaXY+Jy5odG1sZW50aXRpZXMoJHJvdXRlKS4nPC9kaXY+JzsNCiAgIAkJcmV0dXJuICRyb3V0ZTsNCiAgICB9DQoNCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9hZGRfc3RhdGljKCRyb3V0ZSwgJHBhcmFtcyl7DQoJCWNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKG5ldyBDbXNSb3V0ZSgkcm91dGUsICR0aGlzLT5HZXROYW1lKCksICRwYXJhbXMpKTsNCiAgICB9DQoJDQoJLyoqDQoJKiBAcGFyYW0gc3RyaW5nICRzdHIgdW5pY29kZSBhbmQgdWxyZW5jb2RlZCBzdHJpbmcNCgkqIEByZXR1cm4gc3RyaW5nIGRlY29kZWQgc3RyaW5nDQoJKi8NCglmdW5jdGlvbiBqc191cmxkZWNvZGUoJHN0cikgew0KCSAgICByZXR1cm4gcHJlZ19yZXBsYWNlKCIvJXUoWzAtOWEtZl17Myw0fSkvaSIsIiYjeFxcMTsiLHVybGRlY29kZSgkc3RyKSk7DQoJfQ0KDQoJLyoqDQoJICogMSAtIFJlcGxhY2UgYWNjZW50DQoJICogMiAtIFJlcGxhY2UgZXZlcnl0aGluZyBleGNlcHQgYS16QS1aMC05ICBhbmQgLTpfICBieSBhIHVuZGVyc2NvcmUNCgkgKiAzIC0gUmVwbGFjZSBncm91cGUgb2YgdW5kZXJzY29yZSBieSBhIHNpbmdsZSB1bmRlcnNjb3JlDQoJICoNCgkgKi8NCglmdW5jdGlvbiBjbGVhbl90aXRsZSgkc3RyLCAkY2hhcnNldD0nVVRGLTgnKXsNCgkJJHN0ciA9IGh0bWxlbnRpdGllcygkc3RyLCBFTlRfTk9RVU9URVMsICRjaGFyc2V0KTsNCgkJDQoJCSRzdHIgPSBwcmVnX3JlcGxhY2UoJyMmKFtBLXphLXpdKSg/OmFjdXRlfGNlZGlsfGNpcmN8Z3JhdmV8b3JufHJpbmd8c2xhc2h8dGh8dGlsZGV8dW1sKTsjJywgJ1wxJywgJHN0cik7DQoJCSRzdHIgPSBwcmVnX3JlcGxhY2UoJyMmKFtBLXphLXpdezJ9KSg/OmxpZyk7IycsICdcMScsICRzdHIpOyAvLyBwb3VyIGxlcyBsaWdhdHVyZXMgZS5nLiAnJm9lbGlnOycNCgkJDQoJCS8vJHN0ciA9IHN0cl9yZXBsYWNlKGFycmF5KCcmIzQ1OycsJyYjNTg7JywnJiM5NTsnKSwgYXJyYXkoJy0nLCc6JywnXycpICwgJHN0cik7IC8vIHJlc3RhdXJlIC06Xw0KCQkkc3RyID0gcHJlZ19yZXBsYWNlKCcjJlteO10rOyMnLCAnXycsICRzdHIpOyAvLyBzdXBwcmltZSBsZXMgYXV0cmVzIGNhcmFjdMOocmVzIGh0bWwNCgkJJHN0ciA9IHByZWdfcmVwbGFjZSgnI1teYS16QS1aMC05XC1fOl0jJywgJ18nLCAkc3RyKTsgLy8gc3VwcHJpbWUgbGVzIGF1dHJlcyBjYXJhY3TDqHJlcyBpbnRlcmRpdHMNCgkJJHN0ciA9IHByZWdfcmVwbGFjZSgnIyhfKSsjJywgJ18nLCAkc3RyKTsgLy8gcmVkdWl0IGxlcyBjb3VwbGVzIGQndW5kZXJzY29yZQ0KCQkkc3RyID0gcHJlZ19yZXBsYWNlKCcjKDopKyMnLCAnOicsICRzdHIpOyAvLyByZWR1aXQgbGVzIGNvdXBsZXMgZGUgOjo6Og0KICAgIA0KCQkkc3RyID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRzdHIsIEVOVF9OT1FVT1RFUywgJGNoYXJzZXQpOw0KCQkNCgkJcmV0dXJuICRzdHI7DQoJfQ0KCQkNCglmdW5jdGlvbiBfZ2V0RGVmYXVsdExhbmcoKXsNCgkJcmV0dXJuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2xhbmcnLCdlbl9VUycpOw0KCX0NCgkNCglmdW5jdGlvbiBfZ2V0RGVmYXVsdEFsaWFzKCl7DQoJCXJldHVybiAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfYWxpYXMnLCdob21lJyk7DQoJfQ0KDQoJZnVuY3Rpb24gX2dldERlZmF1bHRQcmVmaXgoKXsNCgkJcmV0dXJuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcmVmaXgnLCd3aWtpJyk7DQoJfQ0KDQoJZnVuY3Rpb24gX2dldFNob3dDb2RlSXNvKCl7DQoJCXJldHVybiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2hvd19jb2RlX2lzbycsIFRSVUUpOw0KCX0NCg0KCWZ1bmN0aW9uIF9nZXRNdWx0aUluc3RhbmNlcygpew0KCQlyZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ211bHRpSW5zdGFuY2VzJyxGQUxTRSk7DQoJfQ0KDQoJZnVuY3Rpb24gX2dldENtc1BhZ2UoKXsNCgkJcmV0dXJuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjbXNfcGFnZScsJ3dpa2knKTsNCgl9DQoNCg0KCWZ1bmN0aW9uIF9nZXRNaW5pbWFsVmVyc2lvbkZvdW5kYXRpb25Bc3NldCgpew0KCQlyZXR1cm4gMTsNCgl9DQoNCglmdW5jdGlvbiBfZ2V0aHR0cGxpbmtUb0ZvdW5kYXRpb25Bc3NldCgpew0KCQlyZXR1cm4gImh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdC9maWxlcy8xMjU2I3BhY2thZ2UtMTMwMyI7DQoJfQ0KDQoNCn0gDQo/Pg0K]]></data>
	</file>
</module>
