<?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>DownloadManager</name>
	<version>1.5.2</version>
  <mincmsversion>1.4</mincmsversion>
	<help></help>
	<about></about>
	<description><![CDATA[This module allows to Manage Downloads.]]></description>
	<file>
	  <filename>/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[T3B0aW9ucyAtSW5kZXhlcwpSZXdyaXRlRW5naW5lIE9mZgoK]]></data>
	</file>
	<file>
	  <filename>/action.addfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ1VzZSBEb3dubG9hZE1hbmFnZXInKSkpOwoJcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdmaWxlcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCk7Cn0KJGFkZGZpbGVkYiA9IGZhbHNlOwokc2VydmVyX25hbWUgPSAnJzsKJGFsaWFzID0gJyc7CiRleHQgPSAnJzsKJGRlc2NyaXB0aW9uID0gJyc7CiRzaXplID0gJyc7CiRoYXNoID0gJyc7CiR1c2VleHAgPSAnJzsKJGFjY2Vzc3R5cGUgPSAoaXNzZXQoJHBhcmFtc1snYWNjZXNzdHlwZSddKSk/JHBhcmFtc1snYWNjZXNzdHlwZSddOjA7CiR0ZW1wbGF0ZV9kZXRhaWwgPSAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfZGV0YWlsJ10pKT8kcGFyYW1zWyd0ZW1wbGF0ZV9kZXRhaWwnXTonJzsKJHRlbXBsYXRlX2Zvcm0gPSAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfZm9ybSddKSk/JHBhcmFtc1sndGVtcGxhdGVfZm9ybSddOicnOwokdGVtcGxhdGVfZW1haWwgPSAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfZW1haWwnXSkpPyRwYXJhbXNbJ3RlbXBsYXRlX2VtYWlsJ106Jyc7CiRmZXVncm91cHMgPSAoaXNzZXQoJHBhcmFtc1snZmV1Z3JvdXBzJ10pKT8kcGFyYW1zWydmZXVncm91cHMnXTphcnJheSgpOwokZGVzY3JpcHRpb24gPSAoaXNzZXQoJHBhcmFtc1snZGVzY3JpcHRpb24nXSkpPyRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ106Jyc7CiRtYWtlX3RodW1iID0gKGlzc2V0KCRwYXJhbXNbJ21ha2VfdGh1bWInXSkpPyAoYm9vbCkgJHBhcmFtc1snbWFrZV90aHVtYiddOiR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aHVtYnNfYXV0bycsIHRydWUpOwokdGh1bWJfcGF0aCA9ICghZW1wdHkoJHBhcmFtc1sndGh1bWJfcGF0aCddKSk/ICRwYXJhbXNbJ3RodW1iX3BhdGgnXTpmYWxzZTsKJGV4cGlyZXMgPSBOVUxMOwokaW5wdXR1cGxvYWRlZGVuYWJsZWQgPSB0cnVlOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ3VzZWV4cCddKSkKCXskZXhwaXJlcyA9ICRwYXJhbXNbJ2V4cGlyZWRhdGVfWWVhciddLictJy4kcGFyYW1zWydleHBpcmVkYXRlX01vbnRoJ10uJy0nLiRwYXJhbXNbJ2V4cGlyZWRhdGVfRGF5J10uJyAnLiRwYXJhbXNbJ2V4cGlyZWRhdGVfSG91ciddLic6Jy4kcGFyYW1zWydleHBpcmVkYXRlX01pbnV0ZSddLic6Jy4kcGFyYW1zWydleHBpcmVkYXRlX1NlY29uZCddO30KJHZpc2libGUgPSAwOwppZiAoaXNzZXQoJHBhcmFtc1sndmlzaWJsZSddKSkKCSR2aXNpYmxlID0gJHBhcmFtc1sndmlzaWJsZSddOwoKaW5jbHVkZSgnZnVuY3Rpb24udXBsb2FkZmlsZS5waHAnKTsKaWYoJGFkZGZpbGVkYikgLy8gbmV3IGZpbGUKewoJLy8gZ2VuZXJhdGUgdGh1bWIKCWlmKCAkdGh1bWJfcGF0aCApCgkJJGZfY29udGVudHNbJ3RodW1iJ10gPSAkdGh1bWJfcGF0aDsKCWVsc2UgaWYoIGZ1bmN0aW9uX2V4aXN0cygnZ2RfaW5mbycpIC8vIGNoZWNrIGlmIGdkIHN1cHBvcnQKCQkmJiBpbl9hcnJheSggJGZfY29udGVudHNbJ3R5cGUnXSwgYXJyYXkoJ2ltYWdlL3BuZycsJ2ltYWdlL2pwZWcnLCdpbWFnZS9naWYnKSApIC8vIGNoZWNrIGlmIHN1cHBvcnRlZCBpbWFnZQoJCSYmICRtYWtlX3RodW1iIC8vIGNoZWNrIHNob3VsZCBiZSBkb25lCgkJICl7Ly8gCgkJJGZfY29udGVudHNbJ3RodW1iJ10gPSAkdGhpcy0+Q3JlYXRlVGh1bWJuYWlsKCRmX2NvbnRlbnRzWydwYXRoJ10gKTsKCX0KCgkkZmlsZV9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX3NlcSIpOwoJLy8gYWRkaW5nIGFsaWFzCgkkaSA9IDE7CgkkYWxpYXMgPSAkbiA9ICR0aGlzLT5DcmVhdGVBbGlhcygkZmlsZV9uYW1lKTsKCXdoaWxlKCEkdGhpcy0+Q2hlY2tBbGlhcygnZmlsZXMnLCAkYWxpYXMpKQoJCSRhbGlhcyA9ICRuLiItIi4kaSsrOwoJCQoJLy9pbnNlcnQgbWFzdGVyIGluZm8KCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyhmaWxlX2lkLGFsaWFzLCBuYW1lLCBzZXJ2ZXJfbmFtZSwgZXh0LCB0eXBlLCBzaXplLCBoYXNoLCBkZXNjcmlwdGlvbiwgY3JlYXRlZCwgZXhwaXJlcywgdmlzaWJsZSwgYWNjZXNzdHlwZSwgdGVtcGxhdGVfZGV0YWlsLCB0ZW1wbGF0ZV9mb3JtLCB0ZW1wbGF0ZV9lbWFpbCx0aHVtYl9wYXRoKSBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyknOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGVfaWQsJGFsaWFzLCAkZmlsZV9uYW1lICwgJGZfY29udGVudHNbJ3BhdGgnXSwgCgkkZl9jb250ZW50c1snZXh0J10sICRmX2NvbnRlbnRzWyd0eXBlJ10sICRmX2NvbnRlbnRzWydzaXplJ10sICRmX2NvbnRlbnRzWydtZDUnXSwgCgkkZGVzY3JpcHRpb24sIGRhdGUgKCJZLW0tZCBHOmk6cyIpICwgJGV4cGlyZXMsICR2aXNpYmxlLCAkYWNjZXNzdHlwZSwgJHRlbXBsYXRlX2RldGFpbCwgJHRlbXBsYXRlX2Zvcm0sICR0ZW1wbGF0ZV9lbWFpbCwkZl9jb250ZW50c1sndGh1bWInXSkpOwoJCgkvLyBpbnNlcnMgYXNzb2NpYXRpb25zCQkKCWlmKCBpc3NldCgkcGFyYW1zWydhc3NvYyddKSApCgl7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5ICggY2F0ZWdvcnlfaWQsIGZpbGVfaWQpICBWQUxVRVMgKCAiLiBpbXBsb2RlKCIgLCAiLiRmaWxlX2lkLiIgKSwgKCAiLGFycmF5X2tleXMoJHBhcmFtc1snYXNzb2MnXSkgKS4iLCAiLiRmaWxlX2lkLiIgKSIgIDsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCX0KCQoJLy8gdXBkYXRlIGZldSBncm91cHMgYXNzb2NpYXRpb24KCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlZ3JvdXBzIFdIRVJFIGZpbGVfaWQ9PyI7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmlsZV9pZCkpOwoJZm9yZWFjaCgkZmV1Z3JvdXBzIGFzICRncm91cCl7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVncm91cHMgU0VUIGZpbGVfaWQ9PywgZ3JvdXBfaWQ9PyI7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGVfaWQsICRncm91cCkpOwoJfQoJCgkvLyBhZGQgbW9yZSBmaWVsZHMgYXMgbmVlZGVkIHRvIHRoZSBzZW5kIGV2ZW50CglAJHRoaXMtPlNlbmRFdmVudCgnRG93bmxvYWRNYW5hZ2VyRmlsZUFkZGVkJywgYXJyYXkoJ2ZpbGVfaWQnID0+ICRmaWxlX2lkLCAnbmFtZScgPT4gJG5hbWUpKTsKCgkkdGhpcy0+VXBkYXRlQXNzb2NpYXRpb25BZ3JlZ2F0aW9uKCAoaW50KSAkZmlsZV9pZCk7CglpZigkdmlzaWJsZSkKCQkkdGhpcy0+U2VhcmNoQWRkRmlsZSggKGludCkgJGZpbGVfaWQsICRhbGlhcy4nICcuJGZpbGVfbmFtZS4nICcuJGRlc2NyaXB0aW9uLCAkZXhwaXJlcyk7CgkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdmaWxlYWRkZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2ZpbGVzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2ZpbGVfcGF0aCddKSkKewoJJHVwbG9hZGVkID0gYmFzZTY0X2RlY29kZSgkcGFyYW1zWydmaWxlX3BhdGgnXSk7CgkkaW5wdXR1cGxvYWRlZGVuYWJsZWQgPSBmYWxzZTsKfQojRGlzcGxheSB0ZW1wbGF0ZQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRkZmlsZScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgovLyBhc3NvY2lhdGlvbnMKZ2xvYmFsICRnQ21zOwokcXVlcnkgPSAiU0VMRUNUICBjYXRlZ29yeV9pZCwgbG9uZ19uYW1lICBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgIE9SREVSIEJZIGhpZXJhcmNoeV9wcmlvcml0eTsgIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiRyb3djbGFzcyA9ICdyb3cxJzsKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCnsKCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCSRvbmVyb3ctPm5hbWUgPSAkcm93Wydsb25nX25hbWUnXTsKCSRvbmVyb3ctPmlucHV0YXNzb2MgPSAgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnYXNzb2NbJy4kcm93WydjYXRlZ29yeV9pZCddLiddJywgJzEnLCAwLCAnY2xhc3M9InBhZ2VjaGVja2JveCInKTsKCSRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignYXNzb2NpYXRpb25zJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdjYXRlZ29yeXRleHQnLCAkdGhpcy0+TGFuZygiYXNzb2NhdGlvbnN0YWJoZWFkZXIiKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3Jvb3RwYXRoJywgJGdDbXMtPmNvbmZpZ1sncm9vdF9wYXRoJ10pOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdmb3JtaWQnLCAkaWQpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdpbnB1dGZpbGUnLCAkdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwnZmlsZScsJyBpZD0iJy4kaWQuJ2ZpbGUiICcuKCRpbnB1dHVwbG9hZGVkZW5hYmxlZD8nJzonZGlzYWJsZWQ9ImRpc2FibGVkIicpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR1cGxvYWRlZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndXBsb2FkZWQnLCR1cGxvYWRlZCwgNjAsMjI1LCAhJGlucHV0dXBsb2FkZWRlbmFibGVkPycnOidkaXNhYmxlZD0iZGlzYWJsZWQiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dXBsb2FkZWRlbmFibGVkJywgJGlucHV0dXBsb2FkZWRlbmFibGVkKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dG1kNScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbWQ1JywnJywgMzIsMzIsICdkaXNhYmxlZD0iZGlzYWJsZWQiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZXh0ZXJuYWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2V4dGVybmFsJywgJycsIDYwLDI1NSwgJ2Rpc2FibGVkPSJkaXNhYmxlZCInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRzZXJ2ZXJfbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2VydmVyX25hbWUnLCAkc2VydmVyX25hbWUsIDMwLCAzMCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZXh0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdleHQnLCAkZXh0LCAzMCwgNSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0c2l6ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2l6ZScsICRzaXplLCAzMCwgMTApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGhhc2gnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2hhc2gnLCAkaGFzaCwgMzAsIDMyKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRkZXNjcmlwdGlvbicsICR0aGlzLT5DcmVhdGVUZXh0QXJlYSggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FkbWluX3d5c2l3eWcnLCB0cnVlKSwgJGlkLCAkZGVzY3JpcHRpb24sICdkZXNjcmlwdGlvbicsICdwYWdlc21hbGx0ZXh0YXJlYScsICcnLCAnJywgJycsICczMDAnLCAnNScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdleHBpcmVkYXRlcHJlZml4JywgJGlkLidleHBpcmVkYXRlXycpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZXhwJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAndXNlZXhwJywgJzEnLCAkdXNlZXhwLCAnY2xhc3M9InBhZ2VjaGVja2JveCInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR2aXNpYmxlJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAndmlzaWJsZScsICcxJywgJHZpc2libGUsICdjbGFzcz0icGFnZWNoZWNrYm94IicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dG1ha2VfdGh1bWInLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdtYWtlX3RodW1iJywgJzEnLCAkbWFrZV90aHVtYiwgJ2NsYXNzPSJwYWdlY2hlY2tib3giJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0YWNjZXNzdHlwZScsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2FjY2Vzc3R5cGUnLCR0aGlzLT5HZXRBY2Nlc3NUeXBlQ29tYm8oKSwtMSwkYWNjZXNzdHlwZSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZmV1Z3JvdXBzJywgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsICdmZXVncm91cHNbXScsJHRoaXMtPkdldEdyb3Vwc0NvbWJvKCksJGZldWdyb3VwcykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dGVtcGxhdGVfZm9ybScsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3RlbXBsYXRlX2Zvcm0nLCR0aGlzLT5HZXRUZW1wbGF0ZXNDb21ibygiZm9ybSIpLC0xLCR0ZW1wbGF0ZV9mb3JtKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR0ZW1wbGF0ZV9kZXRhaWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0ZW1wbGF0ZV9kZXRhaWwnLCR0aGlzLT5HZXRUZW1wbGF0ZXNDb21ibygiZGV0YWlsIiksLTEsJHRlbXBsYXRlX2RldGFpbCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dGVtcGxhdGVfZW1haWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0ZW1wbGF0ZV9lbWFpbCcsJHRoaXMtPkdldFRlbXBsYXRlc0NvbWJvKCJlbWFpbCIpLC0xLCR0ZW1wbGF0ZV9lbWFpbCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dGh1bWJfcGF0aCcsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3RodW1iX3BhdGgnLCR0aGlzLT5HZXRUaHVtYm5haWxzRHJvcGRvd24oJHRodW1iX3ZhbHVlKSkpOwoKLy8gQVNTSU5HIEFMTCBMQUJFTFMKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cGxvYWRsYWJlbCcsICR0aGlzLT5MYW5nKCd1cGxvYWRmaWxlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VwbG9hZGVkbGFiZWwnLCAkdGhpcy0+TGFuZygnYWxyZWFkeXVwbG9hZGVkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2V4dGVybmFsbGFiZWwnLCAkdGhpcy0+TGFuZygnZXh0ZXJuYWxmaWxlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NlcnZlcl9uYW1lbGFiZWwnLCAkdGhpcy0+TGFuZygnc2VydmVyX25hbWVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdleHRsYWJlbCcsICR0aGlzLT5MYW5nKCdleHRsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzaXplbGFiZWwnLCAkdGhpcy0+TGFuZygnc2l6ZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hhc2hsYWJlbCcsICR0aGlzLT5MYW5nKCdoYXNobGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZGVzY3JpcHRpb25sYWJlbCcsICR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbmxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NyZWF0ZWRsYWJlbCcsICR0aGlzLT5MYW5nKCdjcmVhdGVkbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXhwaXJlc2xhYmVsJywgJHRoaXMtPkxhbmcoJ2V4cGlyZXNsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd2aXNpYmxlbGFiZWwnLCAkdGhpcy0+TGFuZygndmlzaWJsZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21ha2VfdGh1bWJsYWJlbCcsICR0aGlzLT5MYW5nKCdtYWtlX3RodW1ibGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlZXhwaXJhdGlvbnRleHQnLCAkdGhpcy0+TGFuZygndXNlZXhwaXJhdGlvbicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhY2Nlc3N0eXBlbGFiZWwnLCAkdGhpcy0+TGFuZygnYWNjZXNzdHlwZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZV9kZXRhaWxsYWJlbCcsICR0aGlzLT5MYW5nKCd0ZW1wbGF0ZWZvcmRldGFpbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZV9mb3JtbGFiZWwnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVmb3Jmb3JtJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlX2VtYWlsbGFiZWwnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVmb3JlbWFpbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmZXVncm91cHNsYWJlbCcsICR0aGlzLT5MYW5nKCdmZXVncm91cHNsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aHVtYl9wYXRobGFiZWwnLCAkdGhpcy0+TGFuZygndGh1bWJsYWJlbCcpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignZmlsZXR5cGVpbnB1dCcsICAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdmaWxldHlwZWlucHV0LnRwbCcpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZGRmaWxlLnRwbCcpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.changefile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpKTsKCXJldHVybjsKfQppZiAoIWlzc2V0KCRwYXJhbXNbJ2ZpbGVfaWQnXSkgfHwgZW1wdHkoJHBhcmFtc1snZmlsZV9pZCddKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9maWxlJykpOwoJcmV0dXJuOwp9CgppbmNsdWRlKCdmdW5jdGlvbi51cGxvYWRmaWxlLnBocCcpOwoKaWYoJGFkZGZpbGVkYikKewoJJHBhcmFtc1snZmlsZV9pZCddID0gKGludCkgJHBhcmFtc1snZmlsZV9pZCddOwoJLy8gcmVtb3ZpbmcgdGhlIG9sZCBmaWxlCgkkcXVlcnkgPSAnU0VMRUNUIHNlcnZlcl9uYW1lIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFdIRVJFIGZpbGVfaWQ9ID8nOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1snZmlsZV9pZCddKSk7Cgkkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwoJdW5saW5rKCRyb3dbJ3NlcnZlcl9uYW1lJ10pOwoJaWYoICFpc3NldCgkcGFyYW1zWydjaGFuZ2VuYW1lJ10pIHx8ICRwYXJhbXNbJ2NoYW5nZW5hbWUnXSA9PSAwICkKCXsKCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFNFVCBzZXJ2ZXJfbmFtZSA9ID8sIHR5cGUgPSA/LCBzaXplID0gPywgaGFzaCA9ID8sICBjcmVhdGVkID0gbm93KCkgV0hFUkUgZmlsZV9pZCA9ID8nOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCAkZl9jb250ZW50c1sncGF0aCddLCAkZl9jb250ZW50c1sndHlwZSddLCAkZl9jb250ZW50c1snc2l6ZSddLCAkZl9jb250ZW50c1snbWQ1J10sJHBhcmFtc1snZmlsZV9pZCddKSk7Cgl9CgllbHNlCgl7CgkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBTRVQgbmFtZSA9ID8gLCBleHQgPSA/ICwgc2VydmVyX25hbWUgPSA/LCB0eXBlID0gPywgc2l6ZSA9ID8sIGhhc2ggPSA/LCAgY3JlYXRlZCA9IG5vdygpIFdIRVJFIGZpbGVfaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmlsZV9uYW1lICwgJGZfY29udGVudHNbJ2V4dCddLCAkZl9jb250ZW50c1sncGF0aCddLCAkZl9jb250ZW50c1sndHlwZSddLCAkZl9jb250ZW50c1snc2l6ZSddLCAkZl9jb250ZW50c1snbWQ1J10sJHBhcmFtc1snZmlsZV9pZCddKSk7Cgl9CgkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdmaWxlY2hhbmdlZCcsICdhY3RpdmVfdGFiJyA9PiAnZmlsZXMnLCAnc2VsZWN0b3InPT4kcGFyYW1zWydzZWxlY3RvciddKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CmVsc2UKewokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdmb3JtaWQnLCAkaWQpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdyb290cGF0aCcsICRnQ21zLT5jb25maWdbJ3Jvb3RfcGF0aCddKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjaGFuZ2VmaWxlaW5mbycsICR0aGlzLT5MYW5nKCdjaGFuZ2VmaWxlaW5mbycsIGFycmF5KCBiYXNlNjRfZGVjb2RlKCRwYXJhbXNbJ25hbWUnXSksIGJhc2U2NF9kZWNvZGUoJHBhcmFtc1snYWxpYXMnXSkgKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VwbG9hZGxhYmVsJywgJHRoaXMtPkxhbmcoJ3VwbG9hZGZpbGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndXBsb2FkZWRsYWJlbCcsICR0aGlzLT5MYW5nKCdhbHJlYWR5dXBsb2FkZWQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2hhbmdlbmFtZWxhYmVsJywgJHRoaXMtPkxhbmcoJ2NoYW5nZW5hbWVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdleHRlcm5hbGxhYmVsJywgJHRoaXMtPkxhbmcoJ2V4dGVybmFsZmlsZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoYXNobGFiZWwnLCAkdGhpcy0+TGFuZygnaGFzaGxhYmVsJykpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnaW5wdXRmaWxlJywgJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ2ZpbGUnLCcgaWQ9IicuJGlkLidmaWxlIiAnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR1cGxvYWRlZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndXBsb2FkZWQnLCR1cGxvYWRlZCwgODAsMjI1LCdkaXNhYmxlZD0iZGlzYWJsZWQiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0bWQ1JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdtZDUnLCRwYXJtc1snbWQ1J10sIDMyLDMyLCAnZGlzYWJsZWQ9ImRpc2FibGVkIicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGV4dGVybmFsJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdleHRlcm5hbCcsJHVwbG9hZGVkLCA2MCwyNTUsICdkaXNhYmxlZD0iZGlzYWJsZWQiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0Y2hhbmdlbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2NoYW5nZW5hbWUnLCAnMScsIDAsICdjbGFzcz0icGFnZWNoZWNrYm94IicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzZWxlY3RvcicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdzZWxlY3RvcicsICRwYXJhbXNbJ3NlbGVjdG9yJ10pKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdjaGFuZ2VmaWxlJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZmlsZV9pZCcsIChpbnQpICRwYXJhbXNbJ2ZpbGVfaWQnXSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ZpbGV0eXBlaW5wdXQnLCAgJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZmlsZXR5cGVpbnB1dC50cGwnKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnY2hhbmdlZmlsZS50cGwnKTsKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBEaXNwbGF5TW9kdWxlT3V0cHV0KCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZSkKCSAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCgoJICAgVGhpcyBpcyBhbiBleGFtcGxlIG9mIGEgc2ltcGxlIG1ldGhvZCB0byBkaXNwbGF5CgkgICBzb21ldGhpbmcgd2hlcmUgYSBwYWdlIG9yIHRlbXBsYXRlIGhhcyBhIHRhZyBjYWxsaW5nCgkgICB0aGlzIG1vZHVsZS4KCSAgIAoJICAgTm90ZSB0aGF0IGl0IHVzZXMgYSB0ZW1wbGF0ZSwgYW5kIGlzIHRodXMgdmVyeSBwb3dlcmZ1bCwKCSAgIGV2ZW4gaWYgaXQncyBzaW1wbGUuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKgogICAgRm9yIHNlcGFyYXRlZCBtZXRob2RzLCB5b3UnbGwgYWx3YXlzIHdhbnQgdG8gc3RhcnQgd2l0aCB0aGUgZm9sbG93aW5nCiAgICBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogICAgQVBJLCBhbmQgdGhhdCBldmVyeXRoaW5nJ3Mgc2FmZSB0byBjb250aW51ZToKKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwovL3Zhcl9kdW1wKCRwYXJhbXMpOwoKJHF1ZXJ5ID0gJyc7CiRkYnJlc3VsdCA9Jyc7CiRlbnRyeWFycmF5ID0gYXJyYXkoKTsKJGNhdGVnb3J5X2lkID0gJycgOwokY2F0ZWdvcnlfbGV2ZWwgPSAnJzsKJGRlcHRoID0gaXNzZXQoICRwYXJhbXNbJ2RlcHRoJ10gKT8oaW50KSRwYXJhbXNbJ2RlcHRoJ106ZmFsc2U7CgokcXVlcnkgPSAnJzsKJHF1ZXJ5cHJlZml4ID0gCSdTRUxFQ1QgZmMuY2F0ZWdvcnlfaWQsIGZjLmZpbGVfaWQsIGMuaGllcmFyY2h5LCBjLm5hbWUgQVMgY2F0ZWdvcnlfbmFtZSAsCgkJYy5sb25nX25hbWUgQVMgY2F0ZWdvcnlfbG9uZ19uYW1lICwJYy5kZXB0aCwgYy5hbGlhcyBBUyBjYXRlZ29yeV9hbGlhcywKCQljLmRlc2NyaXB0aW9uIEFTIGNhdGVnb3J5X2Rlc2MsCgkJZi4qCgkJRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19jYXRlZ29yeSBmYwoJCUxFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIGMgVVNJTkcoY2F0ZWdvcnlfaWQpCgkJTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIGYgVVNJTkcoZmlsZV9pZCkKCQlXSEVSRSBmLnZpc2libGUgPSAxIEFORCAnLiR0aGlzLT5HZXRGaWxlU3RkV2hlcmUoJ2YnKTsKJHF1ZXJ5X2RlcHRoID0gJyc7CiRzaG93aGVhZGVycyA9IHRydWU7CgokYmFzZV9kZXB0aCA9IDA7CgovLyBnZXQgc3ViY2F0ZWdvcmllcyB0cmVlIHN0cnVjdHVyZQokc3ViY2F0ZWdvcmllcyA9ICR0aGlzLT5HZXRTdWJDYXRlZ29yaWVzKCk7CgovKgogKiBQQVJTSU5HIENBVEVHT1JZIEFORCBDQVRFR09SWUlECiAqCiAqIGlmIGJvdGggYXJlIHNldCBjYXRlZ29yeWlkIGhhdmUgaGlnaGVyIHByaW9yaXR5CiovCmlmKCBpc3NldCggJHBhcmFtc1snYWxpYXMnXSApIHx8IGlzc2V0KCAkcGFyYW1zWydjYXRlZ29yeWlkJ10gKSApCnsKCSRkYnJlc3VsdCA9ICcnOwoJJHF1ZXJ5ID0gJ1NFTEVDVCBjYXRlZ29yeV9pZCwgaGllcmFyY2h5LCBkZXB0aCwgYWxpYXMsIGRlZmF1bHRfdGVtcGxhdGUKCQlGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMKCQlXSEVSRSAnOwoKCS8vIGNob29zaW5nIHdoZXJlIGNvbmRpdGlvbgoJaWYoIGlzc2V0KCAkcGFyYW1zWydjYXRlZ29yeWlkJ10gKSApCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeS4nIGNhdGVnb3J5X2lkID0gPyAnLGFycmF5KChpbnQpJHBhcmFtc1snY2F0ZWdvcnlpZCddKSk7CgllbHNlCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeS4nIGFsaWFzID0gPyAnLGFycmF5KCRwYXJhbXNbJ2FsaWFzJ10pKTsKCgkvLyBmZXRjaGluZyBjYXRlZ29yeQoJaWYgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJCSRjYXRlZ29yeV9pZCA9IChpbnQpICRyb3dbJ2NhdGVnb3J5X2lkJ107CgkJJGNhdGVnb3J5X2RlcHRoID0gKGludCkgJHJvd1snZGVwdGgnXTsKCQkkY2F0ZWdvcnlfaGllcmFyY2h5ID0gJHJvd1snaGllcmFyY2h5J107CgkJJGNhdGVnb3J5X3RlbXBsYXRlID0gJHJvd1snZGVmYXVsdF90ZW1wbGF0ZSddOwoJfQoKCWlmKCRjYXRlZ29yeV9pZCA9PSAnJykKCQllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+bGFuZygnd3JvbmdjYXRlZ29yeScpKTsKCS8vIHdlIGhhdmUgY2F0ZWdvcnkgc3BlY2lmaWVkCgoJJHF1ZXJ5ID0gJHF1ZXJ5cHJlZml4LgoJCSdBTkQgYy5oaWVyYXJjaHkgTElLRSBcJyUnLnN0cl9wYWQoJGNhdGVnb3J5X2lkLCA1LCAnMCcsIFNUUl9QQURfTEVGVCkuJyVcJyc7CgoJLy8gY3JlYXRlIGxpbmsgdG8gdXBwZXIgY2F0ZWdvcnkKCSR0ID0gJiRzdWJjYXRlZ29yaWVzWyRjYXRlZ29yeV9pZF07CgkkdG9wPScnOwoJaWYoIWlzX251bGwoJHRbJ3BhcmVudCddKSkKCXsKCQkvL3dlIGhhdmUgdG9wIGNhdGVnb3J5CgkJJHRvcCA9ICR0aGlzLT5DcmVhdGVDYXRlZ29yeUxpbmsoJGlkLCAkcmV0dXJuaWQsICR0WydwYXJlbnQnXVsnbmFtZSddLCAkdFsncGFyZW50J11bJ2FsaWFzJ10sJGRlcHRoKTsKCX0KCWVsc2UKCXsKCQkvLyBubyB1cHBlciBjYXRlZ29yeSBjcmVhdGluZyBsaW5rIHRvIHJvb3QKCQkkdG9wID0gJHRoaXMtPkNyZWF0ZUNhdGVnb3J5TGluaygkaWQsICRyZXR1cm5pZCwiIiwiIiwkZGVwdGgpOwoJfQoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RvcGNhdGVnb3J5bGluaycsICR0b3ApOwp9CmVsc2UKewoJLy8gYWxsIGNhdGVnb3JpZXMgYXJlIHNlbGxlY3RlZAoJJHF1ZXJ5ID0gJHF1ZXJ5cHJlZml4OwoJJGNhdGVnb3J5X2RlcHRoID0gMDsKfQoKLy8gYWRkaW5nIGRlcHRoIGNvbmRpdGlvbgoKaWYoICRkZXB0aCAhPT0gZmFsc2UpCnsKCS8vIGFkZCBkZXB0aCBjb25kaXRpb24KCSRxdWVyeV9kZXB0aCA9ICcgQU5EICcuKCRjYXRlZ29yeV9kZXB0aCskZGVwdGgpLicgPj0gYy5kZXB0aCAnOwp9CgovLyBtZXJnaW5nIHF1ZXJpZXMKJHF1ZXJ5IC49ICRxdWVyeV9kZXB0aC4nCgkJT1JERVIgQlkgYy5oaWVyYXJjaHlfcHJpb3JpdHksIGZjLml0ZW1fb3JkZXIgJzsKCgoKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgovLyBhbHNvIHVzZWQgYnkgYWN0aW9uIHNlbGVjdG9yCmluY2x1ZGUoJ2Z1bmN0aW9uLmFzc2luZ2ZpbGVzLnBocCcpOwoKJHRlbXBsYXRlbmFtZSA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ3RlbXBsYXRlJ10gKSApCQogICAgJHRlbXBsYXRlbmFtZSA9ICdsaXN0XycuJHBhcmFtc1sndGVtcGxhdGUnXTsgLy8gZGVmYXVsdCBpcyBsaXN0IGFjdGlvbgoKaWYoICR0ZW1wbGF0ZW5hbWUgIT0gJycgJiYgJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUpKQp7CgkvLyB0aGUgdGVtcGxhdGUgZXhpc3RzLCB3ZSdyZSBnb2luZyB0byB1c2UgaXQKCQp9CmVsc2UgaWYoICFlbXB0eSgkY2F0ZWdvcnlfdGVtcGxhdGUpICYmICR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkY2F0ZWdvcnlfdGVtcGxhdGUpKQp7CgkvLyB1c2luZyB0aGUgZGVmYXVsdCBjYXRlZ29yeSB0ZW1wbGF0ZSBiZWNhdXNlIGl0IGlzIHNldAp9CmVsc2UKewoJLy8gbm8gdGVtcGxhdGUgc3BlY2lmaWVkLCBvciB0ZW1wbGF0ZSBkb2Vzbid0IGV4aXN0Li4uIHdlIGdldCB0aGUgZGVmYXVsdCBvbmUKCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9saXN0X3RlbXBsYXRlJywgJycpOwoJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUpOwp9CiNEaXNwbGF5IHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gY2hlY2sgZm9yIHBlcm1pc3Npb25zCmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb3dubG9hZE1hbmFnZXInKSkKewoJZWNobyAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJcmV0dXJuOwp9CgokdGFiID0iIjsKaWYoaXNzZXQoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkKCSR0YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoImZpbGVzIiwkdGhpcy0+TGFuZygiZmlsZXN0YWJoZWFkZXIiKSwoJHRhYj09ImZpbGVzIikpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigiY2F0ZWdvcmllcyIsJHRoaXMtPkxhbmcoImNhdGVnb3JpZXN0YWJoZWFkZXIiKSwoJHRhYj09ImNhdGVnb3JpZXMiKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJ0ZW1wbGF0ZXMiLCBsYW5nKCJ0ZW1wbGF0ZXMiKSwoJHRhYj09InRlbXBsYXRlcyIpKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInByZWZlcmVuY2VzIiwgbGFuZygicHJlZmVyZW5jZXMiKSwoJHRhYj09InByZWZlcmVuY2VzIikpOwplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYmxlSURDb2xIZWFkZXInLCAnSUQnKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJsZU5hbWVDb2xIZWFkZXInLCBsYW5nKCduYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYmxlRGVzY3JpcHRpb25Db2xIZWFkZXInLCBsYW5nKCdkZXNjcmlwdGlvbicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJsZURlZmF1bHRDb2xIZWFkZXInLCBsYW5nKCdkZWZhdWx0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYmxlQWN0aW9uc0hlYWRlcicsICR0aGlzLT5sYW5nKCdhY3Rpb25zJykpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdmaWxlcycsICRwYXJhbXMpOwoJaW5jbHVkZSgndGFiLmRlZmF1bHRhZG1pbi5maWxlcy5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjYXRlZ29yaWVzJywgJHBhcmFtcyk7CglpbmNsdWRlKCd0YWIuZGVmYXVsdGFkbWluLmNhdGVnb3JpZXMucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwplY2hvICR0aGlzLT5TdGFydFRhYigndGVtcGxhdGVzJywgJHBhcmFtcyk7CglpbmNsdWRlKCd0YWIuZGVmYXVsdGFkbWluLnRlbXBsYXRlcy5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmZXJlbmNlcycsICRwYXJhbXMpOwoJaW5jbHVkZSgndGFiLmRlZmF1bHRhZG1pbi5wcmVmZXJlbmNlcy5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQoKCiRjYXRlZ29yeV9pZCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpCnsKCSRjYXRlZ29yeV9pZCA9ICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ107Cn0KCi8vIEdldCB0aGUgY2F0ZWdvcnkgZGV0YWlscwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CiRyb3cgPSAkZGItPkdldFJvdyggJHF1ZXJ5LCBhcnJheSggJGNhdGVnb3J5X2lkICkgKTsKCgkvL1Jlc2V0IGFsbCBjYXRlZ29yaWVzIHVzaW5nIHRoaXMgcGFyZW50IHRvIGhhdmUgbm8gcGFyZW50ICgtMSkKCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyBTRVQgcGFyZW50X2lkPT8sIG1vZGlmaWVkX2RhdGU9Jy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyBXSEVSRSBwYXJlbnRfaWQ9Pyc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgtMSwgJGNhdGVnb3J5X2lkKSk7CgoJLy9Ob3cgcmVtb3ZlIHRoZSBjYXRlZ29yeQoJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IjsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjYXRlZ29yeV9pZCkpOwoKLy9BbmQgcmVtb3ZlIGl0IGZyb20gYW55IGFydGljbGVzCi8vfiAkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmV3cyBTRVQgbmV3c19jYXRlZ29yeV9pZCA9IC0xIFdIRVJFIG5ld3NfY2F0ZWdvcnlfaWQgPSA/IjsKCS8vfiAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCiR0aGlzLT5VcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKTsKCi8vVXBkYXRlIHNlYXJjaCBpbmRleAokdGhpcy0+U2VhcmNoRGVsZXRlQ2F0ZWdvcnkoJGNhdGVnb3J5X2lkKTsKCi8vIGFkZCBtb3JlIGZpZWxkcyBhcyBuZWVkZWQgdG8gdGhlIHNlbmQgZXZlbnQKCkAkdGhpcy0+U2VuZEV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeURlbGV0ZWQnLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeV9pZCkpOwoKJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnY2F0ZWdvcnlkZWxldGVkJywgJ2FjdGl2ZV90YWInID0+ICdjYXRlZ29yaWVzJyk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.deletefile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykgKQp7CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CglyZXR1cm47Cn0KCiRmaWxlX2lkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydmaWxlX2lkJ10pKQp7CgkkZmlsZV9pZCA9ICRwYXJhbXNbJ2ZpbGVfaWQnXTsKfQoKLy8gcmVtb3ZlIHRoZSBmaWxlCiRxdWVyeSA9ICdTRUxFQ1Qgc2VydmVyX25hbWUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgV0hFUkUgZmlsZV9pZD0gPyc7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWxlX2lkKSk7CmlmICgkZGJyZXN1bHQpCnsKCSRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CglpZighICR0aGlzLT5jaGVja0ZpbGVBbGxvdygkZmlsZXBhdGgpICkKICAgICAgICB1bmxpbmsoJHJvd1snc2VydmVyX25hbWUnXSk7Cn0KCi8vVXBkYXRlIHNlYXJjaCBpbmRleAokdGhpcy0+U2VhcmNoRGVsZXRlRmlsZSgkZmlsZV9pZCk7CgovL05vdyByZW1vdmUgdGhlIGl0ZW0gZnJvbSBkYXRhYmFzZQokcXVlcnkgPSAnREVMRVRFIGZyb20gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFdIRVJFIGZpbGVfaWQ9ID8nOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmlsZV9pZCkpOwokcXVlcnkgPSAnREVMRVRFIGZyb20gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5IFdIRVJFIGZpbGVfaWQ9ID8nOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmlsZV9pZCkpOwoKCi8vIGFkZCBtb3JlIGZpZWxkcyBhcyBuZWVkZWQgdG8gdGhlIHNlbmQgZXZlbnQKQCR0aGlzLT5TZW5kRXZlbnQoJ0Rvd25sb2FkTWFuYWdlckZpbGVEZWxldGVkJywgYXJyYXkoJ2ZpbGVfaWQnID0+ICRmaWxlX2lkKSk7CgokcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdmaWxlZGVsZXRlZCcsICdhY3RpdmVfdGFiJyA9PiAnZmlsZXMnLCAnc2VsZWN0b3InPT4kcGFyYW1zWydzZWxlY3RvciddKTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7CgoKCj8+Cgo=]]></data>
	</file>
	<file>
	  <filename>/action.deletetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb3dubG9hZE1hbmFnZXInKSkKewoJZWNobyAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJcmV0dXJuOwp9CiRuZXdwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRlcycpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlX25hbWUnXSkgJiYgJHBhcmFtc1sndGVtcGxhdGVfbmFtZSddICE9ICcnKQp7CglpZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IERvd25sb2FkIE1hbmFnZXIgVGVtcGxhdGUnKSkKCXsKCQlpZigkdGhpcy0+RGVsZXRlVGVtcGxhdGUoJHBhcmFtc1sndGVtcGxhdGVfbmFtZSddKSkKCQl7CgkJCS8vIHRlbXBsYXRlIHN1Y2Nlc3NmdWxseSBkZWxldGVkCgkJCSRuZXdwYXJhbXNbJ3RhYl9tZXNzYWdlJ10gPSAndGVtcGxhdGVkZWxldGVkJzsKCQkJQCR0aGlzLT5TZW5kRXZlbnQoJ0Rvd25sb2FkTWFuYWdlclRlbXBsYXRlRGVsZXRlZCcsIGFycmF5KCd0ZW1wbGF0ZV9uYW1lJyA9PiAkdGVtcGxhdGVfbmFtZSkpOwoJCX0KCX0KCWVsc2UKCXsKCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgRG93bmxvYWQgTWFuYWdlciBUZW1wbGF0ZScpKSk7Cgl9Cn0KCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRuZXdwYXJhbXMgKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkJZXhpdDsKCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKJGZpbGVfaWQgPSAnJzsKJGZpbGUgPSBmYWxzZTsKCi8vIGxvYWQgZmlsZSBkYXRhCmlmKGlzc2V0KCRwYXJhbXNbJ2FsaWFzJ10pKQp7CgkkYWxpYXMgPSAkcGFyYW1zWydhbGlhcyddOwoKCS8vIGdldCB0aGUgZmlsZSBpZAoJJHF1ZXJ5ID0gJ1NFTEVDVCBmaWxlX2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgV0hFUkUgYWxpYXMgPSA/ICc7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ2FsaWFzJ10pKTsKCWlmICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCSAgICAkZmlsZV9pZCA9ICRyb3dbJ2ZpbGVfaWQnXTsKCgkvLyBnZXQgY2F0ZWdvcmllc3MKCSRmaWxlc19jYXRlZ29yaWVzID0gJHRoaXMtPkdldEZpbGVDYXRlZ29yaWVzKCdmaWxlX2lkID0gJy4kZmlsZV9pZCk7CgoJLy8gcnVuIHRoZSBhc3NpbmcgZmlsZXMgZnVuY3Rpb24KCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFdIRVJFIGZpbGVfaWQgPSAnLiRmaWxlX2lkOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7Cgkkc2hvd2hlYWRlcnMgPSBmYWxzZTsKCWluY2x1ZGUoJ2Z1bmN0aW9uLmFzc2luZ2ZpbGVzLnBocCcpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbScsICRvbmVyb3cpOwp9CmlmKCEkb25lcm93KSAvLyBjaGVja2luZyBpZiBmaWxlIGV4aXN0cyBpbiBkYXRhYmFzZQp7CgkkdGhpcy0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCR0aGlzLT5sYW5nKCdub2ZpbGUnKSk7Cn0KCgoKLy8gd2UgZ2l2ZSB0aGUgZmlsZSBpbmZvIHRvIHNtYXJ0eS4uLiBzbyBpbiBib3RoIGRldGFpbCBhbmQgZm9ybSB0ZW1wbGF0ZXMsIGZpbGUgaW5mbyB3aWxsIGJlIGF2YWlsYWJsZSB3aXRoICRmaWxlLT5maWVsZC4uLgoKaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZW1wbGF0ZSddICkgJiYgJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCdkZXRhaWxfJy4kdGVtcGxhdGVuYW1lKSApCnsKCS8vIHRlbXBsYXRlIGlzIHNwZWNpZmllZCBpbiBzbWFydHkgdGFnCgkvLyB0aGUgdGVtcGxhdGUgZXhpc3RzLCB3ZSdyZSBnb2luZyB0byB1c2UgaXQKfQplbHNlaWYoICRmaWxlLT50ZW1wbGF0ZV9kZXRhaWwgIT0gJycgJiYgJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCRmaWxlLT50ZW1wbGF0ZV9kZXRhaWwpICkKewoJLy9nZXR0aW5nIHRlbXBsYXRlIGZyb20gZmlsZSBpbmZvIGluIGRhdGFiYXNlCgkvLyBpZGVtCn0KZWxzZQp7CgkvLyBubyB0ZW1wbGF0ZSBzcGVjaWZpZWQsIG9yIHRlbXBsYXRlIGRvZXNuJ3QgZXhpc3QuLi4gd2UgZ2V0IHRoZSBkZWZhdWx0IG9uZQoJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2RldGFpbF90ZW1wbGF0ZScsICcnKTsKCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGVuYW1lKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1lbGFiZWwnLCAkdGhpcy0+TGFuZygnbmFtZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FsaWFzbGFiZWwnLCAkdGhpcy0+TGFuZygnYWxpYXNsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzZXJ2ZXJfbmFtZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3NlcnZlcl9uYW1lbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXh0bGFiZWwnLCAkdGhpcy0+TGFuZygnZXh0bGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc2l6ZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3NpemVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0eXBlbGFiZWwnLCAkdGhpcy0+TGFuZygndHlwZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hhc2hsYWJlbCcsICR0aGlzLT5MYW5nKCdoYXNobGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZGVzY3JpcHRpb25sYWJlbCcsICR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbmxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NyZWF0ZWRsYWJlbCcsICR0aGlzLT5MYW5nKCdjcmVhdGVkbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXhwaXJlc2xhYmVsJywgJHRoaXMtPkxhbmcoJ2V4cGlyZXNsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd2aXNpYmxlbGFiZWwnLCAkdGhpcy0+TGFuZygndmlzaWJsZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZWV4cGlyYXRpb250ZXh0JywgJHRoaXMtPkxhbmcoJ3VzZWV4cGlyYXRpb24nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYXNzb2NpYXRlZGxhYmVsJywgJHRoaXMtPkxhbmcoJ2Fzc29jaWF0ZWQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYWNjZXNzdHlwZWxhYmVsJywgJHRoaXMtPkxhbmcoJ2FjY2Vzc3R5cGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfZGV0YWlsbGFiZWwnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVmb3JkZXRhaWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfZm9ybWxhYmVsJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlZm9yZm9ybScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZV9lbWFpbGxhYmVsJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlZm9yZW1haWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZmV1Z3JvdXBzbGFiZWwnLCAkdGhpcy0+TGFuZygnZmV1Z3JvdXBzbGFiZWwnKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOwo=]]></data>
	</file>
	<file>
	  <filename>/action.download.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0mICR0aGlzLT5HZXREYigpOwokZmlsZSA9IGZhbHNlOwoKaWYoICFpc3NldCAoICRwYXJhbXNbJ2FsaWFzJ10pICkKCSR0aGlzLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJHRoaXMtPmxhbmcoJ25vZmlsZScpKTsKCgokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBXSEVSRSBhbGlhcyA9ID8gJzsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+Q3JlYXRlQWxpYXMoJHBhcmFtc1snYWxpYXMnXSkpKTsKaWYgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQp7CgkkZmlsZSA9IG5ldyBTdGRDbGFzcygpOwoJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSkKCQkkZmlsZS0+JGtleSA9ICR2YWx1ZTsKfQplbHNlCgkkdGhpcy0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCR0aGlzLT5sYW5nKCd3cm9uZ2ZpbGUnKSk7CgovLyBjaGVja2luZyBwZXJtaXNpb25zCmlmKAkoICR0aGlzLT5DaGVja0Rvd25UeXBlKCRmaWxlLT5hY2Nlc3N0eXBlICwgRE1OUl9CWV9NQUlMKSAmJiAhJHRoaXMtPk1haWxlckluc3RhbGxlZCgpICkgfHwKCQkoICR0aGlzLT5DaGVja0Rvd25UeXBlKCRmaWxlLT5hY2Nlc3N0eXBlICwgRE1OUl9CWV9GRVUpICYmICEkdGhpcy0+RkVVaW5zdGFsbGVkKCkgKSB8fAoJCSggJHRoaXMtPkNoZWNrRG93blR5cGUoJGZpbGUtPmFjY2Vzc3R5cGUgLCBETU5SX0JZX0JPVEggKSAmJiAhJHRoaXMtPk1haWxlckluc3RhbGxlZCgpICYmICEkdGhpcy0+RkVVaW5zdGFsbGVkKCkpKQp7CgkvLyB0aGUgZmlsZSBoYXMgYW4gYWNjZXNzIHR5cGUgdGhhdCBpcyB1bmF2YWlsYWJsZQoJJHRoaXMtPkRpc3BsYXlEb3dubG9hZEVycm9yUGFnZSgkdGhpcy0+bGFuZygnbm9hY2NlcycpKTsKfQoKLy8gaWYgdGhlIGZpbGUgaGFzIEZFVSBhY2Nlc3MsIHdlIGNoZWNrIGlmIHRoZSB1c2VyIGlzIGFscmVhZHkgbG9nZ2VkIGluIGFuZCBoYXMgYWNjZXNzCi8vIGlmIGhlIGRvZXMsIHdlIGRvbid0IGRpc3BsYXkgZm9ybXMgYW5kIGdvIHRvIHRoZSBkZXRhaWxzCiRoYXNwZXJtID0gZmFsc2U7CmlmKCAkdGhpcy0+Q2hlY2tEb3duVHlwZSgkZmlsZS0+YWNjZXNzdHlwZSAsIERNTlJfQllfRkVVKSApCgkkaGFzcGVybSA9ICR0aGlzLT5DaGVja0ZFVVBlcm0oJGZpbGUtPmZpbGVfaWQpOwoKLy8gdXNlciBoYXMgbm90IGdhaW4gYWNjZXMgYnkgRkVVIHNvIHdlIGFyZSBjaGVha2luZyBpZiBoZSBjYW4gZ2V0IHRoaXMgYnkgbWFpbAppZiggISRoYXNwZXJtICYmICR0aGlzLT5DaGVja0Rvd25UeXBlKCRmaWxlLT5hY2Nlc3N0eXBlICwgRE1OUl9CWV9NQUlMKSkKewoJLy8gRU1BSUwgSVMgQSBQT1NTSUJMRSBBQ0NFU1MKCgkvLyBsb2FkIHRoZSBpbnB1dHMgYW5kIGxhYmVscwoJJHByeCA9ICdzbV8nOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJmaXJzdG5hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygicHJvbXB0X2ZpcnN0bmFtZSIpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZmlyc3RuYW1lX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJHByeC4iZmlyc3RuYW1lIiwiIiwyOCw2NCkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsYXN0bmFtZV9sYWJlbCIsICR0aGlzLT5MYW5nKCJwcm9tcHRfbGFzdG5hbWUiKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhc3RuYW1lX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJHByeC4ibGFzdG5hbWUiLCIiLDI4LDY0KSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImVtYWlsX2xhYmVsIiwgJHRoaXMtPkxhbmcoInByb21wdF9lbWFpbCIpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZW1haWxfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwkcHJ4LiJlbWFpbCIsIiIsMjgsNjQpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigibWFpbGluZ2xpc3RfbGFiZWwiLCAkdGhpcy0+TGFuZygicHJvbXB0X21haWxpbmdsaXN0IikpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJtYWlsaW5nbGlzdF9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJHByeC4ibWFpbGluZ2xpc3QiLCAxLCAxKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJHByeC4nc3VibWl0JywkdGhpcy0+bGFuZygnc3VibWl0cmVxZW1haWwnKSwgJ29uY2xpY2s9InJldHVybiBkb3dubG9hZGVyX3ZhbGlkYXRlKFwnJy4kaWQuJ1wnKTsiJykgKTsKCgoKCWlmKCAkZmlsZS0+dGVtcGxhdGVfZm9ybSAhPSAnJyAmJiAkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJGZpbGUtPnRlbXBsYXRlX2Zvcm0pICkKCXsKCQkvLyB0aGUgdGVtcGxhdGUgZXhpc3RzLCB3ZSdyZSBnb2luZyB0byB1c2UgaXQKCX0KCWVsc2UKCXsKCQkvLyBubyB0ZW1wbGF0ZSBzcGVjaWZpZWQsIG9yIHRlbXBsYXRlIGRvZXNuJ3QgZXhpc3QuLi4gd2UgZ2V0IHRoZSBkZWZhdWx0IG9uZQoJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9mb3JtX3RlbXBsYXRlJywgJycpOwoJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGVuYW1lKTsKCX0KCgllY2hvICc8c2NyaXB0PgoJZnVuY3Rpb24gZG93bmxvYWRlcl92YWxpZGF0ZShpZCl7CgkJdmFyIGZpcnN0bmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKyInLiRwcnguJ2ZpcnN0bmFtZSIpLnZhbHVlOwoJCXZhciBsYXN0bmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKyInLiRwcnguJ2xhc3RuYW1lIikudmFsdWU7CgkJdmFyIGVtYWlsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQrIicuJHByeC4nZW1haWwiKS52YWx1ZTsKCQlpZihmaXJzdG5hbWUgPT0gIiIgfHwgbGFzdG5hbWUgPT0gIiIpewoJCQlhbGVydCgiJy4kdGhpcy0+TGFuZygicGxlYXNlX25hbWUiKS4nIik7CgkJCXJldHVybiBmYWxzZTsKCQl9ZWxzZSBpZihlbWFpbCA9PSAiIiB8fCBlbWFpbC5pbmRleE9mKCJAIikgPT0gLTEpewoJCQlhbGVydCgiJy4kdGhpcy0+TGFuZygicGxlYXNlX2VtYWlsIikuJyIpOwoJCQlyZXR1cm4gZmFsc2U7CgkJfWVsc2V7CgkJCXJldHVybiB0cnVlOwoJCX0KCX0KCTwvc2NyaXB0PgoJJzsKCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnc2VuZGVtYWlsJywgJHJldHVybmlkLCAncG9zdCcpOwoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiZmlsZV9pZCIsICRmaWxlLT5maWxlX2lkKTsKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7CgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7Cn0KCi8vIHVzZXIgaGFzIG5vdCBnYWluIGFjY2VzIGJ5IEZFVSBzbyB3ZSBhcmUgY2hlYWtpbmcgaWYgaGUgY2FuIGdldCB0aGlzIGJ5IGxvZ2luCmlmKCAhJGhhc3Blcm0gJiYgJHRoaXMtPkNoZWNrRG93blR5cGUoJGZpbGUtPmFjY2Vzc3R5cGUgLCBETU5SX0JZX0ZFVSkgJiYgJHRoaXMtPkZFVWluc3RhbGxlZCgpICkKewoJLy8gRkVVIElTIEEgUE9TU0lCTEUgQUNDRVNTCgoJJEZFVSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwoJaWYoJEZFVS0+TG9nZ2VkSW4oKSl7CgkJLy8gdGhlIHVzZXIgaXMgbG9nZ2VkIGluLCBidXQgZG9lc24ndCBoYXZlIGFjY2VzcwoJCSR0aGlzLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJHRoaXMtPmxhbmcoJ25vYWNjZXNzJykpOwoJfQoJZWxzZQoJewoJCS8vIHVzZXIgbm90IGxvZ2dlZCBpbgoJCSRsb2dpbm1zZyA9ICgkdGhpcy0+Q2hlY2tEb3duVHlwZSgkZmlsZS0+YWNjZXNzdHlwZSAsIERNTlJfQllfTUFJTCkpPydtYXlhbHNvbG9naW4nOidtdXN0bG9naW4nOwoJCWVjaG8gJzxwIGNsYXNzPSJkbWxvZ2ludGl0bGUiPicuJHRoaXMtPkxhbmcoJGxvZ2lubXNnKS4nPC9wPic7CgkJJGFsbG93ZWRncm91cHMgPSAkdGhpcy0+R2V0RmlsZUdyb3VwcygkZmlsZV9pZCk7CgkJJGFsbG93ZWRncm91cHMgPSAkdGhpcy0+R2V0RkVVR3JvdXBOYW1lcygkYWxsb3dlZGdyb3Vwcyk7CgkJJGFyciA9IGFycmF5KCJmb3JtIj0+ImxvZ2luIik7CgkJaWYoIWVtcHR5KCRhbGxvd2VkZ3JvdXBzKSkKCQkJJGFyclsib25seV9ncm91cHMiXT0kYWxsb3dlZGdyb3VwczsKCgkJJEZFVS0+X0RvVXNlckFjdGlvbigkaWQsJGFyciwgJHJldHVybmlkKTsKCX0KfQoKaWYoICR0aGlzLT5DaGVja0Rvd25UeXBlKCRmaWxlLT5hY2Nlc3N0eXBlICwgRE1OUl9CWV9GUkVFICkgfHwgJGhhc3Blcm0pCnsKCS8vIGRvd25sb2FkaW5nIGZpbGUKCSRmaWxlX25hbWUgPSAgJGZpbGUtPm5hbWUuKCRmaWxlLT5leHQhPScnPycuJy4gJGZpbGUtPmV4dDonJyk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZG93bmxvYWRfbmFtZScsICAkZmlsZV9uYW1lKSA7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Rvd25sb2FkaW5nJywgJHRoaXMtPmxhbmcoJ2Rvd25sb2FkaW5nJywgJGZpbGVfbmFtZSkgKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZG93bmxvYWRpbmdfaW5mbycsICR0aGlzLT5sYW5nKCdkb3dubG9hZGluZ19pbmZvJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdiYWNrdG9saXN0bGluaycsICc8YSBocmVmPSJqYXZhc2NyaXB0Omhpc3RvcnkuYmFjaygpIj4nLiR0aGlzLT5sYW5nKCdiYWNrdG9saXN0JykuJzwvYT4nKTsKCgloZWFkZXIoIlJlZnJlc2g6IDI7IHVybD0iLiRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10uIi9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9kb3dubG9hZC5waHA/YWxpYXM9Ii4kZmlsZS0+YWxpYXMpOwoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdkZWZhdWx0X2Rvd25sb2FkX3RlbXBsYXRlJyAsJycsdHJ1ZSkgOwoJLy9+IGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZG93bmxvYWQudHBsJyk7Cn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.do_updateassoc.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pIG9yICFpc3NldCgkcGFyYW1zWydmaWxlX2lkJ10pICkKewoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCk7Cn0KCiRmaWxlX2lkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydmaWxlX2lkJ10pKQp7CgkkZmlsZV9pZCA9ICRwYXJhbXNbJ2ZpbGVfaWQnXTsKfQokY2hlY2tlZCA9IGFycmF5KCk7Cgpmb3JlYWNoKCRwYXJhbXMgYXMgJGtleSA9PiAkdmFyICkKewoJJHRtcCA9IGV4cGxvZGUoIl8iICwgJGtleSk7CglpZiggJHRtcFswXSA9PSAiYXNzb2MiKSAKCQkkY2hlY2tlZFtdID0gKGludCkgJHRtcFsxXTsKfQovL34gdmFyX2R1bXAoJGNoZWNrZWQpOwoKJGFzc29jX2JlZm9yZSA9IGFycmF5KCk7CiRxdWVyeSA9ICJTRUxFQ1QgY2F0ZWdvcnlfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19jYXRlZ29yeSAKV0hFUkUgZmlsZV9pZCA9ID87IjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZmlsZV9pZCkpOwp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkkYXNzb2NfYmVmb3JlW10gPSAoaW50KSAkcm93WydjYXRlZ29yeV9pZCddOwovL34gdmFyX2R1bXAoJGFzc29jX2JlZm9yZSk7CgokcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkgCldIRVJFIGZpbGVfaWQgPSA/IEFORCBjYXRlZ29yeV9pZCBOT1QgSU4gKCAiLmltcGxvZGUoIiAsICIsJGNoZWNrZWQpLiIgKTsiOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSggJGZpbGVfaWQpKTsKCiRkaWZmID0gYXJyYXlfZGlmZiggICRjaGVja2VkLCAkYXNzb2NfYmVmb3JlICApOwokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkgKCBjYXRlZ29yeV9pZCwgZmlsZV9pZCkgIFZBTFVFUyAoICIuIGltcGxvZGUoIiAsICIuJGZpbGVfaWQuIiApLCAoICIsJGRpZmYpLiIsICIuJGZpbGVfaWQuIiApIiAgOwokZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCkAkdGhpcy0+U2VuZEV2ZW50KCdEb3dubG9hZE1hbmFnZXJGaWxlRWRpdGVkJywgYXJyYXkoJ2ZpbGVfaWQnID0+ICRmaWxlX2lkLCAnbmFtZScgPT4gJG5hbWUpKTsKJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnZmlsZW1vZGlmaWVkJywgJ2FjdGl2ZV90YWInID0+ICdmaWxlcycsICdzZWxlY3Rvcic9PiRwYXJhbXNbJ3NlbGVjdG9yJ10pOwokdGhpcy0+VXBkYXRlQXNzb2NpYXRpb25BZ3JlZ2F0aW9uKCAoaW50KSAkZmlsZV9pZCk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdjYXRlZ29yaWVzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCRwYXJhbXMpOwp9CgoKJGNhdGVnb3J5X2lkID0gKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKT8gaW50dmFsKCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pIDogLTE7CiRkZXNjcmlwdGlvbiA9IChpc3NldCgkcGFyYW1zWydkZXNjcmlwdGlvbiddKSk/ICRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ106Jyc7CiRwYXJlbnRfaWQgPSAoaXNzZXQoJHBhcmFtc1sncGFyZW50J10pKT9pbnR2YWwoJHBhcmFtc1sncGFyZW50J10pOicnOwokYWxpYXMgPSAoaXNzZXQoJHBhcmFtc1snYWxpYXMnXSkpPyR0aGlzLT5DcmVhdGVBbGlhcygkcGFyYW1zWydhbGlhcyddKTonJzsKJGRlZmF1bHRfdGVtcGxhdGU9IChpc3NldCgkcGFyYW1zWydkZWZhdWx0X3RlbXBsYXRlJ10pKT8kcGFyYW1zWydkZWZhdWx0X3RlbXBsYXRlJ106Jyc7CiRuYW1lID0gJyc7CgppZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpCnsKCS8vIHdlIGFyZSBlZGl0dGluZyBjYXRlZ29yeQoJaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpCgl7CgkJLy8gc2F2aW5nIGNoYW5nZXMKCQkkbmFtZSA9ICRwYXJhbXNbJ25hbWUnXTsKCgkJLy8gY2hlY2tpbmcgYWxpYXMKCQlpZighJHRoaXMtPkNoZWNrQWxpYXMoJ2ZpbGVzJywgJGFsaWFzKSkKCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnd3JvbmdhbGlhcycpKTsKCQllbHNlIGlmICgkbmFtZSAhPSAnJyApCgkJewoJCQkkdGltZSA9ICRkYi0+REJUaW1lU3RhbXAodGltZSgpKTsKCQkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFNFVCBuYW1lID0gPywgZGVzY3JpcHRpb24gPSA/LCBwYXJlbnRfaWQgPSA/LCBtb2RpZmllZF9kYXRlPT8gLCBhbGlhcz0/LCBkZWZhdWx0X3RlbXBsYXRlPT8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG5hbWUsICRkZXNjcmlwdGlvbiwgJHBhcmVudF9pZCwgJHRpbWUsICRhbGlhcywkZGVmYXVsdF90ZW1wbGF0ZSwgJGNhdGVnb3J5X2lkKSk7CgkJCSR0aGlzLT5VcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKTsKCQkJLy8gdXBkYXRlIHNlYXJjaCBpbmRleAoJCQkkdGhpcy0+U2VhcmNoRGVsZXRlQ2F0ZWdvcnkoJGNhdGVnb3J5X2lkKTsKCQkJJHRoaXMtPlNlYXJjaEFkZENhdGVnb3J5KCAoaW50KSAkY2F0ZWdvcnlfaWQsICRhbGlhcy4nICcuJG5hbWUuJyAnLiRkZXNjcmlwdGlvbik7CgkJCS8vIGFkZCBtb3JlIGZpZWxkcyBhcyBuZWVkZWQgdG8gdGhlIHNlbmQgZXZlbnQKCQkJQCR0aGlzLT5TZW5kRXZlbnQoJ0Rvd25sb2FkTWFuYWdlckNhdGVnb3J5RWRpdGVkJywgYXJyYXkoJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlfaWQsICduYW1lJyA9PiAkbmFtZSkpOwoJCQkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdjYXRlZ29yeXVwZGF0ZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2NhdGVnb3JpZXMnKTsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7CgkJfQoJCWVsc2UKCQl7CgkJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vbmFtZWdpdmVuJykpOwoJCX0KCX0KCS8vIGdldHRpbmcgY2F0ZWdvcnkgZGF0YSBmb3IgZWRpdGlvbgoJJHF1ZXJ5ID0gJ3NlbGVjdCBhbGlhcywgY2F0ZWdvcnlfaWQsIG5hbWUsIGRlc2NyaXB0aW9uLCBwYXJlbnRfaWQsZGVmYXVsdF90ZW1wbGF0ZSBmcm9tICcuY21zX2RiX3ByZWZpeCgpIC4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkPSA/JzsKCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjYXRlZ29yeV9pZCkpOwoKCWlmICgkcm93KQoJewoJCSRuYW1lID0gJHJvd1snbmFtZSddOwoJCSRkZXNjcmlwdGlvbiA9ICRyb3dbJ2Rlc2NyaXB0aW9uJ107CgkJJHBhcmVudF9pZCA9ICRyb3dbJ3BhcmVudF9pZCddOwoJCSRhbGlhcyA9ICRyb3dbJ2FsaWFzJ107CgkJJGRlZmF1bHRfdGVtcGxhdGUgPSAkcm93WydkZWZhdWx0X3RlbXBsYXRlJ107Cgl9CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdjYXRlZ29yeV9pZCcsICRjYXRlZ29yeV9pZCkpOwoJCgp9CmVsc2UgaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpCnsKCS8vIHdlIGFyZSBhZGRpbmcgbmV3IGNhdGVnb3J5CgkkbmFtZSA9ICRwYXJhbXNbJ25hbWUnXTsKCQoJLy8gYWRkaW5nIGFsaWFzCgkkaSA9IDE7CgkkYWxpYXMgPSAkbiA9ICR0aGlzLT5DcmVhdGVBbGlhcygkbmFtZSk7Cgl3aGlsZSghJHRoaXMtPkNoZWNrQWxpYXMoJ2NhdGVnb3JpZXMnLCAkYWxpYXMpKQoJCSRhbGlhcyA9ICRuLiItIi4kaSsrOwoJCQoJJGNhdGlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllc19zZXEiKTsKCSR0aW1lID0gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpOwoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgKGNhdGVnb3J5X2lkLCBuYW1lLCBhbGlhcywgZGVzY3JpcHRpb24sIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUsZGVmYXVsdF90ZW1wbGF0ZSkgVkFMVUVTICg/LD8sPyw/LD8sJy4kdGltZS4nLCcuJHRpbWUuJyw/KSc7CgkkcGFybXMgPSBhcnJheSgkY2F0aWQsJG5hbWUsJGFsaWFzLCRkZXNjcmlwdGlvbiwkcGFyZW50X2lkLCRkZWZhdWx0X3RlbXBsYXRlKTsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksICRwYXJtcyk7CgkkdGhpcy0+VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCk7CgkkdGhpcy0+U2VhcmNoQWRkQ2F0ZWdvcnkoIChpbnQpICRjYXRpZCwgJGFsaWFzLicgJy4kbmFtZS4nICcuJGRlc2NyaXB0aW9uKTsKCUAkdGhpcy0+U2VuZEV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeUFkZGVkJywgYXJyYXkoJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlfaWQsICduYW1lJyA9PiAkbmFtZSkpOwoKCSRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ2NhdGVnb3J5YWRkZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2NhdGVnb3JpZXMnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CgoKLy8gc3RhdGluZyBmb3JtCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdlZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgovLyBpbnB1dHMKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMzAsIDI1NSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0YWxpYXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FsaWFzJywgJGFsaWFzLCAzMCwgMjU1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRkZXNjcmlwdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZGVzY3JpcHRpb24nLCAkZGVzY3JpcHRpb24sIDMwLCAyNTUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHBhcmVudF9pZCcsICAkdGhpcy0+Q3JlYXRlUGFyZW50RHJvcGRvd24oJGlkLCAkY2F0ZWdvcnlfaWQsICRwYXJlbnRfaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGRlZmF1bHRfdGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdkZWZhdWx0X3RlbXBsYXRlJywkdGhpcy0+R2V0VGVtcGxhdGVzQ29tYm8oImxpc3QiKSwtMSwkZGVmYXVsdF90ZW1wbGF0ZSkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKLy8gbGFiZWxzCiR0aGlzLT5zbWFydHktPmFzc2lnbignbmFtZWxhYmVsJywgJHRoaXMtPkxhbmcoJ25hbWVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhbGlhc2xhYmVsJywgJHRoaXMtPkxhbmcoJ2FsaWFzbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZGVzY3JpcHRpb25sYWJlbCcsICR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbmxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3BhcmVudF9pZGxhYmVsJywgJHRoaXMtPkxhbmcoJ3BhcmVudF9pZGxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRfdGVtcGxhdGVsYWJlbCcsICR0aGlzLT5MYW5nKCdkZWZhdWx0dGVtcGxhdGUnKSk7CgoKI0Rpc3BsYXkgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0Y2F0ZWdvcnkudHBsJyk7Cj8+Cgo=]]></data>
	</file>
	<file>
	  <filename>/action.editfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CiAgICAkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdmaWxlcycsICdzZWxlY3Rvcic9PiRwYXJhbXNbJ3NlbGVjdG9yJ10pOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwkcGFyYW1zKTsKfQoKLy8gc2V0dGluZyBkZWZhdWx0cwokZmlsZV9pZCA9IGlzc2V0KCRwYXJhbXNbJ2ZpbGVfaWQnXSk/KGludCkkcGFyYW1zWydmaWxlX2lkJ106Jyc7CiRzZXJ2ZXJfbmFtZSA9ICcnOwokZXh0ID0gaXNzZXQoJHBhcmFtc1snZXh0J10pPyRwYXJhbXNbJ2V4dCddOicnOwokc2l6ZSA9ICcnOwokdGh1bWJfdmFsdWUgPScnOwokaGFzaCA9ICcnOwokY3JlYXRlZCA9ICcnOwokZXhwaXJlID0gJyc7CiRzdGFydCA9ICcnOwokdmlzaWJsZSA9IChpc3NldCgkcGFyYW1zWyd2aXNpYmxlJ10pKT8kdmlzaWJsZSA9ICRwYXJhbXNbJ3Zpc2libGUnXTowOwokdHlwZSA9ICcnOwokdXNlZXhwID0gMDsKJGFsaWFzID0gKGlzc2V0KCRwYXJhbXNbJ2FsaWFzJ10pKT8kcGFyYW1zWydhbGlhcyddOicnOwokYWNjZXNzdHlwZSA9IChpc3NldCgkcGFyYW1zWydhY2Nlc3N0eXBlJ10pKT8kcGFyYW1zWydhY2Nlc3N0eXBlJ106MDsKJGNvdW50ZXIgPSAoIWlzc2V0KCRwYXJhbXNbJ2NvdW50ZXInXSkgfHwgJHBhcmFtc1snY291bnRlciddPDApPzA6JHBhcmFtc1snY291bnRlciddOwokdGVtcGxhdGVfZGV0YWlsID0gKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlX2RldGFpbCddKSk/JHBhcmFtc1sndGVtcGxhdGVfZGV0YWlsJ106Jyc7CiR0ZW1wbGF0ZV9mb3JtID0gKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlX2Zvcm0nXSkpPyRwYXJhbXNbJ3RlbXBsYXRlX2Zvcm0nXTonJzsKJHRlbXBsYXRlX2VtYWlsID0gKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlX2VtYWlsJ10pKT8kcGFyYW1zWyd0ZW1wbGF0ZV9lbWFpbCddOicnOwokZmV1Z3JvdXBzID0gKGlzc2V0KCRwYXJhbXNbJ2ZldWdyb3VwcyddKSk/JHBhcmFtc1snZmV1Z3JvdXBzJ106YXJyYXkoKTsKJGRlc2NyaXB0aW9uID0gKGlzc2V0KCRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10pKT8kcGFyYW1zWydkZXNjcmlwdGlvbiddOicnOwokdGh1bWJfdmFsdWUgPSAoaXNzZXQoJHBhcmFtc1sndGh1bWJfcGF0aCddKSk/JHBhcmFtc1sndGh1bWJfcGF0aCddOicnOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ3VzZWV4cCddKSkKCSRleHBpcmVzID0gJHBhcmFtc1snZXhwaXJlZGF0ZV9ZZWFyJ10uJy0nLiRwYXJhbXNbJ2V4cGlyZWRhdGVfTW9udGgnXS4nLScuJHBhcmFtc1snZXhwaXJlZGF0ZV9EYXknXS4nICcuJHBhcmFtc1snZXhwaXJlZGF0ZV9Ib3VyJ10uJzonLiRwYXJhbXNbJ2V4cGlyZWRhdGVfTWludXRlJ10uJzonLiRwYXJhbXNbJ2V4cGlyZWRhdGVfU2Vjb25kJ107CmVsc2UKCSRleHBpcmVzID0gTlVMTDsKaWYgKGlzc2V0KCRwYXJhbXNbJ3VzZXN0YXJ0J10pKQogICAgJHN0YXJ0cyA9ICRwYXJhbXNbJ3N0YXJ0ZGF0ZV9ZZWFyJ10uJy0nLiRwYXJhbXNbJ3N0YXJ0ZGF0ZV9Nb250aCddLictJy4kcGFyYW1zWydzdGFydGRhdGVfRGF5J10uJyAnLiRwYXJhbXNbJ3N0YXJ0ZGF0ZV9Ib3VyJ10uJzonLiRwYXJhbXNbJ3N0YXJ0ZGF0ZV9NaW51dGUnXS4nOicuJHBhcmFtc1snc3RhcnRkYXRlX1NlY29uZCddOwplbHNlCiAgICAkc3RhcnRzID0gTlVMTDsKCgokbmFtZSA9ICcnOwppZihpc3NldCgkcGFyYW1zWydjaGFuZ2V2aXNpYmlsaXR5J10pKQp7CiAgICBpZihlbXB0eSgkZmlsZV9pZCkgfHwgIWlzX251bWVyaWMoJGZpbGVfaWQpKQogICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9maWxlJykpOwoJcmV0dXJuOwogICAgfQogICAgCiAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFNFVCB2aXNpYmxlID0gPyBXSEVSRSBmaWxlX2lkID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdmlzaWJsZSwgJGZpbGVfaWQpKTsKICAgIEAkdGhpcy0+U2VuZEV2ZW50KCdEb3dubG9hZE1hbmFnZXJGaWxlRWRpdGVkJywgYXJyYXkoJ2ZpbGVfaWQnID0+ICRmaWxlX2lkLCAnbmFtZScgPT4gJG5hbWUpKTsKICAgICRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2ZpbGVzJywgJ3NlbGVjdG9yJz0+JHBhcmFtc1snc2VsZWN0b3InXSk7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQplbHNlIGlmIChpc3NldCgkcGFyYW1zWyduYW1lJ10pKQp7CgkkbmFtZSA9ICRwYXJhbXNbJ25hbWUnXTsKCWlmICgkbmFtZSAhPSAnJyAmJiAkYWxpYXMgIT0gJycpCgl7CiAgICAgICAgCgkJLy8gY2hlY2tpbmcgYWxpYXMKCQkkYWxpYXMgPSAkdGhpcy0+Q3JlYXRlQWxpYXMoJGFsaWFzKTsKCQlpZighJHRoaXMtPkNoZWNrQWxpYXMoJ2ZpbGVzJywgJGFsaWFzLCRwYXJhbXNbJ2ZpbGVfaWQnXSwnZmlsZV9pZCcpKQoJCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCd3cm9uZ2FsaWFzJykpOwoJCWVsc2UKCQl7CgkJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgU0VUIGFsaWFzID0gPywgIG5hbWUgPSA/LCAgZXh0ID0gPywgIGRlc2NyaXB0aW9uID0gPywgIGV4cGlyZXMgPSA/LHN0YXJ0cyA9ID8sIHZpc2libGUgPSA/LCBhY2Nlc3N0eXBlPT8sIHRlbXBsYXRlX2RldGFpbD0/LCB0ZW1wbGF0ZV9mb3JtPT8sIHRlbXBsYXRlX2VtYWlsPT8sIGNvdW50ZXIgPSA/LCB0aHVtYl9wYXRoID0gPyBXSEVSRSBmaWxlX2lkID0gPyc7CgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRhbGlhcywgJG5hbWUsICRleHQsICRkZXNjcmlwdGlvbiwgICRleHBpcmVzLCRzdGFydHMsICR2aXNpYmxlLCAkYWNjZXNzdHlwZSwgJHRlbXBsYXRlX2RldGFpbCwgJHRlbXBsYXRlX2Zvcm0sICR0ZW1wbGF0ZV9lbWFpbCwkY291bnRlciwgJHRodW1iX3ZhbHVlLCAkZmlsZV9pZCkpOwoKCQkJLy8gdXBkYXRlIGZldSBncm91cHMgYXNzb2NpYXRpb24KCQkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVncm91cHMgV0hFUkUgZmlsZV9pZD0/IjsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGVfaWQpKTsKCQkJZm9yZWFjaCgkZmV1Z3JvdXBzIGFzICRncm91cCl7CgkJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZWdyb3VwcyBTRVQgZmlsZV9pZD0/LCBncm91cF9pZD0/IjsKCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWxlX2lkLCAkZ3JvdXApKTsKCQkJfQoKCQkJLy8gdXBkYXRlIHNlYXJjaCBpbmRleAoJCQkkdGhpcy0+U2VhcmNoRGVsZXRlRmlsZSgkZmlsZV9pZCk7CgkJCWlmKCR2aXNpYmxlKQoJCQkJJHRoaXMtPlNlYXJjaEFkZEZpbGUoICRmaWxlX2lkLCAkYWxpYXMuJyAnLiRuYW1lLicgJy4kZGVzY3JpcHRpb24sICRleHBpcmVzKTsKCQkJLy8gYWRkIG1vcmUgZmllbGRzIGFzIG5lZWRlZCB0byB0aGUgc2VuZCBldmVudAoJCQlAJHRoaXMtPlNlbmRFdmVudCgnRG93bmxvYWRNYW5hZ2VyRmlsZUVkaXRlZCcsIGFycmF5KCdmaWxlX2lkJyA9PiAkZmlsZV9pZCwgJ25hbWUnID0+ICRuYW1lKSk7CgkJCSRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ2ZpbGVtb2RpZmllZCcsICdhY3RpdmVfdGFiJyA9PiAnZmlsZXMnLCAnc2VsZWN0b3InPT4kcGFyYW1zWydzZWxlY3RvciddKTsKCQkJJHRoaXMtPlVwZGF0ZUFzc29jaWF0aW9uQWdyZWdhdGlvbiggKGludCkgJGZpbGVfaWQpOwoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKCQl9Cgl9CgllbHNlCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7Cn0KCiRxdWVyeSA9ICdzZWxlY3QgKiBmcm9tICcuY21zX2RiX3ByZWZpeCgpIC4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBXSEVSRSBmaWxlX2lkPSA/JzsKJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGZpbGVfaWQpKTsKLy9+IHZhcl9kdW1wKCRyb3cpOwppZiAoJHJvdykKewoJJG5hbWUgPSAkcm93WyduYW1lJ107CgkkYWxpYXMgPSAkcm93WydhbGlhcyddOwoJJHNlcnZlcl9uYW1lID0gJHJvd1snc2VydmVyX25hbWUnXTsKCSRleHQgPSAkcm93WydleHQnXTsKCSRzaXplID0gJHJvd1snc2l6ZSddOwoJJGhhc2ggPSAkcm93WydoYXNoJ107CgkkZGVzY3JpcHRpb24gPSAkcm93WydkZXNjcmlwdGlvbiddOwoJJGNyZWF0ZWQgPSAkcm93WydjcmVhdGVkJ107CglpZiggIWlzX251bGwoJHJvd1snZXhwaXJlcyddKSApCgl7CgkJJHVzZWV4cCA9IDE7CgkJJGV4cGlyZSA9IHN0cnRvdGltZSgkcm93WydleHBpcmVzJ10pOwoJfQogICAgaWYoICFpc19udWxsKCRyb3dbJ3N0YXJ0cyddKSApCiAgICB7CiAgICAgICAgJHVzZXN0YXJ0ID0gMTsKICAgICAgICAkc3RhcnQgPSBzdHJ0b3RpbWUoJHJvd1snc3RhcnRzJ10pOwogICAgfQoJJHZpc2libGUgPSAkcm93Wyd2aXNpYmxlJ107CgkkdHlwZSA9ICRyb3dbJ3R5cGUnXTsKCSRjb3VudGVyID0gJHJvd1snY291bnRlciddOwoJJGFjY2Vzc3R5cGUgPSAkcm93WydhY2Nlc3N0eXBlJ107CgkkdGVtcGxhdGVfZGV0YWlsID0gJHJvd1sndGVtcGxhdGVfZGV0YWlsJ107CgkkdGVtcGxhdGVfZm9ybSA9ICRyb3dbJ3RlbXBsYXRlX2Zvcm0nXTsKCSR0ZW1wbGF0ZV9lbWFpbCA9ICRyb3dbJ3RlbXBsYXRlX2VtYWlsJ107CgkkdGh1bWJfdmFsdWUgPSAkcm93Wyd0aHVtYl9wYXRoJ107CgkkZmV1Z3JvdXBzID0gJHRoaXMtPkdldEZpbGVHcm91cHMoJGZpbGVfaWQpOwp9CgoKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwokcXVlcnkgPSAiU0VMRUNUICBjLmNhdGVnb3J5X2lkLCBjLmxvbmdfbmFtZSAsIGZjLmZpbGVfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIGMKTEVGVCBPVVRFUiBKT0lOICAoIAoJU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19jYXRlZ29yeSBmYwoJV0hFUkUgZmlsZV9pZCA9ID8KCSkgZmMKT04gZmMuY2F0ZWdvcnlfaWQgPSBjLmNhdGVnb3J5X2lkCk9SREVSIEJZIGMuaGllcmFyY2h5X3ByaW9yaXR5OyAiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRmaWxlX2lkKSk7CiRyb3djbGFzcyA9ICdyb3cxJzsKLy9+IHZhcl9kdW1wKCRkYnJlc3VsdCk7CndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKewoJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJJG9uZXJvdy0+bmFtZSA9ICRyb3dbJ2xvbmdfbmFtZSddOwoJLy9+ICRyb3dbJ2NhdGVnb3J5X2lkJ107Cgkkb25lcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZG9fZGVsZXRlYXNzb2MnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZmlsZV9pZCc9PiRmaWxlX2lkLCdjYXRlZ29yeV9pZCc9PiRyb3dbJ2NhdGVnb3J5X2lkJ10pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZScpKTsKCWlmKCBpc19udWxsKCAkcm93WydmaWxlX2lkJ10gKSkKCQkkb25lcm93LT5pbnB1dGFzc29jID0gICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2Fzc29jXycuJHJvd1snY2F0ZWdvcnlfaWQnXSwgJzEnLCAwLCAnY2xhc3M9InBhZ2VjaGVja2JveCInKTsKCWVsc2UKCQkkb25lcm93LT5pbnB1dGFzc29jID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnYXNzb2NfJy4kcm93WydjYXRlZ29yeV9pZCddLCAnMScsIDEsICdjbGFzcz0icGFnZWNoZWNrYm94IicpOwoJJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgkkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCSgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOwp9CiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2Fzc29jaWF0aW9ucycsICRlbnRyeWFycmF5KTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtYXNzb2MnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2RvX3VwZGF0ZWFzc29jJywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5mb3JtYXNzb2MnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCgojRGlzcGxheSB0ZW1wbGF0ZQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnZWRpdGZpbGUnLCAkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICRuYW1lLCAzMCwgMjU1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRhbGlhcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYWxpYXMnLCAkYWxpYXMsIDMwLCAyNTUpKTsKLy9+ICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRzZXJ2ZXJfbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2VydmVyX25hbWUnLCAkc2VydmVyX25hbWUsIDMwLCAzMCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0c2VydmVyX25hbWUnLCAgJHNlcnZlcl9uYW1lKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGV4dCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZXh0JywgJGV4dCwgMzAsIDUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGNvdW50ZXInLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2NvdW50ZXInLCAkY291bnRlciwgMzAsIDUpKTsKLy9+ICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRzaXplJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzaXplJywgJHNpemUsIDMwLCAxMCkpOwokc2l6ZSA9ICggJHNpemU8MTAyND8gICRzaXplLiIgQiI6ICggJHNpemU8MTA0ODU3NiA/ICAgKChpbnQpICgkc2l6ZS8xMDI0KSkuIiBLQiIgOiAoKGludCkgKCRzaXplLzEwNDg1NzYgKSkuIiBNQiIgKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRzaXplJywgICRzaXplICk7Ci8vfiAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0aGFzaCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaGFzaCcsICRoYXNoLCAzMCwgMzIpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGhhc2gnLCAkaGFzaCk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRkZXNjcmlwdGlvbicsICR0aGlzLT5DcmVhdGVUZXh0QXJlYSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fd3lzaXd5ZycsIHRydWUpLCAkaWQsICRkZXNjcmlwdGlvbiwgJ2Rlc2NyaXB0aW9uJywgJ3BhZ2VzbWFsbHRleHRhcmVhJywgJycsICcnLCAnJywgJzIwJywgJzUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRleHAnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd1c2VleHAnLCAnMScsICR1c2VleHAsICdjbGFzcz0icGFnZWNoZWNrYm94IicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHN0YXJ0JywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAndXNlc3RhcnQnLCAnMScsICR1c2VzdGFydCwgJ2NsYXNzPSJwYWdlY2hlY2tib3giJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0dmlzaWJsZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3Zpc2libGUnLCAnMScsICR2aXNpYmxlLCAnY2xhc3M9InBhZ2VjaGVja2JveCInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR0eXBlJywgJHR5cGUpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0Y3JlYXRlZCcsICRjcmVhdGVkKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGV4cGlyZXMnLCAkZXhwaXJlKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdleHBpcmVkYXRlcHJlZml4JywgJGlkLidleHBpcmVkYXRlXycpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0c3RhcnRzJywgJHN0YXJ0KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGRhdGVwcmVmaXgnLCAkaWQuJ3N0YXJ0ZGF0ZV8nKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGFjY2Vzc3R5cGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdhY2Nlc3N0eXBlJywkdGhpcy0+R2V0QWNjZXNzVHlwZUNvbWJvKCksLTEsJGFjY2Vzc3R5cGUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHRodW1iX3BhdGgnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0aHVtYl9wYXRoJywkdGhpcy0+R2V0VGh1bWJuYWlsc0Ryb3Bkb3duKCR0aHVtYl92YWx1ZSksLTEsJHRodW1iX3ZhbHVlKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRmZXVncm91cHMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwgJ2ZldWdyb3Vwc1tdJywkdGhpcy0+R2V0R3JvdXBzQ29tYm8oKSwkZmV1Z3JvdXBzKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR0ZW1wbGF0ZV9mb3JtJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAndGVtcGxhdGVfZm9ybScsJHRoaXMtPkdldFRlbXBsYXRlc0NvbWJvKCJmb3JtIiksLTEsJHRlbXBsYXRlX2Zvcm0pKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHRlbXBsYXRlX2RldGFpbCcsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3RlbXBsYXRlX2RldGFpbCcsJHRoaXMtPkdldFRlbXBsYXRlc0NvbWJvKCJkZXRhaWwiKSwtMSwkdGVtcGxhdGVfZGV0YWlsKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR0ZW1wbGF0ZV9lbWFpbCcsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3RlbXBsYXRlX2VtYWlsJywkdGhpcy0+R2V0VGVtcGxhdGVzQ29tYm8oImVtYWlsIiksLTEsJHRlbXBsYXRlX2VtYWlsKSk7CgovLyBBU1NJTkcgQUxMIExBQkVMUwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1lbGFiZWwnLCAkdGhpcy0+TGFuZygnbmFtZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FsaWFzbGFiZWwnLCAkdGhpcy0+TGFuZygnYWxpYXNsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzZXJ2ZXJfbmFtZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3NlcnZlcl9uYW1lbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXh0bGFiZWwnLCAkdGhpcy0+TGFuZygnZXh0bGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc2l6ZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3NpemVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0eXBlbGFiZWwnLCAkdGhpcy0+TGFuZygndHlwZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hhc2hsYWJlbCcsICR0aGlzLT5MYW5nKCdoYXNobGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY291bnRlcmxhYmVsJywgJHRoaXMtPkxhbmcoJ2NvdW50ZXJsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbmxhYmVsJywgJHRoaXMtPkxhbmcoJ2Rlc2NyaXB0aW9ubGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY3JlYXRlZGxhYmVsJywgJHRoaXMtPkxhbmcoJ2NyZWF0ZWRsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdleHBpcmVzbGFiZWwnLCAkdGhpcy0+TGFuZygnZXhwaXJlc2xhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0bGFiZWwnLCAkdGhpcy0+TGFuZygnc3RhcnRzbGFiZWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndmlzaWJsZWxhYmVsJywgJHRoaXMtPkxhbmcoJ3Zpc2libGVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VleHBpcmF0aW9udGV4dCcsICR0aGlzLT5MYW5nKCd1c2VleHBpcmF0aW9uJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZXN0YXJ0dGV4dCcsICR0aGlzLT5MYW5nKCd1c2VzdGFydCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aHVtYl9wYXRobGFiZWwnLCAkdGhpcy0+TGFuZygndGh1bWJsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhc3NvY2lhdGVkbGFiZWwnLCAkdGhpcy0+TGFuZygnYXNzb2NpYXRlZCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhY2Nlc3N0eXBlbGFiZWwnLCAkdGhpcy0+TGFuZygnYWNjZXNzdHlwZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZV9kZXRhaWxsYWJlbCcsICR0aGlzLT5MYW5nKCd0ZW1wbGF0ZWZvcmRldGFpbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZV9mb3JtbGFiZWwnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVmb3Jmb3JtJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlX2VtYWlsbGFiZWwnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVmb3JlbWFpbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmZXVncm91cHNsYWJlbCcsICR0aGlzLT5MYW5nKCdmZXVncm91cHNsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdleHRyYXRhYicsICR0aGlzLT5FbmRUYWIoKS4kdGhpcy0+U3RhcnRUYWIoJ2V4dHJhJywgJHBhcmFtcykgKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2ZpbGVfaWQnLCAkZmlsZV9pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NlbGVjdG9yJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3NlbGVjdG9yJywgJHBhcmFtc1snc2VsZWN0b3InXSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoKJHRhYiA9ICcnOwplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigib3ZlcmFsbCIsJHRoaXMtPkxhbmcoIm92ZXJhbGx0YWJoZWFkZXIiKSwoJHRhYj09Im92ZXJhbGwiKSkgOwoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJhc3NvY2F0aW9ucyIsJHRoaXMtPkxhbmcoImFzc29jYXRpb25zdGFiaGVhZGVyIiksKCR0YWI9PSJhc3NvY2F0aW9ucyIpKTsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigiZXh0cmEiLGxhbmcoImFkdmFuY2VkIiksKCR0YWI9PSJleHRyYSIpKSA7CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ292ZXJhbGwnLCAkcGFyYW1zKSA7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRmaWxlLnRwbCcpOwoJZWNobyAkdGhpcy0+RW5kVGFiKCkgOwoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2Fzc29jYXRpb25zJywgJHBhcmFtcykgOwoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0ZmlsZV9hc3NvYy50cGwnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpIDsKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoKCj8+Cgo=]]></data>
	</file>
	<file>
	  <filename>/action.edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKewoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGVzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cn0KCiRwcmVmaXggPSBpc3NldCgkcGFyYW1zWydwcmVmaXgnXSk/JHBhcmFtc1sncHJlZml4J106Jyc7CiR0ZW1wbGF0ZV9uYW1lID0gJyc7CgppZiAoIGlzc2V0KCRwYXJhbXNbJ2NvbnRlbnQnXSkgKQp7CgkvLyB0aGUgdGVtcGxhdGUgaGFzIGJlZW4gc3VibWl0dGVkCgkkZXJyb3JzID0gMDsKCglpZigkcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ10gPT0gJycpCgl7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7CgkJJGVycm9ycysrOwoJfQoKCWlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IERvd25sb2FkIE1hbmFnZXIgVGVtcGxhdGUnKSApCgl7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nLCBhcnJheSgnTW9kaWZ5IERvd25sb2FkIE1hbmFnZXIgVGVtcGxhdGUnKSkpOwoJCSRlcnJvcnMrKzsKCX0KCgkkY29udGVudCA9ICRwYXJhbXNbJ2NvbnRlbnQnXTsKCSR0ZW1wbGF0ZV9uYW1lID0gJHBhcmFtc1sndGVtcGxhdGVfbmFtZSddOwoJCglpZiggJGVycm9ycyA9PSAwICYmIGlzc2V0KCRwYXJhbXNbJ25ldyddKSAmJiAkcGFyYW1zWyduZXcnXSApCgl7CgkJLy8gbmV3IHRlbXBsYXRlCgkJJG1lc3NhZ2UgPSAndGVtcGxhdGVhZGRlZCc7CgkJJHRlbXBsYXRlX25hbWUgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCR0ZW1wbGF0ZV9uYW1lKTsKCQkvLyBjaGVjayBpZiB0aGUgbmFtZSBhbHJlYWR5IGV4aXN0czoKCQkkYWxsdGVtcGxhdGVzID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoJHRoaXMtPkdldE5hbWUoKSk7CgkJaWYoaW5fYXJyYXkoJHByZWZpeC4kdGVtcGxhdGVfbmFtZSwgJHRoaXMtPkxpc3RUZW1wbGF0ZXMoJHRoaXMtPkdldE5hbWUoKSkpKQoJCXsKCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnYWxyZWFkeWV4aXN0JykpOwoJCQkkZXJyb3JzKys7CgkJfQoJCWVsc2UKCQl7CgkJCUAkdGhpcy0+U2VuZEV2ZW50KCdEb3dubG9hZE1hbmFnZXJUZW1wbGF0ZUFkZGVkJywgYXJyYXkoJ3RlbXBsYXRlX25hbWUnID0+ICR0ZW1wbGF0ZV9uYW1lLCAnY29udGVudCcgPT4gJGNvbnRlbnQsICdwcmVmaXgnID0+ICRwcmVmaXgpKTsKCQl9Cgl9CgllbHNlCgl7CgkJLy8gZXhpc2l0aW5nIHRlbXBsYXRlCgkJJG1lc3NhZ2UgPSAndGVtcGxhdGV1cGRhdGVkJzsKCQkvLyBmb3JjZSBhIGNhY2hlIGNsZWFyPwoJCSR0aGlzLT5EZWxldGVUZW1wbGF0ZSgkcHJlZml4LiR0ZW1wbGF0ZV9uYW1lLCAkdGhpcy0+R2V0TmFtZSgpKTsKCQlAJHRoaXMtPlNlbmRFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVFZGl0ZWQnLCBhcnJheSgndGVtcGxhdGVfbmFtZScgPT4gJHRlbXBsYXRlX25hbWUsICdjb250ZW50JyA9PiAkY29udGVudCwgJ3ByZWZpeCcgPT4gJHByZWZpeCkpOwoJfQoJCQoJaWYoJGVycm9ycyA9PSAwKQoJewoJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkcHJlZml4LiR0ZW1wbGF0ZV9uYW1lLCAkY29udGVudCwgJHRoaXMtPkdldE5hbWUoKSk7CgkJJG5ldyA9IGZhbHNlOwoKCQlpZihpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpCgkJewoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgndGFiX21lc3NhZ2UnPT4gJG1lc3NhZ2UsICdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGVzJykpOwoJCX0KCQllbHNlCgkJewoJCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygkbWVzc2FnZSkpOwoJCX0KCX0KfQplbHNlaWYgKCBpc3NldCgkcGFyYW1zWydmcm9tJ10pICYmICR0bXAgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHByZWZpeC4kcGFyYW1zWydmcm9tJ10sICR0aGlzLT5HZXROYW1lKCkpICkKewoJLy8gd2UgYXJlIGR1cGxpY2F0aW5nIGFuIGV4aXN0aW5nIHRlbXBsYXRlCgkkY29udGVudCA9ICR0bXA7CgkkbmV3ID0gdHJ1ZTsKfQplbHNlaWYgKCBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ10pICYmICR0bXAgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHByZWZpeC4kcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ10sICR0aGlzLT5HZXROYW1lKCkpICkKewoJLy8gd2UgYXJlIGVkaXRpbmcgYW4gZXhpc3RpbmcgdGVtcGxhdGUKCSRjb250ZW50ID0gJHRtcDsKCSR0ZW1wbGF0ZV9uYW1lID0gJHBhcmFtc1sndGVtcGxhdGVfbmFtZSddOwoJJG5ldyA9IGZhbHNlOwp9CmVsc2UKewoJLy8gd2UgYXJlIGNyZWF0aW5nIGEgbmV3IHRlbXBsYXRlCgkvLyB3ZSBnZXQgYSBkZWZhdWx0IGNvbnRlbnQgZm9yIHRoZSBuZXcgdGVtcGxhdGUKCSRjb250ZW50ID0gJHRoaXMtPkdldFRlbXBsYXRlRnJvbUZpbGUoJHByZWZpeC4nZGVmYXVsdCcpOwoJLy8gZGVmYXVsdCB0ZW1wbGF0ZXMsIGlmIGFueSwgc2hvdWxkIGJlIG5hbWVkICJwcmVmaXhfZGVmYXVsdC50cGwiCgkkbmV3ID0gdHJ1ZTsKfQoKLy8gZm9ybSBkaXNwbGF5CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRjb250ZW50JywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICRjb250ZW50LCAnY29udGVudCcsICcnLCAnJywgJycsICcnLCAnMjAnLCAnNScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHRlbXBsYXRlX25hbWUnLCAkbmV3PyR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGVtcGxhdGVfbmFtZScsICR0ZW1wbGF0ZV9uYW1lLCAzMCwgNjQpOiR0ZW1wbGF0ZV9uYW1lLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0ZW1wbGF0ZV9uYW1lJywgJHRlbXBsYXRlX25hbWUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoZWxwX3RlbXBsYXRlX3ZhcmlhYmxlcycsICR0aGlzLT5MYW5nKCRwcmVmaXguJ3RlbXBsYXRlaGVscCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoZWxwX3RlbXBsYXRlX2dlbmVyYWwnLCAkdGhpcy0+TGFuZygnZ2VuZXJhbF90ZW1wbGF0ZWhlbHAnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY29udGVudGxhYmVsJywgJHRoaXMtPkxhbmcoJ2NvbnRlbnRsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZV9uYW1lbGFiZWwnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVfbmFtZWxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICduZXcnLCAkbmV3KS4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAncHJlZml4JywgJHByZWZpeCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FwcGx5JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5JywgbGFuZygnYXBwbHknKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0dGVtcGxhdGUudHBsJyk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.reorder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb3dubG9hZE1hbmFnZXInKSkKewoJZWNobyAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKewoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnY2F0ZWdvcmllcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CmVsc2UgaWYgKCAhaXNzZXQoJHBhcmFtc1sncHJpb3JpdHknXSkgJiYgIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKQp7CgoJI1B1dCB0b2dldGhlciBhIGxpc3Qgb2YgY3VycmVudCBjYXRlZ29yaWVzLi4uCgkkZW50cnlhcnJheSA9IGFycmF5KCk7CgkKCSRxdWVyeSA9ICJTRUxFQ1QgZmMuZmlsZV9pZCwgZi5uYW1lLCBmYy5pdGVtX29yZGVyIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkgZmMgTEVGVCBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIGYgT04gZmMuZmlsZV9pZCA9IGYuZmlsZV9pZCAgV0hFUkUgZmMuY2F0ZWdvcnlfaWQgPSA/IE9SREVSIEJZIGZjLml0ZW1fb3JkZXIsIGZjLmZpbGVfaWQ7ICI7Ci8vfiBlY2hvICRxdWVyeTsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pICk7CgkvL34gJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkKCSRyb3djbGFzcyA9ICdyb3cxJzsKCS8vfiB2YXJfZHVtcCgkZGJyZXN1bHQpOwoJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCQoJCSRkZXB0aCA9IGNvdW50KGV4cGxvZGUoJ1wuJywgJHJvd1snaGllcmFyY2h5J10pKTsKCQoJCSRvbmVyb3ctPmlkID0gJHJvd1snZmlsZV9pZCddOwoJCSRvbmVyb3ctPm5hbWUgPSBzdHJfcmVwZWF0KCcmbmJzcDsmZ3Q7Jm5ic3A7JywgJGRlcHRoLTEpLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRmaWxlJywgJHJldHVybmlkLCAkcm93WyduYW1lJ10sIGFycmF5KCdmaWxlX2lkJyA9PiRyb3dbJ2ZpbGVfaWQnXSkpOwoJCSRvbmVyb3ctPnByaW9yaXR5ID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwcmlvcml0eVsnLiRyb3dbJ2ZpbGVfaWQnXS4nXScsIChzdHJpbmcpKGludCkkcm93WydpdGVtX29yZGVyJ10gLCAzLCAzKTsKCQkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCQkkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCQoJCSgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOwoJfQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ3Jlb3JkZXInLCAkcmV0dXJuaWQsICdwb3N0JykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnY2F0ZWdvcnlfaWQnLCAkcGFyYW1zWydjYXRlZ29yeV9pZCddKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3ByaW9yaXR5dGV4dCcsICR0aGlzLT5sYW5nKCdyZW9yZGVyX3ByaW9yaXR5JykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtdGV4dCcsIGxhbmcoImZpbGVzIikpOwoJI1NldHVwIGxpbmtzCgkKCSNEaXNwbGF5IHRlbXBsYXRlCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Jlb3JkZXJpdGVtLnRwbCcpOwp9CmVsc2UgaWYgKCBpc3NldCgkcGFyYW1zWydwcmlvcml0eSddKSAmJiAgaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpCnsKCWZvcmVhY2goICRwYXJhbXNbJ3ByaW9yaXR5J10gYXMgJGtleSA9PiAkdmFyICkKCXsKCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5ICBTRVQgaXRlbV9vcmRlcj0gPyBXSEVSRSBmaWxlX2lkID0gPyBBTkQgY2F0ZWdvcnlfaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgoKGludCkkdmFyKSUxMDAsKGludCkka2V5LChpbnQpJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpOwoJfQoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnY2F0ZWdvcmllcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.reordercategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb3dubG9hZE1hbmFnZXInKSkKewoJZWNobyAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJcmV0dXJuOwp9CmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQp7CgkkcGFyYW1zID0gYXJyYXkoJ3RhYicgPT4gJ2NhdGVnb3JpZXMnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQplbHNlIGlmICggIWlzc2V0KCRwYXJhbXNbJ3ByaW9yaXR5J10pICkKewoKCSNQdXQgdG9nZXRoZXIgYSBsaXN0IG9mIGN1cnJlbnQgY2F0ZWdvcmllcy4uLgoJJGVudHJ5YXJyYXkgPSBhcnJheSgpOwoJCgkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeV9wcmlvcml0eSI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQoJJHJvd2NsYXNzID0gJ3JvdzEnOwoJCgl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgl7CgkJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCgkJJGRlcHRoID0gY291bnQoc3BsaXQoJ1wuJywgJHJvd1snaGllcmFyY2h5J10pKTsKCQoJCSRvbmVyb3ctPmlkID0gJHJvd1snY2F0ZWdvcnlfaWQnXTsKCQkkb25lcm93LT5uYW1lID0gc3RyX3JlcGVhdCgnJm5ic3A7Jmd0OyZuYnNwOycsICRkZXB0aC0xKS4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3ByaW9yaXR5WycuJHJvd1snY2F0ZWdvcnlfaWQnXS4nXScsIChzdHJpbmcpKChpbnQpJHJvd1sncHJpb3JpdHknXSAtIDEwMCkgLCAzLCAzKS4gJyAnLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwgJHJvd1snbmFtZSddLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+JHJvd1snY2F0ZWdvcnlfaWQnXSkpOwoJCSRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoJCSRlbnRyeWFycmF5W10gPSAkb25lcm93OwoJCgkJKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7Cgl9CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAncmVvcmRlcmNhdGVnb3J5JywgJHJldHVybmlkLCAncG9zdCcpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJpb3JpdHl0ZXh0JywgJHRoaXMtPmxhbmcoJ3Jlb3JkZXJfcHJpb3JpdHknKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5dGV4dCcsICR0aGlzLT5MYW5nKCJjYXRlZ29yaWVzdGFiaGVhZGVyIikpOwoJI1NldHVwIGxpbmtzCgkKCSNEaXNwbGF5IHRlbXBsYXRlCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Jlb3JkZXJjYXRlZ29yeS50cGwnKTsKfQplbHNlCnsKCWZvcmVhY2goICRwYXJhbXNbJ3ByaW9yaXR5J10gYXMgJGtleSA9PiAkdmFyICkKCXsKCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgIFNFVCBwcmlvcml0eSA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgoKGludCkkdmFyKSUxMDArMTAwLChpbnQpJGtleSkpOwoJfQoJJHRoaXMtPlVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygpOwoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnY2F0ZWdvcmllcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.save_admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCEgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CglyZXR1cm47Cn0KaWYoaXNzZXQgKCRwYXJhbXNbJ2Rvd25sb2FkX2RpciddKSkKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkaXInLCAkcGFyYW1zWydkb3dubG9hZF9kaXInXSk7CiRwYXJhbXNbJ3NlYXJjaF9leHBpcmVzJ10gPSBpc3NldCgkcGFyYW1zWydzZWFyY2hfZXhwaXJlcyddKSAmJiAkcGFyYW1zWydkb3dubG9hZF9zY2FuX3JlY3VycyddID09IHRydWU7CmlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXhwaXJlZF9zZWFyY2hhYmxlJywgdHJ1ZSkgIT0gJHBhcmFtc1snc2VhcmNoX2V4cGlyZXMnXSkKewoJJHRoaXMtPlNlYXJjaFJlaW5kZXgoKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdleHBpcmVkX3NlYXJjaGFibGUnLCAkcGFyYW1zWydzZWFyY2hfZXhwaXJlcyddKTsKfQppZihpc3NldCAoJHBhcmFtc1snZG93bmxvYWRfc2NhbiddKSkKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzY2FuJywgJHBhcmFtc1snZG93bmxvYWRfc2NhbiddKTsKCmlmKGlzc2V0KCRwYXJhbXNbJ2Rpcl90aHVtYnMnXSkgKQp7CglnbG9iYWwgJGNvbmZpZzsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJkaXJfdGh1bWJzIiwgCgkJc3RyX3JlcGxhY2UoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUiwnJywgcmVhbHBhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4kcGFyYW1zWydkaXJfdGh1bWJzJ10gKSApLkRJUkVDVE9SWV9TRVBBUkFUT1IgLy8iaW1hZ2VzL0Rvd25sb2FkTWFuYWdlclRodW1icy8iCgkpOwp9CiRwYXJhbXNbJ3RodW1ic19hdXRvJ10gPSBpc3NldCAoJHBhcmFtc1sndGh1bWJzX2F1dG8nXSkgJiYgJHBhcmFtc1sndGh1bWJzX2F1dG8nXSA9PSB0cnVlOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgidGh1bWJzX2F1dG8iLCAkcGFyYW1zWyd0aHVtYnNfYXV0byddICk7CgppZihpc3NldCgkcGFyYW1zWyd0aHVtYnNfc2l6ZSddKSAmJiAoaW50KSRwYXJhbXNbJ3RodW1ic19zaXplJ10gID4gNSApIAoJJHRoaXMtPlNldFByZWZlcmVuY2UoInRodW1ic19zaXplIiwgKGludCkkcGFyYW1zWyd0aHVtYnNfc2l6ZSddICk7CgokcGFyYW1zWydkb3dubG9hZF9zY2FuX3JlY3VycyddID0gaXNzZXQgKCRwYXJhbXNbJ2Rvd25sb2FkX3NjYW5fcmVjdXJzJ10pICYmICRwYXJhbXNbJ2Rvd25sb2FkX3NjYW5fcmVjdXJzJ10gPT0gdHJ1ZTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NjYW5fcmVjdXJzJywgJHBhcmFtc1snZG93bmxvYWRfc2Nhbl9yZWN1cnMnXSk7CgppZihpc3NldCAoJHBhcmFtc1snZG93bmxvYWRfdGVtcGxhdGUnXSkpCgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfZG93bmxvYWRfdGVtcGxhdGUnLCRwYXJhbXNbJ2Rvd25sb2FkX3RlbXBsYXRlJ10pOwoKJHBhcmFtc1snYWRtaW5fd3lzaXd5ZyddID0gaXNzZXQgKCRwYXJhbXNbJ2FkbWluX3d5c2l3eWcnXSkgJiYgJHBhcmFtc1snYWRtaW5fd3lzaXd5ZyddID09IHRydWU7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJhZG1pbl93eXNpd3lnIiwgJHBhcmFtc1snYWRtaW5fd3lzaXd5ZyddICk7CgoKJHRoaXMtPkRvQWN0aW9uKCdkZWZhdWx0YWRtaW4nLCAkaWQsIGFycmF5KCAndGFiX21lc3NhZ2UnPT4ncHJlZnN1cGRhdGVkJywgJ2FjdGl2ZV90YWInID0+ICJwcmVmZXJlbmNlcyIpKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.scanfornewfiles.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCEgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CglyZXR1cm47Cn0KCgoKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwokcXVlcnkgPSAnc2VsZWN0IHNlcnZlcl9uYW1lIGZyb20gJy5jbXNfZGJfcHJlZml4KCkgLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzJzsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiRyb3djbGFzcyA9ICdyb3cxJzsKCiRwYXRocyA9IGFycmF5KCk7CndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAkcGF0aHNbXSA9IHJlYWxwYXRoKCRyb3dbJ3NlcnZlcl9uYW1lJ10pOwoKJHJlY3VycyAgPSAoYm9vbCkgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NjYW5fcmVjdXJzJykgOwoKJHNjYW5fYXJyYXkgPSBhcnJheSgpOwokZG93bmxvYWRfc2NhbiA9IGV4cGxvZGUoIjsiLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzY2FuJykpOwoKaWYoY291bnQoJGRvd25sb2FkX3NjYW4pPjApCiAgZm9yZWFjaCggJGRvd25sb2FkX3NjYW4gYXMgJGYgKQoJJHNjYW5fYXJyYXkgPSBhcnJheV9tZXJnZSggJHNjYW5fYXJyYXkgLCR0aGlzLT5nZXREaXJlY3RvcnlUcmVlKCAkY29uZmlnWydyb290X3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmLCAkcmVjdXJzICkpIDsKCiRkaWZmID0gYXJyYXlfZGlmZigkc2Nhbl9hcnJheSwkcGF0aHMpOwpmb3JlYWNoKCAkZGlmZiBhcyAkayA9PiAkdikKICAkZGlmZlska10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRmaWxlJywgJHJldHVybmlkLCAkdiwgYXJyYXkoJ2ZpbGVfcGF0aCc9PiBiYXNlNjRfZW5jb2RlKAoJc3Vic3RyKCR2LDAsc3RybGVuKCRjb25maWdbJ3Jvb3RfcGF0aCddKSk9PSRjb25maWdbJ3Jvb3RfcGF0aCddP3N1YnN0cigkdixzdHJsZW4oJGNvbmZpZ1sncm9vdF9wYXRoJ10pKzEpOiR2CgkpKSk7CgppZiggY291bnQoJGRpZmYpID09IDAgKSAKewogICRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ3NjYW5ub25ldycsICdhY3RpdmVfdGFiJyA9PiAnZmlsZXMnKTsKICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtaWQnLCAkaWQpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX25ld2ZpbGVzJywgJHRoaXMtPkxhbmcoJ3NjYW5yZXN1bHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2NhbicpLCBjb3VudCgkZGlmZikpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZGRmaWxlJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdiYWNrbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCAsICcmbGFxdW87ICcuJHRoaXMtPmxhbmcoJ2JhY2snKSApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignZGlmZicsICRkaWZmKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdzY2FuZmlsZS50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.selector.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7Ci8vdmFyX2R1bXAoJHBhcmFtcyk7CiR0aGlzLT5VcGRhdGVBc3NvY2lhdGlvbkFncmVnYXRpb24oKTsKLyoKICogUEFSU0lORyBzZWxlY3RvcgogKgogKiBIZXJlIGNvbWUgZXZlcnl0aGluZyB3aGF0IGhhcyB0byBkbyB3aXRoIHNlbGVjdG9yLAogKiBpZiBzZWxlY3RvciBwYXJhbWV0ZXIgaXMgc2V0IHRoZSBvdGhlciBwYXJhbWV0ZXJzCiAqIGFyZSBvbW5pdGVkCiovCgppZiggZW1wdHkoICRwYXJhbXNbJ3NlbGVjdG9yJ10gKSApCgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+bGFuZygnbm9jYXRlZ29yeXNlbCcpKTsKCiRzaG93aGVhZGVycyA9IGZhbHNlOwoKLy8gcGFyc2luZyB0aGUgY2F0ZWdvcnkgc2VsZWN0b3IKJGNhdGVnb3J5aWQgID0gaHRtbF9lbnRpdHlfZGVjb2RlKCAkcGFyYW1zWydzZWxlY3RvciddICk7Cgokc3FsX3ByZWZpeCA9ICdTRUxFQ1QgZmlsZV9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFdIRVJFICc7CiRzcWwgPSAkdGhpcy0+R2V0RmlsZVN0ZFdoZXJlKCkuJyBBTkQgJy4kdGhpcy0+c2VsZWN0b3JUb1NRTCgkY2F0ZWdvcnlpZCk7IC8vIHNldCB0aGUgZmlsZXMgd2hlcmUKCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzCgkJV0hFUkUgJy4kc3FsLicgT1JERVIgQlkgbmFtZSc7CgokZmlsZXNfY2F0ZWdvcmllcyA9ICR0aGlzLT5HZXRGaWxlQ2F0ZWdvcmllcygnZmlsZV9pZCBJTiAoJy4kc3FsX3ByZWZpeC4kc3FsLicpJyk7CgokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCi8vIGFsc28gdXNlZCBieSBhY3Rpb24gZGVmYXVsdAppbmNsdWRlKCdmdW5jdGlvbi5hc3NpbmdmaWxlcy5waHAnKTsKCiR0ZW1wbGF0ZW5hbWUgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZW1wbGF0ZSddICkgKQkkdGVtcGxhdGVuYW1lID0gJHBhcmFtc1sndGVtcGxhdGUnXTsKLy8gVEVNUE9SQVJZIDogSSBBU1NVTUUgVEhFIERFRkFVTFQgQUNUSU9OIFdJTEwgQkUgVEhFIExJU1QgQUNUSU9OCmlmKCAkdGVtcGxhdGVuYW1lICE9ICcnICYmICR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgnbGlzdF8nLiR0ZW1wbGF0ZW5hbWUpICkKewoJLy8gdGhlIHRlbXBsYXRlIGV4aXN0cywgd2UncmUgZ29pbmcgdG8gdXNlIGl0Cn0KZWxzZQp7CgkvLyBubyB0ZW1wbGF0ZSBzcGVjaWZpZWQsIG9yIHRlbXBsYXRlIGRvZXNuJ3QgZXhpc3QuLi4gd2UgZ2V0IHRoZSBkZWZhdWx0IG9uZQoJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2xpc3RfdGVtcGxhdGUnLCAnJyk7CgkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlbmFtZSk7Cn0KCiNEaXNwbGF5IHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.sendemail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKaWYoISRjbXNtYWlsZXIpCQlkaWUoJHRoaXMtPmxhbmcoJ2Vycm9yJykpOwkvLyBkdWUgdG8gcHJpb3IgY2hlY2tpbmcsIHRoaXMgc2hvdWxkbid0IGJlIGhhcHBlbmluZwoKJGRiID0mICR0aGlzLT5HZXREYigpOwoKJGZpbGUgPSBmYWxzZTsKaWYoaXNzZXQoJHBhcmFtc1snZmlsZV9pZCddKSkKewoJJGZpbGVfaWQgPSAoaW50KSAkcGFyYW1zWydmaWxlX2lkJ107CgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBXSEVSRSBmaWxlX2lkID0gPyAnOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZmlsZV9pZCkpOwoJJHNob3doZWFkZXJzID0gZmFsc2U7CglpbmNsdWRlKCdmdW5jdGlvbi5hc3NpbmdmaWxlcy5waHAnKTsKCSRmaWxlID0gJG9uZXJvdzsKfQoKLy8gY2xlYW5pbmcgcHJlZml4ZXMKJHByeCA9ICdzbV8nOwpmb3JlYWNoKCRwYXJhbXMgYXMgJGsgPT4gJHYpCglpZiggc3RyaXBvcygkaywgJHByeCkgPT09IDAgKQoJewoJCXVuc2V0KCRwYXJhbXNbJGtdKTsKCQkkcGFyYW1zW3N1YnN0cigkayxzdHJsZW4oJHByeCkpXSA9ICR2OwoJfQppZighJGZpbGUpCnsKCSR0aGlzLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJHRoaXMtPmxhbmcoJ25vZmlsZScpKTsKfQplbHNlCnsKCWlmKCFwcmVnX21hdGNoKCIvXihbXHd8XC58XC18X10rKUAoW1x3fHxcLXxfXSspXC4oW1x3fFwufFwtfF9dKykkL2kiLCAkcGFyYW1zWydlbWFpbCddKSkKCXsKCQkvLyB0aGUgYmFzaWMgY2hlY2tpbmcgd2FzIGRvbmUgdGhyb3VnaCBqcwoJCSR0aGlzLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJHRoaXMtPmxhbmcoJ2ludmFsaWRlbWFpbCcpKTsKCX0KCWVsc2UKCXsKCQkvLyBjaGVjayBpZiB0aGUgdXNlciBleGlzdHMKCQkkcXVlcnkgPSAiU0VMRUNUIHVzZXJfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl91c2VycyBXSEVSRSBlbWFpbD0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ2VtYWlsJ10pKTsKCQlpZiAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCQkkdXNlcmlkID0gJHJvd1sndXNlcl9pZCddOwoJCX0KCQllbHNlCgkJewoJCQkvLyBpZiBub3QsIGFkZCBoaW0KCQkJJHVzZXJpZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX3VzZXJzX3NlcSIpOwoJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfdXNlcnMgKHVzZXJfaWQsZmlyc3RuYW1lLGxhc3RuYW1lLGVtYWlsLG1haWxpbmdsaXN0KSBWQUxVRVMgKD8sPyw/LD8sPykiOwoJCQkkdmFsdWVzID0gYXJyYXkoJHVzZXJpZCwgc3RyX3JlcGxhY2UoJywnLCcnLCRwYXJhbXNbJ2ZpcnN0bmFtZSddKSwgc3RyX3JlcGxhY2UoJywnLCcnLCRwYXJhbXNbJ2xhc3RuYW1lJ10pLCAkcGFyYW1zWydlbWFpbCddLCBpc3NldCgkcGFyYW1zWydtYWlsaW5nbGlzdCddKT8kcGFyYW1zWydtYWlsaW5nbGlzdCddOjApOwoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkdmFsdWVzKTsKCQkJCgkJfQoJCQoJCS8vIGNyZWF0ZSB0aGUgZG93bmxvYWQKCQkkaGFzaGtleSA9ICRmaWxlX2lkLiR1c2VyaWQubWQ1KHVuaXFpZChyYW5kKCksMSkpLmRhdGUoJ1ltZCcpOwoJCSRkb3dubG9hZF9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2Rvd25sb2Fkc19zZXEiKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZG93bmxvYWRzICggZG93bmxvYWRfaWQsIHVzZXJfaWQsIHVzZXJfdHlwZSwgZmlsZV9pZCwgaGFzaGtleSwgZG93bmxvYWRlZCkKCQkJVkFMVUVTKD8sPywyLD8sPywwKTsiOwoJCSR2YWx1ZXMgPSBhcnJheSgkZG93bmxvYWRfaWQsJHVzZXJpZCwkZmlsZV9pZCwkaGFzaGtleSk7CgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHZhbHVlcyk7CgoJCS8vIHJldHJpZXZlIHRoZSBlbWFpbCB0ZW1wbGF0ZQoJCWlmKCAkZmlsZS0+dGVtcGxhdGVfZW1haWwgIT0gJycgJiYgJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCRmaWxlLT50ZW1wbGF0ZV9lbWFpbCkgKQoJCXsKCQkJLy8gdGhlIHRlbXBsYXRlIGV4aXN0cywgd2UncmUgZ29pbmcgdG8gdXNlIGl0CgkJfQoJCWVsc2UKCQl7CgkJCS8vIG5vIHRlbXBsYXRlIHNwZWNpZmllZCwgb3IgdGVtcGxhdGUgZG9lc24ndCBleGlzdC4uLiB3ZSBnZXQgdGhlIGRlZmF1bHQgb25lCgkJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9lbWFpbF90ZW1wbGF0ZScsICcnKTsKCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUpOwoJCX0KCgkJJGhyZWYgPSAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddLiIvbW9kdWxlcy9Eb3dubG9hZE1hbmFnZXIvZG93bmxvYWQucGhwP2hhc2hrZXk9Ii4kaGFzaGtleTsKCQkkdXJsID0gJzxhIGhyZWY9IicuJGhyZWYuJyIgPiAnLiRmaWxlLT5uYW1lLic8L2E+JzsKCgoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbScsJGZpbGUpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignZmlyc3RuYW1lJywkcGFyYW1zWydmaXJzdG5hbWUnXSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsYXN0bmFtZScsJHBhcmFtc1snbGFzdG5hbWUnXSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdkdXJsJywkdXJsKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2RocmVmJywkaHJlZik7CgkJJGVtYWlsYm9keSA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOwoJCQoJCSRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJHBhcmFtc1snZW1haWwnXSwkcGFyYW1zWydmaXJzdG5hbWUnXS4iICIuJHBhcmFtc1snbGFzdG5hbWUnXSk7CgkJJGNtc21haWxlci0+U2V0Qm9keSgkZW1haWxib2R5KTsKCQkkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7CgkJJGNtc21haWxlci0+U2V0U3ViamVjdCgkdGhpcy0+TGFuZygnZG93bmxvYWQnKS4nOiAnLiRmaWxlLT5uYW1lKTsKCgkJaWYoJGNtc21haWxlci0+U2VuZCgpKQoJCXsKCQkJLy8gdGhpcyBzaG91bGRuYHQgYmUgZG9uZSB0aGlzIHdheQoJCQllY2hvICc8cD4nLiR0aGlzLT5MYW5nKCdlbWFpbHNlbnQnKS4nPC9wPic7CgkJfQoJCWVsc2UKCQl7CgkJCSR0aGlzLT5EaXNwbGF5RG93bmxvYWRFcnJvclBhZ2UoJHRoaXMtPkxhbmcoJ2NvdWxkbm90c2VuZCcpKTsKCQl9Cgl9Cn0KCj8+Cgo=]]></data>
	</file>
	<file>
	  <filename>/action.toggledefaulttemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpCnsKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCXJldHVybjsKfQoKJHRlbXBsYXRlX25hbWUgPSBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ10pPyRwYXJhbXNbJ3RlbXBsYXRlX25hbWUnXTonJzsKJHByZWZpeCA9IGlzc2V0KCRwYXJhbXNbJ3ByZWZpeCddKT8kcGFyYW1zWydwcmVmaXgnXTonJzsKCmlmKCAkdGVtcGxhdGVfbmFtZSAhPSAnJyAmJiAkcHJlZml4ICE9ICcnICkKewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfJy4kcHJlZml4Lid0ZW1wbGF0ZScsICRwcmVmaXguJHRlbXBsYXRlX25hbWUpOwp9CgkKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXMnKSk7CQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/download.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvLi4vLi4vaW5jbHVkZS5waHAiKTsKCmdsb2JhbCAkZ0NtczsKaWYoaXNfbnVsbCgkZ0NtcykpCgkkZ0NtcyA9IGNtc21zKCk7CgokZG0gPSYgJGdDbXMtPm1vZHVsZXNbJ0Rvd25sb2FkTWFuYWdlciddWydvYmplY3QnXTsKaWYoaXNfbnVsbCgkZG0pKQoJJGRtID0gJkNNU01vZHVsZTo6R2V0TW9kdWxlSW5zdGFuY2UoJ0Rvd25sb2FkTWFuYWdlcicpOwoKJGRiID0mICRnQ21zLT5HZXREYigpOwoKJGZpbGUgPSBuZXcgU3RkQ2xhc3MoKTsKJGhhc3Blcm0gPSBmYWxzZTsKJGZpbGVfcGF0aCAgPSAnJzsKJGZpbGVfbmFtZSA9ICcnOwokZmlsZV9pZCA9ICcnOwovLyBtYWtlIGNoZWNraW5nIHdoZW4gZG93bmxvYWRpbmcgYnkgYWxpYXMKaWYoIGlzc2V0KCRfR0VUWydhbGlhcyddKSApCnsKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIFdIRVJFIGFsaWFzID0gPyBBTkQgJy4kZG0tPkdldEZpbGVTdGRXaGVyZSgpOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkX0dFVFsnYWxpYXMnXSkpOwoJaWYgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJCWZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpCgkJCSRmaWxlLT4ka2V5ID0gJHZhbHVlOwoJCSRmaWxlX3BhdGggPSAgJHJvd1snc2VydmVyX25hbWUnXTsKCQkkZmlsZV9uYW1lID0gICRyb3dbJ25hbWUnXS4oJHJvd1snZXh0J10hPScnPycuJy4gJHJvd1snZXh0J106JycpOwoJCSRmaWxlX2lkID0gJHJvd1snZmlsZV9pZCddOwoJfQoJZWxzZQoJewoJCSRkbS0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCRkbS0+bGFuZygnbm9hbGlhcycpKTsKCX0KCgkvLyBsZXRzIHNlZSBpZiB3ZSBhY2Nlc3NlZCBieSBGRVUKCWlmKCAkZmlsZS0+YWNjZXNzdHlwZSA+PSAxICkKCXsKCQkvLyB3ZSBkaWQgaW5kZWVkCgkJJGhhc3Blcm0gPSAkZG0tPkNoZWNrRkVVUGVybSgkcm93WydmaWxlX2lkJ10pOwoJfQoJZWxzZSBpZiggJGZpbGUtPmFjY2Vzc3R5cGUgPT0gMCApCgkJLy8gZnJlZSBkb3dubG9hZHMgZm9yIGFsbAoJCSRoYXNwZXJtID0gdHJ1ZTsKCn0KLy8gbWFraW5nIGNoZWNraW5nIHdoZW4gZG93bmxvYWRpbmcgYnkgZW1haWwKZWxzZSBpZiggaXNzZXQoJF9HRVRbJ2hhc2hrZXknXSkpCnsKCSRoYXNwZXJtID0gdHJ1ZTsKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIGYKCQlSSUdIVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2Rvd25sb2FkcyBjIFVTSU5HIChmaWxlX2lkKQoJCVdIRVJFIGhhc2hrZXkgPSA/IEFORCAnLiRkbS0+R2V0RmlsZVN0ZFdoZXJlKCdmJyk7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkX0dFVFsnaGFzaGtleSddKSk7CglpZiAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgl7CgkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSkKCQkJJGZpbGUtPiRrZXkgPSAkdmFsdWU7CgoJCSRmaWxlX3BhdGggPSAgJHJvd1snc2VydmVyX25hbWUnXTsKCQkkZmlsZV9uYW1lID0gICRyb3dbJ25hbWUnXS4oJHJvd1snZXh0J10hPScnPycuJy4gJHJvd1snZXh0J106JycpOwoJCSRmaWxlX2lkID0gICRyb3dbJ2ZpbGVfaWQnXTsKCgkJJGRiLT5FeGVjdXRlKCdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZG93bmxvYWRzCgkJCVNFVCBkb3dubG9hZGVkID0gbm93KCkgV0hFUkUgaGFzaGtleSA9ID8nLCBhcnJheSgkX0dFVFsnaGFzaGtleSddKSApOwoJfQoJZWxzZQoJCSRkbS0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCRkbS0+bGFuZygnbm9oYXNoJyksJycpOwp9CmVsc2UKCSRkbS0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCRkbS0+bGFuZygnd3JvbmdwYXJhbXMnKSk7CgppZighJGhhc3Blcm0pCnsKCWhlYWRlcigiSFRUUC8xLjAgNDAzIEZvcmJpZGRlbiIpOwogICAgZWNobyAiSFRUUC8xLjAgNDAzIEZvcmJpZGRlbiI7CglleGl0Owp9CgppZiggJGZpbGVfcGF0aCA9PSAnJyB8fCAkZmlsZV9uYW1lID09ICcnICkKCSRkbS0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCRkbS0+bGFuZygnd3JvbmdkYXRhJykpOwoKaWYoc3RycG9zKCRmaWxlX3BhdGggLCAnaHR0cDovLycpID09PSAwIHx8IAoJc3RycG9zKCRmaWxlX3BhdGggLCAnaHR0cHM6Ly8nKSA9PT0gMCApCnsKICBoZWFkZXIoJ0xvY2F0aW9uOiAnLiRmaWxlX3BhdGgpOwogIGV4aXQ7Cn0KZWxzZSBpZiggIWZpbGVfZXhpc3RzKCRmaWxlX3BhdGggKSkKCSRkbS0+RGlzcGxheURvd25sb2FkRXJyb3JQYWdlKCRkbS0+bGFuZygnZmlsZW5vdGZvdW5kJywkZmlsZV9uYW1lKSk7CgokZGItPkV4ZWN1dGUoJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcwoJCQlTRVQgY291bnRlciA9IGNvdW50ZXIrMSBXSEVSRSBmaWxlX2lkID0gPycsIGFycmF5KCRmaWxlX2lkKSApOwoKaWYoICEgJGRtLT5jaGVja0ZpbGVBbGxvdygkZmlsZV9wYXRoKSApCnsKICAgIGhlYWRlcigiSFRUUC8xLjAgNDAzIEZvcmJpZGRlbiIpOwogICAgZWNobyAiSFRUUC8xLjAgNDAzIEZvcmJpZGRlbiI7CiAgICBleGl0Owp9Ci8vIGFsbCBjaGVja2VkIC0+IGRvd25sb2FkaW5nCmluY2x1ZGVfb25jZSgibGliL3ZuY19odHRwZG93bmxvYWQvY2xhc3MuaHR0cGRvd25sb2FkLnBocCIpOwokb2JqZWN0ID0gbmV3IGh0dHBkb3dubG9hZDsKJG9iamVjdC0+c2V0X2J5ZmlsZSgkZmlsZV9wYXRoKTsKJG9iamVjdC0+ZmlsZW5hbWUgPSAkZmlsZV9uYW1lOwokb2JqZWN0LT5kb3dubG9hZCgpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/DownloadManager.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBEb3dubG9hZE1hbmFnZXIgCiMgVmVyc2lvbjogMS4wLVJDMwojIEF1dGhvcjogU3p5bW9uIMWBdWthc3pjenlrCiMgUHJvamVjdCBwYWdlOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Rvd25sb2FkbWFuYWdlci8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8vIHNldHRpbmcgdGhlIGFjY2VzcyBjb25zdGFudHMKZGVmaW5lKCdETU5SX0JZX0ZSRUUnLCAwKTsKZGVmaW5lKCdETU5SX0JZX0ZFVScsIDEpOwpkZWZpbmUoJ0RNTlJfQllfTUFJTCcsIDIpOwpkZWZpbmUoJ0RNTlJfQllfQk9USCcsIDMpOwoKaWYgKCFkZWZpbmVkKCdQSFBfVkVSU0lPTl9JRCcpKSB7CiAgICAkdmVyc2lvbiA9IGV4cGxvZGUoJy4nLCBQSFBfVkVSU0lPTik7CiAgICBkZWZpbmUoJ1BIUF9WRVJTSU9OX0lEJywgKCR2ZXJzaW9uWzBdICogMTAwMDAgKyAkdmVyc2lvblsxXSAqIDEwMCArICR2ZXJzaW9uWzJdKSk7Cn0KcmVxdWlyZSBkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLm1pbmVfY29udGVudF90eXBlLnBocCc7CgpjbGFzcyBEb3dubG9hZE1hbmFnZXIgZXh0ZW5kcyBDTVNNb2R1bGUKewoKICAgIGZ1bmN0aW9uIEdldE5hbWUoKQogICAgewoJcmV0dXJuICdEb3dubG9hZE1hbmFnZXInOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogICAgewoJcmV0dXJuICcxLjUuMic7CiAgICB9CgogICAgZnVuY3Rpb24gR2V0SGVscCgpCiAgICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRBdXRob3IoKQogICAgewoJcmV0dXJuICdTenltb24gxYF1a2FzemN6eWsnOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICAgIHsKCXJldHVybiAnc3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tJzsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQogICAgewoJcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgICB7CglyZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBmdW5jdGlvbiBIYXNBZG1pbigpCiAgICB7CglyZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogICAgewoJcmV0dXJuICdjb250ZW50JzsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgIHsKCXJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsKICAgIH0KCiAgICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAgewoJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb3dubG9hZE1hbmFnZXInKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogICAgewoJcmV0dXJuIGFycmF5KCk7CiAgICB9CgogICAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogICAgewoJcmV0dXJuICIxLjQiOwogICAgfQoKICAgIGZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQogICAgewogICAgLy8gcmVnaXN0cmluZyBuZXcgY29udGVudCB0eXBlCiAgICAvLyAkdGhpcy0+UmVnaXN0ZXJDb250ZW50VHlwZSgnRG93bmxvYWRDYXRlZ29yeScsCiAgICAvLyBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidjb250ZW50dHlwZS5kb3dubG9hZGNhdGVnb3J5LnBocCcsCiAgICAvLyAkdGhpcy0+TGFuZygnY2F0ZWdvcnlfcGFnZScpKTsKCgkkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7IC8vIG9ubHkgcGFyYW1ldGVycyBzcGVjaWZpZWQgaGVyZQoKCS8vIHNtYXJ0eSB0YWcgcGFyYW1ldGVycwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWN0aW9uJywgJ2RlZmF1bHQnLCAkdGhpcy0+bGFuZygnaGVscF9wYXJhbV9hY3Rpb24nKSk7CgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzZWxlY3RvcicsICcnLCAkdGhpcy0+bGFuZygnaGVscF9wYXJhbV9zZWxlY3RvcicpKTsKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3RlbXBsYXRlJywgJycsICR0aGlzLT5sYW5nKCdoZWxwX3BhcmFtX3RlbXBsYXRlJykpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWxpYXMnLCAnJywgJHRoaXMtPmxhbmcoJ2hlbHBfcGFyYW1fYWxpYXMnKSk7CgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjYXRlZ29yeWlkJywgJycsICR0aGlzLT5sYW5nKCdoZWxwX3BhcmFtX2NhdGVnb3J5aWQnKSk7CgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXB0aCcsICcnLCAkdGhpcy0+bGFuZygnaGVscF9wYXJhbV9kZXB0aCcpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzZWxlY3RvcicsQ0xFQU5fU1RSSU5HKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhY3Rpb24nLENMRUFOX1NUUklORyk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndGVtcGxhdGUnLCBDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2FsaWFzJywgQ0xFQU5fU1RSSU5HKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkZXB0aCcsIENMRUFOX0lOVCk7CgoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2hhc2hrZXknLCBDTEVBTl9TVFJJTkcpOwoKCS8vIGZvcm0sIHBhcmFtZXRlcnMKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdmaWxlX2lkJywgQ0xFQU5fSU5UKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4nL3NtXy4qLycsQ0xFQU5fU1RSSU5HKTsgLy8gZm9yIGZyb250ZW5kIGZvcm1zIHdpdGggbWFpbCBzZW5kaW5nCgoJJGFsaWFzcGF0dCA9ICdbYS16QS1aMC05XC1cX10nOwoKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvZG93bmxvYWRcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLAoJICAgIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvZG93bmxvYWRcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8ZGVwdGg+WzAtOV0rKSQvJywKCSAgICBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnKSk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL2Rvd25sb2FkXC9jYXRlZ29yeVwvKD9QPGFsaWFzPicuJGFsaWFzcGF0dC4nKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLAoJICAgIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvZG93bmxvYWRcL2NhdGVnb3J5XC8oP1A8YWxpYXM+Jy4kYWxpYXNwYXR0LicrKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxkZXB0aD5bMC05XSspJC8nLAoJICAgIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvZG93bmxvYWRcL2dldFwvKD9QPGFsaWFzPicuJGFsaWFzcGF0dC4nKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLAoJICAgIGFycmF5KCdhY3Rpb24nPT4nZG93bmxvYWQnKSk7CiAgICAvLwkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9kb3dubG9hZFwvZ2V0YnltYWlsXC8oP1A8aGFzaGtleT5bYS16MC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywKICAgIC8vCQkJCQlhcnJheSgnYWN0aW9uJz0+J2Rvd25sb2FkJykpOwoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9kb3dubG9hZFwvZGV0YWlsXC8oP1A8YWxpYXM+Jy4kYWxpYXNwYXR0LicrKVwvKD9QPHJldHVybmlkPlswLTldKykkLycsCgkgICAgYXJyYXkoJ2FjdGlvbic9PidkZXRhaWwnKSk7CiAgICAvLwkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9kb3dubG9hZFwvc2VuZGVtYWlsXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywKICAgIC8vCQkJCQlhcnJheSgnYWN0aW9uJz0+J3NlbmRlbWFpbCcpKTsKCiAgICAvLwkJRm9yIHlvdXIgZm9ybSdzIHBhcmFtcyB5b3UgbmVlZCBvbmx5CiAgICAvLwkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhcmFtTmFtZScsQ0xFQU5fVFlQRSk7CiAgICAvLwkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQLicvZmlsZV8uKi8nLENMRUFOX1NUUklORyk7CgogICAgfQoKICAgIGZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24gKCAkZXZlbnRuYW1lICkKICAgIHsKCXJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaW5mb18nLiRldmVudG5hbWUgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRFdmVudEhlbHAgKCAkZXZlbnRuYW1lICkKICAgIHsKCXJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaGVscF8nLiRldmVudG5hbWUgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAgewoJcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogICAgfQoKICAgIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgIHsKCXJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogICAgfQoKICAgIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQogICAgewoJcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7CiAgICB9CglmdW5jdGlvbiBnZXREaXJlY3RvcnlUcmVlKCAkb3V0ZXJEaXIgLCAkcmVjdXJzaXZlID0gdHJ1ZSl7CgkJJGRpcnMgPSBhcnJheV9kaWZmKCBzY2FuZGlyKCAkb3V0ZXJEaXIgKSwgQXJyYXkoICcuJywgJy4uJywnLmh0YWNjZXNzJyApICk7CgkJJGRpcl9hcnJheSA9IEFycmF5KCk7CgkJZm9yZWFjaCggJGRpcnMgYXMgJGQgKXsKCQkJaWYoIGlzX2Rpcigkb3V0ZXJEaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZCkgJiYgJHJlY3Vyc2l2ZSkgCgkJCSRkaXJfYXJyYXkgPSBhcnJheV9tZXJnZSggJGRpcl9hcnJheSAsJHRoaXMtPmdldERpcmVjdG9yeVRyZWUoICRvdXRlckRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRkICkgKTsKCQkJZWxzZSAKCQkJJGRpcl9hcnJheVtdID0gcmVhbHBhdGgoJG91dGVyRGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGQpOwoJCX0KCQlyZXR1cm4gJGRpcl9hcnJheTsKCX0gCiAgICBmdW5jdGlvbiBHZXRUaHVtYm5haWxzRHJvcGRvd24oJGFkZHZhbHVlID0gbnVsbCkKICAgIHsKCQlnbG9iYWwgJGNvbmZpZzsKCQkkaW5fcGF0aCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXJfdGh1bWJzJywnJyk7CgkJJGxpc3QgPSAkdGhpcy0+Z2V0RGlyZWN0b3J5VHJlZSggJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4gJGluX3BhdGgpOwoJCSRyZXQgPSBhcnJheSgnJyA9PiAnJyk7CgkJZm9yZWFjaCggJGxpc3QgYXMgJHYgKQoJCXsKCQkJJHYgPSBzdHJfcmVwbGFjZSggJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUiwgJycsICR2KTsKCQkJJHJldFtzdHJfcmVwbGFjZSggJGluX3BhdGgsICcnLCAkdildID0gJHY7CgkJfQoJCWlmKCAhZW1wdHkoICRhZGR2YWx1ZSApICkKCQkJJHJldFtzdHJfcmVwbGFjZSggJGluX3BhdGgsICcnLCRhZGR2YWx1ZSldID0gJGFkZHZhbHVlOwoJCXJldHVybiAkcmV0OwoJfQogICAgZnVuY3Rpb24gQ3JlYXRlVGh1bWJuYWlsKCRwYXRoKQogICAgewoJCWdsb2JhbCAkY29uZmlnOwoJCQoJCSRleHQgPSBzdHJsZW4oJy4nLiBwYXRoaW5mbygkcGF0aCxQQVRISU5GT19FWFRFTlNJT04pKTsKCQkkZmlsZSA9IHN1YnN0ciggcGF0aGluZm8oJHBhdGgsUEFUSElORk9fQkFTRU5BTUUpLCAwLCAtJGV4dCk7CgoJCWluY2x1ZGVfb25jZSgibGliL2Vhc3lwaHB0aHVtYm5haWwvZWFzeXBocHRodW1ibmFpbC5jbGFzcy5waHA1Iik7CgkJJHRodW1iID0gbmV3IGVhc3lwaHB0aHVtYm5haWwoKTsKCQkkaW5zaWRlX2RpciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXJfdGh1bWJzJywnJyk7CgkJJHRodW1iLT5UaHVtYmxvY2F0aW9uID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4kaW5zaWRlX2RpcjsKCQkkdGh1bWItPlRodW1ic2l6ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aHVtYnNfc2l6ZScsIDgwKTsKCQkkdGh1bWItPlRodW1ic2F2ZWFzID0gJ2pwZyc7CgkJJHRodW1iLT5UaHVtYmZpbGVuYW1lID0gJGZpbGUuJy5qcGcnOwoJCSR0aHVtYi0+VGh1bWJwcmVmaXggPSAnJzsKCQkkdGh1bWItPkNyZWF0ZXRodW1iKCAkcGF0aCwnZmlsZScpOwoJCXJldHVybiAkaW5zaWRlX2Rpci4kdGh1bWItPlRodW1iZmlsZW5hbWU7CiAgICB9CgogICAgZnVuY3Rpb24gUHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlQnlBbGlhcygkYWxpYXMpCiAgICB7CglnbG9iYWwgJGdDbXM7CgkkZGIgPSYgJGdDbXMtPkdldERiKCk7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJ1NFTEVDVCB0ZW1wbGF0ZV9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX3RlbXBsYXRlcyBXSEVSRSB0ZW1wbGF0ZV9uYW1lID0gPycsYXJyYXkoJGFsaWFzKSk7CglpZiAoJGRicmVzdWx0ICE9PSBmYWxzZSAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJLy9+IHZhcl9kdW1wKCRyb3cpOwoJICAgIHJldHVybiAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdkb3dubWFuXycuJHJvd1sndGVtcGxhdGVfaWQnXSAsJycsdHJ1ZSkgOwoJfQoJZWxzZQoJICAgICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+bGFuZygnd3Jvbmd0ZW1wbGF0ZScsJGFsaWFzKSApOwoJcmV0dXJuIGZhbHNlOwoKICAgIH0KCiAgICBmdW5jdGlvbiBTZWFyY2hSZXN1bHQoJHJldHVybmlkLCAkaWQsICRhdHRyID0gJycpCiAgICB7CiAgICAgICRyZXN1bHQgPSBhcnJheSgpOwogICAgICAgIAogICAgICBpZiAoJGF0dHIgPT0gJ2Rvd25sb2FkJykKICAgICAgewogICAgICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICAgICAkcSA9ICJTRUxFQ1QgbmFtZSwgYWxpYXMgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBXSEVSRQogICAgICAgICAgICAgICAgZmlsZV9pZCA9ID8iOwogICAgICAgIGlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXhwaXJlZF9zZWFyY2hhYmxlJywxKSA9PSAwICkKICAgICAgICB7CiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gZXhwaXJlZCBhcnRpY2xlcy4KICAgICAgICAgICAgLy8gaWYgd2UgZG9uJ3Qgd2FudCBlbSB0by4KICAgICAgICAgICAgJHEgLj0gJyBBTkQgJy4gJHRoaXMtPkdldEZpbGVTdGRXaGVyZSgpOwogICAgICAgIH0KICAgICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGlkICkgKTsKICAgICAgICBpZiAoJGRicmVzdWx0KQogICAgICAgIHsKICAgICAgICAgICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgICAgICAgICAgLy8wIHBvc2l0aW9uIGlzIHRoZSBwcmVmaXggZGlzcGxheWVkIGluIHRoZSBsaXN0IHJlc3VsdHMuCiAgICAgICAgICAgICRyZXN1bHRbMF0gPSAkdGhpcy0+R2V0RnJpZW5kbHlOYW1lKCk7CiAgICAgICAgICAgIC8vMSBwb3NpdGlvbiBpcyB0aGUgdGl0bGUKICAgICAgICAgICAgJHJlc3VsdFsxXSA9ICRyb3dbJ25hbWUnXTsKICAgICAgICAgICAgLy8yIHBvc2l0aW9uIGlzIHRoZSBVUkwgdG8gdGhlIHRpdGxlLgogICAgICAgICAgICAkcmVzdWx0WzJdID0gJHRoaXMtPkNyZWF0ZURldGFpbExpbmsoJGlkLCRyZXR1cm5pZCwkdGhpcy0+bGFuZygnZGV0YWlscycpLCRyb3dbJ2FsaWFzJ10sdHJ1ZSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UgaWYgKCRhdHRyID09ICdjYXRlZ29yeScpCiAgICAgIHsKICAgICAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAgICAgJHEgPSAiU0VMRUNUIG5hbWUsIGFsaWFzIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyBXSEVSRQogICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkID0gPyI7CiAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRpZCApICk7CiAgICAgICAgaWYgKCRkYnJlc3VsdCkKICAgICAgICB7CiAgICAgICAgICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICAgICAgICAgIC8vMCBwb3NpdGlvbiBpcyB0aGUgcHJlZml4IGRpc3BsYXllZCBpbiB0aGUgbGlzdCByZXN1bHRzLgogICAgICAgICAgICAkcmVzdWx0WzBdID0gJHRoaXMtPkdldEZyaWVuZGx5TmFtZSgpOwogICAgICAgICAgICAvLzEgcG9zaXRpb24gaXMgdGhlIHRpdGxlCiAgICAgICAgICAgICRyZXN1bHRbMV0gPSAkdGhpcy0+bGFuZygnY2F0ZWdvcnknKS4gJzogJy4gJHJvd1snbmFtZSddOwogICAgICAgICAgICAvLzIgcG9zaXRpb24gaXMgdGhlIFVSTCB0byB0aGUgdGl0bGUuCiAgICAgICAgICAgICRyZXN1bHRbMl0gPSAkdGhpcy0+Q3JlYXRlQ2F0ZWdvcnlMaW5rKCRpZCwkcmV0dXJuaWQsJycsJHJvd1snYWxpYXMnXSwgZmFsc2UsdHJ1ZSk7CiAgICAgICAgfQoKICAgICAgfQogICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCiAgICBmdW5jdGlvbiBTZWFyY2hEZWxldGVGaWxlKCRpZCwgJiRzZWFyY2hNID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+U2VhcmNoRGVsZXRlV29yZHMoJ2Rvd25sb2FkJywgJGlkLCAkc2VhcmNoTSk7CiAgICB9CiAgICBmdW5jdGlvbiBTZWFyY2hEZWxldGVDYXRlZ29yeSgkaWQsICYkc2VhcmNoTSA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPlNlYXJjaERlbGV0ZVdvcmRzKCdjYXRlZ29yeScsICRpZCwgJHNlYXJjaE0pOwogICAgfQogICAgZnVuY3Rpb24gU2VhcmNoRGVsZXRlV29yZHMoJHR5cGUsICRpZCwgJiRzZWFyY2hNID0gbnVsbCkKICAgIHsKICAgICAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAgICAgaWYoaXNfbnVsbCgkc2VhcmNoTSkpCiAgICAgICAgICAgICRzZWFyY2hNID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnU2VhcmNoJyk7CiAgICAgICAgaWYgKCRzZWFyY2hNICE9IEZBTFNFKQogICAgICAgIHsKICAgICAgICAgICAgJHNlYXJjaE0tPkRlbGV0ZVdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRpZCwgJHR5cGUpOwogICAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIFNlYXJjaEFkZEZpbGUoJGlkLCAkZGF0YSwgJGV4cGlyZSwgJiRzZWFyY2hNID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+U2VhcmNoQWRkV29yZHMoJ2Rvd25sb2FkJywgJGlkLCAkZGF0YSwgJGV4cGlyZSwgJHNlYXJjaE0pOwogICAgfQogICAgZnVuY3Rpb24gU2VhcmNoQWRkQ2F0ZWdvcnkoJGlkLCAkZGF0YSwgJGV4cGlyZSwgJiRzZWFyY2hNID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+U2VhcmNoQWRkV29yZHMoJ2NhdGVnb3J5JywgJGlkLCAkZGF0YSwgJGV4cGlyZSwgJHNlYXJjaE0pOwogICAgfQogICAgZnVuY3Rpb24gU2VhcmNoQWRkV29yZHMoJHR5cGUsICRpZCwgJGRhdGEsICRleHBpcmUsICYkc2VhcmNoTSA9IG51bGwpCiAgICB7CiAgICAgICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgICAgIGlmKGlzX251bGwoJHNlYXJjaE0pKQogICAgICAgICAgICAkc2VhcmNoTSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwogICAgICAgIGlmICgkc2VhcmNoTSAhPSBGQUxTRSkKICAgICAgICB7CiAgICAgICAgICAgICRleHBpcmUgPSAoJGV4cGlyZSAhPSBOVUxMICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdleHBpcmVkX3NlYXJjaGFibGUnLDApID09IDApID8gICRkYi0+VW5peFRpbWVTdGFtcCgkZXhwaXJlKSA6IE5VTEw7CiAgICAgICAgICAgICRzZWFyY2hNLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkaWQsJHR5cGUsICRkYXRhLCAkZXhwaXJlKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gU2VhcmNoUmVpbmRleCgmJG1vZHVsZSA9IG51bGwpCiAgICB7CiAgICAgICAgaWYoaXNfbnVsbCgkbW9kdWxlKSkKICAgICAgICAgICAgJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwoJCiAgICAgICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyc7CiAgICAgICAgJHJlc3VsdCA9ICYkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICAgICB3aGlsZSAoJHJlc3VsdCAmJiAhJHJlc3VsdC0+RU9GKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCRyZXN1bHQtPmZpZWxkc1sndmlzaWJsZSddID09IHRydWUpCiAgICAgICAgICAgIHsKCQkJJHRoaXMtPlNlYXJjaERlbGV0ZUZpbGUoJHJlc3VsdC0+ZmllbGRzWydmaWxlX2lkJ10sICRtb2R1bGUgKTsKICAgICAgICAgICAgJHRoaXMtPlNlYXJjaEFkZEZpbGUoJHJlc3VsdC0+ZmllbGRzWydmaWxlX2lkJ10sCiAgICAgICAgICAgICAgICAgICAgJHJlc3VsdC0+ZmllbGRzWydhbGlhcyddIC4gJyAnIC4gJHJlc3VsdC0+ZmllbGRzWyduYW1lJ10gLiAnICcgLiAkcmVzdWx0LT5maWVsZHNbJ2Rlc2NyaXB0aW9uJ10sCiAgICAgICAgICAgICAgICAgICAgJHJlc3VsdC0+ZmllbGRzWydleHBpcmVzJ10sICRtb2R1bGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRyZXN1bHQtPk1vdmVOZXh0KCk7CiAgICAgICAgfQogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMnOwogICAgICAgICRyZXN1bHQgPSAmJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICAgICAgd2hpbGUgKCRyZXN1bHQgJiYgISRyZXN1bHQtPkVPRikKICAgICAgICB7CgkJCSR0aGlzLT5TZWFyY2hEZWxldGVDYXRlZ29yeSgkcmVzdWx0LT5maWVsZHNbJ2NhdGVnb3J5X2lkJ10sICRtb2R1bGUgKTsKICAgICAgICAgICAgJHRoaXMtPlNlYXJjaEFkZENhdGVnb3J5KCRyZXN1bHQtPmZpZWxkc1snY2F0ZWdvcnlfaWQnXSwKICAgICAgICAgICAgICAgICAgICAkcmVzdWx0LT5maWVsZHNbJ2FsaWFzJ10gLiAnICcgLiAkcmVzdWx0LT5maWVsZHNbJ25hbWUnXSAuICcgJyAuICRyZXN1bHQtPmZpZWxkc1snZGVzY3JpcHRpb24nXSwKICAgICAgICAgICAgICAgICAgICBudWxsLCAkbW9kdWxlKTsKICAgICAgICAgICAgJHJlc3VsdC0+TW92ZU5leHQoKTsKICAgICAgICB9CiAgICB9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIERpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRtZXNzYWdlKQoJICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKCgkgICBUaGlzIGlzIGFuIGV4YW1wbGUgb2YgYSBzaW1wbGUgbWV0aG9kIHRvIGRpc3BsYXkKCSAgIGVycm9yIGluZm9ybWF0aW9uIG9uIHRoZSBhZG1pbiBzaWRlLgoJICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAgIGZ1bmN0aW9uIERpc3BsYXlFcnJvclBhZ2UoJGlkLCAmJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZT0nJykKICAgIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZXJyb3InLCAkdGhpcy0+TGFuZygnZXJyb3InKSk7CglpZiAoJG1lc3NhZ2UgIT0gJycpCgl7CgkgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignbWVzc2FnZScsICRtZXNzYWdlKTsKCX0KCgkvLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CgkKICAgIH0KCWZ1bmN0aW9uIERpc3BsYXlEb3dubG9hZEVycm9yUGFnZSgkbXNnLCAkcmV0dXJubGluayA9IG51bGwpCgl7CgkJaWYoJHJldHVybmxpbmsgPT0gbnVsbCApIAoJCQkkcmV0dXJubGluayA9ICc8YSBocmVmPSJqYXZhc2NyaXB0Omhpc3RvcnkuYmFjaygpIj4nLiR0aGlzLT5sYW5nKCdiYWNrJykuJzwvYT4nOwoJCSRlcnJbJ21zZyddID0gJG1zZzsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Vycm9yJywgJHRoaXMtPmxhbmcoJ2Vycm9yJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigncmV0dXJubGluaycsICRyZXR1cm5saW5rKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdkb3dubG9hZF9lcnJvcicsICRlcnIpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignZG93bmxvYWRfZXJyb3JfbXNnJywgJHRoaXMtPmxhbmcoJ2Rvd25sb2FkX2Vycm9yX21zZycpKTsKCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Rvd25sb2FkX2Vycm9yLnRwbCcpOwoJCWV4aXQ7Cgl9CiAgICAvLyBnZXQgdGhlIGRlZmF1bHQgcmVzdHJpY3Rpb25zIGV4LiBkYXRlCiAgICBmdW5jdGlvbiBHZXRGaWxlU3RkV2hlcmUoJGFsaWFzID0gbnVsbCkKICAgIHsKICAgICAgICAkYWxpYXMgPSAhZW1wdHkoJGFsaWFzKT8kYWxpYXMuJy4nOiAkYWxpYXM7CiAgICAgICAgcmV0dXJuICcoICggJy4kYWxpYXMuJ2V4cGlyZXMgSVMgTlVMTCAgT1IgJy4kYWxpYXMuJ2V4cGlyZXMgPj0gbm93KCkgKSAKICAgICAgICAgICAgICAgICAgICBBTkQgKCAnLiRhbGlhcy4nc3RhcnRzIElTIE5VTEwgIE9SICcuJGFsaWFzLidzdGFydHMgPD0gbm93KCkgKSApJzsKICAgIH0KICAgIC8vIGdldHMgbnVtYmVyIG9mIGFzc29jaWF0ZWQgZmlsZXMgZm9yIGNhdGVnb3JpZXMKICAgIGZ1bmN0aW9uIEdldENhdGVnb3J5RmlsZU5iKCAkd2hlcmUgPSBmYWxzZSApCiAgICB7CgkkdG1wID0gYXJyYXkoKTsKCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCSRxID0gJ1NFTEVDVCBjYXRlZ29yeV9pZCAsIENPVU5UKGZpbGVfaWQpIEFTIGNvdW50IEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkgJwoJICAgIC4oJHdoZXJlIT09ZmFsc2U/ICdXSEVSRSAnLiR3aGVyZTonJykuCgkgICAgJ0dST1VQIEJZIGNhdGVnb3J5X2lkJzsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcSk7Cgl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkgICAgJHRtcFskcm93WydjYXRlZ29yeV9pZCddXSA9ICAkcm93Wydjb3VudCddOwoJcmV0dXJuICR0bXA7CiAgICB9CiAgICBmdW5jdGlvbiBHZXRDYXRlZ29yaWVzKCAkd2hlcmUgPSBmYWxzZSApCiAgICB7CiAgICAgICAgJHRtcCA9IGFycmF5KCk7CiAgICAgICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgICAgICRxID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyAnCiAgICAgICAgICAgIC4oJHdoZXJlIT09ZmFsc2U/ICdXSEVSRSAnLiR3aGVyZTonJykuCiAgICAgICAgICAgICdHUk9VUCBCWSBjYXRlZ29yeV9pZCc7CiAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxKTsKICAgICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgICAgICAgICR0bXBbJHJvd1snY2F0ZWdvcnlfaWQnXV0gPSAgJHJvdzsKICAgICAgICByZXR1cm4gJHRtcDsKICAgIH0KICAgIC8vIGdldCBmaWxlIGFzc290aWF0aW9uIHdpdGggYXJyYXlzCiAgICAvLyByZXR1cm5zIGFuIGFycmF5IHdpdGggZWxlbWVudHMKICAgIC8vCQkkZmlsZWlkID0+IGFycmF5ICgKICAgIC8vCQkJCQknY291bnQnID0+IChpbnQpIHNpemUgb2YgYXJyYXksCiAgICAvLwkJCQkJMCA9PiBhcnJheSggbG9uZ19uYW1lICwgbmFtZSwgY2F0ZWdvcnlfaWQpCiAgICAvLwkJCQkJLi4uCiAgICAvLwkJCQkpCiAgICBmdW5jdGlvbiBHZXRGaWxlQ2F0ZWdvcmllcyggJHdoZXJlID0gZmFsc2UgKQogICAgewoJJGRiID0mICR0aGlzLT5HZXREYigpOwoJLy8gZ2V0IGZpbGUgY2F0ZWdvcmllcyBzbyB3ZSBjYW4gc2hvdyB0byB3aGljaCBjYXRlZ29yeSBmaWxlIGJlbG9uZ3MKCS8vIHdpbGwgYmUgdXNlZCBzb29uCgoJJGZpbGVzX2NhdGVnb3JpZXMgPSBhcnJheSgpOwoJJHEgPSAnU0VMRUNUIGZpbGVfaWQsIGxvbmdfbmFtZSwgbmFtZSwgY2F0ZWdvcnlfaWQsIGFsaWFzIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkKCQkJCUxFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFVTSU5HIChjYXRlZ29yeV9pZCkgJy4KCSAgICAoJHdoZXJlIT09ZmFsc2U/ICdXSEVSRSAnLiR3aGVyZTonJyk7CgoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxKTsKCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCXsKCSAgICAkZmlsZXNfY2F0ZWdvcmllc1skcm93WydmaWxlX2lkJ11dW10gPSBhcnJheSgKCQknbG9uZ19uYW1lJyA9PiAkcm93Wydsb25nX25hbWUnXSwKCQknbmFtZScgPT4gJHJvd1snbmFtZSddLAoJCSdhbGlhcycgPT4gJHJvd1snYWxpYXMnXSwKCQknY2F0ZWdvcnlfaWQnID0+ICRyb3dbJ2NhdGVnb3J5X2lkJ10KCSAgICApOwoJfQoJZm9yZWFjaCAoJGZpbGVzX2NhdGVnb3JpZXMgYXMgJGsgPT4gJHYgKQoJICAgICRmaWxlc19jYXRlZ29yaWVzWyRrXVsnY291bnQnXSA9IGNvdW50KCR2KTsKCglyZXR1cm4gJGZpbGVzX2NhdGVnb3JpZXM7CiAgICB9CiAgICAvLyBnZXQgYWxsIHN1YmNhdGVnb3JpZXMKICAgIC8vCSBpdGVtcyBpbiByZXR1cm5lZCBhcnJheToKICAgIC8vICAgMSA9PiBhcnJheQogICAgLy8gICAgICAnaWQnID0+IGludCAxICAvLyBpZCBpbiBkYXRhYmFzZQogICAgLy8gICAgICAnbmFtZScgPT4gc3RyaW5nICdHZW5lcmFsJyAvLyBuYW1lCiAgICAvLwkJLi4uCiAgICAvLyAgICAgICdmaWxlc25iJyA9PiBpbnQgMiAvLyBudW1iZXIgb2YgZmlsZXMKICAgIC8vICAgICAgJ2l0ZW1zJyA9PiBhcnJheSgmLCYsJiwuLi4pIC8vIHJlZmVyYWxzIHRvIHN1YmNhdGVnb3JpZXMKICAgIC8vICAgICAgJ3BhcmVudCcgPT4gJiAvLyByZWZlcmFsIHRvIHBhcmVudCBjYXRlZ29yeQogICAgZnVuY3Rpb24gR2V0U3ViQ2F0ZWdvcmllcyggJHdoZXJlID0gZmFsc2UgKQogICAgewoJJGRiID0mICR0aGlzLT5HZXREYigpOwoJJHEgPSAnU0VMRUNUICosIENPVU5UKGZpbGVfaWQpIEFTIGZpbGVzbmIgRlJPTSBjbXNfbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIGMKCQkJTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5IFVTSU5HIChjYXRlZ29yeV9pZCkKCQkJJyAuKCR3aGVyZSE9PWZhbHNlPyAnV0hFUkUgJy4kd2hlcmU6JycpLgoJICAgICdHUk9VUCBCWSBjYXRlZ29yeV9pZCBPUkRFUiBCWSBjLmhpZXJhcmNoeV9wcmlvcml0eSc7Cgkkc3ViY2F0ZWdvcmllcyA9IGFycmF5KCk7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHEpOwoJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoKCSAgICAkc3ViY2F0ZWdvcmllc1soaW50KSAkcm93WydjYXRlZ29yeV9pZCddIF0gPSBhcnJheSgKCQknaWQnID0+IChpbnQpJHJvd1snY2F0ZWdvcnlfaWQnXSwKCQknbmFtZScgPT4gJHJvd1snbmFtZSddLAoJCSdsb25nX25hbWUnID0+ICRyb3dbJ2xvbmdfbmFtZSddLAoJCSdhbGlhcycgPT4gJHJvd1snYWxpYXMnXSwKCQknZmlsZXNuYicgPT4gKGludCkkcm93WydmaWxlc25iJ10sCgkJJ2l0ZW1zJyA9PiBhcnJheSgpICwKCQkncGFyZW50JyA9PiBmYWxzZSAsCgkgICAgKTsKCSAgICAkdG1wID0gJiRzdWJjYXRlZ29yaWVzWyhpbnQpICRyb3dbJ2NhdGVnb3J5X2lkJ10gXTsKCgkgICAgJHMgPSBleHBsb2RlKCIuIiwkcm93WydoaWVyYXJjaHknXSk7CgkgICAgaWYoY291bnQoJHMpID4gMSkKCSAgICB7CgkgICAgLy8gbm90IGEgMXN0IGxldmVsIGNhdGVnb3J5CgkJJHN1YmNhdGVnb3JpZXNbIChpbnQpICRzW2NvdW50KCRzKS0yXSBdWydpdGVtcyddW10gPSAkdG1wOwoJCSRzdWJjYXRlZ29yaWVzWyhpbnQpICRyb3dbJ2NhdGVnb3J5X2lkJ10gXVsncGFyZW50J10gID0gJiRzdWJjYXRlZ29yaWVzWyAoaW50KSAkc1tjb3VudCgkcyktMl0gXTsKCSAgICB9Cgl9CglyZXR1cm4gJHN1YmNhdGVnb3JpZXM7CiAgICB9CiAgICAvLyBnZXRzIGh1bWFuIHJlZGVhYmxlIGFjY2VzcyB0eXBlIGFycmF5CiAgICBmdW5jdGlvbiBHZXRBY2Nlc3NUeXBlcygkYWNjZXNzKQogICAgewoJJHQgPSBhcnJheSgpOwoJaWYoJHRoaXMtPkNoZWNrRG93blR5cGUoJGFjY2VzcywgRE1OUl9CWV9GUkVFKSkKCSAgICAkdFtdID0gJ2ZyZWUnOwoJaWYoJHRoaXMtPkNoZWNrRG93blR5cGUoJGFjY2VzcywgRE1OUl9CWV9GRVUpKQoJICAgICR0W10gPSAnZmV1JzsKCWlmKCR0aGlzLT5DaGVja0Rvd25UeXBlKCRhY2Nlc3MsIERNTlJfQllfTUFJTCkpCgkgICAgJHRbXSA9ICdtYWlsJzsKCXJldHVybiAkdDsKICAgIH0KICAgIC8vIHJldHVybnMgdGV4dCB3aXRoIHJlcGxhY2VkIG5vbi13b3JkIGNoYXJzIHRvICRyZXBsYWNlbWVudAogICAgZnVuY3Rpb24gT2JzdHJ1Y2F0ZSgkaHJlZiwgJHJlcGxhY2VtZW50ID0gJy0nKQogICAgewoJcmV0dXJuIHByZWdfcmVwbGFjZSgiLyhcVyspL2kiLCRyZXBsYWNlbWVudCwgJGhyZWYpOwogICAgfQogICAgLy8gdGFrZXMgaWQgYW5kIGFycmF5IHByb2R1Y2VkIGJ5IGZ1bmN0aW9uIEdldEZpbGVDYXRlZ29yaWVzCiAgICAvLyBmdXJ0aGVyIHZlcnNpb24gd2lsbCBtYWtlIGxpbmtzCiAgICBmdW5jdGlvbiBDcmVhdGVDYXRlZ29yeUxpbmtzKCRtaWQsJHJldHVybmlkLCRpZCwgICYkYXJyICkKICAgIHsKCSRpZCA9IChpbnQpJGlkOwoJaWYoICFpc19hcnJheSgkYXJyKSB8fCBlbXB0eSgkYXJyKSB8fCAhaXNzZXQoJGFyclskaWRdKSApCgkvLyBpZiBlcnJvciBvciBlbXB0eSBvciBubyBpdGVtIHRvIHNlbGxlY3QKCSAgICByZXR1cm4gJyc7CgkkdCA9IGFycmF5KCk7Cgl1bnNldCgkYXJyWyRpZF1bJ2NvdW50J10pOwoJZm9yZWFjaCggJGFyclskaWRdIGFzICR2ICkKCSAgICAkdFtdID0gJHRoaXMtPkNyZWF0ZUNhdGVnb3J5TGluaygkbWlkLCRyZXR1cm5pZCwkdlsnbmFtZSddLCR2WydhbGlhcyddKTsKCglyZXR1cm4gCWltcGxvZGUoICIsICIsICR0ICk7CiAgICB9CgogICAgLy8KICAgIGZ1bmN0aW9uIENyZWF0ZUNhdGVnb3J5TGluaygkaWQsJHJldHVybmlkLCRuYW1lPScnLCRhbGlhcz0nJywgJGRlcHRoPWZhbHNlLCRvbmx5dXJsPWZhbHNlKQogICAgewoJJGFyciA9IGFycmF5KCk7CglpZigkZGVwdGghPT1mYWxzZSkKCSAgICAkYXJyWydkZXB0aCddID0gJGRlcHRoOwoKCWlmKCRuYW1lID09ICcnIHx8ICRhbGlhcyA9PSAnJykKCXsKCgkgICAgJHQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkdGhpcy0+bGFuZygncm9vdGNhdGVnb3J5JyksCgkJJGFyciwnJywkb25seXVybCx0cnVlLCcnLGZhbHNlLAoJCSdkb3dubG9hZC8nLiRyZXR1cm5pZC4oJGRlcHRoIT09ZmFsc2U/Ii8iLiRkZXB0aDonJykpOwoJfQoJZWxzZQoJewoJICAgICRhcnJbJ2FsaWFzJ109JGFsaWFzOwoKCSAgICAkdCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRuYW1lLAoJCSRhcnIsJycsJG9ubHl1cmwsdHJ1ZSwnJyxmYWxzZSwKCQknZG93bmxvYWQvY2F0ZWdvcnkvJy4kYWxpYXMuJy8nLiRyZXR1cm5pZC4oJGRlcHRoIT09ZmFsc2U/Ii8iLiRkZXB0aDonJykpOwoJfQoJcmV0dXJuICR0OwogICAgfQogICAgZnVuY3Rpb24gQ3JlYXRlRG93bmxvYWRMaW5rKCRpZCwkcmV0dXJuaWQsJG5hbWUsJGFsaWFzLCRvbmx5dXJsPWZhbHNlKQogICAgewoJcmV0dXJuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2Rvd25sb2FkJywgJHJldHVybmlkLCAkbmFtZSAsIGFycmF5KCdhbGlhcyc9PiRhbGlhcyksJycsJG9ubHl1cmwsdHJ1ZSwnJyxmYWxzZSwnZG93bmxvYWQvZ2V0LycuJGFsaWFzLicvJy4kcmV0dXJuaWQpOwogICAgfQoKICAgIGZ1bmN0aW9uIENyZWF0ZURldGFpbExpbmsoJGlkLCRyZXR1cm5pZCwkbmFtZSwkYWxpYXMsJG9ubHl1cmw9ZmFsc2UpCiAgICB7CglyZXR1cm4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGV0YWlsJywgJHJldHVybmlkLCAkbmFtZSAsIGFycmF5KCdhbGlhcyc9PiRhbGlhcyksJycsJG9ubHl1cmwsdHJ1ZSwnJyxmYWxzZSwnZG93bmxvYWQvZGV0YWlsLycuJGFsaWFzLicvJy4kcmV0dXJuaWQpOwogICAgfQogICAgZnVuY3Rpb24gVG9IUlNpemUoJHNpemUpCiAgICB7CglyZXR1cm4gKCAgJHNpemU8MTAyND8gJHNpemUuIiBCIjogKCAkc2l6ZTwxMDQ4NTc2ID8gICAoKGludCkgKCAkc2l6ZS8xMDI0KSkuIiBLQiIgOiAoKGludCkgKCAkc2l6ZS8xMDQ4NTc2ICkpLiIgTUIiICkpOwogICAgfQoKICAgIC8vIGJhc2VkIG9uIE5ld3MgTW9kdWxlIGZ1bmN0aW9uIE5ld3MtPlVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygpCiAgICBmdW5jdGlvbiBVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKQogICAgewoJJGRiID0mICR0aGlzLT5HZXREYigpOwoKCS8vIGNvbXB1dGluZyBmaWxlcyBwbGFjZQoJJHF1ZXJ5ID0gIlNFTEVDVCBjYXRlZ29yeV9pZCwgbmFtZSwgcHJpb3JpdHkgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJICAgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9ICIiOwoJICAgICRjdXJyZW50X2hpZXJhcmNoeV9wcmlvcml0eSA9ICIiOwoJICAgICRjdXJyZW50X2xvbmdfbmFtZSA9ICIiOwoJICAgICRjb250ZW50X2lkID0gJHJvd1snY2F0ZWdvcnlfaWQnXTsKCSAgICAkY29udGVudF9wcmlvcml0eSA9ICRyb3dbJ3ByaW9yaXR5J107CgkgICAgJGN1cnJlbnRfcGFyZW50X2lkID0gJHJvd1snY2F0ZWdvcnlfaWQnXTsKCSAgICAkY291bnQgPSAwOwoKCSAgICB3aGlsZSAoJGN1cnJlbnRfcGFyZW50X2lkID4gLTEpCgkgICAgewoJCSRxdWVyeSA9ICJTRUxFQ1QgY2F0ZWdvcnlfaWQsIG5hbWUsIHBhcmVudF9pZCwgcHJpb3JpdHkgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyI7CgkJJHJvdzIgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjdXJyZW50X3BhcmVudF9pZCkpOwoJCWlmICgkcm93MikKCQl7CgkJICAgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN0cl9wYWQoJHJvdzJbJ2NhdGVnb3J5X2lkJ10sIDUsICcwJywgU1RSX1BBRF9MRUZUKSAuICIuIiAuICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbjsKCQkgICAgJGN1cnJlbnRfaGllcmFyY2h5X3ByaW9yaXR5ID0gc3RyX3BhZCgkcm93MlsncHJpb3JpdHknXSwgNSwgJzAnLCBTVFJfUEFEX0xFRlQpIC4gInwiLiBzdHJfcGFkKCRyb3cyWydjYXRlZ29yeV9pZCddLCA1LCAnMCcsIFNUUl9QQURfTEVGVCkuICIuIiAuICRjdXJyZW50X2hpZXJhcmNoeV9wcmlvcml0eTsKCQkgICAgJGN1cnJlbnRfbG9uZ19uYW1lID0gJHJvdzJbJ25hbWUnXSAuICcgfCAnIC4gJGN1cnJlbnRfbG9uZ19uYW1lOwoJCSAgICAkY3VycmVudF9wYXJlbnRfaWQgPSAkcm93MlsncGFyZW50X2lkJ107CgkJICAgICRjb3VudCsrOwoJCX0KCQllbHNlCgkJewoJCSAgICAkY3VycmVudF9wYXJlbnRfaWQgPSAwOwoJCX0KCSAgICB9CgoJICAgIGlmIChzdHJsZW4oJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uKSA+IDApCgkgICAgewoJCSRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN1YnN0cigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sIDAsIHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pIC0gMSk7CgkJJGN1cnJlbnRfaGllcmFyY2h5X3ByaW9yaXR5ID0gc3Vic3RyKCRjdXJyZW50X2hpZXJhcmNoeV9wcmlvcml0eSwgMCwgc3RybGVuKCRjdXJyZW50X2hpZXJhcmNoeV9wcmlvcml0eSkgLSAxKTsKCSAgICB9CgoJICAgIGlmIChzdHJsZW4oJGN1cnJlbnRfbG9uZ19uYW1lKSA+IDApCgkgICAgewoJCSRjdXJyZW50X2xvbmdfbmFtZSA9IHN1YnN0cigkY3VycmVudF9sb25nX25hbWUsIDAsIHN0cmxlbigkY3VycmVudF9sb25nX25hbWUpIC0gMyk7CgkgICAgfQoJICAgICRkZXB0aCA9IHN1YnN0cl9jb3VudCggJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uLCAnLicgKTsKCSAgICAkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgU0VUIGhpZXJhcmNoeSA9ID8sIGxvbmdfbmFtZSA9ID8sIHByaW9yaXR5ID0gPywgaGllcmFyY2h5X3ByaW9yaXR5ID0gPywgZGVwdGggPSA/IFdIRVJFIGNhdGVnb3J5X2lkID0gPyI7CgkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uLCAkY3VycmVudF9sb25nX25hbWUsICRjb250ZW50X3ByaW9yaXR5LCAkY3VycmVudF9oaWVyYXJjaHlfcHJpb3JpdHksICRkZXB0aCwgJGNvbnRlbnRfaWQpKTsKCX0KICAgIH0KCiAgICAvLyBtYWluIGZ1bmN0aW9uIGZvciBwYXJzaW5nIHRoZSBzZWxlY3RvcgogICAgZnVuY3Rpb24gTWF0Y2hQYWlyKCAmJHN1YmplY3QgLCAmJGFycikKICAgIHsKCSRtYXRjaGVzPWFycmF5KCk7CgkkcGF0dGVybiA9ICcvKFskXT9cZCt8XChbJF0/XGQrXCkpKFt8Jl0pKFskXT9cZCt8XChbJF0/XGQrXCkpL2knOwoJJGNtID0gcHJlZ19tYXRjaF9hbGwoJHBhdHRlcm4sICRzdWJqZWN0LCAkbWF0Y2hlcyk7CiAgICAKCWZvcmVhY2goJG1hdGNoZXNbMF0gYXMgJGsgPT4gJG0pCgl7CiAgICAgICAgJGMgPSBjb3VudCgkYXJyKTsKICAgICAgICAkY291bnQgPSAwOwogICAgICAgICRzdWJqZWN0ID0gIHN1YnN0cigkc3ViamVjdCwwLCBzdHJwb3MoJHN1YmplY3QsICRtKSkuCiAgICAgICAgICAgICckJy4kYy4KICAgICAgICAgICAgc3Vic3RyKCRzdWJqZWN0LHN0cnBvcygkc3ViamVjdCwgJG0pK3N0cmxlbigkbSkpOwoKCSAgICAkYXJyWyRjXSA9IGFycmF5KCAkbWF0Y2hlc1syXVska10sICRtYXRjaGVzWzFdWyRrXSAsJG1hdGNoZXNbM11bJGtdICk7CgoJICAgIC8vIHNocmluayBvcHRpbWl6ZQoJICAgICR2ID0mICRhcnJbJGNdOyAvLyBsZXRgcyBtYWtlIGFuIGFsaWFzCgkgICAgJHYgPSBzdHJfcmVwbGFjZSggYXJyYXkoIigiLCIpIiksIGFycmF5KCcnLCcnKSAsICR2KTsgLy8gYnJhY2tldHMgYXJlIG5vIGxvbmdlciBuZWVkZWQKCgkgICAgaWYoJHZbMF0gPT0gJ3wnKSAvLyB3ZSBjYW4gc2hyaW5rIHNxbCBvbmx5IGZvciBPUiBwYXJhbWV0ZXJzCgkJZm9yKCAkaiA9IDEgOyAkaiA8IDM7ICRqKyspCgkJICAgIGlmKCR2WyRqXXswfSA9PSAnJCcpCgkJICAgIHsKCQkJJHogPSAoaW50KSBzdWJzdHIoJHZbJGpdLCAxKTsKCQkJaWYoICRhcnJbJHpdWzBdID09ICd8JyApCgkJCXsvLyBub3cgd2UgY2FuIHNocmluawoJCQkgICAgdW5zZXQoJGFyclskel1bMF0pOwoJCQkgICAgZm9yZWFjaCgkYXJyWyR6XSBhcyAkenYpCgkJCQkkYXJyWyRjXVtdID0gJHp2OwoKCQkJICAgIHVuc2V0KCRhcnJbJGNdWyRqXSk7CgkJCSAgICAkYXJyWyR6XSA9IG51bGw7IC8vIHdlIHdvbmB0IG5lZWQgaXQgYW55bW9yZQoJCQl9CgkJICAgIH0KCX0KCWlmKCRjbSA+IDApCgkgICAgcmV0dXJuICR0aGlzLT5NYXRjaFBhaXIoICRzdWJqZWN0ICwgJGFycik7CglyZXR1cm4gMDsKICAgIH0KCiAgICBmdW5jdGlvbiBjbGVhblNlbGVjdG9yKCRzZWxlY3Rvcil7CiAgICAgICAgcmV0dXJuIHByZWdfcmVwbGFjZSgnLyhbXjAtOSgpfCZdKSsvaScsICcnLCAkc2VsZWN0b3IpOyAvLyBjbGVhbmluZwogICAgfQoKICAgIGZ1bmN0aW9uIHNlbGVjdG9yVG9TUUwoJHNlbGVjdG9yKXsKCiAgICAgICAgJHNlbGVjdG9yID0gdHJpbSgkc2VsZWN0b3IpOwogICAgICAgIGlmKGVtcHR5KCRzZWxlY3RvcikpCiAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICAKICAgICAgICAkY2F0ZWdvcnljbGVhbiA9ICRjYXRlZ29yeWlkICA9ICR0aGlzLT5jbGVhblNlbGVjdG9yKCRzZWxlY3Rvcik7IC8vIGNsZWFuaW5nCiAgICAgICAgCiAgICAgICAgaWYoIHByZWdfbWF0Y2goJy9eWyRdP1xkKyQvaScsICRjYXRlZ29yeWlkKSAgfHwgcHJlZ19tYXRjaCgnL15cKFskXT9cZCtcKSQvaScsICRjYXRlZ29yeWlkKSApeyAgCiAgICAgICAgICAgIC8vIHdlIGhhdmUgc2luZ2xlIHNlbGVjdG9yCiAgICAgICAgICAgICRjYXRlZ29yeWlkICA9IHByZWdfcmVwbGFjZSgnLyhbXjAtOV0pKy9pJywgJycsICRjYXRlZ29yeWlkKTsgLy8gY2xlYW5pbmcKICAgICAgICAgICAgcmV0dXJuICdoaWVyYXJjaHkgTElLRSBcJyUnLnN0cl9wYWQoJGNhdGVnb3J5aWQsIDUsICcwJywgU1RSX1BBRF9MRUZUKS4nJVwnJzsKICAgICAgICB9CiAgICAgICAgLy8gd2UgaGF2ZSBjb21wbGV4IHNlbGVjdG9yCiAgICAgICAgJGFyciA9IGFycmF5KCk7IC8vIGFycmF5IGZvciBzdG9yaW5nIHBhaXIKICAgICAgICAkdGhpcy0+TWF0Y2hQYWlyKCAkY2F0ZWdvcnlpZCAsICRhcnIpOyAvLyByZWN1cnNpdmUgY2F0ZWdvcnkgc2VsZWN0b3IgcGFyc2luZwoKICAgICAgICAkY2F0ZWdvcnlpZCA9IHN0cl9yZXBsYWNlKCBhcnJheSgiKCIsIikiKSwgJycgLCAkY2F0ZWdvcnlpZCk7CiAgICAgICAgaWYgKCBwcmVnX21hdGNoKCcvXlskXT9cZCskL2knLCAkY2F0ZWdvcnlpZCkgPT0gMCApCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPmxhbmcoJ3dyb25nY2F0ZWdvcnlzZWwnLCAkY2F0ZWdvcnljbGVhbikgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgLy8gbm90IHdlIGFyZSBzdXJlIHRoYXQgY2F0ZWdvcnkgc2VsZWN0b3IgaXMgb2sKICAgICAgICAvLyB3ZSBjYW4gY2hhbmdlIGl0IHRvIHNxbAoKICAgICAgICAkc3FsID0gJyc7CgogICAgICAgIGZvcmVhY2goICRhcnIgYXMgJGsgPT4gJHYgKQogICAgICAgIHsKICAgICAgICAgICAgJHRtcCA9IGFycmF5KCk7CiAgICAgICAgICAgIGlmKCBlbXB0eSgkdikgKQogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIAogICAgICAgICAgICAkdiA9IGFycmF5X3VuaXF1ZSgkdik7IC8vIG5vIG5lZWQgZm9yIGRvdWJsZXMKCiAgICAgICAgICAgICRvcCA9ICR2WzBdOyAvLyBnZXQgb3BlcmF0b3IKICAgICAgICAgICAgdW5zZXQoJHZbMF0pOyAgLy8gY2xlYW4gb3BlcmF0b3IKCiAgICAgICAgICAgIGZvcmVhY2goJHYgYXMgJHR2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZigkdHZ7MH0gPT0gJyQnKSAvLyB3ZSBnZXQgYSByZWZlcmFsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJHogPSAoaW50KSBzdWJzdHIoJHR2LCAxKTsKICAgICAgICAgICAgICAgICAgICAkdG1wW10gPSAkYXJyWyR6XTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAkdG1wW10gPSAnaGllcmFyY2h5IExJS0UgXCclJy5zdHJfcGFkKCR0diwgNSwgJzAnLCBTVFJfUEFEX0xFRlQpLiclXCcnOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiggJG9wID09ICd8JyApCiAgICAgICAgICAgICAgICAkb3AgPSAiIE9SICI7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICRvcCA9ICIgQU5EICI7CgogICAgICAgICAgICAkc3FsID0gJGFyclska10gPSAiKCIuaW1wbG9kZSgkb3AsICR0bXApLiIpIjsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkc3FsOwogICAgfQogICAgLy8gdWdyYWRlIGZpbGUgYWdyZWdhdGlvbiB3aGVuIGNhdGVnb3J5IGNoYW5nZQogICAgZnVuY3Rpb24gVXBkYXRlQXNzb2NpYXRpb25BZ3JlZ2F0aW9uQ2F0ZWdvcnkoICRjYXQgKQogICAgewoJJGRiID0mICR0aGlzLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCBmaWxlX2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXNfY2F0ZWdvcnkKCQkJCVdIRVJFIGNhdGVnb3J5X2lkID0gIi4oaW50KSRjYXQuIjsiOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkkYXJyID0gYXJyYXkoKTsKCXdoaWxlKCAkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCgkgICAgJGFycltdID0gKGludCkgJHJvd1snZmlsZV9pZCddOwoKCSR0aGlzLT5VcGRhdGVBc3NvY2lhdGlvbkFncmVnYXRpb24oICRhcnIgKTsKICAgIH0KCiAgICAvLyB1cGdyYWRlIGZpbGUgYWdyZWdhdGlvbiB3aGVuIGZpbGUocykgY2hhbmdlCiAgICAvLyBpZiBmYWxzZSBhbGwgZmlsZSBhcmUgdXBncmFnZWQKICAgIC8vICAgIGludCBvbmx5IG9uZQogICAgLy8gICAgYXJyYXkgYWxsIGZpbGVzIGluIGFycmF5CiAgICBmdW5jdGlvbiBVcGRhdGVBc3NvY2lhdGlvbkFncmVnYXRpb24oICRmaWxlID0gZmFsc2UgKQogICAgewoJJGRiID0mICR0aGlzLT5HZXREYigpOwoJJHF1ZXJ5ID0nJzsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgiU0VMRUNUIGZpbGVfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyIpOwoJd2hpbGUoICRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkKCSAgICAkYXJyWyRyb3dbJ2ZpbGVfaWQnXV0gPSAnJzsKCgkkcHJlZml4ID0iU0VMRUNUIGZpbGVfaWQsIGhpZXJhcmNoeSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5IGZjCgkJCQkJTEVGVCBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgYyBVU0lORyhjYXRlZ29yeV9pZCkiOwoJaWYoICRmaWxlICA9PT0gZmFsc2UgKQoJey8vIGFsbCBmaWxlcyBhcmUgdXBncmFkZWQKCSAgICAkcXVlcnkgPSAkcHJlZml4OwoJfQoJZWxzZSBpZiggaXNfaW50KCRmaWxlKSApCgkgICAgey8vIE9ubHkgb25lIGZpbGUKCQkkcXVlcnkgPSAkcHJlZml4LiIgV0hFUkUgZmlsZV9pZCAgPSAkZmlsZSAiOwoJICAgIH0KCSAgICBlbHNlIGlmKCBpc19hcnJheSgkZmlsZSkgJiYgY291bnQoJGZpbGUpPjAgKQoJCXsvLyBvbmx5IGZpbGVzIGluIGFycmF5CgkJICAgIGZvcmVhY2goJGZpbGUgYXMgJGsgPT4gJHYpCgkJCSRmaWxlWyRrXSA9IChpbnQpICR2OwoJCSAgICAkcXVlcnkgPSAkcHJlZml4LiIgV0hFUkUgZmlsZV9pZCBJTigiLmltcGxvZGUoIiwiLCRmaWxlKS4iKTsiOwoJCX0KCglpZigkcXVlcnkgPT0gJycpCgkgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignV3JvbmcgJGZpbGUgcGFyYW1ldGVyIGluICcuX19GVU5DVElPTl9fLicgZnVuY3Rpb24gaW4gZmlsZSAnLl9fRklMRV9fKTsKCgkkYXJyID0gYXJyYXkoKTsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJd2hpbGUoICRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkKCSAgICAkYXJyWyRyb3dbJ2ZpbGVfaWQnXV1bXSA9ICRyb3dbJ2hpZXJhcmNoeSddOwoKCWZvcmVhY2goICRhcnIgYXMgJGsgPT4gJHYpCgl7CgkgICAgJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBTRVQKCQkJCQloaWVyYXJjaHkgPSAnIi5pbXBsb2RlKCI7IiwkdikuIicKCQkJCQlXSEVSRSBmaWxlX2lkID0gIi4oaW50KSRrOwoJICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJfQogICAgfQoKICAgIC8vIGJhc2VkIG9uIE5ld3MgTW9kdWxlIGZ1bmN0aW9uIE5ld3MtPkNyZWF0ZVBhcmVudERyb3Bkb3duKCkKICAgIC8vIHJldHVybiBnZW5lcmF0ZWQgZHJvcGRvd25pbnB1dCB3aXRoIGl0ZW0gc2V0IG9uICRzZWxlY3RlZHZhbHVlCiAgICAvLwkJICBpbnB1dCB3aWxsIGNvbnRhaW4gYWxsICRjYXRpZCBraWRzCiAgICAvLwkJICBpZiAkY2F0aWQgPSAtMSBhbGwgcm9vdCBub2RlIGtpZHMKICAgIGZ1bmN0aW9uIENyZWF0ZVBhcmVudERyb3Bkb3duKCRpZCwgJGNhdGlkID0gLTEsICRzZWxlY3RlZHZhbHVlID0gLTEpCiAgICB7CgkkZGIgPSYgJHRoaXMtPkdldERiKCk7CgoJJGxvbmduYW1lID0gJyc7CgoJJGl0ZW1zWycoJy4kdGhpcy0+TGFuZygnbm9uZScpLicpJ10gPSAnLTEnOwoKCSRxdWVyeSA9ICJTRUxFQ1QgaGllcmFyY2h5LCBsb25nX25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCSAgICAkbG9uZ25hbWUgPSAkcm93WydoaWVyYXJjaHknXSAuICclJzsKCgkkcXVlcnkgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLCBuYW1lLCBoaWVyYXJjaHksIGxvbmdfbmFtZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgV0hFUkUgaGllcmFyY2h5IG5vdCBsaWtlID8gT1JERVIgYnkgaGllcmFyY2h5X3ByaW9yaXR5LGhpZXJhcmNoeSI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbG9uZ25hbWUpKTsKCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCSAgICAkaXRlbXNbJHJvd1snbG9uZ19uYW1lJ11dID0gJHJvd1snY2F0ZWdvcnlfaWQnXTsKCglyZXR1cm4gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAncGFyZW50JywgJGl0ZW1zLCAtMSwgJHNlbGVjdGVkdmFsdWUpOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEFjY2Vzc1R5cGVDb21ibygka2V5PWZhbHNlLCAkbmFtZTJpZD1mYWxzZSkKICAgIHsKCSR0eXBlcyA9IGFycmF5KAkiMCIgPT4gJHRoaXMtPkxhbmcoImFjY2Vzc3R5cGVfZnJlZSIpLAoJICAgICIxIiA9PiAkdGhpcy0+TGFuZygiYWNjZXNzdHlwZV9mZXVvbmx5IiksCgkgICAgIjIiID0+ICR0aGlzLT5MYW5nKCJhY2Nlc3N0eXBlX2VtYWlsb25seSIpLAoJICAgICIzIiA9PiAkdGhpcy0+TGFuZygiYWNjZXNzdHlwZV9taXhlZCIpCgkpOwoJaWYoJGtleSkKCXsKCSAgICByZXR1cm4gKGlzc2V0KCR0eXBlc1ska2V5XSk/JHR5cGVzWyRrZXldOmZhbHNlKTsKCX0KCglyZXR1cm4gKCRuYW1lMmlkPyR0eXBlczphcnJheV9mbGlwKCR0eXBlcykpOwogICAgfQoKICAgIGZ1bmN0aW9uIEZFVWluc3RhbGxlZCgpCiAgICB7CgkJLy8ganVzdCBjaGVjayBpZiBGRVUgaXMgaW5zdGFsbGVkCgkJJG0gPSAmQ01TTW9kdWxlOjpHZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwoJCWlmKCAkbSApCgkJCXJldHVybiB0cnVlOwoJCXJldHVybiBmYWxzZTsKICAgIH0KCiAgICBmdW5jdGlvbiBNYWlsZXJJbnN0YWxsZWQoKQogICAgewoJCS8vIGp1c3QgY2hlY2sgaWYgQ01TTWFpbGVyIGlzIGluc3RhbGxlZAoJCSRtID0gJkNNU01vZHVsZTo6R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwoJCWlmKCAkbSApCgkJCXJldHVybiB0cnVlOwoJCXJldHVybiBmYWxzZTsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRUZW1wbGF0ZXNDb21ibygkdHlwZT1mYWxzZSwgJHdpdGhkZWZhdWx0PXRydWUsICRuYW1lMmlkPWZhbHNlKQogICAgewogICAgLy8gZ2V0IGFuIGFycmF5IG9mIHRoZSB0ZW1wbGF0ZXMgb2YgdGhlIGNob3NlbiB0eXBlIChvciBhbGwpLCBmb3IgdXNlCiAgICAvLyBpbiBkcm9wZG93biBsaXN0cwoJJHJlc3VsdCA9IGFycmF5KCk7CglpZigkdHlwZSAmJiBzdWJzdHIoJHR5cGUsLTEpICE9ICdfJykJJHR5cGUgLj0gJ18nOwoJaWYoJHdpdGhkZWZhdWx0KQkkcmVzdWx0WycnXSA9ICR0aGlzLT5MYW5nKCdkZWZhdWx0dGVtcGxhdGUnKTsKCSR0ZW1wbGF0ZWxpc3QgPSAkdGhpcy0+TGlzdFRlbXBsYXRlcygkdGhpcy0+R2V0TmFtZSgpKTsKCWZvcmVhY2goJHRlbXBsYXRlbGlzdCBhcyAkdGVtcGxhdGUpCgl7CgkgICAgJG5hbWUgPSBzdWJzdHIoc3Ryc3RyKCR0ZW1wbGF0ZSwgJ18nKSwgMSk7CgkgICAgJHByZWZpeCA9IHN0cl9yZXBsYWNlKCRuYW1lLCIiLCR0ZW1wbGF0ZSk7CgkgICAgaWYoISR0eXBlIHx8IHN0cnRvbG93ZXIoJHByZWZpeCkgPT0gc3RydG9sb3dlcigkdHlwZSkpCSRyZXN1bHRbJHRlbXBsYXRlXSA9ICRuYW1lOwoJfQoJcmV0dXJuICgkbmFtZTJpZD8kcmVzdWx0OmFycmF5X2ZsaXAoJHJlc3VsdCkpOwogICAgfQoKICAgIGZ1bmN0aW9uIEdldEdyb3Vwc0NvbWJvKCkKICAgIHsKICAgIC8vIGdldCBhbiBhcnJheSBvZiB0aGUgRkVVIGdyb3VwcywgZm9yIHVzZSBpbiBhIHNlbGVjdCBsaXN0CglpZighJHRoaXMtPkZFVWluc3RhbGxlZCgpKQoJICAgIHJldHVybiBhcnJheSgpOwoJJEZFVSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwoJaWYoJEZFVSkKCSAgICAkZ3JvdXBzID0gJEZFVS0+R2V0R3JvdXBMaXN0KCk7CglyZXR1cm4gJGdyb3VwczsKICAgIH0KCiAgICBmdW5jdGlvbiBHZXRGaWxlR3JvdXBzKCRmaWxlX2lkKQogICAgewogICAgLy8gZ2V0IHRoZSBncm91cHMgdGhhdCBoYXZlIGFjY2VzcyB0byBhIGdpdmVuIGZpbGUKCSRkYiA9ICR0aGlzLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZWdyb3VwcyBXSEVSRSBmaWxlX2lkPT8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGVfaWQpKTsKCSRvdXRwdXQgPSBhcnJheSgpOwoJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgl7CgkgICAgJG91dHB1dFtdID0gJHJvd1snZ3JvdXBfaWQnXTsKCX0KCXJldHVybiAkb3V0cHV0OwogICAgfQoKICAgIGZ1bmN0aW9uIENoZWNrRkVVUGVybSgkZmlsZV9pZCkKICAgIHsKICAgIC8vIGNoZWNrcyBpZiB0aGUgbG9nZ2VkIGluIHVzZXIgaGFzIGFjY2VzcyB0byB0aGlzIGZpbGUKCWlmKCEkdGhpcy0+RkVVaW5zdGFsbGVkKCkpCXJldHVybiBmYWxzZTsKCgkkRkVVID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CglpZighJEZFVS0+TG9nZ2VkSW4oKSkJcmV0dXJuIGZhbHNlOwoKCSR1c2VyaWQgPSAkRkVVLT5Mb2dnZWRJbklkKCk7CgkkdXNlcmdyb3VwcyA9IGV4cGxvZGUoJywnLCRGRVUtPkdldE1lbWJlckdyb3VwcygkdXNlcmlkKSk7CgkkZ3JvdXBzID0gJEZFVS0+R2V0R3JvdXBMaXN0KCk7CgkkZmlsZWdyb3VwcyA9ICR0aGlzLT5HZXRGaWxlR3JvdXBzKCRmaWxlX2lkKTsKCQoJLy8gY2hlY2sgaWYgYW55IGdyb3VwIGlzIG5lZWRlZCB0byBhY2Nlc3MKCWlmKGVtcHR5KCRmaWxlZ3JvdXBzKSkKCQkkaGFzcGVybSA9IHRydWU7CgllbHNlCgkJJGhhc3Blcm0gPSBmYWxzZTsKCgkkaSA9IDA7Cgl3aGlsZSghJGhhc3Blcm0gJiYgJGkgPCBjb3VudCgkdXNlcmdyb3VwcykpCgl7CgkgICAgaWYoaW5fYXJyYXkoJGdyb3Vwc1skdXNlcmdyb3Vwc1skaV1dLCRmaWxlZ3JvdXBzKSkJJGhhc3Blcm0gPSB0cnVlOwoJICAgICRpKys7Cgl9CglyZXR1cm4gJGhhc3Blcm07CiAgICB9CgogICAgZnVuY3Rpb24gR2V0RkVVR3JvdXBOYW1lcygkZ3JvdXBpZGFycmF5KQogICAgewogICAgLy8gdGhpcyB0YWtlcyBhbiBhcnJheSBvZiBncm91cCBpZHMsIGFuZCB0cmFuc2Zvcm0gaXQgaW50byBhIHN0cmluZyBvZiBncm91cCBuYW1lcwogICAgLy8gdXNlIHRoaXMgdG8gcHJlcGFyZSB0aGUgb25seV9ncm91cHMgcGFyYW1ldGVyIG9mIHRoZSBGRVUgbG9naW4gZm9ybQoJaWYoY291bnQoJGdyb3VwaWRzKSA9PSAwKQoJICAgIHJldHVybiBhcnJheSgpOwoJaWYoISR0aGlzLT5GRVVpbnN0YWxsZWQoKSkKCSAgICByZXR1cm4gZmFsc2U7CgkkRkVVID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CgkkZ3JvdXBzID0gYXJyYXlfZmxpcCgkRkVVLT5HZXRHcm91cExpc3QoKSk7Cgkkb3V0cHV0ID0gJyc7Cglmb3JlYWNoKCRncm91cGlkYXJyYXkgYXMgJG9uZWlkKQoJewoJICAgIGlmKGlzc2V0KCRncm91cHNbJG9uZWlkXSkpCSRvdXRwdXQgLj0gKCRvdXRwdXQgPT0gJyc/Jyc6JywnKS4kZ3JvdXBzWyRvbmVpZF07Cgl9CglyZXR1cm4gJG91dHB1dDsKICAgIH0KICAgIGZ1bmN0aW9uIENyZWF0ZUFsaWFzKCR0eHQpCiAgICB7CglyZXR1cm4gc3RydG9sb3dlcigkdGhpcy0+T2JzdHJ1Y2F0ZSgkdHh0KSk7CiAgICB9CiAgICAvLyB0YWtlbiBmb3JtIGNsdCBtb2R1bGUKICAgIC8vIHJldHVybiB0cnVlIGlmIGFsaWFzIGRvZXMgbm90IGV4aXN0IGluIGRhdGFiYXNlCiAgICBmdW5jdGlvbiBDaGVja0FsaWFzKCRkYnRhYmxlLCAkYWxpYXMsICRpdGVtaWQ9ZmFsc2UsICRpZGZpZWxkPSJpZCIsICRhbGlhc2ZpZWxkPSJhbGlhcyIpCiAgICB7CglpZihlbXB0eSgkYWxpYXMpKQoJICAgIHJldHVybiBmYWxzZTsKCgkkZGIgPSAkdGhpcy0+R2V0RGIoKTsKCS8vIGNoZWNrcyBpZiB0aGlzIGFsaWFzIGFscmVhZHkgZXhpc3RzIGluIHRoZSBsZXZlbAoJJHF1ZXJ5ID0gIlNFTEVDVCAiLiRhbGlhc2ZpZWxkLiIgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl8nLiRkYnRhYmxlLiIgV0hFUkUgIi4kYWxpYXNmaWVsZC4iID0gPyI7CglpZigkaXRlbWlkKSAkcXVlcnkgLj0gIiBBTkQgIi4kaWRmaWVsZC4iIT0iLiRpdGVtaWQ7CgoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkYWxpYXMpKTsKCSR0YXJnZXQgPSAwOwoJaWYoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpICR0YXJnZXQrKzsKCXJldHVybiAoICR0YXJnZXQgPT0gMCk7CiAgICB9CgogICAgZnVuY3Rpb24gQ2hlY2tEb3duVHlwZSgkZ2l2ZW4gLCAkdG9jaGVhY2spCiAgICB7CgkkZ2l2ZW4gPSAoaW50KSRnaXZlbjsKCSR0b2NoZWFjaz0gKGludCkkdG9jaGVhY2s7CglpZigkdG9jaGVhY2sgPT09ICRnaXZlbiApCgkgICAgcmV0dXJuIHRydWU7CgoJJHQgPSAkZ2l2ZW4gJiAkdG9jaGVhY2s7CglyZXR1cm4gICR0PjA/dHJ1ZTpmYWxzZSA7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGNoZWNrRmlsZUFsbG93KCRmaWxlcGF0aCl7CiAgICAgICAgZ2xvYmFsICRjb25maWc7CiAgICAgICAgJGZpbGVwYXRoID0gcmVhbHBhdGgoICRmaWxlcGF0aCApOwogICAgICAgICRmaWxlcGF0aCA9IHN0cl9yZXBsYWNlKCAkY29uZmlnWydyb290X3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SICwnJywgJGZpbGVwYXRoICkgOwogICAgICAgIHN3aXRjaCggICRmaWxlcGF0aCApewogICAgICAgICAgICBjYXNlICdjb25maWcucGhwJzoKICAgICAgICAgICAgY2FzZSAnaW5kZXgucGhwJzoKICAgICAgICAgICAgY2FzZSAndmVyc2lvbi5waHAnOgogICAgICAgICAgICBjYXNlICdyZXdyaXRlLmxvZyc6CiAgICAgICAgICAgIGNhc2UgJ2ZpbGVsb2MucGhwJzoKICAgICAgICAgICAgY2FzZSAnaW5jbHVkZS5waHAnOgogICAgICAgICAgICBjYXNlICdtb2R1bGVpbnRlcmZhY2UucGhwJzoKICAgICAgICAgICAgY2FzZSAncHJldmlldy5waHAnOgogICAgICAgICAgICBjYXNlICdzb2FwLnBocCc6CiAgICAgICAgICAgIGNhc2UgJ3N0eWxlc2hlZXQuY3NzJzoKICAgICAgICAgICAgY2FzZSAndmVyc2lvbi5waHAnOgogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICBmb3JlYWNoKCBhcnJheSggJ21vZHVsZXMnLCdhZG1pbicsJ2xpYicsJ2RvYycsJ3BsdWdpbnMnICkgYXMgJHBhdGggKQogICAgICAgICAgICBpZiggc3RycG9zKCAkZmlsZXBhdGggLCRwYXRoLkRJUkVDVE9SWV9TRVBBUkFUT1IpID09PSAwICkKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICB9Cgp9IC8vIGNsYXNzIGVuZAoKPz4K]]></data>
	</file>
	<file>
	  <filename>/function.assingfiles.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7Cgokcm93Y2xhc3MgPSAncm93MSc7CiRjYXRlZ29yeV9pZCA9IC0xIDsKZ2xvYmFsICRjb25maWc7CndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKewoKCS8vCXZhcl9kdW1wKCRyb3cpOwoJaWYoJHNob3doZWFkZXJzICYmICRjYXRlZ29yeV9pZCAhPSAgJHJvd1snY2F0ZWdvcnlfaWQnXSkKCXsKCQkvLyBhZGRpbmcgbmV3IGNhdGVnb3J5IGhlYWRlcgoJCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCQkkb25lcm93LT5pdGVtdHlwZSA9ICdoZWFkZXInOwoJCSRvbmVyb3ctPml0ZW1sZXZlbCA9IChpbnQpICRyb3dbJ2RlcHRoJ107CgkJJG9uZXJvdy0+ZGVzY3JpcHRpb24gPSAkcm93WydjYXRlZ29yeV9kZXNjJ107CgkJJG9uZXJvdy0+YWxpYXMgPSAkcm93WydjYXRlZ29yeV9hbGlhcyddOwoJCSRvbmVyb3ctPm5hbWUgPSAnPHNwYW4gaWQ9ImRtY18nLiRvbmVyb3ctPmFsaWFzLiciID4nLiAkcm93WydjYXRlZ29yeV9uYW1lJ10gLiAnPC9zcGFuPic7CgkJaWYoICFlbXB0eSgkc3ViY2F0ZWdvcmllc1skcm93WydjYXRlZ29yeV9pZCddXVsnaXRlbXMnXSApICkKCQl7CgkJCWlmKCRkZXB0aCA9PT0gZmFsc2UgfHwgJG9uZXJvdy0+aXRlbWxldmVsIC0gJGJhc2VfZGVwdGggPCAkZGVwdGggKQoJCQkJLy8gc3ViY2F0ZWdvcmllcyB3aGljaCBhcmUgaW4gc2V0IGRlcHRoCgkJCQlmb3JlYWNoKCAkc3ViY2F0ZWdvcmllc1skcm93WydjYXRlZ29yeV9pZCddXVsnaXRlbXMnXSBhcyAka2NhdCA9PiAkdmNhdCkKCQkJCQkkc3ViY2F0ZWdvcmllc1skcm93WydjYXRlZ29yeV9pZCddXVsnaXRlbXMnXVska2NhdF1bJ2xpbmsnXSA9CgkJCQkJCSc8YSBocmVmPSInLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddLicjZG1jXycuJHZjYXRbJ2FsaWFzJ10uJyI+Jy4kdmNhdFsnbmFtZSddLic8L2E+JzsKCQkJZWxzZQoJCQkJLy8gc3ViY2F0ZWdvcmllcyB3aGljaCBhcmUgZGVlcGVyIHRoYW4gc2V0IGRlcHRoCgkJCQlmb3JlYWNoKCAkc3ViY2F0ZWdvcmllc1skcm93WydjYXRlZ29yeV9pZCddXVsnaXRlbXMnXSBhcyAka2NhdCA9PiAkdmNhdCkKCQkJCQkkc3ViY2F0ZWdvcmllc1skcm93WydjYXRlZ29yeV9pZCddXVsnaXRlbXMnXVska2NhdF1bJ2xpbmsnXSA9CgkJCQkJCSR0aGlzLT5DcmVhdGVDYXRlZ29yeUxpbmsoJGlkLCAkcmV0dXJuaWQsICR2Y2F0WyduYW1lJ10sICR2Y2F0WydhbGlhcyddLCRkZXB0aCk7CgkJfQoJCSRvbmVyb3ctPnN1YmNhdGVnb3JpZXMgPSAkc3ViY2F0ZWdvcmllc1skcm93WydjYXRlZ29yeV9pZCddXVsnaXRlbXMnXTsKCgkJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgkJJGNhdGVnb3J5X2lkID0gICRyb3dbJ2NhdGVnb3J5X2lkJ10gOwoJfQoKCS8vIGFkZGluZyBpdGVtCgkkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7Cglmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKQoJCSRvbmVyb3ctPiRrZXkgPSAkdmFsdWU7CgoJJG9uZXJvdy0+aXRlbXR5cGUgPSAnZmlsZSc7Cgkkb25lcm93LT5pdGVtbGV2ZWwgPSAoaW50KSAkcm93WydkZXB0aCddOwoJJG9uZXJvdy0+aWQgPSAoaW50KSAkcm93WydmaWxlX2lkJ107CgkkZmlsZW5hbWUgPSAkcm93WyduYW1lJ10uKCRyb3dbJ2V4dCddIT0nJz8nLicuICRyb3dbJ2V4dCddOicnKTsKCSRvbmVyb3ctPm5hbWUgPSAkZmlsZW5hbWU7Cgkkb25lcm93LT5kZXNjcmlwdGlvbiA9ICRyb3dbJ2Rlc2NyaXB0aW9uJ107Cgkkb25lcm93LT50aHVtYiA9ICAhZW1wdHkoJHJvd1sndGh1bWJfcGF0aCddKSAgPyAkdGhpcy0+Q3JlYXRlRG93bmxvYWRMaW5rKCRpZCwkcmV0dXJuaWQsJzxpbWcgc3JjPSInLiAkY29uZmlnWyd1cGxvYWRzX3VybCddLicvJy5zdHJfcmVwbGFjZSggRElSRUNUT1JZX1NFUEFSQVRPUiwgJy8nLCAkcm93Wyd0aHVtYl9wYXRoJ10pIC4nIiAvPicsJHJvd1snYWxpYXMnXSkgOiAnJzsKCSRvbmVyb3ctPnRodW1iX3BhdGggPSAgIWVtcHR5KCRyb3dbJ3RodW1iX3BhdGgnXSkgID8gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuc3RyX3JlcGxhY2UoIERJUkVDVE9SWV9TRVBBUkFUT1IsICcvJywgJHJvd1sndGh1bWJfcGF0aCddKSA6ICcnOwoJJG9uZXJvdy0+Y291bnRlciA9ICRyb3dbJ2NvdW50ZXInXTsKCSRvbmVyb3ctPmNvdW50ZXJsb2NhbGUgPSAkdGhpcy0+bGFuZygnY291bnRlcm5icicsIGFycmF5KCRyb3dbJ2NvdW50ZXInXSkpOwoJJG9uZXJvdy0+ZGV0YWlsID0gJHRoaXMtPkNyZWF0ZURldGFpbExpbmsoJGlkLCRyZXR1cm5pZCwkdGhpcy0+bGFuZygnZGV0YWlscycpLCRyb3dbJ2FsaWFzJ10pOwoJJG9uZXJvdy0+ZG93bmxvYWQgPSAkdGhpcy0+Q3JlYXRlRG93bmxvYWRMaW5rKCRpZCwkcmV0dXJuaWQsJGZpbGVuYW1lLCRyb3dbJ2FsaWFzJ10pOwoJJG9uZXJvdy0+aHJlZiA9ICR0aGlzLT5DcmVhdGVEb3dubG9hZExpbmsoJGlkLCRyZXR1cm5pZCwkZmlsZW5hbWUsJHJvd1snYWxpYXMnXSx0cnVlKTsKCSRvbmVyb3ctPnNpemUgPSAkdGhpcy0+VG9IUlNpemUoJHJvd1snc2l6ZSddKTsKCSRvbmVyb3ctPmNhdGVnb3JpZXMgPSAkdGhpcy0+Q3JlYXRlQ2F0ZWdvcnlMaW5rcygkaWQsJHJldHVybmlkLCRyb3dbJ2ZpbGVfaWQnXSwgJGZpbGVzX2NhdGVnb3JpZXMgKTsKCSRvbmVyb3ctPmFjY2Vzc3R5cGVzID0gJHRoaXMtPkdldEFjY2Vzc1R5cGVzKCRyb3dbJ2FjY2Vzc3R5cGUnXSk7Cgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCgkkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCSgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOwp9Ci8vdmFyX2R1bXAoJGVudHJ5YXJyYXkpOwovL3Zhcl9kdW1wKCR0ZW1wbGF0ZSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbm9kb3dubG9hZHMnLCAkdGhpcy0+bGFuZygnbm9kb3dubG9hZHMnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYmFja3RvbGlzdGxpbmsnLCAnPGEgaHJlZj0iamF2YXNjcmlwdDpoaXN0b3J5LmJhY2soKSI+Jy4kdGhpcy0+bGFuZygnYmFja3RvbGlzdCcpLic8L2E+Jyk7CgoKPz4K]]></data>
	</file>
	<file>
	  <filename>/function.mine_content_type.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWZ1bmN0aW9uX2V4aXN0cygnbWltZV9jb250ZW50X3R5cGUnKSkgewoJaWYoUEhQX1ZFUlNJT05fSUQgPj0gNTAzMDApewoJCWZ1bmN0aW9uIG1pbWVfY29udGVudF90eXBlKCRmaWxlbmFtZSkKCQl7CiAgICAgICAgICAgIGlmKGNsYXNzX2V4aXN0cygnZmluZm8nLHRydWUpKXsKICAgICAgICAgICAgICAgICRyZXN1bHQgPSBuZXcgZmluZm8oKTsKICAgICAgICAgICAgICAgIGlmIChpc19yZXNvdXJjZSgkcmVzdWx0KSA9PT0gdHJ1ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHJlc3VsdC0+ZmlsZSgkZmlsZW5hbWUsIEZJTEVJTkZPX01JTUVfVFlQRSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgIGlmKCBmaWxlX2V4aXN0cygkZmlsZW5hbWUpICkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCQl9Cgl9CgllbHNlCgl7CgkJZnVuY3Rpb24gbWltZV9jb250ZW50X3R5cGUoJGZpbGVuYW1lKSB7CgkJCWlmIChmdW5jdGlvbl9leGlzdHMoJ2ZpbmZvX29wZW4nKSkgewoJCQkJJGZpbmZvID0gZmluZm9fb3BlbihGSUxFSU5GT19NSU1FKTsKCQkJCSRtaW1ldHlwZSA9IGZpbmZvX2ZpbGUoJGZpbmZvLCAkZmlsZW5hbWUpOwoJCQkJZmluZm9fY2xvc2UoJGZpbmZvKTsKCQkJCXJldHVybiAkbWltZXR5cGU7CgkJCX0KCQkJJG1pbWVfdHlwZXMgPSBhcnJheSgKCQkJCSd0eHQnID0+ICd0ZXh0L3BsYWluJywKCQkJCSdodG0nID0+ICd0ZXh0L2h0bWwnLAoJCQkJJ2h0bWwnID0+ICd0ZXh0L2h0bWwnLAoJCQkJJ3BocCcgPT4gJ3RleHQvaHRtbCcsCgkJCQknY3NzJyA9PiAndGV4dC9jc3MnLAoJCQkJJ2pzJyA9PiAnYXBwbGljYXRpb24vamF2YXNjcmlwdCcsCgkJCQknanNvbicgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAoJCQkJJ3htbCcgPT4gJ2FwcGxpY2F0aW9uL3htbCcsCgkJCQknc3dmJyA9PiAnYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnLAoJCQkJJ2ZsdicgPT4gJ3ZpZGVvL3gtZmx2JywKCgkJCQkvLyBpbWFnZXMKCQkJCSdwbmcnID0+ICdpbWFnZS9wbmcnLAoJCQkJJ2pwZScgPT4gJ2ltYWdlL2pwZWcnLAoJCQkJJ2pwZWcnID0+ICdpbWFnZS9qcGVnJywKCQkJCSdqcGcnID0+ICdpbWFnZS9qcGVnJywKCQkJCSdnaWYnID0+ICdpbWFnZS9naWYnLAoJCQkJJ2JtcCcgPT4gJ2ltYWdlL2JtcCcsCgkJCQknaWNvJyA9PiAnaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uJywKCQkJCSd0aWZmJyA9PiAnaW1hZ2UvdGlmZicsCgkJCQkndGlmJyA9PiAnaW1hZ2UvdGlmZicsCgkJCQknc3ZnJyA9PiAnaW1hZ2Uvc3ZnK3htbCcsCgkJCQknc3ZneicgPT4gJ2ltYWdlL3N2Zyt4bWwnLAoKCQkJCS8vIGFyY2hpdmVzCgkJCQknemlwJyA9PiAnYXBwbGljYXRpb24vemlwJywKCQkJCSdyYXInID0+ICdhcHBsaWNhdGlvbi94LXJhci1jb21wcmVzc2VkJywKCQkJCSdleGUnID0+ICdhcHBsaWNhdGlvbi94LW1zZG93bmxvYWQnLAoJCQkJJ21zaScgPT4gJ2FwcGxpY2F0aW9uL3gtbXNkb3dubG9hZCcsCgkJCQknY2FiJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLWNhYi1jb21wcmVzc2VkJywKCgkJCQkvLyBhdWRpby92aWRlbwoJCQkJJ21wMycgPT4gJ2F1ZGlvL21wZWcnLAoJCQkJJ3F0JyA9PiAndmlkZW8vcXVpY2t0aW1lJywKCQkJCSdtb3YnID0+ICd2aWRlby9xdWlja3RpbWUnLAoKCQkJCS8vIGFkb2JlCgkJCQkncGRmJyA9PiAnYXBwbGljYXRpb24vcGRmJywKCQkJCSdwc2QnID0+ICdpbWFnZS92bmQuYWRvYmUucGhvdG9zaG9wJywKCQkJCSdhaScgPT4gJ2FwcGxpY2F0aW9uL3Bvc3RzY3JpcHQnLAoJCQkJJ2VwcycgPT4gJ2FwcGxpY2F0aW9uL3Bvc3RzY3JpcHQnLAoJCQkJJ3BzJyA9PiAnYXBwbGljYXRpb24vcG9zdHNjcmlwdCcsCgoJCQkJLy8gbXMgb2ZmaWNlCgkJCQknZG9jJyA9PiAnYXBwbGljYXRpb24vbXN3b3JkJywKCQkJCSdydGYnID0+ICdhcHBsaWNhdGlvbi9ydGYnLAoJCQkJJ3hscycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsCgkJCQkncHB0JyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnLAoKCQkJCS8vIG9wZW4gb2ZmaWNlCgkJCQknb2R0JyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0JywKCQkJCSdvZHMnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0JywKCQkJKTsKCQkJCgkJCSRleHQgPSBzdHJ0b2xvd2VyKGFycmF5X3BvcChleHBsb2RlKCcuJywkZmlsZW5hbWUpKSk7CgkJCWlmIChhcnJheV9rZXlfZXhpc3RzKCRleHQsICRtaW1lX3R5cGVzKSkgewoJCQkJcmV0dXJuICRtaW1lX3R5cGVzWyRleHRdOwoJCQl9CgkJCWVsc2UgewoJCQkJcmV0dXJuICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nOwoJCQl9CgkJfQoJfQp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/function.uploadfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmluY2x1ZGVfb25jZSgibGliL3NpbXBsZS11cGxvYWQvU2ltcGxlVXBsb2FkLnBocCIpOwokdXBsb2FkZWQgPSAnJzsKJGZpbGUgPSAnJzsKJGZfY29udGVudHMgPSAnJzsKJGZpbGVfbmFtZSA9ICcnOwppZihpc3NldCgkX0ZJTEVTWyRpZC4iZmlsZSJdKSAmJiAkcGFyYW1zWydyYWRpb3UnXSA9PSAnbmV3JykKewoJLy8gd2UgaGF2ZSBuZXdseSB1cGxvYWRlZCBmaWxlCgkkZmlsZSA9ICRfRklMRVNbJGlkLiJmaWxlIl07CglpZiggJGZpbGVbJ3NpemUnXSA9PSAwKQoJewoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yIikuIiAiLiR0aGlzLT5MYW5nKCdub3RoaW5ndXBsb2FkZWQnKSApOwoJCXJldHVybjsKCX0KCQoJaWYgKCBpc19hcnJheSgkZmlsZSkgKQoJewoJCSRkaXIgPSAkdGhpcy0+Y21zLT5jb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RpcicpLkRJUkVDVE9SWV9TRVBBUkFUT1I7CgkJdHJ5IHsKCQkJJHVwbG9hZCA9IG5ldyBTaW1wbGVVcGxvYWQ7CgkJCSR1cGxvYWQtPnNldFBhdGgoJGRpcik7CgkJCSR1cGxvYWQtPnNldENvbnRlbnRzKCRmaWxlKTsKCQkJaWYgKCEkdXBsb2FkLT51cGxvYWRGaWxlKCkpCgkJCXsKCQkJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yIikuIiAiLiAkdGhpcy0+TGFuZygndW5hYmxldG9tb3ZlJykpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCSRmX2NvbnRlbnRzID0gJHVwbG9hZC0+Z2V0Q29udGVudHMoKTsKCQl9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3IiKS4iICIuJGUtPmdldE1lc3NhZ2UoKSApOwoJCQlyZXR1cm47CgkJfQoJfQoJLy8gc2V0dGluZyB0aGluZ3MgZm9yIGRhdGFiYXNlCgkkZmlsZV9uYW1lID0gc3Vic3RyKCAkZmlsZVsibmFtZSJdICwgMCAgLCBzdHJycG9zKCAkZmlsZVsibmFtZSJdICwgICRmX2NvbnRlbnRzWydleHQnXSApLTEpOwoJJGZfY29udGVudHNbJ3BhdGgnXSA9IHJlYWxwYXRoKCRmX2NvbnRlbnRzWydwYXRoJ10pOwoJJGFkZGZpbGVkYiA9IHRydWU7Cgp9CmVsc2UgaWYgKGlzc2V0KCRwYXJhbXNbJ3VwbG9hZGVkJ10pICYmICRwYXJhbXNbJ3JhZGlvdSddID09ICdvbGQnKQp7CgkkdXBsb2FkZWQgPSAkdGhpcy0+Y21zLT5jb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHBhcmFtc1sndXBsb2FkZWQnXTsKCWlmKCAhZmlsZV9leGlzdHMoJHVwbG9hZGVkKSApCgl7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZmlsZWRvZXNudGV4aXN0cyIsYXJyYXkoJHVwbG9hZGVkKSkpOwoJCXJldHVybjsKCX0KCSRmX2NvbnRlbnRzWydwYXRoJ10gPSByZWFscGF0aCgkdXBsb2FkZWQpOwoKCSRwYXRoX3BhcnRzID0gcGF0aGluZm8oJGZfY29udGVudHNbJ3BhdGgnXSk7CgkkZl9jb250ZW50c1snZXh0J10gPSAkcGF0aF9wYXJ0c1snZXh0ZW5zaW9uJ107CgkkZmlsZV9uYW1lID0gc3Vic3RyKCAkcGF0aF9wYXJ0c1snYmFzZW5hbWUnXSAsIDAgICwgc3RycnBvcyggJHBhdGhfcGFydHNbJ2Jhc2VuYW1lJ10gLCAkcGF0aF9wYXJ0c1snZXh0ZW5zaW9uJ10gKS0xKTsKCSRmX2NvbnRlbnRzWyd0eXBlJ10gPSBtaW1lX2NvbnRlbnRfdHlwZSgkdXBsb2FkZWQpOwoJJGZfY29udGVudHNbJ3NpemUnXSA9IGZpbGVzaXplKCR1cGxvYWRlZCk7CgkkZl9jb250ZW50c1snbWQ1J10gPSBtZDVfZmlsZSgkdXBsb2FkZWQpOwoJJGFkZGZpbGVkYiA9IHRydWU7Cn0KZWxzZSBpZiAoaXNzZXQoJHBhcmFtc1snZXh0ZXJuYWwnXSkgJiYgJHBhcmFtc1sncmFkaW91J10gPT0gJ2V4dGVybmFsJykKewoKICBpZighZnVuY3Rpb25fZXhpc3RzKCdjdXJsX2V4ZWMnKSkKICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCJjdXJsZG9lc250ZXhpc3RzIikpOwoJcmV0dXJuOwogIH0KICBpZihzdHJwb3MoICRwYXJhbXNbJ2V4dGVybmFsJ10gICwgJ2h0dHA6Ly8nKSA9PT0gMCApCgkkcGFyYW1zWydleHRlcm5hbCddID0gc3Vic3RyKCRwYXJhbXNbJ2V4dGVybmFsJ10sNyk7CgogICRyZW1vdGVGaWxlID0gJ2h0dHA6Ly8nLiRwYXJhbXNbJ2V4dGVybmFsJ107CiAgJGNoID0gY3VybF9pbml0KCRyZW1vdGVGaWxlKTsKICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfTk9CT0RZLCB0cnVlKTsKICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIHRydWUpOwogIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgdHJ1ZSk7IC8vbm90IG5lY2Vzc2FyeSB1bmxlc3MgdGhlIGZpbGUgcmVkaXJlY3RzIChsaWtlIHRoZSBQSFAgZXhhbXBsZSB3ZSdyZSB1c2luZyBoZXJlKQogICRkYXRhID0gY3VybF9leGVjKCRjaCk7CiAgY3VybF9jbG9zZSgkY2gpOwogIGlmICgkZGF0YSA9PT0gZmFsc2UpIAogIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImN1cmxmYWlsZWQiKSk7CglyZXR1cm47CiAgfQogIGlmIChwcmVnX21hdGNoKCcvXkhUVFBcLzFcLlswMV0gKFxkXGRcZCkvJywgJGRhdGEsICRtYXRjaGVzKSkgewoJJHN0YXR1cyA9IChpbnQpJG1hdGNoZXNbMV07CglpZigkc3RhdHVzID09IDQwNCkKCXsKCSAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZmlsZWRvZXNudGV4aXN0cyIsIGFycmF5KCRyZW1vdGVGaWxlKSkpOwoJICByZXR1cm47Cgl9CiAgfQogIAogICRmX2NvbnRlbnRzWydwYXRoJ10gPSAkcmVtb3RlRmlsZTsKICBpZiAocHJlZ19tYXRjaCgnL0NvbnRlbnQtTGVuZ3RoOiAoXGQrKS8nLCAkZGF0YSwgJG1hdGNoZXMpKSB7CgkkZl9jb250ZW50c1snc2l6ZSddID0gKGludCkkbWF0Y2hlc1sxXTsKICB9CiAgaWYgKHByZWdfbWF0Y2goJy9Db250ZW50LVR5cGU6IChbXHdcL19cLStdKykvJywgJGRhdGEsICRtYXRjaGVzKSkgewoJJGZfY29udGVudHNbJ3R5cGUnXSA9ICRtYXRjaGVzWzFdOwogIH0KCiAgJGZfY29udGVudHNbJ21kNSddID0gJHBhcmFtc1snbWQ1J107CiAgJHBhdGhfcGFydHMgPSBwYXRoaW5mbygkZl9jb250ZW50c1sncGF0aCddKTsKICAkZl9jb250ZW50c1snZXh0J10gPSAkcGF0aF9wYXJ0c1snZXh0ZW5zaW9uJ107CiAgJGZpbGVfbmFtZSA9IHN1YnN0ciggJHBhdGhfcGFydHNbJ2Jhc2VuYW1lJ10gLCAwICAsIHN0cnJwb3MoICRwYXRoX3BhcnRzWydiYXNlbmFtZSddICwgJHBhdGhfcGFydHNbJ2V4dGVuc2lvbiddICktMSk7CiAgJGFkZGZpbGVkYiA9IHRydWU7Cn0KPz4=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAOf/ACwtKy0uLDAyLzIzMTM0MjQ2Mzo7OT0/PEBBP0FCQEFDQUZIRUlKSEpLSUpMSk1PTFBST1NUUlxeW15gXWxua3FzcHN1cjGUAjKVBDuTAnd5dnh6dziZDHl7eHt9enx+e31/fH+BfoGDgEWiC4KEgUugGoOFgoSGgz+nEYWHhEOpAECoEzusBIeJhnGWVUarBT6uCYmLiEypF4GQeIqMiUWsGYuNikCwDmGiOju0AFSpJIyOi42PjEOyEkywEY6QjT62AUqwH4+RjlWsMZGTkEG5BmOqOXClTFeyI2GuNES7DJSWkzq+EHCnVWqrQ2irST+/AEW8DpWXlJaYlTbEAkPCAFS5KWqxP2ixRmK2MjrHCJudmW20Qpyemz3JDjbNAJ2fnGG8LnO0S0PLAEbHH1XCJ3C3RUrID3W2TWu6R3e4T3G6UKKkoGq/Oz3SBXa5VqOlonW8S6Smo3q7UXO9UkrRBkDUDIO4XjjYAHm9WaaopXPBRnHBTU3TDYq3cn2+VGnGQWLIQqiqp5myi6mrqJO2f33AXXnCVzLgB6qsqYDBV3HHS4LAZKutqnvEWUHeBayuq66wrYTFW4vDb7GzrzvmFoXJZLK0sYbKZbO1smzXPrS2s6u7orW3tIXOYra4tbS6sLe5tovOao/NcLi6t3PZUobRa7m7uHnYWbq8uVroLbu9uorUZ2bjP6LKi7y+u4rVb5XSdb2/vJHVcI3XaorZZL7BvanMlZPXco3Zc8HDv8PFwsTGw8XHxIziZMbIxaLahMfJxoLoYLTTosjKx7bVpcrMybrUq77UppPmdqTfjsvOyojtZc3Py87QzL7Yr8HYqc/RztDSz5XuddHT0JrsfNLU0czXxdPV0tTW09XX1NbY1aPwh9ja1tnb19rc2dvd2tze293f3N7g3d/h3uDi3+Hk4OPl4cD2rOTm4+Xn5Ofp5uTr4Ojq58/2wunr6Ors6eLy2Ovu6u3v6+7w7e/x7uP41vDy7+H53fHz8PL08fT28vf59fj69/n8+P///yH5BAEAAP8ALAAAAAAgACAAAAj+AP8JNGQplihHawQqXMiw4cJnwPDZc4eOGTdaaRxqdNgmno4MHJBMq6Sq2p6NKP/NkcHhgksMQaYheiSMT0qNJVbA2LlziKdWePD4SqjR2adeRLrIISRQTZlATwMBmmQomR03dXK5WjiuVydn8vj5O2HiBA0eG4fN6vNlTKmE3Vad6navH799+vyZoIBgAdqNijR50XIGEydz+/zdxZsvXz8SDQ5I+OvQVRJUVKpAMfUGGrJi9PQ1znePHwkDBCZQVnhLhzJYs2pBYaIEFyZLo0pco3evHr15/ESgVu2QESwys5UAAZKjR5g/hXZhkzdPHrx9IR4UmLBDIxdWUZb+N+/hQ9ITW69eaYP3rl2+ECEqWLCx0cyi8TBeHDIC6hSpULaYs84694QAAggf0LCRH45Ykd8LWYgxSCebXHIJJdSccw49B36Q4Ea9oOGIDCjI8EYThOghCCSQNMKLOebMA8ICAiQQw0a8sHNFHCPMgcMPOwTJgxRwfBLOOO98QEAADdyo0S75HIMGI07MEOSVO/DARjferOPBkg20sJEu9LxzBxYuYInlEs10c86XTIqpkS3znDPOETaoeaUUy2BjTgcDABDmRq+sYw45m1zJwxRd8BBkF804Mw6gADAgp0OknENOMITwsAQk2MBDjKM7JOKMM+JsEKilG31yjjfDqZxDzDjzjBPMFld+5Yw3Gqx6aUOhmBOMNdacA48zq4BBqhC6NLMMr75u1Ik5zRDTzji6RNLolZAss4wx3fRa6a8MbTKON5dkE4oeU5C6Qxe8fAuuuKxqlIk53hDDBhykUCJElnLoIq8x2tBL7kJsXLILNd54k40zupwiizEUV5yNwTfx0IUeofxiDTbUDEwxNhjftNASbCTyCjHUONOMMSRHkAAEB5ss0BRwCHKUNR2EkEIM9NmckiBgdPGPM0InrVBAADs=]]></data>
	</file>
	<file>
	  <filename>/images/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icons/access-feu.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ3SURBVDjLpZNtSNNRFIcNKunF1rZWBMJqKaSiX9RP1dClsjldA42slW0q5oxZiuHrlqllLayoaJa2jbm1Lc3QUZpKFmmaTMsaRp+kMgjBheSmTL2//kqMBJlFHx44XM7vOfdyuH4A/P6HFQ9zo7cpa/mM6RvCrVDzaVDy6C5JJKv6rwSnIhlFd0R0Up/GwF2KWyl01CTSkM/dQoQRzAurCjRCGnRUUE2FaoSL0HExiYVzsQwcj6RNrSqo4W5Gh6Yc4+1qDDTkIy+GhYK4nTgdz0H2PrrHUJzs71NQn86enPn+CVN9GnzruoYR63mMPbkC59gQzDl7pt7rc9f7FNyUhPY6Bx9gwt4E9zszhWWpdg6ZcS8j3O7zCTuEpnXB+3MNZkUUZu0NmHE8XsL91oSWwiiEc3MeseLrN6woYCWa/Zl8ozyQ3w3Hl2lYy0SwlCUvsVi/Gv2JwITnYPDun2Hy6jYuEzAF1jUBCVYpO6kXo+NuGMeBAgcgfwNkvgBOPgUqXgKvP7rBFvRhE1crp8Vq1noFYSlacVyqGk0D86gbART9BDk9BFnPCNJbCY5aCFL1Cyhtp0RWAp74MsKSrkq9guHyvfMTtmLc1togpZoyqYmyNoITzVTYRJCiXYBIQ3CwFqi83o3JDhX6C0M8XsGIMoQ4OyuRlq1DdZcLkmbgGDX1iIEKNxAcbgTEOqC4ZRaJ6Ub86K7CYFEo8Qo+GBQlQyXBczLZpbloaQ9k1NUz/kD2myBBKxRZpa5hVcQslalatoUxizxAVVrN3CW21bFj9F858Q9dnIRmDyeuybM71uxmH9BNBB1q6zybV7H9s1Ue4PM3/gu/AEbfqfWy2twsAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/access-free.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGrSURBVDjLvZPZLkNhFIV75zjvYm7VGFNCqoZUJ+roKUUpjRuqp61Wq0NKDMelGGqOxBSUIBKXWtWGZxAvobr8lWjChRgSF//dv9be+9trCwAI/vIE/26gXmviW5bqnb8yUK028qZjPfoPWEj4Ku5HBspgAz941IXZeze8N1bottSo8BTZviVWrEh546EO03EXpuJOdG63otJbjBKHkEp/Ml6yNYYzpuezWL4s5VMtT8acCMQcb5XL3eJE8VgBlR7BeMGW9Z4yT9y1CeyucuhdTGDxfftaBO7G4L+zg91UocxVmCiy51NpiP3n2treUPujL8xhOjYOzZYsQWANyRYlU4Y9Br6oHd5bDh0bCpSOixJiWx71YY09J5pM/WEbzFcDmHvwwBu2wnikg+lEj4mwBe5bC5h1OUqcwpdC60dxegRmR06TyjCF9G9z+qM2uCJmuMJmaNZaUrCSIi6X+jJIBBYtW5Cge7cd7sgoHDfDaAvKQGAlRZYc6ltJlMxX03UzlaRlBdQrzSCwksLRbOpHUSb7pcsnxCCwngvM2Rm/ugUCi84fycr4l2t8Bb6iqTxSCgNIAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/access-mail.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAITSURBVBgZpcHLThNhGIDh9/vn7/RApwc5VCmFWBPi1mvwAlx7BW69Afeu3bozcSE7E02ILjCRhRrds8AEbKVS2gIdSjvTmf+TYqLu+zyiqszDMCf75PnnnVwhuNcLpwsXk8Q4BYeSOsWpkqrinJI6JXVK6lSRdDq9PO+19vb37XK13Hj0YLMUTVVyWY//Cf8IVwQEGEeJN47S1YdPo4npDpNmnDh5udOh1YsZRcph39EaONpnjs65oxsqvZEyTaHdj3n2psPpKDLBcuOOGUWpZDOG+q0S7751ObuYUisJGQ98T/Ct4Fuo5IX+MGZr95jKjRKLlSxXxFxOEmaaN4us1Upsf+1yGk5ZKhp8C74H5ZwwCGO2drssLZZo1ouIcs2MJikz1oPmapHlaoFXH1oMwphyTghyQj+MefG+RblcoLlaJG/5y4zGCTMikEwTctaxXq/w9kuXdm9Cuzfh9acujXqFwE8xmuBb/hCwl1GKAnGccDwIadQCfD9DZ5Dj494QA2w2qtQW84wmMZ1eyFI1QBVQwV5GiaZOpdsPaSwH5HMZULi9UmB9pYAAouBQbMHHrgQcnQwZV/KgTu1o8PMgipONu2t5KeaNiEkxgAiICDMCCFeEK5aNauAOfoXx8KR9ZOOLk8P7j7er2WBhwWY9sdbDeIJnwBjBWBBAhGsCmiZxPD4/7Z98b/0QVWUehjkZ5vQb/Un5e/DIsVsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/calculator.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGxSURBVDjLpVM9a8JQFL0vUUGFfowFpw4dxM2vf9G5newv6OIvEDoVOnUQf0G7CEYQHVzUVZQoaKFugoW20EUaTd5L+u6NSQORdvDC5dyEd+499ySPOY4Dh0TEK8rl8n0mk7lOJBIpVVWBMUaJAzCFEMA5B8MwPpfL5VOlUrklonegWq3qEr+c/2Nbq9VWHs9XkEwm0xLUy/Lzn5KbD1exaDR6FlpBURSq4/E4HJ2c4jMwmYpcw6vf31be2bAHQTPVHYEFyAr7VeEACzfAQKPuSmlCy7LINBcteifSx3ROWutzlCAZ3Z9Op9ButyEWi8F8Poder0drXTQ1SNUeqalt22EFQrgvC4UC5HI5mow1EjA/SjdEjEQiYAd+HV8BF5xwNBpBo9EgBZPJBDqdDimYzWbQ7XapmeA8rIDLiRjFYpEm4zTEfD7v19lslhSgJ2EFXBAOh0Oo1+vk/ng8Bk3TyBtd16HVarkrCRFWYFqmrwAzqMDzBhMVWNaeFSzT5P3BQJXI3G+9P14XC8c0t5tQg/V6/dLv9c+l3ATDFrvL5HZyCBxpv5Rvboxv3eOxQ6/zD+IbEqvBQWgxAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/drive_disk.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJJSURBVDjLpVM9ixNRFD1vvhLzxUiMCitiCjFWwrJuYaGQICgIgl2wSCWSIr9AFAsbQcVfYGEj9kICizGFgoUIIUENBDFrkLiDukw22fke7501MetHtY+58x6Pd+455973RBiG2MuQsMehzBa9Xu+57/tFCnieB9d15+E4zjxs2+a5WalUSowTbIHA5zRNa+VyuejQn2PRpqqqaLVaGAwGpVqt1owUEOMtXdcxGo0Qi8XmoEUgr4fDITKZDPL5PJPeoO2m6HQ6EXs2m4VpmrvkshUGCiEgy3LEnk6nkUwm0Wg00O/3Swqzs3T2yofi8XgUD+pbSJOYqeNhf0rDl41tCMlHKjFGEG7hh1mAZw7vKsw0mUxgGEZUIGYMggDb0wyKqydweTmFZ6+HuHn15K66PG4ZeBGcX5EoQZE3OBF3oN1uo9vtYmq7+D72osNrb77OgRZtmTZgbDpkLYDCrOyVgxNwsGdJIt9UQ9cPcL+6TKqoqJRApn+CSs84c+LsJJgBWXqhUIjmdz0JFqm48/QTKBc8ShRQhLO20pdQfyngDnCCWes4vPc2bN+DLKkMgcCOspCVhAEp5gvmQbEsq1Gv1y8s3LJoHrtnoQoF1UtpeIGzc+uZmHzHFQ33nqzjmzmBUi6XL/7rjl+5/TKkzoP6gUdvr+NA4iipkGBMP+Pa6Ye0ilOhnd9v4a9Hosg4dhg4lBqjdGoVurYUidi0lnAw6SGh0RmyJP73nFeqa6+OH9l3Ro/pJDlDNlwIKq4Iqdhiig/rH7FhuvgJMpVtkQoe5WAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/transport.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHAhEkBuSjfggAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAC6ElEQVQ4y33TS2hcdRiG8eecmcwtnSYzjSbNrTVabTo0FJGipnUhGARR0CjUVbsXRASlaN1IixREpK4KiisFUQlU0YImBrXVmqS2hTbTdtSkk8mkSdp0bmfOnPM/3+dCCNMsfNe/d/lY2VPPjKloUkXe2PXC6T/5n2W/fTaDyNFmby1f/liD+iq358arKnpSA/lg98sTi83Hq989d6+Kvqoir2y5//n2Zm+Jk9dqcZqWaIjl3CR3FmbmVeR9FfmktbPDqOohFXkz2TPyQOfgi9gS0Owt/9aU/jN5jL5dw9iJbTRqK9zMzVBZzWYjydZgU89jmc6do8RSO0A9zNp1mr115fRrGrUadPU/BO4aoU392LEk5eI1buZmCCe76Mi8RGlllsCr4teKNPtwOTfFwwc+oiXeCrU5tJbDKl9jS/cQbWk4//1XpLf2EHVWcMpFyvnCXT7c25cC9wYEEXALUM/jLJ2jOneW2PZRLCtMJGSTSLXTnooTx7nLh1tCYDl/ga14Sz9SKd/BxNshEkV9w+dtNrULX3Ji7wGkusxGb8eSCWTpB0rzY1QsJYgmEcdDHBfxDK7x6O0Y5NAvnxJJD7LRW3L1iJZuT+MHPuLBe0UPFQ9PDJ4xdKcfZKh3H3/MTXBx4XfGRg7ily+t+zCxboyCNgKkHmDE46nMQQIVAgkQlMVSnt29w1S9Ok+eOsEXw8Mk/P98GAT1hcD1ME6AazwCFeZvXccXgxEfP/ApNyrs6dtP1Xd4enycn/Y+jnECbBSCho+YVpLbR3GNiwkMnZv76dq8ja1tA7SE4tyT7OF8/gyzhQucHHpk3Vu69quW87+hRileucxblZ9peB6eeLjGY6Ajw6MDI0zfOMulwgyfjX5IV31p3YdX/56ivrzA4uxFTH3h69fFPrb/ncJ6lc7Rc2rZcaazk/67qYFwurxqlZq8deb4zglEIipyfN/buW82JrzjiCUNta09a4knDt/XF1eRw83+X+3c2+zAw1o+AAAAAElFTkSuQmCC]]></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[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCAiVXNlIERvd25sb2FkIE1hbmFnZXIiIHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEuIDxici8+IFJlbWVtYmVyIHRvIGNyZWF0ZSBkb3dubG9hZHMvIGRpciBpbiByb290IGNtcyBkaXIgYW5kIGdpdmUgaXQgMDc3NyBwZXJtaXNzaW9ucyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRG93bmxvYWQgTWFuYWdlciB1bmluc3RhbGwnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gWW91XCdyZSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIGZpbmUgbW9kdWxlPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Rvd25sb2FkX2Vycm9yX21zZyddID0gJ0Vycm9yIG9jY3VyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGlzIGZpbGUnOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snc3VibWl0cmVxZW1haWwnXSA9ICdTdWJtaXQgdG8gcmVjZWl2ZSBsaW5rIHRvIGRvd25sb2FkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ2JhY2snXSA9ICdHbyBiYWNrJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBY3Rpb25zJzsKJGxhbmdbJ3Jvb3RjYXRlZ29yeSddID0gJ1Jvb3QgY2F0ZWdvcnknOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxlIFByZWZlcmVuY2VzJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZSBBZG1pbiBQYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdZb3UgbXVzdCBlbnRlciBhIG5hbWUuJzsKJGxhbmdbJ211c3Rsb2dpbiddID0gJ1lvdSBtdXN0IGxvZyBpbiB0byBkb3dubG9hZCB0aGlzIGZpbGU6JzsKJGxhbmdbJ21heWFsc29sb2dpbiddID0gJ1lvdSBtYXkgYWxzbyBsb2cgaW4gdG8gZG93bmxvYWQgdGhpcyBmaWxlOic7CgokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUaGlzIG1vZHVsZSBhbGxvd3MgdG8gTWFuYWdlIERvd25sb2Fkcy4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+V2VsY29tZSB0byB0aGUgRG93bmxvYWRNYW5hZ2VyIGFkbWluIHNlY3Rpb24uPC9wPic7CgokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPgo8bGk+VmVyc2lvbiAwLjEgYWxwaGEgLSBmaXJzdCBhbHBoYTwvbGk+CjxsaT5WZXJzaW9uIDAuMiBiZXRhIC0gaXRlbSByZW9yZGVyIGFkZGVkPC9saT4KPGxpPlZlcnNpb24gMC4zIGJldGEgLSBtYWtpbmcgbW9kdWxlIG1vcmUgdXNlci1mcmllbmRseTwvbGk+CjxsaT5WZXJzaW9uIDAuNCAtIGZpeGVkIGluc3RhbGwgYnVnIHdoaWNoIHVuYWJsZXMgYXNzb2NpYXRpb25zLCBhZGRlZCBhc3NvY2lhdGlvbnMgaW4gZmlsZSBhZGRpbmc8L2xpPgo8bGk+VmVyc2lvbiAwLjguNCAtIGFkZGVkIGNhdGVnb3J5IHNlbGVjdG9yLCBmaXhlZCBzb21lIGJ1Z3M8L2xpPgo8bGk+VmVyc2lvbiAxLjAtcmMxICAtIGFkZGVkIGludGVncmF0aW9uIHdpdGggZmV1IG1vZHVsZSBhbmQgc2VuZGluZyBmaWxlIGxpbmsgYnkgZW1haWwsIG1hZGUgY2F0ZWdvcmllcyB3YWxrYWJsZSwgZGlmZmVyZW50IHRlbXBsYXRlcyBmb3IgZGlmZmVyZW50IGFjdGlvbiB0eXBlcywgY2hhbmdlZCBjYXRlZ29yeV9zZWxlY3RvciBwYXJhbWV0ZXIgaW50byBzZWxlY3RvciwgcmVtb3ZlZCBjYXRlZ29yeSBwYXJhbWV0ZXIsIGFkZGVkIGNhdGVnb3J5IGxpc3QgZm9yIGZpbGVzIGluIHNlbGVjdG9yLCBhZGRlZCBhbGlhc2VzIHRvIGZpbGVzIGFuZCBjYXRlZ29yaWVzPC9saT4KPGxpPlZlcnNpb24gMS4xICAtIGFkZGVkIHRoZSBmaWxlY2hhbmdlIGZ1bmN0aW9uYWxpdHk8L2xpPgo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+CjxsaT5WZXJzaW9uIDEuMyAgLSBhZGRlZCBkb3dubG9hZCBjb3VudGluZzwvbGk+CjwvdWw+JzsKCiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPkFsbG93cyB0byBtYW5hZ2UgRG93bmxvYWRzIGZyb20gYWRtaW4gcGFuZWwuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+Rmlyc3QgbWFrZSBkb3dubG9hZHMvIGRpcmVjdG9yeSBpbiByb290IGNtcyBkaXJlY3RvcnkuIE5leHQgZ2l2ZSBpdCAwNzc3IG1vZGUsIGRlcGVuZGluZyBvbiBhcGFjaGUgY29uZmlndXJhdGlvbiBjb3VsZCBiZSAwNzc1IG9yIDA3NTUuPC9wPgo8cD5UbyBhY2NlcyBtb2R1bGUgYWRtaW4gaW50ZXJmYWNlIGdvIHRvIENvbnRlbnQgLT4gRG93bmxvYWQgTWFuYWdlci48L3A+CjxwPkluc3RhbGwgaXQgYnkgcGxhY2luZyB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyAmIzEyMztjbXNfbW9kdWxlIG1vZHVsZT1cJ0Rvd25sb2FkTWFuYWdlclwnfS4gU2VlIG1vcmUgZXhhbXBsZXMgYmVsb3cuPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LjwvcD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPGgzPlRyYW5zbGF0aW9uczwvaDM+CjxwPk5ld2VzdCB0cmFuc2xhdGlvbnMgYXJlIGFsd2F5cyBhdmFpbGFibGUgYXQKPGEgaHJlZj0iaHR0cDovL3N2bi5jbXNtYWRlc2ltcGxlLm9yZy9zdm4vdHJhbnNsYXRlY2VudGVyL21vZHVsZXMvRG93bmxvYWRNYW5hZ2VyL2xhbmcvZXh0LyIgdGl0bGU9IkRvd25sb2FkIG1hbmFnZXIgdHJhbmxhdGlvbnMiPmh0dHA6Ly9zdm4uY21zbWFkZXNpbXBsZS5vcmcvc3ZuL3RyYW5zbGF0ZWNlbnRlci9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9sYW5nL2V4dC88L2E+PC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBTenltb24gxYF1a2FzemN6eWsgPGEgaHJlZj0ibWFpbHRvOnN6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbSI+Jmx0O3N6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbSZndDs8L2E+ICYgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+Jmx0O3BsLmdlcm1haW5AZ21haWwuY29tJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+R2VybWFuIHRyYW5zbGF0aW9uIGJ5IENvbm5pZSBNw7xsbGVyLUfDtmRlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPiZsdDtjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUmZ3Q7PC9hPi48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+Cic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddPSdBY3Rpb24gY2hvb3Nlbi4gUG9zc2libGUgYWN0aW9uczogCjx1bD4KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdAoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+Y2F0ZWdvcnlpZDwvZW0+IG9yIDxlbT5hbGlhczwvZW0+LCA8ZW0+ZGVwdGg8L2VtPiwgPGVtPnRlbXBsYXRlPC9lbT4KCTxici8+ZXg6ICAmIzEyMztjbXNfbW9kdWxlIG1vZHVsZT1cJ0Rvd25sb2FkTWFuYWdlclwnIGFsaWFzPVwnbXktY2F0ZWdvcnlcJyBkZXB0aD1cJzJcJ30gPC9saT4KPGxpPjxlbT5zZWxlY3RvcjwvZW0+OiBhbGxvdyB0byBzZWxlY3QgbXVsdGlwbGUgY2F0ZWdvcmllcywgc2VlIHNlbGVjdG9yIHBhcmFtZXRlcgoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+c2VsZWN0b3I8L2VtPgoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPgoJPGJyLz5leDogICYjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPVwnRG93bmxvYWRNYW5hZ2VyXCcgYWN0aW9uPVwnc2VsZWN0b3JcJyBzZWxlY3Rvcj1cJzMmKDF8MilcJyB9IDwvbGk+CjxsaT48ZW0+ZGV0YWlsPC9lbT46IHNob3dzIGRldGFpbHMgb2Ygc2VsZWN0ZWQgZmlsZQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPgoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPgoJPGJyLz5leDogICYjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPVwnRG93bmxvYWRNYW5hZ2VyXCcgYWN0aW9uPVwnZGV0YWlsXCcgYWxpYXM9XCdteS1maWxlXCcgfSA8L2xpPgo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+Cgk8YnIvPm9wdGlvbmFsIHBhcmFtZXRlcnM6IDxlbT50ZW1wbGF0ZTwvZW0+IAoJPGJyLz5leDogICYjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPVwnRG93bmxvYWRNYW5hZ2VyXCcgYWN0aW9uPVwnZG93bmxvYWRcJyBhbGlhcz1cJ215LWZpbGVcJyB9IDwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnlpZCddPSdDYXRlZ29yeSBpZCwgY291bGQgYmUgZm91bmQgaW4gY2F0ZWdvcmllcyB0YWIuIElmIHNlbGVjdGVkLCBhbGlhcyBpcyBub3QgdGFrZW4gaW50byBhY2NvdW50Lic7CiRsYW5nWydoZWxwX3BhcmFtX2FsaWFzJ109J0NhdGVnb3J5IG9yIGZpbGUgYWxpYXMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVwdGgnXT0nQWxsb3cgdG8gc3BlY2lmeSB0aGUgZGVwdGggb2YgdHJlZSBzaG93biBieSBkZWZhdWx0IGFjdGlvbi4gSWYgbm90IHNldCBmdWxsIHRyZWUgd2lsbCBiZSBzaG93bi4nOwokbGFuZ1snaGVscF9wYXJhbV90ZW1wbGF0ZSddPSdUZW1wbGF0ZSBuYW1lLiBJZiBub3QgZ2l2ZW4gdGhlIGRlZmF1bHQgdGVtcGxhdGUgZm9yIGN1cnJlbnQgYWN0aW9uIGlzIGFjdGlvbi9maWxlL2NhdGVnb3J5Lic7CiRsYW5nWydoZWxwX3BhcmFtX3NlbGVjdG9yJ109J1RoZSBzZWxlY3RvciB3aGljaCBhbGxvd3MgdG8gY2hvb3NlIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnkuIFRoZSBzZWxlY3RvciBzeW50YXggY2FuIGhhdmU6Cjx1bD4KPGxpPiImIiAtIGludGVyc2VjdGlvbjwvbGk+CjxsaT4ifCIgLSBzdW08L2xpPgo8bGk+Y2F0ZWdvcnkgaWQgKHlvdSBjYW4gc2VlIGl0IGluIGNhdGVnb3JpZXMgdGFiKTwvbGk+CjxsaT5hbGwgb3RoZXIgY2hhcmFjdGVycyB3aWxsIGJlIGNsZWFuZWQgYmVmb3JlIHBhcnNpbmc8L2xpPgo8L3VsPgpGb3IgZXhhbXBsZSBzZWxlY3Rvcj0iMyYoMXwyKSIgd2lsbCBjaG9vc2UgYWxsIGVsZW1lbnRzIGZyb20gY2F0ZWdvcnkgd2l0aCBpZD0zIHdoaWNoIGFyZSBhbHNvIGluIHN1bSBvZiBjYXRlZ29yeSAxIGFuZCAyLiA8YnIvPgpJZiBzZWxlY3RvciBpcyBzcGVjaWZpZWQgY2F0ZWdvcnkgcGFyYW1ldGVyIHdpbGwgPGI+bm90PC9iPiBiZSBwYXJzZWQuCic7CgokbGFuZ1snd3JvbmdhbGlhcyddID0gJ1dyb25nIGFsaWFzIGdpdmVuLic7CiRsYW5nWydkb3dubG9hZCddID0gJ0Rvd25sb2FkJzsKJGxhbmdbJ2Rvd25sb2FkaW5nJ10gID0gJ0Rvd25sb2FkaW5nICVzLi4uJzsKJGxhbmdbJ2JhY2t0b2xpc3QnXSAgPSAnQmFjayB0byB0aGUgZmlsZSBsaXN0Lic7CiRsYW5nWydiYWNrJ10gID0gJ0dvIGJhY2suJzsKJGxhbmdbJ2Rvd25sb2FkaW5nX2luZm8nXSA9ICdZb3VyIGRvd25sb2FkIHNob3VsZCBiZWdpbiBzaG9ydGx5LiBJZiB5b3UgZW5jb3VudGVyIHByb2JsZW1zLCBwbGVhc2UgY29udGFjdCB0aGUgV2VibWFzdGVyLic7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIGdpdmVuJzsKJGxhbmdbJ3dyb25nZmlsZSddID0gJ1dyb25nIGZpbGUgaWQnOwokbGFuZ1snbm9hY2Nlc3MnXSA9ICdZb3UgZG8gbm90IGhhdmUgYWNjZXNzIHRvIHRoaXMgZmlsZS4nOwoKLy8qKioqKioqKioqKiBQcmVmZXJlbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiRsYW5nWydkb3dubG9hZF9kaXInXSAgPSAnRG93bmxvYWQgZGlyZWN0b3J5JzsKJGxhbmdbJ3d5c2l3eWdfb24nXSAgPSAnV1lTSVdZRyBvbiBpbiBhZG1pbiB0YWJzPyc7CiRsYW5nWydkb3dubG9hZF9zY2FuJ10gID0gJ1NjYW5uZWQgZGlyZWN0b3JpZXMgKHNlcGVhdGVkIHdpdGggc2VtaWNvbG9uIGV4LiAiZGlyMS87ZGlyMi87ZGlyMy8iICknOwokbGFuZ1snZG93bmxvYWRfc2Nhbl9yZWN1cnMnXSAgPSAnU2NhbiBkaXJlY3RvcmllcyByZWN1cnNpdmU/JzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlJ10gID0gJ0Rvd25sb2FkIHRlbXBsYXRlJzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlX2luZm8nXSAgPSAnPHRhYmxlIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7Ij4KPHRyPjx0ZD48Yj5WYXJpYWJsZTo8L2I+PC90ZD48dGQ+PGI+V2hhdCBpcyBpdD88L2I+PC90ZD48L3RyPgo8dHI+PHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjp0b3A7Ij48Yj4mIzEyMzskZG93bmxvYWRpbmcmIzEyNTs8L2I+PC90ZD48dGQ+VGV4dDogJy4kbGFuZ1snZG93bmxvYWRpbmcnXS4nPC90ZD48L3RyPgo8dHI+PHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjp0b3A7Ij48Yj4mIzEyMzskZG93bmxvYWRpbmdfaW5mbyYjMTI1OzwvYj48L3RkPjx0ZD5UZXh0OiAnLiRsYW5nWydkb3dubG9hZGluZ19pbmZvJ10uJzwvdGQ+PC90cj4KPHRyPjx0ZCBzdHlsZT0idmVydGljYWwtYWxpZ246dG9wOyI+PGI+JiMxMjM7JGRvd25sb2FkX25hbWUmIzEyNTs8L2I+PC90ZD48dGQ+TmFtZSBvZiBjdXJyZW50bHkgZG93bmxvYWRpbmcgZmlsZS48L3RkPjwvdHI+Cjx0cj48dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDsiPjxiPiYjMTIzOyRiYWNrdG9saXN0bGluayYjMTI1OzwvYj48L3RkPjx0ZD5CYWNrIHRvIHRoZSBmaWxlIGxpc3QgbGluay48L3RkPjwvdHI+CjwvdGFibGU+Cic7CiRsYW5nWydkb3dubG9hZF9kaXJfbm90X3dyaXRhYmxlJ10gPSAnRG93bmxvYWQgZGlyZWN0b3J5ICglcykgaXMgbm90IHdyaXRhYmxlLCB0cnkgY2htb2QgNzc3Lic7CiRsYW5nWydkaXJfZG9udF9leGlzdHMnXSA9ICdEb3dubG9hZCBkaXJlY3RvcnkgKCVzKSBkb2VzIG5vdCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0Lic7CiRsYW5nWydzZWFyY2hfZXhwaXJlJ10gPSAnRXhwaXJlZCBhbmQgbm90IHN0YXJ0ZWQgZG93bmxvYWRzIGNhbiBhcHBlYXIgaW4gc2VhcmNoIHJlc3VsdHMnOwokbGFuZ1sndGh1bWJfZGlyJ10gPSAnRGlyZWN0b3J5IHRvIHNjYW4vc2F2ZSB0aHVtYm5haWxzLiBEZWZhdWx0OiAiaW1hZ2VzL0Rvd25sb2FkTWFuYWdlclRodW1icy8iLiBEaXJlY3RvcnkgbXVzdCBleGlzdCc7CiRsYW5nWyd0aHVtYl9zaXplJ10gPSAnTWF4IHRodW1ibmFpbCBzaXplJzsKJGxhbmdbJ3RodW1iX2F1dG8nXSA9ICdEbyB0cnkgYXV0b21hdGljbHkgdG8gbWFrZSB0aHVtYm5haWxzPyc7CgovLyoqKioqKioqKioqIEZpbGUgbGFiZWxzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioKJGxhbmdbJ25hbWVsYWJlbCddPSdOYW1lJzsKJGxhbmdbJ2NvdW50ZXJsYWJlbCddPSdEb3dubG9hZCBjb3VudGVyJzsKJGxhbmdbJ2NvdW50ZXJuYnInXT0nRG93bmxvYWRlZCAlcyB0aW1lKHMpLic7CiRsYW5nWydhbGlhc2xhYmVsJ109J0FsaWFzJzsKJGxhbmdbJ3NlbGVjdG9yJ109J0NhdGVnb3J5IHNlbGVjdG9yJzsKJGxhbmdbJ2ZpbHRlciddPSdGaWx0ZXInOwokbGFuZ1snbm9maWx0ZXInXT0nTm8gZmlsdGVyJzsKJGxhbmdbJ25vc2VsZWN0b3InXT0nTm8gc2VsZWN0b3InOwokbGFuZ1snY3VycmVudCddPSdDdXJyZW50JzsKJGxhbmdbJ3ZlcmJvc2UnXT0ndmVyYm9zZSc7CiRsYW5nWydmaWxlbGFiZWwnXT0nRmlsZSc7CiRsYW5nWydmaWxlZGVsZXRlZCddPSdGaWxlIHdhcyBkZWxldGVkLic7CiRsYW5nWyd1cGxvYWRmaWxlJ109J1VwbG9hZCBuZXcgZmlsZSc7CiRsYW5nWydhbHJlYWR5dXBsb2FkZWQnXT0nVXNlIGFscmVhZHkgdXBsb2FkZWQgZmlsZSc7CiRsYW5nWydleHRlcm5hbGZpbGUnXT0nVXNlIGV4dGVybmFsIGZpbGUgYWNjZXNzaWJsZSB0aHJvdWdoIGh0dHAuIEZpbGUgd2lsbCBub3QgYmUgZG93bmxvYWRlZCB0byBzZXJ2ZXInOwokbGFuZ1snZmlsZWRvZXNudGV4aXN0cyddPSdGaWxlICVzIGRvZXNuYHQgZXhpc3Qgb24gc2VydmVyLic7CiRsYW5nWydjdXJsZmFpbGVkJ109J0N1cmwgcmVxdWVzdCBmYWlsZWQuJzsKJGxhbmdbJ2N1cmxkb2VzbnRleGlzdHMnXT0nQ3VybCBwaHAgZXh0ZW5zaW9uIG5lZWRlZCBmb3IgZXh0ZXJuYWwgbGlua3Mgbm90IHByZXNlbnQuJzsKJGxhbmdbJ3NlcnZlcl9uYW1lbGFiZWwnXT0nT3JnaW5hbCBwYXRoJzsKJGxhbmdbJ2V4dGxhYmVsJ109J0V4dGVuc2lvbic7CiRsYW5nWydzaXplbGFiZWwnXT0nU2l6ZSc7CiRsYW5nWydoYXNobGFiZWwnXT0nTWQ1IGhhc2gnOwokbGFuZ1snZGVzY3JpcHRpb25sYWJlbCddPSdEZXNjcmlwdGlvbic7CiRsYW5nWydjcmVhdGVkbGFiZWwnXT0nQ3JlYXRpb24gdGltZSc7CiRsYW5nWydleHBpcmVzbGFiZWwnXT0nRXhwaXJlcyc7CiRsYW5nWydtYWtlX3RodW1ibGFiZWwnXT0nTWFrZSB0aHVtYm5haWwgZnJvbSBpbWFnZSAoaWYgcG9zc2libGUpPyc7CiRsYW5nWyd0aHVtYmxhYmVsJ109J1RodW1ibmFpbCc7CiRsYW5nWydzdGFydHNsYWJlbCddPSdTdGFydHMnOwokbGFuZ1sndmlzaWJsZWxhYmVsJ109J1Zpc2libGUnOwokbGFuZ1sndXNlZXhwaXJhdGlvbiddPSdVc2UgZXhwaXJhdGlvbiBkYXRlJzsKJGxhbmdbJ3VzZXN0YXJ0J109J1VzZSBzdGFydCBkYXRlJzsKJGxhbmdbJ2FkZGZpbGUnXT0nTmV3IGZpbGUnOwokbGFuZ1snc2NhbmZvcm5ld2ZpbGVzJ109J1NjYW4gZm9yIG5ldyBmaWxlcyc7CiRsYW5nWydzY2FucmVzdWx0J109J1NjYW5uZWQgZGlyZWN0b3JpZXM6ICVzIDxiciAvPiAlcyBuZXcgZmlsZXMgbGlzdGVkIGJlbG93LiBDaG9vc2UgZmlsZSB0byBhZGQuJzsKJGxhbmdbJ3NjYW5ub25ldyddPSdObyBuZXcgZmlsZXMgYWRkZWQuJzsKJGxhbmdbJ25vZmlsZWdpdmVuJ109J1RoZXJlIHdhcyBubyBmaWxlJzsKJGxhbmdbJ25vdGhpbmd1cGxvYWRlZCddPSdObyBmaWxlIG9yIGVtcHR5IGZpbGUgd2FzIHVwbG9hZGVkLic7CiRsYW5nWyd1bmFibGV0b21vdmUnXT0nVW5hYmxlIHRvIG1vdmUgb3IgY29weSB1cGxvYWRlZCBmaWxlLic7CiRsYW5nWyd0eXBlbGFiZWwnXT0nVHlwZSc7CiRsYW5nWydmaWxlc3RhYmhlYWRlciddPSdGaWxlcyc7CiRsYW5nWydmaWxlYWRkZWQnXT0nRmlsZSBzdWNjZXNmdWxseSBhZGRlZCc7CiRsYW5nWydmaWxlbW9kaWZpZWQnXT0nRmlsZSBzdWNjZXNmdWxseSBtb2RpZmllZCc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmZvcm0nXSA9ICdGb3JtIHRlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZGV0YWlsJ10gPSAnRGV0YWlsIHRlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZW1haWwnXSA9ICdFbWFpbCB0ZW1wbGF0ZSc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IGNhdGVnb3J5IHRlbXBsYXRlJzsKJGxhbmdbJ2ZldWdyb3Vwc2xhYmVsJ10gPSAnRkVVIGdyb3VwcyB3aG8gY2FuIGFjY2VzcyB0aGUgZmlsZSwgaWYgbm8gZ3JvdXAgc2VsZWN0ZWQgYWxsIEZFVSB1c2VycyBjYW4gYWNjZXNzJzsKJGxhbmdbJ2FjY2Vzc3R5cGUnXSA9ICdBY2Nlc3MgdHlwZSc7CiRsYW5nWydhY2Nlc3N0eXBlX2ZyZWUnXSA9ICdGcmVlIGFjY2Vzcyc7CiRsYW5nWydhY2Nlc3N0eXBlX2ZldW9ubHknXSA9ICdGcm9udGVuZCBVc2VycyBvbmx5JzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZW1haWxvbmx5J10gPSAnRW1haWwgb25seSc7CiRsYW5nWydhY2Nlc3N0eXBlX21peGVkJ10gPSAnRkVVIG9yIEVtYWlsJzsKJGxhbmdbJ2RldGFpbHMnXT0nRGV0YWlscyc7CiRsYW5nWydmaWxlY2hhbmdlJ109J0NoYW5nZSB0aGlzIGZpbGUuJzsKJGxhbmdbJ2NoYW5nZWZpbGVpbmZvJ109J0Nob29zZSBuZXcgZmlsZSB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgIiVzIiAoYWxpYXM6JXMpIGZpbGUuIEFsbCBhc3NvY2lhdGlvbnMsIGxpbmtzLCBpbmZvIGFuZCBhbGlhcyB3aWxsIHN0YXkgdGhlIHNhbWUuJzsKJGxhbmdbJ2ZpbGVjaGFuZ2VkJ109J0ZpbGUgd2FzIHN1Y2Nlc3NmdWxseSByZXBsYWNlZCc7CiRsYW5nWydjaGFuZ2VuYW1lbGFiZWwnXT0nQ2hhbmdlIHRoZSBmaWxlIG5hbWUgdG8gdGhlIG9uZSBmcm9tIG5ldyBmaWxlPyc7CiRsYW5nWydhbGx0aW1lJ109J0FsbCB0aW1lJzsKJGxhbmdbJ2F2YWlsYWJsaXR5J109J0F2YWlsYWJsaXR5JzsKLy8qKioqKioqKioqKiBFcnJvcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKgokbGFuZ1snbm9hbGlhcyddPSJObyBzdWNoIGFsaWFzIG9yIGRvd25sb2FkIG5vdCBhdmFpbGFibGUiOwokbGFuZ1snbm9oYXNoJ109Ik5vIHN1Y2ggaGFzaCBvciBkb3dubG9hZCBub3QgYXZhaWxhYmxlIjsKJGxhbmdbJ3dyb25ncGFyYW1zJ109Ildyb25nIHBhcmFtZXRlcnMiOwokbGFuZ1snZmlsZW5vdGZvdW5kJ109IkZpbGUgJXMgbm90IGZvdW5kLiI7CiRsYW5nWyd3cm9uZ2RhdGEnXT0iV3JvbmcgZGF0YSBpbiBkYXRhYmFzZSByb3cuIjsKCi8vKioqKioqKioqKiogQ2F0ZWdvcnkgbGFiZWxzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ05ldyBDYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdGVnb3J5JyA7CiRsYW5nWydwYXJlbnRfaWRsYWJlbCddID0gJ1BhcmVudCBDYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yaWVzdGFiaGVhZGVyJ109J0NhdGVnb3JpZXMnOwokbGFuZ1sncmVvcmRlcl9wcmlvcml0eSddPSdQcmlvcml0eSAoLTk5Jm5ic3A7dG8mbmJzcDs5OSksICBsb3dlci0+YmV0dGVyICc7CiRsYW5nWydub2Rvd25sb2FkcyddID0gJ05vIGRvd25sb2FkcyBpbiB0aGlzIGNhdGVnb3J5JzsKJGxhbmdbJ2ZpbGVuYiddID0gJyVzJm5ic3A7ZmlsZShzKSc7CiRsYW5nWydjYXRlZ29yeWFkZGVkJ10gPSAnVGhlIGNhdGVnb3J5IHdhcyBzdWNjZXNzZnVsbHkgYWRkZWQuJzsKJGxhbmdbJ2NhdGVnb3J5dXBkYXRlZCddID0gJ1RoZSBjYXRlZ29yeSB3YXMgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuJzsKJGxhbmdbJ2NhdGVnb3J5ZGVsZXRlZCddID0gJ1RoZSBjYXRlZ29yeSB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQuJzsKCiRsYW5nWydjYXRlZ29yeWNvbnRlbnR0eXBlZnJpZW5kbHknXSA9ICdEb3dubG9hZCBDYXRlZ29yeScgOwokbGFuZ1snb3ZlcmFsbHRhYmhlYWRlciddPSdPdmVyYWxsJzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ109J0NhdGVnb3JpZXMnOwokbGFuZ1snYWRkYXNzb2MnXT0nQWRkIHRvIGNhdGVnb3J5JzsKJGxhbmdbJ3dyb25nY2F0ZWdvcnlzZWwnXT0nQ2F0ZWdvcnkgc2VsZWN0b3IgcGFyc2UgZXJyb3IuIDxiciAvPiBTZWxlY3RvciBhZnRlciBjbGVhbmluZzogJXMnOwokbGFuZ1snbm9jYXRlZ29yeXNlbCddPSdDYXRlZ29yeSBzZWxlY3RvciBub3Qgc2V0Lic7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5J109J1NlbGVjdGVkIGNhdGVnb3J5IGRvZXMgbm90IGV4aXN0cy4nOwoKCi8vKioqKioqKioqKiogRU1BSUwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKJGxhbmdbJ3NlbmRlbWFpbCddID0gJ0VtYWlsIGRvd25sb2FkIGxpbmsnOwokbGFuZ1sncHJvbXB0X2ZpcnN0bmFtZSddID0gJ0ZpcnN0IG5hbWUnOwokbGFuZ1sncHJvbXB0X2xhc3RuYW1lJ10gPSAnTGFzdCBuYW1lJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3Byb21wdF9tYWlsaW5nbGlzdCddID0gJ0kgd291bGQgbGlrZSB0byBoZWFyIGFib3V0IG5ldyBmaWxlcyBhbmQgaW1wb3J0YW50IG5ld3MnOwokbGFuZ1snZW1haWxzZW50J10gPSAnQW4gZW1haWwgY29udGFpbmluZyB0aGUgZG93bmxvYWQgbGluayB3YXMgc2VudCB0byB0aGUgc3BlY2lmaWVkIGFkZHJlc3MuJzsKJGxhbmdbJ2NvdWxkbm90c2VuZCddID0gJ1RoZXJlIHdhcyBhbiBlcnJvciB3aXRoIHlvdXIgcmVxdWVzdCwgYW5kIHRoZSBlbWFpbCBjb3VsZCBub3QgYmUgc2VudC4nOwokbGFuZ1snaW52YWxpZGVtYWlsJ10gPSAnVGhlIGVtYWlsIHlvdSBoYXZlIGVudGVyZWQgaXMgaW52YWxpZC4gV2l0aG91dCBhIHZhbGlkIGVtYWlsLCB3ZSBjYW5ub3Qgc2VuZCB5b3UgYSBkb3dubG9hZCBsaW5rLCBhbmQgeW91IGNhbm5vdCBkb3dubG9hZCB0aGUgZmlsZS4nOwokbGFuZ1sncGxlYXNlX25hbWUnXSA9ICdQbGVhc2UgZW50ZXIgeW91ciBuYW1lLic7CiRsYW5nWydwbGVhc2VfZW1haWwnXSA9ICdQbGVhc2UgZW50ZXIgeW91ciBlbWFpbCBhZGRyZXNzLiBUaGUgZG93bmxvYWQgbGluayB3aWxsIGJlIHNlbnQgdG8gdGhpcyBhZGRyZXNzLic7CgoKLy8qKioqKioqKioqKiBUZW1wbGF0ZSBsYWJlbHMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKJGxhbmdbJ2FkZHRlbXBsYXRlJ10gPSAnTmV3IFRlbXBsYXRlJzsKJGxhbmdbJ2xpc3R0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgdG8gZGlzcGxheSBsaXN0cyBvZiBjYXRlZ29yaWVzIG9yIGZpbGVzJzsKJGxhbmdbJ2FkZGxpc3R0ZW1wbGF0ZSddID0gJ05ldyBMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyB0byBkaXNwbGF5IHRoZSBkZXRhaWxzIG9mIGEgZmlsZSc7CiRsYW5nWydhZGRkZXRhaWx0ZW1wbGF0ZSddID0gJ05ldyBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1snZm9ybXRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmb3IgdGhlIGZvcm0gdG8gcmVxdWVzdCBhIGRvd25sb2FkIGxpbmsgYnkgbWFpbCc7CiRsYW5nWydhZGRmb3JtdGVtcGxhdGUnXSA9ICdOZXcgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmb3IgZW1haWxzIHNlbnQgd2l0aCBkb3dubG9hZCBsaW5rJzsKJGxhbmdbJ2FkZGVtYWlsdGVtcGxhdGUnXSA9ICdOZXcgRW1haWwgQm9keSBUZW1wbGF0ZSc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGUnXSA9ICdVc2UgdGhlIGRlZmF1bHQgdGVtcGxhdGUgKHNlZSB0ZW1wbGF0ZXMgdGFiKSc7CgokbGFuZ1sncHJvbXB0X2RlbGV0ZXRlbXBsYXRlJ10gPSAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGUgdGVtcGxhdGUgJXM/JzsKJGxhbmdbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnIDsKJGxhbmdbJ2NvbnRlbnRsYWJlbCddID0gJ0NvbnRlbnQnOwokbGFuZ1sndGVtcGxhdGVfbmFtZWxhYmVsJ10gPSAnTmFtZSc7CgokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ1RoZSB0ZW1wbGF0ZSB3YXMgc3VjY2Vzc2Z1bGx5IGFkZGVkLic7CiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSB1cGRhdGVkLic7CiRsYW5nWyd0ZW1wbGF0ZWRlbGV0ZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkLic7CgokbGFuZ1snd3Jvbmd0ZW1wbGF0ZSddID0gJ1dyb25nIHRlbXBsYXRlIHNwZWNpZmllZC4nOwokbGFuZ1snYWxyZWFkeWV4aXN0J10gPSAnVGhlcmUgaXMgYWxyZWFkeSBhIHRlbXBsYXRlIGJ5IHRoYXQgbmFtZS4nOwoKJGxhbmdbJ2dlbmVyYWxfdGVtcGxhdGVoZWxwJ10gPSAnCjx0cj48dGQ+PGI+JiMxMjM7JGJhY2t0b2xpc3RsaW5rJiMxMjU7PC9iPjwvdGQ+PHRkPlJldHVybiBiYWNrIGluIGhpc3RvcnkgbGluazwvdGQ+PC90cj4KJzsKJGxhbmdbJ2ZpbGVpdGVtX3RlbXBsYXRlaGVscCddICA9Jwo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5uYW1lJiMxMjU7PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+ZGVzY3JpcHRpb24mIzEyNTs8L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+c2l6ZSYjMTI1OzwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPmNvdW50ZXImIzEyNTs8L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPmNvdW50ZXJsb2NhbGUmIzEyNTs8L2I+PC90ZD48dGQ+dGV4dDogJy4kbGFuZ1snY291bnRlcm5iciddLic8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPmhhc2gmIzEyNTs8L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5leHQmIzEyNTs8L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5jcmVhdGVkJiMxMjU7PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5leHBpcmVzJiMxMjU7PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+c3RhcnRzJiMxMjU7PC9iPjwvdGQ+PHRkPnN0YXJ0IHRpbWUsIGFmdGVyIHRoaXMgZmlsZSBpcyBhdmFpbGFibGU8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPnRodW1iJiMxMjU7PC9iPjwvdGQ+PHRkPnRodW1ibmFpbCBpbWFnZTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+dGh1bWJfcGF0aCYjMTI1OzwvYj48L3RkPjx0ZD50aHVtYm5haWwgcGF0aDwvdGQ+PC90cj4KJzsKCiRsYW5nWydkZXRhaWxfdGVtcGxhdGVoZWxwJ10gPSAkbGFuZ1snZmlsZWl0ZW1fdGVtcGxhdGVoZWxwJ10uJwo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5jYXRlZ29yaWVzJiMxMjU7PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKGF2YWlsYWJsZSBpbiBzZWxlY3RvciBhbmQgZGV0YWlsKTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskaXRlbS0+ZG93bmxvYWQmIzEyNTs8L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPmhyZWYmIzEyNTs8L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5hY2Nlc3N0eXBlcyYjMTI1OzwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5kZXRhaWwmIzEyNTs8L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRldGFpbCBsaW5rPC90ZD48L3RyPgonOwokbGFuZ1snZm9ybV90ZW1wbGF0ZWhlbHAnXSA9ICcKPHRyPjx0aCBjb2xzcGFuPSIyIiBzdHlsZT0iY29sb3I6Izc3NyI+PGk+SW5wdXRzPC9pPjo8L3RoPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGZpcnN0bmFtZV9pbnB1dCYjMTI1OzwvYj48L3RkPjx0ZD5maXJzdG5hbWU8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGxhc3RuYW1lX2lucHV0JiMxMjU7PC9iPjwvdGQ+PHRkPmxhc3RuYW1lPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRlbWFpbF9pbnB1dCYjMTI1OzwvYj48L3RkPjx0ZD5lbWFpbDwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskbWFpbGluZ2xpc3RfaW5wdXQmIzEyNTs8L2I+PC90ZD48dGQ+bWFpbGluZ2xpc3QgY2hlY2tib3g8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JHN1Ym1pdCYjMTI1OzwvYj48L3RkPjx0ZD5zdWJtaXQ8L3RkPjwvdHI+Cjx0cj48dGggY29sc3Bhbj0iMiIgc3R5bGU9ImNvbG9yOiM3NzciPjxpPkxhYmVsczwvaT46PC90aD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRmaXJzdG5hbWVfbGFiZWwmIzEyNTs8L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRsYXN0bmFtZV9sYWJlbCYjMTI1OzwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskZW1haWxfbGFiZWwmIzEyNTs8L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JG1haWxpbmdsaXN0X2xhYmVsJiMxMjU7PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPgonOwokbGFuZ1snZW1haWxfdGVtcGxhdGVoZWxwJ10gPSAnCjx0cj48dGQ+PGI+JiMxMjM7JGZpcnN0bmFtZSYjMTI1OzwvYj48L3RkPjx0ZD5maXJzdG5hbWUgb2YgdXNlciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4KPHRyPjx0ZD48Yj4mIzEyMzskbGFzdG5hbWUmIzEyNTs8L2I+PC90ZD48dGQ+bGFzdG5hbWU8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGR1cmwmIzEyNTs8L2I+PC90ZD48dGQ+bGluayBmb3IgZG93bmxvYWRpbmcgdGhlIGZpbGU8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGRocmVmJiMxMjU7PC9iPjwvdGQ+PHRkPnVyaSBmb3IgZG93bmxvYWRpbmcgdGhlIGZpbGU8L3RkPjwvdHI+CicuJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZWhlbHAnXS4nCic7CiRsYW5nWydsaXN0X3RlbXBsYXRlaGVscCddID0gJwo8dHI+PHRoIGNvbHNwYW49IjIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiPjxici8+PGk+IEluIHRoZSAmIzEyMztmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbSYjMTI1OyBsb29wOjwvaT48L3RoPjwvdHI+Cjx0cj48dGg+VmFyaWFibGU6PC90aD48dGg+V2hhdCBpcyBpdD88L3RoPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPml0ZW1sZXZlbCYjMTI1OzwvYj48L3RkPjx0ZD5hY3R1YWwgY2F0ZWdvcnktbGV2ZWw8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPnJvd2NsYXNzJiMxMjU7PC9iPjwvdGQ+PHRkPnJvdzEgb3Igcm93MiBkZXBlbmRpbmcgb24gcGFyaXR5PC90ZD48L3RyPgoKPHRyPjx0aCBjb2xzcGFuPSIyIiBzdHlsZT0iY29sb3I6Izc3NyI+PGk+IFdoZW4gPGI+JiMxMjM7JGl0ZW0tPml0ZW10eXBlJiMxMjU7PC9iPiA9IDxpPmhlYWRlcjwvaT46PC90aD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5pdGVtdHlwZSYjMTI1OzwvYj48L3RkPjx0ZD48aT5oZWFkZXI8L2k+PC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5uYW1lJiMxMjU7PC9iPjwvdGQ+PHRkPmNhdGVnb3J5IG5hbWU8L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW0tPmRlc2NyaXB0aW9uJiMxMjU7PC9iPjwvdGQ+PHRkPmNhdGVnb3J5IGRlc2NyaXB0aW9uPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5zdWJjYXRlZ29yaWVzJiMxMjU7PC9iPjwvdGQ+PHRkPmFycmF5IG9mIHN1YmNhdGVnb3JpZXMsIGVhY2ggc3ViY2F0ZWdvcnkgaGFzIGVsZW1lbnRzOiBpZCwgbmFtZSwgbG9uZ19uYW1lLCBhbGlhcywgZmlsZXNuYiwgaXRlbXMsIHBhcmVudDwvdGQ+PC90cj4KCjx0cj48dGggY29sc3Bhbj0iMiIgc3R5bGU9ImNvbG9yOiM3NzciID48aT4gV2hlbiA8Yj4mIzEyMzskaXRlbS0+aXRlbXR5cGUmIzEyNTs8L2I+ID0gPGk+ZmlsZTwvaT46PC90aD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRpdGVtLT5pdGVtdHlwZSYjMTI1OzwvYj48L3RkPjx0ZD48aT5maWxlPC9pPjwvdGQ+PC90cj4KJy4kbGFuZ1snZGV0YWlsX3RlbXBsYXRlaGVscCddLicKCjx0cj48dGggY29sc3Bhbj0iMiIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+PGJyLz48aT5JbiB3aG9sZSB0ZW1wbGF0ZTo8L2k+PC90aD48L3RyPgo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XaGF0IGlzIGl0PzwvYj48L3RkPjwvdHI+Cjx0cj48dGQ+PGI+JiMxMjM7JGl0ZW1jb3VudCYjMTI1OzwvYj48L3RkPjx0ZD5udW1iZXIgb2YgaXRlbXMgaW4gJGl0ZW1zPC90ZD48L3RyPgo8dHI+PHRkPjxiPiYjMTIzOyRub2Rvd25sb2FkcyYjMTI1OzwvYj48L3RkPjx0ZD5tZXNzYWdlIHRoZW4gdGhlcmUgYXJlIG5vIGRvd25sb2FkcyBpbiBzZWxlY3RlZCBjYXRlZ29yeTwvdGQ+PC90cj4KJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkLU1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdTdGVsbGVuIFNpZSBzaWNoZXIsIGRhc3MgZGllIEJlbnV0emVyLCB3ZWxjaGUgZGVuIERvd25sb2FkTWFuYWdlciB2ZXJ3YWx0ZW4gc29sbGVuLCBkaWUgQmVyZWNodGlndW5nICZiZHF1bztVc2UgRG93bmxvYWQgTWFuYWdlciZsZHF1bzsgaGFiZW4uPGJyLz5TdGVsbGVuIFNpZSBzaWNoZXIsIGRhc3MgZGFzIFZlcnplaWNobmlzICZiZHF1bztkb3dubG9hZHMmbGRxdW87IGltIENNU21zLVd1cnplbC9VcnNwcnVuZ3MtVmVyemVpY2huaXMgYW5nZWxlZ3QgaXN0IHVuZCBkaWUgUmVjaHRlICZiZHF1bzswNzc3JmxkcXVvOyBnZXNldHp0IHd1cmRlbi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RlbiBEb3dubG9hZC1NYW5hZ2VyIGRlaW5zdGFsbGllcmVuJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdXb2xsZW4gU2llIGRpZXNlcyBNb2R1bCB3aXJrbGljaCBkZWluc3RhbGxpZXJlbj8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdEYXMgTW9kdWwgd3VyZGUgZGVpbnN0YWxsaWVydC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnRGFzIE1vZHVsIHd1cmRlIGluIGRlciBWZXJzaW9uICVzIGluc3RhbGxpZXJ0Lic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdEaWUgTW9kdWxlaW5zdGVsbHVuZ2VuIHd1cmRlbiBha3R1YWxpc2llcnQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1p1Z3JpZmYgdmVyd2VpZ2VydC4gQml0dGUgcHImdXVtbDtmZW4gU2llIElocmUgQmVyZWNodGlndW5nZW4uJzsKJGxhbmdbJ2Rvd25sb2FkX2Vycm9yX21zZyddID0gJ0JlaW0gVmVyYXJiZWl0ZW4gZGVyIERhdGVpICBpc3QgZWluIEZlaGxlciBhdWZnZXRyZXRlbic7CiRsYW5nWydub25lJ10gPSAnS2VpbmUnOwokbGFuZ1snc3VibWl0cmVxZW1haWwnXSA9ICdCZXN0JmF1bWw7dGlnZW4sIHVtIExpbmsgenVtIEhlcnVudGVybGFkZW4gZGVyIERhdGVpIHp1IGVyaGFsdGVuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVobGVyISc7CiRsYW5nWydiYWNrJ10gPSAnWnVyJnV1bWw7Y2snOwokbGFuZ1snYWN0aW9ucyddID0gJ0FrdGlvbmVuJzsKJGxhbmdbJ3Jvb3RjYXRlZ29yeSddID0gJ0hhdXB0a2F0ZWdvcmllJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnRGVyIERvd25sb2FkLU1hbmFnZXIgd3VyZGUgYXVmIGRpZSBWZXJzaW9uICUgYWt0dWFsaXNpZXJ0Lic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bC1FaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsLUFkbWluaXN0cmF0aW9uJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnRG93bmxvYWQtTWFuYWdlcic7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ0JpdHRlIGdlYmVuIFNpZSBlaW5lbiBOYW1lbiBlaW4uJzsKJGxhbmdbJ211c3Rsb2dpbiddID0gJ1NpZSBtJnV1bWw7c3NlbiBhbmdlbWVsZGV0IHNlaW4sIHVtIGRpZXNlIERhdGVpIGhlcnVudGVyenVsYWRlbjogJzsKJGxhbmdbJ21heWFsc29sb2dpbiddID0gJ1NpZSBzb2xsdGVuIHNpY2ggYW5tZWxkZW4sIHVtIGRpZXNlIERhdGVpIGhlcnVudGVyenVsYWRlbjonOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdEaWVzZXMgTW9kdWwgZXJtJm91bWw7Z2xpY2h0IGRpZSBWZXJ3YWx0dW5nIHZvbiBEb3dubG9hZHMuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldpbGxrb21tZW4gaW0gVmVyd2FsdHVuZ3NiZXJlaWNoIGRlcyBEb3dubG9hZE1hbmFnZXJzLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4xIGFscGhhIC0gRXJzdGUgQWxwaGEgVmVyc2lvbjwvbGk+DQo8bGk+VmVyc2lvbiAwLjIgYmV0YSAtIFJlLU9yZGVyLU0mb3VtbDtnbGljaGtlaXQ8L2xpPg0KPGxpPlZlcnNpb24gMC4zIGJldGEgLSBiZW51dHplcmZyZXVuZGxpY2hlcjwvbGk+DQo8bGk+VmVyc2lvbiAwLjQgLSBJbnN0YWxsYXRpb25zZmVobGVyIGJlcmVpbmlndCwgZGVyIGRpZSBLYXRlZ29yaWUtVmVya24mdXVtbDtwZnVuZyB2ZXJoaW5kZXJ0ZSwgS2F0ZWdvcmllbiBhdWNoIGJlaW0gSGluenVmJnV1bWw7Z2VuIHZvbiBEYXRlaWVuIG51biB3JmF1bWw7aGxiYXI8L2xpPg0KPGxpPlZlcnNpb24gMC41IC0gVm9yZWluc3RlbGx1bmcgaW0gVmVyd2FsdHVuZ3NtZW4mdXVtbDsgaGluenVnZWYmdXVtbDtndCwgVGV4dHN0ZWxsZW4gaW50ZXJuYXRpb25hbGlzaWVydCwgVmFyaWFibGVuLUJlc2NocmVpYnVuZ2VuIGhpbnp1Z2VmJnV1bWw7Z3Q8L2xpPg0KPGxpPlZlcnNpb24gMC44IC0gRGF0YWJhc2UtVmlldyBlbnRmZXJudCB3Zy4gdmllbGVyb3J0cyBiZXN0ZWhlbmRlbiBFaW5zY2hyJmF1bWw7bmt1bmdlbiB3aWVkZXIgZW50ZmVybnQsIGZhbHNjaGVuIFZpZXctTmFtZSBrb3JyaWdpZXJ0LCBVUkwtcmV3cml0ZSBoaW56dWdlZiZ1dW1sO2d0LCBLb21wYXRpYmlsaXQmYXVtbDt0IG1pdCBDTVMgbWFkZSBzaW1wbGUgMS41LjEgZWluZ2VyaWNodGV0LCBlZGl0LmZpbGUtYnVnIGJlcmVpbmlndCwgUGFyYW1ldGVyIFwmIzAzOTtLYXRlZ29yaWUtU2VsZWt0b3JcJiMwMzk7IGYmdXVtbDtyIE1laHJmYWNoLUthdGVnb3JpZW4tQXVzd2FobCBlaW5nZXJpY2h0ZXQuPC9saT4NCjxsaT5WZXJzaW9uIDAuOC40IC0gS2F0ZWdvcmllLUF1c3dhaGwgaGluenVnZWYmdXVtbDtndCwgZWluaWdlIEZlaGxlciBiZXJlaW5pZ3Q8L2xpPg0KPGxpPlZlcnNpb24gMS4wLXJjMSAgLSBJbnRlZ3JhdGlvbiBtaXQgRkVVLU1vZHVsIGhpbnp1Z2VmJnV1bWw7Z3QsIERhdGVpLUxpbmstRW1haWwtVmVyc2FuZCwgS2F0ZWdvcmllbiBudW4gd2Fsa2FibGUsIHZlcnNjaGllZGVuZSBUZW1wbGF0ZXMsIFZvcmxhZ2VuIGYmdXVtbDtyIHZlcnNjaGllZGVuZSBBa3Rpb25lbiwgY2F0ZWdvcnlfc2VsZWN0b3IgUGFyYW1ldGVyIGdlJmF1bWw7bmRlcnQgenUgc2VsZWN0b3IsIEthdGVnb3JpZS1QYXJhbWV0ZXIgZW50ZmVybnQsIEthdGVnb3JpZS1MaXN0ZSBmJnV1bWw7ciBEYXRlaWVuIGluIGRlciBBdXN3YWhsIGhpbnp1Z2YmdXVtbDtndCwgQWxpYXNlIGYmdXVtbDtyIERhdGVpZW4gdW5kIEthdGVnb3JpZW4gaGluenVnZWYmdXVtbDtndDwvbGk+DQo8bGk+VmVyc2lvbiAxLjEgIC0gYWRkZWQgdGhlIGZpbGVjaGFuZ2UgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjMgIC0gYWRkZWQgZG93bmxvYWQgY291bnRpbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQo8cD5FcyBlcm0mb3VtbDtnbGljaHQgZGllIFZlcndhbHR1bmcgdm9uIERhdGVpZW4sIGRpZSBTaWUgSWhyZW4gU2VpdGVuYmVzdWNoZXJuIHp1bSBIZXJ1bnRlcmxhZGVuIGFuYmlldGVuIG0mb3VtbDtjaHRlbi48L3A+DQo8aDM+V2llIHdpcmQgZXMgZWluZ2VzZXR6dD88L2gzPg0KPG9sPg0KPGxpPkZhbGxzIG5pY2h0IGJlcmVpdHMgdm9yaGFuZGVuLCBsZWdlbiBTaWUgZGFzIFZlcnplaWNobmlzICZiZHF1bztkb3dubG9hZHMmbGRxdW87IGltIEhhdXB0dmVyemVpY2huaXMgdm9uIENNU01hZGVTaW1wbGUgYW4uPC9saT4NCjxsaT5WZXJnZWJlbiBTaWUgZGllIG5vdHdlbmRpZ2VuIFNjaHJlaWJyZWNodGUgZiZ1dW1sO3IgZGllc2VzIFZlcnplaWNobmlzLCBqZSBuYWNoIEFwYWNoZS1Lb25maWd1cmF0aW9uIGJlbiZvdW1sO3RpZ2VuIFNpZSAmYmRxdW87MDc3NSZsZHF1bzsgb2RlciAmYmRxdW87MDc1NSZsZHF1bzsuPC9saT4NCjwvb2w+DQo8cD5EaWUgQWRtaW5pc3RyYXRpb24gZGVzIE1vZHVscyBlcnJlaWNoZW4gU2llICZ1dW1sO2JlciAmYmRxdW87SW5oYWx0ZSA+IERvd25sb2FkLU1hbmFnZXImbGRxdW87LjwvcD4NCjxwPlNpZSBrJm91bWw7bm5lbiBkZW4gRG93bmxvYWQtTWFuYWdlciBlbnR3ZWRlciBpbiBlaW5lciBTZWl0ZW52b3JsYWdlIC8gVGVtcGxhdGUgb2RlciBpbiBlaW5lciBJbmhhbHRzLVNlaXRlIGVpbmJpbmRlbi4NCjxiciAvPjxici8+TnV0emVuIFNpZSBkYWYmdXVtbDtyIGRlbiBTbWFydHktVGFnIDxjb2RlPiZhbXA7IzEyMztjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtEb3dubG9hZE1hbmFnZXImcXVvdDsgY2F0ZWdvcnk9JnF1b3Q7S2F0ZWdvcmllLU5hbWUmcXVvdDsgdGVtcGxhdGU9JnF1b3Q7VGVtcGxhdGUtTmFtZSZxdW90OyZhbXA7IzEyNTs8L2NvZGU+Lg0KPGJyIC8+JmJkcXVvO2NhdGVnb3J5JmxkcXVvOyB1bmQgJmJkcXVvO3RlbXBsYXRlJmxkcXVvOyBzaW5kIG9wdGlvbmFsZSBQYXJhbWV0ZXIuIFdlaXRlcmUgUGFyYW1ldGVyIGZpbmRlbiBTaWUgdW50ZW4gYXVmIGRlciBTZWl0ZSBhdWZnZWxpc3RldC48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5EaWVzZXMgTW9kdWwgYmlldGV0IGtlaW5lbiBrb21tZXJ6aWVsbGVuIFN1cHBvcnQuPC9wPg0KPHA+TmFjaCBkZXIgR1BMIHdpcmQgZGllc2UgU29mdHdhcmUgc28gdmVyJm91bWw7ZmZlbnRsaWNodCwgd2llIHNpZSBpc3QuIEJpdHRlIGxlc2VuIFNpZSBkZW4gTGl6ZW56dGV4dCBmJnV1bWw7ciBkZW4gdm9sbGVuIEhhZnR1bmdzYXVzc2NobHVzcy48L3A+DQo8aDM+Q29weXJpZ2h0IHVuZCBMaXplbno8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBTenltb24gTHVrYXN6Y3p5ayA8YSBocmVmPSJtYWlsdG86c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tIj5zenltb24ubHVrYXN6Y3p5a0BnbWFpbC5jb208L2E+IHVuZCBQaWVycmUtTHVjIEdlcm1haW4gPGEgaHJlZj0ibWFpbHRvOnBsLmdlcm1haW5AZ21haWwuY29tIj5wbC5nZXJtYWluQGdtYWlsLmNvbTwvYT4uIEFsbGUgUmVjaHRlIHZvcmJlaGFsdGVuLjwvcD4NCjxwPkRpZXNlcyBNb2R1bCB3dXJkZSB1bnRlciBkZXIgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+IHZlciZvdW1sO2ZmZW50bGljaHQuIFNpZSBtJnV1bWw7c3NlbiBkaWVzZXIgTGl6ZW56IHp1c3RpbW1lbiwgYmV2b3IgU2llIGRhcyBNb2R1bCB2ZXJ3ZW5kZW4uPC9wPic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJ0FrdGlvbnMtQXVzd2FobC4gTSZvdW1sO2dsaWNoZSBBa3Rpb25lbjogDQo8dWw+DQo8bGk+PGVtPmRlZmF1bHQ8L2VtPjogemVpZ3QgRGF0ZWktTGlzdGUgYW4NCgk8YnIvPm9wdGlvbmFsZSBQYXJhbWV0ZXI6IDxlbT5jYXRlZ29yeWlkPC9lbT4gb2RlciA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz56LkIuOiAgJmFtcDsjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPVwmIzAzOTtEb3dubG9hZE1hbmFnZXJcJiMwMzk7IGFsaWFzPVwmIzAzOTtteS1jYXRlZ29yeVwmIzAzOTsgZGVwdGg9XCYjMDM5OzJcJiMwMzk7fSA8L2xpPg0KPGxpPjxlbT5zZWxlY3RvcjwvZW0+OiBBdXN3YWhsIG1laHJlcmVyIEthdGVnb3JpZW4sIHNpZWhlIGF1Y2g6IHNlbGVjdG9yIHBhcmFtZXRlcg0KCTxici8+RXJmb3JkZXJsaWNoOiA8ZW0+c2VsZWN0b3I8L2VtPg0KCTxici8+T3B0aW9uYWxlIFBhcmFtZXRlcjogPGVtPnRlbXBsYXRlPC9lbT4NCgk8YnIvPnouQi46ICAmYW1wOyMxMjM7Y21zX21vZHVsZSBtb2R1bGU9XCYjMDM5O0Rvd25sb2FkTWFuYWdlclwmIzAzOTsgYWN0aW9uPVwmIzAzOTtzZWxlY3RvclwmIzAzOTsgc2VsZWN0b3I9XCYjMDM5OzMmYW1wOygxfDIpXCYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRldGFpbDwvZW0+OiB6ZWlndCBEZXRhaWxzIGRlciBhdXNnZXcmYXVtbDtobHRlbiBEYXRlaSBhbg0KCTxici8+RXJmb3JkZXJsaWNoOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+T3B0aW9uYWxlIFBhcmFtZXRlcjogPGVtPnRlbXBsYXRlPC9lbT4NCgk8YnIvPnouQi46ICAmYW1wOyMxMjM7Y21zX21vZHVsZSBtb2R1bGU9XCYjMDM5O0Rvd25sb2FkTWFuYWdlclwmIzAzOTsgYWN0aW9uPVwmIzAzOTtkZXRhaWxcJiMwMzk7IGFsaWFzPVwmIzAzOTtteS1maWxlXCYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRvd25sb2FkPC9lbT46IERvd25sb2FkIGRlciBhdXNnZXcmYXVtbDtobHRlbiBEYXRlaWVuDQoJPGJyLz5FcmZvcmRlcmxpY2g6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5PcHRpb25hbGUgUGFyYW1ldGVyOiA8ZW0+dGVtcGxhdGU8L2VtPiANCgk8YnIvPnouQi46ICAmYW1wOyMxMjM7Y21zX21vZHVsZSBtb2R1bGU9XCYjMDM5O0Rvd25sb2FkTWFuYWdlclwmIzAzOTsgYWN0aW9uPVwmIzAzOTtkb3dubG9hZFwmIzAzOTsgYWxpYXM9XCYjMDM5O215LWZpbGVcJiMwMzk7IH0gPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnlpZCddID0gJ0thdGVnb3JpZS1JRCwgenUgZmluZGVuIGluIGRlciBLYXRlZ29yaWVuLVRhYmVsbGUuIFdlbm4gZ2VzZXR6dCwgd2lyZCBBbGlhcyBuaWNodCBiZXImdXVtbDtja3NpY2h0aWd0Lic7CiRsYW5nWydoZWxwX3BhcmFtX2FsaWFzJ10gPSAnS2F0ZWdvcmllLSBvZGVyIERhdGVpLUFsaWFzJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVwdGgnXSA9ICdEZWZpbmllcnQgZGllIFZlcnNjaGFjaHRlbHVuZ3MtVGllZmUgZGVzIGFrdHVlbGwgYW5nZXplaWd0ZW4gQmF1bXMuIE9obmUgVm9yZ2FiZSB3aXJkIGRlciBnZXNhbXRlIEJhdW0gYW5nZXplaWd0Lic7CiRsYW5nWydoZWxwX3BhcmFtX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUtTmFtZS4gT2huZSBWb3JnYWJlIGlzdCBkYXMgU3RhbmRhcmQtVGVtcGxhdGUgZiZ1dW1sO3IgZGllIGFrdHVlbGxlIEFrdGlvbiBcJiMwMzk7YWN0aW9uL2ZpbGUvY2F0ZWdvcnlcJiMwMzk7Lic7CiRsYW5nWydoZWxwX3BhcmFtX3NlbGVjdG9yJ10gPSAnJnF1b3Q7Y2F0ZWdvcnlfc2VsZWN0b3ImcXVvdDsgZXJsYXVidCBkaWUgQXVzd2FobCB2b24gbWVociBhbHMgZWluZXIgS2F0ZWdvcmllLiBEaWUgQW53ZWlzdW5nIGthbm4gc28gbGF1dGVuOg0KPHVsPg0KPGxpPiZxdW90OyZhbXA7JnF1b3Q7IC0gU2Nobml0dG1lbmdlPC9saT4NCjxsaT4mcXVvdDt8JnF1b3Q7IC0gc3VtPC9saT4NCjxsaT5LYXRlZ29yeSBJRCAoU2llIHdpcmQgaW4gZGVyIEthdGVnb3JpZS1UYWJlbGxlIGFuZ2V6ZWlndC4pPC9saT4NCjxsaT5hbGxlIHdlaXRlcmVuIFplaWNoZW4gd2VyZGVuIHZvciBkZW0gQXVzbGVzZW4gZW50ZmVybnQ8L2xpPg0KPC91bD4NClNvIHdpcmQgZGllIEFuZ2FiZSA8aT5jYXRlZ29yeV9zZWxlY3Rvcj0mcXVvdDszJmFtcDsoMXwyKSZxdW90OzwvaT4gYWxsZSBXZXJ0ZSBkZXIgS2F0ZWdvcmllIG1pdCBkZXIgaWQ9MyB6dXImdXVtbDtja2xpZWZlcm4sIHdlbGNoZSBhdWNoIGluIGRlciBpbiBkZXIgU3VtbWUgdm9uIEthdGVnb3JpZSAxIHVuZCAyIGVudGhhbHRlbiBzaW5kLi4gPGJyLz4NCldlbm4gJnF1b3Q7Y2F0ZWdvcnlfc2VsZWN0b3ImcXVvdDsgZGVmaW5pZXJ0IGlzdCwgd2lyZCBkZXIgS2F0ZWdvcmllLVBhcmFtZXRlciA8Yj5pZ25vcmllcnQuPC9iPg0KJzsKJGxhbmdbJ3dyb25nYWxpYXMnXSA9ICdGYWxzY2hlciBBbGlhcyBnZXcmYXVtbDtobHQuJzsKJGxhbmdbJ2Rvd25sb2FkJ10gPSAnRG93bmxvYWQgJzsKJGxhbmdbJ2Rvd25sb2FkaW5nJ10gPSAnJXMgaGVydW50ZXJnZWxhZGVuLi4uJzsKJGxhbmdbJ2JhY2t0b2xpc3QnXSA9ICdadXImdXVtbDtjayB6dXIgRGF0ZWlsaXN0ZS4nOwokbGFuZ1snZG93bmxvYWRpbmdfaW5mbyddID0gJ0RlciBEb3dubG9hZCB3aXJkIGJhbGQgc3RhcnRlbi4gRmFsbHMgUHJvYmxlbWUgYXVmdHJldGVuLCB3ZW5kZW4gU2llIHNpY2ggYml0dGUgYW4gZGVuIFdlYm1hc3Rlci4nOwokbGFuZ1snbm9maWxlJ10gPSAnS2VpbmUgRGF0ZWkgYXVzZ2V3JmF1bWw7aGx0JzsKJGxhbmdbJ3dyb25nZmlsZSddID0gJ0ZhbHNjaGUgRGF0ZWktSUQnOwokbGFuZ1snbm9hY2Nlc3MnXSA9ICdTaWUgaGFiZW4ga2VpbmUgWnVncmlmZnNiZWZ1Z25pcyBmJnV1bWw7ciBkaWVzZSBEYXRlaS4nOwokbGFuZ1snZG93bmxvYWRfZGlyJ10gPSAnRG93bmxvYWQtVmVyemVpY2huaXMnOwokbGFuZ1snd3lzaXd5Z19vbiddID0gJ1dZU0lXWUcgaW4gQWRtaW4tS2FydGVpcmVpdGVybiBha3RpdmllcmVuPyc7CiRsYW5nWydkb3dubG9hZF9zY2FuJ10gPSAnR2VzY2FubnRlIFZlcnplaWNobmlzc2UgKG1pdCBTZW1pa29sb24gZ2V0cmVubnQsIEJlaXNwaWVsICZiZHF1bztkaXIxLztkaXIyLztkaXIzLyZsZHF1bzsgKSc7CiRsYW5nWydkb3dubG9hZF9zY2FuX3JlY3VycyddID0gJ0RpZSBWZXJ6ZWljaG5pcyByZWt1cnNpdiBkdXJjaHN1Y2hlbj8nOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBmJnV1bWw7ciBkYXMgSGVydW50ZXJsYWRlbic7CiRsYW5nWydkb3dubG9hZF90ZW1wbGF0ZV9pbmZvJ10gPSAnPHRhYmxlIHN0eWxlPSZxdW90O3RleHQtYWxpZ246bGVmdDsmcXVvdDs+DQo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XYXMgaXN0IGRhcz88L2I+PC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPiZhbXA7IzEyMzskZG93bmxvYWRpbmdfaW5mbyZhbXA7IzEyNTs8L2I+PC90ZD4NCjx0ZD5UZXh0OiBEaWUgRGF0ZWkgd2lyZCBoZXJ1bnRlcmdlbGFkZW4uPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPiZhbXA7IzEyMzskZG93bmxvYWRpbmdfaW5mbyZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+VGV4dDogRGVyIERvd25sb2FkIHdpcmQgYmFsZCBzdGFydGVuLiBGYWxscyBQcm9ibGVtZSBhdWZ0cmV0ZW4sIHdlbmRlbiBTaWUgc2ljaCBiaXR0ZSBhbiBkZW4gV2VibWFzdGVyLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj4mYW1wOyMxMjM7ZG93bmxvYWRfbmFtZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+TmFtZSBkZXIgYWt0dWVsbGVuIERvd25sb2FkLURhdGVpLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj4mYW1wOyMxMjM7JGJhY2t0b2xpc3RsaW5rJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5adXImdXVtbDtjayB6dXIgTGlua2xpc3RlLjwvdGQ+PC90cj4NCjwvdGFibGU+DQoNCic7CiRsYW5nWydkb3dubG9hZF9kaXJfbm90X3dyaXRhYmxlJ10gPSAnRGFzIERvd25sb2FkLVZlcnplaWNobmlzICglcykgaXN0IG5pY2h0IGJlc2NocmVpYmJhciwgJmF1bWw7bmRlcm4gU2llIGRpZSBEYXRlaS1SZWNodGUgKGNobW9kIDc3NykuJzsKJGxhbmdbJ2Rpcl9kb250X2V4aXN0cyddID0gJ0RhcyBEb3dubG9hZC1WZXJ6ZWljaG5pcyAoJXMpIGlzdCBuaWNodCB2b3JoYW5kZW4sIGJpdHRlIGxlZ2VuIFNpZSBlcyB6dWVyc3QgYW4uJzsKJGxhbmdbJ3NlYXJjaF9leHBpcmUnXSA9ICdFeHBpcmVkIGFuZCBub3Qgc3RhcnRlZCBkb3dubG9hZHMgY2FuIGFwcGVhciBpbiBzZWFyY2ggcmVzdWx0cyc7CiRsYW5nWyd0aHVtYl9kaXInXSA9ICdEaXJlY3RvcnkgdG8gc2Nhbi9zYXZlIHRodW1ibmFpbHMuIERlZmF1bHQ6ICZxdW90O2ltYWdlcy9Eb3dubG9hZE1hbmFnZXJUaHVtYnMvJnF1b3Q7LiBEaXJlY3RvcnkgbXVzdCBleGlzdCc7CiRsYW5nWyd0aHVtYl9zaXplJ10gPSAnTWF4IHRodW1ibmFpbCBzaXplJzsKJGxhbmdbJ3RodW1iX2F1dG8nXSA9ICdEbyB0cnkgYXV0b21hdGljbHkgdG8gbWFrZSB0aHVtYm5haWxzPyc7CiRsYW5nWyduYW1lbGFiZWwnXSA9ICdOYW1lICc7CiRsYW5nWydjb3VudGVybGFiZWwnXSA9ICdEb3dubG9hZC1aJmF1bWw7aGxlcic7CiRsYW5nWydjb3VudGVybmJyJ10gPSAnJXMgbWFsIGhlcnVudGVyZ2VsYWRlbi4nOwokbGFuZ1snYWxpYXNsYWJlbCddID0gJ0FsaWFzICc7CiRsYW5nWydzZWxlY3RvciddID0gJ0NhdGVnb3J5IHNlbGVjdG9yJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWydub2ZpbHRlciddID0gJ05vIGZpbHRlcic7CiRsYW5nWydub3NlbGVjdG9yJ10gPSAnTm8gc2VsZWN0b3InOwokbGFuZ1snY3VycmVudCddID0gJ0N1cnJlbnQnOwokbGFuZ1sndmVyYm9zZSddID0gJ3ZlcmJvc2UnOwokbGFuZ1snZmlsZWxhYmVsJ10gPSAnRGF0ZWknOwokbGFuZ1snZmlsZWRlbGV0ZWQnXSA9ICdEaWUgRGF0ZWkgd3VyZGUgZ2VsJm91bWw7c2NodC4nOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ05ldWUgRGF0ZWkgaG9jaGxhZGVuJzsKJGxhbmdbJ2FscmVhZHl1cGxvYWRlZCddID0gJ0JlcmVpdHMgaG9jaGdlbGFkZW5kZSBEYXRlaSB2ZXJ3ZW5kZW4gKGdlYmVuIFNpZSBkZW4gZXhha3RlbiBQZmFkIHZvbSBDTVMgUm9vdCBWZXJ6ZWljaG5pcyB6dXIgRGF0ZWkgYW4pJzsKJGxhbmdbJ2V4dGVybmFsZmlsZSddID0gJ0V4dGVybmVuIERhdGVpenVncmlmZiB2aWEgaHR0cCB2ZXJ3ZW5kZW4uIERpZSBEYXRlaSB3aXJkIG5pY2h0IGF1ZiBkZW4gU2VydmVyIGhvY2hnZWxhZGVuJzsKJGxhbmdbJ2ZpbGVkb2VzbnRleGlzdHMnXSA9ICdEaWUgRGF0ZWkgJXMgZ2lidCBlcyBhdWYgZGVtIFNlcnZlciBuaWNodC4nOwokbGFuZ1snY3VybGZhaWxlZCddID0gJ0RpZSBDdXJsLUFuZnJhZ2UgaXN0IGZlaGxnZXNjaGxhZ2VuLic7CiRsYW5nWydjdXJsZG9lc250ZXhpc3RzJ10gPSAnRGllIHNlcnZlcnNlaXRpZ2UgQ3VybC1waHAtRXJ3ZWl0ZXJ1bmdlbiwgZGllIGYmdXVtbDtyIGV4dGVybmUgTGlua3MgYmVuJm91bWw7dGlndCB3aXJkLCBpc3QgbmljaHQgdm9yaGFuZGVuLic7CiRsYW5nWydzZXJ2ZXJfbmFtZWxhYmVsJ10gPSAnRGF0ZWluYW1lIGF1ZiBkZW0gU2VydmVyJzsKJGxhbmdbJ2V4dGxhYmVsJ10gPSAnRGF0ZWktRW5kdW5nLy1FeHRlbnNpb24nOwokbGFuZ1snc2l6ZWxhYmVsJ10gPSAnRGF0ZWlnciZvdW1sOyZzemxpZztlJzsKJGxhbmdbJ2hhc2hsYWJlbCddID0gJ01ENS1IYXNoLVdlcnQnOwokbGFuZ1snZGVzY3JpcHRpb25sYWJlbCddID0gJ0Jlc2NocmVpYnVuZyc7CiRsYW5nWydjcmVhdGVkbGFiZWwnXSA9ICdFcnN0ZWxsdW5nc2RhdHVtOiAnOwokbGFuZ1snZXhwaXJlc2xhYmVsJ10gPSAnQWJsYXVmZGF0dW06ICc7CiRsYW5nWydtYWtlX3RodW1ibGFiZWwnXSA9ICdNYWtlIHRodW1ibmFpbCBmcm9tIGltYWdlIChpZiBwb3NzaWJsZSk/JzsKJGxhbmdbJ3RodW1ibGFiZWwnXSA9ICdUaHVtYm5haWwnOwokbGFuZ1snc3RhcnRzbGFiZWwnXSA9ICdTdGFydHMnOwokbGFuZ1sndmlzaWJsZWxhYmVsJ10gPSAnU2ljaHRiYXInOwokbGFuZ1sndXNlZXhwaXJhdGlvbiddID0gJ0FibGF1ZmRhdHVtIHZlcndlbmRlbic7CiRsYW5nWyd1c2VzdGFydCddID0gJ1VzZSBzdGFydCBkYXRlJzsKJGxhbmdbJ2FkZGZpbGUnXSA9ICdOZXVlIERhdGVpJzsKJGxhbmdbJ3NjYW5mb3JuZXdmaWxlcyddID0gJ05hY2ggbmV1ZW4gRGF0ZWllbiBzdWNoZW4nOwokbGFuZ1snc2NhbnJlc3VsdCddID0gJ0R1cmNoc3VjaHRlIFZlcnplaWNobmlzc2U6ICVzIDxiciAvPiAlcyBuZXVlIERhdGVpZW4gbmFjaHN0ZWhlbmQgYXVmZ2VmJnV1bWw7aHJ0LiBXJmF1bWw7aGxlbiBTaWUgZGllIERhdGVpIGF1cy4nOwokbGFuZ1snc2Nhbm5vbmV3J10gPSAnS2VpbmUgbmV1ZW4gRGF0ZWllbiBoaW56dWdlZiZ1dW1sO2d0Lic7CiRsYW5nWydub2ZpbGVnaXZlbiddID0gJ05vY2gga2VpbmUgRGF0ZWkgdm9yaGFuZGVuJzsKJGxhbmdbJ25vdGhpbmd1cGxvYWRlZCddID0gJ0VzIHd1cmRlIGtlaW5lIG9kZXIgZWluZSBsZWVyZSBEYXRlaSBob2NoZ2VsYWRlbi4nOwokbGFuZ1sndW5hYmxldG9tb3ZlJ10gPSAnRXMgaXN0IG5pY2h0IG0mb3VtbDtnbGljaCwgZGllIGhvY2hnZWxhZGVuZSBEYXRlaSBhdWYgZGVtIFNlcnZlciB6dSBrb3BpZXJlbiBvZGVyIHp1IHZlcnNjaGllYmVuLic7CiRsYW5nWyd0eXBlbGFiZWwnXSA9ICdUeXAnOwokbGFuZ1snZmlsZXN0YWJoZWFkZXInXSA9ICdEYXRlaWVuJzsKJGxhbmdbJ2ZpbGVhZGRlZCddID0gJ0RpZSBEYXRlaSB3dXJkZSBoaW56dWdlZiZ1dW1sO2d0JzsKJGxhbmdbJ2ZpbGVtb2RpZmllZCddID0gJ0RpZSBEYXRlaSB3dXJkZSBnZSZhdW1sO25kZXJ0JzsKJGxhbmdbJ3RlbXBsYXRlZm9yZm9ybSddID0gJ0Zvcm11bGFyLVRlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZGV0YWlsJ10gPSAnRGV0YWlsLVRlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZW1haWwnXSA9ICdFbWFpbC1UZW1wbGF0ZSc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGUnXSA9ICdTdGFuZGFyZC1UZW1wbGF0ZSB2ZXJ3ZW5kZW4gKHNpZWhlIExpc3RlIGRlciBUZW1wbGF0ZXMpJzsKJGxhbmdbJ2ZldWdyb3Vwc2xhYmVsJ10gPSAnRkVVLUdydXBwZW4sIGRpZSBhdWYgZGllc2UgRGF0ZWkgenVncmVpZmVuIGQmdXVtbDtyZmVuJzsKJGxhbmdbJ2FjY2Vzc3R5cGUnXSA9ICdadWdyaWZmcy1UeXAnOwokbGFuZ1snYWNjZXNzdHlwZV9mcmVlJ10gPSAnRnJlaWVyIFp1Z3JpZmYnOwokbGFuZ1snYWNjZXNzdHlwZV9mZXVvbmx5J10gPSAnTnVyIEZyb250ZW5kLVVzZXInOwokbGFuZ1snYWNjZXNzdHlwZV9lbWFpbG9ubHknXSA9ICdOdXIgcGVyIEVtYWlsJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfbWl4ZWQnXSA9ICdGcm9udGVuZC1Vc2VyIG9kZXIgRW1haWwnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMgJzsKJGxhbmdbJ2ZpbGVjaGFuZ2UnXSA9ICdEaWVzZSBEYXRlaSBlcnNldHplbic7CiRsYW5nWydjaGFuZ2VmaWxlaW5mbyddID0gJ1cmYXVtbDtobGVuIFNpZSBkaWUgRGF0ZWksIG1pdCBkZXIgU2llIGRpZSBha3R1ZWxsZSBEYXRlaSAmcXVvdDslcyZxdW90Ow0KKEFsaWFzOiAlcykgZXJzZXR6ZW4gbSZvdW1sO2NodGVuLiBBbGxlIFZlcmtuJnV1bWw7cGZ1bmdlbiwgTGlua3MsIEluZm9zIHVuZCBkZXIgQWxpYXMtTmFtZSBibGVpYmVuIHVudmVyJmF1bWw7bmRlcnQuJzsKJGxhbmdbJ2ZpbGVjaGFuZ2VkJ10gPSAnRGllIERhdGVpIHd1cmRlIGVyc2V0enQnOwokbGFuZ1snY2hhbmdlbmFtZWxhYmVsJ10gPSAnU29sbCBkZXIgRGF0ZWluYW1lIG1pdCBkZW0gTmFtZW4gZGVyIG5ldWVuIERhdGVpIGVyc2V0enQgd2VyZGVuPyc7CiRsYW5nWydhbGx0aW1lJ10gPSAnQWxsIHRpbWUnOwokbGFuZ1snYXZhaWxhYmxpdHknXSA9ICdBdmFpbGFibGl0eSc7CiRsYW5nWydub2FsaWFzJ10gPSAnTm8gc3VjaCBhbGlhcyBvciBkb3dubG9hZCBub3QgYXZhaWxhYmxlJzsKJGxhbmdbJ25vaGFzaCddID0gJ05vIHN1Y2ggaGFzaCBvciBkb3dubG9hZCBub3QgYXZhaWxhYmxlJzsKJGxhbmdbJ3dyb25ncGFyYW1zJ10gPSAnV3JvbmcgcGFyYW1ldGVycyc7CiRsYW5nWydmaWxlbm90Zm91bmQnXSA9ICdGaWxlICVzIG5vdCBmb3VuZC4nOwokbGFuZ1snd3JvbmdkYXRhJ10gPSAnV3JvbmcgZGF0YSBpbiBkYXRhYmFzZSByb3cuJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTmV1ZSBLYXRlZ29yaWUnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdLYXRlZ29yaWUnOwokbGFuZ1sncGFyZW50X2lkbGFiZWwnXSA9ICcmVXVtbDtiZXJnZW9yZG5ldGUgS2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3JpZXN0YWJoZWFkZXInXSA9ICdLYXRlZ29yaWVuJzsKJGxhbmdbJ3Jlb3JkZXJfcHJpb3JpdHknXSA9ICdHZXdpY2h0dW5nICgtOTkgYmlzIDk5KSwgIG5pZWRyaWdlciBXZXJ0LT5oJm91bWw7aGVyZSBHZXdpY2h0dW5nJzsKJGxhbmdbJ25vZG93bmxvYWRzJ10gPSAnS2VpbmUgRGF0ZWllbiB6dW0gSGVydW50ZXJsYWRlbiBpbiBkaWVzZXIgS2F0ZWdvcmllJzsKJGxhbmdbJ2ZpbGVuYiddID0gJyVzIERhdGVpKGVuKSc7CiRsYW5nWydjYXRlZ29yeWFkZGVkJ10gPSAnRGllIEthdGVnb3JpZSB3dXJkZSBoaW56dWdlZiZ1dW1sO2d0Lic7CiRsYW5nWydjYXRlZ29yeXVwZGF0ZWQnXSA9ICdEaWUgS2F0ZWdvcmllIHd1cmRlIGFrdHVhbGlzaWVydC4nOwokbGFuZ1snY2F0ZWdvcnlkZWxldGVkJ10gPSAnRGllIEthdGVnb3JpZSB3dXJkZSBnZWwmb3VtbDtzY2h0Lic7CiRsYW5nWydjYXRlZ29yeWNvbnRlbnR0eXBlZnJpZW5kbHknXSA9ICdLYXRlZ29yaWUgenVtIEhlcnVudGVybGFkZW4nOwokbGFuZ1snb3ZlcmFsbHRhYmhlYWRlciddID0gJyZVdW1sO2JlcnNpY2h0JzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ10gPSAnS2F0ZWdvcmllbic7CiRsYW5nWydhZGRhc3NvYyddID0gJ1p1ciBLYXRlZ29yaWUgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ3dyb25nY2F0ZWdvcnlzZWwnXSA9ICdGZWhsZXIgYmVpbSBQYXJzZW4gZGVzIEthdGVnb3JpZS1TZWxla3RvcnMuPGJyIC8+IFNlbGVrdG9yIG5hY2ggQmVyZWluaWd1bmc6ICVzJzsKJGxhbmdbJ25vY2F0ZWdvcnlzZWwnXSA9ICdLYXRlZ29yaWUtU2VsZWt0b3IgbmljaHQgZ2VzZXR6dC4nOwokbGFuZ1snd3JvbmdjYXRlZ29yeSddID0gJ0RpZSBnZXcmYXVtbDtobHRlIEthdGVnb3JpZSBnaWJ0IGVzIG5pY2h0Lic7CiRsYW5nWydzZW5kZW1haWwnXSA9ICdMaW5rIHp1bSBIZXJ1bnRlcmxhZGVuIChpbiBkZXIgRW1haWwpJzsKJGxhbmdbJ3Byb21wdF9maXJzdG5hbWUnXSA9ICdWb3JuYW1lJzsKJGxhbmdbJ3Byb21wdF9sYXN0bmFtZSddID0gJ0ZhbWlsaWVubmFtZSc7CiRsYW5nWydwcm9tcHRfZW1haWwnXSA9ICdFbWFpbC1BZHJlc3NlJzsKJGxhbmdbJ3Byb21wdF9tYWlsaW5nbGlzdCddID0gJ0ljaCBtJm91bWw7Y2h0ZSAmdXVtbDtiZXIgQWt0dWFsaXNpZXJ1bmdlbiB1bmQgYW5kZXJlIHdpY2h0aWdlIE5ldWlna2VpdGVuIGluZm9ybWllcnQgd2VyZGVuLic7CiRsYW5nWydlbWFpbHNlbnQnXSA9ICdFaW5lIEVtYWlsIG1pdCBkZW0gTGluayB6dW0gSGVydW50ZXJsYWRlbiBkZXIgZ2V3JnV1bWw7bnNjaHRlbiBEYXRlaSB3dXJkZSBhbiBkaWUgYW5nZWdlYmVuZSBBZHJlc3NlIHZlcnNhbmR0Lic7CiRsYW5nWydjb3VsZG5vdHNlbmQnXSA9ICdCZWkgSWhyZXIgQW5mb3JkZXJ1bmcgaXN0IGVpbiBGZWhsZXIgYXVmZ2V0cmV0ZW4sIGRpZSBFbWFpbCBrb25udGUgbmljaHQgdmVyc2FuZHQgd2VyZGVuLic7CiRsYW5nWydpbnZhbGlkZW1haWwnXSA9ICdEaWUgYW5nZWdlYmVuZSBFbWFpbC1BZHJlc3NlIGlzdCB1bmcmdXVtbDtsdGlnLiBPaG5lIGcmdXVtbDtsdGlnZSBFbWFpbC1BZHJlc3NlIGsmb3VtbDtubmVuIHdpciBJaG5lbiBkZW4gTGluaywgZGVuIFNpZSB6dW0gSGVydW50ZXJsYWRlbiBkZXIgRGF0ZWkgYmVuJm91bWw7dGlnZW4sIG5pY2h0IG1pdHRlaWxlbi4nOwokbGFuZ1sncGxlYXNlX25hbWUnXSA9ICdCaXR0ZSBnZWJlbiBTaWUgSWhyZW4gTmFtZW4gZWluLic7CiRsYW5nWydwbGVhc2VfZW1haWwnXSA9ICdCaXR0ZSBnZWJlbiBTaWUgSWhyZSBFbWFpbC1BZHJlc3NlIGVpbi4gRGVyIExpbmsgenVtIEhlcnVudGVybGFkZW4gZGVyIERhdGVpIHdpcmQgYW4gZGllc2UgQWRyZXNzZSB2ZXJzYW5kdC4nOwokbGFuZ1snYWRkdGVtcGxhdGUnXSA9ICdOZXVlcyBUZW1wbGF0ZSc7CiRsYW5nWydsaXN0dGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIGYmdXVtbDtyIEthdGVnb3JpZS0gb2RlciBEYXRlaS1MaXN0ZW4nOwokbGFuZ1snYWRkbGlzdHRlbXBsYXRlJ10gPSAnTmV1ZXMgTGlzdGVuLVRlbXBsYXRlJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmJnV1bWw7ciBkaWUgQW56ZWlnZSB2b24gRGF0ZWktRGV0YWlscyc7CiRsYW5nWydhZGRkZXRhaWx0ZW1wbGF0ZSddID0gJ05ldWVzIERldGFpbC1UZW1wbGF0ZSc7CiRsYW5nWydmb3JtdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIGYmdXVtbDtyIGRhcyBFbWFpbC1BbmZvcmRlcnVuZ3Nmb3JtdWxhcic7CiRsYW5nWydhZGRmb3JtdGVtcGxhdGUnXSA9ICdOZXVlcyBGb3JtdWxhci1UZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmJnV1bWw7ciBFbWFpbHMgenVtIFZlcnNlbmRlbiBkZXMgTGlua3MgenVtIEhlcnVudGVybGFkZW4gdm9uIERhdGVpZW4nOwokbGFuZ1snYWRkZW1haWx0ZW1wbGF0ZSddID0gJ05ldWVzIFRlbXBsYXRlIGYmdXVtbDtyIGRpZSBFbWFpbC1OYWNocmljaHQnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXRlbXBsYXRlJ10gPSAnV29sbGVuIFNpZSB3aXJrbGljaCBkYXMgVGVtcGxhdGUgJXMgbCZvdW1sO3NjaGVuPyc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlICc7CiRsYW5nWydjb250ZW50bGFiZWwnXSA9ICdJbmhhbHQnOwokbGFuZ1sndGVtcGxhdGVfbmFtZWxhYmVsJ10gPSAnTmFtZSAnOwokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ0RhcyBUZW1wbGF0ZSB3dXJkZSBoaW56dWdlZiZ1dW1sO2d0Lic7CiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdEYXMgVGVtcGxhdGUgd3VyZGUgZ2UmYXVtbDtuZGVydCc7CiRsYW5nWyd0ZW1wbGF0ZWRlbGV0ZWQnXSA9ICdEYXMgVGVtcGxhdGUgd3VyZGUgZ2VsJm91bWw7c2NodC4nOwokbGFuZ1snd3Jvbmd0ZW1wbGF0ZSddID0gJ1NpZSBoYWJlbiBlaW5lbiBmYWxzY2hlbiBUZW1wbGF0ZS1OYW1lbiBhbmdlZ2ViZW4uJzsKJGxhbmdbJ2FscmVhZHlleGlzdCddID0gJ0VzIGdpYnQgYmVyZWl0cyBlaW4gVGVtcGxhdGUgbWl0IGRpZXNlbSBOYW1lbi4nOwokbGFuZ1snZ2VuZXJhbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskYmFja3RvbGlzdGxpbmt9PC9iPjwvdGQ+PHRkPlp1ciZ1dW1sO2NrIHp1ciBMaW5rbGlzdGU8L3RkPjwvdHI+DQonOwokbGFuZ1snZmlsZWl0ZW1fdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPm5hbWUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkRhdGVpbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5kZXNjcmlwdGlvbiZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RGF0ZWktQmVzY2hyZWlidW5nPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPnNpemUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkRhdGVpLUdyJm91bWw7JnN6bGlnO2U8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y291bnRlciZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+WiZhdW1sO2hsZXIsIHdpZSBvZiBkaWVzZSBEYXRlaSBoZXJ1bnRlciBnZWxhZGVuIHd1cmRlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmNvdW50ZXJsb2NhbGUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlRleHQ6ICVzIG1hbCBoZXJ1bnRlcmdlbGFkZW4uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmhhc2gmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPk1kNS1IYXNoLVdlcnQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZXh0JmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5EYXRlaS1FbmR1bmcvLUV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y3JlYXRlZCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+WmVpdHB1bmt0LCBhbiBkZW0gZGllIERhdGVpIGF1ZiBkZW4gU2VydmVyIGdlbGFkZW4gd3VyZGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZXhwaXJlcyZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+QWJsYXVmZGF0dW0sIG5hY2ggZGVtIGRpZXNlIERhdGVpIG5pY2h0IG1laHIgdmVyZiZ1dW1sO2diYXIgaXN0PC90ZD48L3RyPg0KJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+bmFtZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RGF0ZWluYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmRlc2NyaXB0aW9uJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5EYXRlaS1CZXNjaHJlaWJ1bmc8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+c2l6ZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RGF0ZWktR3Imb3VtbDsmc3psaWc7ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jb3VudGVyJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5aJmF1bWw7aGxlciwgd2llIG9mIGRpZXNlIERhdGVpIGhlcnVudGVyIGdlbGFkZW4gd3VyZGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y291bnRlcmxvY2FsZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+VGV4dDogJXMgbWFsIGhlcnVudGVyZ2VsYWRlbi48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+aGFzaCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+TWQ1LUhhc2gtV2VydDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5leHQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkRhdGVpLUVuZHVuZy8tRXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jcmVhdGVkJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5aZWl0cHVua3QsIGFuIGRlbSBkaWUgRGF0ZWkgYXVmIGRlbiBTZXJ2ZXIgZ2VsYWRlbiB3dXJkZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5leHBpcmVzJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5BYmxhdWZkYXR1bSwgbmFjaCBkZW0gZGllc2UgRGF0ZWkgbmljaHQgbWVociB2ZXJmJnV1bWw7Z2JhciBpc3Q8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jYXRlZ29yaWVzJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5LYXRlZ29yaWVuLCBkZW5lbiBkaWUgRGF0ZWkgenVnZW9yZG5ldCBpc3QgKHZlcmYmdXVtbDtnYmFyIGluIGRlciBBdXN3YWhsIHVuZCBpbSBEZXRhaWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmRvd25sb2FkJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5lcnpldWd0ZXIgTGluayB6dW0gSGVydW50ZXJsYWRlbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5ocmVmJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5ocmVmIGF1ZiBkaWUgaGVydW50ZXJ6dWxhZGVuZGUgRGF0ZWk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+YWNjZXNzdHlwZXMmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkFycmF5IGRlciBadWdyaWZmc3R5cGVuIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5kZXRhaWwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPmVyemV1Z3RlciBEZXRhaWwtTGluazwvdGQ+DQo8L3RyPic7CiRsYW5nWydmb3JtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+RWluZ2FiZW48L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRmaXJzdG5hbWVfaW5wdXQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlZvcm5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskbGFzdG5hbWVfaW5wdXQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkZhbWlsaWVubmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRlbWFpbF9pbnB1dCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskbWFpbGluZ2xpc3RfaW5wdXQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPk1haWxpbmdsaXN0ZS1DaGVja2JveDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRzdWJtaXQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPmFic2VuZGVuPC90ZD48L3RyPg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90Oz48aT5MYWJlbHM8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRmaXJzdG5hbWVfbGFiZWwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlZvcm5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskbGFzdG5hbWVfbGFiZWwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkZhbWlsaWVubmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRlbWFpbF9sYWJlbCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskbWFpbGluZ2xpc3RfbGFiZWwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPk1haWxpbmdsaXN0ZW4tS29udHJvbGxmZWxkPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+JmFtcDsjMTIzOyRmaXJzdG5hbWUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlZvcm5hbWUgZGVzIEJlbnV0emVycywgZGVyIGRpZSBEYXRlaSBoZXJ1bnRlcmwmYXVtbDtkdDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRsYXN0bmFtZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RmFtaWxpZW5uYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGR1cmwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkxpbmsgenVtIERhdGVpLURvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGRocmVmJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5VUmkgZGVzIERhdGVpLURvd25sb2FkczwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPkRhdGVpbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+RGF0ZWktQmVzY2hyZWlidW5nPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPkRhdGVpZ3Imb3VtbDsmc3psaWc7ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jb3VudGVyJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5aJmF1bWw7aGxlciwgd2llIG9mIGRpZXNlIERhdGVpIGhlcnVudGVyIGdlbGFkZW4gd3VyZGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y291bnRlcmxvY2FsZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+VGV4dDogJXMgbWFsIGhlcnVudGVyZ2VsYWRlbi48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+TWQ1LUhhc2gtV2VydDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPkRhdGVpLUVuZHVuZy8tRXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD5aZWl0cHVua3QsIGFuIGRlbSBkaWUgRGF0ZWkgYXVmIGRlbiBTZXJ2ZXIgZ2VsYWRlbiB3dXJkZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5BYmxhdWZkYXR1bSwgbmFjaCBkZW0gZGllc2UgRGF0ZWkgbmljaHQgbWVociB2ZXJmJnV1bWw7Z2JhciBpc3Q8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jYXRlZ29yaWVzJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5LYXRlZ29yaWVuLCBkZW5lbiBkaWUgRGF0ZWkgenVnZW9yZG5ldCBpc3QgKHZlcmYmdXVtbDtnYmFyIGluIGRlciBBdXN3YWhsIHVuZCBpbSBEZXRhaWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmRvd25sb2FkJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5lcnpldWd0ZXIgTGluayB6dW0gSGVydW50ZXJsYWRlbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5ocmVmJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5ocmVmIGF1ZiBkaWUgaGVydW50ZXJ6dWxhZGVuZGUgRGF0ZWk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+YWNjZXNzdHlwZXMmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkFycmF5IGRlciBadWdyaWZmc3R5cGVuIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5kZXRhaWwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPmVyemV1Z3RlciBEZXRhaWwtTGluazwvdGQ+PC90cj4NCic7CiRsYW5nWydsaXN0X3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O3RleHQtYWxpZ246Y2VudGVyOyZxdW90Oz48YnIvPjxpPiBJbSAmYW1wOyMxMjM7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW0mYW1wOyMxMjU7IExvb3A6PC9pPjwvdGg+PC90cj4NCjx0cj48dGg+VmFyaWFibGU6PC90aD48dGg+V2FzIGlzdCBkYXM/PC90aD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPml0ZW1sZXZlbCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+YWt0aXZlcyBLYXRlZ29yaWUtTGV2ZWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+cm93Y2xhc3MmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPlJlaWhlMSBvZGVyIFJlaWhlMiwgYWJoJmFtcDthdW1sO25naWcgb2IgZ2VyYWRlIG9kZXIgdW5nZXJhZGU8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+IFdlbm4gPGI+JmFtcDsjMTIzOyRpdGVtLT5pdGVtdHlwZSZhbXA7IzEyNTs8L2I+ID0gPGk+aGVhZGVyPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+aXRlbXR5cGUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPjxpPmhlYWRlcjwvaT48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+bmFtZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+S2F0ZWdvcmllLU5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+ZGVzY3JpcHRpb24mYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkthdGVnb3JpZS1CZXNjaHJlaWJ1bmc8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+c3ViY2F0ZWdvcmllcyZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+QXJyYXkgZGVyIFVudGVya2F0ZWdvcmllbiwgamVkZSBVbnRlcmthdGVnb3JpZSBiZXNpdHp0IGRpZXNlIEVsZW1lbnRlOiBpZCwgbmFtZSwgbG9uZ19uYW1lLCBhbGlhcywgZmlsZXNuYiwgaXRlbXMsIHBhcmVudDwvdGQ+PC90cj4NCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90OyA+PGk+IFdlbm4gPGI+JmFtcDsjMTIzOyRpdGVtLT5pdGVtdHlwZSZhbXA7IzEyNTs8L2I+ID0gPGk+ZmlsZTwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPml0ZW10eXBlJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD48aT5maWxlPC9pPjwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPm5hbWUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkRhdGVpbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5kZXNjcmlwdGlvbiZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+RGF0ZWktQmVzY2hyZWlidW5nPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPnNpemUmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkRhdGVpZ3Imb3VtbDsmc3psaWc7ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jb3VudGVyJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5aJmF1bWw7aGxlciwgd2llIG9mIGRpZXNlIERhdGVpIGhlcnVudGVyIGdlbGFkZW4gd3VyZGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+Y291bnRlcmxvY2FsZSZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+VGV4dDogJXMgbWFsIGhlcnVudGVyZ2VsYWRlbi48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+aGFzaCZhbXA7IzEyNTs8L2I+PC90ZD48dGQ+TWQ1LUhhc2gtV2VydDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5leHQmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkRhdGVpLUVuZHVuZy8tRXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jcmVhdGVkJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5aZWl0cHVua3QsIGFuIGRlbSBkaWUgRGF0ZWkgYXVmIGRlbiBTZXJ2ZXIgZ2VsYWRlbiB3dXJkZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5leHBpcmVzJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5BYmxhdWZkYXR1bSwgbmFjaCBkZW0gZGllc2UgRGF0ZWkgbmljaHQgbWVociB2ZXJmJnV1bWw7Z2JhciBpc3Q8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5jYXRlZ29yaWVzJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5LYXRlZ29yaWVuLCBkZW5lbiBkaWUgRGF0ZWkgenVnZW9yZG5ldCBpc3QgKHZlcmYmdXVtbDtnYmFyIGluIGRlciBBdXN3YWhsIHVuZCBpbSBEZXRhaWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JGl0ZW0tPmRvd25sb2FkJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5lcnpldWd0ZXIgTGluayB6dW0gSGVydW50ZXJsYWRlbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5ocmVmJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5ocmVmIGF1ZiBkaWUgaGVydW50ZXJ6dWxhZGVuZGUgRGF0ZWk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbS0+YWNjZXNzdHlwZXMmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPkFycmF5IGRlciBadWdyaWZmc3R5cGVuIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+JmFtcDsjMTIzOyRpdGVtLT5kZXRhaWwmYW1wOyMxMjU7PC9iPjwvdGQ+PHRkPmVyemV1Z3RlciBEZXRhaWwtTGluazwvdGQ+PC90cj4NCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpjZW50ZXI7JnF1b3Q7Pjxici8+PGk+SW0gZ2VzYW10ZW4gVGVtcGxhdGU6PC9pPjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+VmFyaWFibGU6PC9iPjwvdGQ+PHRkPjxiPldhcyBpc3QgZGFzPzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPiZhbXA7IzEyMzskaXRlbWNvdW50JmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5BbnphaGwgZGVyIEVpbnRyJmF1bWw7Z2UgaW4gJGl0ZW1zPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj4mYW1wOyMxMjM7JG5vZG93bmxvYWRzJmFtcDsjMTI1OzwvYj48L3RkPjx0ZD5IaW53ZWlzLCBkYXNzIGVzIGluIGRlciBnZXcmYXVtbDtobHRlbiBLYXRlZ29yaWUga2VpbmUgRGF0ZWllbiB6dW0gSGVydW50ZXJsYWRlbiBnaWJ0PC90ZD48L3RyPic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCAmcXVvdDtVc2UgRG93bmxvYWQgTWFuYWdlciZxdW90OyBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhLiA8YnIvPiBSZW1lbWJlciB0byBjcmVhdGUgZG93bmxvYWRzLyBkaXIgaW4gcm9vdCBjbXMgZGlyIGFuZCBnaXZlIGl0IDA3NzcgcGVybWlzc2lvbnMnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0Rvd25sb2FkIE1hbmFnZXIgdW5pbnN0YWxsJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdFdGVzIHZvdXMgcyZ1Y2lyYztyKGUpIGRlIHZvdWxvaXIgZCZlYWN1dGU7c2luc3RhbGxlciBjZSBtb2R1bGUgPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBkJmVhY3V0ZTtzaW5zdGFsbCZlYWN1dGU7Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgaW5zdGFsbCZlYWN1dGU7IHZlcmlvbnMgJXMnOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnUHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBkdSBtb2R1bGUgbWlzZXMgJmFncmF2ZTsgam91ci4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjJmVncmF2ZTtzIHJlZnVzJmVhY3V0ZTsuIFZldWlsbGV6IHYmZWFjdXRlO3JpZmllciB2b3MgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Rvd25sb2FkX2Vycm9yX21zZyddID0gJ0Vycm9yIG9jY3VyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGlzIGZpbGUnOwokbGFuZ1snbm9uZSddID0gJ0F1Y3VuJzsKJGxhbmdbJ3N1Ym1pdHJlcWVtYWlsJ10gPSAnQ2xpcXVleiBwb3VyIHJlY2V2b2lyIHVuIGxpZW4gcG91ciB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VyJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyZXVyICEnOwokbGFuZ1snYmFjayddID0gJ1JldG91cm5leiBlbiBhcnJpJmVncmF2ZTtyZS4nOwokbGFuZ1snYWN0aW9ucyddID0gJ0FjdGlvbnMgJzsKJGxhbmdbJ3Jvb3RjYXRlZ29yeSddID0gJ0NhdCZlYWN1dGU7Z29yaWUgcGFyZW50ZSc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSBtaXMgJmFncmF2ZTsgbml2ZWF1ICZhZ3JhdmU7IGxhIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ImZWFjdXRlO2dsYWdlcyBkdSBtb2R1bGUnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFubmVhdSBkJiMwMzk7YWRtaW5pc3RyYXRpb24gZHUgbW9kdWxlJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnRG93bmxvYWQgTWFuYWdlcic7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ1ZvdXMgZGV2ZXogZW50cmVyIHVuIG5vbS4nOwokbGFuZ1snbXVzdGxvZ2luJ10gPSAnVm91cyBkZXZleiB2b3VzIGF1dGhlbnRpZmllciBwb3VyIHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnZXIgY2UgZmljaGllciA6JzsKJGxhbmdbJ21heWFsc29sb2dpbiddID0gJ1ZvdXMgZGV2ZXogYXVzc2kgdm91cyBjb25uZWN0ZXIgcG91ciB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VyIGNlIGZpY2hpZXIgOic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NlIG1vZHVsZSBwZXJtZXQgZGUgZyZlYWN1dGU7cmVyIGxlcyB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VtZW50cy4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+QmllbnZlbnVlIGRhbnMgbGEgc2VjdGlvbiBkJiMwMzk7YWRtaW5pc3RyYXRpb24gZHUgbW9kdWxlIERvd25sb2FkTWFuYWdlci48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMSBhbHBoYSAtIGZpcnN0IGFscGhhPC9saT4NCjxsaT5WZXJzaW9uIDAuMiBiZXRhIC0gaXRlbSByZW9yZGVyIGFkZGVkPC9saT4NCjxsaT5WZXJzaW9uIDAuMyBiZXRhIC0gbWFraW5nIG1vZHVsZSBtb3JlIHVzZXItZnJpZW5kbHk8L2xpPg0KPGxpPlZlcnNpb24gMC40IC0gZml4ZWQgaW5zdGFsbCBidWcgd2hpY2ggdW5hYmxlcyBhc3NvY2lhdGlvbnMsIGFkZGVkIGFzc29jaWF0aW9ucyBpbiBmaWxlIGFkZGluZzwvbGk+DQo8bGk+VmVyc2lvbiAwLjguNCAtIGFkZGVkIGNhdGVnb3J5IHNlbGVjdG9yLCBmaXhlZCBzb21lIGJ1Z3M8L2xpPg0KPGxpPlZlcnNpb24gMS4wLXJjMSAgLSBhZGRlZCBpbnRlZ3JhdGlvbiB3aXRoIGZldSBtb2R1bGUgYW5kIHNlbmRpbmcgZmlsZSBsaW5rIGJ5IGVtYWlsLCBtYWRlIGNhdGVnb3JpZXMgd2Fsa2FibGUsIGRpZmZlcmVudCB0ZW1wbGF0ZXMgZm9yIGRpZmZlcmVudCBhY3Rpb24gdHlwZXMsIGNoYW5nZWQgY2F0ZWdvcnlfc2VsZWN0b3IgcGFyYW1ldGVyIGludG8gc2VsZWN0b3IsIHJlbW92ZWQgY2F0ZWdvcnkgcGFyYW1ldGVyLCBhZGRlZCBjYXRlZ29yeSBsaXN0IGZvciBmaWxlcyBpbiBzZWxlY3RvciwgYWRkZWQgYWxpYXNlcyB0byBmaWxlcyBhbmQgY2F0ZWdvcmllczwvbGk+DQo8bGk+VmVyc2lvbiAxLjEgIC0gYWRkZWQgdGhlIGZpbGVjaGFuZ2UgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjMgIC0gYWRkZWQgZG93bmxvYWQgY291bnRpbmc8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4NCjxwPkFsbG93cyB0byBtYW5hZ2UgRG93bmxvYWRzIGZyb20gYWRtaW4gcGFuZWwuPC9wPg0KPGgzPkNvbW1lbnQgJmNjZWRpbDthIG1hcmNoZSA/PC9oMz4NCjxwPkZpcnN0IG1ha2UgZG93bmxvYWRzLyBkaXJlY3RvcnkgaW4gcm9vdCBjbXMgZGlyZWN0b3J5LiBOZXh0IGdpdmUgaXQgMDc3NyBtb2RlLCBkZXBlbmRpbmcgb24gYXBhY2hlIGNvbmZpZ3VyYXRpb24gY291bGQgYmUgMDc3NSBvciAwNzU1LjwvcD4NCjxwPlRvIGFjY2VzIG1vZHVsZSBhZG1pbiBpbnRlcmZhY2UgZ28gdG8gQ29udGVudCAtPiBEb3dubG9hZCBNYW5hZ2VyLjwvcD4NCjxwPkluc3RhbGwgaXQgYnkgcGxhY2luZyB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7fS4gU2VlIG1vcmUgZXhhbXBsZXMgYmVsb3cuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuPC9wPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBTenltb24gxYF1a2FzemN6eWsgPGEgaHJlZj0ibWFpbHRvOnN6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbSI+PHN6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbT48L2E+ICZhbXA7IFBpZXJyZS1MdWMgR2VybWFpbiA8YSBocmVmPSJtYWlsdG86cGwuZ2VybWFpbkBnbWFpbC5jb20iPjxwbC5nZXJtYWluQGdtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5HZXJtYW4gdHJhbnNsYXRpb24gYnkgQ29ubmllIE0mdXVtbDtsbGVyLUcmb3VtbDtkZWNrZSA8YSBocmVmPSJtYWlsdG86Y29ubmllLm11ZWxsZXItZ29lZGVja2VAd2ViZGVlcm5zLmRlIj48Y29ubmllLm11ZWxsZXItZ29lZGVja2VAd2ViZGVlcm5zLmRlPjwvYT4uPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJ0FjdGlvbiBjaG9vc2VuLiBBY3Rpb25zIHBvc3NpYmxlcyA6IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IGFmZmljaGUgbGEgbGlzdGUgZGVzIGZpY2hpZXJzDQoJPGJyLz5wYXJhbSZlZ3JhdmU7dHJlcyBvcHRpb25uZWxzIDogPGVtPmNhdGVnb3J5aWQ8L2VtPiBvdSA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5QYXIgZXggOiAge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O0Rvd25sb2FkTWFuYWdlciYjMDM5OyBhbGlhcz0mIzAzOTttYS1jYXRlZ29yaWUmIzAzOTsgZGVwdGg9JiMwMzk7MiYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogcGVybWV0IGRlIHMmZWFjdXRlO2xlY3Rpb25uZXIgcGx1c2lldXJzIGNhdCZlYWN1dGU7Z29yaWVzLCB2b2lyIHNlbG9uIGxlcyBwYXJhbSZlZ3JhdmU7dHJlIGRlICZxdW90O3NlbGVjdG9yJnF1b3Q7DQoJPGJyLz5wYXJhbSZlZ3JhdmU7dHJlIHJlcXVpcyA6IDxlbT5zZWxlY3RvcjwvZW0+DQoJPGJyLz5wYXJhbSZlZ3JhdmU7dHJlIG9wdGlvbm5lbCA6IDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5QYXIgZXggOiAge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O0Rvd25sb2FkTWFuYWdlciYjMDM5OyBhY3Rpb249JiMwMzk7c2VsZWN0b3ImIzAzOTsgc2VsZWN0b3I9JiMwMzk7MyZhbXA7KDF8MikmIzAzOTsgfSA8L2xpPg0KPGxpPjxlbT5kZXRhaWw8L2VtPjogYWZmaWNoZSBsZXMgZCZlYWN1dGU7dGFpbHMgZHUgZmljaGllciBzJmVhY3V0ZTtsZWN0aW9ubiZlYWN1dGU7DQoJPGJyLz5wYXJhbSZlZ3JhdmU7dHJlIHJlcXVpcyA6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5wYXJhbSZlZ3JhdmU7dHJlIG9wdGlvbm5lbCA6IDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5QYXIgZXggOiAge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O0Rvd25sb2FkTWFuYWdlciYjMDM5OyBhY3Rpb249JiMwMzk7ZGV0YWlsJiMwMzk7IGFsaWFzPSYjMDM5O21vbi1maWNoaWVyJiMwMzk7IH0gPC9saT4NCjxsaT48ZW0+ZG93bmxvYWQ8L2VtPjogdCZlYWN1dGU7bCZlYWN1dGU7Y2hhcmdlIGxlIGZpY2hpZXIgcyZlYWN1dGU7bGVjdGlvbm4mZWFjdXRlOw0KCTxici8+cGFyYW0mZWdyYXZlO3RyZSByZXF1aXMgOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+cGFyYW0mZWdyYXZlO3RyZSBvcHRpb25uZWwgOiA8ZW0+dGVtcGxhdGU8L2VtPiANCgk8YnIvPlBhciBleCA6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkb3dubG9hZCYjMDM5OyBhbGlhcz0mIzAzOTttaW4tZmljaGllciYjMDM5OyB9IDwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX3BhcmFtX2NhdGVnb3J5aWQnXSA9ICdMJiMwMzk7aWQgZGUgbGEgY2F0JmVhY3V0ZTtnb3JpZSBlc3QgYWZmaWNoJmVhY3V0ZTsgZGFucyBsJiMwMzk7b25nbGV0IGNhdCZlYWN1dGU7Z29yaWVzLiBTaSBjJiMwMzk7ZXN0IGNlIHBhcmFtJmVncmF2ZTt0cmUgcXVpIGVzdCByZW5zZWlnbiZlYWN1dGU7LCBsYSBwYXJhbSZlZ3JhdmU7dHJlIGFsaWFzIG5lIHNlcmEgcGFzIHByaXMgZW4gY29tcHRlLic7CiRsYW5nWydoZWxwX3BhcmFtX2FsaWFzJ10gPSAnQ2F0ZWdvcnkgb3IgZmlsZSBhbGlhcy4nOwokbGFuZ1snaGVscF9wYXJhbV9kZXB0aCddID0gJ0FsbG93IHRvIHNwZWNpZnkgdGhlIGRlcHRoIG9mIHRyZWUgc2hvd24gYnkgZGVmYXVsdCBhY3Rpb24uIElmIG5vdCBzZXQgZnVsbCB0cmVlIHdpbGwgYmUgc2hvd24uJzsKJGxhbmdbJ2hlbHBfcGFyYW1fdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBuYW1lLiBJZiBub3QgZ2l2ZW4gdGhlIGRlZmF1bHQgdGVtcGxhdGUgZm9yIGN1cnJlbnQgYWN0aW9uIGlzIGFjdGlvbi9maWxlL2NhdGVnb3J5Lic7CiRsYW5nWydoZWxwX3BhcmFtX3NlbGVjdG9yJ10gPSAnVGhlIHNlbGVjdG9yIHdoaWNoIGFsbG93cyB0byBjaG9vc2UgbW9yZSB0aGFuIG9uZSBjYXRlZ29yeS4gVGhlIHNlbGVjdG9yIHN5bnRheCBjYW4gaGF2ZToNCjx1bD4NCjxsaT4mcXVvdDsmYW1wOyZxdW90OyAtIGludGVyc2VjdGlvbjwvbGk+DQo8bGk+JnF1b3Q7fCZxdW90OyAtIHN1bTwvbGk+DQo8bGk+Y2F0ZWdvcnkgaWQgKHlvdSBjYW4gc2VlIGl0IGluIGNhdGVnb3JpZXMgdGFiKTwvbGk+DQo8bGk+YWxsIG90aGVyIGNoYXJhY3RlcnMgd2lsbCBiZSBjbGVhbmVkIGJlZm9yZSBwYXJzaW5nPC9saT4NCjwvdWw+DQpGb3IgZXhhbXBsZSBzZWxlY3Rvcj0mcXVvdDszJmFtcDsoMXwyKSZxdW90OyB3aWxsIGNob29zZSBhbGwgZWxlbWVudHMgZnJvbSBjYXRlZ29yeSB3aXRoIGlkPTMgd2hpY2ggYXJlIGFsc28gaW4gc3VtIG9mIGNhdGVnb3J5IDEgYW5kIDIuIDxici8+DQpJZiBzZWxlY3RvciBpcyBzcGVjaWZpZWQgY2F0ZWdvcnkgcGFyYW1ldGVyIHdpbGwgPGI+bm90PC9iPiBiZSBwYXJzZWQuDQonOwokbGFuZ1snd3JvbmdhbGlhcyddID0gJ1dyb25nIGFsaWFzIGdpdmVuLic7CiRsYW5nWydkb3dubG9hZCddID0gJ0Rvd25sb2FkJzsKJGxhbmdbJ2Rvd25sb2FkaW5nJ10gPSAnVCZlYWN1dGU7bCZlYWN1dGU7Y2hhcmdlbWVudCBkZSAlcy4uLic7CiRsYW5nWydiYWNrdG9saXN0J10gPSAnUmV0b3VyICZhZ3JhdmU7IGxhIGxpc3RlIGRlcyBmaWNoaWVycy4nOwokbGFuZ1snZG93bmxvYWRpbmdfaW5mbyddID0gJ1lvdXIgZG93bmxvYWQgc2hvdWxkIGJlZ2luIHNob3J0bHkuIElmIHlvdSBlbmNvdW50ZXIgcHJvYmxlbXMsIHBsZWFzZSBjb250YWN0IHRoZSBXZWJtYXN0ZXIuJzsKJGxhbmdbJ25vZmlsZSddID0gJ05vIGZpbGUgZ2l2ZW4nOwokbGFuZ1snd3JvbmdmaWxlJ10gPSAnTWF1dmFpc2UgaWQgZHUgZmljaGllcic7CiRsYW5nWydub2FjY2VzcyddID0gJ1ZvdXMgbiYjMDM5O2F2ZXogcGFzIGFjYyZlZ3JhdmU7cyAmYWdyYXZlOyBjZSBmaWNoaWVyLic7CiRsYW5nWydkb3dubG9hZF9kaXInXSA9ICdEb3NzaWVyIGRlIHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnZW1lbnQnOwokbGFuZ1snd3lzaXd5Z19vbiddID0gJ1dZU0lXWUcgYWN0aXYmZWFjdXRlOyBkYW5zIGxlcyBvbmdsZXRzIGQmIzAzOTthZG1pbmlzdHJhdGlvbiBkdSBtb2R1bGUgPyc7CiRsYW5nWydkb3dubG9hZF9zY2FuJ10gPSAnRG9zc2llcnMgc2Nhbm4mZWFjdXRlO3MgKHMmZWFjdXRlO3BhciZlYWN1dGU7cyBwYXIgLyBleCA6ICZxdW90O2Rvc3NpZXIxLztkb3NzaWVyMi87ZG9zc2llcjMvJnF1b3Q7ICknOwokbGFuZ1snZG93bmxvYWRfc2Nhbl9yZWN1cnMnXSA9ICdTY2FubmVyIGxlcyBzb3VzLWRvc3NpZXJzID8nOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGUnXSA9ICdHYWJhcml0IGRlIHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnZW1lbnQnOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGVfaW5mbyddID0gJzx0YWJsZSBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmxlZnQ7JnF1b3Q7Pg0KPHRyPjx0ZD48Yj5WYXJpYWJsZTo8L2I+PC90ZD48dGQ+PGI+V2hhdCBpcyBpdD88L2I+PC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskZG93bmxvYWRpbmd9PC9iPjwvdGQ+PHRkPlRleHQ6IERvd25sb2FkaW5nICVzLi4uPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskZG93bmxvYWRpbmdfaW5mb308L2I+PC90ZD48dGQ+VGV4dDogWW91ciBkb3dubG9hZCBzaG91bGQgYmVnaW4gc2hvcnRseS4gSWYgeW91IGVuY291bnRlciBwcm9ibGVtcywgcGxlYXNlIGNvbnRhY3QgdGhlIFdlYm1hc3Rlci48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+e2Rvd25sb2FkX25hbWV9PC9iPjwvdGQ+PHRkPk5hbWUgb2YgY3VycmVudGx5IGRvd25sb2FkaW5nIGZpbGUuPC90ZD48L3RyPg0KPC90YWJsZT4NCic7CiRsYW5nWydkb3dubG9hZF9kaXJfbm90X3dyaXRhYmxlJ10gPSAnRG93bmxvYWQgZGlyZWN0b3J5ICglcykgaXMgbm90IHdyaXRhYmxlLCB0cnkgY2htb2QgNzc3Lic7CiRsYW5nWydkaXJfZG9udF9leGlzdHMnXSA9ICdEb3dubG9hZCBkaXJlY3RvcnkgKCVzKSBkb2VzIG5vdCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0Lic7CiRsYW5nWydzZWFyY2hfZXhwaXJlJ10gPSAnRXhwaXJlZCBhbmQgbm90IHN0YXJ0ZWQgZG93bmxvYWRzIGNhbiBhcHBlYXIgaW4gc2VhcmNoIHJlc3VsdHMnOwokbGFuZ1sndGh1bWJfZGlyJ10gPSAnRGlyZWN0b3J5IHRvIHNjYW4vc2F2ZSB0aHVtYm5haWxzLiBEZWZhdWx0OiAmcXVvdDtpbWFnZXMvRG93bmxvYWRNYW5hZ2VyVGh1bWJzLyZxdW90Oy4gRGlyZWN0b3J5IG11c3QgZXhpc3QnOwokbGFuZ1sndGh1bWJfc2l6ZSddID0gJ1RhaWxsZSBtYXhpbWFsZSBkZXMgdmlnbmV0dGVzJzsKJGxhbmdbJ3RodW1iX2F1dG8nXSA9ICdFc3NheWVyIGRlIGNyJmVhY3V0ZTtlciBkZXMgdmlnbmV0dGVzIGF1dG9tYXRpcXVlbWVudCA/JzsKJGxhbmdbJ25hbWVsYWJlbCddID0gJ05vbSc7CiRsYW5nWydjb3VudGVybGFiZWwnXSA9ICdDb21wdGV1ciBkZSB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VtZW50cyc7CiRsYW5nWydjb3VudGVybmJyJ10gPSAnVCZlYWN1dGU7bCZlYWN1dGU7Y2hhcmcmZWFjdXRlOyAlcyBmb2lzJzsKJGxhbmdbJ2FsaWFzbGFiZWwnXSA9ICdBbGlhcyc7CiRsYW5nWydzZWxlY3RvciddID0gJ0NhdGVnb3J5IHNlbGVjdG9yJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRyZSc7CiRsYW5nWydub2ZpbHRlciddID0gJ1BhcyBkZSBmaWx0cmUnOwokbGFuZ1snbm9zZWxlY3RvciddID0gJ05vIHNlbGVjdG9yJzsKJGxhbmdbJ2N1cnJlbnQnXSA9ICdDdXJyZW50JzsKJGxhbmdbJ3ZlcmJvc2UnXSA9ICd2ZXJib3NlJzsKJGxhbmdbJ2ZpbGVsYWJlbCddID0gJ0ZpY2hpZXInOwokbGFuZ1snZmlsZWRlbGV0ZWQnXSA9ICdGaWNoaWVyIGVmZmFjJmVhY3V0ZTsuJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICdVcGxvYWQgbmV3IGZpbGUnOwokbGFuZ1snYWxyZWFkeXVwbG9hZGVkJ10gPSAnVXNlIGFscmVhZHkgdXBsb2FkZWQgZmlsZSAod3JpdGUgdGhlIGV4YWN0IHBhdGggdG8gZmlsZSBmcm9tIGNtcyByb290IGRpcmVjdG9yeSknOwokbGFuZ1snZXh0ZXJuYWxmaWxlJ10gPSAnVXNlIGV4dGVybmFsIGZpbGUgYWNjZXNzaWJsZSB0aHJvdWdoIGh0dHAuIEZpbGUgd2lsbCBub3QgYmUgZG93bmxvYWRlZCB0byBzZXJ2ZXInOwokbGFuZ1snZmlsZWRvZXNudGV4aXN0cyddID0gJ0xlIGZpY2hpZXIgJSBuJiMwMzk7ZXhpc3RlIHBhcyBzdXIgbGUgc2VydmV1ci4nOwokbGFuZ1snY3VybGZhaWxlZCddID0gJ0N1cmwgcmVxdWVzdCBmYWlsZWQuJzsKJGxhbmdbJ2N1cmxkb2VzbnRleGlzdHMnXSA9ICdDdXJsIHBocCBleHRlbnNpb24gbmVlZGVkIGZvciBleHRlcm5hbCBsaW5rcyBub3QgcHJlc2VudC4nOwokbGFuZ1snc2VydmVyX25hbWVsYWJlbCddID0gJ05hbWUgb24gc2VydmVyJzsKJGxhbmdbJ2V4dGxhYmVsJ10gPSAnRXh0ZW5zaW9uICc7CiRsYW5nWydzaXplbGFiZWwnXSA9ICdUYWlsbGUnOwokbGFuZ1snaGFzaGxhYmVsJ10gPSAnSGFjaGFnZSBNZDUnOwokbGFuZ1snZGVzY3JpcHRpb25sYWJlbCddID0gJ0Rlc2NyaXB0aW9uICc7CiRsYW5nWydjcmVhdGVkbGFiZWwnXSA9ICdEYXRlIGRlIGNyJmVhY3V0ZTthdGlvbic7CiRsYW5nWydleHBpcmVzbGFiZWwnXSA9ICdFeHBpcmUnOwokbGFuZ1snbWFrZV90aHVtYmxhYmVsJ10gPSAnQ3ImZWFjdXRlO2VyIHVuZSB2aWduZXR0ZSBkZXMgaW1hZ2VzIHNpIHBvc3NpYmxlID8nOwokbGFuZ1sndGh1bWJsYWJlbCddID0gJ1ZpZ25ldHRlJzsKJGxhbmdbJ3N0YXJ0c2xhYmVsJ10gPSAnRCZlYWN1dGU7bWFycmUnOwokbGFuZ1sndmlzaWJsZWxhYmVsJ10gPSAnVmlzaWJsZSc7CiRsYW5nWyd1c2VleHBpcmF0aW9uJ10gPSAnVXRpbGlzZXIgdW5lIGRhdGUgZCYjMDM5O2V4cGlyYXRpb24nOwokbGFuZ1sndXNlc3RhcnQnXSA9ICdVdGlsaXNlciB1bmUgZGF0ZSBkZSBkJmVhY3V0ZTttYXJyYWdlJzsKJGxhbmdbJ2FkZGZpbGUnXSA9ICdOb3V2ZWF1IGZpY2hpZXInOwokbGFuZ1snc2NhbmZvcm5ld2ZpbGVzJ10gPSAnU2Nhbm5lciBwb3VyIHRyb3V2ZXIgZGUgbm91dmVhdXggZmljaGllcnMnOwokbGFuZ1snc2NhbnJlc3VsdCddID0gJ0Rvc3NpZXJzIHNjYW5uJmVhY3V0ZTtzIDogJXMgPGJyIC8+ICVzIG5ldyBmaWxlcyBsaXN0ZWQgYmVsb3cuIENob29zZSBmaWxlIHRvIGFkZC4nOwokbGFuZ1snc2Nhbm5vbmV3J10gPSAnSWwgbiYjMDM5O3kgYSBwYXMgZGUgbm91dmVhdXggZmljaGllcnMuJzsKJGxhbmdbJ25vZmlsZWdpdmVuJ10gPSAnSWwgbiYjMDM5O3kgYSBwYXMgZXUgZGUgZmljaGllcic7CiRsYW5nWydub3RoaW5ndXBsb2FkZWQnXSA9ICdObyBmaWxlIG9yIGVtcHR5IGZpbGUgd2FzIHVwbG9hZGVkLic7CiRsYW5nWyd1bmFibGV0b21vdmUnXSA9ICdVbmFibGUgdG8gbW92ZSBvciBjb3B5IHVwbG9hZGVkIGZpbGUuJzsKJGxhbmdbJ3R5cGVsYWJlbCddID0gJ1R5cGUnOwokbGFuZ1snZmlsZXN0YWJoZWFkZXInXSA9ICdGaWNoaWVycyc7CiRsYW5nWydmaWxlYWRkZWQnXSA9ICdGaWNoaWVyIGFqb3V0JmVhY3V0ZTsgYXZlYyBzdWNjJmVncmF2ZTtzJzsKJGxhbmdbJ2ZpbGVtb2RpZmllZCddID0gJ0ZpY2hpZXIgbW9kaWZpJmVhY3V0ZTsgYXZlYyBzdWNjJmVncmF2ZTtzJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZm9ybSddID0gJ0dhYmFyaXQgZHUgZm9ybXVsYWlyZSc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmRldGFpbCddID0gJ0dhYmFyaXQgZHUgZCZlYWN1dGU7dGFpbCc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmVtYWlsJ10gPSAnR2FiYXJpdCBkdSBjb3VycmllbCc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGUnXSA9ICdVc2UgdGhlIGRlZmF1bHQgdGVtcGxhdGUgKHNlZSB0ZW1wbGF0ZXMgdGFiKSc7CiRsYW5nWydmZXVncm91cHNsYWJlbCddID0gJ0dyb3VwZXMgRkVVIGF1dG9yaXMmZWFjdXRlO3MgJmFncmF2ZTsgYWNjJmVhY3V0ZTtkZXIgYXUgZmljaGllciwgc2kgYXVjdW4gZ3JvdXBlIG4mIzAzOTtlc3QgcyZlYWN1dGU7bGVjdGlvbm4mZWFjdXRlOywgdG91cyBsZXMgdXRpbGlzYXRldXJzIHNlcm9udCBhdXRvcmlzJmVhY3V0ZTtzJzsKJGxhbmdbJ2FjY2Vzc3R5cGUnXSA9ICdUeXBlIGQmIzAzOTthY2Nlc3MnOwokbGFuZ1snYWNjZXNzdHlwZV9mcmVlJ10gPSAnQWNjJmVncmF2ZTtzIGxpYnJlJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZmV1b25seSddID0gJ1V0aWxpc2F0ZXVycyBkdSBGRVUgc2V1bGVtZW50JzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZW1haWxvbmx5J10gPSAnQ291cnJpZWwgc2V1bGVtZW50JzsKJGxhbmdbJ2FjY2Vzc3R5cGVfbWl4ZWQnXSA9ICdGRVUgb3UgY291cnJpZWwnOwokbGFuZ1snZGV0YWlscyddID0gJ0QmZWFjdXRlO3RhaWxzJzsKJGxhbmdbJ2ZpbGVjaGFuZ2UnXSA9ICdDaGFuZ2VyIGNlIGZpY2hpZXIuJzsKJGxhbmdbJ2NoYW5nZWZpbGVpbmZvJ10gPSAnQ2hvb3NlIG5ldyBmaWxlIHRvIGNoYW5nZSB0aGUgY3VycmVudCAmcXVvdDslcyZxdW90OyAoYWxpYXM6JXMpIGZpbGUuIEFsbCBhc3NvY2lhdGlvbnMsIGxpbmtzLCBpbmZvIGFuZCBhbGlhcyB3aWxsIHN0YXkgdGhlIHNhbWUuJzsKJGxhbmdbJ2ZpbGVjaGFuZ2VkJ10gPSAnTGUgZmljaGllciBhIGJpZW4gJmVhY3V0ZTt0JmVhY3V0ZTsgcmVtcGxhYyZlYWN1dGU7JzsKJGxhbmdbJ2NoYW5nZW5hbWVsYWJlbCddID0gJ0NoYW5nZSB0aGUgZmlsZSBuYW1lIHRvIHRoZSBvbmUgZnJvbSBuZXcgZmlsZT8nOwokbGFuZ1snYWxsdGltZSddID0gJ1RvdXQgbGUgdGVtcHMnOwokbGFuZ1snYXZhaWxhYmxpdHknXSA9ICdEaXNwb25pYmlsaXQmZWFjdXRlOyc7CiRsYW5nWydub2FsaWFzJ10gPSAnTm8gc3VjaCBhbGlhcyBvciBkb3dubG9hZCBub3QgYXZhaWxhYmxlJzsKJGxhbmdbJ25vaGFzaCddID0gJ05vIHN1Y2ggaGFzaCBvciBkb3dubG9hZCBub3QgYXZhaWxhYmxlJzsKJGxhbmdbJ3dyb25ncGFyYW1zJ10gPSAnUGFyYW0mZWdyYXZlO3RyZXMgZXJyb24mZWFjdXRlO3MnOwokbGFuZ1snZmlsZW5vdGZvdW5kJ10gPSAnTGUgZmljaGllciAlcyBuJiMwMzk7YSBwYXMgJmVhY3V0ZTt0JmVhY3V0ZTsgdHJvdXYmZWFjdXRlOyc7CiRsYW5nWyd3cm9uZ2RhdGEnXSA9ICdXcm9uZyBkYXRhIGluIGRhdGFiYXNlIHJvdy4nOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdOb3V2ZWxsZSBjYXQmZWFjdXRlO2dvcmllJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0JmVhY3V0ZTtnb3JpZSc7CiRsYW5nWydwYXJlbnRfaWRsYWJlbCddID0gJ0NhdCZlYWN1dGU7Z29yaWUgcGFyZW50ZSc7CiRsYW5nWydjYXRlZ29yaWVzdGFiaGVhZGVyJ10gPSAnQ2F0JmVhY3V0ZTtnb3JpZXMnOwokbGFuZ1sncmVvcmRlcl9wcmlvcml0eSddID0gJ1ByaW9yaXQmZWFjdXRlOyAoLTk5Jm5ic3A7JmFncmF2ZTsmbmJzcDs5OSksICBiYXNzZSAtPiBoYXV0ZSAnOwokbGFuZ1snbm9kb3dubG9hZHMnXSA9ICdObyBkb3dubG9hZHMgaW4gdGhpcyBjYXRlZ29yeSc7CiRsYW5nWydmaWxlbmInXSA9ICclcyZuYnNwO2ZpY2hpZXIocyknOwokbGFuZ1snY2F0ZWdvcnlhZGRlZCddID0gJ0xhIGNhdCZlYWN1dGU7Z29yaWUgYSAmZWFjdXRlO3QmZWFjdXRlOyBham91dCZlYWN1dGU7ZSc7CiRsYW5nWydjYXRlZ29yeXVwZGF0ZWQnXSA9ICdMYSBjYXQmZWFjdXRlO2dvcmllIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgbWlzZSAmYWdyYXZlOyBqb3VyJzsKJGxhbmdbJ2NhdGVnb3J5ZGVsZXRlZCddID0gJ0xhIGNhdCZlYWN1dGU7Z29yaWUgYSAmZWFjdXRlO3QmZWFjdXRlOyBzdXBwcmltJmVhY3V0ZTtlJzsKJGxhbmdbJ2NhdGVnb3J5Y29udGVudHR5cGVmcmllbmRseSddID0gJ0Rvd25sb2FkIENhdGVnb3J5JzsKJGxhbmdbJ292ZXJhbGx0YWJoZWFkZXInXSA9ICdPdmVyYWxsJzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ10gPSAnQ2F0JmVhY3V0ZTtnb3JpZXMnOwokbGFuZ1snYWRkYXNzb2MnXSA9ICdBam91dGVyICZhZ3JhdmU7IGxhIGNhdGcmZWFjdXRlO29yaWUnOwokbGFuZ1snd3JvbmdjYXRlZ29yeXNlbCddID0gJ0NhdGVnb3J5IHNlbGVjdG9yIHBhcnNlIGVycm9yLiA8YnIgLz4gU2VsZWN0b3IgYWZ0ZXIgY2xlYW5pbmc6ICVzJzsKJGxhbmdbJ25vY2F0ZWdvcnlzZWwnXSA9ICdDYXRlZ29yeSBzZWxlY3RvciBub3Qgc2V0Lic7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5J10gPSAnU2VsZWN0ZWQgY2F0ZWdvcnkgZG9lcyBub3QgZXhpc3RzLic7CiRsYW5nWydzZW5kZW1haWwnXSA9ICdMaWVuIGRlIHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnZW1lbnQgcGFyIGNvdXJyaWVsJzsKJGxhbmdbJ3Byb21wdF9maXJzdG5hbWUnXSA9ICdQciZlYWN1dGU7bm9tJzsKJGxhbmdbJ3Byb21wdF9sYXN0bmFtZSddID0gJ05vbSc7CiRsYW5nWydwcm9tcHRfZW1haWwnXSA9ICdDb3VycmllbCc7CiRsYW5nWydwcm9tcHRfbWFpbGluZ2xpc3QnXSA9ICdKZSB2ZXV4ICZlY2lyYzt0cmUgdGVudSBhdSBjb3VyYW50IGRlcyBub3V2ZWF1eCBmaWNoaWVycyBldCBkZXMgaW5mb3JtYXRpb25zIGltcG9ydGFudGVzJzsKJGxhbmdbJ2VtYWlsc2VudCddID0gJ0FuIGVtYWlsIGNvbnRhaW5pbmcgdGhlIGRvd25sb2FkIGxpbmsgd2FzIHNlbnQgdG8gdGhlIHNwZWNpZmllZCBhZGRyZXNzLic7CiRsYW5nWydjb3VsZG5vdHNlbmQnXSA9ICdUaGVyZSB3YXMgYW4gZXJyb3Igd2l0aCB5b3VyIHJlcXVlc3QsIGFuZCB0aGUgZW1haWwgY291bGQgbm90IGJlIHNlbnQuJzsKJGxhbmdbJ2ludmFsaWRlbWFpbCddID0gJ1RoZSBlbWFpbCB5b3UgaGF2ZSBlbnRlcmVkIGlzIGludmFsaWQuIFdpdGhvdXQgYSB2YWxpZCBlbWFpbCwgd2UgY2Fubm90IHNlbmQgeW91IGEgZG93bmxvYWQgbGluaywgYW5kIHlvdSBjYW5ub3QgZG93bmxvYWQgdGhlIGZpbGUuJzsKJGxhbmdbJ3BsZWFzZV9uYW1lJ10gPSAnVmV1aWxsZXogZW50cmVyIHZvdHJlIG5vbS4nOwokbGFuZ1sncGxlYXNlX2VtYWlsJ10gPSAnVmV1aWxsZXogZW50cmVyIHZvdHJlIGNvdXJyaWVsLiBMZSBsaWVuIGRlIHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnZW1lbnQgdm91cyBzZXJhIGVudm95JmVhY3V0ZTsgJmFncmF2ZTsgY2V0dGUgYWRyZXNzZS4nOwokbGFuZ1snYWRkdGVtcGxhdGUnXSA9ICdOb3V2ZWF1IGdhYmFyaXQnOwokbGFuZ1snbGlzdHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyB0byBkaXNwbGF5IGxpc3RzIG9mIGNhdGVnb3JpZXMgb3IgZmlsZXMnOwokbGFuZ1snYWRkbGlzdHRlbXBsYXRlJ10gPSAnTmV3IExpc3QgVGVtcGxhdGUnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIHRvIGRpc3BsYXkgdGhlIGRldGFpbHMgb2YgYSBmaWxlJzsKJGxhbmdbJ2FkZGRldGFpbHRlbXBsYXRlJ10gPSAnTm91dmVhdSBnYWJhcml0IGRlIGQmZWFjdXRlO3RhaWwnOwokbGFuZ1snZm9ybXRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmb3IgdGhlIGZvcm0gdG8gcmVxdWVzdCBhIGRvd25sb2FkIGxpbmsgYnkgbWFpbCc7CiRsYW5nWydhZGRmb3JtdGVtcGxhdGUnXSA9ICdOb3V2ZWF1IGdhYmFyaXQgcG91ciBsZSBmb3JtdWxhaXJlJzsKJGxhbmdbJ2VtYWlsdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIGZvciBlbWFpbHMgc2VudCB3aXRoIGRvd25sb2FkIGxpbmsnOwokbGFuZ1snYWRkZW1haWx0ZW1wbGF0ZSddID0gJ05vdXZlYXUgZ2FiYXJpdCBwb3VyIGxlIGNvcnBzIGR1IGNvdXJyaWVsJzsKJGxhbmdbJ3Byb21wdF9kZWxldGV0ZW1wbGF0ZSddID0gJ0V0ZXMtdm91cyBzJnVjaXJjO3IoZSkgZGUgdm91bG9pciBlZmZhY2VyIGxlIGdhYmFyaXQgJXM/JzsKJGxhbmdbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCc7CiRsYW5nWydjb250ZW50bGFiZWwnXSA9ICdDb250ZW51JzsKJGxhbmdbJ3RlbXBsYXRlX25hbWVsYWJlbCddID0gJ05vbSc7CiRsYW5nWyd0ZW1wbGF0ZWFkZGVkJ10gPSAnVGhlIHRlbXBsYXRlIHdhcyBzdWNjZXNzZnVsbHkgYWRkZWQuJzsKJGxhbmdbJ3RlbXBsYXRldXBkYXRlZCddID0gJ1RoZSB0ZW1wbGF0ZSB3YXMgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuJzsKJGxhbmdbJ3RlbXBsYXRlZGVsZXRlZCddID0gJ1RoZSB0ZW1wbGF0ZSB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQuJzsKJGxhbmdbJ3dyb25ndGVtcGxhdGUnXSA9ICdXcm9uZyB0ZW1wbGF0ZSBzcGVjaWZpZWQuJzsKJGxhbmdbJ2FscmVhZHlleGlzdCddID0gJ1RoZXJlIGlzIGFscmVhZHkgYSB0ZW1wbGF0ZSBieSB0aGF0IG5hbWUuJzsKJGxhbmdbJ2dlbmVyYWxfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGJhY2t0b2xpc3RsaW5rfTwvYj48L3RkPjx0ZD5SZXR1cm4gYmFjayBpbiBoaXN0b3J5IGxpbms8L3RkPjwvdHI+DQonOwokbGFuZ1snZmlsZWl0ZW1fdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCic7CiRsYW5nWydkZXRhaWxfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKG9ubHkgd2hlbiBjYXRlZ29yeSBzZWxlY3RvciBpcyB1c2VkKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kb3dubG9hZH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmFjY2Vzc3R5cGVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmdzIChzYW1lIGFycmF5IGFzIGluIHN1YmNhdGVnb3JpZXMpPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2Zvcm1fdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90Oz48aT5JbnB1dHM8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRmaXJzdG5hbWVfaW5wdXR9PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRsYXN0bmFtZV9pbnB1dH08L2I+PC90ZD48dGQ+bGFzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZW1haWxfaW5wdXR9PC9iPjwvdGQ+PHRkPmVtYWlsPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG1haWxpbmdsaXN0X2lucHV0fTwvYj48L3RkPjx0ZD5tYWlsaW5nbGlzdCBjaGVja2JveDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRzdWJtaXR9PC9iPjwvdGQ+PHRkPnN1Ym1pdDwvdGQ+PC90cj4NCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+TGFiZWxzPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskZmlyc3RuYW1lX2xhYmVsfTwvYj48L3RkPjx0ZD5maXJzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbGFzdG5hbWVfbGFiZWx9PC9iPjwvdGQ+PHRkPmxhc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGVtYWlsX2xhYmVsfTwvYj48L3RkPjx0ZD5lbWFpbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRtYWlsaW5nbGlzdF9sYWJlbH08L2I+PC90ZD48dGQ+bWFpbGluZ2xpc3QgY2hlY2tib3g8L3RkPjwvdHI+DQonOwokbGFuZ1snZW1haWxfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGZpcnN0bmFtZX08L2I+PC90ZD48dGQ+Zmlyc3RuYW1lIG9mIHVzZXIgZG93bmxvYWRpbmcgdGhlIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbGFzdG5hbWV9PC9iPjwvdGQ+PHRkPmxhc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGR1cmx9PC9iPjwvdGQ+PHRkPmxpbmsgZm9yIGRvd25sb2FkaW5nIHRoZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGRocmVmfTwvYj48L3RkPjx0ZD51cmkgZm9yIGRvd25sb2FkaW5nIHRoZSBmaWxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQonOwokbGFuZ1snbGlzdF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmNlbnRlcjsmcXVvdDs+PGJyLz48aT4gSW4gdGhlIHtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbX0gbG9vcDo8L2k+PC90aD48L3RyPg0KPHRyPjx0aD5WYXJpYWJsZTo8L3RoPjx0aD5XaGF0IGlzIGl0PzwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5pdGVtbGV2ZWx9PC9iPjwvdGQ+PHRkPmFjdHVhbCBjYXRlZ29yeS1sZXZlbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5yb3djbGFzc308L2I+PC90ZD48dGQ+cm93MSBvciByb3cyIGRlcGVuZGluZyBvbiBwYXJpdHk8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+IFdoZW4gPGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+ID0gPGk+aGVhZGVyPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPjwvdGQ+PHRkPjxpPmhlYWRlcjwvaT48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+Y2F0ZWdvcnkgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+Y2F0ZWdvcnkgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c3ViY2F0ZWdvcmllc308L2I+PC90ZD48dGQ+YXJyYXkgb2Ygc3ViY2F0ZWdvcmllcywgZWFjaCBzdWJjYXRlZ29yeSBoYXMgZWxlbWVudHM6IGlkLCBuYW1lLCBsb25nX25hbWUsIGFsaWFzLCBmaWxlc25iLCBpdGVtcywgcGFyZW50PC90ZD48L3RyPg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7ID48aT4gV2hlbiA8Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj4gPSA8aT5maWxlPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPjwvdGQ+PHRkPjxpPmZpbGU8L2k+PC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZyAob25seSB3aGVuIGNhdGVnb3J5IHNlbGVjdG9yIGlzIHVzZWQpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZG93bmxvYWQgbGluazwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5ocmVmfTwvYj48L3RkPjx0ZD5ocmVmIHRvIGZpbGUgZG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIGFjY2VzcyB0eXBlcyAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+YXJyYXkgb2YgY2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZ3MgKHNhbWUgYXJyYXkgYXMgaW4gc3ViY2F0ZWdvcmllcyk8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkZXRhaWwgbGluazwvdGQ+PC90cj4NCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpjZW50ZXI7JnF1b3Q7Pjxici8+PGk+SW4gd2hvbGUgdGVtcGxhdGU6PC9pPjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+VmFyaWFibGU6PC9iPjwvdGQ+PHRkPjxiPldoYXQgaXMgaXQ/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtY291bnR9PC9iPjwvdGQ+PHRkPm51bWJlciBvZiBpdGVtcyBpbiAkaXRlbXM8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbm9kb3dubG9hZHN9PC9iPjwvdGQ+PHRkPm1lc3NhZ2UgdGhlbiB0aGVyZSBhcmUgbm8gZG93bmxvYWRzIGluIHNlbGVjdGVkIGNhdGVnb3J5PC90ZD48L3RyPg0KJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE3NzYxODc0NTktMTI4Nzc1ODE4Nzc3Nyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjEyNDI3MjM3MjMuMTI5NzM0Mjk0OS4xMjk5NTEwNTA4LjEyOTk1MTMzODcuMTAnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjk5NTEzMzg3LjEwLjEwLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdBY2NlcnRhdGV2aSBkaSBhdmVyZSBpbXBvc3RhdG8gaSBwZXJtZXNzaSAmcXVvdDtVc2UgRG93bmxvYWQgTWFuYWdlciZxdW90OyBwZXIgdXRpbGl6emFyZSBxdWVzdG8gbW9kdWxvISA8YnIvPiBSaWNvcmRhdGUgZGkgY3JlYXJlIHVuYSBjYXJ0ZWxsYSBkb3dubG9hZHMvIG5lbGxhIHJvb3QgZGVsIGNtcyBlIGF0dHJpYnVpcmdsaSBwZXJtZXNzaSAwNzc3JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEaXNpbnN0YWxsYXJlIERvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1ZlcmFtZW50ZT8gVm9sZXRlIGRhdnZlcm8gZGlzaW5zdGFsbGFyZSBxdWVzdG8gYmVsIG1vZHVsbz8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bG8gRGlzaW5zdGFsbGF0byc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdWZXJzaW9uZSAlcyBkZWwgTW9kdWxvIEluc3RhbGxhdGEuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ1ByZWZlcmVuemEgTW9kdWxvIEFnZ2lvcm5hdGUuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2Vzc28gTmVnYXRvLiBWZXJpZmljYXRlIGkgdm9zdHJpIHBlcm1lc3NpLic7CiRsYW5nWydkb3dubG9hZF9lcnJvcl9tc2cnXSA9ICdFcnJvcmUgZHVyYW50ZSBsJiMwMzk7ZWxhYm9yYXppb25lIGRlbCBmaWxlJzsKJGxhbmdbJ25vbmUnXSA9ICdOZXNzdW5vJzsKJGxhbmdbJ3N1Ym1pdHJlcWVtYWlsJ10gPSAnSW52aWFyZSBwZXIgcmljZXZlcmUgaWwgbGluayBkYSBzY2FyaWNhcmUnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvcmUhJzsKJGxhbmdbJ2JhY2snXSA9ICdUb3JuYSBpbmRpZXRybyc7CiRsYW5nWydhY3Rpb25zJ10gPSAnQXppb25pJzsKJGxhbmdbJ3Jvb3RjYXRlZ29yeSddID0gJ0NhdGVnb3JpYSBiYXNlJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxvIGFnZ2lvcm5hdG8gYWxsYSB2ZXJzaW9uZSAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnUHJlZmVyZW56ZSBNb2R1bG8nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFubmVsbG8gZGkgQW1taW5pc3RyYXppb25lIE1vZHVsbyc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdEb3ZldGUgaW5zZXJpcmUgdW4gbm9tZS4nOwokbGFuZ1snbXVzdGxvZ2luJ10gPSAnRG92ZXRlIGFjY2VkZXJlIHBlciBwb3RlcmUgc2NhcmljYXJlIHF1ZXN0byBmaWxlOjonOwokbGFuZ1snbWF5YWxzb2xvZ2luJ10gPSAnUG90ZXRlIGFuY2hlIGFjY2VkZXJlIHBlciBzY2FyaWNhcmUgcXVlc3RvIGZpbGU6JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnUXVlc3RvIG1vZHVsbyBwZXJtZXR0ZSBkaSBnZXN0aXJlIGkgZG93bmxvYWQuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPkJlbnZlbnV0aSBhbGxhIHNlemlvbmUgYW1taW5pc3RyYXppb25lIGRlbCBEb3dubG9hZE1hbmFnZXIuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjEgYWxwaGEgLSBmaXJzdCBhbHBoYTwvbGk+DQo8bGk+VmVyc2lvbiAwLjIgYmV0YSAtIGl0ZW0gcmVvcmRlciBhZGRlZDwvbGk+DQo8bGk+VmVyc2lvbiAwLjMgYmV0YSAtIG1ha2luZyBtb2R1bGUgbW9yZSB1c2VyLWZyaWVuZGx5PC9saT4NCjxsaT5WZXJzaW9uIDAuNCAtIGZpeGVkIGluc3RhbGwgYnVnIHdoaWNoIHVuYWJsZXMgYXNzb2NpYXRpb25zLCBhZGRlZCBhc3NvY2lhdGlvbnMgaW4gZmlsZSBhZGRpbmc8L2xpPg0KPGxpPlZlcnNpb24gMC44LjQgLSBhZGRlZCBjYXRlZ29yeSBzZWxlY3RvciwgZml4ZWQgc29tZSBidWdzPC9saT4NCjxsaT5WZXJzaW9uIDEuMC1yYzEgIC0gYWRkZWQgaW50ZWdyYXRpb24gd2l0aCBmZXUgbW9kdWxlIGFuZCBzZW5kaW5nIGZpbGUgbGluayBieSBlbWFpbCwgbWFkZSBjYXRlZ29yaWVzIHdhbGthYmxlLCBkaWZmZXJlbnQgdGVtcGxhdGVzIGZvciBkaWZmZXJlbnQgYWN0aW9uIHR5cGVzLCBjaGFuZ2VkIGNhdGVnb3J5X3NlbGVjdG9yIHBhcmFtZXRlciBpbnRvIHNlbGVjdG9yLCByZW1vdmVkIGNhdGVnb3J5IHBhcmFtZXRlciwgYWRkZWQgY2F0ZWdvcnkgbGlzdCBmb3IgZmlsZXMgaW4gc2VsZWN0b3IsIGFkZGVkIGFsaWFzZXMgdG8gZmlsZXMgYW5kIGNhdGVnb3JpZXM8L2xpPg0KPGxpPlZlcnNpb24gMS4xICAtIGFkZGVkIHRoZSBmaWxlY2hhbmdlIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPlZlcnNpb24gMS4yICAtIGFkZGVkIHNjYW5uaW5nIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPlZlcnNpb24gMS4zICAtIGFkZGVkIGRvd25sb2FkIGNvdW50aW5nPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPkFsbG93cyB0byBtYW5hZ2UgRG93bmxvYWRzIGZyb20gYWRtaW4gcGFuZWwuPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5GaXJzdCBtYWtlIGRvd25sb2Fkcy8gZGlyZWN0b3J5IGluIHJvb3QgY21zIGRpcmVjdG9yeS4gTmV4dCBnaXZlIGl0IDA3NzcgbW9kZSwgZGVwZW5kaW5nIG9uIGFwYWNoZSBjb25maWd1cmF0aW9uIGNvdWxkIGJlIDA3NzUgb3IgMDc1NS48L3A+DQo8cD5UbyBhY2NlcyBtb2R1bGUgYWRtaW4gaW50ZXJmYWNlIGdvIHRvIENvbnRlbnQgLT4gRG93bmxvYWQgTWFuYWdlci48L3A+DQo8cD5JbnN0YWxsIGl0IGJ5IHBsYWNpbmcgdGhlIG1vZHVsZSBpbiBhIHBhZ2Ugb3IgdGVtcGxhdGUgdXNpbmcgdGhlIHNtYXJ0eSB0YWcge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O0Rvd25sb2FkTWFuYWdlciYjMDM5O30uIFNlZSBtb3JlIGV4YW1wbGVzIGJlbG93LjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LjwvcD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+VHJhbnNsYXRpb25zPC9oMz4NCjxwPk5ld2VzdCB0cmFuc2xhdGlvbnMgYXJlIGFsd2F5cyBhdmFpbGFibGUgYXQNCjxhIGhyZWY9Imh0dHA6Ly9zdm4uY21zbWFkZXNpbXBsZS5vcmcvc3ZuL3RyYW5zbGF0ZWNlbnRlci9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9sYW5nL2V4dC8iIHRpdGxlPSJEb3dubG9hZCBtYW5hZ2VyIHRyYW5sYXRpb25zIj5odHRwOi8vc3ZuLmNtc21hZGVzaW1wbGUub3JnL3N2bi90cmFuc2xhdGVjZW50ZXIvbW9kdWxlcy9Eb3dubG9hZE1hbmFnZXIvbGFuZy9leHQvPC9hPjwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBTenltb24gxYF1a2FzemN6eWsgPGEgaHJlZj0ibWFpbHRvOnN6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbSI+PHN6eW1vbi5sdWthc3pjenlrQGdtYWlsLmNvbT48L2E+ICZhbXA7IFBpZXJyZS1MdWMgR2VybWFpbiA8YSBocmVmPSJtYWlsdG86cGwuZ2VybWFpbkBnbWFpbC5jb20iPjxwbC5nZXJtYWluQGdtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5HZXJtYW4gdHJhbnNsYXRpb24gYnkgQ29ubmllIE0mdXVtbDtsbGVyLUcmb3VtbDtkZWNrZSA8YSBocmVmPSJtYWlsdG86Y29ubmllLm11ZWxsZXItZ29lZGVja2VAd2ViZGVlcm5zLmRlIj48Y29ubmllLm11ZWxsZXItZ29lZGVja2VAd2ViZGVlcm5zLmRlPjwvYT4uPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gJ0FjdGlvbiBjaG9vc2VuLiBQb3NzaWJsZSBhY3Rpb25zOiANCjx1bD4NCjxsaT48ZW0+ZGVmYXVsdDwvZW0+OiBzaG93cyBmaWxlIGxpc3QNCgk8YnIvPm9wdGlvbmFsIHBhcmFtZXRlcnM6IDxlbT5jYXRlZ29yeWlkPC9lbT4gb3IgPGVtPmFsaWFzPC9lbT4sIDxlbT5kZXB0aDwvZW0+LCA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFsaWFzPSYjMDM5O215LWNhdGVnb3J5JiMwMzk7IGRlcHRoPSYjMDM5OzImIzAzOTt9IDwvbGk+DQo8bGk+PGVtPnNlbGVjdG9yPC9lbT46IGFsbG93IHRvIHNlbGVjdCBtdWx0aXBsZSBjYXRlZ29yaWVzLCBzZWUgc2VsZWN0b3IgcGFyYW1ldGVyDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+c2VsZWN0b3I8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4NCgk8YnIvPmV4OiAge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O0Rvd25sb2FkTWFuYWdlciYjMDM5OyBhY3Rpb249JiMwMzk7c2VsZWN0b3ImIzAzOTsgc2VsZWN0b3I9JiMwMzk7MyZhbXA7KDF8MikmIzAzOTsgfSA8L2xpPg0KPGxpPjxlbT5kZXRhaWw8L2VtPjogc2hvd3MgZGV0YWlscyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4NCgk8YnIvPmV4OiAge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O0Rvd25sb2FkTWFuYWdlciYjMDM5OyBhY3Rpb249JiMwMzk7ZGV0YWlsJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPGxpPjxlbT5kb3dubG9hZDwvZW0+OiBkb3dubG9hZHMgb2Ygc2VsZWN0ZWQgZmlsZQ0KCTxici8+cmVxdWlyZWQgcGFyYW1ldGVyczogPGVtPmFsaWFzPC9lbT4NCgk8YnIvPm9wdGlvbmFsIHBhcmFtZXRlcnM6IDxlbT50ZW1wbGF0ZTwvZW0+IA0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkb3dubG9hZCYjMDM5OyBhbGlhcz0mIzAzOTtteS1maWxlJiMwMzk7IH0gPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnlpZCddID0gJ2lkIENhdGVnb3JpYSwgcHUmb2dyYXZlOyBlc3NlcmUgdHJvdmF0byBuZWwgcGFubmVsbG8gY2F0ZWdvcmllLiBTZSBzZWxlemlvbmF0bywgbm9uIHZpZW5lIHRlbnV0byBjb24gdG8gZGVsbCYjMDM5O2FsaWFzLic7CiRsYW5nWydoZWxwX3BhcmFtX2FsaWFzJ10gPSAnQ2F0ZWdvcmlhIG8gYWxpYXMgZGVsIGZpbGUuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVwdGgnXSA9ICdQZXJtZXR0ZSBkaSBzcGVjaWZpY2FyZSBsYSBwcm9mb25kaXQmYWdyYXZlOyBkZWwgcGVyY29yc28gdmlzdWFsaXp6YXRvIHBlciBhemlvbmUgcHJlZGVmaW5pdGEuIFNlIG5vbiBpbXBvc3RhdG8gdmVyciZhZ3JhdmU7IHZpc3VhbGl6emF0byBpbCBwZXJjb3JzbyBjb21wbGV0by4nOwokbGFuZ1snaGVscF9wYXJhbV90ZW1wbGF0ZSddID0gJ05vbWUgZGVsIE1vZGVsbG8uIFNlIG5vbiBmb3JuaXRvLCBpbCBtb2RlbGxvIHByZWRlZmluaXRvIHBlciBxdWVzdGEgYXppb25lICZlZ3JhdmU7IGF6aW9uZS9maWxlL2NhdGVnb3JpYS4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWxlY3RvciddID0gJ0lsIHNlbGV0dG9yZSBjaGUgcGVybWV0dGUgZGkgc2NlZ2xpZXJlIHBpJnVncmF2ZTsgZGkgdW5hIGNhdGVnb3JpYS4gTGEgc2ludGFzc2kgZGVsIHNlbGV0dG9yZSBwdSZvZ3JhdmU7IHByZXZlZGVyZToNCjx1bD4NCjxsaT4mcXVvdDsmYW1wOyZxdW90OyAtIGludGVyc2V6aW9uZTwvbGk+DQo8bGk+JnF1b3Q7fCZxdW90OyAtIHNvbW1hPC9saT4NCjxsaT5jYXRlZ29yeSBpZCAoJmVncmF2ZTsgcG9zc2liaWxlIHZlZGVybG8gbmVsIHBhbm5lbGxvIGNhdGVnb3JpZSk8L2xpPg0KPGxpPm9nbmkgYWx0cm8gY2FyYXR0ZXJlIHZlcnImYWdyYXZlOyBlbGltaW5hdG8gcHJpbWEgZGVsbCYjMDM5O2VsYWJvcmF6aW9uZTwvbGk+DQo8L3VsPg0KQWQgZXNlbXBpbywgc2VsZXR0b3JlPSZxdW90OzMmYW1wOygxfDIpJnF1b3Q7IHNjZWdsaWVyJmFncmF2ZTsgdHV0dGkgZ2xpIGVsZW1lbnRpIGRhbGxhIGNhdGVnb3JpYSBjb24gaWQ9MyBjaGUgc29ubyBhbmNoZSBsYSBzb21tYSBkZWxsZSBjYXRlZ29yaWUgMSBlIDIuIDxici8+DQpTZSAmZWdyYXZlOyBzcGVjaWZpY2F0byB1biBzZWxldHRvcmUsIGlsIHBhcmFtZXRybyBjYXRlZ29yaWEgPGI+bm9uPC9iPiB2ZXJyJmFncmF2ZTsgZWxhYm9yYXRvLg0KJzsKJGxhbmdbJ3dyb25nYWxpYXMnXSA9ICdBbGlhcyBFcnJhdG8nOwokbGFuZ1snZG93bmxvYWQnXSA9ICdTY2FyaWNhJzsKJGxhbmdbJ2Rvd25sb2FkaW5nJ10gPSAnU3RvIHNjYXJpY2FuZG8gJXMuLi4nOwokbGFuZ1snYmFja3RvbGlzdCddID0gJ1Rvcm5hIGFsbGEgbGlzdGEgZGVpIGZpbGUuJzsKJGxhbmdbJ2Rvd25sb2FkaW5nX2luZm8nXSA9ICdJbCB2b3N0cm8gZG93bmxvYWQgZG92cmViYmUgaW5pemlhcmUgYSBicmV2ZS4gU2UgaW5jb250cmF0ZSBwcm9ibGVtaSBjb250YXR0YXRlIGlsIHdlYm1hc3Rlci4nOwokbGFuZ1snbm9maWxlJ10gPSAnTmVzc3VuIGZpbGUgZm9ybml0byc7CiRsYW5nWyd3cm9uZ2ZpbGUnXSA9ICdJZGVudGlmaWNhdG9yZSBkZWwgZmlsZSBlcnJhdG8uJzsKJGxhbmdbJ25vYWNjZXNzJ10gPSAnTm9uIGF2ZXRlIGkgcHJpdmlsZWdpIHBlciBhY2NlZGVyZSBhIHF1ZXN0byBmaWxlJzsKJGxhbmdbJ2Rvd25sb2FkX2RpciddID0gJ0NhcnRlbGxhIGRpIERvd25sb2FkJzsKJGxhbmdbJ3d5c2l3eWdfb24nXSA9ICdXWVNJV1lHIGF0dGl2YXRvIG5lbGxhIGFtbWluaXN0cmF6aW9uZT8nOwokbGFuZ1snZG93bmxvYWRfc2NhbiddID0gJ0NhcnRlbGxlIHNjYW5zaW9uYXRlIChzZXBhcmF0ZSBkYSBwdW50byBlIHZpcmdvbGEsIGVzOiAmcXVvdDtkaXIxLztkaXIyLztkaXIzLyZxdW90OyApJzsKJGxhbmdbJ2Rvd25sb2FkX3NjYW5fcmVjdXJzJ10gPSAnQ2VyY2EgbmVsbGUgc290dG9jYXJ0ZWxsZT8nOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIGRpIERvd25sb2FkJzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlX2luZm8nXSA9ICc8dGFibGUgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpsZWZ0OyZxdW90Oz4NCjx0cj48dGQ+PGI+VmFyaWFiaWxlOjwvYj48L3RkPjx0ZD48Yj5Db3MmIzAzOTsmYW1wO2VncmF2ZTs8L2I+PC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskZG93bmxvYWRpbmd9PC9iPjwvdGQ+PHRkPlRlc3RvOiBTdG8gc2NhcmljYW5kbyAlcy4uLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nX2luZm99PC9iPjwvdGQ+PHRkPlRlc3RvOiBJbCB2b3N0cm8gZG93bmxvYWQgZG92cmViYmUgaW5pemlhcmUgYSBicmV2ZS4gU2UgaW5jb250cmF0ZSBwcm9ibGVtaSBjb250YXR0YXRlIGlsIHdlYm1hc3Rlci48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRkb3dubG9hZF9uYW1lfTwvYj48L3RkPjx0ZD5Ob21lIGRlbCBmaWxlIGNoZSBzaSBzdGEgc2NhcmljYW5kbzwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGJhY2t0b2xpc3RsaW5rfTwvYj48L3RkPjx0ZD5Ub3JuYSBhbGxhIGxpc3RhIGRlaSBmaWxlPC90ZD48L3RyPg0KPC90YWJsZT4NCic7CiRsYW5nWydkb3dubG9hZF9kaXJfbm90X3dyaXRhYmxlJ10gPSAnTGEgY2FydGVsbGEgZGkgRG93bmxvYWQgKCVzKSBub24gJmVncmF2ZTsgc2NyaXZpYmlsZSwgcHJvdmF0ZSBhIGltcG9zdGFyZSBjaG1vZCA3NzcuJzsKJGxhbmdbJ2Rpcl9kb250X2V4aXN0cyddID0gJ2xhIGNhcnRlbGxhIGRpIERvd25sb2FkICglcykgbm9uIGVzaXN0ZSwgcHJpbWEgY3JlYXRlbGEuJzsKJGxhbmdbJ3NlYXJjaF9leHBpcmUnXSA9ICdEb3dubG9hZCBzY2FkdXRpIHBvc3Nvbm8gYW5jb3JhIGFwcGFyaXJlIG5laSByaXN1bHRhdGkgZGkgdW5hIHJpY2VyY2EnOwokbGFuZ1sndGh1bWJfZGlyJ10gPSAnRGlyZWN0b3J5IGRhIGVzcGxvcmFyZS9pbiBjdWkgc2FsdmFyZSBsZSBhbnRlcHJpbWUuIERlZmF1bHQ6ICZxdW90O2ltYWdlcy9Eb3dubG9hZE1hbmFnZXJUaHVtYnMvJnF1b3Q7LiBMYSBMYSBkaXJlY3RvcnkgZGV2ZSBlc2lzdGVyZS4nOwokbGFuZ1sndGh1bWJfc2l6ZSddID0gJ0RpbWVuc2lvbmUgbWFzc2ltYSBkZWxsJiMwMzk7YW50ZXByaW1hJzsKJGxhbmdbJ3RodW1iX2F1dG8nXSA9ICdQcm92byBhIGdlbmVyYXJlIGxhIHRodW1ibmFpbHM/JzsKJGxhbmdbJ25hbWVsYWJlbCddID0gJ05vbWUnOwokbGFuZ1snY291bnRlcmxhYmVsJ10gPSAnQ29udGF0b3JlIGRpIERvd25sb2FkJzsKJGxhbmdbJ2NvdW50ZXJuYnInXSA9ICdTY2FyaWNhdG8gJXMgdm9sdGEvZS4nOwokbGFuZ1snYWxpYXNsYWJlbCddID0gJ0FsaWFzJzsKJGxhbmdbJ3NlbGVjdG9yJ10gPSAnU2VsZXR0b3JlIGRlbGxhIENhdGVnb3JpYSc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cm8nOwokbGFuZ1snbm9maWx0ZXInXSA9ICdObyBmaWx0cm8nOwokbGFuZ1snbm9zZWxlY3RvciddID0gJ05vIHNlbGV0dG9yZSc7CiRsYW5nWydjdXJyZW50J10gPSAnQ29ycmVudGUnOwokbGFuZ1sndmVyYm9zZSddID0gJ2RldHRhZ2xpbyc7CiRsYW5nWydmaWxlbGFiZWwnXSA9ICdGaWxlJzsKJGxhbmdbJ2ZpbGVkZWxldGVkJ10gPSAnRmlsZSBlbGltaW5hdG8uJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICdDYXJpY2EgdW4gbnVvdm8gZmlsZSc7CiRsYW5nWydhbHJlYWR5dXBsb2FkZWQnXSA9ICdVdGlsaXp6YXJlIGZpbGUgZ2kmYWdyYXZlOyBjYXJpY2F0byAoc2NyaXZldGUgaWwgcGVyY29yc28gZXNhdHRvIGRlbCBmaWxlIGRhbGxhIGNhcnRlbGxhIHJhZGljZSBkZWwgY21zKSc7CiRsYW5nWydleHRlcm5hbGZpbGUnXSA9ICdVdGlsaXp6YXJlIHVuIGZpbGUgZXN0ZXJubyBhY2Nlc3NpYmlsZSB0cmFtaXRlIGh0dHAuIElsIGZpbGUgbm9uIHZlcnImYWdyYXZlOyBjYXJpY2F0byBzdWwgc2VydmVyJzsKJGxhbmdbJ2ZpbGVkb2VzbnRleGlzdHMnXSA9ICdJbCBmaWxlICVzIG5vbiBlc2lzdGUgc3VsIHNlcnZlci4nOwokbGFuZ1snY3VybGZhaWxlZCddID0gJ1JpY2hpZXN0YSBDdXJsIGZhbGxpdGEuJzsKJGxhbmdbJ2N1cmxkb2VzbnRleGlzdHMnXSA9ICdFc3RlbnNpb25lIHBocCBDdXJsLCBuZWNlc3NhcmlhIHBlciBpIGxpbmsgZXN0ZXJuaSwgbm9uIHByZXNlbnRlLic7CiRsYW5nWydzZXJ2ZXJfbmFtZWxhYmVsJ10gPSAnTm9tZSBzdWwgc2VydmVyJzsKJGxhbmdbJ2V4dGxhYmVsJ10gPSAnRXN0ZW5zaW9uZSc7CiRsYW5nWydzaXplbGFiZWwnXSA9ICdEaW1lbnNpb25lJzsKJGxhbmdbJ2hhc2hsYWJlbCddID0gJ2hhc2ggTWQ1JzsKJGxhbmdbJ2Rlc2NyaXB0aW9ubGFiZWwnXSA9ICdEZXNjcml6aW9uZSc7CiRsYW5nWydjcmVhdGVkbGFiZWwnXSA9ICdEYXRhIGRpIGNyZWF6aW9uZSc7CiRsYW5nWydleHBpcmVzbGFiZWwnXSA9ICdTY2FkZSc7CiRsYW5nWydtYWtlX3RodW1ibGFiZWwnXSA9ICdQcm92byBhIGdlbmVyYXJlIGwmIzAzOTthbnRlcHJpbWEgZGVsbCYjMDM5O2ltbWFnaW5lIChzZSBwb3NzaWJpbGUpPyc7CiRsYW5nWyd0aHVtYmxhYmVsJ10gPSAnQW50ZXByaW1hJzsKJGxhbmdbJ3N0YXJ0c2xhYmVsJ10gPSAnSW5pemknOwokbGFuZ1sndmlzaWJsZWxhYmVsJ10gPSAnVmlzaWJpbGUnOwokbGFuZ1sndXNlZXhwaXJhdGlvbiddID0gJ1VzYSBkYXRhIGRpIHNjYWRlbnphJzsKJGxhbmdbJ3VzZXN0YXJ0J10gPSAnVXNhIGRhdGEgZGkgaW5pemlvJzsKJGxhbmdbJ2FkZGZpbGUnXSA9ICdOdW92byBmaWxlJzsKJGxhbmdbJ3NjYW5mb3JuZXdmaWxlcyddID0gJ0NlcmNhIG51b3ZpIGZpbGUnOwokbGFuZ1snc2NhbnJlc3VsdCddID0gJ0NhcnRlbGxlIHJpY2VyY2F0ZTogJXMgPGJyIC8+ICVzIG51b3ZpIGZpbGUgZWxlbmNhdGkgc290dG8uIFNjZWdsaWV0ZSBpbCBmaWxlIGRhIGFnZ2l1bmdlcmUuJzsKJGxhbmdbJ3NjYW5ub25ldyddID0gJ05lc3N1biBudW92byBmaWxlIGFnZ2l1bnRvLic7CiRsYW5nWydub2ZpbGVnaXZlbiddID0gJ05vbiBjJiMwMzk7ZXJhIGFsY3VuIGZpbGUnOwokbGFuZ1snbm90aGluZ3VwbG9hZGVkJ10gPSAnTm9uICZlZ3JhdmU7IHN0YXRvIGNhcmljYXRvIGFsY3VuIGZpbGUsIG9wcHVyZSB1biBmaWxlIHZ1b3RvLic7CiRsYW5nWyd1bmFibGV0b21vdmUnXSA9ICdOb24gcG9zc28gc3Bvc3RhcmUgbyBjb3BpYXJlIGlsIGZpbGUgY2FyaWNhdG8uJzsKJGxhbmdbJ3R5cGVsYWJlbCddID0gJ1RpcG8nOwokbGFuZ1snZmlsZXN0YWJoZWFkZXInXSA9ICdGaWxlJzsKJGxhbmdbJ2ZpbGVhZGRlZCddID0gJ0ZpbGUgYWdnaXVudG8gY29uIHN1Y2Nlc3NvJzsKJGxhbmdbJ2ZpbGVtb2RpZmllZCddID0gJ0ZpbGUgbW9kaWZpY2F0byBjb24gc3VjY2Vzc28nOwokbGFuZ1sndGVtcGxhdGVmb3Jmb3JtJ10gPSAnTW9kZWxsbyBkaSBNb2R1bG8nOwokbGFuZ1sndGVtcGxhdGVmb3JkZXRhaWwnXSA9ICdNb2RlbGxvIERldHRhZ2xpbyc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmVtYWlsJ10gPSAnTW9kZWxsbyBFbWFpbCc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGUnXSA9ICdVc2EgaWwgbW9kZWxsbyBwcmVkZWZpbml0byAodmVkZXJlIGlsIHBhbm5lbGxvIG1vZGVsbGkpJzsKJGxhbmdbJ2ZldWdyb3Vwc2xhYmVsJ10gPSAnZ3J1cHBpIEZFVSBjaGUgcG9zc29ubyBhY2NlZGVyZSBhbCBmaWxlJzsKJGxhbmdbJ2FjY2Vzc3R5cGUnXSA9ICdUaXBvIGRpIEFjY2Vzc28nOwokbGFuZ1snYWNjZXNzdHlwZV9mcmVlJ10gPSAnQWNjZXNzbyBMaWJlcm8nOwokbGFuZ1snYWNjZXNzdHlwZV9mZXVvbmx5J10gPSAnU29sbyBVdGVudGkgRnJvbnRlbmQnOwokbGFuZ1snYWNjZXNzdHlwZV9lbWFpbG9ubHknXSA9ICdTb2xvIEVtYWlsJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfbWl4ZWQnXSA9ICdGRVUgbyBFbWFpbCc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0dGFnbGknOwokbGFuZ1snZmlsZWNoYW5nZSddID0gJ1Nvc3RpdHVpdGUgcXVlc3RvIGZpbGUuJzsKJGxhbmdbJ2NoYW5nZWZpbGVpbmZvJ10gPSAnU2NlZ2xpZXRlIHVuIG51b3ZvIGZpbGUgcGVyIHNvc3RpdHVpcmUgbCYjMDM5O2F0dHVhbGUgJnF1b3Q7JXMmcXVvdDsgKGFsaWFzOiVzKS4gVHV0dGUgbGUgYXNzb2NpYXppb25pLCBsaW5rLCBpbmZvIGUgYWxpYXMgcmltYXJyYW5ubyBpbnZhcmlhdGkuJzsKJGxhbmdbJ2ZpbGVjaGFuZ2VkJ10gPSAnRmlsZSBzb3N0aXR1aXRvIGNvbiBzdWNjZXNzby4nOwokbGFuZ1snY2hhbmdlbmFtZWxhYmVsJ10gPSAnTW9kaWZpY2FyZSBpbCBub21lIGRlbCBmaWxlIGNvbiBxdWVsbG8gZGVsIG51b3ZvIGZpbGU/JzsKJGxhbmdbJ2FsbHRpbWUnXSA9ICdTZW1wcmUnOwokbGFuZ1snYXZhaWxhYmxpdHknXSA9ICdEaXNwb25pYmlsdCZhZ3JhdmU7JzsKJGxhbmdbJ25vYWxpYXMnXSA9ICdOZXNzdW4gYWxpYXMgbyBkb3dubG9hZCBub24gZGlzcG9uaWJpbGUnOwokbGFuZ1snbm9oYXNoJ10gPSAnTmVzc3VuIGhhc2ggIG8gZG93bmxvYWQgbm9uIGRpc3BvbmliaWxlJzsKJGxhbmdbJ3dyb25ncGFyYW1zJ10gPSAnUGFyYW1ldHJpIGVycmF0aSc7CiRsYW5nWydmaWxlbm90Zm91bmQnXSA9ICdGaWxlICVzIG5vbiB0cm92YXRvLic7CiRsYW5nWyd3cm9uZ2RhdGEnXSA9ICdEYXRpIGVycmF0aSBuZWwgZGF0YWJhc2UuJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTnVvdmEgQ2F0ZWdvcmlhJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcmlhJzsKJGxhbmdbJ3BhcmVudF9pZGxhYmVsJ10gPSAnQ2F0ZWdvcmlhIFN1cGVyaW9yZSc7CiRsYW5nWydjYXRlZ29yaWVzdGFiaGVhZGVyJ10gPSAnQ2F0ZWdvcmllJzsKJGxhbmdbJ3Jlb3JkZXJfcHJpb3JpdHknXSA9ICdQcmlvcml0JmFtcDthZ3JhdmU7ICgtOTkmbmJzcDthJm5ic3A7OTkpLCAgbWlub3JlLT5taWdsaW9yZSAnOwokbGFuZ1snbm9kb3dubG9hZHMnXSA9ICdOZXNzdW4gZG93bmxvYWQgaW4gcXVlc3RhIGNhdGVnb3JpYSc7CiRsYW5nWydmaWxlbmInXSA9ICclcyZuYnNwO2ZpbGUnOwokbGFuZ1snY2F0ZWdvcnlhZGRlZCddID0gJ0xhIGNhdGVnb3JpYSAmZWdyYXZlOyBzdGF0YSBhZ2dpdW50YSBjb3JyZXR0YW1lbnRlLic7CiRsYW5nWydjYXRlZ29yeXVwZGF0ZWQnXSA9ICdMYSBjYXRlZ29yaWEgJmVncmF2ZTsgc3RhdGEgYWdnaW9ybmF0YSBjb3JyZXR0YW1lbnRlLic7CiRsYW5nWydjYXRlZ29yeWRlbGV0ZWQnXSA9ICdMYSBjYXRlZ29yaWEgJmVncmF2ZTsgc3RhdGEgZWxpbWluYXRhIGNvcnJldHRhbWVudGUuJzsKJGxhbmdbJ2NhdGVnb3J5Y29udGVudHR5cGVmcmllbmRseSddID0gJ0NhdGVnb3JpYSBkaSBEb3dubG9hZCc7CiRsYW5nWydvdmVyYWxsdGFiaGVhZGVyJ10gPSAnU3VwZXJpb3JlJzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ10gPSAnQ2F0ZWdvcmllJzsKJGxhbmdbJ2FkZGFzc29jJ10gPSAnQWdnaXVuZ2kgYWxsZSBDYXRlZ29yaWUnOwokbGFuZ1snd3JvbmdjYXRlZ29yeXNlbCddID0gJ0Vycm9yZSBkaSBlbGFib3JhemlvbmUgZGVsIHNlbGV0dG9yZSBjYXRlZ29yaWUuIDxiciAvPiBTZWxldHRvcmUgZG9wbyBsYSBwdWxpemlhOiAlcyc7CiRsYW5nWydub2NhdGVnb3J5c2VsJ10gPSAnU2VsZXR0b3JlIGNhdGVnb3JpZSBub24gaW1wb3N0YXRvLic7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5J10gPSAnSWwgc2VsZXR0b3JlIGRlbGxlIGNhdGVnb3JpZSBub24gZXNpc3RlLic7CiRsYW5nWydzZW5kZW1haWwnXSA9ICdJbnZpYSBwZXIgZW1haWwgaWwgbGluayBkaSBkb3dubG9hZCc7CiRsYW5nWydwcm9tcHRfZmlyc3RuYW1lJ10gPSAnTm9tZSc7CiRsYW5nWydwcm9tcHRfbGFzdG5hbWUnXSA9ICdDb2dub21lJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3Byb21wdF9tYWlsaW5nbGlzdCddID0gJ1ZvcnJlaSBlc3NlcmUgYWdnaW9ybmF0byBzdSBudW92aSBmaWxlIGUgbm90aXppZSBpbXBvcnRhbnRpJzsKJGxhbmdbJ2VtYWlsc2VudCddID0gJ0FiYmlhbW8gaW52aWF0byB1biYjMDM5O2VtYWlsIGFsbCYjMDM5O2luZGlyaXp6byBzcGVjaWZpY2F0byBjb250ZW5lbnRlIGlsIGxpbmsgcGVyIGlsIGRvd25sb2FkJzsKJGxhbmdbJ2NvdWxkbm90c2VuZCddID0gJ0MmIzAzOTsmZWdyYXZlOyBzdGF0byB1biBlcnJvcmUgY29uIGxhIHJpY2hpZXN0YSwgbCYjMDM5O2VtYWlsIG5vbiBwdSZvZ3JhdmU7IGVzc2VyZSBpbnZpYXRhLic7CiRsYW5nWydpbnZhbGlkZW1haWwnXSA9ICdMJiMwMzk7aW5kaXJpenpvIGVtYWlsIGluc2VyaXRvIG5vbiAmZWdyYXZlOyB2YWxpZG8uIFNlbnphIHVuIGluZGlyaXp6byB2YWxpZG8gbm9uIHBvc3NpYW1vIGludmlhcmUgaWwgbGluayBwZXIgaWwgZG93bmxvYWQuJzsKJGxhbmdbJ3BsZWFzZV9uYW1lJ10gPSAnSW5zZXJpdGUgaWwgdm9zdHJvIG5vbWUuJzsKJGxhbmdbJ3BsZWFzZV9lbWFpbCddID0gJ0luc2VyaXRlIGlsIHZvc3RybyBpbmRpcml6em8gZW1haWwuIElsIGxpbmsgcGVyIGlsIGRvd25sb2FkIHZlcnImYWdyYXZlOyBpbnZpYXRvIGEgcXVlc3RvIGluZGlyaXp6by4nOwokbGFuZ1snYWRkdGVtcGxhdGUnXSA9ICdOdW92byBNb2RlbGxvJzsKJGxhbmdbJ2xpc3R0ZW1wbGF0ZXMnXSA9ICdNb2RlbGxvIHBlciBsYSB2aXN1YWxpenphemlvbmUgZGkgY2F0ZWdvcmllIG8gZmlsZSc7CiRsYW5nWydhZGRsaXN0dGVtcGxhdGUnXSA9ICdOdW92byBNb2RlbGxvIGRpIExpc3RhJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ01vZGVsbG8gcGVyIGxhIHZpc3VhbGl6emF6aW9uZSBkZWkgZGV0dGFnbGkgZGkgdW4gZmlsZSc7CiRsYW5nWydhZGRkZXRhaWx0ZW1wbGF0ZSddID0gJ051b3ZvIE1vZGVsbG8gRGV0dGFnbGknOwokbGFuZ1snZm9ybXRlbXBsYXRlcyddID0gJ01vZGVsbG8gcGVyIGlsIG1vZHVsbyBkaSByaWNoaWVzdGEgZGkgaW52aW8gbGluayBkaSBkb3dubG9hZCB2aWEgZW1haWwnOwokbGFuZ1snYWRkZm9ybXRlbXBsYXRlJ10gPSAnTnVvdm8gTW9kZWxsbyBNb2R1bG8nOwokbGFuZ1snZW1haWx0ZW1wbGF0ZXMnXSA9ICdNb2RlbGxvIHBlciBsJiMwMzk7ZW1haWwgaW52aWF0YSBjb24gaWwgbGluayBkaSBkb3dubG9hZCc7CiRsYW5nWydhZGRlbWFpbHRlbXBsYXRlJ10gPSAnTnVvdm8gTW9kZWxsbyBDb3JwbyBFbWFpbCc7CiRsYW5nWydwcm9tcHRfZGVsZXRldGVtcGxhdGUnXSA9ICdWb2xldGUgZGF2dmVybyBlbGltaW5hcmUgaWwgbW9kZWxsbyAlcz8nOwokbGFuZ1sndGl0bGVfdGVtcGxhdGUnXSA9ICdNb2RlbGxvJzsKJGxhbmdbJ2NvbnRlbnRsYWJlbCddID0gJ0NvbnRlbnV0byc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lbGFiZWwnXSA9ICdOb21lJzsKJGxhbmdbJ3RlbXBsYXRlYWRkZWQnXSA9ICdJbCBtb2RlbGxvICZlZ3JhdmU7IHN0YXRvIGFnZ2l1bnRvIGNvcnJldHRhbWVudGUuJzsKJGxhbmdbJ3RlbXBsYXRldXBkYXRlZCddID0gJ0lsIG1vZGVsbG8gJmVncmF2ZTsgc3RhdG8gYWdnaW9ybmF0byBjb3JyZXR0YW1lbnRlJzsKJGxhbmdbJ3RlbXBsYXRlZGVsZXRlZCddID0gJ2lsIG1vZGVsbG8gJmVncmF2ZTsgc3RhdG8gZWxpbWluYXRvIGNvcnJldHRhbWVudGUuJzsKJGxhbmdbJ3dyb25ndGVtcGxhdGUnXSA9ICdNb2RlbGxvIGVycmF0byBzcGVjaWZpY2F0by4nOwokbGFuZ1snYWxyZWFkeWV4aXN0J10gPSAnRXNpc3RlIGdpJmFncmF2ZTsgdW4gbW9kZWxsbyBjb24gcXVlbCBub21lLic7CiRsYW5nWydnZW5lcmFsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRiYWNrdG9saXN0bGlua308L2I+PC90ZD48dGQ+Uml0b3JuYSBhbGxhIHBhZ2luYSBwcmVjZWRlbnRlPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2ZpbGVpdGVtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5ub21lIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmRlc2NyaXppb25lIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZGltZW5zaW9uZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPm51bWVybyBkaSBkb3dubG9hZCBkZWwgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXN0bzogU2NhcmljYXRvICVzIHZvbHRhL2UuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPmhhc2ggbWQ1PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZXN0ZW5zaW9uZSBmaWxlIChqcGcscGRmLHRhci5ieixldGMuLi4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRlbXBvLCBxdWFuZG8gaWwgZmlsZSAmZWdyYXZlOyBzdGF0byBjYXJpY2F0byBzdWwgc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmRhdGEgZGkgc2NhZGVuemEsIGRvcG8gcXVlc3RhIGlsIGZpbGUgbm9uIHNhciZhbXA7YWdyYXZlOyBwaSZhbXA7dWdyYXZlOyBkaXNwb25pYmlsZTwvdGQ+PC90cj4NCic7CiRsYW5nWydkZXRhaWxfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPm5vbWUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZGVzY3JpemlvbmUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5kaW1lbnNpb25lIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+bnVtZXJvIGRpIGRvd25sb2FkIGRlbCBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRlc3RvOiBTY2FyaWNhdG8gJXMgdm9sdGEvZS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+aGFzaCBtZDU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5lc3RlbnNpb25lIGZpbGUgKGpwZyxwZGYsdGFyLmJ6LGV0Yy4uLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGVtcG8sIHF1YW5kbyBpbCBmaWxlICZlZ3JhdmU7IHN0YXRvIGNhcmljYXRvIHN1bCBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZGF0YSBkaSBzY2FkZW56YSwgZG9wbyBxdWVzdGEgaWwgZmlsZSBub24gc2FyJmFtcDthZ3JhdmU7IHBpJmFtcDt1Z3JhdmU7IGRpc3BvbmliaWxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllIGEgY3VpIGFwcGFydGllbmUgaWwgZmlsZSAoZGlzcG9uaWJpbGUgbmVsIHNlbGV0dG9yZSBlIG5lbCBkZXR0YWdsaW8pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5saW5rIGRpIGRvd25sb2FkIGdlbmVyYXRvPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgYWwgZG93bmxvYWQgZGVsIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmVsZW5jbyBkaSB0aXBpIGRpIGFjY2Vzc28gbGVnZ2liaWxlIChsaWJlcm8sZmV1LGVtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmxpbmsgZGVsIGRldHRhZ2xpbyBnZW5lcmF0bzwvdGQ+PC90cj4NCic7CiRsYW5nWydmb3JtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+SW5wdXQ8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRmaXJzdG5hbWVfaW5wdXR9PC9iPjwvdGQ+PHRkPm5vbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbGFzdG5hbWVfaW5wdXR9PC9iPjwvdGQ+PHRkPmNvZ25vbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZW1haWxfaW5wdXR9PC9iPjwvdGQ+PHRkPmVtYWlsPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG1haWxpbmdsaXN0X2lucHV0fTwvYj48L3RkPjx0ZD5jYXNlbGxhIGEgc3B1bnRhIGRlbGxhIG1haWxpbmcgbGlzdDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRzdWJtaXR9PC9iPjwvdGQ+PHRkPkludmlhPC90ZD48L3RyPg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90Oz48aT5FdGljaGV0dGU8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRmaXJzdG5hbWVfbGFiZWx9PC9iPjwvdGQ+PHRkPm5vbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbGFzdG5hbWVfbGFiZWx9PC9iPjwvdGQ+PHRkPmNvZ25vbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZW1haWxfbGFiZWx9PC9iPjwvdGQ+PHRkPmVtYWlsPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG1haWxpbmdsaXN0X2xhYmVsfTwvYj48L3RkPjx0ZD5jYXNlbGxhIGEgc3B1bnRhIGRlbGxhIG1haWxpbmcgbGlzdDwvdGQ+PC90cj4NCic7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskZmlyc3RuYW1lfTwvYj48L3RkPjx0ZD5ub21lIGRlbGwmIzAzOTt1dGVudGUgY2hlIHNjYXJpY2EgaWwgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRsYXN0bmFtZX08L2I+PC90ZD48dGQ+Y29nbm9tZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkdXJsfTwvYj48L3RkPjx0ZD5saW5rIHBlciBzY2FyaWNhcmUgaWwgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkaHJlZn08L2I+PC90ZD48dGQ+dXJpIHBlciBzY2FyaWNhcmUgaWwgZmlsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPm5vbWUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZGVzY3JpemlvbmUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5kaW1lbnNpb25lIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+bnVtZXJvIGRpIGRvd25sb2FkIGRlbCBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRlc3RvOiBTY2FyaWNhdG8gJXMgdm9sdGEvZS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+aGFzaCBtZDU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5lc3RlbnNpb25lIGZpbGUgKGpwZyxwZGYsdGFyLmJ6LGV0Yy4uLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGVtcG8sIHF1YW5kbyBpbCBmaWxlICZlZ3JhdmU7IHN0YXRvIGNhcmljYXRvIHN1bCBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZGF0YSBkaSBzY2FkZW56YSwgZG9wbyBxdWVzdGEgaWwgZmlsZSBub24gc2FyJmFtcDthZ3JhdmU7IHBpJmFtcDt1Z3JhdmU7IGRpc3BvbmliaWxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllIGEgY3VpIGFwcGFydGllbmUgaWwgZmlsZSAoZGlzcG9uaWJpbGUgbmVsIHNlbGV0dG9yZSBlIG5lbCBkZXR0YWdsaW8pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5saW5rIGRpIGRvd25sb2FkIGdlbmVyYXRvPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgYWwgZG93bmxvYWQgZGVsIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmVsZW5jbyBkaSB0aXBpIGRpIGFjY2Vzc28gbGVnZ2liaWxlIChsaWJlcm8sZmV1LGVtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmxpbmsgZGVsIGRldHRhZ2xpbyBnZW5lcmF0bzwvdGQ+PC90cj4NCg0KJzsKJGxhbmdbJ2xpc3RfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpjZW50ZXI7JnF1b3Q7Pjxici8+PGk+TmVsIHtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbX0gbG9vcDo8L2k+PC90aD48L3RyPg0KPHRyPjx0aD5WYXJpYWJpbGU6PC90aD48dGg+Q29zJiMwMzk7JmFtcDtlZ3JhdmU7PzwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5pdGVtbGV2ZWx9PC9iPjwvdGQ+PHRkPmxpdmVsbG8gYXR0dWFsZSBkZWxsYSBjYXRlZ29yaWE8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+cm93Y2xhc3N9PC9iPjwvdGQ+PHRkPnJpZ2ExIG8gcmlnYTIgYSBzZWNvbmRhIGRlbGxhIHBhcml0JmFtcDthZ3JhdmU7PC90ZD48L3RyPg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPiBRdWFuZG8gPGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+ID0gPGk+aW50ZXN0YXppb25lPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPjwvdGQ+PHRkPjxpPmludGVzdGF6aW9uZTwvaT48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+bm9tZSBjYXRlZ29yaWE8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmRlc2NyaXppb25lIGNhdGVnb3JpYTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zdWJjYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5pbnNpZW1lIGRpIHNvdHRvY2F0ZWdvcmllOyBvZ25pIHNvdHRvY2F0ZWdvcmlhIGNvbnRpZW5lIGdsaSBlbGVtZW50aTogaWQsIG5hbWUsIGxvbmdfbmFtZSwgYWxpYXMsIGZpbGVzbmIsIGl0ZW1zLCBwYXJlbnQ8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDsgPjxpPiBRdWFuZG8gPGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+ID0gPGk+ZmlsZTwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj48L3RkPjx0ZD48aT5maWxlPC9pPjwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPm5vbWUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZGVzY3JpemlvbmUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5kaW1lbnNpb25lIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+bnVtZXJvIGRpIGRvd25sb2FkIGRlbCBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRlc3RvOiBzY2FyaWNhdG8gJXMgdm9sdGEvZS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+aGFzaCBtZDU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5lc3RlbnNpb25lIGZpbGUgKGpwZyxwZGYsdGFyLmJ6LGV0Yy4uLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGVtcG8sIHF1YW5kbyBpbCBmaWxlICZlZ3JhdmU7IHN0YXRvIGNhcmljYXRvIHN1bCBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZGF0YSBkaSBzY2FkZW56YSwgZG9wbyBxdWVzdGEgaWwgZmlsZSBub24gc2FyJmFtcDthZ3JhdmU7IHBpJmFtcDt1Z3JhdmU7IGRpc3BvbmliaWxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllIGEgY3VpIGFwcGFydGllbmUgaWwgZmlsZSAoZGlzcG9uaWJpbGUgbmVsIHNlbGV0dG9yZSBlIG5lbCBkZXR0YWdsaW8pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5saW5rIGRpIGRvd25sb2FkIGdlbmVyYXRvPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgYWwgZG93bmxvYWQgZGVsIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmVsZW5jbyBkaSB0aXBpIGRpIGFjY2Vzc28gbGVnZ2liaWxlIChsaWJlcm8sZmV1LGVtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmxpbmsgZGVsIGRldHRhZ2xpbyBnZW5lcmF0bzwvdGQ+PC90cj4NCg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmNlbnRlcjsmcXVvdDs+PGJyLz48aT5OZWxsJiMwMzk7aW50ZXJubyBtb2RlbGxvOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRkPjxiPlZhcmlhYmlsZTo8L2I+PC90ZD48dGQ+PGI+Q29zJiMwMzk7JmFtcDtlZ3JhdmU7PzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbWNvdW50fTwvYj48L3RkPjx0ZD5udW1lcm8gZGkgZWxlbWVudGUgaW4gJGl0ZW1zPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG5vZG93bmxvYWRzfTwvYj48L3RkPjx0ZD5tZXNzYWdnaW8gcXVhbmRvIG5vbiBzb25vIHByZXNlbnRpIGRvd25sb2FkIG5lbGxhIGNhdGVnb3JpYSBzZWxlemlvbmF0YTwvdGQ+PC90cj4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjEyMzYzODU5NjcuMTI5NjU3ODE0NS4xMjk4MzY1MjE2LjEzMDE1NjA3MDAuNic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMDE1NjA3NTAuNi40LnV0bWNzcj1mZWVkYnVybmVyfHV0bWNjbj1GZWVkOiBjbXNtYWRlc2ltcGxlL2Jsb2cgKENNUyBNYWRlIFNpbXBsZSl8dXRtY21kPWZlZWQnOwokbGFuZ1sncWNhJ10gPSAnUDAtMTQ3NjUwNTYzOC0xMjk2NTc4MTQ1MTY5JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCAmcXVvdDtVc2UgRG93bmxvYWQgTWFuYWdlciZxdW90OyBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhLiA8YnIvPiBSZW1lbWJlciB0byBjcmVhdGUgZG93bmxvYWRzLyBkaXIgaW4gcm9vdCBjbXMgZGlyIGFuZCBnaXZlIGl0IDA3NzcgcGVybWlzc2lvbnMnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0Rvd25sb2FkIE1hbmFnZXIgdW5pbnN0YWxsJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IFlvdSYjMDM5O3JlIHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgZmluZSBtb2R1bGU/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsZSBwcmVmZXJlbmNlcyB1cGRhdGVkLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZG93bmxvYWRfZXJyb3JfbXNnJ10gPSAnRXJyb3Igb2NjdXJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoaXMgZmlsZSc7CiRsYW5nWydub25lJ10gPSAnTm9uZSc7CiRsYW5nWydzdWJtaXRyZXFlbWFpbCddID0gJ1N1Ym1pdCB0byByZWNlaXZlIGxpbmsgdG8gZG93bmxvYWQnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1snYmFjayddID0gJ0dvIGJhY2suJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBY3Rpb25zJzsKJGxhbmdbJ3Jvb3RjYXRlZ29yeSddID0gJ1Jvb3QgY2F0ZWdvcnknOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxlIFByZWZlcmVuY2VzJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZSBBZG1pbiBQYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdZb3UgbXVzdCBlbnRlciBhIG5hbWUuJzsKJGxhbmdbJ211c3Rsb2dpbiddID0gJ1lvdSBtdXN0IGxvZyBpbiB0byBkb3dubG9hZCB0aGlzIGZpbGU6JzsKJGxhbmdbJ21heWFsc29sb2dpbiddID0gJ1lvdSBtYXkgYWxzbyBsb2cgaW4gdG8gZG93bmxvYWQgdGhpcyBmaWxlOic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGFsbG93cyB0byBNYW5hZ2UgRG93bmxvYWRzLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxjb21lIHRvIHRoZSBEb3dubG9hZE1hbmFnZXIgYWRtaW4gc2VjdGlvbi48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMSBhbHBoYSAtIGZpcnN0IGFscGhhPC9saT4NCjxsaT5WZXJzaW9uIDAuMiBiZXRhIC0gaXRlbSByZW9yZGVyIGFkZGVkPC9saT4NCjxsaT5WZXJzaW9uIDAuMyBiZXRhIC0gbWFraW5nIG1vZHVsZSBtb3JlIHVzZXItZnJpZW5kbHk8L2xpPg0KPGxpPlZlcnNpb24gMC40IC0gZml4ZWQgaW5zdGFsbCBidWcgd2hpY2ggdW5hYmxlcyBhc3NvY2lhdGlvbnMsIGFkZGVkIGFzc29jaWF0aW9ucyBpbiBmaWxlIGFkZGluZzwvbGk+DQo8bGk+VmVyc2lvbiAwLjguNCAtIGFkZGVkIGNhdGVnb3J5IHNlbGVjdG9yLCBmaXhlZCBzb21lIGJ1Z3M8L2xpPg0KPGxpPlZlcnNpb24gMS4wLXJjMSAgLSBhZGRlZCBpbnRlZ3JhdGlvbiB3aXRoIGZldSBtb2R1bGUgYW5kIHNlbmRpbmcgZmlsZSBsaW5rIGJ5IGVtYWlsLCBtYWRlIGNhdGVnb3JpZXMgd2Fsa2FibGUsIGRpZmZlcmVudCB0ZW1wbGF0ZXMgZm9yIGRpZmZlcmVudCBhY3Rpb24gdHlwZXMsIGNoYW5nZWQgY2F0ZWdvcnlfc2VsZWN0b3IgcGFyYW1ldGVyIGludG8gc2VsZWN0b3IsIHJlbW92ZWQgY2F0ZWdvcnkgcGFyYW1ldGVyLCBhZGRlZCBjYXRlZ29yeSBsaXN0IGZvciBmaWxlcyBpbiBzZWxlY3RvciwgYWRkZWQgYWxpYXNlcyB0byBmaWxlcyBhbmQgY2F0ZWdvcmllczwvbGk+DQo8bGk+VmVyc2lvbiAxLjEgIC0gYWRkZWQgdGhlIGZpbGVjaGFuZ2UgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjMgIC0gYWRkZWQgZG93bmxvYWQgY291bnRpbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+QWxsb3dzIHRvIG1hbmFnZSBEb3dubG9hZHMgZnJvbSBhZG1pbiBwYW5lbC48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPkZpcnN0IG1ha2UgZG93bmxvYWRzLyBkaXJlY3RvcnkgaW4gcm9vdCBjbXMgZGlyZWN0b3J5LiBOZXh0IGdpdmUgaXQgMDc3NyBtb2RlLCBkZXBlbmRpbmcgb24gYXBhY2hlIGNvbmZpZ3VyYXRpb24gY291bGQgYmUgMDc3NSBvciAwNzU1LjwvcD4NCjxwPlRvIGFjY2VzIG1vZHVsZSBhZG1pbiBpbnRlcmZhY2UgZ28gdG8gQ29udGVudCAtPiBEb3dubG9hZCBNYW5hZ2VyLjwvcD4NCjxwPkluc3RhbGwgaXQgYnkgcGxhY2luZyB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7fS4gU2VlIG1vcmUgZXhhbXBsZXMgYmVsb3cuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuPC9wPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5UcmFuc2xhdGlvbnM8L2gzPg0KPHA+TmV3ZXN0IHRyYW5zbGF0aW9ucyBhcmUgYWx3YXlzIGF2YWlsYWJsZSBhdA0KPGEgaHJlZj0iaHR0cDovL3N2bi5jbXNtYWRlc2ltcGxlLm9yZy9zdm4vdHJhbnNsYXRlY2VudGVyL21vZHVsZXMvRG93bmxvYWRNYW5hZ2VyL2xhbmcvZXh0LyIgdGl0bGU9IkRvd25sb2FkIG1hbmFnZXIgdHJhbmxhdGlvbnMiPmh0dHA6Ly9zdm4uY21zbWFkZXNpbXBsZS5vcmcvc3ZuL3RyYW5zbGF0ZWNlbnRlci9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9sYW5nL2V4dC88L2E+PC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFN6eW1vbiDFgXVrYXN6Y3p5ayA8YSBocmVmPSJtYWlsdG86c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tIj48c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tPjwvYT4gJmFtcDsgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+PHBsLmdlcm1haW5AZ21haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPkdlcm1hbiB0cmFuc2xhdGlvbiBieSBDb25uaWUgTSZ1dW1sO2xsZXItRyZvdW1sO2RlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPjxjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGU+PC9hPi48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnQWN0aW9uIGNob29zZW4uIFBvc3NpYmxlIGFjdGlvbnM6IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdA0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPmNhdGVnb3J5aWQ8L2VtPiBvciA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWxpYXM9JiMwMzk7bXktY2F0ZWdvcnkmIzAzOTsgZGVwdGg9JiMwMzk7MiYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogYWxsb3cgdG8gc2VsZWN0IG11bHRpcGxlIGNhdGVnb3JpZXMsIHNlZSBzZWxlY3RvciBwYXJhbWV0ZXINCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5zZWxlY3RvcjwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtzZWxlY3RvciYjMDM5OyBzZWxlY3Rvcj0mIzAzOTszJmFtcDsoMXwyKSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRldGFpbDwvZW0+OiBzaG93cyBkZXRhaWxzIG9mIHNlbGVjdGVkIGZpbGUNCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkZXRhaWwmIzAzOTsgYWxpYXM9JiMwMzk7bXktZmlsZSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4gDQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWN0aW9uPSYjMDM5O2Rvd25sb2FkJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeWlkJ10gPSAnQ2F0ZWdvcnkgaWQsIGNvdWxkIGJlIGZvdW5kIGluIGNhdGVnb3JpZXMgdGFiLiBJZiBzZWxlY3RlZCwgYWxpYXMgaXMgbm90IHRha2VuIGludG8gYWNjb3VudC4nOwokbGFuZ1snaGVscF9wYXJhbV9hbGlhcyddID0gJ0NhdGVnb3J5IG9yIGZpbGUgYWxpYXMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVwdGgnXSA9ICdBbGxvdyB0byBzcGVjaWZ5IHRoZSBkZXB0aCBvZiB0cmVlIHNob3duIGJ5IGRlZmF1bHQgYWN0aW9uLiBJZiBub3Qgc2V0IGZ1bGwgdHJlZSB3aWxsIGJlIHNob3duLic7CiRsYW5nWydoZWxwX3BhcmFtX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgbmFtZS4gSWYgbm90IGdpdmVuIHRoZSBkZWZhdWx0IHRlbXBsYXRlIGZvciBjdXJyZW50IGFjdGlvbiBpcyBhY3Rpb24vZmlsZS9jYXRlZ29yeS4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWxlY3RvciddID0gJ1RoZSBzZWxlY3RvciB3aGljaCBhbGxvd3MgdG8gY2hvb3NlIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnkuIFRoZSBzZWxlY3RvciBzeW50YXggY2FuIGhhdmU6DQo8dWw+DQo8bGk+JnF1b3Q7JmFtcDsmcXVvdDsgLSBpbnRlcnNlY3Rpb248L2xpPg0KPGxpPiZxdW90O3wmcXVvdDsgLSBzdW08L2xpPg0KPGxpPmNhdGVnb3J5IGlkICh5b3UgY2FuIHNlZSBpdCBpbiBjYXRlZ29yaWVzIHRhYik8L2xpPg0KPGxpPmFsbCBvdGhlciBjaGFyYWN0ZXJzIHdpbGwgYmUgY2xlYW5lZCBiZWZvcmUgcGFyc2luZzwvbGk+DQo8L3VsPg0KRm9yIGV4YW1wbGUgc2VsZWN0b3I9JnF1b3Q7MyZhbXA7KDF8MikmcXVvdDsgd2lsbCBjaG9vc2UgYWxsIGVsZW1lbnRzIGZyb20gY2F0ZWdvcnkgd2l0aCBpZD0zIHdoaWNoIGFyZSBhbHNvIGluIHN1bSBvZiBjYXRlZ29yeSAxIGFuZCAyLiA8YnIvPg0KSWYgc2VsZWN0b3IgaXMgc3BlY2lmaWVkIGNhdGVnb3J5IHBhcmFtZXRlciB3aWxsIDxiPm5vdDwvYj4gYmUgcGFyc2VkLg0KJzsKJGxhbmdbJ3dyb25nYWxpYXMnXSA9ICdXcm9uZyBhbGlhcyBnaXZlbi4nOwokbGFuZ1snZG93bmxvYWQnXSA9ICdEb3dubG9hZCc7CiRsYW5nWydkb3dubG9hZGluZyddID0gJ0Rvd25sb2FkaW5nICVzLi4uJzsKJGxhbmdbJ2JhY2t0b2xpc3QnXSA9ICdCYWNrIHRvIHRoZSBmaWxlIGxpc3QuJzsKJGxhbmdbJ2Rvd25sb2FkaW5nX2luZm8nXSA9ICdZb3VyIGRvd25sb2FkIHNob3VsZCBiZWdpbiBzaG9ydGx5LiBJZiB5b3UgZW5jb3VudGVyIHByb2JsZW1zLCBwbGVhc2UgY29udGFjdCB0aGUgV2VibWFzdGVyLic7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIGdpdmVuJzsKJGxhbmdbJ3dyb25nZmlsZSddID0gJ1dyb25nIGZpbGUgaWQnOwokbGFuZ1snbm9hY2Nlc3MnXSA9ICdZb3UgZG8gbm90IGhhdmUgYWNjZXNzIHRvIHRoaXMgZmlsZS4nOwokbGFuZ1snZG93bmxvYWRfZGlyJ10gPSAnRG93bmxvYWQgZGlyZWN0b3J5JzsKJGxhbmdbJ2Rvd25sb2FkX3NjYW4nXSA9ICdTY2FubmVkIGRpcmVjdG9yaWVzIChzZXBlYXRlZCB3aXRoIHNlbWljb2xvbiBleC4gJnF1b3Q7ZGlyMS87ZGlyMi87ZGlyMy8mcXVvdDsgKSc7CiRsYW5nWydkb3dubG9hZF9zY2FuX3JlY3VycyddID0gJ1NjYW4gZGlyZWN0b3JpZXMgcmVjdXJzaXZlPyc7CiRsYW5nWydkb3dubG9hZF90ZW1wbGF0ZSddID0gJ0Rvd25sb2FkIHRlbXBsYXRlJzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlX2luZm8nXSA9ICc8dGFibGUgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpsZWZ0OyZxdW90Oz4NCjx0cj48dGQ+PGI+VmFyaWFibGU6PC9iPjwvdGQ+PHRkPjxiPldoYXQgaXMgaXQ/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nfTwvYj48L3RkPjx0ZD5UZXh0OiBEb3dubG9hZGluZyAlcy4uLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nX2luZm99PC9iPjwvdGQ+PHRkPlRleHQ6IFlvdXIgZG93bmxvYWQgc2hvdWxkIGJlZ2luIHNob3J0bHkuIElmIHlvdSBlbmNvdW50ZXIgcHJvYmxlbXMsIHBsZWFzZSBjb250YWN0IHRoZSBXZWJtYXN0ZXIuPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskZG93bmxvYWRfbmFtZX08L2I+PC90ZD48dGQ+TmFtZSBvZiBjdXJyZW50bHkgZG93bmxvYWRpbmcgZmlsZS48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRiYWNrdG9saXN0bGlua308L2I+PC90ZD48dGQ+QmFjayB0byB0aGUgZmlsZSBsaXN0IGxpbmsuPC90ZD48L3RyPg0KPC90YWJsZT4NCic7CiRsYW5nWydkb3dubG9hZF9kaXJfbm90X3dyaXRhYmxlJ10gPSAnRG93bmxvYWQgZGlyZWN0b3J5ICglcykgaXMgbm90IHdyaXRhYmxlLCB0cnkgY2htb2QgNzc3Lic7CiRsYW5nWydkaXJfZG9udF9leGlzdHMnXSA9ICdEb3dubG9hZCBkaXJlY3RvcnkgKCVzKSBkb2VzIG5vdCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0Lic7CiRsYW5nWydzZWFyY2hfZXhwaXJlJ10gPSAnRXhwaXJlZCBhbmQgbm90IHN0YXJ0ZWQgZG93bmxvYWRzIGNhbiBhcHBlYXIgaW4gc2VhcmNoIHJlc3VsdHMnOwokbGFuZ1snbmFtZWxhYmVsJ10gPSAnTmFtZSc7CiRsYW5nWydjb3VudGVybGFiZWwnXSA9ICdEb3dubG9hZCBjb3VudGVyJzsKJGxhbmdbJ2NvdW50ZXJuYnInXSA9ICdEb3dubG9hZGVkICVzIHRpbWUocykuJzsKJGxhbmdbJ2FsaWFzbGFiZWwnXSA9ICdBbGlhcyc7CiRsYW5nWydmaWxlbGFiZWwnXSA9ICdGaWxlJzsKJGxhbmdbJ2ZpbGVkZWxldGVkJ10gPSAnRmlsZSB3YXMgZGVsZXRlZC4nOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCBuZXcgZmlsZSc7CiRsYW5nWydhbHJlYWR5dXBsb2FkZWQnXSA9ICdVc2UgYWxyZWFkeSB1cGxvYWRlZCBmaWxlJzsKJGxhbmdbJ2V4dGVybmFsZmlsZSddID0gJ1VzZSBleHRlcm5hbCBmaWxlIGFjY2Vzc2libGUgdGhyb3VnaCBodHRwLiBGaWxlIHdpbGwgbm90IGJlIGRvd25sb2FkZWQgdG8gc2VydmVyJzsKJGxhbmdbJ2ZpbGVkb2VzbnRleGlzdHMnXSA9ICdGaWxlICVzIGRvZXNuYHQgZXhpc3Qgb24gc2VydmVyLic7CiRsYW5nWydjdXJsZmFpbGVkJ10gPSAnQ3VybCByZXF1ZXN0IGZhaWxlZC4nOwokbGFuZ1snY3VybGRvZXNudGV4aXN0cyddID0gJ0N1cmwgcGhwIGV4dGVuc2lvbiBuZWVkZWQgZm9yIGV4dGVybmFsIGxpbmtzIG5vdCBwcmVzZW50Lic7CiRsYW5nWydzZXJ2ZXJfbmFtZWxhYmVsJ10gPSAnT3JnaW5hbCBwYXRoJzsKJGxhbmdbJ2V4dGxhYmVsJ10gPSAnRXh0ZW5zaW9uJzsKJGxhbmdbJ3NpemVsYWJlbCddID0gJ1NpemUnOwokbGFuZ1snaGFzaGxhYmVsJ10gPSAnTWQ1IGhhc2gnOwokbGFuZ1snZGVzY3JpcHRpb25sYWJlbCddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2NyZWF0ZWRsYWJlbCddID0gJ0NyZWF0aW9uIHRpbWUnOwokbGFuZ1snZXhwaXJlc2xhYmVsJ10gPSAnRXhwaXJlcyc7CiRsYW5nWydzdGFydHNsYWJlbCddID0gJ1N0YXJ0cyc7CiRsYW5nWyd2aXNpYmxlbGFiZWwnXSA9ICdWaXNpYmxlJzsKJGxhbmdbJ3VzZWV4cGlyYXRpb24nXSA9ICdVc2UgZXhwaXJhdGlvbiBkYXRlJzsKJGxhbmdbJ3VzZXN0YXJ0J10gPSAnVXNlIHN0YXJ0IGRhdGUnOwokbGFuZ1snYWRkZmlsZSddID0gJ05ldyBmaWxlJzsKJGxhbmdbJ3NjYW5mb3JuZXdmaWxlcyddID0gJ1NjYW4gZm9yIG5ldyBmaWxlcyc7CiRsYW5nWydzY2FucmVzdWx0J10gPSAnU2Nhbm5lZCBkaXJlY3RvcmllczogJXMgPGJyIC8+ICVzIG5ldyBmaWxlcyBsaXN0ZWQgYmVsb3cuIENob29zZSBmaWxlIHRvIGFkZC4nOwokbGFuZ1snc2Nhbm5vbmV3J10gPSAnTm8gbmV3IGZpbGVzIGFkZGVkLic7CiRsYW5nWydub2ZpbGVnaXZlbiddID0gJ1RoZXJlIHdhcyBubyBmaWxlJzsKJGxhbmdbJ25vdGhpbmd1cGxvYWRlZCddID0gJ05vIGZpbGUgb3IgZW1wdHkgZmlsZSB3YXMgdXBsb2FkZWQuJzsKJGxhbmdbJ3VuYWJsZXRvbW92ZSddID0gJ1VuYWJsZSB0byBtb3ZlIG9yIGNvcHkgdXBsb2FkZWQgZmlsZS4nOwokbGFuZ1sndHlwZWxhYmVsJ10gPSAnVHlwZSc7CiRsYW5nWydmaWxlc3RhYmhlYWRlciddID0gJ0ZpbGVzJzsKJGxhbmdbJ2ZpbGVhZGRlZCddID0gJ0ZpbGUgc3VjY2VzZnVsbHkgYWRkZWQnOwokbGFuZ1snZmlsZW1vZGlmaWVkJ10gPSAnRmlsZSBzdWNjZXNmdWxseSBtb2RpZmllZCc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmZvcm0nXSA9ICdGb3JtIHRlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZGV0YWlsJ10gPSAnRGV0YWlsIHRlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZW1haWwnXSA9ICdFbWFpbCB0ZW1wbGF0ZSc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGUnXSA9ICdVc2UgdGhlIGRlZmF1bHQgdGVtcGxhdGUgKHNlZSB0ZW1wbGF0ZXMgdGFiKSc7CiRsYW5nWydmZXVncm91cHNsYWJlbCddID0gJ0ZFVSBncm91cHMgd2hvIGNhbiBhY2Nlc3MgdGhlIGZpbGUsIGlmIG5vIGdyb3VwIHNlbGVjdGVkIGFsbCBGRVUgdXNlcnMgY2FuIGFjY2Vzcyc7CiRsYW5nWydhY2Nlc3N0eXBlJ10gPSAnQWNjZXNzIHR5cGUnOwokbGFuZ1snYWNjZXNzdHlwZV9mcmVlJ10gPSAnRnJlZSBhY2Nlc3MnOwokbGFuZ1snYWNjZXNzdHlwZV9mZXVvbmx5J10gPSAnRnJvbnRlbmQgVXNlcnMgb25seSc7CiRsYW5nWydhY2Nlc3N0eXBlX2VtYWlsb25seSddID0gJ0VtYWlsIG9ubHknOwokbGFuZ1snYWNjZXNzdHlwZV9taXhlZCddID0gJ0ZFVSBvciBFbWFpbCc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlscyc7CiRsYW5nWydmaWxlY2hhbmdlJ10gPSAnQ2hhbmdlIHRoaXMgZmlsZS4nOwokbGFuZ1snY2hhbmdlZmlsZWluZm8nXSA9ICdDaG9vc2UgbmV3IGZpbGUgdG8gY2hhbmdlIHRoZSBjdXJyZW50ICZxdW90OyVzJnF1b3Q7IChhbGlhczolcykgZmlsZS4gQWxsIGFzc29jaWF0aW9ucywgbGlua3MsIGluZm8gYW5kIGFsaWFzIHdpbGwgc3RheSB0aGUgc2FtZS4nOwokbGFuZ1snZmlsZWNoYW5nZWQnXSA9ICdGaWxlIHdhcyBzdWNjZXNzZnVsbHkgcmVwbGFjZWQnOwokbGFuZ1snY2hhbmdlbmFtZWxhYmVsJ10gPSAnQ2hhbmdlIHRoZSBmaWxlIG5hbWUgdG8gdGhlIG9uZSBmcm9tIG5ldyBmaWxlPyc7CiRsYW5nWydhbGx0aW1lJ10gPSAnQWxsIHRpbWUnOwokbGFuZ1snYXZhaWxhYmxpdHknXSA9ICdBdmFpbGFibGl0eSc7CiRsYW5nWydub2FsaWFzJ10gPSAnTm8gc3VjaCBhbGlhcyBvciBkb3dubG9hZCBub3QgYXZhaWxhYmxlJzsKJGxhbmdbJ25vaGFzaCddID0gJ05vIHN1Y2ggaGFzaCBvciBkb3dubG9hZCBub3QgYXZhaWxhYmxlJzsKJGxhbmdbJ3dyb25ncGFyYW1zJ10gPSAnV3JvbmcgcGFyYW1ldGVycyc7CiRsYW5nWydmaWxlbm90Zm91bmQnXSA9ICdGaWxlICVzIG5vdCBmb3VuZC4nOwokbGFuZ1snd3JvbmdkYXRhJ10gPSAnV3JvbmcgZGF0YSBpbiBkYXRhYmFzZSByb3cuJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTmV3IENhdGVnb3J5JzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcnknOwokbGFuZ1sncGFyZW50X2lkbGFiZWwnXSA9ICdQYXJlbnQgQ2F0ZWdvcnknOwokbGFuZ1snY2F0ZWdvcmllc3RhYmhlYWRlciddID0gJ0NhdGVnb3JpZXMnOwokbGFuZ1sncmVvcmRlcl9wcmlvcml0eSddID0gJ1ByaW9yaXR5ICgtOTkmbmJzcDt0byZuYnNwOzk5KSwgIGxvd2VyLT5iZXR0ZXIgJzsKJGxhbmdbJ25vZG93bmxvYWRzJ10gPSAnTm8gZG93bmxvYWRzIGluIHRoaXMgY2F0ZWdvcnknOwokbGFuZ1snZmlsZW5iJ10gPSAnJXMmbmJzcDtmaWxlKHMpJzsKJGxhbmdbJ2NhdGVnb3J5YWRkZWQnXSA9ICdUaGUgY2F0ZWdvcnkgd2FzIHN1Y2Nlc3NmdWxseSBhZGRlZC4nOwokbGFuZ1snY2F0ZWdvcnl1cGRhdGVkJ10gPSAnVGhlIGNhdGVnb3J5IHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRlZC4nOwokbGFuZ1snY2F0ZWdvcnlkZWxldGVkJ10gPSAnVGhlIGNhdGVnb3J5IHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZC4nOwokbGFuZ1snY2F0ZWdvcnljb250ZW50dHlwZWZyaWVuZGx5J10gPSAnRG93bmxvYWQgQ2F0ZWdvcnknOwokbGFuZ1snb3ZlcmFsbHRhYmhlYWRlciddID0gJ092ZXJhbGwnOwokbGFuZ1snYXNzb2NhdGlvbnN0YWJoZWFkZXInXSA9ICdDYXRlZ29yaWVzJzsKJGxhbmdbJ2FkZGFzc29jJ10gPSAnQWRkIHRvIGNhdGVnb3J5JzsKJGxhbmdbJ3dyb25nY2F0ZWdvcnlzZWwnXSA9ICdDYXRlZ29yeSBzZWxlY3RvciBwYXJzZSBlcnJvci4gPGJyIC8+IFNlbGVjdG9yIGFmdGVyIGNsZWFuaW5nOiAlcyc7CiRsYW5nWydub2NhdGVnb3J5c2VsJ10gPSAnQ2F0ZWdvcnkgc2VsZWN0b3Igbm90IHNldC4nOwokbGFuZ1snd3JvbmdjYXRlZ29yeSddID0gJ1NlbGVjdGVkIGNhdGVnb3J5IGRvZXMgbm90IGV4aXN0cy4nOwokbGFuZ1snc2VuZGVtYWlsJ10gPSAnRW1haWwgZG93bmxvYWQgbGluayc7CiRsYW5nWydwcm9tcHRfZmlyc3RuYW1lJ10gPSAnRmlyc3QgbmFtZSc7CiRsYW5nWydwcm9tcHRfbGFzdG5hbWUnXSA9ICdMYXN0IG5hbWUnOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sncHJvbXB0X21haWxpbmdsaXN0J10gPSAnSSB3b3VsZCBsaWtlIHRvIGhlYXIgYWJvdXQgbmV3IGZpbGVzIGFuZCBpbXBvcnRhbnQgbmV3cyc7CiRsYW5nWydlbWFpbHNlbnQnXSA9ICdBbiBlbWFpbCBjb250YWluaW5nIHRoZSBkb3dubG9hZCBsaW5rIHdhcyBzZW50IHRvIHRoZSBzcGVjaWZpZWQgYWRkcmVzcy4nOwokbGFuZ1snY291bGRub3RzZW5kJ10gPSAnVGhlcmUgd2FzIGFuIGVycm9yIHdpdGggeW91ciByZXF1ZXN0LCBhbmQgdGhlIGVtYWlsIGNvdWxkIG5vdCBiZSBzZW50Lic7CiRsYW5nWydpbnZhbGlkZW1haWwnXSA9ICdUaGUgZW1haWwgeW91IGhhdmUgZW50ZXJlZCBpcyBpbnZhbGlkLiBXaXRob3V0IGEgdmFsaWQgZW1haWwsIHdlIGNhbm5vdCBzZW5kIHlvdSBhIGRvd25sb2FkIGxpbmssIGFuZCB5b3UgY2Fubm90IGRvd25sb2FkIHRoZSBmaWxlLic7CiRsYW5nWydwbGVhc2VfbmFtZSddID0gJ1BsZWFzZSBlbnRlciB5b3VyIG5hbWUuJzsKJGxhbmdbJ3BsZWFzZV9lbWFpbCddID0gJ1BsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFkZHJlc3MuIFRoZSBkb3dubG9hZCBsaW5rIHdpbGwgYmUgc2VudCB0byB0aGlzIGFkZHJlc3MuJzsKJGxhbmdbJ2FkZHRlbXBsYXRlJ10gPSAnTmV3IFRlbXBsYXRlJzsKJGxhbmdbJ2xpc3R0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgdG8gZGlzcGxheSBsaXN0cyBvZiBjYXRlZ29yaWVzIG9yIGZpbGVzJzsKJGxhbmdbJ2FkZGxpc3R0ZW1wbGF0ZSddID0gJ05ldyBMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyB0byBkaXNwbGF5IHRoZSBkZXRhaWxzIG9mIGEgZmlsZSc7CiRsYW5nWydhZGRkZXRhaWx0ZW1wbGF0ZSddID0gJ05ldyBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1snZm9ybXRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmb3IgdGhlIGZvcm0gdG8gcmVxdWVzdCBhIGRvd25sb2FkIGxpbmsgYnkgbWFpbCc7CiRsYW5nWydhZGRmb3JtdGVtcGxhdGUnXSA9ICdOZXcgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBmb3IgZW1haWxzIHNlbnQgd2l0aCBkb3dubG9hZCBsaW5rJzsKJGxhbmdbJ2FkZGVtYWlsdGVtcGxhdGUnXSA9ICdOZXcgRW1haWwgQm9keSBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfZGVsZXRldGVtcGxhdGUnXSA9ICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoZSB0ZW1wbGF0ZSAlcz8nOwokbGFuZ1sndGl0bGVfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7CiRsYW5nWydjb250ZW50bGFiZWwnXSA9ICdDb250ZW50JzsKJGxhbmdbJ3RlbXBsYXRlX25hbWVsYWJlbCddID0gJ05hbWUnOwokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ1RoZSB0ZW1wbGF0ZSB3YXMgc3VjY2Vzc2Z1bGx5IGFkZGVkLic7CiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSB1cGRhdGVkLic7CiRsYW5nWyd0ZW1wbGF0ZWRlbGV0ZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkLic7CiRsYW5nWyd3cm9uZ3RlbXBsYXRlJ10gPSAnV3JvbmcgdGVtcGxhdGUgc3BlY2lmaWVkLic7CiRsYW5nWydhbHJlYWR5ZXhpc3QnXSA9ICdUaGVyZSBpcyBhbHJlYWR5IGEgdGVtcGxhdGUgYnkgdGhhdCBuYW1lLic7CiRsYW5nWydnZW5lcmFsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRiYWNrdG9saXN0bGlua308L2I+PC90ZD48dGQ+UmV0dXJuIGJhY2sgaW4gaGlzdG9yeSBsaW5rPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2ZpbGVpdGVtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zdGFydHN9PC9iPjwvdGQ+PHRkPnN0YXJ0IHRpbWUsIGFmdGVyIHRoaXMgZmlsZSBpcyBhdmFpbGFibGU8L3RkPjwvdHI+DQonOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zdGFydHN9PC9iPjwvdGQ+PHRkPnN0YXJ0IHRpbWUsIGFmdGVyIHRoaXMgZmlsZSBpcyBhdmFpbGFibGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWVzIHRvIHdoaWNoIGZpbGUgYmVsb25nIChhdmFpbGFibGUgaW4gc2VsZWN0b3IgYW5kIGRldGFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkb3dubG9hZCBsaW5rPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgdG8gZmlsZSBkb3dubG9hZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+YXJyYXkgb2YgaHVtYW4gcmVhZGFibGUgYWNjZXNzIHR5cGVzIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkZXRhaWwgbGluazwvdGQ+PC90cj4NCic7CiRsYW5nWydmb3JtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+SW5wdXRzPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskZmlyc3RuYW1lX2lucHV0fTwvYj48L3RkPjx0ZD5maXJzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbGFzdG5hbWVfaW5wdXR9PC9iPjwvdGQ+PHRkPmxhc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGVtYWlsX2lucHV0fTwvYj48L3RkPjx0ZD5lbWFpbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRtYWlsaW5nbGlzdF9pbnB1dH08L2I+PC90ZD48dGQ+bWFpbGluZ2xpc3QgY2hlY2tib3g8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskc3VibWl0fTwvYj48L3RkPjx0ZD5zdWJtaXQ8L3RkPjwvdHI+DQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPkxhYmVsczwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lX2xhYmVsfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9sYWJlbH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfbGFiZWx9PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPg0KJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRmaXJzdG5hbWV9PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZSBvZiB1c2VyIGRvd25sb2FkaW5nIHRoZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkdXJsfTwvYj48L3RkPjx0ZD5saW5rIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkaHJlZn08L2I+PC90ZD48dGQ+dXJpIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnN0YXJ0c308L2I+PC90ZD48dGQ+c3RhcnQgdGltZSwgYWZ0ZXIgdGhpcyBmaWxlIGlzIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKGF2YWlsYWJsZSBpbiBzZWxlY3RvciBhbmQgZGV0YWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kb3dubG9hZH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmFjY2Vzc3R5cGVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRldGFpbCBsaW5rPC90ZD48L3RyPg0KDQonOwokbGFuZ1snbGlzdF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmNlbnRlcjsmcXVvdDs+PGJyLz48aT4gSW4gdGhlIHtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbX0gbG9vcDo8L2k+PC90aD48L3RyPg0KPHRyPjx0aD5WYXJpYWJsZTo8L3RoPjx0aD5XaGF0IGlzIGl0PzwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5pdGVtbGV2ZWx9PC9iPjwvdGQ+PHRkPmFjdHVhbCBjYXRlZ29yeS1sZXZlbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5yb3djbGFzc308L2I+PC90ZD48dGQ+cm93MSBvciByb3cyIGRlcGVuZGluZyBvbiBwYXJpdHk8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+IFdoZW4gPGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+ID0gPGk+aGVhZGVyPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPjwvdGQ+PHRkPjxpPmhlYWRlcjwvaT48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+Y2F0ZWdvcnkgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+Y2F0ZWdvcnkgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c3ViY2F0ZWdvcmllc308L2I+PC90ZD48dGQ+YXJyYXkgb2Ygc3ViY2F0ZWdvcmllcywgZWFjaCBzdWJjYXRlZ29yeSBoYXMgZWxlbWVudHM6IGlkLCBuYW1lLCBsb25nX25hbWUsIGFsaWFzLCBmaWxlc25iLCBpdGVtcywgcGFyZW50PC90ZD48L3RyPg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7ID48aT4gV2hlbiA8Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj4gPSA8aT5maWxlPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPjwvdGQ+PHRkPjxpPmZpbGU8L2k+PC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD50aW1lcyB0aGUgZmlsZSB3YXMgZG93bmxvYWRlZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXh0OiBEb3dubG9hZGVkICVzIHRpbWUocykuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c3RhcnRzfTwvYj48L3RkPjx0ZD5zdGFydCB0aW1lLCBhZnRlciB0aGlzIGZpbGUgaXMgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZyAoYXZhaWxhYmxlIGluIHNlbGVjdG9yIGFuZCBkZXRhaWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZG93bmxvYWQgbGluazwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5ocmVmfTwvYj48L3RkPjx0ZD5ocmVmIHRvIGZpbGUgZG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIGFjY2VzcyB0eXBlcyAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGV0YWlsfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZGV0YWlsIGxpbms8L3RkPjwvdHI+DQoNCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpjZW50ZXI7JnF1b3Q7Pjxici8+PGk+SW4gd2hvbGUgdGVtcGxhdGU6PC9pPjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+VmFyaWFibGU6PC9iPjwvdGQ+PHRkPjxiPldoYXQgaXMgaXQ/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtY291bnR9PC9iPjwvdGQ+PHRkPm51bWJlciBvZiBpdGVtcyBpbiAkaXRlbXM8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbm9kb3dubG9hZHN9PC9iPjwvdGQ+PHRkPm1lc3NhZ2UgdGhlbiB0aGVyZSBhcmUgbm8gZG93bmxvYWRzIGluIHNlbGVjdGVkIGNhdGVnb3J5PC90ZD48L3RyPg0KJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI4MzI4NzM0OS4zMjAyLjc0LnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzkwNTI2MjMwODQxMTAxMDAuMTIxMDQyMzU3Ny4xMjg0MjI1NDA2LjEyODQyMjg4OTUuMzI0Nyc7CiRsYW5nWydxY2EnXSA9ICcxMjEwOTcxNjkwLTI3MzA4MDczLTgxOTUyODMyJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyODQyMjg4OTUnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXIgJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQmUgc3VyZSB0byBzZXQgJnF1b3Q7VXNlIERvd25sb2FkIE1hbmFnZXImcXVvdDsgcGVybWlzc2lvbnMgdG8gdXNlIHRoaXMgbW9kdWxlIS4gPGJyLz4gUmVtZW1iZXIgdG8gY3JlYXRlIGRvd25sb2Fkcy8gZGlyIGluIHJvb3QgY21zIGRpciBhbmQgZ2l2ZSBpdCAwNzc3IHBlcm1pc3Npb25zJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEb3dubG9hZCBNYW5hZ2VyIGRlJml1bWw7bnN0YWxsYXRpZSc7CiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IGRlIG1vZHVsZSB3aWx0IHZlcndpamRlcmVuPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBnZWRlJml1bWw7bnN0YWxsZWVyZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpZSAlcyAgaXMgZ2UmaXVtbDtuc3RhbGxlZXJkLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGV2b29ya2V1cmVuIHppam4gYmV3YWFyZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnVG9lZ2FuZyBnZXdlaWdlcmQuIFpvcmcgZGF0IHUgYmVzY2hpa3Qgb3ZlciB2b2xkb2VuZGUgcmVjaHRlbi4nOwokbGFuZ1snZG93bmxvYWRfZXJyb3JfbXNnJ10gPSAnRXIgaXMgZWVuIGZvdXQgb3BnZXRyZWRlbiB0aWpkZW5zIGhldCB2ZXJ3ZXJrZW4gdmFuIGRpdCBiZXN0YW5kJzsKJGxhbmdbJ25vbmUnXSA9ICdHZWVuJzsKJGxhbmdbJ3N1Ym1pdHJlcWVtYWlsJ10gPSAnVWl0dm9lcmVuIG9tIGVlbiBsaW5rIHRlIG9udmFuZ2VuIHZhbiBoZXQgdGUgZG93bmxvYWRlbiBiZXN0YW5kJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRm91dCEnOwokbGFuZ1snYmFjayddID0gJ0dhIHRlcnVnJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBY3RpZXMnOwokbGFuZ1sncm9vdGNhdGVnb3J5J10gPSAnUm9vdCBjYXRlZ29yaWUnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgZ2UmdXVtbDtwZ3JhZGUgbmFhciB2ZXJzaWUgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZSBWb29ya2V1cmVuJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZSBCZWhlZXIgUGFuZWVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnRG93bmxvYWQgTWFuYWdlciAnOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdVIG1vZXQgZWVuIG5hYW0gaW52b2VyZW4nOwokbGFuZ1snbXVzdGxvZ2luJ10gPSAnVSBtb2V0IHppY2ggYWFubWVsZGVuIG9tIGRpdCBiZXN0YW5kIHRlIGRvd25sb2FkZW46JzsKJGxhbmdbJ21heWFsc29sb2dpbiddID0gJ1UgbWFnIHppY2ggYWFubWVsZGVuIG9tIGRpdCBiZXN0YW5kIHRlIGRvd25sb2FkZW46JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTWV0IGRlemUgbW9kdWxlIGJlaGVlcnQgdSBoZXQgZG93bmxvYWRlbiB2YW4gYmVzdGFuZGVuLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxrb20gaW4gaGV0IERvd25sb2FkTWFuYWdlciBiZWhlZXJnZWRlZWx0ZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMSBhbHBoYSAtIGZpcnN0IGFscGhhIDwvbGk+DQo8bGk+VmVyc2lvbiAwLjIgYmV0YSAtIGl0ZW0gcmVvcmRlciBhZGRlZDwvbGk+DQo8bGk+VmVyc2lvbiAwLjMgYmV0YSAtIG1ha2luZyBtb2R1bGUgbW9yZSB1c2VyLWZyaWVuZGx5PC9saT4NCjxsaT5WZXJzaW9uIDAuNCAtIGZpeGVkIGluc3RhbGwgYnVnIHdoaWNoIHVuYWJsZXMgYXNzb2NpYXRpb25zLCBhZGRlZCBhc3NvY2lhdGlvbnMgaW4gZmlsZSBhZGRpbmc8L2xpPg0KPGxpPlZlcnNpb24gMC44LjQgLSBhZGRlZCBjYXRlZ29yeSBzZWxlY3RvciwgZml4ZWQgc29tZSBidWdzPC9saT4NCjxsaT5WZXJzaW9uIDEuMC1yYzEgIC0gYWRkZWQgaW50ZWdyYXRpb24gd2l0aCBmZXUgbW9kdWxlIGFuZCBzZW5kaW5nIGZpbGUgbGluayBieSBlbWFpbCwgbWFkZSBjYXRlZ29yaWVzIHdhbGthYmxlLCBkaWZmZXJlbnQgdGVtcGxhdGVzIGZvciBkaWZmZXJlbnQgYWN0aW9uIHR5cGVzLCBjaGFuZ2VkIGNhdGVnb3J5X3NlbGVjdG9yIHBhcmFtZXRlciBpbnRvIHNlbGVjdG9yLCByZW1vdmVkIGNhdGVnb3J5IHBhcmFtZXRlciwgYWRkZWQgY2F0ZWdvcnkgbGlzdCBmb3IgZmlsZXMgaW4gc2VsZWN0b3IsIGFkZGVkIGFsaWFzZXMgdG8gZmlsZXMgYW5kIGNhdGVnb3JpZXM8L2xpPg0KPGxpPlZlcnNpb24gMS4xICAtIGFkZGVkIHRoZSBmaWxlY2hhbmdlIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPlZlcnNpb24gMS4yICAtIGFkZGVkIHNjYW5uaW5nIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPlZlcnNpb24gMS4zICAtIGFkZGVkIGRvd25sb2FkIGNvdW50aW5nPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/IDwvaDM+DQo8cD5BbGxvd3MgdG8gbWFuYWdlIERvd25sb2FkcyBmcm9tIGFkbWluIHBhbmVsLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+Rmlyc3QgbWFrZSBkb3dubG9hZHMvIGRpcmVjdG9yeSBpbiByb290IGNtcyBkaXJlY3RvcnkuIE5leHQgZ2l2ZSBpdCAwNzc3IG1vZGUsIGRlcGVuZGluZyBvbiBhcGFjaGUgY29uZmlndXJhdGlvbiBjb3VsZCBiZSAwNzc1IG9yIDA3NTUuPC9wPg0KPHA+VG8gYWNjZXMgbW9kdWxlIGFkbWluIGludGVyZmFjZSBnbyB0byBDb250ZW50IC0+IERvd25sb2FkIE1hbmFnZXIuPC9wPg0KPHA+SW5zdGFsbCBpdCBieSBwbGFjaW5nIHRoZSBtb2R1bGUgaW4gYSBwYWdlIG9yIHRlbXBsYXRlIHVzaW5nIHRoZSBzbWFydHkgdGFnIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTt9LiBTZWUgbW9yZSBleGFtcGxlcyBiZWxvdy48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC48L3A+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFN6eW1vbiDFgXVrYXN6Y3p5ayA8YSBocmVmPSJtYWlsdG86c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tIj48c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tPjwvYT4gJmFtcDsgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+PHBsLmdlcm1haW5AZ21haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPkdlcm1hbiB0cmFuc2xhdGlvbiBieSBDb25uaWUgTSZ1dW1sO2xsZXItRyZvdW1sO2RlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPjxjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGU+PC9hPi48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnQWN0aW9uIGNob29zZW4uIFBvc3NpYmxlIGFjdGlvbnM6IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdA0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPmNhdGVnb3J5aWQ8L2VtPiBvciA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWxpYXM9JiMwMzk7bXktY2F0ZWdvcnkmIzAzOTsgZGVwdGg9JiMwMzk7MiYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogYWxsb3cgdG8gc2VsZWN0IG11bHRpcGxlIGNhdGVnb3JpZXMsIHNlZSBzZWxlY3RvciBwYXJhbWV0ZXINCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5zZWxlY3RvcjwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtzZWxlY3RvciYjMDM5OyBzZWxlY3Rvcj0mIzAzOTszJmFtcDsoMXwyKSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRldGFpbDwvZW0+OiBzaG93cyBkZXRhaWxzIG9mIHNlbGVjdGVkIGZpbGUNCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkZXRhaWwmIzAzOTsgYWxpYXM9JiMwMzk7bXktZmlsZSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4gDQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWN0aW9uPSYjMDM5O2Rvd25sb2FkJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeWlkJ10gPSAnQ2F0ZWdvcmllIGlkLCBjYW4gZ2V2b25kZW4gd29yZGVuIGluIGRlIGNhdGVnb3JpZSB0YWIuIEFscyBkZXplIGdlc2VsZWN0ZWVyZCBpcywgd29yZHQgZGUgYWxpYXMgZ2VuZWdlZXJkLic7CiRsYW5nWydoZWxwX3BhcmFtX2FsaWFzJ10gPSAnQ2F0ZWdvcmllIG9mIGJlc3RhbmRzYWxpYXMuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fZGVwdGgnXSA9ICdTdGFhdCBoZXQgc3BlY2lmaWNlcmVuIHZhbiBkZSB0ZSB0b25lbiBkaWVwdGUgdmFuIGRlIGJvb20gYmlqIGVlbiBzdGFuZGFhcmQgYWN0aWUgdG9lLiBJbmRpZW4gbmlldCBpbmdldm9lcmQgemFsIGRlIGdlaGVsZSBib29tIHdvcmRlbiBnZXRvb25kLic7CiRsYW5nWydoZWxwX3BhcmFtX3RlbXBsYXRlJ10gPSAnU2phYmxvb24gbmFhbS4gSW5kaWVuIG5pZXQgaW5nZXZvZXJkLCBkYW4gaXMgaGV0IHN0YW5kYWFyZCBzamFibG9vbiAgdm9vciBkZSBodWlkaWdlIGFjdGllOiBhY3Rpb24vZmlsZS9jYXRlZ29yeS4nOwokbGFuZ1snaGVscF9wYXJhbV9zZWxlY3RvciddID0gJ1RoZSBzZWxlY3RvciB3aGljaCBhbGxvd3MgdG8gY2hvb3NlIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnkuIFRoZSBzZWxlY3RvciBzeW50YXggY2FuIGhhdmU6DQo8dWw+DQo8bGk+JnF1b3Q7JmFtcDsmcXVvdDsgLSBpbnRlcnNlY3Rpb248L2xpPg0KPGxpPiZxdW90O3wmcXVvdDsgLSBzdW08L2xpPg0KPGxpPmNhdGVnb3J5IGlkICh5b3UgY2FuIHNlZSBpdCBpbiBjYXRlZ29yaWVzIHRhYik8L2xpPg0KPGxpPmFsbCBvdGhlciBjaGFyYWN0ZXJzIHdpbGwgYmUgY2xlYW5lZCBiZWZvcmUgcGFyc2luZzwvbGk+DQo8L3VsPg0KRm9yIGV4YW1wbGUgc2VsZWN0b3I9JnF1b3Q7MyZhbXA7KDF8MikmcXVvdDsgd2lsbCBjaG9vc2UgYWxsIGVsZW1lbnRzIGZyb20gY2F0ZWdvcnkgd2l0aCBpZD0zIHdoaWNoIGFyZSBhbHNvIGluIHN1bSBvZiBjYXRlZ29yeSAxIGFuZCAyLiA8YnIvPg0KSWYgc2VsZWN0b3IgaXMgc3BlY2lmaWVkIGNhdGVnb3J5IHBhcmFtZXRlciB3aWxsIDxiPm5vdDwvYj4gYmUgcGFyc2VkLg0KJzsKJGxhbmdbJ3dyb25nYWxpYXMnXSA9ICdWZXJrZWVyZGUgYWxpYXMgZ2VnZXZlbi4nOwokbGFuZ1snZG93bmxvYWQnXSA9ICdEb3dubG9hZCAnOwokbGFuZ1snZG93bmxvYWRpbmcnXSA9ICclcyBhYW4gaGV0IGRvd25sb2FkZW4uLi4nOwokbGFuZ1snYmFja3RvbGlzdCddID0gJ1RlcnVnIG5hYXIgZGUgYmVzdGFuZHNsaWpzdC4nOwokbGFuZ1snZG93bmxvYWRpbmdfaW5mbyddID0gJ1V3IGRvd25sb2FkIHphbCBkaXJlY3Qgc3RhcnRlbi4gQWxzIGVyIG9udmVyaG9vcHQgZWVuIGZvdXQgb3B0cmVlZHQsIG5lZW10IHUgZGFuIGNvbnRhY3Qgb3AgbWV0IGRlIHdlYnNpdGUgYmVoZWVyZGVyLic7CiRsYW5nWydub2ZpbGUnXSA9ICdHZWVuIGJlc3RhbmRzbmFhbSBpbmdldm9lcmQnOwokbGFuZ1snd3JvbmdmaWxlJ10gPSAnVmVya2VlcmRlIGJlc3RhbmRzIGlkJzsKJGxhbmdbJ25vYWNjZXNzJ10gPSAnVSBoZWVmdCBnZWVuIHRvZWdhbmcgdG90IGRpdCBiZXN0YW5kLic7CiRsYW5nWydkb3dubG9hZF9kaXInXSA9ICdEb3dubG9hZCBtYXAnOwokbGFuZ1snd3lzaXd5Z19vbiddID0gJ1dZU0lXWUcgYWFuIGluIGFkbWluIHRhYnM/JzsKJGxhbmdbJ2Rvd25sb2FkX3NjYW4nXSA9ICdUZSBzY2FubmVuIGRpcmVjdG9yaWVzIChnZXNjaGVpZGVuIGRvb3IgZWVuIHB1bnQta29tbWEsIGJpanYuOiAmcXVvdDtkaXIxLztkaXIyLztkaXIzLyZxdW90OyApJzsKJGxhbmdbJ2Rvd25sb2FkX3NjYW5fcmVjdXJzJ10gPSAnU2NhbiBkaXJlY3RvcmllcyByZWN1cnNpZWY/JzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlJ10gPSAnRG93bmxvYWQgc2phYmxvb24nOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGVfaW5mbyddID0gJzx0YWJsZSBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmxlZnQ7JnF1b3Q7Pg0KPHRyPjx0ZD48Yj5WYXJpYWJsZTo8L2I+PC90ZD48dGQ+PGI+V2hhdCBpcyBpdD88L2I+PC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskZG93bmxvYWRpbmd9PC9iPjwvdGQ+PHRkPlRleHQ6IERvd25sb2FkaW5nICVzLi4uPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskZG93bmxvYWRpbmdfaW5mb308L2I+PC90ZD48dGQ+VGV4dDogWW91ciBkb3dubG9hZCBzaG91bGQgYmVnaW4gc2hvcnRseS4gSWYgeW91IGVuY291bnRlciBwcm9ibGVtcywgcGxlYXNlIGNvbnRhY3QgdGhlIFdlYm1hc3Rlci48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+e2Rvd25sb2FkX25hbWV9PC9iPjwvdGQ+PHRkPk5hbWUgb2YgY3VycmVudGx5IGRvd25sb2FkaW5nIGZpbGUuPC90ZD48L3RyPg0KPC90YWJsZT4NCiAnOwokbGFuZ1snZG93bmxvYWRfZGlyX25vdF93cml0YWJsZSddID0gJ0Rvd25sb2FkIG1hcCAoJXMpIGlzIG5pZXQgc2NocmlqZmJhYXIsIHdpanppZyBjaG1vZCA3NzcuJzsKJGxhbmdbJ2Rpcl9kb250X2V4aXN0cyddID0gJ0Rvd25sb2FkIG1hcCAoJXMpIGJlc3RhYXQgbmlldCwgbWFhayBkZXplIGVlcnN0IGFhbi4nOwokbGFuZ1snc2VhcmNoX2V4cGlyZSddID0gJ1ZlcmxvcGVuIGVuIG5pZXQtZ2VzdGFydGUgZG93bmxvYWRzIGt1bm5lbiB2b29ya29tZW4gaW4gZGUgem9la3Jlc3VsdGF0ZW4nOwokbGFuZ1sndGh1bWJfZGlyJ10gPSAnTWFwIHZvb3Igc2Nhbm5lbi9vcHNsYWFuIHZhbiB0aHVtYm5haWxzLiBTdGFuZGFhcmQ6ICZxdW90O2ltYWdlcy9Eb3dubG9hZE1hbmFnZXJUaHVtYnMvJnF1b3Q7LiBEZSBtYXAgbW9ldCBiZXN0YWFuJzsKJGxhbmdbJ3RodW1iX3NpemUnXSA9ICdNYXhpbWFsZSB0aHVtYm5haWwgZ3Jvb3R0ZSc7CiRsYW5nWyd0aHVtYl9hdXRvJ10gPSAnUHJvYmVyZW4gb20gYXV0b21hdGlzY2ggdGh1bWJuYWlscyBhYW4gdGUgbWFrZW4/JzsKJGxhbmdbJ25hbWVsYWJlbCddID0gJ05hYW0nOwokbGFuZ1snY291bnRlcmxhYmVsJ10gPSAnRG93bmxvYWQgdGVsbGVyJzsKJGxhbmdbJ2NvdW50ZXJuYnInXSA9ICclcyBLZWVyIGdlZG93bmxvYWQuJzsKJGxhbmdbJ2FsaWFzbGFiZWwnXSA9ICdBbGlhcyAnOwokbGFuZ1snc2VsZWN0b3InXSA9ICdDYXRlZ29yaWUgc2VsZWN0b3InOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyICc7CiRsYW5nWydub2ZpbHRlciddID0gJ0dlZW4gZmlsdGVyJzsKJGxhbmdbJ25vc2VsZWN0b3InXSA9ICdHZWVuIHNlbGVjdG9yJzsKJGxhbmdbJ2N1cnJlbnQnXSA9ICdIdWlkaWcnOwokbGFuZ1sndmVyYm9zZSddID0gJ3ZlcmJhYWwnOwokbGFuZ1snZmlsZWxhYmVsJ10gPSAnQmVzdGFuZCc7CiRsYW5nWydmaWxlZGVsZXRlZCddID0gJ0Jlc3RhbmQgaXMgdmVyd2lqZGVyZC4nOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCBlZW4gbmlldXcgYmVzdGFuZCc7CiRsYW5nWydhbHJlYWR5dXBsb2FkZWQnXSA9ICdHZWJydWlrIGVlbiBiZXN0YW5kIGRhdCBqZSBhbCBnZSZ1dW1sO3Bsb2FkIGhlYnQgKHNjaHJpamYgaGV0IGV4YWN0ZSBwYWQgbmFhciBoZXQgYmVzdGFuZCBpbiBkZSBDTVMgcm9vdCBkaXJlY3RvcnkpJzsKJGxhbmdbJ2V4dGVybmFsZmlsZSddID0gJ0dlYnJ1aWsgaGV0IGV4dGVybiBiZXN0YW5kIHZpYSBodHRwLiBIZXQgYmVzdGFuZCBob2VmdCBuaWV0IHRlIHdvcmRlbiBnZWRvd25sb2FkIG5hYXIgZGUgc2VydmVyJzsKJGxhbmdbJ2ZpbGVkb2VzbnRleGlzdHMnXSA9ICdCZXN0YW5kICVzIGJlc3RhYXQgbmlldCBvcCBkZSBzZXJ2ZXIuJzsKJGxhbmdbJ2N1cmxmYWlsZWQnXSA9ICdjVVJMIGFhbnJvZXAgbWlzbHVrdC4nOwokbGFuZ1snY3VybGRvZXNudGV4aXN0cyddID0gJ2NVUkwgUEhQIGV4dGVuc2llLCBiZW5vZGlnZCB2b29yIGV4dGVybmUgbGlua3MsIG5pZXQgYWFud2V6aWcuJzsKJGxhbmdbJ3NlcnZlcl9uYW1lbGFiZWwnXSA9ICdOYWFtIHZhbiBkZSBzZXJ2ZXInOwokbGFuZ1snZXh0bGFiZWwnXSA9ICdFeHRlbnNpZSc7CiRsYW5nWydzaXplbGFiZWwnXSA9ICdHcm9vdHRlJzsKJGxhbmdbJ2hhc2hsYWJlbCddID0gJ01kNSBoYXNoICc7CiRsYW5nWydkZXNjcmlwdGlvbmxhYmVsJ10gPSAnT21zY2hyaWp2aW5nJzsKJGxhbmdbJ2NyZWF0ZWRsYWJlbCddID0gJ0Fhbm1hYWsgdGlqZHN0aXAnOwokbGFuZ1snZXhwaXJlc2xhYmVsJ10gPSAnVmVybG9vcHQnOwokbGFuZ1snbWFrZV90aHVtYmxhYmVsJ10gPSAnRWVuIHRodW1ibmFpbCBtYWtlbiB2YW4gYWZiZWVsZGluZyAoaW5kaWVuIG1vZ2VsaWprKT8nOwokbGFuZ1sndGh1bWJsYWJlbCddID0gJ1RodW1ibmFpbCAnOwokbGFuZ1snc3RhcnRzbGFiZWwnXSA9ICdCZWdpbnQnOwokbGFuZ1sndmlzaWJsZWxhYmVsJ10gPSAnWmljaHRiYWFyJzsKJGxhbmdbJ3VzZWV4cGlyYXRpb24nXSA9ICdHZWJydWlrIHZlcmxvb3AgZGF0dW0nOwokbGFuZ1sndXNlc3RhcnQnXSA9ICdHZWJydWlrIHN0YXJ0ZGF0dW0nOwokbGFuZ1snYWRkZmlsZSddID0gJ05pZXV3IGJlc3RhbmQnOwokbGFuZ1snc2NhbmZvcm5ld2ZpbGVzJ10gPSAnU2NhbiBuYWFyIG5pZXV3ZSBiZXN0YW5kZW4nOwokbGFuZ1snc2NhbnJlc3VsdCddID0gJ0dlc2NhbmRlIGRpcmVjdG9yaWVzOiAlcyA8YnIgLz4gJXMgTmlldXdlIGJlc3RhbmRlbiB6aWpuIG9uZGVyc3RhYW5kIG9wZ2Vzb21kLiBLaWVzIGVlbiBiZXN0YW5kIG9tIHRvZSB0ZSB2b2VnZW4uJzsKJGxhbmdbJ3NjYW5ub25ldyddID0gJ0dlZW4gbmlldXdlIGJlc3RhbmRlbiB0b2VnZXZvZWdkLic7CiRsYW5nWydub2ZpbGVnaXZlbiddID0gJ0VyIHppam4gZ2VlbiBuaWV1d2UgYmVzdGFuZGVuJzsKJGxhbmdbJ25vdGhpbmd1cGxvYWRlZCddID0gJ0VyIGlzIGdlZW4sIGRhbndlbCBlZW4gbGVlZyBiZXN0YW5kIGdlJnV1bWw7cGxvYWQuJzsKJGxhbmdbJ3VuYWJsZXRvbW92ZSddID0gJ0thbiBoZXQgZ2UmdXVtbDtwbG9hZGUgYmVzdGFuZCBuaWV0IHZlcnBsYWF0c2VuIG9mIGtvcGkmZXVtbDtyZW4uJzsKJGxhbmdbJ3R5cGVsYWJlbCddID0gJ1R5cGUgJzsKJGxhbmdbJ2ZpbGVzdGFiaGVhZGVyJ10gPSAnQmVzdGFuZGVuJzsKJGxhbmdbJ2ZpbGVhZGRlZCddID0gJ0Jlc3RhbmQgc3VjY2Vzdm9sIHRvZWdldm9lZ2QnOwokbGFuZ1snZmlsZW1vZGlmaWVkJ10gPSAnQmVzdGFuZCBzdWNjZXN2b2wgZ2V3aWp6aWdkLic7CiRsYW5nWyd0ZW1wbGF0ZWZvcmZvcm0nXSA9ICdGb3JtdWxpZXIgc2phYmxvb24nOwokbGFuZ1sndGVtcGxhdGVmb3JkZXRhaWwnXSA9ICdEZXRhaWwgc2phYmxvb24nOwokbGFuZ1sndGVtcGxhdGVmb3JlbWFpbCddID0gJ0UtbWFpbCBzamFibG9vbic7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGUnXSA9ICdQYXMgaGV0IHN0YW5kYWFyZCAoZGVmYXVsdCkgc2phYmxvb24gdG9lIChzZWUgc2phYmxvbmVuIHRhYiknOwokbGFuZ1snZmV1Z3JvdXBzbGFiZWwnXSA9ICdGRVUgZ3JvZXBlbiBkaWUgdG9lZ2FuZyBoZWJiZW4gdG90IGhldCBiZXN0YW5kJzsKJGxhbmdbJ2FjY2Vzc3R5cGUnXSA9ICdUb2VnYW5nc3R5cGUnOwokbGFuZ1snYWNjZXNzdHlwZV9mcmVlJ10gPSAnVnJpamUgdG9lZ2FuZyc7CiRsYW5nWydhY2Nlc3N0eXBlX2ZldW9ubHknXSA9ICdBbGxlZW4gRnJvbnRlbmQgR2VicnVpa2Vycyc7CiRsYW5nWydhY2Nlc3N0eXBlX2VtYWlsb25seSddID0gJ0FsbGVlbiBFLW1haWwnOwokbGFuZ1snYWNjZXNzdHlwZV9taXhlZCddID0gJ0ZFVSBvZiBFLW1haWwnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMgJzsKJGxhbmdbJ2ZpbGVjaGFuZ2UnXSA9ICdCZXdlcmsgZGl0IGJlc3RhbmQuJzsKJGxhbmdbJ2NoYW5nZWZpbGVpbmZvJ10gPSAnS2llcyBlZW4gbmlldXcgYmVzdGFuZCBvbSBkZSBodWlkaWdlIG1lZSB0ZSB2ZXJ2YW5nZW4gJnF1b3Q7JXMmcXVvdDsgKGFsaWFzOiVzKSBiZXN0YW5kLiBBbGxlIGFzc29jaWF0aWVzLCBsaW5rcywgaW5mbyBlbiBhbGlhcyB3aWxsIHp1bGxlbiBkZXplbGZkZSBibGlqdmVuLic7CiRsYW5nWydmaWxlY2hhbmdlZCddID0gJ0Jlc3RhbmQgaXMgc3VjY2Vzdm9sIGhlcnBsYWF0c3QnOwokbGFuZ1snY2hhbmdlbmFtZWxhYmVsJ10gPSAnQmVzdGFuZHNuYWFtIHdpanppZ2VuIGluIGRpZSB2YW4gaGV0IG5pZXV3ZSBiZXN0YW5kPyc7CiRsYW5nWydhbGx0aW1lJ10gPSAnQWx0aWpkJzsKJGxhbmdbJ2F2YWlsYWJsaXR5J10gPSAnQmVzY2hpa2JhYXJoZWlkJzsKJGxhbmdbJ25vYWxpYXMnXSA9ICdHZWVuIGFsaWFzIG9mIGRvd25sb2FkIGJlc2NoaWtiYWFyJzsKJGxhbmdbJ25vaGFzaCddID0gJ0dlZW4gYWxpYXMgb2YgZG93bmxvYWQgYmVzY2hpa2JhYXInOwokbGFuZ1snd3JvbmdwYXJhbXMnXSA9ICdWZXJrZWVyZGUgcGFyYW1ldGVycyc7CiRsYW5nWydmaWxlbm90Zm91bmQnXSA9ICdCZXN0YW5kICVzIG5pZXQgZ2V2b25kZW4uJzsKJGxhbmdbJ3dyb25nZGF0YSddID0gJ1ZlcmtlZXJkZSBkYXRhIGluIGRlIGRhdGFiYXNlIHJlZ2VsLic7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ05pZXV3ZSBDYXRlZ29yaWUnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yaWUnOwokbGFuZ1sncGFyZW50X2lkbGFiZWwnXSA9ICdIb29mZCBDYXRlZ29yaWUnOwokbGFuZ1snY2F0ZWdvcmllc3RhYmhlYWRlciddID0gJ0NhdGVnb3JpJmV1bWw7bic7CiRsYW5nWydyZW9yZGVyX3ByaW9yaXR5J10gPSAnUHJpb3JpdGVpdCAoLTk5IHRvdCA5OSksICBsYWdlci0+YmV0ZXIgJzsKJGxhbmdbJ25vZG93bmxvYWRzJ10gPSAnR2VlbiBkb3dubG9hZHMgaW4gZGV6ZSBjYXRlZ29yaWUnOwokbGFuZ1snZmlsZW5iJ10gPSAnJXMgYmVzdGFuZChlbiknOwokbGFuZ1snY2F0ZWdvcnlhZGRlZCddID0gJ0RlIGNhdGVnb3JpZSBpcyBzdWNjZXN2b2wgdG9lZ2V2b2VnZC4nOwokbGFuZ1snY2F0ZWdvcnl1cGRhdGVkJ10gPSAnRGUgdXBkYXRlIHZhbiBkZSBjYXRlZ29yaWUgd2FzIHN1Y2Nlc3ZvbC4nOwokbGFuZ1snY2F0ZWdvcnlkZWxldGVkJ10gPSAnSGV0IHZlcndpamRlcmVuIHZhbiBkZSBjYXRlZ29yaWUgd2FzIHN1Y2Nlc3ZvbCc7CiRsYW5nWydjYXRlZ29yeWNvbnRlbnR0eXBlZnJpZW5kbHknXSA9ICdEb3dubG9hZCBDYXRlZ29yaWUnOwokbGFuZ1snb3ZlcmFsbHRhYmhlYWRlciddID0gJ092ZXIgZGUgZ2VoZWxlIGxpbmllJzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ10gPSAnQ2F0ZWdvcmkmZXVtbDtuJzsKJGxhbmdbJ2FkZGFzc29jJ10gPSAnVG9ldm9lZ2VuIGFhbiBjYXRlZ29yaWUnOwokbGFuZ1snd3JvbmdjYXRlZ29yeXNlbCddID0gJ0NhdGVnb3JpZSBzZWxlY3RvciBwYXJzZSBmb3V0LiA8YnIgLz5TZWxlY3RvciBuYSBvcHNjaG9uZW46ICVzJzsKJGxhbmdbJ25vY2F0ZWdvcnlzZWwnXSA9ICdDYXRlZ29yaWUgc2VsZWN0b3IgbmlldCBpbmdlc3RlbGQuJzsKJGxhbmdbJ3dyb25nY2F0ZWdvcnknXSA9ICdEZSBnZXNlbGVjdGVlcmRlIGNhdGVnb3JpZSBiZXN0YWF0IG5pZXQuJzsKJGxhbmdbJ3NlbmRlbWFpbCddID0gJ0UtbWFpbCBkb3dubG9hZCBsaW5rJzsKJGxhbmdbJ3Byb21wdF9maXJzdG5hbWUnXSA9ICdWb29ybmFhbSc7CiRsYW5nWydwcm9tcHRfbGFzdG5hbWUnXSA9ICdBY2h0ZXJuYWFtJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0UtbWFpbCc7CiRsYW5nWydwcm9tcHRfbWFpbGluZ2xpc3QnXSA9ICdJayB3aWwgb3AgZGUgaG9vZ3RlIGdlaG91ZGVuIHdvcmRlbiB2YW4gbmlldXdlIGJlc3RhbmRlbiBlbiBiZWxhbmdyaWprIG5pZXV3cyc7CiRsYW5nWydlbWFpbHNlbnQnXSA9ICdFciBpcyBlZW4gRS1tYWlsIG1ldCBkZSBkb3dubG9hZCBsaW5rIGdlc3R1dXJkIG5hYXIgaGV0IG9wZ2VnZXZlbiBhZHJlcy4nOwokbGFuZ1snY291bGRub3RzZW5kJ10gPSAnRXIgaXMgaWV0cyB2ZXJrZWVyZCBnZWdhYW4gaW4gamUgdmVyem9laywgZGUgRS1tYWlsIGtvbiBuaWV0IHZlcnpvbmRlbiB3b3JkZW4uJzsKJGxhbmdbJ2ludmFsaWRlbWFpbCddID0gJ0hldCBFLW1haWwgYWRyZXMgZGF0IGplIGhlYnQgaW5nZXZvZXJkIGlzIG9uZ2VsZGlnLiBab25kZXIgZWVuIGdlbGRpZyAod2Vya2VuZCkgRS1tYWlsIGFkcmVzIGt1bm5lbiB3ZSBqZSBnZWVuIGRvd25sb2FkIGxpbmsgc3R1cmVuIGVuIGt1biBqZSBoZXQgYmVzdGFuZCBuaWV0IGRvd25sb2FkZW4uJzsKJGxhbmdbJ3BsZWFzZV9uYW1lJ10gPSAnVnVsIHUgdXcgbmFhbSBpbi4nOwokbGFuZ1sncGxlYXNlX2VtYWlsJ10gPSAnVnVsIGhpZXIgamUgRS1tYWlsIGFkcmVzIGluLiBEZSBkb3dubG9hZCBsaW5rIHphbCBkYWFyIG5hYXJ0b2UgZ2VzdHV1cmQgd29yZGVuLic7CiRsYW5nWydhZGR0ZW1wbGF0ZSddID0gJ05pZXV3IFNqYWJsb29uJzsKJGxhbmdbJ2xpc3R0ZW1wbGF0ZXMnXSA9ICdTamFibG9uZW4gb20gbGlqc3RlbiBtZXQgY2F0ZWdvcmllJmV1bWw7biBvZiBiZXN0YW5kZW4gdGUgdG9uZW4uJzsKJGxhbmdbJ2FkZGxpc3R0ZW1wbGF0ZSddID0gJ05pZXV3IGxpanN0c2phYmxvb24uJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ1NqYWJsb25lbiBvbSBkZSBkZXRhaWxzIHZhbiBlZW4gYmVzdGFuZCB0ZSB0b25lbi4nOwokbGFuZ1snYWRkZGV0YWlsdGVtcGxhdGUnXSA9ICdOaWV1dyBkZXRhaWxzamFibG9vbic7CiRsYW5nWydmb3JtdGVtcGxhdGVzJ10gPSAnU2phYmxvbmVuIHZvb3IgaGV0IGZvcm11bGllciB3YWFybWVlIGVlbiBkb3dubG9hZGxpbmsgcGVyIG1haWwgYWFuZ2V2cmFhZ2Qga2FuIHdvcmRlbi4nOwokbGFuZ1snYWRkZm9ybXRlbXBsYXRlJ10gPSAnTmlldXcgZm9ybXVsaWVyIHNqYWJsb29uLic7CiRsYW5nWydlbWFpbHRlbXBsYXRlcyddID0gJ1NqYWJsb25lbiB2b29yIGRlIHRlIHN0dXJlbiBFLW1haWxzIG1ldCBkZSBkb3dubG9hZGxpbmsnOwokbGFuZ1snYWRkZW1haWx0ZW1wbGF0ZSddID0gJ05pZXV3IEUtbWFpbCBib2R5IHNqYWJsb29uJzsKJGxhbmdbJ3Byb21wdF9kZWxldGV0ZW1wbGF0ZSddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgc2phYmxvb24gJXMgd2lsdCB2ZXJ3aWpkZXJlbj8nOwokbGFuZ1sndGl0bGVfdGVtcGxhdGUnXSA9ICdTamFibG9vbic7CiRsYW5nWydjb250ZW50bGFiZWwnXSA9ICdJbmhvdWQnOwokbGFuZ1sndGVtcGxhdGVfbmFtZWxhYmVsJ10gPSAnTmFhbSc7CiRsYW5nWyd0ZW1wbGF0ZWFkZGVkJ10gPSAnSGV0IHNqYWJsb29uIGlzIHN1Y2Nlc3ZvbCB0b2VnZXZvZWdkLic7CiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdIZXQgc2phYmxvb24gaXMgc3VjY2Vzdm9sIGJpamdld2Vya3QuJzsKJGxhbmdbJ3RlbXBsYXRlZGVsZXRlZCddID0gJ0hldCBzamFibG9vbiBpcyBzdWNjZXN2b2wgdmVyd2lqZGVyZC4nOwokbGFuZ1snd3Jvbmd0ZW1wbGF0ZSddID0gJ1ZlcmtlZXJkZSBzamFibG9vbiBvcGdlZ2V2ZW4uJzsKJGxhbmdbJ2FscmVhZHlleGlzdCddID0gJ0VyIGJlc3RhYXQgYWwgZWVuIHNqYWJsb29uIG1ldCBkaWUgbmFhbS4nOwokbGFuZ1snZ2VuZXJhbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskYmFja3RvbGlzdGxpbmt9PC9iPjwvdGQ+PHRkPkdhIHRlcnVnIGluIGRlIGdlc2NoaWVkZW5pcyBsaW5rPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2ZpbGVpdGVtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCic7CiRsYW5nWydkZXRhaWxfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZyAob25seSB3aGVuIGNhdGVnb3J5IHNlbGVjdG9yIGlzIHVzZWQpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZG93bmxvYWQgbGluazwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5ocmVmfTwvYj48L3RkPjx0ZD5ocmVmIHRvIGZpbGUgZG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIGFjY2VzcyB0eXBlcyAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGV0YWlsfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZGV0YWlsIGxpbms8L3RkPjwvdHI+DQoNCic7CiRsYW5nWydmb3JtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+SW5wdXRzPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskZmlyc3RuYW1lX2lucHV0fTwvYj48L3RkPjx0ZD5maXJzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbGFzdG5hbWVfaW5wdXR9PC9iPjwvdGQ+PHRkPmxhc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGVtYWlsX2lucHV0fTwvYj48L3RkPjx0ZD5lbWFpbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRtYWlsaW5nbGlzdF9pbnB1dH08L2I+PC90ZD48dGQ+bWFpbGluZ2xpc3QgY2hlY2tib3g8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskc3VibWl0fTwvYj48L3RkPjx0ZD5zdWJtaXQ8L3RkPjwvdHI+DQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPkxhYmVsczwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lX2xhYmVsfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9sYWJlbH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfbGFiZWx9PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPg0KJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRmaXJzdG5hbWV9PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZSBvZiB1c2VyIGRvd25sb2FkaW5nIHRoZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkdXJsfTwvYj48L3RkPjx0ZD5saW5rIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkaHJlZn08L2I+PC90ZD48dGQ+dXJpIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZyAoYXZhaWxhYmxlIGluIHNlbGVjdG9yIGFuZCBkZXRhaWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZG93bmxvYWQgbGluazwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5ocmVmfTwvYj48L3RkPjx0ZD5ocmVmIHRvIGZpbGUgZG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIGFjY2VzcyB0eXBlcyAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGV0YWlsfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZGV0YWlsIGxpbms8L3RkPjwvdHI+DQonOwokbGFuZ1snbGlzdF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmNlbnRlcjsmcXVvdDs+PGJyLz48aT4gSW4gdGhlIHtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbX0gbG9vcDo8L2k+PC90aD48L3RyPg0KPHRyPjx0aD5WYXJpYWJsZTo8L3RoPjx0aD5XaGF0IGlzIGl0PzwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5pdGVtbGV2ZWx9PC9iPjwvdGQ+PHRkPmFjdHVhbCBjYXRlZ29yeS1sZXZlbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5yb3djbGFzc308L2I+PC90ZD48dGQ+cm93MSBvciByb3cyIGRlcGVuZGluZyBvbiBwYXJpdHk8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+IFdoZW4gPGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+ID0gPGk+aGVhZGVyPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPjwvdGQ+PHRkPjxpPmhlYWRlcjwvaT48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+Y2F0ZWdvcnkgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+Y2F0ZWdvcnkgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c3ViY2F0ZWdvcmllc308L2I+PC90ZD48dGQ+YXJyYXkgb2Ygc3ViY2F0ZWdvcmllcywgZWFjaCBzdWJjYXRlZ29yeSBoYXMgZWxlbWVudHM6IGlkLCBuYW1lLCBsb25nX25hbWUsIGFsaWFzLCBmaWxlc25iLCBpdGVtcywgcGFyZW50PC90ZD48L3RyPg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7ID48aT4gV2hlbiA8Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj4gPSA8aT5maWxlPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPjwvdGQ+PHRkPjxpPmZpbGU8L2k+PC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD50aW1lcyB0aGUgZmlsZSB3YXMgZG93bmxvYWRlZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXh0OiBEb3dubG9hZGVkICVzIHRpbWUocykuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWVzIHRvIHdoaWNoIGZpbGUgYmVsb25nIChvbmx5IHdoZW4gY2F0ZWdvcnkgc2VsZWN0b3IgaXMgdXNlZCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkb3dubG9hZCBsaW5rPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgdG8gZmlsZSBkb3dubG9hZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+YXJyYXkgb2YgaHVtYW4gcmVhZGFibGUgYWNjZXNzIHR5cGVzIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkZXRhaWwgbGluazwvdGQ+PC90cj4NCg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDt0ZXh0LWFsaWduOmNlbnRlcjsmcXVvdDs+PGJyLz48aT5JbiB3aG9sZSB0ZW1wbGF0ZTo8L2k+PC90aD48L3RyPg0KPHRyPjx0ZD48Yj5WYXJpYWJsZTo8L2I+PC90ZD48dGQ+PGI+V2hhdCBpcyBpdD88L2I+PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW1jb3VudH08L2I+PC90ZD48dGQ+bnVtYmVyIG9mIGl0ZW1zIGluICRpdGVtczwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRub2Rvd25sb2Fkc308L2I+PC90ZD48dGQ+bWVzc2FnZSB0aGVuIHRoZXJlIGFyZSBubyBkb3dubG9hZHMgaW4gc2VsZWN0ZWQgY2F0ZWdvcnk8L3RkPjwvdHI+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xODUyMjIxMjcxLjEyODc0NzkwOTIuMTMwNzkxNDY3MS4xMzA3OTY3OTgwLjE2OSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMDc5MTQ2NzEuMTY4LjEwNS51dG1jc3I9c2lsa2ZyYW1ld29yay5jb218dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaG9tZS9hYm91dCc7CiRsYW5nWydxY2EnXSA9ICdQMC0xNjEwMzE4OTctMTI4NzQ3OTA5MjE3MSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIE1hbmFnZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdVc3RhdyB6ZXp3b2xlbmlhICZxdW90O1VzZSBEb3dubG9hZCBNYW5hZ2VyJnF1b3Q7LCDFvGVieSB1xbx5d2HEhyB0ZW4gbW9kdcWCIS4gPGJyLz4gVXR3Jm9hY3V0ZTtyeiBrYXRhbG9nIGRvd25sb2Fkcy8gdyBnxYImb2FjdXRlO3dueW0ga2F0YWxvZ3UgY21zbXMgaSBuYWRhaiBtdSB1cHJhd25pZW5pYSAwNzc3Lic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnT2RpbnN0YWx1aiBEb3dubG9hZCBNYW5hZ2VyJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdKZXN0ZcWbIHBld2llbiwgxbxlIGNoY2VzeiBvZGluc3RhbG93YcSHIHRlbiBtb2R1xYI/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdcWCIG9kaW5zdGFsb3dhbnkuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ1dlcnNqYSAlcyB6YWluc3RhbG93YW5hLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdVYWt0dWFsbmlvbm8gdXN0YXdpZW5pYSBtb2R1xYJ1Lic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdCcmFrIGRvc3TEmXB1LiBTcHJhd2TFuiBzd29qZSB1cHJhd25pZW5pYS4nOwokbGFuZ1snZG93bmxvYWRfZXJyb3JfbXNnJ10gPSAnV3lzdMSFcGnFgiBixYJhZCB3IGN6YXNpZSBwcnpldHdhcnphbmllIHRlZ28gcGxpa3UuJzsKJGxhbmdbJ25vbmUnXSA9ICdCcmFrJzsKJGxhbmdbJ3N1Ym1pdHJlcWVtYWlsJ10gPSAnV3nFm2xpaiwgxbxlYnkgb3RyenltYcSHIGxpbmsgZG8gcGxpa3UuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQsWCxIVkISc7CiRsYW5nWydiYWNrJ10gPSAnV3Imb2FjdXRlO2MuJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBa2NqZSc7CiRsYW5nWydyb290Y2F0ZWdvcnknXSA9ICdLYXRhbG9nIGfFgiZvYWN1dGU7d255Lic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHXFgiB1YWt0dWFsbmlvbnkgZG8gd2Vyc2ppJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1VzdGF3aWVuaWEgbW9kdcWCdS4nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFuZWwgYWRtaW5pc3RyYWN5am55IG1vZHXFgnUnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdEb3dubG9hZCBNYW5hZ2VyJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTXVzaXN6IHBvZGHEhyBuYXp3xJkuJzsKJGxhbmdbJ211c3Rsb2dpbiddID0gJ011c2lzeiBiecSHIHphbG9nb3dhbnltIMW8ZWJ5IMWbY2nEhWduxIXEhyB0ZW4gcGxpazonOwokbGFuZ1snbWF5YWxzb2xvZ2luJ10gPSAnTW/FvGVzeiBzacSZIHRlxbwgemFsb2dvd2HEhyDFvGVieSDFm2NpxIVnbsSFxIcgdGVuIHBsaWs6JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGVuIG1vZHXFgiB1bW/Fm2xpd2lhIHphcnrEhWR6YW5pZW0gxZtjaWFnYW5pZW0gcGxpayZvYWN1dGU7dyB6ZSBzdHJvbmllLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XaXRhbXkgdyBwYW5lbHUgYWRtaW5pc3RyYWN5am55bSBtb2R1xYJ5IERvd25sb2FkIE1hbmFnZXIuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjEgYWxwaGEgLSBwaWVyd3N6YSBhbHBoYTwvbGk+DQo8bGk+VmVyc2lvbiAwLjIgYmV0YSAtIGRvZGFubyB6YW1pYW7EmSBrb2xlam5vxZtjaSBwbGlrJm9hY3V0ZTt3PC9saT4NCjxsaT5WZXJzaW9uIDAuMyBiZXRhIC0gbWFraW5nIG1vZHVsZSBtb3JlIHVzZXItZnJpZW5kbHk8L2xpPg0KPGxpPlZlcnNpb24gMC40IC0gZml4ZWQgaW5zdGFsbCBidWcgd2hpY2ggdW5hYmxlcyBhc3NvY2lhdGlvbnMsIGFkZGVkIGFzc29jaWF0aW9ucyBpbiBmaWxlIGFkZGluZzwvbGk+DQo8bGk+VmVyc2lvbiAwLjguNCAtIGFkZGVkIGNhdGVnb3J5IHNlbGVjdG9yLCBmaXhlZCBzb21lIGJ1Z3M8L2xpPg0KPGxpPlZlcnNpb24gMS4wLXJjMSAgLSBhZGRlZCBpbnRlZ3JhdGlvbiB3aXRoIGZldSBtb2R1bGUgYW5kIHNlbmRpbmcgZmlsZSBsaW5rIGJ5IGVtYWlsLCBtYWRlIGNhdGVnb3JpZXMgd2Fsa2FibGUsIGRpZmZlcmVudCB0ZW1wbGF0ZXMgZm9yIGRpZmZlcmVudCBhY3Rpb24gdHlwZXMsIGNoYW5nZWQgY2F0ZWdvcnlfc2VsZWN0b3IgcGFyYW1ldGVyIGludG8gc2VsZWN0b3IsIHJlbW92ZWQgY2F0ZWdvcnkgcGFyYW1ldGVyLCBhZGRlZCBjYXRlZ29yeSBsaXN0IGZvciBmaWxlcyBpbiBzZWxlY3RvciwgYWRkZWQgYWxpYXNlcyB0byBmaWxlcyBhbmQgY2F0ZWdvcmllczwvbGk+DQo8bGk+VmVyc2lvbiAxLjEgIC0gYWRkZWQgdGhlIGZpbGVjaGFuZ2UgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjMgIC0gYWRkZWQgZG93bmxvYWQgY291bnRpbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+QWxsb3dzIHRvIG1hbmFnZSBEb3dubG9hZHMgZnJvbSBhZG1pbiBwYW5lbC48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPkZpcnN0IG1ha2UgZG93bmxvYWRzLyBkaXJlY3RvcnkgaW4gcm9vdCBjbXMgZGlyZWN0b3J5LiBOZXh0IGdpdmUgaXQgMDc3NyBtb2RlLCBkZXBlbmRpbmcgb24gYXBhY2hlIGNvbmZpZ3VyYXRpb24gY291bGQgYmUgMDc3NSBvciAwNzU1LjwvcD4NCjxwPlRvIGFjY2VzIG1vZHVsZSBhZG1pbiBpbnRlcmZhY2UgZ28gdG8gQ29udGVudCAtPiBEb3dubG9hZCBNYW5hZ2VyLjwvcD4NCjxwPkluc3RhbGwgaXQgYnkgcGxhY2luZyB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7fS4gU2VlIG1vcmUgZXhhbXBsZXMgYmVsb3cuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuPC9wPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5UcmFuc2xhdGlvbnM8L2gzPg0KPHA+TmV3ZXN0IHRyYW5zbGF0aW9ucyBhcmUgYWx3YXlzIGF2YWlsYWJsZSBhdA0KPGEgaHJlZj0iaHR0cDovL3N2bi5jbXNtYWRlc2ltcGxlLm9yZy9zdm4vdHJhbnNsYXRlY2VudGVyL21vZHVsZXMvRG93bmxvYWRNYW5hZ2VyL2xhbmcvZXh0LyIgdGl0bGU9IkRvd25sb2FkIG1hbmFnZXIgdHJhbmxhdGlvbnMiPmh0dHA6Ly9zdm4uY21zbWFkZXNpbXBsZS5vcmcvc3ZuL3RyYW5zbGF0ZWNlbnRlci9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9sYW5nL2V4dC88L2E+PC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFN6eW1vbiDFgXVrYXN6Y3p5ayA8YSBocmVmPSJtYWlsdG86c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tIj48c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tPjwvYT4gJmFtcDsgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+PHBsLmdlcm1haW5AZ21haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPkdlcm1hbiB0cmFuc2xhdGlvbiBieSBDb25uaWUgTSZ1dW1sO2xsZXItRyZvdW1sO2RlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPjxjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGU+PC9hPi48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnQWN0aW9uIGNob29zZW4uIFBvc3NpYmxlIGFjdGlvbnM6IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdA0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPmNhdGVnb3J5aWQ8L2VtPiBvciA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWxpYXM9JiMwMzk7bXktY2F0ZWdvcnkmIzAzOTsgZGVwdGg9JiMwMzk7MiYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogYWxsb3cgdG8gc2VsZWN0IG11bHRpcGxlIGNhdGVnb3JpZXMsIHNlZSBzZWxlY3RvciBwYXJhbWV0ZXINCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5zZWxlY3RvcjwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtzZWxlY3RvciYjMDM5OyBzZWxlY3Rvcj0mIzAzOTszJmFtcDsoMXwyKSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRldGFpbDwvZW0+OiBzaG93cyBkZXRhaWxzIG9mIHNlbGVjdGVkIGZpbGUNCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkZXRhaWwmIzAzOTsgYWxpYXM9JiMwMzk7bXktZmlsZSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4gDQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWN0aW9uPSYjMDM5O2Rvd25sb2FkJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeWlkJ10gPSAnSWQga2F0ZWdvcmlpICh3eXBpc2FuZSB3IHpha8WCYWRjZSBrYXRlZ29yaWkpLiBKZcWbbGkgd3licmFubyB0xIUgb3BjasSZIGFsaWFzIG5pZSBqZXN0IGJyYW55IHBvZCB1d2FnxJkuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWxpYXMnXSA9ICdBbGlhcyBwbGlrdSBsdWIga2F0ZWdvcmlpLic7CiRsYW5nWydoZWxwX3BhcmFtX2RlcHRoJ10gPSAnQWxsb3cgdG8gc3BlY2lmeSB0aGUgZGVwdGggb2YgdHJlZSBzaG93biBieSBkZWZhdWx0IGFjdGlvbi4gSWYgbm90IHNldCBmdWxsIHRyZWUgd2lsbCBiZSBzaG93bi4nOwokbGFuZ1snaGVscF9wYXJhbV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIG5hbWUuIElmIG5vdCBnaXZlbiB0aGUgZGVmYXVsdCB0ZW1wbGF0ZSBmb3IgY3VycmVudCBhY3Rpb24gaXMgYWN0aW9uL2ZpbGUvY2F0ZWdvcnkuJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VsZWN0b3InXSA9ICdUaGUgc2VsZWN0b3Igd2hpY2ggYWxsb3dzIHRvIGNob29zZSBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LiBUaGUgc2VsZWN0b3Igc3ludGF4IGNhbiBoYXZlOg0KPHVsPg0KPGxpPiZxdW90OyZhbXA7JnF1b3Q7IC0gaW50ZXJzZWN0aW9uPC9saT4NCjxsaT4mcXVvdDt8JnF1b3Q7IC0gc3VtPC9saT4NCjxsaT5jYXRlZ29yeSBpZCAoeW91IGNhbiBzZWUgaXQgaW4gY2F0ZWdvcmllcyB0YWIpPC9saT4NCjxsaT5hbGwgb3RoZXIgY2hhcmFjdGVycyB3aWxsIGJlIGNsZWFuZWQgYmVmb3JlIHBhcnNpbmc8L2xpPg0KPC91bD4NCkZvciBleGFtcGxlIHNlbGVjdG9yPSZxdW90OzMmYW1wOygxfDIpJnF1b3Q7IHdpbGwgY2hvb3NlIGFsbCBlbGVtZW50cyBmcm9tIGNhdGVnb3J5IHdpdGggaWQ9MyB3aGljaCBhcmUgYWxzbyBpbiBzdW0gb2YgY2F0ZWdvcnkgMSBhbmQgMi4gPGJyLz4NCklmIHNlbGVjdG9yIGlzIHNwZWNpZmllZCBjYXRlZ29yeSBwYXJhbWV0ZXIgd2lsbCA8Yj5ub3Q8L2I+IGJlIHBhcnNlZC4NCic7CiRsYW5nWyd3cm9uZ2FsaWFzJ10gPSAnV3JvbmcgYWxpYXMgZ2l2ZW4uJzsKJGxhbmdbJ2Rvd25sb2FkJ10gPSAnRG93bmxvYWQnOwokbGFuZ1snZG93bmxvYWRpbmcnXSA9ICdEb3dubG9hZGluZyAlcy4uLic7CiRsYW5nWydiYWNrdG9saXN0J10gPSAnQmFjayB0byB0aGUgZmlsZSBsaXN0Lic7CiRsYW5nWydkb3dubG9hZGluZ19pbmZvJ10gPSAnWW91ciBkb3dubG9hZCBzaG91bGQgYmVnaW4gc2hvcnRseS4gSWYgeW91IGVuY291bnRlciBwcm9ibGVtcywgcGxlYXNlIGNvbnRhY3QgdGhlIFdlYm1hc3Rlci4nOwokbGFuZ1snbm9maWxlJ10gPSAnTm8gZmlsZSBnaXZlbic7CiRsYW5nWyd3cm9uZ2ZpbGUnXSA9ICdXcm9uZyBmaWxlIGlkJzsKJGxhbmdbJ25vYWNjZXNzJ10gPSAnWW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byB0aGlzIGZpbGUuJzsKJGxhbmdbJ2Rvd25sb2FkX2RpciddID0gJ0Rvd25sb2FkIGRpcmVjdG9yeSc7CiRsYW5nWydkb3dubG9hZF9zY2FuJ10gPSAnU2Nhbm5lZCBkaXJlY3RvcmllcyAoc2VwZWF0ZWQgd2l0aCBzZW1pY29sb24gZXguICZxdW90O2RpcjEvO2RpcjIvO2RpcjMvJnF1b3Q7ICknOwokbGFuZ1snZG93bmxvYWRfc2Nhbl9yZWN1cnMnXSA9ICdTY2FuIGRpcmVjdG9yaWVzIHJlY3Vyc2l2ZT8nOwokbGFuZ1snZG93bmxvYWRfdGVtcGxhdGUnXSA9ICdEb3dubG9hZCB0ZW1wbGF0ZSc7CiRsYW5nWydkb3dubG9hZF90ZW1wbGF0ZV9pbmZvJ10gPSAnPHRhYmxlIHN0eWxlPSZxdW90O3RleHQtYWxpZ246bGVmdDsmcXVvdDs+DQo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XaGF0IGlzIGl0PzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRkb3dubG9hZGluZ308L2I+PC90ZD48dGQ+VGV4dDogRG93bmxvYWRpbmcgJXMuLi48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRkb3dubG9hZGluZ19pbmZvfTwvYj48L3RkPjx0ZD5UZXh0OiBZb3VyIGRvd25sb2FkIHNob3VsZCBiZWdpbiBzaG9ydGx5LiBJZiB5b3UgZW5jb3VudGVyIHByb2JsZW1zLCBwbGVhc2UgY29udGFjdCB0aGUgV2VibWFzdGVyLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkX25hbWV9PC9iPjwvdGQ+PHRkPk5hbWUgb2YgY3VycmVudGx5IGRvd25sb2FkaW5nIGZpbGUuPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskYmFja3RvbGlzdGxpbmt9PC9iPjwvdGQ+PHRkPkJhY2sgdG8gdGhlIGZpbGUgbGlzdCBsaW5rLjwvdGQ+PC90cj4NCjwvdGFibGU+DQonOwokbGFuZ1snZG93bmxvYWRfZGlyX25vdF93cml0YWJsZSddID0gJ0Rvd25sb2FkIGRpcmVjdG9yeSAoJXMpIGlzIG5vdCB3cml0YWJsZSwgdHJ5IGNobW9kIDc3Ny4nOwokbGFuZ1snZGlyX2RvbnRfZXhpc3RzJ10gPSAnRG93bmxvYWQgZGlyZWN0b3J5ICglcykgZG9lcyBub3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdC4nOwokbGFuZ1snc2VhcmNoX2V4cGlyZSddID0gJ0V4cGlyZWQgYW5kIG5vdCBzdGFydGVkIGRvd25sb2FkcyBjYW4gYXBwZWFyIGluIHNlYXJjaCByZXN1bHRzJzsKJGxhbmdbJ25hbWVsYWJlbCddID0gJ05hbWUnOwokbGFuZ1snY291bnRlcmxhYmVsJ10gPSAnRG93bmxvYWQgY291bnRlcic7CiRsYW5nWydjb3VudGVybmJyJ10gPSAnRG93bmxvYWRlZCAlcyB0aW1lKHMpLic7CiRsYW5nWydhbGlhc2xhYmVsJ10gPSAnQWxpYXMnOwokbGFuZ1snZmlsZWxhYmVsJ10gPSAnRmlsZSc7CiRsYW5nWydmaWxlZGVsZXRlZCddID0gJ0ZpbGUgd2FzIGRlbGV0ZWQuJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICdVcGxvYWQgbmV3IGZpbGUnOwokbGFuZ1snYWxyZWFkeXVwbG9hZGVkJ10gPSAnVXNlIGFscmVhZHkgdXBsb2FkZWQgZmlsZSc7CiRsYW5nWydleHRlcm5hbGZpbGUnXSA9ICdVc2UgZXh0ZXJuYWwgZmlsZSBhY2Nlc3NpYmxlIHRocm91Z2ggaHR0cC4gRmlsZSB3aWxsIG5vdCBiZSBkb3dubG9hZGVkIHRvIHNlcnZlcic7CiRsYW5nWydmaWxlZG9lc250ZXhpc3RzJ10gPSAnRmlsZSAlcyBkb2VzbmB0IGV4aXN0IG9uIHNlcnZlci4nOwokbGFuZ1snY3VybGZhaWxlZCddID0gJ0N1cmwgcmVxdWVzdCBmYWlsZWQuJzsKJGxhbmdbJ2N1cmxkb2VzbnRleGlzdHMnXSA9ICdDdXJsIHBocCBleHRlbnNpb24gbmVlZGVkIGZvciBleHRlcm5hbCBsaW5rcyBub3QgcHJlc2VudC4nOwokbGFuZ1snc2VydmVyX25hbWVsYWJlbCddID0gJ09yZ2luYWwgcGF0aCc7CiRsYW5nWydleHRsYWJlbCddID0gJ0V4dGVuc2lvbic7CiRsYW5nWydzaXplbGFiZWwnXSA9ICdTaXplJzsKJGxhbmdbJ2hhc2hsYWJlbCddID0gJ01kNSBoYXNoJzsKJGxhbmdbJ2Rlc2NyaXB0aW9ubGFiZWwnXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydjcmVhdGVkbGFiZWwnXSA9ICdDcmVhdGlvbiB0aW1lJzsKJGxhbmdbJ2V4cGlyZXNsYWJlbCddID0gJ0V4cGlyZXMnOwokbGFuZ1snc3RhcnRzbGFiZWwnXSA9ICdTdGFydHMnOwokbGFuZ1sndmlzaWJsZWxhYmVsJ10gPSAnVmlzaWJsZSc7CiRsYW5nWyd1c2VleHBpcmF0aW9uJ10gPSAnVXNlIGV4cGlyYXRpb24gZGF0ZSc7CiRsYW5nWyd1c2VzdGFydCddID0gJ1VzZSBzdGFydCBkYXRlJzsKJGxhbmdbJ2FkZGZpbGUnXSA9ICdOZXcgZmlsZSc7CiRsYW5nWydzY2FuZm9ybmV3ZmlsZXMnXSA9ICdTY2FuIGZvciBuZXcgZmlsZXMnOwokbGFuZ1snc2NhbnJlc3VsdCddID0gJ1NjYW5uZWQgZGlyZWN0b3JpZXM6ICVzIDxiciAvPiAlcyBuZXcgZmlsZXMgbGlzdGVkIGJlbG93LiBDaG9vc2UgZmlsZSB0byBhZGQuJzsKJGxhbmdbJ3NjYW5ub25ldyddID0gJ05vIG5ldyBmaWxlcyBhZGRlZC4nOwokbGFuZ1snbm9maWxlZ2l2ZW4nXSA9ICdUaGVyZSB3YXMgbm8gZmlsZSc7CiRsYW5nWydub3RoaW5ndXBsb2FkZWQnXSA9ICdObyBmaWxlIG9yIGVtcHR5IGZpbGUgd2FzIHVwbG9hZGVkLic7CiRsYW5nWyd1bmFibGV0b21vdmUnXSA9ICdVbmFibGUgdG8gbW92ZSBvciBjb3B5IHVwbG9hZGVkIGZpbGUuJzsKJGxhbmdbJ3R5cGVsYWJlbCddID0gJ1R5cGUnOwokbGFuZ1snZmlsZXN0YWJoZWFkZXInXSA9ICdGaWxlcyc7CiRsYW5nWydmaWxlYWRkZWQnXSA9ICdGaWxlIHN1Y2Nlc2Z1bGx5IGFkZGVkJzsKJGxhbmdbJ2ZpbGVtb2RpZmllZCddID0gJ0ZpbGUgc3VjY2VzZnVsbHkgbW9kaWZpZWQnOwokbGFuZ1sndGVtcGxhdGVmb3Jmb3JtJ10gPSAnRm9ybSB0ZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmRldGFpbCddID0gJ0RldGFpbCB0ZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmVtYWlsJ10gPSAnRW1haWwgdGVtcGxhdGUnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlJ10gPSAnVXNlIHRoZSBkZWZhdWx0IHRlbXBsYXRlIChzZWUgdGVtcGxhdGVzIHRhYiknOwokbGFuZ1snZmV1Z3JvdXBzbGFiZWwnXSA9ICdGRVUgZ3JvdXBzIHdobyBjYW4gYWNjZXNzIHRoZSBmaWxlLCBpZiBubyBncm91cCBzZWxlY3RlZCBhbGwgRkVVIHVzZXJzIGNhbiBhY2Nlc3MnOwokbGFuZ1snYWNjZXNzdHlwZSddID0gJ0FjY2VzcyB0eXBlJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZnJlZSddID0gJ0ZyZWUgYWNjZXNzJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZmV1b25seSddID0gJ0Zyb250ZW5kIFVzZXJzIG9ubHknOwokbGFuZ1snYWNjZXNzdHlwZV9lbWFpbG9ubHknXSA9ICdFbWFpbCBvbmx5JzsKJGxhbmdbJ2FjY2Vzc3R5cGVfbWl4ZWQnXSA9ICdGRVUgb3IgRW1haWwnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMnOwokbGFuZ1snZmlsZWNoYW5nZSddID0gJ0NoYW5nZSB0aGlzIGZpbGUuJzsKJGxhbmdbJ2NoYW5nZWZpbGVpbmZvJ10gPSAnQ2hvb3NlIG5ldyBmaWxlIHRvIGNoYW5nZSB0aGUgY3VycmVudCAmcXVvdDslcyZxdW90OyAoYWxpYXM6JXMpIGZpbGUuIEFsbCBhc3NvY2lhdGlvbnMsIGxpbmtzLCBpbmZvIGFuZCBhbGlhcyB3aWxsIHN0YXkgdGhlIHNhbWUuJzsKJGxhbmdbJ2ZpbGVjaGFuZ2VkJ10gPSAnRmlsZSB3YXMgc3VjY2Vzc2Z1bGx5IHJlcGxhY2VkJzsKJGxhbmdbJ2NoYW5nZW5hbWVsYWJlbCddID0gJ0NoYW5nZSB0aGUgZmlsZSBuYW1lIHRvIHRoZSBvbmUgZnJvbSBuZXcgZmlsZT8nOwokbGFuZ1snYWxsdGltZSddID0gJ0FsbCB0aW1lJzsKJGxhbmdbJ2F2YWlsYWJsaXR5J10gPSAnQXZhaWxhYmxpdHknOwokbGFuZ1snbm9hbGlhcyddID0gJ05vIHN1Y2ggYWxpYXMgb3IgZG93bmxvYWQgbm90IGF2YWlsYWJsZSc7CiRsYW5nWydub2hhc2gnXSA9ICdObyBzdWNoIGhhc2ggb3IgZG93bmxvYWQgbm90IGF2YWlsYWJsZSc7CiRsYW5nWyd3cm9uZ3BhcmFtcyddID0gJ1dyb25nIHBhcmFtZXRlcnMnOwokbGFuZ1snZmlsZW5vdGZvdW5kJ10gPSAnRmlsZSAlcyBub3QgZm91bmQuJzsKJGxhbmdbJ3dyb25nZGF0YSddID0gJ1dyb25nIGRhdGEgaW4gZGF0YWJhc2Ugcm93Lic7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ05ldyBDYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ3BhcmVudF9pZGxhYmVsJ10gPSAnUGFyZW50IENhdGVnb3J5JzsKJGxhbmdbJ2NhdGVnb3JpZXN0YWJoZWFkZXInXSA9ICdDYXRlZ29yaWVzJzsKJGxhbmdbJ3Jlb3JkZXJfcHJpb3JpdHknXSA9ICdQcmlvcml0eSAoLTk5Jm5ic3A7dG8mbmJzcDs5OSksICBsb3dlci0+YmV0dGVyICc7CiRsYW5nWydub2Rvd25sb2FkcyddID0gJ05vIGRvd25sb2FkcyBpbiB0aGlzIGNhdGVnb3J5JzsKJGxhbmdbJ2ZpbGVuYiddID0gJyVzJm5ic3A7ZmlsZShzKSc7CiRsYW5nWydjYXRlZ29yeWFkZGVkJ10gPSAnVGhlIGNhdGVnb3J5IHdhcyBzdWNjZXNzZnVsbHkgYWRkZWQuJzsKJGxhbmdbJ2NhdGVnb3J5dXBkYXRlZCddID0gJ1RoZSBjYXRlZ29yeSB3YXMgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuJzsKJGxhbmdbJ2NhdGVnb3J5ZGVsZXRlZCddID0gJ1RoZSBjYXRlZ29yeSB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQuJzsKJGxhbmdbJ2NhdGVnb3J5Y29udGVudHR5cGVmcmllbmRseSddID0gJ0Rvd25sb2FkIENhdGVnb3J5JzsKJGxhbmdbJ292ZXJhbGx0YWJoZWFkZXInXSA9ICdPdmVyYWxsJzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ10gPSAnQ2F0ZWdvcmllcyc7CiRsYW5nWydhZGRhc3NvYyddID0gJ0FkZCB0byBjYXRlZ29yeSc7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5c2VsJ10gPSAnQ2F0ZWdvcnkgc2VsZWN0b3IgcGFyc2UgZXJyb3IuIDxiciAvPiBTZWxlY3RvciBhZnRlciBjbGVhbmluZzogJXMnOwokbGFuZ1snbm9jYXRlZ29yeXNlbCddID0gJ0NhdGVnb3J5IHNlbGVjdG9yIG5vdCBzZXQuJzsKJGxhbmdbJ3dyb25nY2F0ZWdvcnknXSA9ICdTZWxlY3RlZCBjYXRlZ29yeSBkb2VzIG5vdCBleGlzdHMuJzsKJGxhbmdbJ3NlbmRlbWFpbCddID0gJ0VtYWlsIGRvd25sb2FkIGxpbmsnOwokbGFuZ1sncHJvbXB0X2ZpcnN0bmFtZSddID0gJ0ZpcnN0IG5hbWUnOwokbGFuZ1sncHJvbXB0X2xhc3RuYW1lJ10gPSAnTGFzdCBuYW1lJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3Byb21wdF9tYWlsaW5nbGlzdCddID0gJ0kgd291bGQgbGlrZSB0byBoZWFyIGFib3V0IG5ldyBmaWxlcyBhbmQgaW1wb3J0YW50IG5ld3MnOwokbGFuZ1snZW1haWxzZW50J10gPSAnQW4gZW1haWwgY29udGFpbmluZyB0aGUgZG93bmxvYWQgbGluayB3YXMgc2VudCB0byB0aGUgc3BlY2lmaWVkIGFkZHJlc3MuJzsKJGxhbmdbJ2NvdWxkbm90c2VuZCddID0gJ1RoZXJlIHdhcyBhbiBlcnJvciB3aXRoIHlvdXIgcmVxdWVzdCwgYW5kIHRoZSBlbWFpbCBjb3VsZCBub3QgYmUgc2VudC4nOwokbGFuZ1snaW52YWxpZGVtYWlsJ10gPSAnVGhlIGVtYWlsIHlvdSBoYXZlIGVudGVyZWQgaXMgaW52YWxpZC4gV2l0aG91dCBhIHZhbGlkIGVtYWlsLCB3ZSBjYW5ub3Qgc2VuZCB5b3UgYSBkb3dubG9hZCBsaW5rLCBhbmQgeW91IGNhbm5vdCBkb3dubG9hZCB0aGUgZmlsZS4nOwokbGFuZ1sncGxlYXNlX25hbWUnXSA9ICdQbGVhc2UgZW50ZXIgeW91ciBuYW1lLic7CiRsYW5nWydwbGVhc2VfZW1haWwnXSA9ICdQbGVhc2UgZW50ZXIgeW91ciBlbWFpbCBhZGRyZXNzLiBUaGUgZG93bmxvYWQgbGluayB3aWxsIGJlIHNlbnQgdG8gdGhpcyBhZGRyZXNzLic7CiRsYW5nWydhZGR0ZW1wbGF0ZSddID0gJ05ldyBUZW1wbGF0ZSc7CiRsYW5nWydsaXN0dGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIHRvIGRpc3BsYXkgbGlzdHMgb2YgY2F0ZWdvcmllcyBvciBmaWxlcyc7CiRsYW5nWydhZGRsaXN0dGVtcGxhdGUnXSA9ICdOZXcgTGlzdCBUZW1wbGF0ZSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgdG8gZGlzcGxheSB0aGUgZGV0YWlscyBvZiBhIGZpbGUnOwokbGFuZ1snYWRkZGV0YWlsdGVtcGxhdGUnXSA9ICdOZXcgRGV0YWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2Zvcm10ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgZm9yIHRoZSBmb3JtIHRvIHJlcXVlc3QgYSBkb3dubG9hZCBsaW5rIGJ5IG1haWwnOwokbGFuZ1snYWRkZm9ybXRlbXBsYXRlJ10gPSAnTmV3IEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snZW1haWx0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgZm9yIGVtYWlscyBzZW50IHdpdGggZG93bmxvYWQgbGluayc7CiRsYW5nWydhZGRlbWFpbHRlbXBsYXRlJ10gPSAnTmV3IEVtYWlsIEJvZHkgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXRlbXBsYXRlJ10gPSAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGUgdGVtcGxhdGUgJXM/JzsKJGxhbmdbJ3RpdGxlX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1snY29udGVudGxhYmVsJ10gPSAnQ29udGVudCc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lbGFiZWwnXSA9ICdOYW1lJzsKJGxhbmdbJ3RlbXBsYXRlYWRkZWQnXSA9ICdUaGUgdGVtcGxhdGUgd2FzIHN1Y2Nlc3NmdWxseSBhZGRlZC4nOwokbGFuZ1sndGVtcGxhdGV1cGRhdGVkJ10gPSAnVGhlIHRlbXBsYXRlIHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRlZC4nOwokbGFuZ1sndGVtcGxhdGVkZWxldGVkJ10gPSAnVGhlIHRlbXBsYXRlIHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZC4nOwokbGFuZ1snd3Jvbmd0ZW1wbGF0ZSddID0gJ1dyb25nIHRlbXBsYXRlIHNwZWNpZmllZC4nOwokbGFuZ1snYWxyZWFkeWV4aXN0J10gPSAnVGhlcmUgaXMgYWxyZWFkeSBhIHRlbXBsYXRlIGJ5IHRoYXQgbmFtZS4nOwokbGFuZ1snZ2VuZXJhbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskYmFja3RvbGlzdGxpbmt9PC9iPjwvdGQ+PHRkPlJldHVybiBiYWNrIGluIGhpc3RvcnkgbGluazwvdGQ+PC90cj4NCic7CiRsYW5nWydmaWxlaXRlbV90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD50aW1lcyB0aGUgZmlsZSB3YXMgZG93bmxvYWRlZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXh0OiBEb3dubG9hZGVkICVzIHRpbWUocykuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c3RhcnRzfTwvYj48L3RkPjx0ZD5zdGFydCB0aW1lLCBhZnRlciB0aGlzIGZpbGUgaXMgYXZhaWxhYmxlPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD50aW1lcyB0aGUgZmlsZSB3YXMgZG93bmxvYWRlZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXh0OiBEb3dubG9hZGVkICVzIHRpbWUocykuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c3RhcnRzfTwvYj48L3RkPjx0ZD5zdGFydCB0aW1lLCBhZnRlciB0aGlzIGZpbGUgaXMgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZyAoYXZhaWxhYmxlIGluIHNlbGVjdG9yIGFuZCBkZXRhaWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZG93bmxvYWQgbGluazwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5ocmVmfTwvYj48L3RkPjx0ZD5ocmVmIHRvIGZpbGUgZG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIGFjY2VzcyB0eXBlcyAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGV0YWlsfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZGV0YWlsIGxpbms8L3RkPjwvdHI+DQonOwokbGFuZ1snZm9ybV90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPklucHV0czwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9pbnB1dH08L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lX2lucHV0fTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9pbnB1dH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfaW5wdXR9PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JHN1Ym1pdH08L2I+PC90ZD48dGQ+c3VibWl0PC90ZD48L3RyPg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90Oz48aT5MYWJlbHM8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRmaXJzdG5hbWVfbGFiZWx9PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRsYXN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+bGFzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZW1haWxfbGFiZWx9PC9iPjwvdGQ+PHRkPmVtYWlsPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG1haWxpbmdsaXN0X2xhYmVsfTwvYj48L3RkPjx0ZD5tYWlsaW5nbGlzdCBjaGVja2JveDwvdGQ+PC90cj4NCic7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskZmlyc3RuYW1lfTwvYj48L3RkPjx0ZD5maXJzdG5hbWUgb2YgdXNlciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRsYXN0bmFtZX08L2I+PC90ZD48dGQ+bGFzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZHVybH08L2I+PC90ZD48dGQ+bGluayBmb3IgZG93bmxvYWRpbmcgdGhlIGZpbGU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskZGhyZWZ9PC9iPjwvdGQ+PHRkPnVyaSBmb3IgZG93bmxvYWRpbmcgdGhlIGZpbGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zdGFydHN9PC9iPjwvdGQ+PHRkPnN0YXJ0IHRpbWUsIGFmdGVyIHRoaXMgZmlsZSBpcyBhdmFpbGFibGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWVzIHRvIHdoaWNoIGZpbGUgYmVsb25nIChhdmFpbGFibGUgaW4gc2VsZWN0b3IgYW5kIGRldGFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkb3dubG9hZCBsaW5rPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgdG8gZmlsZSBkb3dubG9hZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+YXJyYXkgb2YgaHVtYW4gcmVhZGFibGUgYWNjZXNzIHR5cGVzIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkZXRhaWwgbGluazwvdGQ+PC90cj4NCg0KJzsKJGxhbmdbJ2xpc3RfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpjZW50ZXI7JnF1b3Q7Pjxici8+PGk+IEluIHRoZSB7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19IGxvb3A6PC9pPjwvdGg+PC90cj4NCjx0cj48dGg+VmFyaWFibGU6PC90aD48dGg+V2hhdCBpcyBpdD88L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aXRlbWxldmVsfTwvYj48L3RkPjx0ZD5hY3R1YWwgY2F0ZWdvcnktbGV2ZWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+cm93Y2xhc3N9PC9iPjwvdGQ+PHRkPnJvdzEgb3Igcm93MiBkZXBlbmRpbmcgb24gcGFyaXR5PC90ZD48L3RyPg0KDQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPiBXaGVuIDxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPiA9IDxpPmhlYWRlcjwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj48L3RkPjx0ZD48aT5oZWFkZXI8L2k+PC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmNhdGVnb3J5IG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmNhdGVnb3J5IGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnN1YmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIHN1YmNhdGVnb3JpZXMsIGVhY2ggc3ViY2F0ZWdvcnkgaGFzIGVsZW1lbnRzOiBpZCwgbmFtZSwgbG9uZ19uYW1lLCBhbGlhcywgZmlsZXNuYiwgaXRlbXMsIHBhcmVudDwvdGQ+PC90cj4NCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90OyA+PGk+IFdoZW4gPGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+ID0gPGk+ZmlsZTwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj48L3RkPjx0ZD48aT5maWxlPC9pPjwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnN0YXJ0c308L2I+PC90ZD48dGQ+c3RhcnQgdGltZSwgYWZ0ZXIgdGhpcyBmaWxlIGlzIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKGF2YWlsYWJsZSBpbiBzZWxlY3RvciBhbmQgZGV0YWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kb3dubG9hZH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmFjY2Vzc3R5cGVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRldGFpbCBsaW5rPC90ZD48L3RyPg0KDQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O3RleHQtYWxpZ246Y2VudGVyOyZxdW90Oz48YnIvPjxpPkluIHdob2xlIHRlbXBsYXRlOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XaGF0IGlzIGl0PzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbWNvdW50fTwvYj48L3RkPjx0ZD5udW1iZXIgb2YgaXRlbXMgaW4gJGl0ZW1zPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG5vZG93bmxvYWRzfTwvYj48L3RkPjx0ZD5tZXNzYWdlIHRoZW4gdGhlcmUgYXJlIG5vIGRvd25sb2FkcyBpbiBzZWxlY3RlZCBjYXRlZ29yeTwvdGQ+PC90cj4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE2NzY1MTQwMy4xMjQxMjAwOTUzLjEyNjczOTIzNzMuMTI2ODI0NjU4Mi4zNyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNjczODExMzcuMzQuMjUudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwL3RvcGljLDI2MzkuMC5odG1sfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWydxY2EnXSA9ICcxMjE3NTQxOTI3LTY2MTYzMzQ4LTIzODIwNTk4JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sl_SI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Rvd25sb2FkIGNlbnRlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ05hc3Rhdml0ZSAmcXVvdDtVc2UgRG93bmxvYWQgTWFuYWdlciZxdW90OyBwcmF2aWNlIHphIHVwb3JhYm8gdGVnYSBtb2R1bGEhIDxici8+VXN0dmFyaXRlIG1hcG8gZG93bmxvYWRzLyB2IGtvcmVudSBDTVMgc2lzdGVtYSBpbiBqaSBkb2RlbGl0ZSAwNzc3IHByYXZpY2UnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ09kc3RyYW5pdGV2IERvd25sb2FkIGNlbnRlciBtb2R1bGEnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1N0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSBvZHN0cmFuaXRpIHRhIG1vZHVsPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIG9kc3RyYW5qZW4uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ05hbWUmc2Nhcm9uO8SNZW4gbW9kdWwgcmF6bGnEjWljZSAlcy4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTmFzdGF2aXR2ZSBtb2R1bGEgcG9zb2RvYmxqZW5lLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdEb3N0b3AgemF2cm5qZW4uIFByb3NpbSwgcHJldmVyaXRlIHZhJnNjYXJvbjtlIHByYXZpY2UuJzsKJGxhbmdbJ2Rvd25sb2FkX2Vycm9yX21zZyddID0gJ05hcGFrYSBwcmkgb2JkZWxhdmkgZGF0b3Rla2UuJzsKJGxhbmdbJ25vbmUnXSA9ICdOb2Jlbic7CiRsYW5nWydzdWJtaXRyZXFlbWFpbCddID0gJ1BvJnNjYXJvbjtsamkgemEgcHJlamVtIHBvdmV6YXZlIHphIHByZW5vcyc7CiRsYW5nWydlcnJvciddID0gJ05hcGFrYSEnOwokbGFuZ1snYmFjayddID0gJ05hemFqJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBa2NpamUnOwokbGFuZ1sncm9vdGNhdGVnb3J5J10gPSAnVnJobmphIGthdGVnb3JpamEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBuYWRncmFqZW4gbmEgcmF6bGnEjWljbyAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTmFzdGF2aXR2ZSBtb2R1bGEnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTmFkem9ybmEgcGxvJnNjYXJvbjvEjWEgbW9kdWxhJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnRG93bmxvYWQgY2VudGVyJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnVnBpc2F0aSBtb3JhdGUgaW1lLic7CiRsYW5nWydtdXN0bG9naW4nXSA9ICdaYSBwcmVub3MgdGUgZGF0b3Rla2Ugc2UgbW9yYXRlIHByaWphdml0aTonOwokbGFuZ1snbWF5YWxzb2xvZ2luJ10gPSAnWmEgcHJlbm9zIHRlIGRhdG90ZWtlIHNlIGxhaGtvIHByaWphdml0ZTonOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUYSBtb2R1bCBvbW9nb8SNYSB1cHJhdmxqYW5qZSB6IGRhdG90ZWthbWkgemEgcHJlbm9zLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5Eb2Jyb2RvJnNjYXJvbjtsaSB2IGFkbWluaXN0cmFjaWpvIERvd25sb2FkIGNlbnRyYS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMSBhbHBoYSAtIGZpcnN0IGFscGhhPC9saT4NCjxsaT5WZXJzaW9uIDAuMiBiZXRhIC0gaXRlbSByZW9yZGVyIGFkZGVkPC9saT4NCjxsaT5WZXJzaW9uIDAuMyBiZXRhIC0gbWFraW5nIG1vZHVsZSBtb3JlIHVzZXItZnJpZW5kbHk8L2xpPg0KPGxpPlZlcnNpb24gMC40IC0gZml4ZWQgaW5zdGFsbCBidWcgd2hpY2ggdW5hYmxlcyBhc3NvY2lhdGlvbnMsIGFkZGVkIGFzc29jaWF0aW9ucyBpbiBmaWxlIGFkZGluZzwvbGk+DQo8bGk+VmVyc2lvbiAwLjguNCAtIGFkZGVkIGNhdGVnb3J5IHNlbGVjdG9yLCBmaXhlZCBzb21lIGJ1Z3M8L2xpPg0KPGxpPlZlcnNpb24gMS4wLXJjMSAgLSBhZGRlZCBpbnRlZ3JhdGlvbiB3aXRoIGZldSBtb2R1bGUgYW5kIHNlbmRpbmcgZmlsZSBsaW5rIGJ5IGVtYWlsLCBtYWRlIGNhdGVnb3JpZXMgd2Fsa2FibGUsIGRpZmZlcmVudCB0ZW1wbGF0ZXMgZm9yIGRpZmZlcmVudCBhY3Rpb24gdHlwZXMsIGNoYW5nZWQgY2F0ZWdvcnlfc2VsZWN0b3IgcGFyYW1ldGVyIGludG8gc2VsZWN0b3IsIHJlbW92ZWQgY2F0ZWdvcnkgcGFyYW1ldGVyLCBhZGRlZCBjYXRlZ29yeSBsaXN0IGZvciBmaWxlcyBpbiBzZWxlY3RvciwgYWRkZWQgYWxpYXNlcyB0byBmaWxlcyBhbmQgY2F0ZWdvcmllczwvbGk+DQo8bGk+VmVyc2lvbiAxLjEgIC0gYWRkZWQgdGhlIGZpbGVjaGFuZ2UgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjIgIC0gYWRkZWQgc2Nhbm5pbmcgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+VmVyc2lvbiAxLjMgIC0gYWRkZWQgZG93bmxvYWQgY291bnRpbmc8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+QWxsb3dzIHRvIG1hbmFnZSBEb3dubG9hZHMgZnJvbSBhZG1pbiBwYW5lbC48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPkZpcnN0IG1ha2UgZG93bmxvYWRzLyBkaXJlY3RvcnkgaW4gcm9vdCBjbXMgZGlyZWN0b3J5LiBOZXh0IGdpdmUgaXQgMDc3NyBtb2RlLCBkZXBlbmRpbmcgb24gYXBhY2hlIGNvbmZpZ3VyYXRpb24gY291bGQgYmUgMDc3NSBvciAwNzU1LjwvcD4NCjxwPlRvIGFjY2VzIG1vZHVsZSBhZG1pbiBpbnRlcmZhY2UgZ28gdG8gQ29udGVudCAtPiBEb3dubG9hZCBNYW5hZ2VyLjwvcD4NCjxwPkluc3RhbGwgaXQgYnkgcGxhY2luZyB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7fS4gU2VlIG1vcmUgZXhhbXBsZXMgYmVsb3cuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuPC9wPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5UcmFuc2xhdGlvbnM8L2gzPg0KPHA+TmV3ZXN0IHRyYW5zbGF0aW9ucyBhcmUgYWx3YXlzIGF2YWlsYWJsZSBhdA0KPGEgaHJlZj0iaHR0cDovL3N2bi5jbXNtYWRlc2ltcGxlLm9yZy9zdm4vdHJhbnNsYXRlY2VudGVyL21vZHVsZXMvRG93bmxvYWRNYW5hZ2VyL2xhbmcvZXh0LyIgdGl0bGU9IkRvd25sb2FkIG1hbmFnZXIgdHJhbmxhdGlvbnMiPmh0dHA6Ly9zdm4uY21zbWFkZXNpbXBsZS5vcmcvc3ZuL3RyYW5zbGF0ZWNlbnRlci9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9sYW5nL2V4dC88L2E+PC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFN6eW1vbiDFgXVrYXN6Y3p5ayA8YSBocmVmPSJtYWlsdG86c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tIj48c3p5bW9uLmx1a2FzemN6eWtAZ21haWwuY29tPjwvYT4gJmFtcDsgUGllcnJlLUx1YyBHZXJtYWluIDxhIGhyZWY9Im1haWx0bzpwbC5nZXJtYWluQGdtYWlsLmNvbSI+PHBsLmdlcm1haW5AZ21haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPkdlcm1hbiB0cmFuc2xhdGlvbiBieSBDb25uaWUgTSZ1dW1sO2xsZXItRyZvdW1sO2RlY2tlIDxhIGhyZWY9Im1haWx0bzpjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGUiPjxjb25uaWUubXVlbGxlci1nb2VkZWNrZUB3ZWJkZWVybnMuZGU+PC9hPi48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnQWN0aW9uIGNob29zZW4uIFBvc3NpYmxlIGFjdGlvbnM6IA0KPHVsPg0KPGxpPjxlbT5kZWZhdWx0PC9lbT46IHNob3dzIGZpbGUgbGlzdA0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPmNhdGVnb3J5aWQ8L2VtPiBvciA8ZW0+YWxpYXM8L2VtPiwgPGVtPmRlcHRoPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+DQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWxpYXM9JiMwMzk7bXktY2F0ZWdvcnkmIzAzOTsgZGVwdGg9JiMwMzk7MiYjMDM5O30gPC9saT4NCjxsaT48ZW0+c2VsZWN0b3I8L2VtPjogYWxsb3cgdG8gc2VsZWN0IG11bHRpcGxlIGNhdGVnb3JpZXMsIHNlZSBzZWxlY3RvciBwYXJhbWV0ZXINCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5zZWxlY3RvcjwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtzZWxlY3RvciYjMDM5OyBzZWxlY3Rvcj0mIzAzOTszJmFtcDsoMXwyKSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRldGFpbDwvZW0+OiBzaG93cyBkZXRhaWxzIG9mIHNlbGVjdGVkIGZpbGUNCgk8YnIvPnJlcXVpcmVkIHBhcmFtZXRlcnM6IDxlbT5hbGlhczwvZW0+DQoJPGJyLz5vcHRpb25hbCBwYXJhbWV0ZXJzOiA8ZW0+dGVtcGxhdGU8L2VtPg0KCTxici8+ZXg6ICB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7RG93bmxvYWRNYW5hZ2VyJiMwMzk7IGFjdGlvbj0mIzAzOTtkZXRhaWwmIzAzOTsgYWxpYXM9JiMwMzk7bXktZmlsZSYjMDM5OyB9IDwvbGk+DQo8bGk+PGVtPmRvd25sb2FkPC9lbT46IGRvd25sb2FkcyBvZiBzZWxlY3RlZCBmaWxlDQoJPGJyLz5yZXF1aXJlZCBwYXJhbWV0ZXJzOiA8ZW0+YWxpYXM8L2VtPg0KCTxici8+b3B0aW9uYWwgcGFyYW1ldGVyczogPGVtPnRlbXBsYXRlPC9lbT4gDQoJPGJyLz5leDogIHtjbXNfbW9kdWxlIG1vZHVsZT0mIzAzOTtEb3dubG9hZE1hbmFnZXImIzAzOTsgYWN0aW9uPSYjMDM5O2Rvd25sb2FkJiMwMzk7IGFsaWFzPSYjMDM5O215LWZpbGUmIzAzOTsgfSA8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9wYXJhbV9jYXRlZ29yeWlkJ10gPSAnSUQga2F0ZWdvcmlqZSBuaSBuYWpkZW4gdiB6YXZpaGt1IGthdGVnb3Jpai4gxIxlIGplIGl6YnJhbiwgYWxpYXMgbmUgYm8gdXBvJnNjYXJvbjt0ZXZhbi4nOwokbGFuZ1snaGVscF9wYXJhbV9hbGlhcyddID0gJ0FsaWFzIGthdGVnb3JpamUgYWxpIGRhdG90ZWtlLic7CiRsYW5nWydoZWxwX3BhcmFtX2RlcHRoJ10gPSAnT21vZ2/EjWEgZG9sb8SNYW5qZSBnbG9iaW5lIHByaWthemFuZWdhIGRyZXZlc2EgcHJpdnpldGUgYWtjaWplLiDEjGUgbmkgbmFzdGF2bGplbm8sIGJvIHByaWthemFubyBjZWxvdG5vIGRyZXZvLic7CiRsYW5nWydoZWxwX3BhcmFtX3RlbXBsYXRlJ10gPSAnTmF6aXYgcHJlZGxvZ2UuIMSMZSBuaSBuYXN0YXZsamVubywgYm8gcHJpdnpldGEgcHJlZGxvZ2EgemEgdHJlbnV0bm8gYWtjaWpvIGFrY2lqYS9kYXRvdGVrYS9rYXRlZ29yaWphJzsKJGxhbmdbJ2hlbHBfcGFyYW1fc2VsZWN0b3InXSA9ICdUaGUgc2VsZWN0b3Igd2hpY2ggYWxsb3dzIHRvIGNob29zZSBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LiBUaGUgc2VsZWN0b3Igc3ludGF4IGNhbiBoYXZlOg0KPHVsPg0KPGxpPiZxdW90OyZhbXA7JnF1b3Q7IC0gaW50ZXJzZWN0aW9uPC9saT4NCjxsaT4mcXVvdDt8JnF1b3Q7IC0gc3VtPC9saT4NCjxsaT5jYXRlZ29yeSBpZCAoeW91IGNhbiBzZWUgaXQgaW4gY2F0ZWdvcmllcyB0YWIpPC9saT4NCjxsaT5hbGwgb3RoZXIgY2hhcmFjdGVycyB3aWxsIGJlIGNsZWFuZWQgYmVmb3JlIHBhcnNpbmc8L2xpPg0KPC91bD4NCkZvciBleGFtcGxlIHNlbGVjdG9yPSZxdW90OzMmYW1wOygxfDIpJnF1b3Q7IHdpbGwgY2hvb3NlIGFsbCBlbGVtZW50cyBmcm9tIGNhdGVnb3J5IHdpdGggaWQ9MyB3aGljaCBhcmUgYWxzbyBpbiBzdW0gb2YgY2F0ZWdvcnkgMSBhbmQgMi4gPGJyLz4NCklmIHNlbGVjdG9yIGlzIHNwZWNpZmllZCBjYXRlZ29yeSBwYXJhbWV0ZXIgd2lsbCA8Yj5ub3Q8L2I+IGJlIHBhcnNlZC4NCic7CiRsYW5nWyd3cm9uZ2FsaWFzJ10gPSAnUG9kYW4gbmFwYcSNZW4gYWxpYXMuJzsKJGxhbmdbJ2Rvd25sb2FkJ10gPSAnUHJlbm9zJzsKJGxhbmdbJ2Rvd25sb2FkaW5nJ10gPSAnUHJlbmEmc2Nhcm9uO2FuamUgJXMuLi4nOwokbGFuZ1snYmFja3RvbGlzdCddID0gJ05hemFqIG5hIHNlem5hbSBkYXRvdGVrLic7CiRsYW5nWydkb3dubG9hZGluZ19pbmZvJ10gPSAnVmEmc2Nhcm9uOyBwcmVub3Mgc2UgYm8gcHJpxI1lbCB2IGtyYXRrZW0uIMSMZSBuYWxldGl0ZSBuYSB0ZcW+YXZlIHZhcyBwcm9zaW1vLCBkYSBvYnZlc3RpdGUgdXByYXZpdGVsamEgc3BsZXRuZSBzdHJhbmkuJzsKJGxhbmdbJ25vZmlsZSddID0gJ05vYmVuYSBkYXRvdGVrYSBuaSBwb2RhbmEnOwokbGFuZ1snd3JvbmdmaWxlJ10gPSAnTmFwYcSNZW4gSUQgZGF0b3Rla2UnOwokbGFuZ1snbm9hY2NlcyddID0gJ05pbWF0ZSBkb3N0b3BhIGRvIHRlIGRhdG90ZWtlLic7CiRsYW5nWydkb3dubG9hZF9kaXInXSA9ICdNYXBhIHphIHByZW5vcyc7CiRsYW5nWydkb3dubG9hZF9zY2FuJ10gPSAnUHJlZ2xlZGFuZSBtYXBlIChsb8SNZW5lIHMgcG9kcGnEjWppIC0gbnByLiAmcXVvdDtkaXIxLztkaXIyLztkaXIzLyZxdW90OyApJzsKJGxhbmdbJ2Rvd25sb2FkX3NjYW5fcmVjdXJzJ10gPSAnUHJlZ2xlaiBtYXBlIHJla3Vyeml2bm8/JzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlJ10gPSAnUHJlZGxvZ2EgemEgcHJlbm9zJzsKJGxhbmdbJ2Rvd25sb2FkX3RlbXBsYXRlX2luZm8nXSA9ICc8dGFibGUgc3R5bGU9JnF1b3Q7dGV4dC1hbGlnbjpsZWZ0OyZxdW90Oz4NCjx0cj48dGQ+PGI+VmFyaWFibGU6PC9iPjwvdGQ+PHRkPjxiPldoYXQgaXMgaXQ/PC9iPjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nfTwvYj48L3RkPjx0ZD5UZXh0OiBEb3dubG9hZGluZyAlcy4uLjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9JnF1b3Q7dmVydGljYWwtYWxpZ246dG9wOyZxdW90Oz48Yj57JGRvd25sb2FkaW5nX2luZm99PC9iPjwvdGQ+PHRkPlRleHQ6IFlvdXIgZG93bmxvYWQgc2hvdWxkIGJlZ2luIHNob3J0bHkuIElmIHlvdSBlbmNvdW50ZXIgcHJvYmxlbXMsIHBsZWFzZSBjb250YWN0IHRoZSBXZWJtYXN0ZXIuPC90ZD48L3RyPg0KPHRyPjx0ZCBzdHlsZT0mcXVvdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7JnF1b3Q7PjxiPnskZG93bmxvYWRfbmFtZX08L2I+PC90ZD48dGQ+TmFtZSBvZiBjdXJyZW50bHkgZG93bmxvYWRpbmcgZmlsZS48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSZxdW90O3ZlcnRpY2FsLWFsaWduOnRvcDsmcXVvdDs+PGI+eyRiYWNrdG9saXN0bGlua308L2I+PC90ZD48dGQ+QmFjayB0byB0aGUgZmlsZSBsaXN0IGxpbmsuPC90ZD48L3RyPg0KPC90YWJsZT4NCic7CiRsYW5nWydkb3dubG9hZF9kaXJfbm90X3dyaXRhYmxlJ10gPSAnTWFwYSB6IGRhdG90ZWthbWkgKCVzKSBuaSB6YXBpc2xqaXZhLiBQb2l6a3VzaXRlIGNobW9kIDc3Ny4nOwokbGFuZ1snZGlyX2RvbnRfZXhpc3RzJ10gPSAnTWFwYSB6IGRhdG90ZWthbWkgKCVzKSBuZSBvYnN0YWphLiBQcm9zaW1vLCB1c3R2YXJpdGUgbWFwby4nOwokbGFuZ1snbmFtZWxhYmVsJ10gPSAnSW1lJzsKJGxhbmdbJ2NvdW50ZXJsYWJlbCddID0gJyZTY2Fyb247dGV2ZWMgcHJlbm9zb3YnOwokbGFuZ1snY291bnRlcm5iciddID0gJ1ByZW5lJnNjYXJvbjtlbm8gJXMta3JhdC4nOwokbGFuZ1snYWxpYXNsYWJlbCddID0gJ0FsaWFzJzsKJGxhbmdbJ2ZpbGVsYWJlbCddID0gJ0RhdG90ZWthJzsKJGxhbmdbJ2ZpbGVkZWxldGVkJ10gPSAnRGF0b3Rla2EgamUgYmlsYSBpemJyaXNhbmEuJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICdOYWxvxb5pIG5vdm8gZGF0b3Rla28nOwokbGFuZ1snYWxyZWFkeXVwbG9hZGVkJ10gPSAnVXBvcmFiaSDFvmUgbmFsb8W+ZW5vIGRhdG90ZWtvJzsKJGxhbmdbJ2V4dGVybmFsZmlsZSddID0gJ1Vwb3JhYmkgenVuYW5qbyBkYXRvdGVrbywgZG9zdG9wbm8gcHJla28gaHR0cC4gRGF0b3Rla2EgbmUgYm8gbmFsb8W+ZW5hIG5hIHN0cmXFvm5pay4nOwokbGFuZ1snZmlsZWRvZXNudGV4aXN0cyddID0gJ0RhdG90ZWthICVzIG5lIG9ic3RhamEgbmEgdGVtIHN0cmXFvm5pa3UuJzsKJGxhbmdbJ2N1cmxmYWlsZWQnXSA9ICdDVVJMIHphaHRldmVrIG5pIGJpbCB1c3BlJnNjYXJvbjtlbi4nOwokbGFuZ1snY3VybGRvZXNudGV4aXN0cyddID0gJ1BvdHJlYm5hIGplIENVUkwgUEhQIHJheiZzY2Fyb247aXJpdGV2IHphIG5lcHJpc290bmUgenVuYW5qZSBwb3ZlemF2ZS4nOwokbGFuZ1snc2VydmVyX25hbWVsYWJlbCddID0gJ0l6dmlybmEgcG90JzsKJGxhbmdbJ2V4dGxhYmVsJ10gPSAnS29uxI1uaWNhJzsKJGxhbmdbJ3NpemVsYWJlbCddID0gJ1ZlbGlrb3N0JzsKJGxhbmdbJ2hhc2hsYWJlbCddID0gJ01ENSBoYXNoJzsKJGxhbmdbJ2Rlc2NyaXB0aW9ubGFiZWwnXSA9ICdPcGlzJzsKJGxhbmdbJ2NyZWF0ZWRsYWJlbCddID0gJ1VzdHZhcmplbm8nOwokbGFuZ1snZXhwaXJlc2xhYmVsJ10gPSAnUG90ZcSNZSc7CiRsYW5nWyd2aXNpYmxlbGFiZWwnXSA9ICdWaWRubyc7CiRsYW5nWyd1c2VleHBpcmF0aW9uJ10gPSAnVXBvcmFiaSBkYXR1bSBpenRla2EnOwokbGFuZ1snYWRkZmlsZSddID0gJ05vdmEgZGF0b3Rla2EnOwokbGFuZ1snc2NhbmZvcm5ld2ZpbGVzJ10gPSAnUHJlZ2xlaiB6YSBub3ZlIGRhdG90ZWtlJzsKJGxhbmdbJ3NjYW5yZXN1bHQnXSA9ICdQcmVnbGVkYW5lIG1hcGU6ICVzIDxiciAvPiAlcyBub3ZpaCBkYXRvdGVrLCBwcmlrYXphbmloIHNwb2Rhai4gSXpiZXJpdGUgZGF0b3Rla28gemEgZG9kYWphbmplLic7CiRsYW5nWydzY2Fubm9uZXcnXSA9ICdOaSBiaWxvIG5hamRlbmloIG5vdmloIGRhdG90ZWsuJzsKJGxhbmdbJ25vZmlsZWdpdmVuJ10gPSAnTmkgYmlsbyBkYXRvdGVrZSc7CiRsYW5nWydub3RoaW5ndXBsb2FkZWQnXSA9ICdOaSBkYXRvdGVrZSwgYWxpIHBhIHN0ZSBuYWxvxb5pbGkgcHJhem5vIGRhdG90ZWtvLic7CiRsYW5nWyd1bmFibGV0b21vdmUnXSA9ICdOZSBtb3JlbSBwcmVtYWtuaXRpIGFsaSBrb3BpcmF0aSBuYWxvxb5lbmUgZGF0b3Rla2UuJzsKJGxhbmdbJ3R5cGVsYWJlbCddID0gJ1RpcCc7CiRsYW5nWydmaWxlc3RhYmhlYWRlciddID0gJ0RhdG90ZWtlJzsKJGxhbmdbJ2ZpbGVhZGRlZCddID0gJ0RhdG90ZWthIHVzcGUmc2Nhcm9uO25vIGRvZGFuYSc7CiRsYW5nWydmaWxlbW9kaWZpZWQnXSA9ICdEYXRvdGVrYSB1c3BlJnNjYXJvbjtubyBzcHJlbWVuamVuYSc7CiRsYW5nWyd0ZW1wbGF0ZWZvcmZvcm0nXSA9ICdQcmVkbG9nYSBvYnJhemNhJzsKJGxhbmdbJ3RlbXBsYXRlZm9yZGV0YWlsJ10gPSAnUHJlZGxvZ2EgcG9kcm9ibm9zdGknOwokbGFuZ1sndGVtcGxhdGVmb3JlbWFpbCddID0gJ0UtbWFpbCBwcmVkbG9nYSc7CiRsYW5nWydmZXVncm91cHNsYWJlbCddID0gJ1Vwb3JhYm5pJnNjYXJvbjtrZSBza3VwaW5lLCBraSBpbWFqbyBkb3N0b3AgZG8gZGF0b3Rla2UnOwokbGFuZ1snYWNjZXNzdHlwZSddID0gJ1RpcCBkb3N0b3BhJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZnJlZSddID0gJ1Byb3N0IGRvc3RvcCc7CiRsYW5nWydhY2Nlc3N0eXBlX2ZldW9ubHknXSA9ICdTYW1vIHJlZ2lzdHJpcmFuaSB1cG9yYWJuaWtpJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfZW1haWxvbmx5J10gPSAnU2FtbyBwcmVrbyBFLW1haWxhJzsKJGxhbmdbJ2FjY2Vzc3R5cGVfbWl4ZWQnXSA9ICdSZWdpc3RyaXJhbmkgdXBvcmFibmlraSBhbGkgcHJla28gRS1tYWlsYSc7CiRsYW5nWydkZXRhaWxzJ10gPSAnUG9kcm9ibm9zdGknOwokbGFuZ1snZmlsZWNoYW5nZSddID0gJ1NwcmVtZW5pIHRvIGRhdG90ZWtvJzsKJGxhbmdbJ2NoYW5nZWZpbGVpbmZvJ10gPSAnSXpiZXJpdGUgbm92byBkYXRvdGVrbyB6YSBzcHJlbWluamFuamUgdHJlbnV0bmUgJnF1b3Q7JXMmcXVvdDsgKGFsaWFzOiVzKSBkYXRvdGVrZS4gVnNlIHBvdmV6YXZlLCBpbmZvcm1hY2lqZSBpbiBhbGlhcyBib2RvIG9zdGFsaSBlbmFraS4nOwokbGFuZ1snZmlsZWNoYW5nZWQnXSA9ICdEYXRvdGVrYSBqZSBiaWxhIHVzcGUmc2Nhcm9uO25vIHBvdm/FvmVuYSc7CiRsYW5nWydjaGFuZ2VuYW1lbGFiZWwnXSA9ICfFvWVsaXRlIHNwcmVtZW5pdGkgaW1lIGRhdG90ZWtlIHYgaW1lIG5vdmUgZGF0b3Rla2U/JzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTm92YSBrYXRlZ29yaWphJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvcmlqYSc7CiRsYW5nWydwYXJlbnRfaWRsYWJlbCddID0gJ05hZHJlamVuYSBrYXRlZ29yaWphJzsKJGxhbmdbJ2NhdGVnb3JpZXN0YWJoZWFkZXInXSA9ICdLYXRlZ29yaWplJzsKJGxhbmdbJ3Jlb3JkZXJfcHJpb3JpdHknXSA9ICdQcmlvcml0ZXRhICgtOTkmbmJzcDtkbyZuYnNwOzk5KSwgIG5pxb5qZS0+Ym9samUnOwokbGFuZ1snbm9kb3dubG9hZHMnXSA9ICdWIHRlaiBrYXRlZ29yaWppIG5pIGRhdG90ZWsnOwokbGFuZ1snZmlsZW5iJ10gPSAnJXMmbmJzcDtkYXRvdGVrJzsKJGxhbmdbJ2NhdGVnb3J5YWRkZWQnXSA9ICdLYXRlZ29yaWphIGplIGJpbGEgdXNwZSZzY2Fyb247bm8gZG9kYW5hLic7CiRsYW5nWydjYXRlZ29yeXVwZGF0ZWQnXSA9ICdLYXRlZ29yaWphIGplIGJpbGEgdXNwZSZzY2Fyb247bm8gc3ByZW1lbmplbmEuJzsKJGxhbmdbJ2NhdGVnb3J5ZGVsZXRlZCddID0gJ0thdGVnb3JpamEgamUgYmlsYSB1c3BlJnNjYXJvbjtubyBpemJyaXNhbmEuJzsKJGxhbmdbJ2NhdGVnb3J5Y29udGVudHR5cGVmcmllbmRseSddID0gJ0thdGVnb3JpamEgZGF0b3Rlayc7CiRsYW5nWydvdmVyYWxsdGFiaGVhZGVyJ10gPSAnU2t1cGFqJzsKJGxhbmdbJ2Fzc29jYXRpb25zdGFiaGVhZGVyJ10gPSAnS2F0ZWdvcmlqZSc7CiRsYW5nWydhZGRhc3NvYyddID0gJ0RvZGFqIHYga2F0ZWdvcmlqbyc7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5c2VsJ10gPSAnTmFwYWthIHByaSBwcmViaXJhbmp1IHNlbGVrdG9yamEga2F0ZWdvcmlqZS48YnIgLz4gU2VsZWt0b3IgcG8gxI1pJnNjYXJvbjvEjWVuanU6ICVzJzsKJGxhbmdbJ25vY2F0ZWdvcnlzZWwnXSA9ICdTZWxla3RvciBrYXRlZ29yaWplIG5pIHBvZGFuLic7CiRsYW5nWyd3cm9uZ2NhdGVnb3J5J10gPSAnSXpicmFuYSBrYXRlZ29yaWphIG5lIG9ic3RhamEuJzsKJGxhbmdbJ3NlbmRlbWFpbCddID0gJ1BvJnNjYXJvbjtsamkgcG92ZXphdm8gemEgcHJlbm9zIG5hIEUtbWFpbCc7CiRsYW5nWydwcm9tcHRfZmlyc3RuYW1lJ10gPSAnSW1lJzsKJGxhbmdbJ3Byb21wdF9sYXN0bmFtZSddID0gJ1ByaWltZWsnOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ3Byb21wdF9tYWlsaW5nbGlzdCddID0gJ8W9ZWxpbSBiaXRpIG9idmUmc2Nhcm9uO8SNZW4gbyBub3ZpaCBkYXRvdGVrYWggaW4gcG9tZW1ibmloIG9idmVzdGlsaWgnOwokbGFuZ1snZW1haWxzZW50J10gPSAnRS1tYWlsLCBraSB2c2VidWplIHBvdmV6YXZvIHphIHByZW5vcywgamUgYmlsIHBvc2xhbiBuYSB2cGlzYW4gbmFzbG92Lic7CiRsYW5nWydjb3VsZG5vdHNlbmQnXSA9ICdQcmkmc2Nhcm9uO2xvIGplIGRvIG5hcGFrZSBwcmkgdmEmc2Nhcm9uO2VtIHphaHRldmt1LiBFLW1haWwgbmkgYmlsIHBvc2xhbi4nOwokbGFuZ1snaW52YWxpZGVtYWlsJ10gPSAnRS1tYWlsLCBraSBzdGUgZ2EgdnBpc2FsaSwgbmkgdmVsamF2ZW4uIEJyZXogdmVsamF2bmVnYSBFLW1haWwgbmFzbG92YSB2YW0gbmUgbW9yZW1vIHBvc2xhdGkgcG92ZXphdmUgemEgcHJlbm9zIGRhdG90ZWtlLCB6YXRvIGRhdG90ZWtlIG5lIGJvc3RlIG1vZ2xpIHByZW5lc3RpLic7CiRsYW5nWydwbGVhc2VfbmFtZSddID0gJ1Byb3NpbW8sIHZwaSZzY2Fyb247aXRlIHZhJnNjYXJvbjtlIGltZS4nOwokbGFuZ1sncGxlYXNlX2VtYWlsJ10gPSAnUHJvc2ltbywgdnBpJnNjYXJvbjtpdGUgdmEmc2Nhcm9uOyBFLW1haWwgbmFzbG92LiBQb3ZlemF2YSB6YSBwcmVub3MgYm8gcG9zbGFuYSBuYSB0YSBuYXNsb3YuJzsKJGxhbmdbJ2FkZHRlbXBsYXRlJ10gPSAnTm92YSBwcmVkbG9nYSc7CiRsYW5nWydsaXN0dGVtcGxhdGVzJ10gPSAnUHJlZGxvZ2UgemEgcHJpa2F6IHNlem5hbWEga2F0ZWdvcmlqIGFsaSBkYXRvdGVrJzsKJGxhbmdbJ2FkZGxpc3R0ZW1wbGF0ZSddID0gJ05vdmEgcHJlZGxvZ2Egc2V6bmFtYSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdQcmVkbG9nZSB6YSBwcmlrYXogcG9kcm9ibm9zdGkgZGF0b3Rla2UnOwokbGFuZ1snYWRkZGV0YWlsdGVtcGxhdGUnXSA9ICdOb3ZhIHByZWRsb2dhIHBvZHJvYm5vc3RpJzsKJGxhbmdbJ2Zvcm10ZW1wbGF0ZXMnXSA9ICdQcmVkbG9nZSBvYnJhemNhIHphIHphaHRldmFuamUgcG92ZXphdmUgcHJla28gRS1tYWlsYSc7CiRsYW5nWydhZGRmb3JtdGVtcGxhdGUnXSA9ICdOb3ZhIHByZWRsb2dhIG9icmF6Y2EnOwokbGFuZ1snZW1haWx0ZW1wbGF0ZXMnXSA9ICdQcmVkbG9nZSB6YSBFLW1haWxlIHMgcG92ZXphdm8gemEgcHJlbm9zJzsKJGxhbmdbJ2FkZGVtYWlsdGVtcGxhdGUnXSA9ICdOb3ZhIHByZWRsb2dhIEUtbWFpbGEnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlJ10gPSAnVXBvcmFiaSBwcml2emV0byBwcmVkbG9nbyAoZ2xlaiB6YXZpaGVrIHByZWRsb2dlKSc7CiRsYW5nWydwcm9tcHRfZGVsZXRldGVtcGxhdGUnXSA9ICdTdGUgcHJlcHJpxI1hbmksIGRhIMW+ZWxpdGUgaXpicmlzYXRpIHByZWRsb2dvICVzPyc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ1ByZWRsb2dhJzsKJGxhbmdbJ2NvbnRlbnRsYWJlbCddID0gJ1ZzZWJpbmEnOwokbGFuZ1sndGVtcGxhdGVfbmFtZWxhYmVsJ10gPSAnTmF6aXYnOwokbGFuZ1sndGVtcGxhdGVhZGRlZCddID0gJ1ByZWRsb2dhIGplIGJpbGEgdXNwZSZzY2Fyb247bm8gZG9kYW5hLic7CiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdQcmVkbG9nYSBqZSBiaWxhIHVzcGUmc2Nhcm9uO25vIHBvc29kb2JsamVuYS4nOwokbGFuZ1sndGVtcGxhdGVkZWxldGVkJ10gPSAnUHJlZGxvZ2EgamUgYmlsYSB1c3BlJnNjYXJvbjtubyBpemJyaXNhbmEuJzsKJGxhbmdbJ3dyb25ndGVtcGxhdGUnXSA9ICdEb2xvxI1lbmEgamUgbmFwYcSNbmEgcHJlZGxvZ2EuJzsKJGxhbmdbJ2FscmVhZHlleGlzdCddID0gJ1ByZWRsb2dhIHMgdGVtIG5heml2b20gxb5lIG9ic3RhamEuJzsKJGxhbmdbJ2dlbmVyYWxfdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGJhY2t0b2xpc3RsaW5rfTwvYj48L3RkPjx0ZD5SZXR1cm4gYmFjayBpbiBoaXN0b3J5IGxpbms8L3RkPjwvdHI+DQonOwokbGFuZ1snZmlsZWl0ZW1fdGVtcGxhdGVoZWxwJ10gPSAnPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZWhlbHAnXSA9ICc8dHI+PHRkPjxiPnskaXRlbS0+bmFtZX08L2I+PC90ZD48dGQ+ZmlsZSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5maWxlIGRlc2NyaXB0aW9uPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnNpemV9PC9iPjwvdGQ+PHRkPmZpbGUgc2l6ZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVyfTwvYj48L3RkPjx0ZD50aW1lcyB0aGUgZmlsZSB3YXMgZG93bmxvYWRlZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvYj48L3RkPjx0ZD50ZXh0OiBEb3dubG9hZGVkICVzIHRpbWUocykuPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhhc2h9PC9iPjwvdGQ+PHRkPm1kNSBoYXNoIHN1bTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHR9PC9iPjwvdGQ+PHRkPmZpbGUgZXh0ZW5zaW9uIChqcGcscGRmLHRhci5ieixldGMuKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5jcmVhdGVkfTwvYj48L3RkPjx0ZD50aW1lLCB3aGVuIGZpbGUgd2FzIHVwbG9hZGVkIHRvIHNlcnZlcjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5leHBpcmVzfTwvYj48L3RkPjx0ZD5leHBpcmF0aW9uIHRpbWUsIGFmdGVyIHRoaXMgLSBmaWxlIGlzIG5vIGxvbmdlciBhdmFpbGFibGU8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5jYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5jYXRlZ29yaWVzIHRvIHdoaWNoIGZpbGUgYmVsb25nIChhdmFpbGFibGUgaW4gc2VsZWN0b3IgYW5kIGRldGFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZG93bmxvYWR9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkb3dubG9hZCBsaW5rPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmhyZWZ9PC9iPjwvdGQ+PHRkPmhyZWYgdG8gZmlsZSBkb3dubG9hZDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5hY2Nlc3N0eXBlc308L2I+PC90ZD48dGQ+YXJyYXkgb2YgaHVtYW4gcmVhZGFibGUgYWNjZXNzIHR5cGVzIChmcmVlLGZldSxtYWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXRhaWx9PC9iPjwvdGQ+PHRkPmdlbmVyYXRlZCBkZXRhaWwgbGluazwvdGQ+PC90cj4NCic7CiRsYW5nWydmb3JtX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDs+PGk+SW5wdXRzPC9pPjo8L3RoPjwvdHI+DQo8dHI+PHRkPjxiPnskZmlyc3RuYW1lX2lucHV0fTwvYj48L3RkPjx0ZD5maXJzdG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbGFzdG5hbWVfaW5wdXR9PC9iPjwvdGQ+PHRkPmxhc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGVtYWlsX2lucHV0fTwvYj48L3RkPjx0ZD5lbWFpbDwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRtYWlsaW5nbGlzdF9pbnB1dH08L2I+PC90ZD48dGQ+bWFpbGluZ2xpc3QgY2hlY2tib3g8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskc3VibWl0fTwvYj48L3RkPjx0ZD5zdWJtaXQ8L3RkPjwvdHI+DQo8dHI+PHRoIGNvbHNwYW49JnF1b3Q7MiZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjojNzc3JnF1b3Q7PjxpPkxhYmVsczwvaT46PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGZpcnN0bmFtZV9sYWJlbH08L2I+PC90ZD48dGQ+Zmlyc3RuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lX2xhYmVsfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRlbWFpbF9sYWJlbH08L2I+PC90ZD48dGQ+ZW1haWw8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskbWFpbGluZ2xpc3RfbGFiZWx9PC9iPjwvdGQ+PHRkPm1haWxpbmdsaXN0IGNoZWNrYm94PC90ZD48L3RyPg0KJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlaGVscCddID0gJzx0cj48dGQ+PGI+eyRmaXJzdG5hbWV9PC9iPjwvdGQ+PHRkPmZpcnN0bmFtZSBvZiB1c2VyIGRvd25sb2FkaW5nIHRoZSBmaWxlPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGxhc3RuYW1lfTwvYj48L3RkPjx0ZD5sYXN0bmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkdXJsfTwvYj48L3RkPjx0ZD5saW5rIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRkaHJlZn08L2I+PC90ZD48dGQ+dXJpIGZvciBkb3dubG9hZGluZyB0aGUgZmlsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPm5hbWV9PC9iPjwvdGQ+PHRkPmZpbGUgbmFtZTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kZXNjcmlwdGlvbn08L2I+PC90ZD48dGQ+ZmlsZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zaXplfTwvYj48L3RkPjx0ZD5maWxlIHNpemU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcn08L2I+PC90ZD48dGQ+dGltZXMgdGhlIGZpbGUgd2FzIGRvd25sb2FkZWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y291bnRlcmxvY2FsZX08L2I+PC90ZD48dGQ+dGV4dDogRG93bmxvYWRlZCAlcyB0aW1lKHMpLjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5oYXNofTwvYj48L3RkPjx0ZD5tZDUgaGFzaCBzdW08L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXh0fTwvYj48L3RkPjx0ZD5maWxlIGV4dGVuc2lvbiAoanBnLHBkZix0YXIuYnosZXRjLik8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+Y3JlYXRlZH08L2I+PC90ZD48dGQ+dGltZSwgd2hlbiBmaWxlIHdhcyB1cGxvYWRlZCB0byBzZXJ2ZXI8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZXhwaXJlc308L2I+PC90ZD48dGQ+ZXhwaXJhdGlvbiB0aW1lLCBhZnRlciB0aGlzIC0gZmlsZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxiPnskaXRlbS0+Y2F0ZWdvcmllc308L2I+PC90ZD48dGQ+Y2F0ZWdvcmllcyB0byB3aGljaCBmaWxlIGJlbG9uZyAoYXZhaWxhYmxlIGluIHNlbGVjdG9yIGFuZCBkZXRhaWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRvd25sb2FkfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZG93bmxvYWQgbGluazwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5ocmVmfTwvYj48L3RkPjx0ZD5ocmVmIHRvIGZpbGUgZG93bmxvYWQ8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+YWNjZXNzdHlwZXN9PC9iPjwvdGQ+PHRkPmFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIGFjY2VzcyB0eXBlcyAoZnJlZSxmZXUsbWFpbCk8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGV0YWlsfTwvYj48L3RkPjx0ZD5nZW5lcmF0ZWQgZGV0YWlsIGxpbms8L3RkPjwvdHI+DQoNCic7CiRsYW5nWydsaXN0X3RlbXBsYXRlaGVscCddID0gJzx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O3RleHQtYWxpZ246Y2VudGVyOyZxdW90Oz48YnIvPjxpPiBJbiB0aGUge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1pdGVtfSBsb29wOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRoPlZhcmlhYmxlOjwvdGg+PHRoPldoYXQgaXMgaXQ/PC90aD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPml0ZW1sZXZlbH08L2I+PC90ZD48dGQ+YWN0dWFsIGNhdGVnb3J5LWxldmVsPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPnJvd2NsYXNzfTwvYj48L3RkPjx0ZD5yb3cxIG9yIHJvdzIgZGVwZW5kaW5nIG9uIHBhcml0eTwvdGQ+PC90cj4NCg0KPHRyPjx0aCBjb2xzcGFuPSZxdW90OzImcXVvdDsgc3R5bGU9JnF1b3Q7Y29sb3I6Izc3NyZxdW90Oz48aT4gV2hlbiA8Yj57JGl0ZW0tPml0ZW10eXBlfTwvYj4gPSA8aT5oZWFkZXI8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+PC90ZD48dGQ+PGk+aGVhZGVyPC9pPjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5jYXRlZ29yeSBuYW1lPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRlc2NyaXB0aW9ufTwvYj48L3RkPjx0ZD5jYXRlZ29yeSBkZXNjcmlwdGlvbjwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5zdWJjYXRlZ29yaWVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBzdWJjYXRlZ29yaWVzLCBlYWNoIHN1YmNhdGVnb3J5IGhhcyBlbGVtZW50czogaWQsIG5hbWUsIGxvbmdfbmFtZSwgYWxpYXMsIGZpbGVzbmIsIGl0ZW1zLCBwYXJlbnQ8L3RkPjwvdHI+DQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiM3NzcmcXVvdDsgPjxpPiBXaGVuIDxiPnskaXRlbS0+aXRlbXR5cGV9PC9iPiA9IDxpPmZpbGU8L2k+OjwvdGg+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5pdGVtdHlwZX08L2I+PC90ZD48dGQ+PGk+ZmlsZTwvaT48L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGI+eyRpdGVtLT5uYW1lfTwvYj48L3RkPjx0ZD5maWxlIG5hbWU8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+ZGVzY3JpcHRpb259PC9iPjwvdGQ+PHRkPmZpbGUgZGVzY3JpcHRpb248L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+c2l6ZX08L2I+PC90ZD48dGQ+ZmlsZSBzaXplPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJ9PC9iPjwvdGQ+PHRkPnRpbWVzIHRoZSBmaWxlIHdhcyBkb3dubG9hZGVkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNvdW50ZXJsb2NhbGV9PC9iPjwvdGQ+PHRkPnRleHQ6IERvd25sb2FkZWQgJXMgdGltZShzKS48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aGFzaH08L2I+PC90ZD48dGQ+bWQ1IGhhc2ggc3VtPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4dH08L2I+PC90ZD48dGQ+ZmlsZSBleHRlbnNpb24gKGpwZyxwZGYsdGFyLmJ6LGV0Yy4pPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNyZWF0ZWR9PC9iPjwvdGQ+PHRkPnRpbWUsIHdoZW4gZmlsZSB3YXMgdXBsb2FkZWQgdG8gc2VydmVyPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmV4cGlyZXN9PC9iPjwvdGQ+PHRkPmV4cGlyYXRpb24gdGltZSwgYWZ0ZXIgdGhpcyAtIGZpbGUgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZTwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmNhdGVnb3JpZXN9PC9iPjwvdGQ+PHRkPmNhdGVnb3JpZXMgdG8gd2hpY2ggZmlsZSBiZWxvbmcgKGF2YWlsYWJsZSBpbiBzZWxlY3RvciBhbmQgZGV0YWlsKTwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+eyRpdGVtLT5kb3dubG9hZH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRvd25sb2FkIGxpbms8L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbS0+aHJlZn08L2I+PC90ZD48dGQ+aHJlZiB0byBmaWxlIGRvd25sb2FkPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmFjY2Vzc3R5cGVzfTwvYj48L3RkPjx0ZD5hcnJheSBvZiBodW1hbiByZWFkYWJsZSBhY2Nlc3MgdHlwZXMgKGZyZWUsZmV1LG1haWwpPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JGl0ZW0tPmRldGFpbH08L2I+PC90ZD48dGQ+Z2VuZXJhdGVkIGRldGFpbCBsaW5rPC90ZD48L3RyPg0KDQoNCjx0cj48dGggY29sc3Bhbj0mcXVvdDsyJnF1b3Q7IHN0eWxlPSZxdW90O3RleHQtYWxpZ246Y2VudGVyOyZxdW90Oz48YnIvPjxpPkluIHdob2xlIHRlbXBsYXRlOjwvaT48L3RoPjwvdHI+DQo8dHI+PHRkPjxiPlZhcmlhYmxlOjwvYj48L3RkPjx0ZD48Yj5XaGF0IGlzIGl0PzwvYj48L3RkPjwvdHI+DQo8dHI+PHRkPjxiPnskaXRlbWNvdW50fTwvYj48L3RkPjx0ZD5udW1iZXIgb2YgaXRlbXMgaW4gJGl0ZW1zPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj57JG5vZG93bmxvYWRzfTwvYj48L3RkPjx0ZD5tZXNzYWdlIHRoZW4gdGhlcmUgYXJlIG5vIGRvd25sb2FkcyBpbiBzZWxlY3RlZCBjYXRlZ29yeTwvdGQ+PC90cj4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3MjI0NjQzNTQ0MzIwMDIwMDAuMTI1MTM3MDA5OC4xMjU4OTYyMTA2LjEyNTkyMzgyNDEuMTYnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjU5MjM4MjQxLjE2LjE1LnV0bWNzcj1nb29nbGV8dXRtY2NuPShvcmdhbmljKXx1dG1jbWQ9b3JnYW5pY3x1dG1jdHI9Y21zIG1hZGUgc2ltcGxlJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE1ODA0ODk3NjMtMTI1MTM3MDA5OTM4OCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjIuMTAuMTI1OTIzODI0MSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ZGVueSBmcm9tIGFsbAo=]]></data>
	</file>
	<file>
	  <filename>/lib/easyphpthumbnail/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/easyphpthumbnail/easyphpthumbnail.class.php5</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgDQoNCi8qKg0KDQpFYXN5UGhwVGh1bWJuYWlsIGNsYXNzIHZlcnNpb24gMi4wLjMgLSBQSFA1DQpPbi10aGUtZmx5IGltYWdlIG1hbmlwdWxhdGlvbiBhbmQgdGh1bWJuYWlsIGdlbmVyYXRpb24NCg0KQ29weXJpZ2h0IChjKSAyMDA4LTIwMTAgSkYgTnV0YnJvZWsgPGpmbnV0YnJvZWtAZ21haWwuY29tPg0KVmlzaXQgaHR0cDovL3d3dy5teXdlYm15bWFpbC5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24NCg0KUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQpwdXJwb3NlIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQ0KY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4NCg0KVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTDQpXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GDQpNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUg0KQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUw0KV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFODQpBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRg0KT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCg0KKi8NCg0KY2xhc3MgZWFzeXBocHRodW1ibmFpbCB7DQoJDQoJLyoqDQoJICogVGhlIHNpemUgb2YgdGhlIHRodW1ibmFpbCBpbiBweA0KCSAqIEF1dG9zY2FsZSBsYW5kc2NhcGUgb3IgcG9ydHJhaXQNCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQ0KCXB1YmxpYyAkVGh1bWJzaXplOwkNCgkvKioNCgkgKiBUaGUgaGVpZ2h0IG9mIHRoZSB0aHVtYm5haWwgaW4gcHgNCgkgKiBGb3JjZXMgYWxsIHRodW1ibmFpbHMgdG8gdGhlIHNhbWUgaGVpZ2h0DQoJICoNCgkgKiBAdmFyIGludA0KCSAqLwkNCglwdWJsaWMgJFRodW1iaGVpZ2h0OwkJDQoJLyoqDQoJICogVGhlIHdpZHRoIG9mIHRoZSB0aHVtYm5haWwgaW4gcHgNCgkgKiBGb3JjZXMgYWxsIHRodW1ibmFpbHMgdG8gdGhlIHNhbWUgd2lkdGgNCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQ0KCXB1YmxpYyAkVGh1bWJ3aWR0aDsNCgkvKioNCgkgKiBTZXQgZGltZW5zaW9ucyB0byBwZXJjZW50YWdlIGluc3RlYWQgb2YgcHgNCgkgKiANCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQ0KCXB1YmxpYyAkUGVyY2VudGFnZTsJDQoJLyoqDQoJICogQWxsb3cgaW1hZ2UgZW5sYXJnZW1lbnQNCgkgKg0KCSAqIEB2YXIgYm9vbGVhbg0KCSAqLwkJDQoJcHVibGljICRJbmZsYXRlOw0KCS8qKg0KCSAqIFF1YWxpdHkgb2YgSlBFRyBpbWFnZXMgMCAtIDEwMA0KCSAqDQoJICogQHZhciBpbnQNCgkgKi8JCQ0KCXB1YmxpYyAkUXVhbGl0eTsJDQoJLyoqDQoJICogVGhlIGZyYW1lIHdpZHRoIGluIHB4IGFyb3VuZCB0aGUgaW1hZ2UNCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQ0KCXB1YmxpYyAkRnJhbWV3aWR0aDsNCgkvKioNCgkgKiBGcmFtZSBjb2xvciBpbiB3ZWIgZm9ybWF0OiAnIzAwRkYwMCcNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkNCglwdWJsaWMgJEZyYW1lY29sb3I7CQ0KCS8qKg0KCSAqIEJhY2tncm91bmQgY29sb3IgaW4gd2ViIGZvcm1hdDogJyMwMEZGMDAnDQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJDQoJcHVibGljICRCYWNrZ3JvdW5kY29sb3I7CQ0KCS8qKg0KCSAqIEFkZCBzaGFkb3cNCgkgKiANCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQ0KCXB1YmxpYyAkU2hhZG93Ow0KCS8qKg0KCSAqIFNob3cgYmluZGVyIHJpbmdzDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQ0KCXB1YmxpYyAkQmluZGVyOw0KCS8qKg0KCSAqIEJpbmRlciByaW5nIHNwYWNpbmcgaW4gcHgNCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQkJDQoJcHVibGljICRCaW5kZXJzcGFjaW5nOwkNCgkvKioNCgkgKiBQYXRoIHRvIFBORyB3YXRlcm1hcmsgaW1hZ2UNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkNCglwdWJsaWMgJFdhdGVybWFya3BuZzsNCgkvKioNCgkgKiBQb3NpdGlvbiBvZiB3YXRlcm1hcmsgaW1hZ2UsIGJvdHRvbSByaWdodCBjb3JuZXI6ICcxMDAlIDEwMCUnDQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJDQoJcHVibGljICRXYXRlcm1hcmtwb3NpdGlvbjsNCgkvKioNCgkgKiBUcmFuc3BhcmVuY3kgbGV2ZWwgb2Ygd2F0ZXJtYXJrIGltYWdlIDAgLSAxMDANCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQkNCglwdWJsaWMgJFdhdGVybWFya3RyYW5zcGFyZW5jeTsNCgkvKioNCgkgKiBDSE1PRCBsZXZlbCBvZiBzYXZlZCB0aHVtYm5haWxzOiAnMDc1NScNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkNCglwdWJsaWMgJENobW9kbGV2ZWw7DQoJLyoqDQoJICogUGF0aCB0byBsb2NhdGlvbiBmb3IgdGh1bWJuYWlscw0KCSAqDQoJICogQHZhciBzdHJpbmcNCgkgKi8JCQ0KCXB1YmxpYyAkVGh1bWJsb2NhdGlvbjsNCgkvKioNCgkgKiBGaWxldHlwZSBjb252ZXJzaW9uIGZvciBzYXZpbmcgdGh1bWJuYWlsDQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJDQoJcHVibGljICRUaHVtYnNhdmVhczsJDQoJLyoqDQoJICogUHJlZml4IGZvciBzYXZpbmcgdGh1bWJuYWlscw0KCSAqDQoJICogQHZhciBzdHJpbmcNCgkgKi8JCQ0KCXB1YmxpYyAkVGh1bWJwcmVmaXg7DQoJLyoqDQoJICogQ2xpcCBjb3JuZXJzOyBhcnJheSB3aXRoIDcgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1zdHJhaWdodCAyPXJvdW5kZWQNCgkgKiBbMV06IFBlcmNlbnRhZ2Ugb2YgY2xpcHBpbmcNCgkgKiBbMl06IENsaXAgcmFuZG9tbHkgMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICogWzNdOiBDbGlwIHRvcCBsZWZ0IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFs0XTogQ2xpcCBib3R0b20gbGVmdCAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbNV06IENsaXAgdG9wIHJpZ2h0IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFs2XTogQ2xpcCBib3R0b20gcmlnaHQgMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJENsaXBjb3JuZXI7DQoJLyoqDQoJICogQWdlIGltYWdlOyBhcnJheSB3aXRoIDMgdmFsdWVzDQoJICogWzBdOiBCb29sZWFuIDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogQWRkIG5vaXNlIDAtMTAwLCAwPWRpc2FibGUNCgkgKiBbMl06IFNlcGhpYSBkZXB0aCAwLTEwMCwgMD1kaXNhYmxlIChncmV5c2NhbGUpDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJEFnZWltYWdlOw0KCS8qKg0KCSAqIENyb3AgaW1hZ2U7IGFycmF5IHdpdGggNiB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZSBmcmVlIGNyb3AgMj1lbmFibGUgY2VudGVyIGNyb3AgMz1lbmFibGUgc3F1YXJlIGNyb3ANCgkgKiBbMV06IDA9cGVyY2VudGFnZSAxPXBpeGVscw0KCSAqIFsyXTogQ3JvcCBsZWZ0DQoJICogWzNdOiBDcm9wIHJpZ2h0DQoJICogWzRdOiBDcm9wIHRvcA0KCSAqIFs1XTogQ3JvcCBib3R0b20NCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkQ3JvcGltYWdlOwkNCgkvKioNCgkgKiBQYXRoIHRvIFBORyBib3JkZXIgaW1hZ2UNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkJDQoJcHVibGljICRCb3JkZXJwbmc7DQoJLyoqDQoJICogQ29weXJpZ2h0IHRleHQNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkNCglwdWJsaWMgJENvcHlyaWdodHRleHQ7DQoJLyoqDQoJICogUG9zaXRpb24gZm9yIENvcHlyaWdodHRleHQgdGV4dCwgYm90dG9tIHJpZ2h0IGNvcm5lcjogJzEwMCUgMTAwJScNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkJDQoJcHVibGljICRDb3B5cmlnaHRwb3NpdGlvbjsNCgkvKioNCgkgKiBQYXRoIHRvIFRURiBGb250dHlwZQ0KCSAqIElmIG5vIFRURiBmb250IGlzIHNwZWNpZmllZCwgc3lzdGVtIGZvbnQgd2lsbCBiZSB1c2VkDQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJCQ0KCXB1YmxpYyAkQ29weXJpZ2h0Zm9udHR5cGU7CQkNCgkvKioNCgkgKiBGb250c2l6ZSBmb3IgQ29weXJpZ2h0dGV4dCB0ZXh0DQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJCQ0KCXB1YmxpYyAkQ29weXJpZ2h0Zm9udHNpemU7CQ0KCS8qKg0KCSAqIENvcHlyaWdodHRleHQgdGV4dCBjb2xvciBpbiB3ZWIgZm9ybWF0OiAnIzAwMDAwMCcNCgkgKiBObyBjb2xvciBzcGVjaWZpZWQgd2lsbCBhdXRvLWRldGVybWluZSBibGFjayBvciB3aGl0ZQ0KCSAqDQoJICogQHZhciBzdHJpbmcNCgkgKi8JCQkNCglwdWJsaWMgJENvcHlyaWdodHRleHRjb2xvcjsNCgkvKioNCgkgKiBSb3RhdGUgaW1hZ2UgaW4gZGVncmVlcw0KCSAqDQoJICogQHZhciBpbnQNCgkgKi8JCQkJDQoJcHVibGljICRSb3RhdGU7CQ0KCS8qKg0KCSAqIEZsaXAgdGhlIGltYWdlIGhvcml6b250YWxseQ0KCSAqDQoJICogQHZhciBib29sZWFuDQoJICovCQkJCQ0KCXB1YmxpYyAkRmxpcGhvcml6b250YWw7CQkNCgkvKioNCgkgKiBGbGlwIHRoZSBpbWFnZSB2ZXJ0aWNhbGx5DQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkJDQoJcHVibGljICRGbGlwdmVydGljYWw7CQ0KCS8qKg0KCSAqIENyZWF0ZSBzcXVhcmUgY2FudmFzIHRodW1icw0KCSAqDQoJICogQHZhciBib29sZWFuDQoJICovCQkJDQoJcHVibGljICRTcXVhcmU7DQoJLyoqDQoJICogQXBwbHkgYSBmaWx0ZXIgdG8gdGhlIGltYWdlDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkNCglwdWJsaWMgJEFwcGx5ZmlsdGVyOw0KCS8qKg0KCSAqIEFwcGx5IGEgM3gzIGZpbHRlciBtYXRyaXggdG8gdGhlIGltYWdlOyBhcnJheSB3aXRoIDkgdmFsdWVzDQoJICogWzBdOiBhMSwxDQoJICogWzFdOiBhMSwyDQoJICogWzJdOiBhMSwzDQoJICogWzNdOiBhMiwxDQoJICogWzRdOiBhMiwyDQoJICogWzVdOiBhMiwzDQoJICogWzZdOiBhMywxDQoJICogWzddOiBhMywyDQoJICogWzhdOiBhMywzDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJEZpbHRlcjsNCgkvKioNCgkgKiBEaXZpc29yIGZvciBmaWx0ZXINCgkgKg0KCSAqIEB2YXIgaW50DQoJICovCQkJCQ0KCXB1YmxpYyAkRGl2aXNvcjsNCgkvKioNCgkgKiBPZmZzZXQgZm9yIGZpbHRlcg0KCSAqDQoJICogQHZhciBpbnQNCgkgKi8JCQkJDQoJcHVibGljICRPZmZzZXQ7DQoJLyoqDQoJICogQmx1ciBmaWx0ZXINCgkgKg0KCSAqIEB2YXIgYm9vbGVhbg0KCSAqLwkJCQkNCglwdWJsaWMgJEJsdXI7CQ0KCS8qKg0KCSAqIFNoYXJwZW4gZmlsdGVyDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkJDQoJcHVibGljICRTaGFycGVuOwkJDQoJLyoqDQoJICogRWRnZSBmaWx0ZXINCgkgKg0KCSAqIEB2YXIgYm9vbGVhbg0KCSAqLwkJCQkNCglwdWJsaWMgJEVkZ2U7DQoJLyoqDQoJICogRW1ib3NzIGZpbHRlcg0KCSAqDQoJICogQHZhciBib29sZWFuDQoJICovCQkJCQ0KCXB1YmxpYyAkRW1ib3NzOw0KCS8qKg0KCSAqIE1lYW4gZmlsdGVyDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkJDQoJcHVibGljICRNZWFuOwkNCgkvKioNCgkgKiBSb3RhdGUgYW5kIGNyb3AgdGhlIGltYWdlDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkJDQoJcHVibGljICRDcm9wcm90YXRlOwkNCgkvKioNCgkgKiBBcHBseSBwZXJzcGVjdGl2ZSB0byB0aGUgaW1hZ2U7IGFycmF5IHdpdGggMyB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogRGlyZWN0aW9uIDA9bGVmdCAxPXJpZ2h0IDI9dG9wIDM9Ym90dG9tDQoJICogWzJdOiBQZXJzcGVjdGl2ZSBzdHJlbmd0aCAwIC0gMTAwDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJFBlcnNwZWN0aXZlOw0KCS8qKg0KCSAqIEFwcGx5IHBlcnNwZWN0aXZlIHRvIHRoZSB0aHVtYm5haWw7IGFycmF5IHdpdGggMyB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogRGlyZWN0aW9uIDA9bGVmdCAxPXJpZ2h0IDI9dG9wIDM9Ym90dG9tDQoJICogWzJdOiBQZXJzcGVjdGl2ZSBzdHJlbmd0aCAwIC0gMTAwDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJFBlcnNwZWN0aXZldGh1bWI7DQoJLyoqDQoJICogQXBwbHkgc2hhZGluZyBncmFkaWVudCB0byB0aGUgaW1hZ2U7IGFycmF5IHdpdGggNCB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogU2hhZGluZyBzdHJlbmd0aCAwIC0gMTAwDQoJICogWzJdOiBTaGFkaW5nIGFyZWEgMCAtIDEwMA0KCSAqIFszXTogU2hhZGluZyBkaXJlY3Rpb24gMD1yaWdodCAxPWxlZnQgMj10b3AgMz1ib3R0b20NCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkU2hhZGluZzsNCgkvKioNCgkgKiBTaGFkaW5nIGdyYWRpZW50IGNvbG9yIGluIHdlYiBmb3JtYXQ6ICcjMDBGRjAwJw0KCSAqDQoJICogQHZhciBzdHJpbmcNCgkgKi8JCQ0KCXB1YmxpYyAkU2hhZGluZ2NvbG9yOwkJDQoJLyoqDQoJICogQXBwbHkgYSBtaXJyb3IgZWZmZWN0IHRvIHRoZSB0aHVtYm5haWw7IGFycmF5IHdpdGggNCB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogTWlycm9yIHRyYW5zcGFyZW5jeSBncmFkaWVudCBzdGFydGluZyBzdHJlbmd0aCAwIC0gMTAwDQoJICogWzJdOiBNaXJyb3IgdHJhbnNwYXJlbmN5IGdyYWRpZW50IGVuZGluZyBzdHJlbmd0aCAwIC0gMTAwDQoJICogWzNdOiBNaXJyb3IgYXJlYSAwIC0gMTAwDQoJICogWzRdOiBNaXJyb3IgJ2dhcCcgYmV0d2VlbiBvcmlnaW5hbCBpbWFnZSBhbmQgcmVmbGVjdGlvbiBpbiBweA0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkNCglwdWJsaWMgJE1pcnJvcjsNCgkvKioNCgkgKiBNaXJyb3IgZ3JhZGllbnQgY29sb3IgaW4gd2ViIGZvcm1hdDogJyMwMEZGMDAnDQoJICoNCgkgKiBAdmFyIHN0cmluZw0KCSAqLwkJDQoJcHVibGljICRNaXJyb3Jjb2xvcjsJCQ0KCS8qKg0KCSAqIENyZWF0ZSBpbWFnZSBuZWdhdGl2ZQ0KCSAqDQoJICogQHZhciBib29sZWFuDQoJICovCQkJDQoJcHVibGljICROZWdhdGl2ZTsNCgkvKioNCgkgKiBSZXBsYWNlIGEgY29sb3IgaW4gdGhlIGltYWdlOyBhcnJheSB3aXRoIDQgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IENvbG9yIHRvIHJlcGxhY2UgaW4gd2ViIGZvcm1hdDogJyMwMEZGMDAnDQoJICogWzJdOiBSZXBsYWNlbWVudCBjb2xvciBpbiB3ZWIgZm9ybWF0OiAnI0ZGMDAwMCcNCgkgKiBbM106IFJHQiB0b2xlcmFuY2UgMCAtIDEwMA0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkJDQoJcHVibGljICRDb2xvcnJlcGxhY2U7DQoJLyoqDQoJICogU2NyYW1ibGUgcGl4ZWxzOyBhcnJheSB3aXRoIDMgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IFBpeGVsIHJhbmdlDQoJICogWzJdOiBSZXBlYXRzICh1c2Ugd2l0aCBjYXJlISkNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkUGl4ZWxzY3JhbWJsZTsNCgkvKioNCgkgKiBDb252ZXJ0IGltYWdlIHRvIGdyZXlzY2FsZQ0KCSAqDQoJICogQHZhciBib29sZWFuDQoJICovCQkJCQ0KCXB1YmxpYyAkR3JleXNjYWxlOw0KCS8qKg0KCSAqIENoYW5nZSBicmlnaHRuZXNzIG9mIHRoZSBpbWFnZTsgYXJyYXkgd2l0aCAyIHZhbHVlcw0KCSAqIFswXTogMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICogWzFdOiBCcmlnaHRuZXNzIC0xMDAgdG8gMTAwDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJEJyaWdodG5lc3M7CQ0KCS8qKg0KCSAqIENoYW5nZSBjb250cmFzdCBvZiB0aGUgaW1hZ2U7IGFycmF5IHdpdGggMiB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogQ29udHJhc3QgLTEwMCB0byAxMDANCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkQ29udHJhc3Q7DQoJLyoqDQoJICogQ2hhbmdlIGdhbW1hIG9mIHRoZSBpbWFnZTsgYXJyYXkgd2l0aCAyIHZhbHVlcw0KCSAqIFswXTogMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICogWzFdOiBHYW1tYSBjb3JyZWN0aW9uIGZhY3Rvcg0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkJDQoJcHVibGljICRHYW1tYTsJDQoJLyoqDQoJICogUmVkdWNlIHBhbGV0dGUgb2YgdGhlIGltYWdlOyBhcnJheSB3aXRoIDIgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IEFtb3VudCBvZiBjb2xvcnMgZm9yIHBhbGV0dGUNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkUGFsZXR0ZTsJDQoJCS8qKg0KCSAqIE1lcmdlIGEgY29sb3IgaW4gdGhlIGltYWdlOyBhcnJheSB3aXRoIDUgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IFJlZCBjb21wb25lbnQgMCAtIDI1NQ0KCSAqIFsyXTogR3JlZW4gY29tcG9uZW50IDAgLSAyNTUNCgkgKiBbM106IEJsdWUgY29tcG9uZW50IDAgLSAyNTUNCgkgKiBbNF06IE9wYWNpdHkgbGV2ZWwgMCAtIDEyNw0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkJDQoJcHVibGljICRDb2xvcml6ZTsJDQoJLyoqDQoJICogUGl4ZWxhdGUgdGhlIGltYWdlOyBhcnJheSB3aXRoIDIgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IEJsb2NrIHNpemUgaW4gcHgNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkUGl4ZWxhdGU7CQkNCgkvKioNCgkgKiBBcHBseSBhIG1lZGlhbiBmaWx0ZXIgdG8gcmVtb3ZlIG5vaXNlDQoJICoNCgkgKiBAdmFyIGJvb2xlYW4NCgkgKi8JCQkJDQoJcHVibGljICRNZWRpYW5maWx0ZXI7CQkNCgkvKioNCgkgKiBEZWZvcm0gdGhlIGltYWdlIHdpdGggdHdpcmwgZWZmZWN0OyBhcnJheSB3aXRoIDMgdmFsdWVzDQoJICogWzBdOiAwPWRpc2FibGUgMT1lbmFibGUNCgkgKiBbMV06IEVmZmVjdCBzdHJlbmd0aCAwIHRvIDEwMA0KCSAqIFsyXTogRGlyZWN0aW9uIG9mIHR3aXJsIDA9Y2xvY2t3aXNlIDE9YW50aS1jbG9ja3dpc2UNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkVHdpcmxmeDsNCgkvKioNCgkgKiBEZWZvcm0gdGhlIGltYWdlIHdpdGggcmlwcGxlIGVmZmVjdDsgYXJyYXkgd2l0aCAyIHZhbHVlcw0KCSAqIFswXTogMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICogWzFdOiBBbW91bnQgb2YgaG9yaXpvbnRhbCB3YXZlcw0KCSAqIFsyXTogQW1wbGl0dWRlIG9mIGhvcml6b250YWwgd2F2ZXMgaW4gcHgNCgkgKiBbM106IEFtb3VudCBvZiB2ZXJ0aWNhbCB3YXZlcw0KCSAqIFs0XTogQW1wbGl0dWRlIG9mIHZlcnRpY2FsIHdhdmVzIGluIHB4CSANCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8JCQ0KCXB1YmxpYyAkUmlwcGxlZng7CQkNCgkvKioNCgkgKiBEZWZvcm0gdGhlIGltYWdlIHdpdGggcGVyc3BlY3RpdmUgcmlwcGxlIG9yICdsYWtlJyBlZmZlY3Q7IGFycmF5IHdpdGggMyB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogRGVuc2l0eSBvZiB0aGUgd2F2ZXMJIA0KCSAqIFsyXTogTGFrZSBhcmVhIG1lYXN1cmVkIGZyb20gYm90dG9tIDAgLSAxMDAJIA0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkJDQoJcHVibGljICRMYWtlZng7DQoJLyoqDQoJICogRGVmb3JtIHRoZSBpbWFnZSB3aXRoIGEgY2lyY3VsYXIgd2F0ZXJkcm9wIGVmZmVjdDsgYXJyYXkgd2l0aCA0IHZhbHVlcw0KCSAqIFswXTogMD1kaXNhYmxlIDE9ZW5hYmxlDQoJICogWzFdOiBBbXBsaXR1ZGUgaW4gcHgNCgkgKiBbMl06IFJhZGl1cyBpbiBweA0KCSAqIFszXTogV2F2ZWxlbmd0aCBpbiBweA0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLwkJDQoJcHVibGljICRXYXRlcmRyb3BmeDsNCgkvKioNCgkgKiBDcmVhdGUgdHJhbnNwYXJlbnQgaW1hZ2U7IGFycmF5IHdpdGggNCB2YWx1ZXMNCgkgKiBbMF06IDA9ZGlzYWJsZSAxPWVuYWJsZQ0KCSAqIFsxXTogMD1QTkcgMT1HSUYNCgkgKiBbMl06IFJlcGxhY2VtZW50IGNvbG9yIGluIHdlYiBmb3JtYXQ6ICcjRkYwMDAwJw0KCSAqIFszXTogUkdCIHRvbGVyYW5jZSAwIC0gMTAwDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovCQkNCglwdWJsaWMgJE1ha2V0cmFuc3BhcmVudDsNCgkvKioNCgkgKiBGaWxlbmFtZSBmb3Igc2F2aW5nIHRodW1ibmFpbHMNCgkgKg0KCSAqIEB2YXIgc3RyaW5nDQoJICovCQkNCglwdWJsaWMgJFRodW1iZmlsZW5hbWU7CQkNCgkvKioNCgkgKiBUaGUgaW1hZ2UgZmlsZW5hbWUgb3IgYXJyYXkgd2l0aCBmaWxlbmFtZXMNCgkgKg0KCSAqIEB2YXIgc3RyaW5nIC8gYXJyYXkNCgkgKi8JDQoJcHJpdmF0ZSAkaW1hZ2U7CQ0KCS8qKg0KCSAqIE9yaWdpbmFsIGltYWdlDQoJICoNCgkgKiBAdmFyIGltYWdlCSANCgkgKi8JCQkNCglwcml2YXRlICRpbTsNCgkvKioNCgkgKiBUaHVtYm5haWwgaW1hZ2UNCgkgKg0KCSAqIEB2YXIgaW1hZ2UJIA0KCSAqLwkJCQ0KCXByaXZhdGUgJHRodW1iOw0KCS8qKg0KCSAqIFRlbXBvcmFyeSBpbWFnZQ0KCSAqDQoJICogQHZhciBpbWFnZQkgDQoJICovCQkJDQoJcHJpdmF0ZSAkbmV3aW1hZ2U7CQ0KCS8qKg0KCSAqIERpbWVuc2lvbnMgb2Ygb3JpZ2luYWwgaW1hZ2U7IGFycmF5IHdpdGggMyB2YWx1ZXMNCgkgKiBbMF06IFdpZHRoDQoJICogWzFdOiBIZWlnaHQNCgkgKiBbMl06IEZpbGV0eXBlDQoJICoNCgkgKiBAdmFyIGFycmF5CSANCgkgKi8JCQkNCglwcml2YXRlICRzaXplOw0KCS8qKg0KCSAqIE9mZnNldCBpbiBweCBmb3IgYmluZGVyDQoJICoNCgkgKiBAdmFyIGludAkgDQoJICovCQkJDQoJcHJpdmF0ZSAkYmluZF9vZmZzZXQ7DQoJLyoqDQoJICogT2Zmc2V0IGluIHB4IGZvciBzaGFkb3cNCgkgKg0KCSAqIEB2YXIgaW50CSANCgkgKi8JCQkNCglwcml2YXRlICRzaGFkb3dfb2Zmc2V0Ow0KCS8qKg0KCSAqIE9mZnNldCBpbiBweCBmb3IgZnJhbWUNCgkgKg0KCSAqIEB2YXIgaW50IA0KCSAqLwkJCQ0KCXByaXZhdGUgJGZyYW1lX29mZnNldDsNCgkvKioNCgkgKiBUaHVtYiB3aWR0aCBpbiBweA0KCSAqDQoJICogQHZhciBpbnQJIA0KCSAqLwkJCQkNCglwcml2YXRlICR0aHVtYng7DQoJLyoqDQoJICogVGh1bWIgaGVpZ2h0IGluIHB4DQoJICoNCgkgKiBAdmFyIGludAkgDQoJICovCQkJCQ0KCXByaXZhdGUgJHRodW1ieTsNCg0KCS8qKg0KCSAqIENsYXNzIGNvbnN0cnVjdG9yDQoJICoNCgkgKi8JDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KCQ0KCQkkdGhpcy0+VGh1bWJzaXplICAgICAgICAgICAgICA9IDE2MDsNCgkJJHRoaXMtPlRodW1iaGVpZ2h0ICAgICAgICAgICAgPSAwOw0KCQkkdGhpcy0+VGh1bWJ3aWR0aCAgICAgICAgICAgICA9IDA7DQoJCSR0aGlzLT5QZXJjZW50YWdlICAgICAgICAgICAgID0gZmFsc2U7CQkNCgkJJHRoaXMtPkZyYW1ld2lkdGggICAgICAgICAgICAgPSAwOw0KCQkkdGhpcy0+SW5mbGF0ZSAgICAgICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+U2hhZG93ICAgICAgICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+QmluZGVyICAgICAgICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+QmluZGVyc3BhY2luZyAgICAgICAgICA9IDg7CQkNCgkJJHRoaXMtPkJhY2tncm91bmRjb2xvciAgICAgICAgPSAnI0ZGRkZGRic7DQoJCSR0aGlzLT5GcmFtZWNvbG9yICAgICAgICAgICAgID0gJyNGRkZGRkYnOw0KCQkkdGhpcy0+V2F0ZXJtYXJrcG5nICAgICAgICAgICA9ICcnOw0KCQkkdGhpcy0+V2F0ZXJtYXJrcG9zaXRpb24gICAgICA9ICcxMDAlIDEwMCUnOw0KCQkkdGhpcy0+V2F0ZXJtYXJrdHJhbnNwYXJlbmN5ICA9ICc3MCc7CQ0KCQkkdGhpcy0+UXVhbGl0eSAgICAgICAgICAgICAgICA9ICc5MCc7DQoJCSR0aGlzLT5DaG1vZGxldmVsICAgICAgICAgICAgID0gJyc7DQoJCSR0aGlzLT5UaHVtYmxvY2F0aW9uICAgICAgICAgID0gJyc7DQoJCSR0aGlzLT5UaHVtYnNhdmVhcyAgICAgICAgICAgID0gJyc7DQoJCSR0aGlzLT5UaHVtYnByZWZpeCAgICAgICAgICAgID0gJ3RodW1ibmFpbF8nOw0KCQkkdGhpcy0+Q2xpcGNvcm5lciAgICAgICAgICAgICA9IGFycmF5KDAsMTUsMCwxLDEsMSwwKTsNCgkJJHRoaXMtPkFnZWltYWdlICAgICAgICAgICAgICAgPSBhcnJheSgwLDEwLDgwKTsNCgkJJHRoaXMtPkNyb3BpbWFnZSAgICAgICAgICAgICAgPSBhcnJheSgwLDAsMjAsMjAsMjAsMjApOwkJDQoJCSR0aGlzLT5Cb3JkZXJwbmcgICAgICAgICAgICAgID0gJyc7DQoJCSR0aGlzLT5Db3B5cmlnaHR0ZXh0ICAgICAgICAgID0gJyc7DQoJCSR0aGlzLT5Db3B5cmlnaHRwb3NpdGlvbiAgICAgID0gJzAlIDk1JSc7DQoJCSR0aGlzLT5Db3B5cmlnaHRmb250dHlwZSAgICAgID0gJyc7DQoJCSR0aGlzLT5Db3B5cmlnaHRmb250c2l6ZSAgICAgID0gMjsNCgkJJHRoaXMtPkNvcHlyaWdodHRleHRjb2xvciAgICAgPSAnJzsNCgkJJHRoaXMtPlJvdGF0ZSAgICAgICAgICAgICAgICAgPSAwOw0KCQkkdGhpcy0+RmxpcGhvcml6b250YWwgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+RmxpcHZlcnRpY2FsICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+U3F1YXJlICAgICAgICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+QXBwbHlmaWx0ZXIgICAgICAgICAgICA9IGZhbHNlOwkJDQoJCSR0aGlzLT5GaWx0ZXIgICAgICAgICAgICAgICAgID0gYXJyYXkoMCwwLDAsMCwxLDAsMCwwLDApOw0KCQkkdGhpcy0+RGl2aXNvciAgICAgICAgICAgICAgICA9IDE7DQoJCSR0aGlzLT5PZmZzZXQgICAgICAgICAgICAgICAgID0gMDsNCgkJJHRoaXMtPkJsdXIgICAgICAgICAgICAgICAgICAgPSBmYWxzZTsJCQ0KCQkkdGhpcy0+U2hhcnBlbiAgICAgICAgICAgICAgICA9IGZhbHNlOwkNCgkJJHRoaXMtPkVkZ2UgICAgICAgICAgICAgICAgICAgPSBmYWxzZTsJDQoJCSR0aGlzLT5FbWJvc3MgICAgICAgICAgICAgICAgID0gZmFsc2U7CQ0KCQkkdGhpcy0+TWVhbiAgICAgICAgICAgICAgICAgICA9IGZhbHNlOwkJCQ0KCQkkdGhpcy0+Q3JvcHJvdGF0ZSAgICAgICAgICAgICA9IGZhbHNlOwkNCgkJJHRoaXMtPlBlcnNwZWN0aXZlICAgICAgICAgICAgPSBhcnJheSgwLDAsMzApOw0KCQkkdGhpcy0+UGVyc3BlY3RpdmV0aHVtYiAgICAgICA9IGFycmF5KDAsMSwyMCk7DQoJCSR0aGlzLT5TaGFkaW5nICAgICAgICAgICAgICAgID0gYXJyYXkoMCw3MCw2NSwwKTsNCgkJJHRoaXMtPlNoYWRpbmdjb2xvciAgICAgICAgICAgPSAnIzAwMDAwMCc7CQkNCgkJJHRoaXMtPk1pcnJvciAgICAgICAgICAgICAgICAgPSBhcnJheSgwLDIwLDEwMCw0MCwyKTsNCgkJJHRoaXMtPk1pcnJvcmNvbG9yICAgICAgICAgICAgPSAnI0ZGRkZGRic7CQkNCgkJJHRoaXMtPk5lZ2F0aXZlICAgICAgICAgICAgICAgPSBmYWxzZTsNCgkJJHRoaXMtPkNvbG9ycmVwbGFjZSAgICAgICAgICAgPSBhcnJheSgwLCcjMDAwMDAwJywnI0ZGRkZGRicsMzApOw0KCQkkdGhpcy0+UGl4ZWxzY3JhbWJsZSAgICAgICAgICA9IGFycmF5KDAsMywxKTsNCgkJJHRoaXMtPkdyZXlzY2FsZSAgICAgICAgICAgICAgPSBmYWxzZTsJCQ0KCQkkdGhpcy0+QnJpZ2h0bmVzcyAgICAgICAgICAgICA9IGFycmF5KDAsMzApOw0KCQkkdGhpcy0+Q29udHJhc3QgICAgICAgICAgICAgICA9IGFycmF5KDAsMzApOw0KCQkkdGhpcy0+R2FtbWEgICAgICAgICAgICAgICAgICA9IGFycmF5KDAsMS41KTsNCgkJJHRoaXMtPlBhbGV0dGUgICAgICAgICAgICAgICAgPSBhcnJheSgwLDYpOw0KCQkkdGhpcy0+Q29sb3JpemUgICAgICAgICAgICAgICA9IGFycmF5KDAsMTAwLDAsMCwwKTsNCgkJJHRoaXMtPlBpeGVsYXRlICAgICAgICAgICAgICAgPSBhcnJheSgwLDMpOw0KCQkkdGhpcy0+TWVkaWFuZmlsdGVyICAgICAgICAgICA9IGZhbHNlOw0KCQkkdGhpcy0+VHdpcmxmeCAgICAgICAgICAgICAgICA9IGFycmF5KDAsMjAsMCk7DQoJCSR0aGlzLT5SaXBwbGVmeCAgICAgICAgICAgICAgID0gYXJyYXkoMCw1LDE1LDUsNSk7DQoJCSR0aGlzLT5MYWtlZnggICAgICAgICAgICAgICAgID0gYXJyYXkoMCwxNSw4MCk7DQoJCSR0aGlzLT5XYXRlcmRyb3BmeCAgICAgICAgICAgID0gYXJyYXkoMCwxLjIsNDAwLDQwKTsNCgkJJHRoaXMtPk1ha2V0cmFuc3BhcmVudCAgICAgICAgPSBhcnJheSgwLDAsJyNGRkZGRkYnLDMwKTsNCgkJJHRoaXMtPlRodW1iZmlsZW5hbWUgICAgICAgICAgPSAnJzsJCQ0KCQkNCgl9DQoNCgkvKioNCgkgKiBDbGFzcyBkZXN0cnVjdG9yDQoJICoNCgkgKi8JDQoJcHVibGljIGZ1bmN0aW9uIF9fZGVzdHJ1Y3QoKSB7DQoJCWlmKGlzX3Jlc291cmNlKCR0aGlzLT5pbSkpIGltYWdlZGVzdHJveSgkdGhpcy0+aW0pOw0KCQlpZihpc19yZXNvdXJjZSgkdGhpcy0+dGh1bWIpKSBpbWFnZWRlc3Ryb3koJHRoaXMtPnRodW1iKTsNCgkJaWYoaXNfcmVzb3VyY2UoJHRoaXMtPm5ld2ltYWdlKSkgaW1hZ2VkZXN0cm95KCR0aGlzLT5uZXdpbWFnZSk7DQoJfQ0KDQoJLyoqDQoJICogQ3JlYXRlcyBhbmQgb3V0cHV0cyB0aHVtYm5haWwNCgkgKg0KCSAqIEBwYXJhbSBzdHJpbmcvYXJyYXkgJGZpbGVuYW1lDQoJICogQHBhcmFtIHN0cmluZyAkb3V0cHV0DQoJICovCQ0KCXB1YmxpYyBmdW5jdGlvbiBDcmVhdGV0aHVtYigkZmlsZW5hbWU9InVua25vd24iLCRvdXRwdXQ9InNjcmVlbiIpIHsNCg0KCQlpZiAoaXNfYXJyYXkoJGZpbGVuYW1lKSAmJiAkb3V0cHV0PT0iZmlsZSIpIHsNCgkJCWZvcmVhY2ggKCRmaWxlbmFtZSBhcyAkbmFtZSkgew0KCQkJCSR0aGlzLT5pbWFnZT0kbmFtZTsNCgkJCQkkdGhpcy0+dGh1bWJtYWtlcigpOw0KCQkJCSR0aGlzLT5zYXZldGh1bWIoKTsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCSR0aGlzLT5pbWFnZT0kZmlsZW5hbWU7DQoJCQkkdGhpcy0+dGh1bWJtYWtlcigpOw0KCQkJaWYgKCRvdXRwdXQ9PSJmaWxlIikgeyR0aGlzLT5zYXZldGh1bWIoKTt9IGVsc2UgeyR0aGlzLT5kaXNwbGF5dGh1bWIoKTt9DQoJCX0NCgkJDQoJfQ0KDQoJLyoqDQoJICogQXBwbHkgYWxsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiB0aHVtYm1ha2VyKCkgew0KDQoJCWlmKCR0aGlzLT5sb2FkaW1hZ2UoKSkgew0KCQkJLy8gTW9kaWZpY2F0aW9ucyB0byB0aGUgb3JpZ2luYWwgc2l6ZWQgaW1hZ2UJCQkNCgkJCWlmICgkdGhpcy0+Q3JvcGltYWdlWzBdPjApIHskdGhpcy0+Y3JvcGltYWdlKCk7fQ0KCQkJaWYgKCR0aGlzLT5NZWRpYW5maWx0ZXIpIHskdGhpcy0+bWVkaWFuZmlsdGVyKCk7fQ0KCQkJaWYgKCR0aGlzLT5HcmV5c2NhbGUpIHskdGhpcy0+Z3JleXNjYWxlKCk7fQ0KCQkJaWYgKCR0aGlzLT5CcmlnaHRuZXNzWzBdPT0xKSB7JHRoaXMtPmJyaWdodG5lc3MoKTt9DQoJCQlpZiAoJHRoaXMtPkNvbnRyYXN0WzBdPT0xKSB7JHRoaXMtPmNvbnRyYXN0KCk7fQ0KCQkJaWYgKCR0aGlzLT5HYW1tYVswXT09MSkgeyR0aGlzLT5nYW1tYSgpO30NCgkJCWlmICgkdGhpcy0+UGFsZXR0ZVswXT09MSkgeyR0aGlzLT5wYWxldHRlKCk7fQ0KCQkJaWYgKCR0aGlzLT5Db2xvcml6ZVswXT09MSkgeyR0aGlzLT5jb2xvcml6ZSgpO30JCQkNCgkJCWlmICgkdGhpcy0+Q29sb3JyZXBsYWNlWzBdPT0xKSB7JHRoaXMtPmNvbG9ycmVwbGFjZSgpO30NCgkJCWlmICgkdGhpcy0+UGl4ZWxzY3JhbWJsZVswXT09MSkgeyR0aGlzLT5waXhlbHNjcmFtYmxlKCk7fQ0KCQkJaWYgKCR0aGlzLT5QaXhlbGF0ZVswXT09MSkgeyR0aGlzLT5waXhlbGF0ZSgpO30NCgkJCWlmICgkdGhpcy0+QWdlaW1hZ2VbMF09PTEpIHskdGhpcy0+YWdlaW1hZ2UoKTt9DQoJCQlpZiAoJHRoaXMtPkZsaXBob3Jpem9udGFsKSB7JHRoaXMtPnJvdGF0ZW9yZmxpcCgwLDEpO30NCgkJCWlmICgkdGhpcy0+RmxpcHZlcnRpY2FsKSB7JHRoaXMtPnJvdGF0ZW9yZmxpcCgwLC0xKTt9DQoJCQlpZiAoJHRoaXMtPldhdGVybWFya3BuZyE9JycpIHskdGhpcy0+YWRkcG5nd2F0ZXJtYXJrKCk7fQ0KCQkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzBdPT0xKSB7JHRoaXMtPmNsaXBjb3JuZXJzc3RyYWlnaHQoKTt9DQoJCQlpZiAoJHRoaXMtPkNsaXBjb3JuZXJbMF09PTIpIHskdGhpcy0+Y2xpcGNvcm5lcnNyb3VuZCgpO30NCgkJCWlmIChpbnR2YWwoJHRoaXMtPlJvdGF0ZSk8PjAgJiYgISR0aGlzLT5Dcm9wcm90YXRlKSB7DQoJCQkJc3dpdGNoKGludHZhbCgkdGhpcy0+Um90YXRlKSkgew0KCQkJCQljYXNlIC05MDoNCgkJCQkJY2FzZSAyNzA6DQoJCQkJCQkkdGhpcy0+cm90YXRlb3JmbGlwKDEsMCk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAtMjcwOg0KCQkJCQljYXNlIDkwOg0KCQkJCQkJJHRoaXMtPnJvdGF0ZW9yZmxpcCgxLDApOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgLTE4MDoNCgkJCQkJY2FzZSAxODA6DQoJCQkJCQkkdGhpcy0+cm90YXRlb3JmbGlwKDEsMCk7DQoJCQkJCQkkdGhpcy0+cm90YXRlb3JmbGlwKDEsMCk7DQoJCQkJCQlicmVhazsNCgkJCQkJZGVmYXVsdDoNCgkJCQkJCSR0aGlzLT5mcmVlcm90YXRlKCk7DQoJCQkJfQ0KCQkJfQ0KCQkJaWYgKCR0aGlzLT5Dcm9wcm90YXRlKSB7JHRoaXMtPmNyb3Byb3RhdGUoKTt9DQoJCQlpZiAoJHRoaXMtPlNoYXJwZW4pIHskdGhpcy0+c2hhcnBlbigpO30JCQkNCgkJCWlmICgkdGhpcy0+Qmx1cikgeyR0aGlzLT5ibHVyKCk7fQ0KCQkJaWYgKCR0aGlzLT5FZGdlKSB7JHRoaXMtPmVkZ2UoKTt9CQkJDQoJCQlpZiAoJHRoaXMtPkVtYm9zcykgeyR0aGlzLT5lbWJvc3MoKTt9CQ0KCQkJaWYgKCR0aGlzLT5NZWFuKSB7JHRoaXMtPm1lYW4oKTt9CQ0KCQkJaWYgKCR0aGlzLT5BcHBseWZpbHRlcikgeyR0aGlzLT5maWx0ZXIoKTt9DQoJCQlpZiAoJHRoaXMtPlR3aXJsZnhbMF09PTEpIHskdGhpcy0+dHdpcmxmeCgpO30NCgkJCWlmICgkdGhpcy0+UmlwcGxlZnhbMF09PTEpIHskdGhpcy0+cmlwcGxlZngoKTt9DQoJCQlpZiAoJHRoaXMtPkxha2VmeFswXT09MSkgeyR0aGlzLT5sYWtlZngoKTt9DQoJCQlpZiAoJHRoaXMtPldhdGVyZHJvcGZ4WzBdPT0xKSB7JHRoaXMtPndhdGVyZHJvcGZ4KCk7fQ0KCQkJaWYgKCR0aGlzLT5OZWdhdGl2ZSkgeyR0aGlzLT5uZWdhdGl2ZSgpO30NCgkJCWlmICgkdGhpcy0+U2hhZGluZ1swXT09MSkgeyR0aGlzLT5zaGFkaW5nKCk7fQ0KCQkJaWYgKCR0aGlzLT5QZXJzcGVjdGl2ZVswXT09MSkgeyR0aGlzLT5wZXJzcGVjdGl2ZSgpO30NCgkJCS8vIFByZXBhcmUgdGhlIHRodW1ibmFpbCAobmV3IGNhbnZhcykgYW5kIGFkZCBtb2RpZmljYXRpb25zIHRvIHRoZSByZXNpemVkIGltYWdlICh0aHVtYm5haWwpDQoJCQkkdGhpcy0+Y3JlYXRlZW1wdHl0aHVtYm5haWwoKTsNCgkJCWlmICgkdGhpcy0+QmluZGVyKSB7JHRoaXMtPmFkZGJpbmRlcigpO30NCgkJCWlmICgkdGhpcy0+U2hhZG93KSB7JHRoaXMtPmFkZHNoYWRvdygpO30NCgkJCWltYWdlY29weXJlc2FtcGxlZCgkdGhpcy0+dGh1bWIsJHRoaXMtPmltLCR0aGlzLT5GcmFtZXdpZHRoKigkdGhpcy0+ZnJhbWVfb2Zmc2V0LTEpLCR0aGlzLT5GcmFtZXdpZHRoLDAsMCwkdGhpcy0+dGh1bWJ4LSgkdGhpcy0+ZnJhbWVfb2Zmc2V0KiR0aGlzLT5GcmFtZXdpZHRoKS0kdGhpcy0+c2hhZG93X29mZnNldCwkdGhpcy0+dGh1bWJ5LTIqJHRoaXMtPkZyYW1ld2lkdGgtJHRoaXMtPnNoYWRvd19vZmZzZXQsaW1hZ2VzeCgkdGhpcy0+aW0pLGltYWdlc3koJHRoaXMtPmltKSk7DQoJCQlpZiAoJHRoaXMtPkJvcmRlcnBuZyE9JycpIHskdGhpcy0+YWRkcG5nYm9yZGVyKCk7fQ0KCQkJaWYgKCR0aGlzLT5Db3B5cmlnaHR0ZXh0IT0nJykgeyR0aGlzLT5hZGRjb3B5cmlnaHQoKTt9CQkNCgkJCWlmICgkdGhpcy0+U3F1YXJlKSB7JHRoaXMtPnNxdWFyZSgpO30NCgkJCWlmICgkdGhpcy0+TWlycm9yWzBdPT0xKSB7JHRoaXMtPm1pcnJvcigpO30NCgkJCWlmICgkdGhpcy0+UGVyc3BlY3RpdmV0aHVtYlswXT09MSkgeyR0aGlzLT5wZXJzcGVjdGl2ZXRodW1iKCk7fQ0KCQkJaWYgKCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbMF09PTEpIHskdGhpcy0+bWFrZXRyYW5zcGFyZW50KCk7fQ0KCQl9DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIExvYWQgaW1hZ2UgaW4gbWVtb3J5DQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBsb2FkaW1hZ2UoKSB7DQoNCgkJaWYgKGZpbGVfZXhpc3RzKCR0aGlzLT5pbWFnZSkpIHsNCgkJCSR0aGlzLT5zaXplPUdldEltYWdlU2l6ZSgkdGhpcy0+aW1hZ2UpOw0KCQkJc3dpdGNoKCR0aGlzLT5zaXplWzJdKSB7DQoJCQkJY2FzZSAxOg0KCQkJCQlpZiAoaW1hZ2V0eXBlcygpICYgSU1HX0dJRikgeyR0aGlzLT5pbT1pbWFnZWNyZWF0ZWZyb21naWYoJHRoaXMtPmltYWdlKTtyZXR1cm4gdHJ1ZTt9IGVsc2UgeyR0aGlzLT5pbnZhbGlkaW1hZ2UoJ05vIEdJRiBzdXBwb3J0Jyk7cmV0dXJuIGZhbHNlO30NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAyOg0KCQkJCQlpZiAoaW1hZ2V0eXBlcygpICYgSU1HX0pQRykgeyR0aGlzLT5pbT1pbWFnZWNyZWF0ZWZyb21qcGVnKCR0aGlzLT5pbWFnZSk7cmV0dXJuIHRydWU7fSBlbHNlIHskdGhpcy0+aW52YWxpZGltYWdlKCdObyBKUEcgc3VwcG9ydCcpO3JldHVybiBmYWxzZTt9DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgMzoNCgkJCQkJaWYgKGltYWdldHlwZXMoKSAmIElNR19QTkcpIHskdGhpcy0+aW09aW1hZ2VjcmVhdGVmcm9tcG5nKCR0aGlzLT5pbWFnZSk7cmV0dXJuIHRydWU7fSBlbHNlIHskdGhpcy0+aW52YWxpZGltYWdlKCdObyBQTkcgc3VwcG9ydCcpO3JldHVybiBmYWxzZTt9DQoJCQkJCWJyZWFrOw0KCQkJCWRlZmF1bHQ6DQoJCQkJCSR0aGlzLT5pbnZhbGlkaW1hZ2UoJ0ZpbGV0eXBlID8/Pz8/Jyk7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCSR0aGlzLT5pbnZhbGlkaW1hZ2UoJ0ZpbGUgbm90IGZvdW5kJyk7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJCQkNCgl9DQoNCgkvKioNCgkgKiBDcmVhdGVzIGVycm9yIGltYWdlDQoJICoNCgkgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gaW52YWxpZGltYWdlKCRtZXNzYWdlKSB7DQoJDQoJCSR0aGlzLT50aHVtYj1pbWFnZWNyZWF0ZSg4MCw3NSk7DQoJCSRibGFjaz1pbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDAsMCwwKTskeWVsbG93PWltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsMjU1LDI1NSwwKTsNCgkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPnRodW1iLDAsMCw4MCw3NSxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDI1NSwwLDApKTsNCgkJaW1hZ2VyZWN0YW5nbGUoJHRoaXMtPnRodW1iLDAsMCw3OSw3NCwkYmxhY2spO2ltYWdlbGluZSgkdGhpcy0+dGh1bWIsMCwyMCw4MCwyMCwkYmxhY2spOw0KCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+dGh1bWIsMSwxLDc4LDE5LCR5ZWxsb3cpO2ltYWdlZmlsbGVkcmVjdGFuZ2xlKCR0aGlzLT50aHVtYiwyNywzNSw1Miw2MCwkeWVsbG93KTsNCgkJaW1hZ2VyZWN0YW5nbGUoJHRoaXMtPnRodW1iLDI2LDM0LDUzLDYxLCRibGFjayk7DQoJCWltYWdlbGluZSgkdGhpcy0+dGh1bWIsMjcsMzUsNTIsNjAsJGJsYWNrKTtpbWFnZWxpbmUoJHRoaXMtPnRodW1iLDUyLDM1LDI3LDYwLCRibGFjayk7DQoJCWltYWdlc3RyaW5nKCR0aGlzLT50aHVtYiwxLDUsNSwkbWVzc2FnZSwkYmxhY2spOw0KCQkNCgl9CQkNCg0KCS8qKg0KCSAqIEFkZCB3YXRlcm1hcmsgdG8gaW1hZ2UNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGFkZHBuZ3dhdGVybWFyaygpIHsNCgkNCgkJaWYgKGZpbGVfZXhpc3RzKCR0aGlzLT5XYXRlcm1hcmtwbmcpKSB7DQoJCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGVmcm9tcG5nKCR0aGlzLT5XYXRlcm1hcmtwbmcpOw0KCQkJJHdwb3M9ZXhwbG9kZSgnICcsc3RyX3JlcGxhY2UoJyUnLCcnLCR0aGlzLT5XYXRlcm1hcmtwb3NpdGlvbikpOw0KCQkJaW1hZ2Vjb3B5bWVyZ2UoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSxtaW4obWF4KGltYWdlc3goJHRoaXMtPmltKSooJHdwb3NbMF0vMTAwKS0wLjUqaW1hZ2VzeCgkdGhpcy0+bmV3aW1hZ2UpLDApLGltYWdlc3goJHRoaXMtPmltKS1pbWFnZXN4KCR0aGlzLT5uZXdpbWFnZSkpLG1pbihtYXgoaW1hZ2VzeSgkdGhpcy0+aW0pKigkd3Bvc1sxXS8xMDApLTAuNSppbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSksMCksaW1hZ2VzeSgkdGhpcy0+aW0pLWltYWdlc3koJHRoaXMtPm5ld2ltYWdlKSksMCwwLGltYWdlc3goJHRoaXMtPm5ld2ltYWdlKSxpbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSksaW50dmFsKCR0aGlzLT5XYXRlcm1hcmt0cmFuc3BhcmVuY3kpKTsNCgkJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQl9DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIENyZWF0ZSBlbXB0eSB0aHVtYm5haWwNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGNyZWF0ZWVtcHR5dGh1bWJuYWlsKCkgew0KCQ0KCQkkdGh1bWJzaXplPSR0aGlzLT5UaHVtYnNpemU7JHRodW1id2lkdGg9JHRoaXMtPlRodW1id2lkdGg7JHRodW1iaGVpZ2h0PSR0aGlzLT5UaHVtYmhlaWdodDsNCgkJaWYgKCR0aHVtYnNpemU9PTApIHskdGh1bWJzaXplPTk5OTk7JHRodW1id2lkdGg9MDskdGh1bWJoZWlnaHQ9MDt9DQoJCWlmICgkdGhpcy0+UGVyY2VudGFnZSkgew0KCQkJaWYgKCR0aHVtYndpZHRoPjApIHskdGh1bWJ3aWR0aD1mbG9vcigoJHRodW1id2lkdGgvMTAwKSokdGhpcy0+c2l6ZVswXSk7fQ0KCQkJaWYgKCR0aHVtYmhlaWdodD4wKSB7JHRodW1iaGVpZ2h0PWZsb29yKCgkdGh1bWJoZWlnaHQvMTAwKSokdGhpcy0+c2l6ZVsxXSk7fQ0KCQkJaWYgKCR0aGlzLT5zaXplWzBdPiR0aGlzLT5zaXplWzFdKQ0KCQkJCSR0aHVtYnNpemU9Zmxvb3IoKCR0aHVtYnNpemUvMTAwKSokdGhpcy0+c2l6ZVswXSk7DQoJCQllbHNlDQoJCQkJJHRodW1ic2l6ZT1mbG9vcigoJHRodW1ic2l6ZS8xMDApKiR0aGlzLT5zaXplWzFdKTsNCgkJfQ0KCQlpZiAoISR0aGlzLT5JbmZsYXRlKSB7DQoJCQlpZiAoJHRodW1ic2l6ZT4kdGhpcy0+c2l6ZVswXSAmJiAkdGh1bWJzaXplPiR0aGlzLT5zaXplWzFdKSB7JHRodW1ic2l6ZT1tYXgoJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pO30NCgkJCWlmICgkdGh1bWJoZWlnaHQ+JHRoaXMtPnNpemVbMV0pIHskdGh1bWJoZWlnaHQ9JHRoaXMtPnNpemVbMV07fQ0KCQkJaWYgKCR0aHVtYndpZHRoPiR0aGlzLT5zaXplWzBdKSB7JHRodW1id2lkdGg9JHRoaXMtPnNpemVbMF07fQ0KCQl9DQoJCWlmICgkdGhpcy0+QmluZGVyKSB7JHRoaXMtPmZyYW1lX29mZnNldD0zOyR0aGlzLT5iaW5kX29mZnNldD00O30gZWxzZSB7JHRoaXMtPmZyYW1lX29mZnNldD0yOyR0aGlzLT5iaW5kX29mZnNldD0wO30NCgkJaWYgKCR0aGlzLT5TaGFkb3cpIHskdGhpcy0+c2hhZG93X29mZnNldD0zO30gZWxzZSB7JHRoaXMtPnNoYWRvd19vZmZzZXQ9MDt9DQoJCWlmICgkdGh1bWJoZWlnaHQ+MCAmJiAkdGh1bWJ3aWR0aD4wKSB7DQoJCQkkdGhpcy0+dGh1bWI9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPkZyYW1ld2lkdGgqJHRoaXMtPmZyYW1lX29mZnNldCskdGh1bWJ3aWR0aCskdGhpcy0+c2hhZG93X29mZnNldCwkdGhpcy0+RnJhbWV3aWR0aCoyKyR0aHVtYmhlaWdodCskdGhpcy0+c2hhZG93X29mZnNldCk7CQkNCgkJfSBlbHNlIGlmICgkdGh1bWJoZWlnaHQ+MCkgew0KCQkJJHRoaXMtPnRodW1iPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT5GcmFtZXdpZHRoKiR0aGlzLT5mcmFtZV9vZmZzZXQrY2VpbCgkdGhpcy0+c2l6ZVswXS8oJHRoaXMtPnNpemVbMV0vJHRodW1iaGVpZ2h0KSkrJHRoaXMtPnNoYWRvd19vZmZzZXQsJHRoaXMtPkZyYW1ld2lkdGgqMiskdGh1bWJoZWlnaHQrJHRoaXMtPnNoYWRvd19vZmZzZXQpOw0KCQl9IGVsc2UgaWYgKCR0aHVtYndpZHRoPjApIHsNCgkJCSR0aGlzLT50aHVtYj1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+RnJhbWV3aWR0aCokdGhpcy0+ZnJhbWVfb2Zmc2V0KyR0aHVtYndpZHRoKyR0aGlzLT5zaGFkb3dfb2Zmc2V0LCR0aGlzLT5GcmFtZXdpZHRoKjIrY2VpbCgkdGhpcy0+c2l6ZVsxXS8oJHRoaXMtPnNpemVbMF0vJHRodW1id2lkdGgpKSskdGhpcy0+c2hhZG93X29mZnNldCk7DQoJCX0gZWxzZSB7DQoJCQkkeDE9JHRoaXMtPkZyYW1ld2lkdGgqJHRoaXMtPmZyYW1lX29mZnNldCskdGh1bWJzaXplKyR0aGlzLT5zaGFkb3dfb2Zmc2V0Ow0KCQkJJHgyPSR0aGlzLT5GcmFtZXdpZHRoKiR0aGlzLT5mcmFtZV9vZmZzZXQrY2VpbCgkdGhpcy0+c2l6ZVswXS8oJHRoaXMtPnNpemVbMV0vJHRodW1ic2l6ZSkpKyR0aGlzLT5zaGFkb3dfb2Zmc2V0Ow0KCQkJJHkxPSR0aGlzLT5GcmFtZXdpZHRoKjIrY2VpbCgkdGhpcy0+c2l6ZVsxXS8oJHRoaXMtPnNpemVbMF0vJHRodW1ic2l6ZSkpKyR0aGlzLT5zaGFkb3dfb2Zmc2V0Ow0KCQkJJHkyPSR0aGlzLT5GcmFtZXdpZHRoKjIrJHRodW1ic2l6ZSskdGhpcy0+c2hhZG93X29mZnNldDsNCgkJCWlmICgkdGhpcy0+c2l6ZVswXT4kdGhpcy0+c2l6ZVsxXSkgeyR0aGlzLT50aHVtYj1pbWFnZWNyZWF0ZXRydWVjb2xvcigkeDEsJHkxKTt9IGVsc2UgeyR0aGlzLT50aHVtYj1pbWFnZWNyZWF0ZXRydWVjb2xvcigkeDIsJHkyKTt9DQoJCX0NCgkJJHRoaXMtPnRodW1ieD1pbWFnZXN4KCR0aGlzLT50aHVtYik7JHRoaXMtPnRodW1ieT1pbWFnZXN5KCR0aGlzLT50aHVtYik7DQoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCR0aGlzLT50aHVtYiwwLDAsJHRoaXMtPnRodW1ieCwkdGhpcy0+dGh1bWJ5LGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsNSwyKSkpKTsJCQkNCgkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPnRodW1iLCR0aGlzLT5iaW5kX29mZnNldCwwLCR0aGlzLT50aHVtYngtJHRoaXMtPnNoYWRvd19vZmZzZXQsJHRoaXMtPnRodW1ieS0kdGhpcy0+c2hhZG93X29mZnNldCxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLGhleGRlYyhzdWJzdHIoJHRoaXMtPkZyYW1lY29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+RnJhbWVjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5GcmFtZWNvbG9yLDUsMikpKSk7DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIERyb3Agc2hhZG93IG9uIHRodW1ibmFpbA0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gYWRkc2hhZG93KCkgew0KCQ0KCQkkZ3JheT1pbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDE5MiwxOTIsMTkyKTsNCgkJJG1pZGRsZWdyYXk9aW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwxNTgsMTU4LDE1OCk7DQoJCSRkYXJrZ3JheT1pbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDEyOCwxMjgsMTI4KTsNCgkJaW1hZ2VyZWN0YW5nbGUoJHRoaXMtPnRodW1iLCR0aGlzLT5iaW5kX29mZnNldCwwLCR0aGlzLT50aHVtYngtNCwkdGhpcy0+dGh1bWJ5LTQsJGdyYXkpOw0KCQlpbWFnZWxpbmUoJHRoaXMtPnRodW1iLCR0aGlzLT5iaW5kX29mZnNldCwkdGhpcy0+dGh1bWJ5LTMsJHRoaXMtPnRodW1ieCwkdGhpcy0+dGh1bWJ5LTMsJGRhcmtncmF5KTsNCgkJaW1hZ2VsaW5lKCR0aGlzLT50aHVtYiwkdGhpcy0+dGh1bWJ4LTMsMCwkdGhpcy0+dGh1bWJ4LTMsJHRoaXMtPnRodW1ieSwkZGFya2dyYXkpOw0KCQlpbWFnZWxpbmUoJHRoaXMtPnRodW1iLCR0aGlzLT5iaW5kX29mZnNldCsyLCR0aGlzLT50aHVtYnktMiwkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnktMiwkbWlkZGxlZ3JheSk7DQoJCWltYWdlbGluZSgkdGhpcy0+dGh1bWIsJHRoaXMtPnRodW1ieC0yLDIsJHRoaXMtPnRodW1ieC0yLCR0aGlzLT50aHVtYnksJG1pZGRsZWdyYXkpOw0KCQlpbWFnZWxpbmUoJHRoaXMtPnRodW1iLCR0aGlzLT5iaW5kX29mZnNldCsyLCR0aGlzLT50aHVtYnktMSwkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnktMSwkZ3JheSk7DQoJCWltYWdlbGluZSgkdGhpcy0+dGh1bWIsJHRoaXMtPnRodW1ieC0xLDIsJHRoaXMtPnRodW1ieC0xLCR0aGlzLT50aHVtYnksJGdyYXkpOw0KCQkNCgl9DQoNCgkvKioNCgkgKiBDbGlwIGNvcm5lcnMgb3JpZ2luYWwgaW1hZ2UNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGNsaXBjb3JuZXJzc3RyYWlnaHQoKSB7DQoJDQoJCSRjbGlwc2l6ZT0kdGhpcy0+Q2xpcGNvcm5lclsxXTsNCgkJaWYgKCR0aGlzLT5zaXplWzBdPiR0aGlzLT5zaXplWzFdKQ0KCQkJJGNsaXBzaXplPWZsb29yKCR0aGlzLT5zaXplWzBdKihpbnR2YWwoJGNsaXBzaXplKS8xMDApKTsNCgkJZWxzZQ0KCQkJJGNsaXBzaXplPWZsb29yKCR0aGlzLT5zaXplWzFdKihpbnR2YWwoJGNsaXBzaXplKS8xMDApKTsNCgkJaWYgKGludHZhbCgkY2xpcHNpemUpPjApIHsNCgkJCSRiZ2NvbG9yPWltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+aW0saGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsNSwyKSkpOw0KCQkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzJdKSB7JHJhbmRvbTE9cmFuZCgwLDEpOyRyYW5kb20yPXJhbmQoMCwxKTskcmFuZG9tMz1yYW5kKDAsMSk7JHJhbmRvbTQ9cmFuZCgwLDEpO30gZWxzZSB7JHJhbmRvbTE9MTskcmFuZG9tMj0xOyRyYW5kb20zPTE7JHJhbmRvbTQ9MTt9DQoJCQlmb3IgKCRpPTA7JGk8JGNsaXBzaXplOyRpKyspIHsJCQkNCgkJCQlpZiAoJHRoaXMtPkNsaXBjb3JuZXJbM10gJiYgJHJhbmRvbTEpIHtpbWFnZWxpbmUoJHRoaXMtPmltLDAsJGksJGNsaXBzaXplLSRpLCRpLCRiZ2NvbG9yKTt9DQoJCQkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzRdICYmICRyYW5kb20yKSB7aW1hZ2VsaW5lKCR0aGlzLT5pbSwwLCR0aGlzLT5zaXplWzFdLSRpLTEsJGNsaXBzaXplLSRpLCR0aGlzLT5zaXplWzFdLSRpLTEsJGJnY29sb3IpO30JCQkJDQoJCQkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzVdICYmICRyYW5kb20zKSB7aW1hZ2VsaW5lKCR0aGlzLT5pbSwkdGhpcy0+c2l6ZVswXS0kY2xpcHNpemUrJGksJGksJHRoaXMtPnNpemVbMF0rJGNsaXBzaXplLSRpLCRpLCRiZ2NvbG9yKTt9CQkJCQ0KCQkJCWlmICgkdGhpcy0+Q2xpcGNvcm5lcls2XSAmJiAkcmFuZG9tNCkge2ltYWdlbGluZSgkdGhpcy0+aW0sJHRoaXMtPnNpemVbMF0tJGNsaXBzaXplKyRpLCR0aGlzLT5zaXplWzFdLSRpLTEsJHRoaXMtPnNpemVbMF0rJGNsaXBzaXplLSRpLCR0aGlzLT5zaXplWzFdLSRpLTEsJGJnY29sb3IpO30NCgkJCX0NCgkJfQ0KCQkNCgl9DQoNCgkvKioNCgkgKiBDbGlwIHJvdW5kIGNvcm5lcnMgb3JpZ2luYWwgaW1hZ2UNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGNsaXBjb3JuZXJzcm91bmQoKSB7DQoJDQoJCSRjbGlwc2l6ZT1mbG9vcigkdGhpcy0+c2l6ZVswXSooJHRoaXMtPkNsaXBjb3JuZXJbMV0vMTAwKSk7DQoJCSRjbGlwX2RlZ3JlZXM9OTAvbWF4KCRjbGlwc2l6ZSwxKTsNCgkJJHBvaW50c190bD1hcnJheSgwLDApOw0KCQkkcG9pbnRzX2JyPWFycmF5KCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJJHBvaW50c190cj1hcnJheSgkdGhpcy0+c2l6ZVswXSwwKTsNCgkJJHBvaW50c19ibD1hcnJheSgwLCR0aGlzLT5zaXplWzFdKTsNCgkJJGJnY29sb3I9aW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5pbSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciw1LDIpKSk7DQoJCWZvciAoJGk9MDskaTwkY2xpcHNpemU7JGkrKykgew0KCQkJJHg9JGNsaXBzaXplKmNvcyhkZWcycmFkKCRpKiRjbGlwX2RlZ3JlZXMpKTsNCgkJCSR5PSRjbGlwc2l6ZSpzaW4oZGVnMnJhZCgkaSokY2xpcF9kZWdyZWVzKSk7DQoJCQlhcnJheV9wdXNoKCRwb2ludHNfdGwsJGNsaXBzaXplLSR4KTsNCgkJCWFycmF5X3B1c2goJHBvaW50c190bCwkY2xpcHNpemUtJHkpOw0KCQkJYXJyYXlfcHVzaCgkcG9pbnRzX3RyLCR0aGlzLT5zaXplWzBdLSRjbGlwc2l6ZSskeCk7DQoJCQlhcnJheV9wdXNoKCRwb2ludHNfdHIsJGNsaXBzaXplLSR5KTsNCgkJCWFycmF5X3B1c2goJHBvaW50c19iciwkdGhpcy0+c2l6ZVswXS0kY2xpcHNpemUrJHgpOw0KCQkJYXJyYXlfcHVzaCgkcG9pbnRzX2JyLCR0aGlzLT5zaXplWzFdLSRjbGlwc2l6ZSskeSk7DQoJCQlhcnJheV9wdXNoKCRwb2ludHNfYmwsJGNsaXBzaXplLSR4KTsNCgkJCWFycmF5X3B1c2goJHBvaW50c19ibCwkdGhpcy0+c2l6ZVsxXS0kY2xpcHNpemUrJHkpOw0KCQl9DQoJCWFycmF5X3B1c2goJHBvaW50c190bCwkY2xpcHNpemUsMCk7DQoJCWFycmF5X3B1c2goJHBvaW50c19iciwkdGhpcy0+c2l6ZVswXS0kY2xpcHNpemUsJHRoaXMtPnNpemVbMV0pOw0KCQlhcnJheV9wdXNoKCRwb2ludHNfdHIsJHRoaXMtPnNpemVbMF0tJGNsaXBzaXplLDApOw0KCQlhcnJheV9wdXNoKCRwb2ludHNfYmwsJGNsaXBzaXplLCR0aGlzLT5zaXplWzFdKTsNCgkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzJdKSB7JHJhbmRvbTE9cmFuZCgwLDEpOyRyYW5kb20yPXJhbmQoMCwxKTskcmFuZG9tMz1yYW5kKDAsMSk7JHJhbmRvbTQ9cmFuZCgwLDEpO30gZWxzZSB7JHJhbmRvbTE9MTskcmFuZG9tMj0xOyRyYW5kb20zPTE7JHJhbmRvbTQ9MTt9DQoJCWlmICgkdGhpcy0+Q2xpcGNvcm5lclszXSAmJiAkcmFuZG9tMSkge2ltYWdlZmlsbGVkcG9seWdvbigkdGhpcy0+aW0sJHBvaW50c190bCxjb3VudCgkcG9pbnRzX3RsKS8yLCRiZ2NvbG9yKTt9DQoJCWlmICgkdGhpcy0+Q2xpcGNvcm5lcls0XSAmJiAkcmFuZG9tMikge2ltYWdlZmlsbGVkcG9seWdvbigkdGhpcy0+aW0sJHBvaW50c19ibCxjb3VudCgkcG9pbnRzX2JsKS8yLCRiZ2NvbG9yKTt9CQkNCgkJaWYgKCR0aGlzLT5DbGlwY29ybmVyWzVdICYmICRyYW5kb20zKSB7aW1hZ2VmaWxsZWRwb2x5Z29uKCR0aGlzLT5pbSwkcG9pbnRzX3RyLGNvdW50KCRwb2ludHNfdHIpLzIsJGJnY29sb3IpO30JCQ0KCQlpZiAoJHRoaXMtPkNsaXBjb3JuZXJbNl0gJiYgJHJhbmRvbTQpIHtpbWFnZWZpbGxlZHBvbHlnb24oJHRoaXMtPmltLCRwb2ludHNfYnIsY291bnQoJHBvaW50c19icikvMiwkYmdjb2xvcik7fQ0KCQlpbWFnZXJlY3RhbmdsZSgkdGhpcy0+aW0sMCwwLCR0aGlzLT5zaXplWzBdLTEsJHRoaXMtPnNpemVbMV0tMSwkYmdjb2xvcik7DQoNCgl9DQoNCgkvKioNCgkgKiBDb252ZXJ0IG9yaWdpbmFsIGltYWdlIHRvIGdyZXlzY2FsZSBhbmQvb3IgYXBwbHkgbm9pc2UgYW5kIHNlcGhpYSBlZmZlY3QNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGFnZWltYWdlKCkgew0KCQ0KCQlpbWFnZXRydWVjb2xvcnRvcGFsZXR0ZSgkdGhpcy0+aW0sMSwyNTYpOw0KCQlmb3IgKCRjPTA7JGM8MjU2OyRjKyspIHsgICAgDQoJCQkkY29sPWltYWdlY29sb3JzZm9yaW5kZXgoJHRoaXMtPmltLCRjKTsNCgkJCSRuZXdfY29sPWZsb29yKCRjb2xbJ3JlZCddKjAuMjEyNSskY29sWydncmVlbiddKjAuNzE1NCskY29sWydibHVlJ10qMC4wNzIxKTsNCgkJCSRub2lzZT1yYW5kKC0kdGhpcy0+QWdlaW1hZ2VbMV0sJHRoaXMtPkFnZWltYWdlWzFdKTsNCgkJCWlmICgkdGhpcy0+QWdlaW1hZ2VbMl0+MCkgew0KCQkJCSRyPSRuZXdfY29sKyR0aGlzLT5BZ2VpbWFnZVsyXSskbm9pc2U7DQoJCQkJJGc9Zmxvb3IoJG5ld19jb2wrJHRoaXMtPkFnZWltYWdlWzJdLzEuODYrJG5vaXNlKTsNCgkJCQkkYj1mbG9vcigkbmV3X2NvbCskdGhpcy0+QWdlaW1hZ2VbMl0vLTMuNDgrJG5vaXNlKTsNCgkJCX0gZWxzZSB7DQoJCQkJJHI9JG5ld19jb2wrJG5vaXNlOw0KCQkJCSRnPSRuZXdfY29sKyRub2lzZTsNCgkJCQkkYj0kbmV3X2NvbCskbm9pc2U7DQoJCQl9DQoJCQlpbWFnZWNvbG9yc2V0KCR0aGlzLT5pbSwkYyxtYXgoMCxtaW4oMjU1LCRyKSksbWF4KDAsbWluKDI1NSwkZykpLG1heCgwLG1pbigyNTUsJGIpKSk7DQoJCX0NCgkJDQoJfQ0KDQoJLyoqDQoJICogQWRkIGJvcmRlciB0byB0aHVtYm5haWwNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGFkZHBuZ2JvcmRlcigpIHsNCgkNCgkJaWYgKGZpbGVfZXhpc3RzKCR0aGlzLT5Cb3JkZXJwbmcpKSB7DQoJCQkkYm9yZGVyaW09aW1hZ2VjcmVhdGVmcm9tcG5nKCR0aGlzLT5Cb3JkZXJwbmcpOw0KCQkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCR0aGlzLT50aHVtYiwkYm9yZGVyaW0sJHRoaXMtPmJpbmRfb2Zmc2V0LDAsMCwwLCR0aGlzLT50aHVtYngtJHRoaXMtPnNoYWRvd19vZmZzZXQtJHRoaXMtPmJpbmRfb2Zmc2V0LCR0aGlzLT50aHVtYnktJHRoaXMtPnNoYWRvd19vZmZzZXQsaW1hZ2VzeCgkYm9yZGVyaW0pLGltYWdlc3koJGJvcmRlcmltKSk7DQoJCQlpbWFnZWRlc3Ryb3koJGJvcmRlcmltKTsNCgkJfQ0KCQkNCgl9DQoNCgkvKioNCgkgKiBBZGQgYmluZGVyIGVmZmVjdCB0byB0aHVtYm5haWwNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGFkZGJpbmRlcigpIHsNCgkNCgkJaWYgKGludHZhbCgkdGhpcy0+QmluZGVyc3BhY2luZyk8NCkgeyR0aGlzLT5CaW5kZXJzcGFjaW5nPTQ7fQ0KCQkkc3BhY2luZz1mbG9vcigkdGhpcy0+dGh1bWJ5LyR0aGlzLT5CaW5kZXJzcGFjaW5nKS0yOw0KCQkkb2Zmc2V0PWZsb29yKCgkdGhpcy0+dGh1bWJ5LSgkc3BhY2luZyokdGhpcy0+QmluZGVyc3BhY2luZykpLzIpOw0KCQkkZ3JheT1pbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDE5MiwxOTIsMTkyKTsNCgkJJG1pZGRsZWdyYXk9aW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwxNTgsMTU4LDE1OCk7DQoJCSRkYXJrZ3JheT1pbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPnRodW1iLDEyOCwxMjgsMTI4KTsJCQ0KCQkkYmxhY2s9aW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwwLDAsMCk7CQ0KCQkkd2hpdGU9aW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwyNTUsMjU1LDI1NSk7CQkNCgkJZm9yICgkaT0kb2Zmc2V0OyRpPD0kb2Zmc2V0KyRzcGFjaW5nKiR0aGlzLT5CaW5kZXJzcGFjaW5nOyRpKz0kdGhpcy0+QmluZGVyc3BhY2luZykgew0KCQkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPnRodW1iLDgsJGktMiwxMCwkaSsyLCRibGFjayk7DQoJCQlpbWFnZWxpbmUoJHRoaXMtPnRodW1iLDExLCRpLTEsMTEsJGkrMSwkZGFya2dyYXkpOw0KCQkJaW1hZ2VsaW5lKCR0aGlzLT50aHVtYiw4LCRpLTIsMTAsJGktMiwkZGFya2dyYXkpOw0KCQkJaW1hZ2VsaW5lKCR0aGlzLT50aHVtYiw4LCRpKzIsMTAsJGkrMiwkZGFya2dyYXkpOw0KCQkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPnRodW1iLDAsJGktMSw4LCRpKzEsJGdyYXkpOw0KCQkJaW1hZ2VsaW5lKCR0aGlzLT50aHVtYiwwLCRpLDgsJGksJHdoaXRlKTsNCgkJCWltYWdlbGluZSgkdGhpcy0+dGh1bWIsMCwkaS0xLDAsJGkrMSwkZ3JheSk7DQoJCQlpbWFnZXNldHBpeGVsKCR0aGlzLT50aHVtYiwwLCRpLCRkYXJrZ3JheSk7DQoJCX0NCgkJDQoJfQ0KDQoJLyoqDQoJICogQWRkIENvcHlyaWdodCB0ZXh0IHRvIHRodW1ibmFpbA0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gYWRkY29weXJpZ2h0KCkgew0KDQoJCWlmICgkdGhpcy0+Q29weXJpZ2h0Zm9udHR5cGU9PScnKSB7DQoJCQkkd2lkdGh4PWltYWdlZm9udHdpZHRoKCR0aGlzLT5Db3B5cmlnaHRmb250c2l6ZSkqc3RybGVuKCR0aGlzLT5Db3B5cmlnaHR0ZXh0KTsNCgkJCSRoZWlnaHR5PWltYWdlZm9udGhlaWdodCgkdGhpcy0+Q29weXJpZ2h0Zm9udHNpemUpOw0KCQkJJGZvbnR3aWR0aD1pbWFnZWZvbnR3aWR0aCgkdGhpcy0+Q29weXJpZ2h0Zm9udHNpemUpOw0KCQl9IGVsc2UgewkJDQoJCQkkZGltZW5zaW9ucz1pbWFnZXR0ZmJib3goJHRoaXMtPkNvcHlyaWdodGZvbnRzaXplLDAsJHRoaXMtPkNvcHlyaWdodGZvbnR0eXBlLCR0aGlzLT5Db3B5cmlnaHR0ZXh0KTsNCgkJCSR3aWR0aHg9JGRpbWVuc2lvbnNbMl07JGhlaWdodHk9JGRpbWVuc2lvbnNbNV07DQoJCQkkZGltZW5zaW9ucz1pbWFnZXR0ZmJib3goJHRoaXMtPkNvcHlyaWdodGZvbnRzaXplLDAsJHRoaXMtPkNvcHlyaWdodGZvbnR0eXBlLCdXJyk7DQoJCQkkZm9udHdpZHRoPSRkaW1lbnNpb25zWzJdOw0KCQl9DQoJCSRjcG9zPWV4cGxvZGUoJyAnLHN0cl9yZXBsYWNlKCclJywnJywkdGhpcy0+Q29weXJpZ2h0cG9zaXRpb24pKTsNCgkJaWYgKGNvdW50KCRjcG9zKT4xKSB7DQoJCQkkY3Bvc3g9Zmxvb3IobWluKG1heCgkdGhpcy0+dGh1bWJ4KigkY3Bvc1swXS8xMDApLTAuNSokd2lkdGh4LCRmb250d2lkdGgpLCR0aGlzLT50aHVtYngtJHdpZHRoeC0wLjUqJGZvbnR3aWR0aCkpOw0KCQkJJGNwb3N5PWZsb29yKG1pbihtYXgoJHRoaXMtPnRodW1ieSooJGNwb3NbMV0vMTAwKS0wLjUqJGhlaWdodHksJGhlaWdodHkpLCR0aGlzLT50aHVtYnktJGhlaWdodHkqMS41KSk7DQoJCX0gZWxzZSB7DQoJCQkkY3Bvc3g9JGZvbnR3aWR0aDsNCgkJCSRjcG9zeT0kdGhpcy0+dGh1bWJ5LTEwOw0KCQl9CQkJDQoJCWlmICgkdGhpcy0+Q29weXJpZ2h0dGV4dGNvbG9yPT0nJykgew0KCQkJJGNvbG9ycz1hcnJheSgpOw0KCQkJZm9yICgkaT0kY3Bvc3g7JGk8KCRjcG9zeCskd2lkdGh4KTskaSsrKSB7DQoJCQkJJGluZGV4aXM9SW1hZ2VDb2xvckF0KCR0aGlzLT50aHVtYiwkaSwkY3Bvc3krMC41KiRoZWlnaHR5KTsNCgkJCQkkcmdiYXJyYXk9SW1hZ2VDb2xvcnNGb3JJbmRleCgkdGhpcy0+dGh1bWIsJGluZGV4aXMpOw0KCQkJCWFycmF5X3B1c2goJGNvbG9ycywkcmdiYXJyYXlbJ3JlZCddLCRyZ2JhcnJheVsnZ3JlZW4nXSwkcmdiYXJyYXlbJ2JsdWUnXSk7DQoJCQl9DQoJCQlpZiAoYXJyYXlfc3VtKCRjb2xvcnMpL2NvdW50KCRjb2xvcnMpPjE4MCkgew0KCQkJCWlmICgkdGhpcy0+Q29weXJpZ2h0Zm9udHR5cGU9PScnKQ0KCQkJCQlpbWFnZXN0cmluZygkdGhpcy0+dGh1bWIsJHRoaXMtPkNvcHlyaWdodGZvbnRzaXplLCRjcG9zeCwkY3Bvc3ksJHRoaXMtPkNvcHlyaWdodHRleHQsaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwwLDAsMCkpOw0KCQkJCWVsc2UNCgkJCQkJaW1hZ2V0dGZ0ZXh0KCR0aGlzLT50aHVtYiwkdGhpcy0+Q29weXJpZ2h0Zm9udHNpemUsMCwkY3Bvc3gsJGNwb3N5LGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsMCwwLDApLCR0aGlzLT5Db3B5cmlnaHRmb250dHlwZSwkdGhpcy0+Q29weXJpZ2h0dGV4dCk7DQoJCQl9IGVsc2Ugew0KCQkJCWlmICgkdGhpcy0+Q29weXJpZ2h0Zm9udHR5cGU9PScnKQ0KCQkJCQlpbWFnZXN0cmluZygkdGhpcy0+dGh1bWIsJHRoaXMtPkNvcHlyaWdodGZvbnRzaXplLCRjcG9zeCwkY3Bvc3ksJHRoaXMtPkNvcHlyaWdodHRleHQsaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYiwyNTUsMjU1LDI1NSkpOw0KCQkJCWVsc2UNCgkJCQkJaW1hZ2V0dGZ0ZXh0KCR0aGlzLT50aHVtYiwkdGhpcy0+Q29weXJpZ2h0Zm9udHNpemUsMCwkY3Bvc3gsJGNwb3N5LGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsMjU1LDI1NSwyNTUpLCR0aGlzLT5Db3B5cmlnaHRmb250dHlwZSwkdGhpcy0+Q29weXJpZ2h0dGV4dCk7CQkJCQ0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJaWYgKCR0aGlzLT5Db3B5cmlnaHRmb250dHlwZT09JycpDQoJCQkJaW1hZ2VzdHJpbmcoJHRoaXMtPnRodW1iLCR0aGlzLT5Db3B5cmlnaHRmb250c2l6ZSwkY3Bvc3gsJGNwb3N5LCR0aGlzLT5Db3B5cmlnaHR0ZXh0LGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsaGV4ZGVjKHN1YnN0cigkdGhpcy0+Q29weXJpZ2h0dGV4dGNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkNvcHlyaWdodHRleHRjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5Db3B5cmlnaHR0ZXh0Y29sb3IsNSwyKSkpKTsNCgkJCWVsc2UNCgkJCQlpbWFnZXR0ZnRleHQoJHRoaXMtPnRodW1iLCR0aGlzLT5Db3B5cmlnaHRmb250c2l6ZSwwLCRjcG9zeCwkY3Bvc3ksaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT50aHVtYixoZXhkZWMoc3Vic3RyKCR0aGlzLT5Db3B5cmlnaHR0ZXh0Y29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+Q29weXJpZ2h0dGV4dGNvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkNvcHlyaWdodHRleHRjb2xvciw1LDIpKSksJHRoaXMtPkNvcHlyaWdodGZvbnR0eXBlLCR0aGlzLT5Db3B5cmlnaHR0ZXh0KTsJCQkJDQoJCX0NCgkJDQoJfQ0KDQoJLyoqDQoJICogUm90YXRlIHRoZSBpbWFnZSBhdCBhbnkgYW5nbGUNCgkgKiBJbWFnZSBpcyBub3Qgc2NhbGVkIGRvd24NCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGZyZWVyb3RhdGUoKSB7DQoJDQoJCSRhbmdsZT0kdGhpcy0+Um90YXRlOw0KCQlpZiAoJGFuZ2xlPD4wKSB7DQoJCQkkY2VudGVyeD1mbG9vcigkdGhpcy0+c2l6ZVswXS8yKTsNCgkJCSRjZW50ZXJ5PWZsb29yKCR0aGlzLT5zaXplWzFdLzIpOw0KCQkJJG1heHNpemV4PWNlaWwoYWJzKGNvcyhkZWcycmFkKCRhbmdsZSkpKiR0aGlzLT5zaXplWzBdKSthYnMoc2luKGRlZzJyYWQoJGFuZ2xlKSkqJHRoaXMtPnNpemVbMV0pKTsNCgkJCSRtYXhzaXpleT1jZWlsKGFicyhzaW4oZGVnMnJhZCgkYW5nbGUpKSokdGhpcy0+c2l6ZVswXSkrYWJzKGNvcyhkZWcycmFkKCRhbmdsZSkpKiR0aGlzLT5zaXplWzFdKSk7DQoJCQlpZiAoJG1heHNpemV4ICYgMSkgeyRtYXhzaXpleCs9Mzt9IGVsc2UJeyRtYXhzaXpleCs9Mjt9DQoJCQlpZiAoJG1heHNpemV5ICYgMSkgeyRtYXhzaXpleSs9Mzt9IGVsc2UgeyRtYXhzaXpleSs9Mjt9DQoJCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJG1heHNpemV4LCRtYXhzaXpleSk7DQoJCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+bmV3aW1hZ2UsMCwwLCRtYXhzaXpleCwkbWF4c2l6ZXksaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5uZXdpbWFnZSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciw1LDIpKSkpOwkJCQ0KCQkJJG5ld2NlbnRlcng9aW1hZ2VzeCgkdGhpcy0+bmV3aW1hZ2UpLzI7DQoJCQkkbmV3Y2VudGVyeT1pbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSkvMjsNCgkJCSRhbmdsZSs9MTgwOw0KCQkJZm9yICgkcHg9MDskcHg8aW1hZ2VzeCgkdGhpcy0+bmV3aW1hZ2UpOyRweCsrKSB7DQoJCQkJZm9yICgkcHk9MDskcHk8aW1hZ2VzeSgkdGhpcy0+bmV3aW1hZ2UpOyRweSsrKSB7DQoJCQkJCSR2ZWN0b3J4PWZsb29yKCgkbmV3Y2VudGVyeC0kcHgpKmNvcyhkZWcycmFkKCRhbmdsZSkpKygkbmV3Y2VudGVyeS0kcHkpKnNpbihkZWcycmFkKCRhbmdsZSkpKTsNCgkJCQkJJHZlY3Rvcnk9Zmxvb3IoKCRuZXdjZW50ZXJ5LSRweSkqY29zKGRlZzJyYWQoJGFuZ2xlKSktKCRuZXdjZW50ZXJ4LSRweCkqc2luKGRlZzJyYWQoJGFuZ2xlKSkpOw0KCQkJCQlpZiAoKCRjZW50ZXJ4KyR2ZWN0b3J4KT4tMSAmJiAoJGNlbnRlcngrJHZlY3RvcngpPCgkY2VudGVyeCoyKSAmJiAoJGNlbnRlcnkrJHZlY3RvcnkpPi0xICYmICgkY2VudGVyeSskdmVjdG9yeSk8KCRjZW50ZXJ5KjIpKQ0KCQkJCQkgICAgaW1hZ2Vjb3B5KCR0aGlzLT5uZXdpbWFnZSwkdGhpcy0+aW0sJHB4LCRweSwkY2VudGVyeCskdmVjdG9yeCwkY2VudGVyeSskdmVjdG9yeSwxLDEpOw0KCQkJCX0NCgkJCX0NCgkJCWltYWdlZGVzdHJveSgkdGhpcy0+aW0pOw0KCQkJJHRoaXMtPmltPWltYWdlY3JlYXRldHJ1ZWNvbG9yKGltYWdlc3goJHRoaXMtPm5ld2ltYWdlKSxpbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSkpOw0KCQkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCxpbWFnZXN4KCR0aGlzLT5uZXdpbWFnZSksaW1hZ2VzeSgkdGhpcy0+bmV3aW1hZ2UpKTsNCgkJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQkJJHRoaXMtPnNpemVbMF09aW1hZ2VzeCgkdGhpcy0+aW0pOw0KCQkJJHRoaXMtPnNpemVbMV09aW1hZ2VzeSgkdGhpcy0+aW0pOw0KCQl9DQoJCQ0KCX0JDQoNCgkvKioNCgkgKiBSb3RhdGUgdGhlIGltYWdlIGF0IGFueSBhbmdsZQ0KCSAqIEltYWdlIGlzIHNjYWxlZCBkb3duDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBjcm9wcm90YXRlKCkgew0KCQ0KCQkkdGhpcy0+aW09aW1hZ2Vyb3RhdGUoJHRoaXMtPmltLC0kdGhpcy0+Um90YXRlLGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+aW0saGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsNSwyKSkpKTsNCgkJDQoJfQ0KCQ0KCS8qKg0KCSAqIFJvdGF0ZSB0aGUgaW1hZ2UgKzkwLCAtOTAgb3IgMTgwIGRlZ3JlZXMNCgkgKiBGbGlwIHRoZSBpbWFnZSBvdmVyIGhvcml6b250YWwgb3IgdmVydGljYWwgYXhpcw0KCSAqDQoJICogQHBhcmFtICRyb3RhdGUNCgkgKiBAcGFyYW0gJGZsaXANCgkgKi8JCQ0KCXByaXZhdGUgZnVuY3Rpb24gcm90YXRlb3JmbGlwKCRyb3RhdGUsJGZsaXApIHsNCg0KCQlpZiAoJHJvdGF0ZSkgew0KCQkJJHRoaXMtPm5ld2ltYWdlPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT5zaXplWzFdLCR0aGlzLT5zaXplWzBdKTsNCgkJfSBlbHNlIHsNCgkJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCX0NCgkJaWYgKGludHZhbCgkdGhpcy0+Um90YXRlKT4wIHx8ICRmbGlwPjApIHsNCgkJCWZvciAoJHB4PTA7JHB4PCR0aGlzLT5zaXplWzBdOyRweCsrKSB7DQoJCQkJaWYgKCRyb3RhdGUpIHsNCgkJCQkJZm9yICgkcHk9MDskcHk8JHRoaXMtPnNpemVbMV07JHB5KyspIHtpbWFnZWNvcHkoJHRoaXMtPm5ld2ltYWdlLCR0aGlzLT5pbSwkdGhpcy0+c2l6ZVsxXS0kcHktMSwkcHgsJHB4LCRweSwxLDEpO30NCgkJCQl9IGVsc2Ugew0KCQkJCQlmb3IgKCRweT0wOyRweTwkdGhpcy0+c2l6ZVsxXTskcHkrKykge2ltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPmltLCR0aGlzLT5zaXplWzBdLSRweC0xLCRweSwkcHgsJHB5LDEsMSk7fQ0KCQkJCX0NCgkJCX0NCgkJfSBlbHNlIHsNCgkJCWZvciAoJHB4PTA7JHB4PCR0aGlzLT5zaXplWzBdOyRweCsrKSB7DQoJCQkJaWYgKCRyb3RhdGUpIHsJCQkJDQoJCQkJCWZvciAoJHB5PTA7JHB5PCR0aGlzLT5zaXplWzFdOyRweSsrKSB7aW1hZ2Vjb3B5KCR0aGlzLT5uZXdpbWFnZSwkdGhpcy0+aW0sJHB5LCR0aGlzLT5zaXplWzBdLSRweC0xLCRweCwkcHksMSwxKTt9DQoJCQkJfSBlbHNlIHsNCgkJCQkJZm9yICgkcHk9MDskcHk8JHRoaXMtPnNpemVbMV07JHB5KyspIHtpbWFnZWNvcHkoJHRoaXMtPm5ld2ltYWdlLCR0aGlzLT5pbSwkcHgsJHRoaXMtPnNpemVbMV0tJHB5LTEsJHB4LCRweSwxLDEpO30NCgkJCQl9CQkJCQkNCgkJCX0NCgkJfQ0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPmltKTsNCgkJJHRoaXMtPmltPWltYWdlY3JlYXRldHJ1ZWNvbG9yKGltYWdlc3goJHRoaXMtPm5ld2ltYWdlKSxpbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSkpOw0KCQlpbWFnZWNvcHkoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSwwLDAsMCwwLGltYWdlc3goJHRoaXMtPm5ld2ltYWdlKSxpbWFnZXN5KCR0aGlzLT5uZXdpbWFnZSkpOwkJCQ0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPm5ld2ltYWdlKTsNCgkJJHRoaXMtPnNpemVbMF09aW1hZ2VzeCgkdGhpcy0+aW0pOw0KCQkkdGhpcy0+c2l6ZVsxXT1pbWFnZXN5KCR0aGlzLT5pbSk7DQoNCgl9DQoJDQoJLyoqDQoJICogQ3JvcCBpbWFnZSBpbiBwZXJjZW50YWdlIG9yIHBpeGVscw0KCSAqIENyb3AgZnJvbSBzaWRlcyBvciBmcm9tIGNlbnRlcg0KCSAqIE5lZ2F0aXZlIHZhbHVlIGZvciBib3R0b20gY3JvcCB3aWxsIGVubGFyZ2UgdGhlIGNhbnZhcw0KCSAqDQoJICovCQkNCglwcml2YXRlIGZ1bmN0aW9uIGNyb3BpbWFnZSgpIHsJDQoJCQ0KCQlpZiAoJHRoaXMtPkNyb3BpbWFnZVsxXT09MCkgew0KCQkJJGNyb3AyPWZsb29yKCR0aGlzLT5zaXplWzBdKigkdGhpcy0+Q3JvcGltYWdlWzJdLzEwMCkpOw0KCQkJJGNyb3AzPWZsb29yKCR0aGlzLT5zaXplWzBdKigkdGhpcy0+Q3JvcGltYWdlWzNdLzEwMCkpOw0KCQkJJGNyb3A0PWZsb29yKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+Q3JvcGltYWdlWzRdLzEwMCkpOw0KCQkJJGNyb3A1PWZsb29yKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+Q3JvcGltYWdlWzVdLzEwMCkpOw0KCQl9IA0KCQlpZiAoJHRoaXMtPkNyb3BpbWFnZVsxXT09MSkgew0KCQkJJGNyb3AyPSR0aGlzLT5Dcm9waW1hZ2VbMl07DQoJCQkkY3JvcDM9JHRoaXMtPkNyb3BpbWFnZVszXTsNCgkJCSRjcm9wND0kdGhpcy0+Q3JvcGltYWdlWzRdOw0KCQkJJGNyb3A1PSR0aGlzLT5Dcm9waW1hZ2VbNV07CQkNCgkJfQ0KCQlpZiAoJHRoaXMtPkNyb3BpbWFnZVswXT09Mikgew0KCQkJJGNyb3AyPWZsb29yKCR0aGlzLT5zaXplWzBdLzIpLSRjcm9wMjsNCgkJCSRjcm9wMz1mbG9vcigkdGhpcy0+c2l6ZVswXS8yKS0kY3JvcDM7DQoJCQkkY3JvcDQ9Zmxvb3IoJHRoaXMtPnNpemVbMV0vMiktJGNyb3A0Ow0KCQkJJGNyb3A1PWZsb29yKCR0aGlzLT5zaXplWzFdLzIpLSRjcm9wNTsNCgkJfQ0KCQlpZiAoJHRoaXMtPkNyb3BpbWFnZVswXT09Mykgew0KCQkJaWYgKCR0aGlzLT5zaXplWzBdPiR0aGlzLT5zaXplWzFdKSB7DQoJCQkJJGNyb3AyPSRjcm9wMz1mbG9vcigoJHRoaXMtPnNpemVbMF0tJHRoaXMtPnNpemVbMV0pLzIpOw0KCQkJCSRjcm9wND0kY3JvcDU9MDsNCgkJCX0gZWxzZSB7DQoJCQkJJGNyb3A0PSRjcm9wNT1mbG9vcigoJHRoaXMtPnNpemVbMV0tJHRoaXMtPnNpemVbMF0pLzIpOw0KCQkJCSRjcm9wMj0kY3JvcDM9MDsJCQkNCgkJCX0NCgkJfQ0KCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPnNpemVbMF0tJGNyb3AyLSRjcm9wMywkdGhpcy0+c2l6ZVsxXS0kY3JvcDQtJGNyb3A1KTsNCgkJaWYgKCRjcm9wNTwwKSB7JGNyb3A1PTA7aW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPm5ld2ltYWdlLDAsMCxpbWFnZXN4KCR0aGlzLT5uZXdpbWFnZSksaW1hZ2VzeSgkdGhpcy0+bmV3aW1hZ2UpLGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+bmV3aW1hZ2UsaGV4ZGVjKHN1YnN0cigkdGhpcy0+UG9sYXJvaWRmcmFtZWNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPlBvbGFyb2lkZnJhbWVjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5Qb2xhcm9pZGZyYW1lY29sb3IsNSwyKSkpKTt9DQoJCWltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPmltLDAsMCwkY3JvcDIsJGNyb3A0LCR0aGlzLT5zaXplWzBdLSRjcm9wMi0kY3JvcDMsJHRoaXMtPnNpemVbMV0tJGNyb3A0LSRjcm9wNSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+aW0pOw0KCQkkdGhpcy0+aW09aW1hZ2VjcmVhdGV0cnVlY29sb3IoaW1hZ2VzeCgkdGhpcy0+bmV3aW1hZ2UpLGltYWdlc3koJHRoaXMtPm5ld2ltYWdlKSk7DQoJCWltYWdlY29weSgkdGhpcy0+aW0sJHRoaXMtPm5ld2ltYWdlLDAsMCwwLDAsaW1hZ2VzeCgkdGhpcy0+bmV3aW1hZ2UpLGltYWdlc3koJHRoaXMtPm5ld2ltYWdlKSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQkkdGhpcy0+c2l6ZVswXT1pbWFnZXN4KCR0aGlzLT5pbSk7DQoJCSR0aGlzLT5zaXplWzFdPWltYWdlc3koJHRoaXMtPmltKTsNCgkNCgl9DQoNCgkvKioNCgkgKiBFbmxhcmdlIHRoZSBjYW52YXMgdG8gYmUgc2FtZSB3aWR0aCBhbmQgaGVpZ2h0DQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBzcXVhcmUoKSB7DQoJDQoJCSRzcXVhcmVzaXplPW1heCgkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnkpOw0KCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHNxdWFyZXNpemUsJHNxdWFyZXNpemUpOw0KCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+bmV3aW1hZ2UsMCwwLCRzcXVhcmVzaXplLCRzcXVhcmVzaXplLGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+bmV3aW1hZ2UsaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwzLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsNSwyKSkpKTsNCgkJJGNlbnRlcng9Zmxvb3IoKCRzcXVhcmVzaXplLSR0aGlzLT50aHVtYngpLzIpOw0KCQkkY2VudGVyeT1mbG9vcigoJHNxdWFyZXNpemUtJHRoaXMtPnRodW1ieSkvMik7DQoJCWltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPnRodW1iLCRjZW50ZXJ4LCRjZW50ZXJ5LDAsMCwkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnkpOw0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPnRodW1iKTsNCgkJJHRoaXMtPnRodW1iPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCRzcXVhcmVzaXplLCRzcXVhcmVzaXplKTsNCgkJaW1hZ2Vjb3B5KCR0aGlzLT50aHVtYiwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkc3F1YXJlc2l6ZSwkc3F1YXJlc2l6ZSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQkNCgl9DQoNCgkvKioNCgkgKiBBcHBseSBhIDN4MyBmaWx0ZXIgbWF0cml4IHRvIHRoZSBpbWFnZQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gZmlsdGVyKCkgew0KCQkNCgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnaW1hZ2Vjb252b2x1dGlvbicpKSB7DQoJCQlpbWFnZWNvbnZvbHV0aW9uKCR0aGlzLT5pbSxhcnJheShhcnJheSgkdGhpcy0+RmlsdGVyWzBdLCR0aGlzLT5GaWx0ZXJbMV0sJHRoaXMtPkZpbHRlclsyXSksIGFycmF5KCR0aGlzLT5GaWx0ZXJbM10sJHRoaXMtPkZpbHRlcls0XSwkdGhpcy0+RmlsdGVyWzVdKSxhcnJheSgkdGhpcy0+RmlsdGVyWzZdLCR0aGlzLT5GaWx0ZXJbN10sJHRoaXMtPkZpbHRlcls4XSkpLCR0aGlzLT5EaXZpc29yLCR0aGlzLT5PZmZzZXQpOwkNCgkJfSBlbHNlIHsNCgkJCSRuZXdwaXhlbD1hcnJheSgpOw0KCQkJJHRoaXMtPm5ld2ltYWdlPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJCWZvciAoJHk9MDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkJJG5ld3BpeGVsWzBdPTA7JG5ld3BpeGVsWzFdPTA7JG5ld3BpeGVsWzJdPTA7DQoJCQkJCSRhMTE9JHRoaXMtPnJnYnBpeGVsKCR4LTEsJHktMSk7JGExMj0kdGhpcy0+cmdicGl4ZWwoJHgsJHktMSk7JGExMz0kdGhpcy0+cmdicGl4ZWwoJHgrMSwkeS0xKTsNCgkJCQkJJGEyMT0kdGhpcy0+cmdicGl4ZWwoJHgtMSwkeSk7JGEyMj0kdGhpcy0+cmdicGl4ZWwoJHgsJHkpOyRhMjM9JHRoaXMtPnJnYnBpeGVsKCR4KzEsJHkpOw0KCQkJCQkkYTMxPSR0aGlzLT5yZ2JwaXhlbCgkeC0xLCR5KzEpOyRhMzI9JHRoaXMtPnJnYnBpeGVsKCR4LCR5KzEpOyRhMzM9JHRoaXMtPnJnYnBpeGVsKCR4KzEsJHkrMSk7DQoJCQkJCSRuZXdwaXhlbFswXSs9JGExMVsncmVkJ10qJHRoaXMtPkZpbHRlclswXSskYTEyWydyZWQnXSokdGhpcy0+RmlsdGVyWzFdKyRhMTNbJ3JlZCddKiR0aGlzLT5GaWx0ZXJbMl07DQoJCQkJCSRuZXdwaXhlbFsxXSs9JGExMVsnZ3JlZW4nXSokdGhpcy0+RmlsdGVyWzBdKyRhMTJbJ2dyZWVuJ10qJHRoaXMtPkZpbHRlclsxXSskYTEzWydncmVlbiddKiR0aGlzLT5GaWx0ZXJbMl07DQoJCQkJCSRuZXdwaXhlbFsyXSs9JGExMVsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbMF0rJGExMlsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbMV0rJGExM1snYmx1ZSddKiR0aGlzLT5GaWx0ZXJbMl07DQoJCQkJCSRuZXdwaXhlbFswXSs9JGEyMVsncmVkJ10qJHRoaXMtPkZpbHRlclszXSskYTIyWydyZWQnXSokdGhpcy0+RmlsdGVyWzRdKyRhMjNbJ3JlZCddKiR0aGlzLT5GaWx0ZXJbNV07DQoJCQkJCSRuZXdwaXhlbFsxXSs9JGEyMVsnZ3JlZW4nXSokdGhpcy0+RmlsdGVyWzNdKyRhMjJbJ2dyZWVuJ10qJHRoaXMtPkZpbHRlcls0XSskYTIzWydncmVlbiddKiR0aGlzLT5GaWx0ZXJbNV07DQoJCQkJCSRuZXdwaXhlbFsyXSs9JGEyMVsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbM10rJGEyMlsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbNF0rJGEyM1snYmx1ZSddKiR0aGlzLT5GaWx0ZXJbNV07DQoJCQkJCSRuZXdwaXhlbFswXSs9JGEzMVsncmVkJ10qJHRoaXMtPkZpbHRlcls2XSskYTMyWydyZWQnXSokdGhpcy0+RmlsdGVyWzddKyRhMzNbJ3JlZCddKiR0aGlzLT5GaWx0ZXJbOF07DQoJCQkJCSRuZXdwaXhlbFsxXSs9JGEzMVsnZ3JlZW4nXSokdGhpcy0+RmlsdGVyWzZdKyRhMzJbJ2dyZWVuJ10qJHRoaXMtPkZpbHRlcls3XSskYTMzWydncmVlbiddKiR0aGlzLT5GaWx0ZXJbOF07DQoJCQkJCSRuZXdwaXhlbFsyXSs9JGEzMVsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbNl0rJGEzMlsnYmx1ZSddKiR0aGlzLT5GaWx0ZXJbN10rJGEzM1snYmx1ZSddKiR0aGlzLT5GaWx0ZXJbOF07DQoJCQkJCSRuZXdwaXhlbFswXT1tYXgoMCxtaW4oMjU1LGludHZhbCgkbmV3cGl4ZWxbMF0vJHRoaXMtPkRpdmlzb3IpKyR0aGlzLT5PZmZzZXQpKTsNCgkJCQkJJG5ld3BpeGVsWzFdPW1heCgwLG1pbigyNTUsaW50dmFsKCRuZXdwaXhlbFsxXS8kdGhpcy0+RGl2aXNvcikrJHRoaXMtPk9mZnNldCkpOw0KCQkJCQkkbmV3cGl4ZWxbMl09bWF4KDAsbWluKDI1NSxpbnR2YWwoJG5ld3BpeGVsWzJdLyR0aGlzLT5EaXZpc29yKSskdGhpcy0+T2Zmc2V0KSk7DQoJCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPm5ld2ltYWdlLCR4LCR5LGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCR0aGlzLT5uZXdpbWFnZSwkbmV3cGl4ZWxbMF0sJG5ld3BpeGVsWzFdLCRuZXdwaXhlbFsyXSwkYTExWydhbHBoYSddKSk7DQoJCQkJfQ0KCQkJfQ0KCQkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCQlpbWFnZWRlc3Ryb3koJHRoaXMtPm5ld2ltYWdlKTsNCgkJfQ0KCQkNCgl9DQoJDQoJLyoqDQoJICogQXBwbHkgYSBtZWRpYW4gZmlsdGVyIG1hdHJpeCB0byB0aGUgaW1hZ2UgdG8gcmVtb3ZlIG5vaXNlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBtZWRpYW5maWx0ZXIoKSB7DQoJCQ0KCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pOw0KCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrKykgew0KCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkkbmV3cmVkPWFycmF5KCk7JG5ld2dyZWVuPWFycmF5KCk7JG5ld2JsdWU9YXJyYXkoKTsNCgkJCQkkYTExPSR0aGlzLT5yZ2JwaXhlbCgkeC0xLCR5LTEpOyRhMTI9JHRoaXMtPnJnYnBpeGVsKCR4LCR5LTEpOyRhMTM9JHRoaXMtPnJnYnBpeGVsKCR4KzEsJHktMSk7DQoJCQkJJGEyMT0kdGhpcy0+cmdicGl4ZWwoJHgtMSwkeSk7JGEyMj0kdGhpcy0+cmdicGl4ZWwoJHgsJHkpOyRhMjM9JHRoaXMtPnJnYnBpeGVsKCR4KzEsJHkpOw0KCQkJCSRhMzE9JHRoaXMtPnJnYnBpeGVsKCR4LTEsJHkrMSk7JGEzMj0kdGhpcy0+cmdicGl4ZWwoJHgsJHkrMSk7JGEzMz0kdGhpcy0+cmdicGl4ZWwoJHgrMSwkeSsxKTsNCgkJCQkkbmV3cmVkW109JGExMVsncmVkJ107JG5ld2dyZWVuW109JGExMVsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMTFbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGExMlsncmVkJ107JG5ld2dyZWVuW109JGExMlsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMTJbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGExM1sncmVkJ107JG5ld2dyZWVuW109JGExM1snZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMTNbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEyMVsncmVkJ107JG5ld2dyZWVuW109JGEyMVsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMjFbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEyMlsncmVkJ107JG5ld2dyZWVuW109JGEyMlsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMjJbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEyM1sncmVkJ107JG5ld2dyZWVuW109JGEyM1snZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMjNbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEzMVsncmVkJ107JG5ld2dyZWVuW109JGEzMVsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMzFbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEzMlsncmVkJ107JG5ld2dyZWVuW109JGEzMlsnZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMzJbJ2JsdWUnXTsNCgkJCQkkbmV3cmVkW109JGEzM1sncmVkJ107JG5ld2dyZWVuW109JGEzM1snZ3JlZW4nXTskbmV3Ymx1ZVtdPSRhMzNbJ2JsdWUnXTsNCgkJCQlzb3J0KCRuZXdyZWQsU09SVF9OVU1FUklDKTtzb3J0KCRuZXdncmVlbixTT1JUX05VTUVSSUMpO3NvcnQoJG5ld2JsdWUsU09SVF9OVU1FUklDKTsNCgkJCQlpbWFnZXNldHBpeGVsKCR0aGlzLT5uZXdpbWFnZSwkeCwkeSxpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+bmV3aW1hZ2UsJG5ld3JlZFs0XSwkbmV3Z3JlZW5bNF0sJG5ld2JsdWVbNF0sJGEyMlsnYWxwaGEnXSkpOwkJDQoJCQl9DQoJCX0NCgkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQkNCgl9DQoNCgkvKioNCgkgKiBSZXR1cm4gUkdCIHZhbHVlcyBmcm9tIHBpeGVsDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiByZ2JwaXhlbCgkeCwkeSkgew0KCQkJDQoJCWlmICgkeDwwKSB7JHg9MDt9DQoJCWlmICgkeD49JHRoaXMtPnNpemVbMF0pIHskeD0kdGhpcy0+c2l6ZVswXS0xO30NCgkJaWYgKCR5PDApIHskeT0wO30NCgkJaWYgKCR5Pj0kdGhpcy0+c2l6ZVsxXSkgeyR5PSR0aGlzLT5zaXplWzFdLTE7fQkJDQoJCSRwaXhlbD1JbWFnZUNvbG9yQXQoJHRoaXMtPmltLCR4LCR5KTsNCgkJcmV0dXJuIGFycmF5KCdyZWQnID0+ICgkcGl4ZWwgPj4gMTYgJiAweEZGKSwnZ3JlZW4nID0+ICgkcGl4ZWwgPj4gOCAmIDB4RkYpLCdibHVlJyA9PiAoJHBpeGVsICYgMHhGRiksJ2FscGhhJyA9PiAoJHBpeGVsID4+MjQgJiAweEZGKSk7DQoJCQ0KCX0JDQoNCgkvKioNCgkgKiBHYXVzc2lhbiBCbHVyIEZpbHRlcg0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gYmx1cigpIHsNCg0KCQkkb2xkZmlsdGVyPSR0aGlzLT5GaWx0ZXI7JG9sZGRpdmlzb3I9JHRoaXMtPkRpdmlzb3I7JG9sZG9mZnNldD0kdGhpcy0+T2Zmc2V0Ow0KCQkkdGhpcy0+RmlsdGVyICA9IGFycmF5KDEsMiwxLDIsNCwyLDEsMiwxKTsNCgkJJHRoaXMtPkRpdmlzb3IgPSAxNjsNCgkJJHRoaXMtPk9mZnNldCAgPSAwOw0KCQkkdGhpcy0+ZmlsdGVyKCk7DQoJCSR0aGlzLT5GaWx0ZXIgID0gJG9sZGZpbHRlcjsNCgkJJHRoaXMtPkRpdmlzb3IgPSAkb2xkZGl2aXNvcjsNCgkJJHRoaXMtPk9mZnNldCAgPSAkb2xkb2Zmc2V0OwkJDQoJCQ0KCX0NCg0KCS8qKg0KCSAqIFNoYXJwZW4gRmlsdGVyDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBzaGFycGVuKCkgew0KDQoJCSRvbGRmaWx0ZXI9JHRoaXMtPkZpbHRlcjskb2xkZGl2aXNvcj0kdGhpcy0+RGl2aXNvcjskb2xkb2Zmc2V0PSR0aGlzLT5PZmZzZXQ7DQoJCSR0aGlzLT5GaWx0ZXIgID0gYXJyYXkoLTEsLTEsLTEsLTEsMTYsLTEsLTEsLTEsLTEpOw0KCQkkdGhpcy0+RGl2aXNvciA9IDg7DQoJCSR0aGlzLT5PZmZzZXQgID0gMDsNCgkJJHRoaXMtPmZpbHRlcigpOw0KCQkkdGhpcy0+RmlsdGVyICA9ICRvbGRmaWx0ZXI7DQoJCSR0aGlzLT5EaXZpc29yID0gJG9sZGRpdmlzb3I7DQoJCSR0aGlzLT5PZmZzZXQgID0gJG9sZG9mZnNldDsJCQ0KCQkNCgl9DQoNCgkvKioNCgkgKiBFZGdlIEZpbHRlcg0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gZWRnZSgpIHsNCg0KCQkkb2xkZmlsdGVyPSR0aGlzLT5GaWx0ZXI7JG9sZGRpdmlzb3I9JHRoaXMtPkRpdmlzb3I7JG9sZG9mZnNldD0kdGhpcy0+T2Zmc2V0Ow0KCQkkdGhpcy0+RmlsdGVyICA9IGFycmF5KC0xLC0xLC0xLC0xLDgsLTEsLTEsLTEsLTEpOw0KCQkkdGhpcy0+RGl2aXNvciA9IDE7DQoJCSR0aGlzLT5PZmZzZXQgID0gMTI3Ow0KCQkkdGhpcy0+ZmlsdGVyKCk7DQoJCSR0aGlzLT5GaWx0ZXIgID0gJG9sZGZpbHRlcjsNCgkJJHRoaXMtPkRpdmlzb3IgPSAkb2xkZGl2aXNvcjsNCgkJJHRoaXMtPk9mZnNldCAgPSAkb2xkb2Zmc2V0OwkJDQoJCQ0KCX0NCg0KCS8qKg0KCSAqIEVtYm9zcyBGaWx0ZXINCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGVtYm9zcygpIHsNCg0KCQkkb2xkZmlsdGVyPSR0aGlzLT5GaWx0ZXI7JG9sZGRpdmlzb3I9JHRoaXMtPkRpdmlzb3I7JG9sZG9mZnNldD0kdGhpcy0+T2Zmc2V0Ow0KCQkkdGhpcy0+RmlsdGVyICA9IGFycmF5KDIsMCwwLDAsLTEsMCwwLDAsLTEpOw0KCQkkdGhpcy0+RGl2aXNvciA9IDE7DQoJCSR0aGlzLT5PZmZzZXQgID0gMTI3Ow0KCQkkdGhpcy0+ZmlsdGVyKCk7DQoJCSR0aGlzLT5GaWx0ZXIgID0gJG9sZGZpbHRlcjsNCgkJJHRoaXMtPkRpdmlzb3IgPSAkb2xkZGl2aXNvcjsNCgkJJHRoaXMtPk9mZnNldCAgPSAkb2xkb2Zmc2V0OwkJDQoJCQ0KCX0NCg0KCS8qKg0KCSAqIE1lYW4gRmlsdGVyDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBtZWFuKCkgew0KDQoJCSRvbGRmaWx0ZXI9JHRoaXMtPkZpbHRlcjskb2xkZGl2aXNvcj0kdGhpcy0+RGl2aXNvcjskb2xkb2Zmc2V0PSR0aGlzLT5PZmZzZXQ7DQoJCSR0aGlzLT5GaWx0ZXIgID0gYXJyYXkoMSwxLDEsMSwxLDEsMSwxLDEpOw0KCQkkdGhpcy0+RGl2aXNvciA9IDk7DQoJCSR0aGlzLT5PZmZzZXQgID0gMDsNCgkJJHRoaXMtPmZpbHRlcigpOw0KCQkkdGhpcy0+RmlsdGVyICA9ICRvbGRmaWx0ZXI7DQoJCSR0aGlzLT5EaXZpc29yID0gJG9sZGRpdmlzb3I7DQoJCSR0aGlzLT5PZmZzZXQgID0gJG9sZG9mZnNldDsJCQ0KCQkNCgl9DQoJDQoJLyoqDQoJICogQXBwbHkgcGVyc3BlY3RpdmUgdG8gdGhlIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBwZXJzcGVjdGl2ZSgpIHsNCgkJDQoJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCR0aGlzLT5uZXdpbWFnZSwwLDAsJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0saW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5uZXdpbWFnZSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciw1LDIpKSkpOwkJCQ0KCQlpZiAoJHRoaXMtPlBlcnNwZWN0aXZlWzFdPT0wIHx8ICR0aGlzLT5QZXJzcGVjdGl2ZVsxXT09MSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGdyYWRpZW50PSgkdGhpcy0+c2l6ZVsxXS0oJHRoaXMtPnNpemVbMV0qKG1heCgxMDAtJHRoaXMtPlBlcnNwZWN0aXZlWzJdLDEpLzEwMCkpKS8kdGhpcy0+c2l6ZVswXTsNCgkJICAgICAgICBmb3IgKCRjPTA7JGM8JHRoaXMtPnNpemVbMF07JGMrKykgew0KCQkJICAgICAgICBpZiAoJHRoaXMtPlBlcnNwZWN0aXZlWzFdPT0wKSB7DQoJCQkJICAgICRsZW5ndGg9JHRoaXMtPnNpemVbMV0tKGZsb29yKCRncmFkaWVudCokYykpOw0KCQkJICAgICAgICB9IGVsc2Ugew0KCQkJCSAgICAkbGVuZ3RoPSR0aGlzLT5zaXplWzFdLShmbG9vcigkZ3JhZGllbnQqKCR0aGlzLT5zaXplWzBdLSRjKSkpOw0KCQkJICAgICAgICB9DQoJCQkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCR0aGlzLT5uZXdpbWFnZSwkdGhpcy0+aW0sJGMsZmxvb3IoKCR0aGlzLT5zaXplWzFdLSRsZW5ndGgpLzIpLCRjLDAsMSwkbGVuZ3RoLDEsJHRoaXMtPnNpemVbMV0pOw0KCQkgICAgICAgIH0NCgkJfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRncmFkaWVudD0oJHRoaXMtPnNpemVbMF0tKCR0aGlzLT5zaXplWzBdKihtYXgoMTAwLSR0aGlzLT5QZXJzcGVjdGl2ZVsyXSwxKS8xMDApKSkvJHRoaXMtPnNpemVbMV07DQoJCSAgICAgICAgZm9yICgkYz0wOyRjPCR0aGlzLT5zaXplWzFdOyRjKyspIHsNCgkJCSAgICAgICAgaWYgKCR0aGlzLT5QZXJzcGVjdGl2ZVsxXT09Mikgew0KCQkJCSAgICAkbGVuZ3RoPSR0aGlzLT5zaXplWzBdLShmbG9vcigkZ3JhZGllbnQqJGMpKTsNCgkJCSAgICAgICAgfSBlbHNlIHsNCgkJCQkgICAgJGxlbmd0aD0kdGhpcy0+c2l6ZVswXS0oZmxvb3IoJGdyYWRpZW50KigkdGhpcy0+c2l6ZVsxXS0kYykpKTsNCgkJCSAgICAgICAgfQ0KCQkJCWltYWdlY29weXJlc2FtcGxlZCgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPmltLGZsb29yKCgkdGhpcy0+c2l6ZVswXS0kbGVuZ3RoKS8yKSwkYywwLCRjLCRsZW5ndGgsMSwkdGhpcy0+c2l6ZVswXSwxKTsNCgkJICAgICAgICB9CQkNCgkJfQ0KCQlpbWFnZWNvcHkoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSwwLDAsMCwwLCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJaW1hZ2VkZXN0cm95KCR0aGlzLT5uZXdpbWFnZSk7DQoJDQoJfQkJDQoNCgkgLyoqDQoJICogQXBwbHkgcGVyc3BlY3RpdmUgdG8gdGhlIHRodW1ibmFpbA0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gcGVyc3BlY3RpdmV0aHVtYigpIHsNCgkJDQoJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnkpOw0KCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+bmV3aW1hZ2UsMCwwLCR0aGlzLT50aHVtYngsJHRoaXMtPnRodW1ieSxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPm5ld2ltYWdlLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwxLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsMywyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDUsMikpKSk7CQkJDQoJCWlmICgkdGhpcy0+UGVyc3BlY3RpdmV0aHVtYlsxXT09MCB8fCAkdGhpcy0+UGVyc3BlY3RpdmV0aHVtYlsxXT09MSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGdyYWRpZW50PSgkdGhpcy0+dGh1bWJ5LSgkdGhpcy0+dGh1bWJ5KihtYXgoMTAwLSR0aGlzLT5QZXJzcGVjdGl2ZXRodW1iWzJdLDEpLzEwMCkpKS8kdGhpcy0+dGh1bWJ4Ow0KCQkgICAgICAgIGZvciAoJGM9MDskYzwkdGhpcy0+dGh1bWJ4OyRjKyspIHsNCgkJCSAgICAgICAgaWYgKCR0aGlzLT5QZXJzcGVjdGl2ZXRodW1iWzFdPT0wKSB7DQoJCQkJICAgICRsZW5ndGg9JHRoaXMtPnRodW1ieS0oZmxvb3IoJGdyYWRpZW50KiRjKSk7DQoJCQkgICAgICAgIH0gZWxzZSB7DQoJCQkJICAgICRsZW5ndGg9JHRoaXMtPnRodW1ieS0oZmxvb3IoJGdyYWRpZW50KigkdGhpcy0+dGh1bWJ4LSRjKSkpOw0KCQkJICAgICAgICB9DQoJCQkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCR0aGlzLT5uZXdpbWFnZSwkdGhpcy0+dGh1bWIsJGMsZmxvb3IoKCR0aGlzLT50aHVtYnktJGxlbmd0aCkvMiksJGMsMCwxLCRsZW5ndGgsMSwkdGhpcy0+dGh1bWJ5KTsNCgkJICAgICAgICB9DQoJCX0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkZ3JhZGllbnQ9KCR0aGlzLT50aHVtYngtKCR0aGlzLT50aHVtYngqKG1heCgxMDAtJHRoaXMtPlBlcnNwZWN0aXZldGh1bWJbMl0sMSkvMTAwKSkpLyR0aGlzLT50aHVtYnk7DQoJCSAgICAgICAgZm9yICgkYz0wOyRjPCR0aGlzLT50aHVtYnk7JGMrKykgew0KCQkJICAgICAgICBpZiAoJHRoaXMtPlBlcnNwZWN0aXZldGh1bWJbMV09PTIpIHsNCgkJCQkgICAgJGxlbmd0aD0kdGhpcy0+dGh1bWJ4LShmbG9vcigkZ3JhZGllbnQqJGMpKTsNCgkJCSAgICAgICAgfSBlbHNlIHsNCgkJCQkgICAgJGxlbmd0aD0kdGhpcy0+dGh1bWJ4LShmbG9vcigkZ3JhZGllbnQqKCR0aGlzLT50aHVtYnktJGMpKSk7DQoJCQkgICAgICAgIH0NCgkJCQlpbWFnZWNvcHlyZXNhbXBsZWQoJHRoaXMtPm5ld2ltYWdlLCR0aGlzLT50aHVtYixmbG9vcigoJHRoaXMtPnRodW1ieC0kbGVuZ3RoKS8yKSwkYywwLCRjLCRsZW5ndGgsMSwkdGhpcy0+dGh1bWJ4LDEpOw0KCQkgICAgICAgIH0JCQ0KCQl9DQoJCWltYWdlY29weSgkdGhpcy0+dGh1bWIsJHRoaXMtPm5ld2ltYWdlLDAsMCwwLDAsJHRoaXMtPnRodW1ieCwkdGhpcy0+dGh1bWJ5KTsNCgkJaW1hZ2VkZXN0cm95KCR0aGlzLT5uZXdpbWFnZSk7DQoJDQoJfQkJDQoNCgkvKioNCgkgKiBBcHBseSBncmFkaWVudCBzaGFkaW5nIHRvIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBzaGFkaW5nKCkgew0KCQkNCgkJaWYgKCR0aGlzLT5TaGFkaW5nWzNdPT0wIHx8ICR0aGlzLT5TaGFkaW5nWzNdPT0xKSB7CQkNCgkJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigxLCR0aGlzLT5zaXplWzFdKTsNCgkJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCR0aGlzLT5uZXdpbWFnZSwwLDAsMSwkdGhpcy0+c2l6ZVsxXSxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPm5ld2ltYWdlLGhleGRlYyhzdWJzdHIoJHRoaXMtPlNoYWRpbmdjb2xvciwxLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5TaGFkaW5nY29sb3IsMywyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+U2hhZGluZ2NvbG9yLDUsMikpKSk7DQoJCX0gZWxzZSB7DQoJCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPnNpemVbMF0sMSk7DQoJCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+bmV3aW1hZ2UsMCwwLCR0aGlzLT5zaXplWzBdLDEsaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5uZXdpbWFnZSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5TaGFkaW5nY29sb3IsMSwyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+U2hhZGluZ2NvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPlNoYWRpbmdjb2xvciw1LDIpKSkpOwkJCQ0KCQl9DQoJCWlmICgkdGhpcy0+U2hhZGluZ1szXT09MCkgew0KCQkJJHNoYWRpbmdzdHJlbmd0aD0kdGhpcy0+U2hhZGluZ1sxXS8oJHRoaXMtPnNpemVbMF0qKCR0aGlzLT5TaGFkaW5nWzJdLzEwMCkpOw0KCQkJZm9yICgkYz0kdGhpcy0+c2l6ZVswXS1mbG9vcigoJHRoaXMtPnNpemVbMF0qKCR0aGlzLT5TaGFkaW5nWzJdLzEwMCkpKTskYzwkdGhpcy0+c2l6ZVswXTskYysrKSB7IA0KCQkJCSRvcGFjaXR5PWZsb29yKCRzaGFkaW5nc3RyZW5ndGgqKCRjLSgkdGhpcy0+c2l6ZVswXS1mbG9vcigoJHRoaXMtPnNpemVbMF0qKCR0aGlzLT5TaGFkaW5nWzJdLzEwMCkpKSkpKTsgDQoJCQkJaW1hZ2Vjb3B5bWVyZ2UoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSwkYywwLDAsMCwxLCR0aGlzLT5zaXplWzFdLG1heChtaW4oJG9wYWNpdHksMTAwKSwwKSk7DQoJCQl9CQ0KCQl9IGVsc2UgaWYgKCR0aGlzLT5TaGFkaW5nWzNdPT0xKSB7DQoJCQkkc2hhZGluZ3N0cmVuZ3RoPSR0aGlzLT5TaGFkaW5nWzFdLygkdGhpcy0+c2l6ZVswXSooJHRoaXMtPlNoYWRpbmdbMl0vMTAwKSk7DQoJCQlmb3IgKCRjPTA7JGM8Zmxvb3IoJHRoaXMtPnNpemVbMF0qKCR0aGlzLT5TaGFkaW5nWzJdLzEwMCkpOyRjKyspIHsgDQoJCQkJJG9wYWNpdHk9Zmxvb3IoJHRoaXMtPlNoYWRpbmdbMV0tKCRjKiRzaGFkaW5nc3RyZW5ndGgpKTsJCQkgDQoJCQkJaW1hZ2Vjb3B5bWVyZ2UoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSwkYywwLDAsMCwxLCR0aGlzLT5zaXplWzFdLG1heChtaW4oJG9wYWNpdHksMTAwKSwwKSk7DQoJCQl9CQkJDQoJCX0gZWxzZSBpZiAoJHRoaXMtPlNoYWRpbmdbM109PTIpIHsNCgkJCSRzaGFkaW5nc3RyZW5ndGg9JHRoaXMtPlNoYWRpbmdbMV0vKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+U2hhZGluZ1syXS8xMDApKTsNCgkJCWZvciAoJGM9MDskYzxmbG9vcigkdGhpcy0+c2l6ZVsxXSooJHRoaXMtPlNoYWRpbmdbMl0vMTAwKSk7JGMrKykgeyANCgkJCQkkb3BhY2l0eT1mbG9vcigkdGhpcy0+U2hhZGluZ1sxXS0oJGMqJHNoYWRpbmdzdHJlbmd0aCkpOwkJCSANCgkJCQlpbWFnZWNvcHltZXJnZSgkdGhpcy0+aW0sJHRoaXMtPm5ld2ltYWdlLDAsJGMsMCwwLCR0aGlzLT5zaXplWzBdLDEsbWF4KG1pbigkb3BhY2l0eSwxMDApLDApKTsNCgkJCX0JCQkNCgkJfSBlbHNlIHsNCgkJCSRzaGFkaW5nc3RyZW5ndGg9JHRoaXMtPlNoYWRpbmdbMV0vKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+U2hhZGluZ1syXS8xMDApKTsNCgkJCWZvciAoJGM9JHRoaXMtPnNpemVbMV0tZmxvb3IoKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+U2hhZGluZ1syXS8xMDApKSk7JGM8JHRoaXMtPnNpemVbMV07JGMrKykgeyANCgkJCQkkb3BhY2l0eT1mbG9vcigkc2hhZGluZ3N0cmVuZ3RoKigkYy0oJHRoaXMtPnNpemVbMV0tZmxvb3IoKCR0aGlzLT5zaXplWzFdKigkdGhpcy0+U2hhZGluZ1syXS8xMDApKSkpKSk7IA0KCQkJCWltYWdlY29weW1lcmdlKCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwkYywwLDAsJHRoaXMtPnNpemVbMF0sMSxtYXgobWluKCRvcGFjaXR5LDEwMCksMCkpOw0KCQkJfQkJCQ0KCQl9DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQ0KCX0JCQ0KDQoJLyoqDQoJICogQXBwbHkgbWlycm9yIGVmZmVjdCB0byB0aGUgdGh1bWJuYWlsIHdpdGggZ3JhZGllbnQgDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBtaXJyb3IoKSB7DQoJCQ0KCQkkYm90dG9tPWZsb29yKCgkdGhpcy0+TWlycm9yWzNdLzEwMCkqJHRoaXMtPnRodW1ieSkrJHRoaXMtPk1pcnJvcls0XTsNCgkJJHRoaXMtPm5ld2ltYWdlPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT50aHVtYngsJHRoaXMtPnRodW1ieSskYm90dG9tKTsNCgkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPm5ld2ltYWdlLDAsMCwkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnkrJGJvdHRvbSxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPm5ld2ltYWdlLGhleGRlYyhzdWJzdHIoJHRoaXMtPkJhY2tncm91bmRjb2xvciwxLDIpKSxoZXhkZWMoc3Vic3RyKCR0aGlzLT5CYWNrZ3JvdW5kY29sb3IsMywyKSksaGV4ZGVjKHN1YnN0cigkdGhpcy0+QmFja2dyb3VuZGNvbG9yLDUsMikpKSk7DQoJCWltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPnRodW1iLDAsMCwwLDAsJHRoaXMtPnRodW1ieCwkdGhpcy0+dGh1bWJ5KTsNCgkJaW1hZ2VkZXN0cm95KCR0aGlzLT50aHVtYik7JHRoaXMtPnRodW1iPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT50aHVtYngsJHRoaXMtPnRodW1ieSskYm90dG9tKTsNCgkJaW1hZ2Vjb3B5KCR0aGlzLT50aHVtYiwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+dGh1bWJ4LCR0aGlzLT50aHVtYnkrJGJvdHRvbSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOyR0aGlzLT50aHVtYng9aW1hZ2VzeCgkdGhpcy0+dGh1bWIpOyR0aGlzLT50aHVtYnk9aW1hZ2VzeSgkdGhpcy0+dGh1bWIpOw0KCQlmb3IgKCRweD0wOyRweDwkdGhpcy0+dGh1bWJ4OyRweCsrKSB7DQoJCQlmb3IgKCRweT0kdGhpcy0+dGh1bWJ5LSgkYm90dG9tKjIpKyR0aGlzLT5NaXJyb3JbNF07JHB5PCgkdGhpcy0+dGh1bWJ5LSRib3R0b20pOyRweSsrKSB7aW1hZ2Vjb3B5KCR0aGlzLT50aHVtYiwkdGhpcy0+dGh1bWIsJHB4LCR0aGlzLT50aHVtYnktKCRweS0oJHRoaXMtPnRodW1ieS0oJGJvdHRvbSoyKSkpLTErJHRoaXMtPk1pcnJvcls0XSwkcHgsJHB5LDEsMSk7fQ0KCQl9DQoJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+dGh1bWJ4LDEpOw0KCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+bmV3aW1hZ2UsMCwwLCR0aGlzLT50aHVtYngsMSxpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPm5ld2ltYWdlLGhleGRlYyhzdWJzdHIoJHRoaXMtPk1pcnJvcmNvbG9yLDEsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPk1pcnJvcmNvbG9yLDMsMikpLGhleGRlYyhzdWJzdHIoJHRoaXMtPk1pcnJvcmNvbG9yLDUsMikpKSk7CQ0KCQkkc2hhZGluZ3N0cmVuZ3RoPSgkdGhpcy0+TWlycm9yWzJdLSR0aGlzLT5NaXJyb3JbMV0pLyRib3R0b207DQoJCWZvciAoJGM9JHRoaXMtPnRodW1ieS0kYm90dG9tOyRjPCR0aGlzLT50aHVtYnk7JGMrKykgeyANCgkJCSRvcGFjaXR5PSR0aGlzLT5NaXJyb3JbMV0rZmxvb3IoKCRib3R0b20tKCR0aGlzLT50aHVtYnktJGMpKSokc2hhZGluZ3N0cmVuZ3RoKTsNCgkJCWltYWdlY29weW1lcmdlKCR0aGlzLT50aHVtYiwkdGhpcy0+bmV3aW1hZ2UsMCwkYywwLDAsJHRoaXMtPnRodW1ieCwxLG1heChtaW4oJG9wYWNpdHksMTAwKSwwKSk7DQoJCX0JDQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KDQoJfQ0KDQoJLyoqDQoJICogQ3JlYXRlIGEgbmVnYXRpdmUNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIG5lZ2F0aXZlKCkgew0KCQkNCgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnaW1hZ2VmaWx0ZXInKSkgew0KCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltLElNR19GSUxURVJfTkVHQVRFKTsNCgkJfSBlbHNlIHsNCgkJCWZvciAoJHk9MDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkJJHBpeGVsPUltYWdlQ29sb3JBdCgkdGhpcy0+aW0sJHgsJHkpOw0KCQkJCQlpbWFnZXNldHBpeGVsKCR0aGlzLT5pbSwkeCwkeSxpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+aW0sMjU1LSgkcGl4ZWwgPj4gMTYgJiAweEZGKSwyNTUtKCRwaXhlbCA+PiA4ICYgMHhGRiksMjU1LSgkcGl4ZWwgJiAweEZGKSwkcGl4ZWwgPj4gMjQgJiAweEZGKSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgl9DQoJDQoJLyoqDQoJICogUmVwbGFjZSBhIGNvbG9yDQoJICogRXVjbGVkaWFuIGNvbG9yIHZlY3RvciBkaXN0YW5jZQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gY29sb3JyZXBsYWNlKCkgew0KCQkNCgkJJHJlZD1oZXhkZWMoc3Vic3RyKCR0aGlzLT5Db2xvcnJlcGxhY2VbMV0sMSwyKSk7JGdyZWVuPWhleGRlYyhzdWJzdHIoJHRoaXMtPkNvbG9ycmVwbGFjZVsxXSwzLDIpKTskYmx1ZT1oZXhkZWMoc3Vic3RyKCR0aGlzLT5Db2xvcnJlcGxhY2VbMV0sNSwyKSk7DQoJCSRyZWRuZXc9aGV4ZGVjKHN1YnN0cigkdGhpcy0+Q29sb3JyZXBsYWNlWzJdLDEsMikpOyRncmVlbm5ldz1oZXhkZWMoc3Vic3RyKCR0aGlzLT5Db2xvcnJlcGxhY2VbMl0sMywyKSk7JGJsdWVuZXc9aGV4ZGVjKHN1YnN0cigkdGhpcy0+Q29sb3JyZXBsYWNlWzJdLDUsMikpOw0KCQkkdG9sZXJhbmNlPXNxcnQocG93KCR0aGlzLT5Db2xvcnJlcGxhY2VbM10sMikrcG93KCR0aGlzLT5Db2xvcnJlcGxhY2VbM10sMikrcG93KCR0aGlzLT5Db2xvcnJlcGxhY2VbM10sMikpOw0KCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrKykgew0KCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkkcGl4ZWw9SW1hZ2VDb2xvckF0KCR0aGlzLT5pbSwkeCwkeSk7DQoJCQkJJHJlZHBpeD0oJHBpeGVsID4+IDE2ICYgMHhGRik7JGdyZWVucGl4PSgkcGl4ZWwgPj4gOCAmIDB4RkYpOyRibHVlcGl4PSgkcGl4ZWwgJiAweEZGKTsNCgkJCQlpZiAoc3FydChwb3coJHJlZHBpeC0kcmVkLDIpK3BvdygkZ3JlZW5waXgtJGdyZWVuLDIpK3BvdygkYmx1ZXBpeC0kYmx1ZSwyKSk8JHRvbGVyYW5jZSkNCgkJCQkJaW1hZ2VzZXRwaXhlbCgkdGhpcy0+aW0sJHgsJHksaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJHRoaXMtPmltLCRyZWRuZXcsJGdyZWVubmV3LCRibHVlbmV3LCRwaXhlbCA+PiAyNCAmIDB4RkYpKTsJDQoJCQl9DQoJCX0NCg0KCX0JDQoNCgkvKioNCgkgKiBSYW5kb21seSByZXBvc2l0aW9uIHBpeGVscw0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gcGl4ZWxzY3JhbWJsZSgpIHsNCgkJDQoJCWZvciAoJGk9MDskaTwkdGhpcy0+UGl4ZWxzY3JhbWJsZVsyXTskaSsrKSB7DQoJCSR0aGlzLT5uZXdpbWFnZT1pbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWZvciAoJHk9MDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQlmb3IgKCR4PTA7JHg8JHRoaXMtPnNpemVbMF07JHgrKykgew0KCQkJCSRuZXd4PSR4K3JhbmQoLSR0aGlzLT5QaXhlbHNjcmFtYmxlWzFdLCR0aGlzLT5QaXhlbHNjcmFtYmxlWzFdKTsNCgkJCQkkbmV3eT0keStyYW5kKC0kdGhpcy0+UGl4ZWxzY3JhbWJsZVsxXSwkdGhpcy0+UGl4ZWxzY3JhbWJsZVsxXSk7DQoJCQkJaWYgKCRuZXd4PDAgJiYgJG5ld3g+PSR0aGlzLT5zaXplWzBdKSB7JG5ld3g9JHg7fQ0KCQkJCWlmICgkbmV3eTwwICYmICRuZXd5Pj0kdGhpcy0+c2l6ZVsxXSkgeyRuZXd5PSR5O30NCgkJCQlpbWFnZWNvcHkoJHRoaXMtPm5ld2ltYWdlLCR0aGlzLT5pbSwkbmV3eCwkbmV3eSwkeCwkeSwxLDEpOw0KCQkJCWltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPmltLCR4LCR5LCRuZXd4LCRuZXd5LDEsMSk7DQoJCQl9DQoJCX0NCgkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KCQl9DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIENvbnZlcnQgdG8gZ3JleXNjYWxlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBncmV5c2NhbGUoKSB7DQoJCQ0KCQlpZiAoZnVuY3Rpb25fZXhpc3RzKCdpbWFnZWZpbHRlcicpKSB7DQoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW0sSU1HX0ZJTFRFUl9HUkFZU0NBTEUpOw0KCQl9IGVsc2Ugew0KCQkJZm9yICgkeT0wOyR5PCR0aGlzLT5zaXplWzFdOyR5KyspIHsNCgkJCQlmb3IgKCR4PTA7JHg8JHRoaXMtPnNpemVbMF07JHgrKykgew0KCQkJCQkkcGl4ZWw9SW1hZ2VDb2xvckF0KCR0aGlzLT5pbSwkeCwkeSk7DQoJCQkJCSRncmV5PWZsb29yKCgkcGl4ZWwgPj4gMTYgJiAweEZGKSowLjI5OSArICgkcGl4ZWwgPj4gOCAmIDB4RkYpKjAuNTg3ICsgKCRwaXhlbCAmIDB4RkYpKjAuMTE0KTsNCgkJCQkJaW1hZ2VzZXRwaXhlbCgkdGhpcy0+aW0sJHgsJHksaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJHRoaXMtPmltLCRncmV5LCRncmV5LCRncmV5LCRwaXhlbCA+PiAyNCAmIDB4RkYpKTsNCgkJCQl9DQoJCQl9DQoJCX0JCQ0KDQoJfQ0KDQoJLyoqDQoJICogQ2hhbmdlIGJyaWdodG5lc3MNCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGJyaWdodG5lc3MoKSB7DQoJCQ0KCQlpZiAoZnVuY3Rpb25fZXhpc3RzKCdpbWFnZWZpbHRlcicpKSB7DQoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW0sSU1HX0ZJTFRFUl9CUklHSFRORVNTLCR0aGlzLT5CcmlnaHRuZXNzWzFdKTsNCgkJfSBlbHNlIHsNCgkJCWZvciAoJHk9MDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkJJHBpeGVsPUltYWdlQ29sb3JBdCgkdGhpcy0+aW0sJHgsJHkpOw0KCQkJCQkkcmVkcGl4PW1heCgwLG1pbigyNTUsKCRwaXhlbCA+PiAxNiAmIDB4RkYpKygkdGhpcy0+QnJpZ2h0bmVzc1sxXS8xMDApKjI1NSkpOw0KCQkJCQkkZ3JlZW5waXg9bWF4KDAsbWluKDI1NSwoJHBpeGVsID4+IDggJiAweEZGKSsoJHRoaXMtPkJyaWdodG5lc3NbMV0vMTAwKSoyNTUpKTsNCgkJCQkJJGJsdWVwaXg9bWF4KDAsbWluKDI1NSwoJHBpeGVsICYgMHhGRikrKCR0aGlzLT5CcmlnaHRuZXNzWzFdLzEwMCkqMjU1KSk7DQoJCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPmltLCR4LCR5LGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCR0aGlzLT5pbSwkcmVkcGl4LCRncmVlbnBpeCwkYmx1ZXBpeCwkcGl4ZWwgPj4gMjQgJiAweEZGKSk7DQoJCQkJfQ0KCQkJfQ0KCQl9CQkNCg0KCX0NCg0KCS8qKg0KCSAqIENoYW5nZSBjb250cmFzdA0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gY29udHJhc3QoKSB7DQoJCQ0KCQlpZiAoZnVuY3Rpb25fZXhpc3RzKCdpbWFnZWZpbHRlcicpKSB7DQoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW0sSU1HX0ZJTFRFUl9DT05UUkFTVCwtJHRoaXMtPkNvbnRyYXN0WzFdKTsNCgkJfSBlbHNlIHsNCgkJCWZvciAoJHk9MDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkJJHBpeGVsPUltYWdlQ29sb3JBdCgkdGhpcy0+aW0sJHgsJHkpOw0KCQkJCQkkcmVkcGl4PW1heCgwLG1pbigyNTUsKCgoKCRwaXhlbCA+PiAxNiAmIDB4RkYpLzI1NSktMC41KSooJHRoaXMtPkNvbnRyYXN0WzFdLzEwMCsxKSswLjUpKjI1NSkpOw0KCQkJCQkkZ3JlZW5waXg9bWF4KDAsbWluKDI1NSwoKCgoJHBpeGVsID4+IDggJiAweEZGKS8yNTUpLTAuNSkqKCR0aGlzLT5Db250cmFzdFsxXS8xMDArMSkrMC41KSoyNTUpKTsNCgkJCQkJJGJsdWVwaXg9bWF4KDAsbWluKDI1NSwoKCgoJHBpeGVsICYgMHhGRikvMjU1KS0wLjUpKigkdGhpcy0+Q29udHJhc3RbMV0vMTAwKzEpKzAuNSkqMjU1KSk7DQoJCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPmltLCR4LCR5LGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCR0aGlzLT5pbSwkcmVkcGl4LCRncmVlbnBpeCwkYmx1ZXBpeCwkcGl4ZWwgPj4gMjQgJiAweEZGKSk7DQoJCQkJfQ0KCQkJfQ0KCQl9CQkNCg0KCX0NCg0KCS8qKg0KCSAqIENoYW5nZSBnYW1tYQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gZ2FtbWEoKSB7DQoJCQ0KCQlpbWFnZWdhbW1hY29ycmVjdCgkdGhpcy0+aW0sMSwkdGhpcy0+R2FtbWFbMV0pOwkNCg0KCX0NCg0KCS8qKg0KCSAqIFJlZHVjZSBwYWxldHRlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBwYWxldHRlKCkgew0KCQkNCgkJaW1hZ2V0cnVlY29sb3J0b3BhbGV0dGUoJHRoaXMtPmltLGZhbHNlLCR0aGlzLT5QYWxldHRlWzFdKTsNCg0KCX0NCg0KCS8qKg0KCSAqIE1lcmdlIGEgY29sb3IgaW4gdGhlIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBjb2xvcml6ZSgpIHsNCgkJDQoJCWlmIChmdW5jdGlvbl9leGlzdHMoJ2ltYWdlZmlsdGVyJykpIHsNCgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbSxJTUdfRklMVEVSX0NPTE9SSVpFLCR0aGlzLT5Db2xvcml6ZVsxXSwkdGhpcy0+Q29sb3JpemVbMl0sJHRoaXMtPkNvbG9yaXplWzNdLCR0aGlzLT5Db2xvcml6ZVs0XSk7DQoJCX0gZWxzZSB7DQoJCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrKykgew0KCQkJCWZvciAoJHg9MDskeDwkdGhpcy0+c2l6ZVswXTskeCsrKSB7DQoJCQkJCSRwaXhlbD1JbWFnZUNvbG9yQXQoJHRoaXMtPmltLCR4LCR5KTsNCgkJCQkJJHJlZHBpeD1tYXgoMCxtaW4oMjU1LCgkcGl4ZWwgPj4gMTYgJiAweEZGKSskdGhpcy0+Q29sb3JpemVbMV0pKTsNCgkJCQkJJGdyZWVucGl4PW1heCgwLG1pbigyNTUsKCRwaXhlbCA+PiA4ICYgMHhGRikrJHRoaXMtPkNvbG9yaXplWzJdKSk7DQoJCQkJCSRibHVlcGl4PW1heCgwLG1pbigyNTUsKCRwaXhlbCAmIDB4RkYpKyR0aGlzLT5Db2xvcml6ZVszXSkpOw0KCQkJCQkkYWxwaGEgPW1heCgwLG1pbigxMjcsKCRwaXhlbCA+PiAyNCAmIDB4RkYpKyR0aGlzLT5Db2xvcml6ZVs0XSkpOw0KCQkJCQlpbWFnZXNldHBpeGVsKCR0aGlzLT5pbSwkeCwkeSxpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+aW0sJHJlZHBpeCwkZ3JlZW5waXgsJGJsdWVwaXgsJGFscGhhKSk7DQoJCQkJfQ0KCQkJfQ0KCQl9CQkNCg0KCX0NCg0KCS8qKg0KCSAqIFBpeGVsYXRlIHRoZSBpbWFnZQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gcGl4ZWxhdGUoKSB7DQoJCQ0KCQlpZiAoZnVuY3Rpb25fZXhpc3RzKCdpbWFnZWZpbHRlcicpKSB7DQoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW0sSU1HX0ZJTFRFUl9QSVhFTEFURSwkdGhpcy0+UGl4ZWxhdGVbMV0sdHJ1ZSk7DQoJCX0gZWxzZSB7DQoJCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrPSR0aGlzLT5QaXhlbGF0ZVsxXSkgew0KCQkJCWZvciAoJHg9MDskeDwkdGhpcy0+c2l6ZVswXTskeCs9JHRoaXMtPlBpeGVsYXRlWzFdKSB7DQoJCQkJCSRwaXhlbD1JbWFnZUNvbG9yQXQoJHRoaXMtPmltLCR4LCR5KTsNCgkJCQkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPmltLCR4LCR5LCR4KyR0aGlzLT5QaXhlbGF0ZVsxXS0xLCR5KyR0aGlzLT5QaXhlbGF0ZVsxXS0xLCRwaXhlbCk7CQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJfQ0KDQoJLyoqDQoJICogQmlsaW5lYXIgaW50ZXJwb2xhdGlvbiANCgkgKg0KCSAqLwkNCglwcml2YXRlIGZ1bmN0aW9uIGJpbGluZWFyKCR4bmV3LCR5bmV3KSB7DQoJCQ0KCQkkeGY9Zmxvb3IoJHhuZXcpOyR4Yz0keGYrMTskZnJhY3g9JHhuZXctJHhmOyRmcmFjeDE9MS0kZnJhY3g7DQoJCSR5Zj1mbG9vcigkeW5ldyk7JHljPSR5ZisxOyRmcmFjeT0keW5ldy0keWY7JGZyYWN5MT0xLSRmcmFjeTsNCgkJJGZmPSR0aGlzLT5yZ2JwaXhlbCgkeGYsJHlmKTskY2Y9JHRoaXMtPnJnYnBpeGVsKCR4YywkeWYpOw0KCQkkZmM9JHRoaXMtPnJnYnBpeGVsKCR4ZiwkeWMpOyRjYz0kdGhpcy0+cmdicGl4ZWwoJHhjLCR5Yyk7DQoJCSRyZWQ9Zmxvb3IoJGZyYWN5MSooJGZyYWN4MSokZmZbJ3JlZCddKyRmcmFjeCokY2ZbJ3JlZCddKSskZnJhY3kqKCRmcmFjeDEqJGZjWydyZWQnXSskZnJhY3gqJGNjWydyZWQnXSkpOw0KCQkkZ3JlZW49Zmxvb3IoJGZyYWN5MSooJGZyYWN4MSokZmZbJ2dyZWVuJ10rJGZyYWN4KiRjZlsnZ3JlZW4nXSkrJGZyYWN5KigkZnJhY3gxKiRmY1snZ3JlZW4nXSskZnJhY3gqJGNjWydncmVlbiddKSk7DQoJCSRibHVlPWZsb29yKCRmcmFjeTEqKCRmcmFjeDEqJGZmWydibHVlJ10rJGZyYWN4KiRjZlsnYmx1ZSddKSskZnJhY3kqKCRmcmFjeDEqJGZjWydibHVlJ10rJGZyYWN4KiRjY1snYmx1ZSddKSk7DQoJCXJldHVybiBhcnJheSgncmVkJyA9PiAkcmVkLCdncmVlbicgPT4gJGdyZWVuLCdibHVlJyA9PiAkYmx1ZSwnYWxwaGEnID0+ICRjY1snYWxwaGEnXSk7DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIEFwcGx5IHR3aXJsIEZYIHRvIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiB0d2lybGZ4KCkgew0KCQkNCgkJJHJvdGF0aW9uYW1vdW50PSR0aGlzLT5Ud2lybGZ4WzFdLzEwMDA7DQoJCSRjZW50ZXJ4PWZsb29yKCR0aGlzLT5zaXplWzBdLzIpOyRjZW50ZXJ5PWZsb29yKCR0aGlzLT5zaXplWzFdLzIpOw0KCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pOw0KCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrKykgew0KCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkkdHJ1ZXg9JHgtJGNlbnRlcng7JHRydWV5PSR5LSRjZW50ZXJ5Ow0KCQkJCSR0aGV0YT1hdGFuMigoJHRydWV5KSwoJHRydWV4KSk7DQoJCQkJJHJhZGl1cz1zcXJ0KCR0cnVleCokdHJ1ZXgrJHRydWV5KiR0cnVleSk7DQoJCQkJaWYgKCR0aGlzLT5Ud2lybGZ4WzJdPT0wKSB7DQoJCQkJCSRuZXd4PSRjZW50ZXJ4KygkcmFkaXVzKmNvcygkdGhldGErJHJvdGF0aW9uYW1vdW50KiRyYWRpdXMpKTsNCgkJCQkJJG5ld3k9JGNlbnRlcnkrKCRyYWRpdXMqc2luKCR0aGV0YSskcm90YXRpb25hbW91bnQqJHJhZGl1cykpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCSRuZXd4PSRjZW50ZXJ4LSgkcmFkaXVzKmNvcygkdGhldGErJHJvdGF0aW9uYW1vdW50KiRyYWRpdXMpKTsNCgkJCQkJJG5ld3k9JGNlbnRlcnktKCRyYWRpdXMqc2luKCR0aGV0YSskcm90YXRpb25hbW91bnQqJHJhZGl1cykpOwkJCQkJDQoJCQkJfQ0KCQkJCSRuZXdwaXg9JHRoaXMtPmJpbGluZWFyKCRuZXd4LCRuZXd5KTsNCgkJCQlpbWFnZXNldHBpeGVsKCR0aGlzLT5uZXdpbWFnZSwkeCwkeSxpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+bmV3aW1hZ2UsJG5ld3BpeFsncmVkJ10sJG5ld3BpeFsnZ3JlZW4nXSwkbmV3cGl4WydibHVlJ10sJG5ld3BpeFsnYWxwaGEnXSkpOw0KCQkJfQ0KCQl9DQoJCWltYWdlY29weSgkdGhpcy0+aW0sJHRoaXMtPm5ld2ltYWdlLDAsMCwwLDAsJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pOw0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPm5ld2ltYWdlKTsNCg0KCX0NCg0KCS8qKg0KCSAqIEFwcGx5IHJpcHBsZSBGWCB0byBpbWFnZQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gcmlwcGxlZngoKSB7DQoJCQ0KCQkkd2F2ZXg9KCgyKnBpKCkpLyR0aGlzLT5zaXplWzBdKSokdGhpcy0+UmlwcGxlZnhbMV07DQoJCSR3YXZleT0oKDIqcGkoKSkvJHRoaXMtPnNpemVbMV0pKiR0aGlzLT5SaXBwbGVmeFszXTsNCgkJJHRoaXMtPm5ld2ltYWdlPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJZm9yICgkeT0wOyR5PCR0aGlzLT5zaXplWzFdOyR5KyspIHsNCgkJCWZvciAoJHg9MDskeDwkdGhpcy0+c2l6ZVswXTskeCsrKSB7DQoJCQkJJG5ld3g9JHgrJHRoaXMtPlJpcHBsZWZ4WzRdKnNpbigkeSokd2F2ZXkpOyANCgkJCQkkbmV3eT0keSskdGhpcy0+UmlwcGxlZnhbMl0qc2luKCR4KiR3YXZleCk7DQoJCQkJJG5ld3BpeD0kdGhpcy0+YmlsaW5lYXIoJG5ld3gsJG5ld3kpOw0KCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPm5ld2ltYWdlLCR4LCR5LGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCR0aGlzLT5uZXdpbWFnZSwkbmV3cGl4WydyZWQnXSwkbmV3cGl4WydncmVlbiddLCRuZXdwaXhbJ2JsdWUnXSwkbmV3cGl4WydhbHBoYSddKSk7DQoJCQl9DQoJCX0NCgkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KDQoJfQ0KDQoJLyoqDQoJICogQXBwbHkgbGFrZSBGWCB0byBpbWFnZQ0KCSAqDQoJICovCQ0KCXByaXZhdGUgZnVuY3Rpb24gbGFrZWZ4KCkgew0KCQkNCgkJJHRoaXMtPm5ld2ltYWdlPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJJHlzdGFydD1tYXgoJHRoaXMtPnNpemVbMV0tZmxvb3IoJHRoaXMtPnNpemVbMV0qKCR0aGlzLT5MYWtlZnhbMl0vMTAwKSksMCk7DQoJCWlmICgkeXN0YXJ0PjApIHsNCgkJICAgIGltYWdlY29weSgkdGhpcy0+bmV3aW1hZ2UsJHRoaXMtPmltLDAsMCwwLDAsJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pOw0KCQl9DQoJCWZvciAoJHk9JHlzdGFydDskeTwkdGhpcy0+c2l6ZVsxXTskeSsrKSB7DQoJCQlmb3IgKCR4PTA7JHg8JHRoaXMtPnNpemVbMF07JHgrKykgew0KCQkJCSRuZXd5PSR5KzMqcGkoKSooMS8kdGhpcy0+c2l6ZVsxXSkqJHkqc2luKCgkdGhpcy0+c2l6ZVsxXSooJHRoaXMtPkxha2VmeFsxXS8xMDApKigkdGhpcy0+c2l6ZVsxXS0keSkpLyR5KTsgDQoJCQkJJG5ld3BpeD0kdGhpcy0+YmlsaW5lYXIoJHgsJG5ld3kpOw0KCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPm5ld2ltYWdlLCR4LCR5LGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCR0aGlzLT5uZXdpbWFnZSwkbmV3cGl4WydyZWQnXSwkbmV3cGl4WydncmVlbiddLCRuZXdwaXhbJ2JsdWUnXSwkbmV3cGl4WydhbHBoYSddKSk7DQoJCQl9DQoJCX0NCgkJaW1hZ2Vjb3B5KCR0aGlzLT5pbSwkdGhpcy0+bmV3aW1hZ2UsMCwwLDAsMCwkdGhpcy0+c2l6ZVswXSwkdGhpcy0+c2l6ZVsxXSk7DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+bmV3aW1hZ2UpOw0KDQoJfQ0KDQoJLyoqDQoJICogQXBwbHkgd2F0ZXJkcm9wIEZYIHRvIGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiB3YXRlcmRyb3BmeCgpIHsNCgkJDQoJCSRjZW50ZXJ4PWZsb29yKCR0aGlzLT5zaXplWzBdLzIpOyRjZW50ZXJ5PWZsb29yKCR0aGlzLT5zaXplWzFdLzIpOw0KCQkkdGhpcy0+bmV3aW1hZ2U9aW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPnNpemVbMF0sJHRoaXMtPnNpemVbMV0pOw0KCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnNpemVbMV07JHkrKykgew0KCQkJZm9yICgkeD0wOyR4PCR0aGlzLT5zaXplWzBdOyR4KyspIHsNCgkJCQkkdHJ1ZXg9JHgtJGNlbnRlcng7JHRydWV5PSR5LSRjZW50ZXJ5Ow0KCQkJCSRkaXN0YW5jZT1zcXJ0KCR0cnVleCokdHJ1ZXgrJHRydWV5KiR0cnVleSk7CQ0KCQkJCSRhbW91bnQ9JHRoaXMtPldhdGVyZHJvcGZ4WzFdKnNpbigkZGlzdGFuY2UvJHRoaXMtPldhdGVyZHJvcGZ4WzNdKjIqcGkoKSk7DQoJCQkJJGFtb3VudD0kYW1vdW50KigkdGhpcy0+V2F0ZXJkcm9wZnhbMl0tJGRpc3RhbmNlKS8kdGhpcy0+V2F0ZXJkcm9wZnhbMl07DQoJCQkJaWYgKCRkaXN0YW5jZSE9MCkgeyRhbW91bnQ9JGFtb3VudCokdGhpcy0+V2F0ZXJkcm9wZnhbM10vJGRpc3RhbmNlO30NCgkJCQkkbmV3eD0keCskdHJ1ZXgqJGFtb3VudDsNCgkJCQkkbmV3eT0keSskdHJ1ZXkqJGFtb3VudDsNCgkJCQkkbmV3cGl4PSR0aGlzLT5iaWxpbmVhcigkbmV3eCwkbmV3eSk7DQoJCQkJaW1hZ2VzZXRwaXhlbCgkdGhpcy0+bmV3aW1hZ2UsJHgsJHksaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJHRoaXMtPm5ld2ltYWdlLCRuZXdwaXhbJ3JlZCddLCRuZXdwaXhbJ2dyZWVuJ10sJG5ld3BpeFsnYmx1ZSddLCRuZXdwaXhbJ2FscGhhJ10pKTsNCgkJCX0NCgkJfQ0KCQlpbWFnZWNvcHkoJHRoaXMtPmltLCR0aGlzLT5uZXdpbWFnZSwwLDAsMCwwLCR0aGlzLT5zaXplWzBdLCR0aGlzLT5zaXplWzFdKTsNCgkJaW1hZ2VkZXN0cm95KCR0aGlzLT5uZXdpbWFnZSk7DQoJCQ0KCX0NCg0KCS8qKg0KCSAqIENyZWF0ZSBhIHRyYW5zcGFyZW50IGltYWdlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBtYWtldHJhbnNwYXJlbnQoKSB7DQoJCQ0KCQlpbWFnZXRydWVjb2xvcnRvcGFsZXR0ZSgkdGhpcy0+dGh1bWIsZmFsc2UsMjU0KTsNCgkJJHJlZD1oZXhkZWMoc3Vic3RyKCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbMl0sMSwyKSk7JGdyZWVuPWhleGRlYyhzdWJzdHIoJHRoaXMtPk1ha2V0cmFuc3BhcmVudFsyXSwzLDIpKTskYmx1ZT1oZXhkZWMoc3Vic3RyKCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbMl0sNSwyKSk7DQoJCSR0cmFuc3BhcmVudGNvbG9yPWltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+dGh1bWIsJHJlZCwkZ3JlZW4sJGJsdWUpOw0KCQkkdG9sZXJhbmNlPXNxcnQocG93KCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbM10sMikrcG93KCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbM10sMikrcG93KCR0aGlzLT5NYWtldHJhbnNwYXJlbnRbM10sMikpOw0KCQlmb3IgKCR5PTA7JHk8JHRoaXMtPnRodW1ieTskeSsrKSB7DQoJCQlmb3IgKCR4PTA7JHg8JHRoaXMtPnRodW1ieDskeCsrKSB7DQoJCQkJJHBpeGVsPUltYWdlQ29sb3JBdCgkdGhpcy0+dGh1bWIsJHgsJHkpOw0KCQkJCSRyZWRwaXg9KCRwaXhlbCA+PiAxNiAmIDB4RkYpOyRncmVlbnBpeD0oJHBpeGVsID4+IDggJiAweEZGKTskYmx1ZXBpeD0oJHBpeGVsICYgMHhGRik7DQoJCQkJaWYgKHNxcnQocG93KCRyZWRwaXgtJHJlZCwyKStwb3coJGdyZWVucGl4LSRncmVlbiwyKStwb3coJGJsdWVwaXgtJGJsdWUsMikpPCR0b2xlcmFuY2UpDQoJCQkJCWltYWdlc2V0cGl4ZWwoJHRoaXMtPnRodW1iLCR4LCR5LCR0cmFuc3BhcmVudGNvbG9yKTsJDQoJCQl9DQoJCX0NCgkJaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCR0aGlzLT50aHVtYiwkdHJhbnNwYXJlbnRjb2xvcik7DQoJCWlmICgkdGhpcy0+TWFrZXRyYW5zcGFyZW50WzFdPT0wKSB7JHRoaXMtPnNpemVbMl09Mzt9IGVsc2UgeyR0aGlzLT5zaXplWzJdPTE7fQ0KCQkNCgl9DQoNCgkvKioNCgkgKiBDcmVhdGUgYSBhbmltYXRlZCBQTkcgaW1hZ2UNCgkgKg0KCSAqIEBwYXJhbSBhcnJheSAkZnJhbWVzDQoJICogQHBhcmFtIHN0cmluZyAkb3V0cHV0DQoJICogQHBhcmFtIHN0cmluZyAkZGVsYXkNCgkgKi8JDQoJcHVibGljIGZ1bmN0aW9uIENyZWF0ZV9hcG5nKCRmcmFtZXMsICRvdXRwdXRGaWxlbmFtZSwgJGRlbGF5KSB7DQogICAgICAgIA0KCQkkaW1hZ2VEYXRhID0gYXJyYXkoKTsNCgkJJElIRFIgPSBhcnJheSgpOw0KCQkkc2VxdWVuY2VOdW1iZXIgPSAwOw0KCQlmb3JlYWNoICgkZnJhbWVzIGFzICRmcmFtZSkgew0KCQkJaWYgKGZpbGVfZXhpc3RzKCRmcmFtZSkpIHsNCgkJCQkkZmggPSBmb3BlbigkZnJhbWUsJ3JiJyk7DQoJCQkJJGNodW5rRGF0YSA9IGZyZWFkKCRmaCwgOCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCSRoZWFkZXIgPSB1bnBhY2soIkMxaGlnaGJpdC8iLiJBM3NpZ25hdHVyZS8iLiAiQzJsaW5lZW5kaW5ncy8iLiJDMWVvZi8iLiJDMWVvbCIsICRjaHVua0RhdGEpOw0KCQkJCWlmIChpc19hcnJheSgkaGVhZGVyKSAmJiAkaGVhZGVyWydoaWdoYml0J10gPT0gMHg4OSAmJiAkaGVhZGVyWydzaWduYXR1cmUnXSA9PSAiUE5HIikgew0KCQkJCQkkSURBVD0nJzsNCgkJCQkJd2hpbGUgKCFmZW9mKCRmaCkpIHsNCgkJCQkJCSRjaHVua0RhdGEgPSBmcmVhZCgkZmgsIDgpOw0KCQkJCQkJJGNodW5rRGF0YUhlYWRlciA9IHVucGFjayAoIk4xbGVuZ3RoL0E0dHlwZSIsICRjaHVua0RhdGEpOyAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQlzd2l0Y2ggKCRjaHVua0RhdGFIZWFkZXJbJ3R5cGUnXSkgew0KCQkJCQkJCWNhc2UgJ0lIRFInOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCWlmIChjb3VudCgkSUhEUikgPT0gMCkgew0KCQkJCQkJCQkJJGNodW5rRGF0YSA9IGZyZWFkKCRmaCwgJGNodW5rRGF0YUhlYWRlclsnbGVuZ3RoJ10pOyAgICAgDQoJCQkJCQkJCQkkSUhEUiA9IHVucGFjaygiTjF3aWR0aC8iLiJOMWhlaWdodC8iLiAiQzFiaXRzLyIuIkMxY29sb3IvIi4iQzFjb21wcmVzc2lvbi8iLiJDMXByZWZpbHRlci8iLiJDMWludGVybGFjaW5nIiwgJGNodW5rRGF0YSk7DQoJCQkJCQkJCQlmc2VlaygkZmgsIDQsIFNFRUtfQ1VSKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQkJZnNlZWsoJGZoLCAkY2h1bmtEYXRhSGVhZGVyWydsZW5ndGgnXSArIDQsIFNFRUtfQ1VSKTsgICAgDQoJCQkJCQkJCX0NCgkJCQkJCQkJYnJlYWs7ICAgICAgICAgICAgDQoJCQkJCQkJY2FzZSAnSURBVCc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJJElEQVQgLj0gZnJlYWQoJGZoLCAkY2h1bmtEYXRhSGVhZGVyWydsZW5ndGgnXSk7ICAgICANCgkJCQkJCQkJZnNlZWsoJGZoLCA0LCBTRUVLX0NVUik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQlicmVhazsgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJY2FzZSAnSUVORCc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJYnJlYWsgMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQlkZWZhdWx0Og0KCQkJCQkJCQlmc2VlaygkZmgsICRjaHVua0RhdGFIZWFkZXJbJ2xlbmd0aCddICsgNCwgU0VFS19DVVIpOw0KCQkJCQkJCQlicmVhazsNCgkJCQkJCX0gICAgICAgICAgICAgICAgICAgIA0KCQkJCQl9DQoJCQkJCWZjbG9zZSgkZmgpOw0KCQkJCQkkaW1hZ2VEYXRhW10gPSAkSURBVDsNCgkJCQl9IGVsc2Ugew0KCQkJCQlmY2xvc2UoJGZoKTsNCgkJCQl9DQoJCQl9DQoJCX0NCiAgICAJCSRwbmdIZWFkZXIgPSAiXHg4OVx4NTBceDRFXHg0N1x4MERceDBBXHgxQVx4MEEiOw0KCQkkSUhEUl9jaHVuayA9ICR0aGlzLT5jcmVhdGVfY2h1bmsoJ0lIRFInLCBwYWNrKCdOTkNDQ0NDJywgJElIRFJbJ3dpZHRoJ10sICRJSERSWydoZWlnaHQnXSwgJElIRFJbJ2JpdHMnXSwgJElIRFJbJ2NvbG9yJ10sICRJSERSWydjb21wcmVzc2lvbiddLCAkSUhEUlsncHJlZmlsdGVyJ10sICRJSERSWydpbnRlcmxhY2luZyddKSk7DQoJCSRhY1RMX2NodW5rID0gJHRoaXMtPmNyZWF0ZV9jaHVuaygnYWNUTCcsIHBhY2soIk5OIiwgY291bnQoJGltYWdlRGF0YSksIDApKTsNCgkJJGRhdGEgPSAkdGhpcy0+Y3JlYXRlX2ZjVEwoJHNlcXVlbmNlTnVtYmVyLCAkSUhEUlsnd2lkdGgnXSwgJElIRFJbJ2hlaWdodCddLCAkZGVsYXkpOyAgDQoJCSRmY1RMX2NodW5rID0gJHRoaXMtPmNyZWF0ZV9jaHVuaygnZmNUTCcsICRkYXRhKTsNCgkJJHNlcXVlbmNlTnVtYmVyICs9IDE7DQoJCWlmIChjb3VudCgkaW1hZ2VEYXRhKSA9PSAxKSB7JGFjVExfY2h1bmsgPSAkZmNUTF9jaHVuayA9ICcnO30NCgkJJGZoID0gZm9wZW4oJG91dHB1dEZpbGVuYW1lLCAndycpOw0KCQlmb3JlYWNoICgkaW1hZ2VEYXRhIGFzICRrZXkgPT4gJGltYWdlKSB7DQoJCQlpZiAoJGtleSA9PSAwKSB7DQoJCQkJJGZpcnN0RnJhbWUgPSAkdGhpcy0+Y3JlYXRlX2NodW5rKCdJREFUJywgJGltYWdlKTsNCgkJCQlmd3JpdGUoJGZoLCAkcG5nSGVhZGVyIC4gJElIRFJfY2h1bmsgLiAkYWNUTF9jaHVuayAuICRmY1RMX2NodW5rIC4gJGZpcnN0RnJhbWUpOw0KCQkJfSBlbHNlIHsNCgkJCQkkZGF0YSA9ICR0aGlzLT5jcmVhdGVfZmNUTCgkc2VxdWVuY2VOdW1iZXIsICRJSERSWyd3aWR0aCddLCAkSUhEUlsnaGVpZ2h0J10sICRkZWxheSk7ICANCgkJCQkkZmNUTF9jaHVuayA9ICR0aGlzLT5jcmVhdGVfY2h1bmsoJ2ZjVEwnLCAkZGF0YSk7DQoJCQkJJHNlcXVlbmNlTnVtYmVyICs9IDE7DQoJCQkJJGRhdGEgPSBwYWNrKCJOIiwgJHNlcXVlbmNlTnVtYmVyKTsNCgkJCQkkZGF0YSAuPSAkaW1hZ2U7IA0KCQkJCSRmZEFUX2NodW5rID0gJHRoaXMtPmNyZWF0ZV9jaHVuaygnZmRBVCcsICRkYXRhKTsNCgkJCQkkc2VxdWVuY2VOdW1iZXIgKz0gMTsgICAgICAgICAgICANCgkJCQlmd3JpdGUoJGZoLCAkZmNUTF9jaHVuayAuICRmZEFUX2NodW5rKTsNCgkJCX0NCgkJfQ0KCQlmd3JpdGUoJGZoLCAkdGhpcy0+Y3JlYXRlX2NodW5rKCdJRU5EJykpOw0KCQlmY2xvc2UoJGZoKTsNCiAgICANCgl9DQoNCgkvKioNCgkgKiBDcmVhdGUgYSBQTkcgYmluYXJ5IGNodW5rDQoJICoNCgkgKiBAcGFyYW0gYXJyYXkgJHR5cGUNCgkgKiBAcGFyYW0gc3RyaW5nICRkYXRhDQoJICovDQoJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVfY2h1bmsoJHR5cGUsICRkYXRhID0gJycpIHsNCg0KCQkkY2h1bmsgPSBwYWNrKCJOIiwgc3RybGVuKCRkYXRhKSkgLiAkdHlwZSAuICRkYXRhIC4gcGFjaygiTiIsIGNyYzMyKCR0eXBlIC4gJGRhdGEpKTsgICAgICAgIA0KCQlyZXR1cm4gJGNodW5rOw0KCQkNCgl9DQoNCgkvKioNCgkgKiBDcmVhdGUgYSBQTkcgZmNUTCBiaW5hcnkgY2h1bmsNCgkgKg0KCSAqIEBwYXJhbSBhcnJheSAkZnJhbWVOdW1iZXINCgkgKiBAcGFyYW0gc3RyaW5nICR3aWR0aA0KCSAqIEBwYXJhbSBzdHJpbmcgJGhlaWdodA0KCSAqIEBwYXJhbSBzdHJpbmcgJGRlbGF5DQoJICovDQoJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVfZmNUTCgkZnJhbWVOdW1iZXIsICR3aWR0aCwgJGhlaWdodCwgJGRlbGF5KSB7DQoNCgkJJGZjVEwgPSBhcnJheSgpOw0KCQkkZmNUTFsnc2VxdWVuY2VfbnVtYmVyJ10gPSAkZnJhbWVOdW1iZXI7DQoJCSRmY1RMWyd3aWR0aCddID0gJHdpZHRoOw0KCQkkZmNUTFsnaGVpZ2h0J10gPSAkaGVpZ2h0Ow0KCQkkZmNUTFsneF9vZmZzZXQnXSA9IDA7DQoJCSRmY1RMWyd5X29mZnNldCddID0gMDsNCgkJJGZjVExbJ2RlbGF5X251bSddID0gJGRlbGF5Ow0KCQkkZmNUTFsnZGVsYXlfZGVuJ10gPSAxMDAwOw0KCQkkZmNUTFsnZGlzcG9zZV9vcCddID0gMDsNCgkJJGZjVExbJ2JsZW5kX29wJ10gPSAwOw0KCQkkZGF0YSA9IHBhY2soIk5OTk5OIiwgJGZjVExbJ3NlcXVlbmNlX251bWJlciddLCAkZmNUTFsnd2lkdGgnXSwgJGZjVExbJ2hlaWdodCddLCAkZmNUTFsneF9vZmZzZXQnXSwgJGZjVExbJ3lfb2Zmc2V0J10pOw0KCQkkZGF0YSAuPSBwYWNrKCJubiIsICRmY1RMWydkZWxheV9udW0nXSwgJGZjVExbJ2RlbGF5X2RlbiddKTsNCgkJJGRhdGEgLj0gcGFjaygiY2MiLCAkZmNUTFsnZGlzcG9zZV9vcCddLCAkZmNUTFsnYmxlbmRfb3AnXSk7DQoJCXJldHVybiAkZGF0YTsgICAgIA0KCQkNCgl9DQoNCgkvKioNCgkgKiBTYXZlIHRodW1ibmFpbCB0byBmaWxlDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBzYXZldGh1bWIoKSB7DQoJDQoJCWlmICgkdGhpcy0+VGh1bWJzYXZlYXMhPScnKSB7DQoJCQlzd2l0Y2ggKHN0cnRvbG93ZXIoJHRoaXMtPlRodW1ic2F2ZWFzKSkgew0KCQkJCWNhc2UgImdpZiI6DQoJCQkJCSR0aGlzLT5pbWFnZT1zdWJzdHIoJHRoaXMtPmltYWdlLDAsc3RycnBvcygkdGhpcy0+aW1hZ2UsJy4nKSkuIi5naWYiOw0KCQkJCQkkdGhpcy0+c2l6ZVsyXT0xOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICJqcGciOg0KCQkJCQkkdGhpcy0+aW1hZ2U9c3Vic3RyKCR0aGlzLT5pbWFnZSwwLHN0cnJwb3MoJHRoaXMtPmltYWdlLCcuJykpLiIuanBnIjsNCgkJCQkJJHRoaXMtPnNpemVbMl09MjsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAianBlZyI6DQoJCQkJCSR0aGlzLT5pbWFnZT1zdWJzdHIoJHRoaXMtPmltYWdlLDAsc3RycnBvcygkdGhpcy0+aW1hZ2UsJy4nKSkuIi5qcGVnIjsNCgkJCQkJJHRoaXMtPnNpemVbMl09MjsNCgkJCQkJYnJlYWs7CQkJDQoJCQkJY2FzZSAicG5nIjoNCgkJCQkJJHRoaXMtPmltYWdlPXN1YnN0cigkdGhpcy0+aW1hZ2UsMCxzdHJycG9zKCR0aGlzLT5pbWFnZSwnLicpKS4iLnBuZyI7DQoJCQkJCSR0aGlzLT5zaXplWzJdPTM7DQoJCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoJCWlmICgkdGhpcy0+VGh1bWJmaWxlbmFtZSE9JycpIHsNCgkJCSR0aGlzLT5pbWFnZT0kdGhpcy0+VGh1bWJmaWxlbmFtZTsNCgkJfQkJDQoJCXN3aXRjaCgkdGhpcy0+c2l6ZVsyXSkgew0KCQkJY2FzZSAxOg0KCQkJCWltYWdlZ2lmKCR0aGlzLT50aHVtYiwkdGhpcy0+VGh1bWJsb2NhdGlvbi4kdGhpcy0+VGh1bWJwcmVmaXguYmFzZW5hbWUoJHRoaXMtPmltYWdlKSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlIDI6DQoJCQkJaW1hZ2VqcGVnKCR0aGlzLT50aHVtYiwkdGhpcy0+VGh1bWJsb2NhdGlvbi4kdGhpcy0+VGh1bWJwcmVmaXguYmFzZW5hbWUoJHRoaXMtPmltYWdlKSwkdGhpcy0+UXVhbGl0eSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlIDM6DQoJCQkJaW1hZ2VwbmcoJHRoaXMtPnRodW1iLCR0aGlzLT5UaHVtYmxvY2F0aW9uLiR0aGlzLT5UaHVtYnByZWZpeC5iYXNlbmFtZSgkdGhpcy0+aW1hZ2UpKTsNCgkJCQlicmVhazsNCgkJfQkJDQoJCWlmICgkdGhpcy0+Q2htb2RsZXZlbCE9JycpIHtjaG1vZCgkdGhpcy0+VGh1bWJsb2NhdGlvbi4kdGhpcy0+VGh1bWJwcmVmaXguYmFzZW5hbWUoJHRoaXMtPmltYWdlKSxvY3RkZWMoJHRoaXMtPkNobW9kbGV2ZWwpKTt9DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+aW0pOw0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPnRodW1iKTsNCgkJDQoJfQ0KDQoJLyoqDQoJICogRGlzcGxheSB0aHVtYm5haWwgb24gc2NyZWVuDQoJICoNCgkgKi8JDQoJcHJpdmF0ZSBmdW5jdGlvbiBkaXNwbGF5dGh1bWIoKSB7DQoJCQ0KCQlzd2l0Y2goJHRoaXMtPnNpemVbMl0pIHsNCgkJCWNhc2UgMToNCgkJCQloZWFkZXIoIkNvbnRlbnQtdHlwZTogaW1hZ2UvZ2lmIik7aW1hZ2VnaWYoJHRoaXMtPnRodW1iKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgMjoNCgkJCQloZWFkZXIoIkNvbnRlbnQtdHlwZTogaW1hZ2UvanBlZyIpO2ltYWdlanBlZygkdGhpcy0+dGh1bWIsJycsJHRoaXMtPlF1YWxpdHkpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAzOg0KCQkJCWhlYWRlcigiQ29udGVudC10eXBlOiBpbWFnZS9wbmciKTtpbWFnZXBuZygkdGhpcy0+dGh1bWIpOw0KCQkJCWJyZWFrOw0KCQl9DQoJCWltYWdlZGVzdHJveSgkdGhpcy0+aW0pOw0KCQlpbWFnZWRlc3Ryb3koJHRoaXMtPnRodW1iKTsNCgkJZXhpdDsNCgkJDQoJfQ0KDQp9DQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/lib/simple-upload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/simple-upload/Doxyfile</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBEb3h5ZmlsZSAxLjUuNgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByb2plY3QgcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpET1hZRklMRV9FTkNPRElORyAgICAgID0gVVRGLTgKUFJPSkVDVF9OQU1FICAgICAgICAgICA9IEZpbGVVcGxvYWQKUFJPSkVDVF9OVU1CRVIgICAgICAgICA9IDEuMApPVVRQVVRfRElSRUNUT1JZICAgICAgID0gL2hvbWUvbHVraS9wcmFjYS9wb3dvZGUvRG93bmxvYWRNYW5hZ2VyL2Rvd25sb2FkbWFuYWdlci90cnVuay9saWIvdXBsb2FkL2RveHkvCkNSRUFURV9TVUJESVJTICAgICAgICAgPSBOTwpPVVRQVVRfTEFOR1VBR0UgICAgICAgID0gRW5nbGlzaApCUklFRl9NRU1CRVJfREVTQyAgICAgID0gWUVTClJFUEVBVF9CUklFRiAgICAgICAgICAgPSBZRVMKQUJCUkVWSUFURV9CUklFRiAgICAgICA9ICJUaGUgJG5hbWUgY2xhc3MiIFwKICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgJG5hbWUgd2lkZ2V0IiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAiVGhlICRuYW1lIGZpbGUiIFwKICAgICAgICAgICAgICAgICAgICAgICAgIGlzIFwKICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVzIFwKICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllcyBcCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWlucyBcCiAgICAgICAgICAgICAgICAgICAgICAgICByZXByZXNlbnRzIFwKICAgICAgICAgICAgICAgICAgICAgICAgIGEgXAogICAgICAgICAgICAgICAgICAgICAgICAgYW4gXAogICAgICAgICAgICAgICAgICAgICAgICAgdGhlCkFMV0FZU19ERVRBSUxFRF9TRUMgICAgPSBOTwpJTkxJTkVfSU5IRVJJVEVEX01FTUIgID0gTk8KRlVMTF9QQVRIX05BTUVTICAgICAgICA9IFlFUwpTVFJJUF9GUk9NX1BBVEggICAgICAgID0gIi92YXIvd3d3L2RveHkgZ2VuZXJhdG9yLyIKU1RSSVBfRlJPTV9JTkNfUEFUSCAgICA9IApTSE9SVF9OQU1FUyAgICAgICAgICAgID0gTk8KSkFWQURPQ19BVVRPQlJJRUYgICAgICA9IE5PClFUX0FVVE9CUklFRiAgICAgICAgICAgPSBOTwpNVUxUSUxJTkVfQ1BQX0lTX0JSSUVGID0gTk8KREVUQUlMU19BVF9UT1AgICAgICAgICA9IE5PCklOSEVSSVRfRE9DUyAgICAgICAgICAgPSBZRVMKU0VQQVJBVEVfTUVNQkVSX1BBR0VTICA9IE5PClRBQl9TSVpFICAgICAgICAgICAgICAgPSA4CkFMSUFTRVMgICAgICAgICAgICAgICAgPSAKT1BUSU1JWkVfT1VUUFVUX0ZPUl9DICA9IE5PCk9QVElNSVpFX09VVFBVVF9KQVZBICAgPSBOTwpPUFRJTUlaRV9GT1JfRk9SVFJBTiAgID0gTk8KT1BUSU1JWkVfT1VUUFVUX1ZIREwgICA9IE5PCkJVSUxUSU5fU1RMX1NVUFBPUlQgICAgPSBOTwpDUFBfQ0xJX1NVUFBPUlQgICAgICAgID0gTk8KU0lQX1NVUFBPUlQgICAgICAgICAgICA9IE5PCklETF9QUk9QRVJUWV9TVVBQT1JUICAgPSBZRVMKRElTVFJJQlVURV9HUk9VUF9ET0MgICA9IE5PClNVQkdST1VQSU5HICAgICAgICAgICAgPSBZRVMKVFlQRURFRl9ISURFU19TVFJVQ1QgICA9IE5PCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBCdWlsZCByZWxhdGVkIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkVYVFJBQ1RfQUxMICAgICAgICAgICAgPSBOTwpFWFRSQUNUX1BSSVZBVEUgICAgICAgID0gTk8KRVhUUkFDVF9TVEFUSUMgICAgICAgICA9IE5PCkVYVFJBQ1RfTE9DQUxfQ0xBU1NFUyAgPSBZRVMKRVhUUkFDVF9MT0NBTF9NRVRIT0RTICA9IE5PCkVYVFJBQ1RfQU5PTl9OU1BBQ0VTICAgPSBOTwpISURFX1VORE9DX01FTUJFUlMgICAgID0gWUVTCkhJREVfVU5ET0NfQ0xBU1NFUyAgICAgPSBZRVMKSElERV9GUklFTkRfQ09NUE9VTkRTICA9IE5PCkhJREVfSU5fQk9EWV9ET0NTICAgICAgPSBOTwpJTlRFUk5BTF9ET0NTICAgICAgICAgID0gTk8KQ0FTRV9TRU5TRV9OQU1FUyAgICAgICA9IFlFUwpISURFX1NDT1BFX05BTUVTICAgICAgID0gTk8KU0hPV19JTkNMVURFX0ZJTEVTICAgICA9IFlFUwpJTkxJTkVfSU5GTyAgICAgICAgICAgID0gWUVTClNPUlRfTUVNQkVSX0RPQ1MgICAgICAgPSBZRVMKU09SVF9CUklFRl9ET0NTICAgICAgICA9IE5PClNPUlRfR1JPVVBfTkFNRVMgICAgICAgPSBOTwpTT1JUX0JZX1NDT1BFX05BTUUgICAgID0gTk8KR0VORVJBVEVfVE9ET0xJU1QgICAgICA9IFlFUwpHRU5FUkFURV9URVNUTElTVCAgICAgID0gWUVTCkdFTkVSQVRFX0JVR0xJU1QgICAgICAgPSBZRVMKR0VORVJBVEVfREVQUkVDQVRFRExJU1Q9IFlFUwpFTkFCTEVEX1NFQ1RJT05TICAgICAgID0gCk1BWF9JTklUSUFMSVpFUl9MSU5FUyAgPSAzMApTSE9XX1VTRURfRklMRVMgICAgICAgID0gWUVTClNIT1dfRElSRUNUT1JJRVMgICAgICAgPSBOTwpTSE9XX0ZJTEVTICAgICAgICAgICAgID0gWUVTClNIT1dfTkFNRVNQQUNFUyAgICAgICAgPSBZRVMKRklMRV9WRVJTSU9OX0ZJTFRFUiAgICA9IAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gd2FybmluZyBhbmQgcHJvZ3Jlc3MgbWVzc2FnZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpRVUlFVCAgICAgICAgICAgICAgICAgID0gTk8KV0FSTklOR1MgICAgICAgICAgICAgICA9IFlFUwpXQVJOX0lGX1VORE9DVU1FTlRFRCAgID0gWUVTCldBUk5fSUZfRE9DX0VSUk9SICAgICAgPSBZRVMKV0FSTl9OT19QQVJBTURPQyAgICAgICA9IE5PCldBUk5fRk9STUFUICAgICAgICAgICAgPSAiJGZpbGU6JGxpbmU6ICR0ZXh0IgpXQVJOX0xPR0ZJTEUgICAgICAgICAgID0gCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgaW5wdXQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJTlBVVCAgICAgICAgICAgICAgICAgID0gL2hvbWUvbHVraS9wcmFjYS9wb3dvZGUvRG93bmxvYWRNYW5hZ2VyL2Rvd25sb2FkbWFuYWdlci90cnVuay9saWIvdXBsb2FkLwpJTlBVVF9FTkNPRElORyAgICAgICAgID0gVVRGLTgKRklMRV9QQVRURVJOUyAgICAgICAgICA9ICouYyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmNjIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouY3h4IFwKICAgICAgICAgICAgICAgICAgICAgICAgICouY3BwIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouYysrIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouZCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmphdmEgXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5paSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLml4eCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmlwcCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmkrKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmlubCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmggXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5oaCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmh4eCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmhwcCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmgrKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmlkbCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLm9kbCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmNzIFwKICAgICAgICAgICAgICAgICAgICAgICAgICoucGhwIFwKICAgICAgICAgICAgICAgICAgICAgICAgICoucGhwMyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmluYyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLm0gXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5tbSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLmRveCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLnB5IFwKICAgICAgICAgICAgICAgICAgICAgICAgICouZjkwIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouZiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLnZoZCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLnZoZGwgXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5DIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouQ0MgXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5DKysgXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5JSSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLkkrKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLkggXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5ISCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLkgrKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLkNTIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouUEhQIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouUEhQMyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLk0gXAogICAgICAgICAgICAgICAgICAgICAgICAgKi5NTSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLlBZIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouRjkwIFwKICAgICAgICAgICAgICAgICAgICAgICAgICouRiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLlZIRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAqLlZIREwKUkVDVVJTSVZFICAgICAgICAgICAgICA9IE5PCkVYQ0xVREUgICAgICAgICAgICAgICAgPSAKRVhDTFVERV9TWU1MSU5LUyAgICAgICA9IE5PCkVYQ0xVREVfUEFUVEVSTlMgICAgICAgPSAKRVhDTFVERV9TWU1CT0xTICAgICAgICA9IApFWEFNUExFX1BBVEggICAgICAgICAgID0gCkVYQU1QTEVfUEFUVEVSTlMgICAgICAgPSAqCkVYQU1QTEVfUkVDVVJTSVZFICAgICAgPSBOTwpJTUFHRV9QQVRIICAgICAgICAgICAgID0gCklOUFVUX0ZJTFRFUiAgICAgICAgICAgPSAKRklMVEVSX1BBVFRFUk5TICAgICAgICA9IApGSUxURVJfU09VUkNFX0ZJTEVTICAgID0gTk8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHNvdXJjZSBicm93c2luZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClNPVVJDRV9CUk9XU0VSICAgICAgICAgPSBOTwpJTkxJTkVfU09VUkNFUyAgICAgICAgID0gTk8KU1RSSVBfQ09ERV9DT01NRU5UUyAgICA9IFlFUwpSRUZFUkVOQ0VEX0JZX1JFTEFUSU9OID0gTk8KUkVGRVJFTkNFU19SRUxBVElPTiAgICA9IE5PClJFRkVSRU5DRVNfTElOS19TT1VSQ0UgPSBZRVMKVVNFX0hUQUdTICAgICAgICAgICAgICA9IE5PClZFUkJBVElNX0hFQURFUlMgICAgICAgPSBOTwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIGFscGhhYmV0aWNhbCBjbGFzcyBpbmRleAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkFMUEhBQkVUSUNBTF9JTkRFWCAgICAgPSBOTwpDT0xTX0lOX0FMUEhBX0lOREVYICAgID0gNQpJR05PUkVfUFJFRklYICAgICAgICAgID0gCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgSFRNTCBvdXRwdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpHRU5FUkFURV9IVE1MICAgICAgICAgID0gWUVTCkhUTUxfT1VUUFVUICAgICAgICAgICAgPSBodG1sCkhUTUxfRklMRV9FWFRFTlNJT04gICAgPSAuaHRtbApIVE1MX0hFQURFUiAgICAgICAgICAgID0gCkhUTUxfRk9PVEVSICAgICAgICAgICAgPSAKSFRNTF9TVFlMRVNIRUVUICAgICAgICA9IApIVE1MX0FMSUdOX01FTUJFUlMgICAgID0gWUVTCkdFTkVSQVRFX0hUTUxIRUxQICAgICAgPSBOTwpHRU5FUkFURV9ET0NTRVQgICAgICAgID0gTk8KRE9DU0VUX0ZFRUROQU1FICAgICAgICA9ICJEb3h5Z2VuIGdlbmVyYXRlZCBkb2NzIgpET0NTRVRfQlVORExFX0lEICAgICAgID0gb3JnLmRveHlnZW4uUHJvamVjdApIVE1MX0RZTkFNSUNfU0VDVElPTlMgID0gTk8KQ0hNX0ZJTEUgICAgICAgICAgICAgICA9IApISENfTE9DQVRJT04gICAgICAgICAgID0gCkdFTkVSQVRFX0NISSAgICAgICAgICAgPSBOTwpDSE1fSU5ERVhfRU5DT0RJTkcgICAgID0gCkJJTkFSWV9UT0MgICAgICAgICAgICAgPSBOTwpUT0NfRVhQQU5EICAgICAgICAgICAgID0gTk8KRElTQUJMRV9JTkRFWCAgICAgICAgICA9IE5PCkVOVU1fVkFMVUVTX1BFUl9MSU5FICAgPSA0CkdFTkVSQVRFX1RSRUVWSUVXICAgICAgPSBOT05FClRSRUVWSUVXX1dJRFRIICAgICAgICAgPSAyNTAKRk9STVVMQV9GT05UU0laRSAgICAgICA9IDEwCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgTGFUZVggb3V0cHV0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KR0VORVJBVEVfTEFURVggICAgICAgICA9IFlFUwpMQVRFWF9PVVRQVVQgICAgICAgICAgID0gbGF0ZXgKTEFURVhfQ01EX05BTUUgICAgICAgICA9IGxhdGV4Ck1BS0VJTkRFWF9DTURfTkFNRSAgICAgPSBtYWtlaW5kZXgKQ09NUEFDVF9MQVRFWCAgICAgICAgICA9IE5PClBBUEVSX1RZUEUgICAgICAgICAgICAgPSBhNHdpZGUKRVhUUkFfUEFDS0FHRVMgICAgICAgICA9IApMQVRFWF9IRUFERVIgICAgICAgICAgID0gClBERl9IWVBFUkxJTktTICAgICAgICAgPSBZRVMKVVNFX1BERkxBVEVYICAgICAgICAgICA9IFlFUwpMQVRFWF9CQVRDSE1PREUgICAgICAgID0gTk8KTEFURVhfSElERV9JTkRJQ0VTICAgICA9IE5PCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgUlRGIG91dHB1dAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkdFTkVSQVRFX1JURiAgICAgICAgICAgPSBOTwpSVEZfT1VUUFVUICAgICAgICAgICAgID0gcnRmCkNPTVBBQ1RfUlRGICAgICAgICAgICAgPSBOTwpSVEZfSFlQRVJMSU5LUyAgICAgICAgID0gTk8KUlRGX1NUWUxFU0hFRVRfRklMRSAgICA9IApSVEZfRVhURU5TSU9OU19GSUxFICAgID0gCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgbWFuIHBhZ2Ugb3V0cHV0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KR0VORVJBVEVfTUFOICAgICAgICAgICA9IE5PCk1BTl9PVVRQVVQgICAgICAgICAgICAgPSBtYW4KTUFOX0VYVEVOU0lPTiAgICAgICAgICA9IC4zCk1BTl9MSU5LUyAgICAgICAgICAgICAgPSBOTwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIFhNTCBvdXRwdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpHRU5FUkFURV9YTUwgICAgICAgICAgID0gTk8KWE1MX09VVFBVVCAgICAgICAgICAgICA9IHhtbApYTUxfU0NIRU1BICAgICAgICAgICAgID0gClhNTF9EVEQgICAgICAgICAgICAgICAgPSAKWE1MX1BST0dSQU1MSVNUSU5HICAgICA9IFlFUwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgQXV0b0dlbiBEZWZpbml0aW9ucyBvdXRwdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpHRU5FUkFURV9BVVRPR0VOX0RFRiAgID0gTk8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRoZSBQZXJsIG1vZHVsZSBvdXRwdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpHRU5FUkFURV9QRVJMTU9EICAgICAgID0gTk8KUEVSTE1PRF9MQVRFWCAgICAgICAgICA9IE5PClBFUkxNT0RfUFJFVFRZICAgICAgICAgPSBZRVMKUEVSTE1PRF9NQUtFVkFSX1BSRUZJWCA9IAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIHByZXByb2Nlc3NvciAgIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkVOQUJMRV9QUkVQUk9DRVNTSU5HICAgPSBZRVMKTUFDUk9fRVhQQU5TSU9OICAgICAgICA9IE5PCkVYUEFORF9PTkxZX1BSRURFRiAgICAgPSBOTwpTRUFSQ0hfSU5DTFVERVMgICAgICAgID0gWUVTCklOQ0xVREVfUEFUSCAgICAgICAgICAgPSAKSU5DTFVERV9GSUxFX1BBVFRFUk5TICA9IApQUkVERUZJTkVEICAgICAgICAgICAgID0gCkVYUEFORF9BU19ERUZJTkVEICAgICAgPSAKU0tJUF9GVU5DVElPTl9NQUNST1MgICA9IFlFUwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ29uZmlndXJhdGlvbjo6YWRkaXRpb25zIHJlbGF0ZWQgdG8gZXh0ZXJuYWwgcmVmZXJlbmNlcyAgIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRBR0ZJTEVTICAgICAgICAgICAgICAgPSAKR0VORVJBVEVfVEFHRklMRSAgICAgICA9IApBTExFWFRFUk5BTFMgICAgICAgICAgID0gTk8KRVhURVJOQUxfR1JPVVBTICAgICAgICA9IFlFUwpQRVJMX1BBVEggICAgICAgICAgICAgID0gL3Vzci9iaW4vcGVybAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIGRvdCB0b29sICAgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQ0xBU1NfRElBR1JBTVMgICAgICAgICA9IE5PCk1TQ0dFTl9QQVRIICAgICAgICAgICAgPSAKSElERV9VTkRPQ19SRUxBVElPTlMgICA9IFlFUwpIQVZFX0RPVCAgICAgICAgICAgICAgID0gWUVTCkRPVF9GT05UTkFNRSAgICAgICAgICAgPSBGcmVlU2FucwpET1RfRk9OVFBBVEggICAgICAgICAgID0gCkNMQVNTX0dSQVBIICAgICAgICAgICAgPSBZRVMKQ09MTEFCT1JBVElPTl9HUkFQSCAgICA9IFlFUwpHUk9VUF9HUkFQSFMgICAgICAgICAgID0gWUVTClVNTF9MT09LICAgICAgICAgICAgICAgPSBOTwpURU1QTEFURV9SRUxBVElPTlMgICAgID0gTk8KSU5DTFVERV9HUkFQSCAgICAgICAgICA9IFlFUwpJTkNMVURFRF9CWV9HUkFQSCAgICAgID0gWUVTCkNBTExfR1JBUEggICAgICAgICAgICAgPSBOTwpDQUxMRVJfR1JBUEggICAgICAgICAgID0gTk8KR1JBUEhJQ0FMX0hJRVJBUkNIWSAgICA9IFlFUwpESVJFQ1RPUllfR1JBUEggICAgICAgID0gWUVTCkRPVF9JTUFHRV9GT1JNQVQgICAgICAgPSBwbmcKRE9UX1BBVEggICAgICAgICAgICAgICA9IApET1RGSUxFX0RJUlMgICAgICAgICAgID0gCkRPVF9HUkFQSF9NQVhfTk9ERVMgICAgPSA1MApNQVhfRE9UX0dSQVBIX0RFUFRIICAgID0gMTAwMApET1RfVFJBTlNQQVJFTlQgICAgICAgID0gWUVTCkRPVF9NVUxUSV9UQVJHRVRTICAgICAgPSBOTwpHRU5FUkFURV9MRUdFTkQgICAgICAgID0gWUVTCkRPVF9DTEVBTlVQICAgICAgICAgICAgPSBZRVMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENvbmZpZ3VyYXRpb246OmFkZGl0aW9ucyByZWxhdGVkIHRvIHRoZSBzZWFyY2ggZW5naW5lICAgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KU0VBUkNIRU5HSU5FICAgICAgICAgICA9IE5PCg==]]></data>
	</file>
	<file>
	  <filename>/lib/simple-upload/example.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGh0bWw+DQo8aGVhZD4NCjx0aXRsZT4gU2ltcGxlVXBsb2FkIENsYXNzIEV4YW1wbGUgPC90aXRsZT4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPg0KDQo8aGVhZD4NCjxib2R5Pg0KPGgxPiBTaW1wbGVVcGxvYWQgQ2xhc3MgRXhhbXBsZTwvaDE+DQo8aDM+YnkgU3p5bW9uIMWBdWthc3pjenlrPC9oMz4NCg0KPGZvcm0gZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgYWN0aW9uPSJleGFtcGxlLnBocCIgbWV0aG9kPSJQT1NUIj4NCiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJNQVhfRklMRV9TSVpFIiB2YWx1ZT0iMzAwMDAiIC8+DQogICAgU2VuZCB0aGlzIGZpbGU6IDxpbnB1dCBuYW1lPSJmaWxlIiB0eXBlPSJmaWxlIiAvPg0KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZW5kIEZpbGUiIC8+DQo8L2Zvcm0+DQo8cHJlPg0KPD9waHANCg0KaW5jbHVkZV9vbmNlKCJTaW1wbGVVcGxvYWQucGhwIik7DQppZiggaXNzZXQgKCRfRklMRVNbImZpbGUiXSkpOg0KDQokdXBsb2FkID0gbmV3IFNpbXBsZVVwbG9hZDsNCi8vfiAkdXBsb2FkLT5zZXRQYXRoKCIuL3VwbG9hZCIpOyAvLyBzZXRzIHVwbG9hZCBwYXRoIHRvIC4vdXBsb2FkDQovL34gJHVwbG9hZC0+c2V0RGVidWcodHJ1ZSk7DQokdXBsb2FkLT5zZXRDb250ZW50cygkX0ZJTEVTWyJmaWxlIl0pOw0KLy9+ICR1cGxvYWQtPnNldFJhbmRvbUFkZFNpemUoZmFsc2UpOyAgLy8gbm8gcmFuZG9tIGVuZGluZw0KLy9+ICR1cGxvYWQtPnNldFJhbmRvbUFkZFNpemUoMTApOyAvLyAxMCBjaGFyIHJhbmRvbSBlbmRpbmcNCi8vfiAkdXBsb2FkLT5zZXRNYXhOYW1lU2l6ZSgxMCk7IC8vZmlsZSB3aXRob3V0IGV4dGVuc2lvbiBoYXMgMTAgY2hhcnMNCi8vfiAkdXBsb2FkLT5zZXROYW1lRm9ybWF0aW5nKGZhbHNlKTsgLy8gbm8gY3JvcHBpbmcsIG5vIGNoYXIgY29udmVyc2lvbihZb3UgY2FuIGhhdmUgIUAvIGluIGZpbGUgbmFtZSkNCi8vfiAkdXBsb2FkLT5zZXRSYW5kb21FbmRpbmcoZmFsc2UpOyAgLy8gbm8gcmFuZG9tIGVuZGluZw0KLy9+ICR1cGxvYWQtPnNldE1kNU1ha2luZyhmYWxzZSkgLy8gbm8gbWQ1IHN1bQ0KDQppZiAoISR1cGxvYWQtPnVwbG9hZEZpbGUoZmFsc2UpKQ0KCQllY2hvICJFcnJvciBvY2N1cmVkIjsNCmVsc2UNCnsNCgkJZWNobyAgIlN1Y2Nlc3M8YnIvPiI7DQoJCXByaW50X3IoJHVwbG9hZC0+Z2V0Q29udGVudHMoKSk7DQp9DQoNCmVuZGlmOw0KPz4NCg0KDQo8L3ByZT4NCjwvYm9keT4NCjwvaHRtbD4=]]></data>
	</file>
	<file>
	  <filename>/lib/simple-upload/gpl.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpDQpWZXJzaW9uIDIsIEp1bmUgMTk5MQ0KDQpDb3B5cmlnaHQgKEMpIDE5ODksIDE5OTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KDQpFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMNCm9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLg0KDQpQcmVhbWJsZQ0KDQpUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgZnJlZSBzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLiBUaGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBtb3N0IG9mIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24ncyBzb2Z0d2FyZSBhbmQgdG8gYW55IG90aGVyIHByb2dyYW0gd2hvc2UgYXV0aG9ycyBjb21taXQgdG8gdXNpbmcgaXQuIChTb21lIG90aGVyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2FyZSBpcyBjb3ZlcmVkIGJ5IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSBZb3UgY2FuIGFwcGx5IGl0IHRvIHlvdXIgcHJvZ3JhbXMsIHRvby4NCg0KV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20sIG5vdCBwcmljZS4gT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvciB0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91IHdhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLg0KDQpUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkIGFueW9uZSB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4gVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZiB5b3UgbW9kaWZ5IGl0Lg0KDQpGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyIGdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdCB5b3UgaGF2ZS4gWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlIHNvdXJjZSBjb2RlLiBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpciByaWdodHMuDQoNCldlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCB0d28gc3RlcHM6ICgxKSBjb3B5cmlnaHQgdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIGxpY2Vuc2Ugd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBzb2Z0d2FyZS4NCg0KQWxzbywgZm9yIGVhY2ggYXV0aG9yJ3MgcHJvdGVjdGlvbiBhbmQgb3Vycywgd2Ugd2FudCB0byBtYWtlIGNlcnRhaW4gdGhhdCBldmVyeW9uZSB1bmRlcnN0YW5kcyB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUgc29mdHdhcmUuIElmIHRoZSBzb2Z0d2FyZSBpcyBtb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgd2Ugd2FudCBpdHMgcmVjaXBpZW50cyB0byBrbm93IHRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCwgc28gdGhhdCBhbnkgcHJvYmxlbXMgaW50cm9kdWNlZCBieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0aGUgb3JpZ2luYWwgYXV0aG9ycycgcmVwdXRhdGlvbnMuDQoNCkZpbmFsbHksIGFueSBmcmVlIHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZSBwcm9ncmFtIHdpbGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcgdGhlIHByb2dyYW0gcHJvcHJpZXRhcnkuIFRvIHByZXZlbnQgdGhpcywgd2UgaGF2ZSBtYWRlIGl0IGNsZWFyIHRoYXQgYW55IHBhdGVudCBtdXN0IGJlIGxpY2Vuc2VkIGZvciBldmVyeW9uZSdzIGZyZWUgdXNlIG9yIG5vdCBsaWNlbnNlZCBhdCBhbGwuDQoNClRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBmb2xsb3cuDQoNClRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTg0KDQowLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBvciBvdGhlciB3b3JrIHdoaWNoIGNvbnRhaW5zIGEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFRoZSAiUHJvZ3JhbSIsIGJlbG93LCByZWZlcnMgdG8gYW55IHN1Y2ggcHJvZ3JhbSBvciB3b3JrLCBhbmQgYSAid29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSIgbWVhbnMgZWl0aGVyIHRoZSBQcm9ncmFtIG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxhdzogdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwgZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFub3RoZXIgbGFuZ3VhZ2UuIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0aW9uIGluIHRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgRWFjaCBsaWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuDQoNCkFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90IGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gVGhlIGFjdCBvZiBydW5uaW5nIHRoZSBQcm9ncmFtIGlzIG5vdCByZXN0cmljdGVkLCBhbmQgdGhlIG91dHB1dCBmcm9tIHRoZSBQcm9ncmFtIGlzIGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkgcnVubmluZyB0aGUgUHJvZ3JhbSkuIFdoZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMgb24gd2hhdCB0aGUgUHJvZ3JhbSBkb2VzLg0KDQoxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3Mgc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91IGNvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QgYWxsIHRoZSBub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7IGFuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBQcm9ncmFtIGEgY29weSBvZiB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4NCg0KWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwgYW5kIHlvdSBtYXkgYXQgeW91ciBvcHRpb24gb2ZmZXIgd2FycmFudHkgcHJvdGVjdGlvbiBpbiBleGNoYW5nZSBmb3IgYSBmZWUuDQoNCjIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24gb2YgaXQsIHRodXMgZm9ybWluZyBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIGFuZCBjb3B5IGFuZCBkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEgYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoNCg0KICAgIGEpIFlvdSBtdXN0IGNhdXNlIHRoZSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLg0KDQogICAgYikgWW91IG11c3QgY2F1c2UgYW55IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBvciBwdWJsaXNoLCB0aGF0IGluIHdob2xlIG9yIGluIHBhcnQgY29udGFpbnMgb3IgaXMgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtIG9yIGFueSBwYXJ0IHRoZXJlb2YsIHRvIGJlIGxpY2Vuc2VkIGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRvIGFsbCB0aGlyZCBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuDQoNCiAgICBjKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5IHdoZW4gcnVuLCB5b3UgbXVzdCBjYXVzZSBpdCwgd2hlbiBzdGFydGVkIHJ1bm5pbmcgZm9yIHN1Y2ggaW50ZXJhY3RpdmUgdXNlIGluIHRoZSBtb3N0IG9yZGluYXJ5IHdheSwgdG8gcHJpbnQgb3IgZGlzcGxheSBhbiBhbm5vdW5jZW1lbnQgaW5jbHVkaW5nIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEgbm90aWNlIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgKG9yIGVsc2UsIHNheWluZyB0aGF0IHlvdSBwcm92aWRlIGEgd2FycmFudHkpIGFuZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUgdGhlIHByb2dyYW0gdW5kZXIgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVzZXIgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0gaXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dCBkb2VzIG5vdCBub3JtYWxseSBwcmludCBzdWNoIGFuIGFubm91bmNlbWVudCwgeW91ciB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtIGlzIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQ0KDQpUaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gSWYgaWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSwgYW5kIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluIHRoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2Ugc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiBCdXQgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZSBlbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuDQoNClRodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdCB5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8gZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yIGNvbGxlY3RpdmUgd29ya3MgYmFzZWQgb24gdGhlIFByb2dyYW0uDQoNCkluIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIFByb2dyYW0gd2l0aCB0aGUgUHJvZ3JhbSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9mIGEgc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyIHRoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuDQoNCjMuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYSB3b3JrIGJhc2VkIG9uIGl0LCB1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOg0KDQogICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZSBzb3VyY2UgY29kZSwgd2hpY2ggbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsDQoNCiAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycywgdG8gZ2l2ZSBhbnkgdGhpcmQgcGFydHksIGZvciBhIGNoYXJnZSBubyBtb3JlIHRoYW4geW91ciBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyBzb3VyY2UgZGlzdHJpYnV0aW9uLCBhIGNvbXBsZXRlIG1hY2hpbmUtcmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLA0KDQogICAgYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIgdG8gZGlzdHJpYnV0ZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBjb2RlLiAoVGhpcyBhbHRlcm5hdGl2ZSBpcyBhbGxvd2VkIG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdSByZWNlaXZlZCB0aGUgcHJvZ3JhbSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gd2l0aCBzdWNoIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0aCBTdWJzZWN0aW9uIGIgYWJvdmUuKQ0KDQpUaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiBGb3IgYW4gZXhlY3V0YWJsZSB3b3JrLCBjb21wbGV0ZSBzb3VyY2UgY29kZSBtZWFucyBhbGwgdGhlIHNvdXJjZSBjb2RlIGZvciBhbGwgbW9kdWxlcyBpdCBjb250YWlucywgcGx1cyBhbnkgYXNzb2NpYXRlZCBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvIGNvbnRyb2wgY29tcGlsYXRpb24gYW5kIGluc3RhbGxhdGlvbiBvZiB0aGUgZXhlY3V0YWJsZS4gSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUgYW55dGhpbmcgdGhhdCBpcyBub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNvdXJjZSBvciBiaW5hcnkgZm9ybSkgd2l0aCB0aGUgbWFqb3IgY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQgaXRzZWxmIGFjY29tcGFuaWVzIHRoZSBleGVjdXRhYmxlLg0KDQpJZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzIGRpc3RyaWJ1dGlvbiBvZiB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdCBjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLg0KDQo0LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuIEFueSBhdHRlbXB0IG90aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2Ugb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpcyB2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuIEhvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91IHVuZGVyIHRoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoIHBhcnRpZXMgcmVtYWluIGluIGZ1bGwgY29tcGxpYW5jZS4NCg0KNS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSwgc2luY2UgeW91IGhhdmUgbm90IHNpZ25lZCBpdC4gSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gVGhlc2UgYWN0aW9ucyBhcmUgcHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiBUaGVyZWZvcmUsIGJ5IG1vZGlmeWluZyBvciBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtKSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28sIGFuZCBhbGwgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpbmcgb3IgbW9kaWZ5aW5nIHRoZSBQcm9ncmFtIG9yIHdvcmtzIGJhc2VkIG9uIGl0Lg0KDQo2LiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pLCB0aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlIG9yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUgb3IgbW9kaWZ5IHRoZSBQcm9ncmFtIHN1YmplY3QgdG8gdGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlciByZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHRvIHRoaXMgTGljZW5zZS4NCg0KNy4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudCBpbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLCBjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yIG90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QgZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gSWYgeW91IGNhbm5vdCBkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzIExpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UgbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGF0IGFsbC4gRm9yIGV4YW1wbGUsIGlmIGEgcGF0ZW50IGxpY2Vuc2Ugd291bGQgbm90IHBlcm1pdCByb3lhbHR5LWZyZWUgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0gYnkgYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVuIHRoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8gcmVmcmFpbiBlbnRpcmVseSBmcm9tIGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbS4NCg0KSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyIGFueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gYXBwbHkgYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIgY2lyY3Vtc3RhbmNlcy4NCg0KSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueSBwYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueSBzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlIGludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtLCB3aGljaCBpcyBpbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuIE1hbnkgcGVvcGxlIGhhdmUgbWFkZSBnZW5lcm91cyBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHRocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0IHN5c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhvci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hlIGlzIHdpbGxpbmcgdG8gZGlzdHJpYnV0ZSBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEgbGljZW5zZWUgY2Fubm90IGltcG9zZSB0aGF0IGNob2ljZS4NCg0KVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvIGJlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLg0KDQo4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFByb2dyYW0gaXMgcmVzdHJpY3RlZCBpbiBjZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUgb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgTGljZW5zZSBtYXkgYWRkIGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcgdGhvc2UgY291bnRyaWVzLCBzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZyBjb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcyB0aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4NCg0KOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwgYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLg0KDQpFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gSWYgdGhlIFByb2dyYW0gc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkgbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KDQoxMC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUgcGFydHMgb2YgdGhlIFByb2dyYW0gaW50byBvdGhlciBmcmVlIHByb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IgdG8gYXNrIGZvciBwZXJtaXNzaW9uLiBGb3Igc29mdHdhcmUgd2hpY2ggaXMgY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzIG1ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMgb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMgb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZCBvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcgYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4NCg0KTk8gV0FSUkFOVFkNCg0KMTEuIEJFQ0FVU0UgVEhFIFBST0dSQU0gSVMgTElDRU5TRUQgRlJFRSBPRiBDSEFSR0UsIFRIRVJFIElTIE5PIFdBUlJBTlRZIEZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuIEVYQ0VQVCBXSEVOIE9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMgUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBXSVRIIFlPVS4gU0hPVUxEIFRIRSBQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywgUkVQQUlSIE9SIENPUlJFQ1RJT04uDQoNCjEyLiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcgV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZIEFORC9PUiBSRURJU1RSSUJVVEUgVEhFIFBST0dSQU0gQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VIEZPUiBEQU1BR0VTLCBJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORyBSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkgWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIgUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy4NCg0KRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05T]]></data>
	</file>
	<file>
	  <filename>/lib/simple-upload/SimpleUpload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgDQovKg0KICAgIGNsYXNzIFNpbXBsZVVwbG9hZCAtIGFsbG93IGVhc3kgdXBsb2FkIHdpdGggcGhwIGFuZCB3ZWIgZm9ybXMNCiAgICBDb3B5cmlnaHQgKEMpIDIwMDggU3p5bW9uIMWBdWthc3pjenlrDQoNCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KDQogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KDQogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiovDQovKioNCiogXGRldGFpbHMgIGFsbG93IGVhc3kgdXBsb2FkIHdpdGggcGhwIGFuZCB3ZWIgZm9ybXMNCiogXGF1dGhvciAgU3p5bW9uIMWBdWthc3pjenlrIDxzenltb24ubHVrYXN6Y3p5a0BnbWFpbC5jb20+DQoqIFxzaW5jZSAgQXByaWwvMjAwNw0KKi8NCmNsYXNzICBTaW1wbGVVcGxvYWQgDQp7DQoJcHJpdmF0ZSAgJGRpciA9ICIuIjsgLy8vPCBwbGFjZSB3aGVyZSBvdXIgZG93bmxvYWQgd2lsbCBiZSANCglwcml2YXRlICRmaWxlX2MgPSAwOyAvLy88IGFsbCBmaWxlIGNvbnRlbnRzDQoJcHJpdmF0ZSAgJG1heF9uYW1lX3NpemUgPSAyMDsgLy8vPCBtYXggbmFtZSBzaXplIHdpdGhvdXQgZXh0ZW5zaW9uDQoJcHJpdmF0ZSAkcmFuZG9tX3NpemU9IDU7IC8vLzwgc2l6ZSBvZiB0aGUgcmFuZG9tIHBhcnQsIGlmIGZhbHNlIC0+IG5vIHJhbmRvbSBwYXJ0DQoJcHJpdmF0ZSAkcmFuZG9tX2VuZCA9Jyc7IC8vLzwgbGFzdCBnZW5lcmF0ZWQgcmFuZG9tIGVuZGluZw0KCXByaXZhdGUgJG5hbWVfZm9ybWF0aW5nID0gIHRydWU7IC8vLzwgaWYgdHJ1ZSwgZmlsZSBpcyBjcm9wcGVkIHRvICRtYXhfbmFtZV9zaXplIGFuZCBhbGwgbm9uIFthLXpBLVowLTkuXSBhcmUgcmVtb3ZlZA0KCXByaXZhdGUgJG1ha2VfbWQ1ID0gIHRydWU7IC8vLzwgaWYgdG8gbWFrZSBtZDUgc3VtIGF0IHRoZSBlbmQNCglwcml2YXRlICRkZWJ1ZyA9IGZhbHNlOw0KCQ0KLyoqDQoqIFxicmllZiAgIHNldHMgcmFuZG9taXplIHNlZWQNCiovDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAgKQ0KCXsNCgkJJHRoaXMtPmZpbGVfYyA9IGFycmF5KCk7DQoJCW10X3NyYW5kKChkb3VibGUpIG1pY3JvdGltZSgpICogMTAwMDAwMCk7DQoJCSR0aGlzLT5fZGVidWcoJHRoaXMtPmZpbGVfYyk7DQoJfQ0KDQovKiANCglwcml2YXRlIHByb3BlcnRpZXMgDQoqLw0KLyoqDQoqIFxicmllZiBnZXRzIHBhdGggdG8gdGhlIHVwbG9hZGVkIGZpbGUNCiovDQoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRGaWxlUGF0aCgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPmZpbGVfY1sicGF0aCJdOw0KCX0NCi8qKg0KKiBcYnJpZWYgICBzZXRzIHRoZSB1cGxvYWQgcGF0aA0KKi8NCglwcml2YXRlIGZ1bmN0aW9uIHNldEZpbGVQYXRoKCkNCgl7DQoJCSR0aGlzLT5maWxlX2NbInBhdGgiXSAgPSAgc3RyX3JlcGxhY2UoICIvLyIsICIvIiwgJHRoaXMtPmRpci4iLyIuJHRoaXMtPmZpbGVfY1siZnVsbF9uYW1lIl0gKSA7DQoJfQ0KLyogDQoJcHJpdmF0ZSBmdW5jdGlvbnMgDQoqLw0KLyoqDQoqIFxicmllZiAgZGVidWcgZnVuY3Rpb24NCiovCQ0KCXByaXZhdGUgZnVuY3Rpb24gX2RlYnVnKCAkdmFyLCAkdHh0ID0gJycgKQ0KCXsNCgkJaWYoICR0aGlzLT5kZWJ1ZyApDQoJCQl2YXJfZHVtcCgkdmFyKTsNCgl9DQoNCi8qKg0KKiBcYnJpZWYgICBzZXBhcmF0ZXMgdGhlIGZpbGUgbmFtYSBmcm9tIGV4dGVuc2lvbg0KKiBccGFyYW0gbmFtZSBnb3QgZnJvbSAkX0ZJTEVTWyduYW1lXQ0KKi8NCglwcml2YXRlIGZ1bmN0aW9uIHNldE5hbWVzKCAgJG5hbWUgKQ0KCXsNCgkJJGV4dCA9ICcnOyAkZmlsZSA9ICcnOw0KCQkkYXJyTmFtZSA9IGV4cGxvZGUoIi4iLCRuYW1lKTsNCgkJJGFyclNpemUgPSBjb3VudCgkYXJyTmFtZSk7DQoJCQ0KCQlpZiggJGFyck5hbWVbMF0gPT0gJycgKSAvLyBuYW1lIGJlZ2lucyB3aXRoIGRvdA0KCQl7DQoJCQlhcnJheV9zaGlmdCgkYXJyTmFtZSk7DQoJCQkkYXJyTmFtZVswXSA9ICIuIi4kYXJyTmFtZVswXTsNCgkJCSRhcnJTaXplID0gY291bnQoJGFyck5hbWUpOw0KCQl9CQ0KCQlpZiggJGFyclNpemUgPiAyICYmIGluX2FycmF5KCAkYXJyTmFtZVskYXJyU2l6ZS0yXS4iLiIuJGFyck5hbWVbJGFyclNpemUtMV0sICBhcnJheSgndGFyLmd6JywgJ3Rhci5ieicsICd0YXIuYnoyJykgKSkgIC8vIGRvdWJsZSBleHRlbnNpb25zDQoJCXsNCgkJCSRleHQgPSAkYXJyTmFtZVskYXJyU2l6ZS0yXS4iLiIuJGFyck5hbWVbJGFyclNpemUtMV07DQoJCQl1bnNldCggJGFyck5hbWVbJGFyclNpemUtMl0gLCAkYXJyTmFtZVskYXJyU2l6ZS0xXSApOw0KCQkJJGZpbGUgPSBpbXBsb2RlKCIuIiwgJGFyck5hbWUpOw0KCQl9DQoJCWVsc2UgaWYoICRhcnJTaXplID4gMSApIC8vIHRoZXJlIGlzIGRvdCBpbiBuYW1lDQoJCXsNCgkJCSRleHQgPSAkYXJyTmFtZVskYXJyU2l6ZS0xXTsNCgkJCXVuc2V0KCAkYXJyTmFtZVskYXJyU2l6ZS0xXSApOw0KCQkJJGZpbGUgPSBpbXBsb2RlKCIuIiwgJGFyck5hbWUpOw0KCQl9DQoJCWVsc2UgLy8gbm8gZG90IGluIG5hbWUNCgkJew0KCQkJJGZpbGUgPSAkbmFtZTsNCgkJfQ0KCQkNCgkJaWYoJHRoaXMtPm5hbWVfZm9ybWF0aW5nKQ0KCQl7DQoJCQkkZXh0ICA9ICR0aGlzLT5mb3JtYXRTdHIoJGV4dCk7DQoJCQkkZmlsZSAgPSAkdGhpcy0+Zm9ybWF0U3RyKCRmaWxlKTsNCgkJfQ0KCQkkdGhpcy0+ZmlsZV9jWyJuYW1lIl0gPSAkZmlsZTsNCgkJJHRoaXMtPmZpbGVfY1siZXh0Il0gPSAkZXh0Ow0KCQkNCgkJJHRoaXMtPnNldEZpbGVQYXRoKCk7DQoJfQ0KLyoqDQoqIFxicmllZiAgIGdlbmVyYXRlcyB0aGUgcmFuZG9tIHBhcnQgYW5kIHNldHMgdGhlICR0aGlzLT5maWxlX2NbImZ1bGxfbmFtZSJdIHJpZ2h0DQoqIFxyZXR1cm4gIGZhbHNlIGlmICR0aGlzLT5yYW5kb21fc2l6ZSA9PT0gZmFsc2UgDQoqLw0KCXByaXZhdGUgZnVuY3Rpb24gbWFrZVJhbmRvbSgpIA0KCXsNCgkJaWYoICR0aGlzLT5yYW5kb21fc2l6ZT09PSBmYWxzZSApDQoJCQlyZXR1cm4gZmFsc2U7DQoJCQ0KCQkkdGhpcy0+cmFuZG9tX2VuZCA9ICIiOw0KCQkkYXJyID0gIjEyMzQ1Njc4OTBxd2VydHl1aW9wYXNkZmdoamtsenhjdmJubVFXRVJUWVVJT1BBU0RGR0hKS0xaWENWQk5NIjsNCgkJZm9yICgkaSA9IDA7ICRpIDwgJHRoaXMtPnJhbmRvbV9zaXplOyAkaSsrKSANCgkJCSR0aGlzLT5yYW5kb21fZW5kIC49ICRhcnJbbXRfcmFuZCgpJnN0cmxlbigkYXJyKV07DQoJCQkNCgkJJHRoaXMtPmZpbGVfY1siZnVsbF9uYW1lIl0gID0gJHRoaXMtPmZpbGVfY1sibmFtZSJdLiJfIi4kdGhpcy0+cmFuZG9tX2VuZC4iLiIuJHRoaXMtPmZpbGVfY1siZXh0Il07DQoJCSR0aGlzLT5zZXRGaWxlUGF0aCgpOw0KCX0NCg0KDQovKioNCiogXGJyaWVmICAgcmVtb3ZlcyBhbGwgbm9uIFthLXpBLVowLTkuXSAgY2hhcnMNCiogXHBhcmFtIHZhciBzdHIgdG8gZm9ybWF0DQoqIFxyZXR1cm4gIGZvcm1hdGVkIHN0cmluZw0KKi8NCglwcml2YXRlIGZ1bmN0aW9uIGZvcm1hdFN0cigkdmFyKQ0KCXsNCgkJJHZhciA9IHN0cnRyKCR2YXIsIsSExIXFmsWbxJjEmcOTw7PFgcWCxbvFvMW5xbrEhsSHxYPFhCIsIkFhU3NFZU9vTGxaelp6Q2NObiIpOyAvLy88DQoJCSR2YXIgPSBwcmVnX3JlcGxhY2UoIi8oW15hLXpBLVowLTlcLl0pLyIsICJfIiwgJHZhciApIDsgLy8vPA0KCQkkdmFyID0gbWJfc3RydG9sb3dlcigkdmFyKTsgLy8vPA0KCQlyZXR1cm4gJHZhcjsNCgl9DQovKioNCiogXGJyaWVmICAgY3JvcHMgdGhlIG5hbWUgdG8gJHRoaXMtPm1heF9uYW1lX3NpemUNCiogXHJldHVybiAgZmFsc2UgaWYgJHRoaXMtPm5hbWVfZm9ybWF0aW5nIGlzIGZhbHNlDQoqLw0KCXByaXZhdGUgZnVuY3Rpb24gZm9ybWF0TmFtZSgpDQoJew0KCQlpZiggISR0aGlzLT5uYW1lX2Zvcm1hdGluZyApDQoJCQlyZXR1cm4gZmFsc2U7DQoJCSRzaXplID0gc3RybGVuKCR0aGlzLT5maWxlX2NbIm5hbWUiXSk7CQkNCgkJaWYgKCAkc2l6ZSsoJHRoaXMtPnJhbmRvbV9zaXplID8gKGludCkkdGhpcy0+cmFuZG9tX3NpemUtMSA6IDApID4gJHRoaXMtPm1heF9uYW1lX3NpemUgKQ0KCQkJJHRoaXMtPmZpbGVfY1sibmFtZSJdID0gc3Vic3RyKCR0aGlzLT5maWxlX2NbIm5hbWUiXSwNCgkJCQkwLA0KCQkJCSR0aGlzLT5tYXhfbmFtZV9zaXplLSgkdGhpcy0+cmFuZG9tX3NpemUgPyAoaW50KSR0aGlzLT5yYW5kb21fc2l6ZS0xIDogMCkgKTsgDQoNCgkJJHRoaXMtPm1ha2VSYW5kb20oKTsNCgl9DQoJDQoNCg0KLyogDQoJcHVibGljIHByb3BlcnRpZXMgDQoqLw0KLyoqDQoqIFxicmllZiAgIHNldHMgZGVidWdnaW5nDQoqLw0KCWZ1bmN0aW9uIHNldERlYnVnKCAkYiApDQoJew0KCQkkdGhpcy0+ZGVidWcgPSAoYm9vbCkgJGI7DQoJfQ0KCQ0KLyoqDQoqIFxicmllZiBzZXQgYWxsIGNvbnRlbnRzIGFib3V0IHRoZSBmaWxlDQoqIFxkZXRhaWxzICBleGFtcGxlOiAkdXBsb2FkLT5zZXRDb250ZW50cyggJF9GSUxFU1siZmlsZSJdICk7DQoqIFxwYXJhbSBmaWxlICRfRklMRVNbImZpbGUiXQ0KKiBcZXhjZXB0aW9uIEV4Y2VwdGlvbiBuZXcgRXhjZXB0aW9uKCdUaGUgZmlsZSB3YXMgbm90IHVwbG9hZGVkIHRvIC90bXAgZGlyZWN0b3J5JykNCiogXGV4Y2VwdGlvbiBFeGNlcHRpb24gbmV3IEV4Y2VwdGlvbignVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSAnLmluaV9nZXQoInVwbG9hZF9tYXhfZmlsZXNpemUiKS4nIGRpcmVjdGl2ZSBpbiBwaHAuaW5pLicpDQoqIFxleGNlcHRpb24gRXhjZXB0aW9uIG5ldyBFeGNlcHRpb24oJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIE1BWF9GSUxFX1NJWkUgZGlyZWN0aXZlIHRoYXQgd2FzIHNwZWNpZmllZCBpbiB0aGUgSFRNTCBmb3JtLicpDQoqIFxleGNlcHRpb24gRXhjZXB0aW9uIG5ldyBFeGNlcHRpb24oJ1RoZSB1cGxvYWRlZCBmaWxlIHdhcyBvbmx5IHBhcnRpYWxseSB1cGxvYWRlZC4nKQ0KKiBcZXhjZXB0aW9uIEV4Y2VwdGlvbiBuZXcgRXhjZXB0aW9uKCdObyBmaWxlIHdhcyB1cGxvYWRlZC4nKQ0KKiBcZXhjZXB0aW9uIEV4Y2VwdGlvbiBuZXcgRXhjZXB0aW9uKCdNaXNzaW5nIGEgdGVtcG9yYXJ5IGZvbGRlci4nKQ0KKiBcZXhjZXB0aW9uIEV4Y2VwdGlvbiBuZXcgRXhjZXB0aW9uKCdGYWlsZWQgdG8gd3JpdGUgZmlsZSB0byBkaXNrLicpDQoqIFxleGNlcHRpb24gRXhjZXB0aW9uIG5ldyBFeGNlcHRpb24oJ0ZpbGUgdXBsb2FkIHN0b3BwZWQgYnkgZXh0ZW5zaW9uLicpDQoqIFxyZXR1cm4gIGZhbHNlIGlmICRmaWxlIGlzIG5vdCB2YWxpZA0KKi8NCgkgcHVibGljIGZ1bmN0aW9uIHNldENvbnRlbnRzKCAkZmlsZSApDQoJew0KCQlpZiggICEoQGlzX3VwbG9hZGVkX2ZpbGUoJGZpbGVbInRtcF9uYW1lIl0pICkpDQoJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdUaGUgZmlsZSB3YXMgbm90IHVwbG9hZGVkIHRvIC90bXAgZGlyZWN0b3J5Jyk7DQoJCWlmKCAhaXNzZXQoJGZpbGVbIm5hbWUiXSkgfHwgIWlzc2V0KCRmaWxlWyJ0bXBfbmFtZSJdKSAgIHx8ICFpc3NldCgkZmlsZVsidHlwZSJdICkgfHwgIWlzc2V0KCRmaWxlWyJzaXplIl0pIHx8ICFpc3NldCgkZmlsZVsiZXJyb3IiXSkgICkNCgkJCXJldHVybiBmYWxzZTsNCgkJJGZpbGVbInNpemUiXSA9IChpbnQpICRmaWxlWyJzaXplIl07DQoJCWlmKCAkZmlsZVsiZXJyb3IiXSAhPSBVUExPQURfRVJSX09LICkNCgkJCXN3aXRjaCggJGZpbGVbImVycm9yIl0gKSANCgkJCXsNCgkJCQljYXNlIFVQTE9BRF9FUlJfSU5JX1NJWkU6IHRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgJy5pbmlfZ2V0KCJ1cGxvYWRfbWF4X2ZpbGVzaXplIikuJyBkaXJlY3RpdmUgaW4gcGhwLmluaS4nKTsgYnJlYWs7DQoJCQkJY2FzZSBVUExPQURfRVJSX0ZPUk1fU0laRTogdGhyb3cgbmV3IEV4Y2VwdGlvbignVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgTUFYX0ZJTEVfU0laRSBkaXJlY3RpdmUgdGhhdCB3YXMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIGZvcm0uJyk7IGJyZWFrOw0KCQkJCWNhc2UgVVBMT0FEX0VSUl9QQVJUSUFMOiB0aHJvdyBuZXcgRXhjZXB0aW9uKCdUaGUgdXBsb2FkZWQgZmlsZSB3YXMgb25seSBwYXJ0aWFsbHkgdXBsb2FkZWQuJyk7IGJyZWFrOw0KCQkJCWNhc2UgVVBMT0FEX0VSUl9OT19GSUxFOiB0aHJvdyBuZXcgRXhjZXB0aW9uKCdObyBmaWxlIHdhcyB1cGxvYWRlZC4nKTsgYnJlYWs7DQoJCQkJY2FzZSBVUExPQURfRVJSX05PX1RNUF9ESVI6IHRocm93IG5ldyBFeGNlcHRpb24oJ01pc3NpbmcgYSB0ZW1wb3JhcnkgZm9sZGVyLicpOyBicmVhazsNCgkJCQljYXNlIFVQTE9BRF9FUlJfQ0FOVF9XUklURTogdGhyb3cgbmV3IEV4Y2VwdGlvbignRmFpbGVkIHRvIHdyaXRlIGZpbGUgdG8gZGlzay4nKTsgYnJlYWs7DQoJCQkJY2FzZSBVUExPQURfRVJSX0VYVEVOU0lPTjogdGhyb3cgbmV3IEV4Y2VwdGlvbignRmlsZSB1cGxvYWQgc3RvcHBlZCBieSBleHRlbnNpb24uJyk7IGJyZWFrOw0KCQkJfQ0KCQkkdGhpcy0+X2RlYnVnKCR0aGlzLT5maWxlX2MpOw0KCQl1bnNldCggJGZpbGVbImVycm9yIl0pOw0KCQkvL34gaWYoIWlzX2FycmF5KCAkdGhpcy0+ZmlsZV9jICkgKQ0KCQkJLy9+ICR0aGlzLT5maWxlX2MgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCAkZmlsZSBhcyAka2V5ID0+ICR2YXIpIA0KCQkJJHRoaXMtPmZpbGVfY1ska2V5XSA9ICR2YXI7DQoJCSR0aGlzLT5fZGVidWcoJHRoaXMtPmZpbGVfYyk7DQoJCSR0aGlzLT5zZXROYW1lcygkZmlsZVsibmFtZSJdKTsNCgkJJHRoaXMtPl9kZWJ1ZygkdGhpcy0+ZmlsZV9jKTsNCgl9DQoJDQovKioNCiogXGJyaWVmICAgZ2V0IGRhdGEgYWJvdXQgdXBsb2FkZWQgZmlsZQ0KKiBccmV0dXJuICANCiovDQoJIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50cygpDQoJew0KCQkkcmV0ID0gJHRoaXMtPmZpbGVfYzsNCgkJJHJldFsncGF0aCddID1yZWFscGF0aCgkcmV0WydwYXRoJ10pOw0KCQl1bnNldCggJHJldFsidG1wX25hbWUiXSk7DQoJCXJldHVybiAkcmV0Ow0KCX0NCg0KLyoqDQoqIFxicmllZiAgc2V0cyAkdGhpcy0+cmFuZG9tX3NpemUNCiogXHBhcmFtIGludCAoMS0zMikgbnVtYmVyIG9mIHJhbmRvbSBjaGFycyBvZiBmYWxzZQ0KKi8NCgkgcHVibGljIGZ1bmN0aW9uIHNldFJhbmRvbUFkZFNpemUoICRpbnQpDQoJew0KCQlpZiggKGludCkgJGludCA+IDMzICkNCgkJCSR0aGlzLT5yYW5kb21fc2l6ZT0gMzI7DQoJCWVsc2VpZiggKGludCkgJGludCA+IDAgKQ0KCQkJJHRoaXMtPnJhbmRvbV9zaXplPSAoaW50KSAkaW50Ow0KCQllbHNlDQoJCQkkdGhpcy0+cmFuZG9tX3NpemU9IGZhbHNlOw0KCX0NCg0KLyoqDQoqIFxicmllZiAgIHNldHMgdGhlICR0aGlzLT5kaXINCiogXHBhcmFtIHBhdGggdG8gdXBsb2FkIGRpcg0KKi8NCgkgcHVibGljIGZ1bmN0aW9uIHNldFBhdGgoJHBhdGgpDQoJew0KCQkkdGhpcy0+ZGlyID0gJHBhdGg7DQoJCSR0aGlzLT50ZXN0UGF0aCgpOw0KCQkkdGhpcy0+c2V0RmlsZVBhdGgoKTsNCgl9DQovKioNCiogXGJyaWVmICAgdGVzdHMgJHRoaXMtPmRpcg0KKiBcZXhjZXB0aW9uIEV4Y2VwdGlvbiBuZXcgRXhjZXB0aW9uKCdQYXRoIG5vdCB3cml0YWJsZS4nKQ0KKi8NCglwdWJsaWMgZnVuY3Rpb24gdGVzdFBhdGgoKQ0KCXsNCgkJJHBhdGggPSAkdGhpcy0+ZGlyOw0KCQkkdGltZSA9IHRpbWUoKTsNCgkJJHJhbmQgPSBtdF9yYW5kKCk7DQoNCgkJaWYgKCAhIEBmaWxlX3B1dF9jb250ZW50cygkcGF0aC4kdGltZS4kcmFuZCAsICIuLiIgKSApDQoJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCJQYXRoICckcGF0aCcgbm90IHdyaXRhYmxlIik7DQoJCUB1bmxpbmsoJHBhdGguJHRpbWUuJHJhbmQgKTsNCgkJJHRoaXMtPnNldEZpbGVQYXRoKCk7DQoJfQ0KLyoqDQoqIFxicmllZiAgc2V0cyAkdGhpcy0+bWF4X25hbWVfc2l6ZQ0KKiBccGFyYW0gbWF4X25hbWVfc2l6ZSAgaW50IGJpZ2dlciB0aGFuIDUNCiovDQoJcHVibGljICBmdW5jdGlvbiBzZXRNYXhOYW1lU2l6ZSgkbWF4X25hbWVfc2l6ZSkNCgl7DQoJCWlmICgoaW50KSRtYXhfbmFtZV9zaXplID4gNSkNCgkJCSR0aGlzLT5tYXhfbmFtZV9zaXplID0gKGludCkkbWF4X25hbWVfc2l6ZTsNCgkJZWxzZQ0KCQkJJHRoaXMtPm1heF9uYW1lX3NpemUgPSAyMDsNCgl9DQovKioNCiogXGJyaWVmICAgc2V0cyAkdGhpcy0+bmFtZV9mb3JtYXRpbmcNCiogXHBhcmFtIGZvcm1hdCAgYm9vbA0KKi8NCglwdWJsaWMgIGZ1bmN0aW9uIHNldE5hbWVGb3JtYXRpbmcoICRmb3JtYXQpDQoJew0KCQkgJHRoaXMtPm5hbWVfZm9ybWF0aW5nID0gKGJvb2wpICRmb3JtYXQJOw0KCX0NCi8qKg0KKiBcYnJpZWYgICBzZXRzICR0aGlzLT5yYW5kb21fZW5kDQoqIFxwYXJhbSBmb3JtYXQgIGJvb2wNCiovDQoJcHVibGljICBmdW5jdGlvbiBzZXRSYW5kb21FbmRpbmcoICRmb3JtYXQpDQoJew0KCQkgJHRoaXMtPnJhbmRvbV9lbmQgPSAoYm9vbCkgJGZvcm1hdDsNCgl9DQovKioNCiogXGJyaWVmICAgc2V0cyAkdGhpcy0+bWFrZV9tZDUNCiogXHBhcmFtIG1ha2UgYm9vbA0KKi8NCglwdWJsaWMgIGZ1bmN0aW9uIHNldE1kNU1ha2luZyggJG1ha2UpDQoJew0KCQkgJHRoaXMtPm1ha2VfbWQ1ID0gKGJvb2wpICRtYWtlCTsNCgl9DQovKiANCglwdWJsaWMgZnVuY3Rpb25zIC8vLzwNCiovDQovKioNCiogXGJyaWVmIHVwbG9hZHMgZmlsZQ0KKiBcZGV0YWlscyANCgkJZm9ybWF0cyB0aGUgZmlsZSBuYW1lLCBnZW5lcmF0ZXMgbmV3IHJhbmRvbSBuYW1lcywgIG1ha2VzIG1kNSBzdW0gIA0KCQlhbGwgYWNjb3JkaW5nIHRvIGNvbmZpZ3VyYXRpb24gDQoqIFxwYXJhbSBtb3ZlICBpZiB0cnVlIHVzZXMgbW92ZV91cGxvYWRlZF9maWxlKCkgZWxzZSBjb3B5KCkNCiogXGV4Y2VwdGlvbiBFeGNlcHRpb24gbmV3IEV4Y2VwdGlvbignRmlsZSAoJy4kdGhpcy0+ZmlsZV9jWyJmdWxsX25hbWUiXS4nKSB5b3UgYXJlIHRyeWluZyB0byB1cGxvYWQgZXhpc3RzIG9uIHNlcndlcicpDQoqIFxyZXR1cm4gIChib29sKSAgdHJ1ZSBpZiBzdWNjZXMgZWxzZSBmYWxzZQ0KKi8NCglwdWJsaWMgZnVuY3Rpb24gdXBsb2FkRmlsZSggJG1vdmUgPSBmYWxzZSkNCgl7DQoJCSRyZXQgPSBmYWxzZTsNCgkJJHRoaXMtPnNldEZpbGVQYXRoKCk7DQoJCSR0aGlzLT50ZXN0UGF0aCgpOw0KCQkkdGhpcy0+Zm9ybWF0TmFtZSgpOw0KCQkNCgkJaWYoIGZpbGVfZXhpc3RzKCR0aGlzLT5maWxlX2NbInBhdGgiXSkgKQ0KCQkJaWYoICR0aGlzLT5yYW5kb21fc2l6ZSE9PSBmYWxzZSkgDQoJCQkJd2hpbGUoIGZpbGVfZXhpc3RzKCR0aGlzLT5maWxlX2NbInBhdGgiXSkgKQ0KCQkJCQkkdGhpcy0+bWFrZVJhbmRvbSgpIDsNCgkJCWVsc2UNCgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdGaWxlICgnLiR0aGlzLT5maWxlX2NbImZ1bGxfbmFtZSJdLicpIHlvdSBhcmUgdHJ5aW5nIHRvIHVwbG9hZCBleGlzdHMgb24gc2Vyd2VyJyk7DQoJCQ0KCQlpZiggIShib29sKSAkbW92ZSkNCgkJew0KCQkJaWYgKGNvcHkoJHRoaXMtPmZpbGVfY1sidG1wX25hbWUiXSwkdGhpcy0+ZmlsZV9jWyJwYXRoIl0pKQ0KCQkJCSRyZXQgPSB0cnVlOw0KCQl9IGVsc2Ugew0KCQkJaWYgKG1vdmVfdXBsb2FkZWRfZmlsZSgkdGhpcy0+ZmlsZV9jWyJ0bXBfbmFtZSJdLCR0aGlzLT5maWxlX2NbInBhdGgiXSkpDQoJCQkJJHJldCA9IHRydWU7DQoJCX0NCgkJJHRoaXMtPl9kZWJ1ZygkcmV0KTsNCgkJJHRoaXMtPl9kZWJ1ZygkbW92ZSk7DQoJCWlmKCAkcmV0ICYmICR0aGlzLT5tYWtlX21kNSkNCgkJCSR0aGlzLT5maWxlX2NbJ21kNSddID0gbWQ1X2ZpbGUoICR0aGlzLT5maWxlX2NbInBhdGgiXSApOw0KCQlyZXR1cm4gJHJldDsNCgl9CQ0KCQ0KDQoNCn0NCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/vnc_httpdownload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/vnc_httpdownload/class.httpdownload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogQGF1dGhvciBOZ3V5ZW4gUXVvYyBCYW8gPHF1b2NiYW8uY29kZXJAZ21haWwuY29tPg0KIEB2ZXJzaW9uIDEuMw0KIEBkZXNjIEEgc2ltcGxlIG9iamVjdCBmb3IgcHJvY2Vzc2luZyBkb3dubG9hZCBvcGVyYXRpb24gLCBzdXBwb3J0IHNlY3Rpb24gZG93bmxvYWRpbmcNCiBQbGVhc2Ugc2VuZCBtZSBhbiBlbWFpbCBpZiB5b3UgZmluZCBzb21lIGJ1ZyBvciBpdCBkb2Vzbid0IHdvcmsgd2l0aCBkb3dubG9hZCBtYW5hZ2VyLg0KIEkndmUgdGVzdGVkIGl0IHdpdGgNCiAJLSBSZWdldA0KIAktIEZETQ0KIAktIEZsYXNoR2V0DQogCS0gR2V0UmlnaHQNCiAJLSBEQVANCiAJDQogQGNvcHlyaWdodCBJdCdzIGZyZWUgYXMgbG9uZyBhcyB5b3Uga2VlcCB0aGlzIGhlYWRlciAuDQogQGV4YW1wbGUNCiANCiAxOiBGaWxlIERvd25sb2FkDQogCSRvYmplY3QgPSBuZXcgZG93bmxvYWRlcjsNCiAJJG9iamVjdC0+c2V0X2J5ZmlsZSgkZmlsZW5hbWUpOyAvL0Rvd25sb2FkIGZyb20gYSBmaWxlDQogCSRvYmplY3QtPnVzZV9yZXN1bWUgPSB0cnVlOyAvL0VuYWJsZSBSZXN1bWUgTW9kZQ0KIAkkb2JqZWN0LT5kb3dubG9hZCgpOyAvL0Rvd25sb2FkIEZpbGUNCiAJDQogMjogRGF0YSBEb3dubG9hZA0KICAkb2JqZWN0ID0gbmV3IGRvd25sb2FkZXI7DQogCSRvYmplY3QtPnNldF9ieWRhdGEoJGRhdGEpOyAvL0Rvd25sb2FkIGZyb20gcGhwIGRhdGENCiAJJG9iamVjdC0+dXNlX3Jlc3VtZSA9IHRydWU7IC8vRW5hYmxlIFJlc3VtZSBNb2RlDQogCSRvYmplY3QtPnNldF9maWxlbmFtZSgkZmlsZW5hbWUpOyAvL1NldCBkb3dubG9hZCBuYW1lDQogCSRvYmplY3QtPnNldF9taW1lKCRtaW1lKTsgLy9GaWxlIE1JTUUgKERlZmF1bHQ6IGFwcGxpY2F0aW9uL290ZWN0LXN0cmVhbSkNCiAJJG9iamVjdC0+ZG93bmxvYWQoKTsgLy9Eb3dubG9hZCBGaWxlDQogCQ0KIAkzOiBNYW51YWwgRG93bmxvYWQNCiAJJG9iamVjdCA9IG5ldyBkb3dubG9hZGVyOw0KIAkkb2JqZWN0LT5zZXRfZmlsZW5hbWUoJGZpbGVuYW1lKTsNCgkkb2JqZWN0LT5kb3dubG9hZF9leCgkc2l6ZSk7DQoJLy9vdXRwdXQgeW91ciBkYXRhIGhlcmUgLCByZW1lbWJlciB0byB1c2UgJHRoaXMtPnNlZWtfc3RhcnQgYW5kICR0aGlzLT5zZWVrX2VuZCB2YWx1ZSA6KQ0KCQ0KKiovDQoNCmNsYXNzIGh0dHBkb3dubG9hZCB7DQoNCgl2YXIgJGRhdGEgPSBudWxsOw0KCXZhciAkZGF0YV9sZW4gPSAwOw0KCXZhciAkZGF0YV9tb2QgPSAwOw0KCXZhciAkZGF0YV90eXBlID0gMDsNCgl2YXIgJGRhdGFfc2VjdGlvbiA9IDA7IC8vc2VjdGlvbiBkb3dubG9hZA0KCS8qKg0KCSAqIEB2YXIgT2JqZWN0SGFuZGxlcg0KCSAqKi8NCgl2YXIgJGhhbmRsZXIgPSBhcnJheSgnYXV0aCcgPT4gbnVsbCk7DQoJdmFyICR1c2VfcmVzdW1lID0gdHJ1ZTsNCgl2YXIgJHVzZV9hdXRvZXhpdCA9IGZhbHNlOw0KCXZhciAkdXNlX2F1dGggPSBmYWxzZTsNCgl2YXIgJGZpbGVuYW1lID0gbnVsbDsNCgl2YXIgJG1pbWUgPSBudWxsOw0KCXZhciAkYnVmc2l6ZSA9IDIwNDg7DQoJdmFyICRzZWVrX3N0YXJ0ID0gMDsNCgl2YXIgJHNlZWtfZW5kID0gLTE7DQoJDQoJLyoqDQoJICogVG90YWwgYmFuZHdpZHRoIGhhcyBiZWVuIHVzZWQgZm9yIHRoaXMgZG93bmxvYWQNCgkgKiBAdmFyIGludA0KCSAqLw0KCXZhciAkYmFuZHdpZHRoID0gMDsNCgkvKioNCgkgKiBTcGVlZCBsaW1pdA0KCSAqIEB2YXIgZmxvYXQNCgkgKi8NCgl2YXIgJHNwZWVkID0gMDsNCgkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0NCgl8IERvd25sb2FkIEZ1bmN0aW9uIHwNCgktLS0tLS0tLS0tLS0tLS0tLS0tKi8NCgkvKioNCgkgKiBDaGVjayBhdXRoZW50aWNhdGlvbiBhbmQgZ2V0IHNlZWsgcG9zaXRpb24NCgkgKiBAcmV0dXJuIGJvb2wNCgkgKiovDQoJZnVuY3Rpb24gaW5pdGlhbGl6ZSgpIHsNCgkJZ2xvYmFsICRIVFRQX1NFUlZFUl9WQVJTOw0KCQkNCgkJaWYgKCR0aGlzLT51c2VfYXV0aCkgLy91c2UgYXV0aGVudGljYXRpb24NCgkJew0KCQkJaWYgKCEkdGhpcy0+X2F1dGgoKSkgLy9ubyBhdXRoZW50aWNhdGlvbg0KCQkJew0KCQkJCWhlYWRlcignV1dXLUF1dGhlbnRpY2F0ZTogQmFzaWMgcmVhbG09IlBsZWFzZSBlbnRlciB5b3VyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCInKTsNCiAgICAJCWhlYWRlcignSFRUUC8xLjAgNDAxIFVuYXV0aG9yaXplZCcpOw0KICAgIAkJaGVhZGVyKCdzdGF0dXM6IDQwMSBVbmF1dGhvcml6ZWQnKTsNCiAgICAJCWlmICgkdGhpcy0+dXNlX2F1dG9leGl0KSBleGl0KCk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoJCWlmICgkdGhpcy0+bWltZSA9PSBudWxsKSAkdGhpcy0+bWltZSA9ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iOyAvL2RlZmF1bHQgbWltZQ0KCQkNCgkJaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX1JBTkdFJ10pIHx8IGlzc2V0KCRIVFRQX1NFUlZFUl9WQVJTWydIVFRQX1JBTkdFJ10pKQ0KCQl7DQoJCQkNCgkJCWlmIChpc3NldCgkSFRUUF9TRVJWRVJfVkFSU1snSFRUUF9SQU5HRSddKSkgJHNlZWtfcmFuZ2UgPSBzdWJzdHIoJEhUVFBfU0VSVkVSX1ZBUlNbJ0hUVFBfUkFOR0UnXSAsIHN0cmxlbignYnl0ZXM9JykpOw0KCQkJZWxzZSAkc2Vla19yYW5nZSA9IHN1YnN0cigkX1NFUlZFUlsnSFRUUF9SQU5HRSddICwgc3RybGVuKCdieXRlcz0nKSk7DQoJCQkNCgkJCSRyYW5nZSA9IGV4cGxvZGUoJy0nLCRzZWVrX3JhbmdlKTsNCgkJCQ0KCQkJaWYgKCRyYW5nZVswXSA+IDApDQoJCQl7DQoJCQkJJHRoaXMtPnNlZWtfc3RhcnQgPSBpbnR2YWwoJHJhbmdlWzBdKTsNCgkJCX0NCgkJCQ0KCQkJaWYgKCRyYW5nZVsxXSA+IDApICR0aGlzLT5zZWVrX2VuZCA9IGludHZhbCgkcmFuZ2VbMV0pOw0KCQkJZWxzZSAkdGhpcy0+c2Vla19lbmQgPSAtMTsNCgkJCQ0KCQkJaWYgKCEkdGhpcy0+dXNlX3Jlc3VtZSkNCgkJCXsNCgkJCQkkdGhpcy0+c2Vla19zdGFydCA9IDA7DQoJCQkJDQoJCQkJLy9oZWFkZXIoIkhUVFAvMS4wIDQwNCBCYWQgUmVxdWVzdCIpOw0KCQkJCS8vaGVhZGVyKCJTdGF0dXM6IDQwMCBCYWQgUmVxdWVzdCIpOw0KCQkJCQ0KCQkJCS8vZXhpdDsNCgkJCQkNCgkJCQkvL3JldHVybiBmYWxzZTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkdGhpcy0+ZGF0YV9zZWN0aW9uID0gMTsNCgkJCX0NCgkJCQ0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJHRoaXMtPnNlZWtfc3RhcnQgPSAwOw0KCQkJJHRoaXMtPnNlZWtfZW5kID0gLTE7DQoJCX0NCgkJDQoJCXJldHVybiB0cnVlOw0KCX0NCgkvKioNCgkgKiBTZW5kIGRvd25sb2FkIGluZm9ybWF0aW9uIGhlYWRlcg0KCSAqKi8NCglmdW5jdGlvbiBoZWFkZXIoJHNpemUsJHNlZWtfc3RhcnQ9bnVsbCwkc2Vla19lbmQ9bnVsbCkgew0KCQloZWFkZXIoJ0NvbnRlbnQtdHlwZTogJyAuICR0aGlzLT5taW1lKTsNCgkJaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iJyAuICR0aGlzLT5maWxlbmFtZSAuICciJyk7DQoJCWhlYWRlcignTGFzdC1Nb2RpZmllZDogJyAuIGRhdGUoJ0QsIGQgTSBZIEg6aTpzIFxHXE1cVCcgLCAkdGhpcy0+ZGF0YV9tb2QpKTsNCgkJaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTAnKTsNCgkJDQoJCWlmICgkdGhpcy0+ZGF0YV9zZWN0aW9uICYmICR0aGlzLT51c2VfcmVzdW1lKQ0KCQl7DQoJCQloZWFkZXIoIkhUVFAvMS4wIDIwNiBQYXJ0aWFsIENvbnRlbnQiKTsNCgkJCWhlYWRlcigiU3RhdHVzOiAyMDYgUGFydGlhbCBDb250ZW50Iik7DQoJCQloZWFkZXIoJ0FjY2VwdC1SYW5nZXM6IGJ5dGVzJyk7DQoJCQloZWFkZXIoIkNvbnRlbnQtUmFuZ2U6IGJ5dGVzICRzZWVrX3N0YXJ0LSRzZWVrX2VuZC8kc2l6ZSIpOw0KCQkJaGVhZGVyKCJDb250ZW50LUxlbmd0aDogIiAuICgkc2Vla19lbmQgLSAkc2Vla19zdGFydCArIDEpKTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCWhlYWRlcigiQ29udGVudC1MZW5ndGg6ICRzaXplIik7DQoJCX0NCgl9DQoJDQoJZnVuY3Rpb24gZG93bmxvYWRfZXgoJHNpemUpDQoJew0KCQlpZiAoISR0aGlzLT5pbml0aWFsaXplKCkpIHJldHVybiBmYWxzZTsNCgkJaWdub3JlX3VzZXJfYWJvcnQodHJ1ZSk7DQoJCS8vVXNlIHNlZWsgZW5kIGhlcmUNCgkJaWYgKCR0aGlzLT5zZWVrX3N0YXJ0ID4gKCRzaXplIC0gMSkpICR0aGlzLT5zZWVrX3N0YXJ0ID0gMDsNCgkJaWYgKCR0aGlzLT5zZWVrX2VuZCA8PSAwKSAkdGhpcy0+c2Vla19lbmQgPSAkc2l6ZSAtIDE7DQoJCSR0aGlzLT5oZWFkZXIoJHNpemUsJHNlZWssJHRoaXMtPnNlZWtfZW5kKTsNCgkJJHRoaXMtPmRhdGFfbW9kID0gdGltZSgpOw0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJDQoJLyoqDQoJICogU3RhcnQgZG93bmxvYWQNCgkgKiBAcmV0dXJuIGJvb2wNCgkgKiovDQoJZnVuY3Rpb24gZG93bmxvYWQoKSB7DQoJCWlmICghJHRoaXMtPmluaXRpYWxpemUoKSkgcmV0dXJuIGZhbHNlOw0KCQkNCgkJJHNlZWsgPSAkdGhpcy0+c2Vla19zdGFydDsNCgkJJHNwZWVkID0gJHRoaXMtPnNwZWVkOw0KCQkkYnVmc2l6ZSA9ICR0aGlzLT5idWZzaXplOw0KCQkkcGFja2V0ID0gMTsNCgkJDQoJCS8vZG8gc29tZSBjbGVhbiB1cA0KCQlAb2JfZW5kX2NsZWFuKCk7DQoJCSRvbGRfc3RhdHVzID0gaWdub3JlX3VzZXJfYWJvcnQodHJ1ZSk7DQoJCUBzZXRfdGltZV9saW1pdCgwKTsNCgkJJHRoaXMtPmJhbmR3aWR0aCA9IDA7DQoJCQ0KCQkkc2l6ZSA9ICR0aGlzLT5kYXRhX2xlbjsNCgkJDQoJCWlmICgkdGhpcy0+ZGF0YV90eXBlID09IDApIC8vZG93bmxvYWQgZnJvbSBhIGZpbGUNCgkJew0KCQkJDQoJCQkkc2l6ZSA9IGZpbGVzaXplKCR0aGlzLT5kYXRhKTsNCgkJCWlmICgkc2VlayA+ICgkc2l6ZSAtIDEpKSAkc2VlayA9IDA7DQoJCQlpZiAoJHRoaXMtPmZpbGVuYW1lID09IG51bGwpICR0aGlzLT5maWxlbmFtZSA9IGJhc2VuYW1lKCR0aGlzLT5kYXRhKTsNCgkJCQ0KCQkJJHJlcyA9IGZvcGVuKCR0aGlzLT5kYXRhLCdyYicpOw0KCQkJaWYgKCRzZWVrKSBmc2VlaygkcmVzICwgJHNlZWspOw0KCQkJaWYgKCR0aGlzLT5zZWVrX2VuZCA8ICRzZWVrKSAkdGhpcy0+c2Vla19lbmQgPSAkc2l6ZSAtIDE7DQoJCQkNCgkJCSR0aGlzLT5oZWFkZXIoJHNpemUsJHNlZWssJHRoaXMtPnNlZWtfZW5kKTsgLy9hbHdheXMgdXNlIHRoZSBsYXN0IHNlZWsNCgkJCSRzaXplID0gJHRoaXMtPnNlZWtfZW5kIC0gJHNlZWsgKyAxOw0KCQkJDQoJCQl3aGlsZSAoIShjb25uZWN0aW9uX2Fib3J0ZWQoKSB8fCBjb25uZWN0aW9uX3N0YXR1cygpID09IDEpICYmICRzaXplID4gMCkNCgkJCXsNCgkJCQlpZiAoJHNpemUgPCAkYnVmc2l6ZSkNCgkJCQl7DQoJCQkJCWVjaG8gZnJlYWQoJHJlcyAsICRzaXplKTsNCgkJCQkJJHRoaXMtPmJhbmR3aWR0aCArPSAkc2l6ZTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJZWNobyBmcmVhZCgkcmVzICwgJGJ1ZnNpemUpOw0KCQkJCQkkdGhpcy0+YmFuZHdpZHRoICs9ICRidWZzaXplOw0KCQkJCX0NCgkJCQkNCgkJCQkkc2l6ZSAtPSAkYnVmc2l6ZTsNCgkJCQlmbHVzaCgpOw0KCQkJCQ0KCQkJCWlmICgkc3BlZWQgPiAwICYmICgkdGhpcy0+YmFuZHdpZHRoID4gJHNwZWVkKiRwYWNrZXQqMTAyNCkpDQoJCQkJew0KCQkJCQlzbGVlcCgxKTsNCgkJCQkJJHBhY2tldCsrOw0KCQkJCX0NCgkJCX0NCgkJCWZjbG9zZSgkcmVzKTsNCgkJCQ0KCQl9DQoJCQ0KCQllbHNlaWYgKCR0aGlzLT5kYXRhX3R5cGUgPT0gMSkgLy9kb3dubG9hZCBmcm9tIGEgc3RyaW5nDQoJCXsNCgkJCWlmICgkc2VlayA+ICgkc2l6ZSAtIDEpKSAkc2VlayA9IDA7DQoJCQlpZiAoJHRoaXMtPnNlZWtfZW5kIDwgJHNlZWspICR0aGlzLT5zZWVrX2VuZCA9ICR0aGlzLT5kYXRhX2xlbiAtIDE7DQoJCQkkdGhpcy0+ZGF0YSA9IHN1YnN0cigkdGhpcy0+ZGF0YSAsICRzZWVrICwgJHRoaXMtPnNlZWtfZW5kIC0gJHNlZWsgKyAxKTsNCgkJCWlmICgkdGhpcy0+ZmlsZW5hbWUgPT0gbnVsbCkgJHRoaXMtPmZpbGVuYW1lID0gdGltZSgpOw0KCQkJJHNpemUgPSBzdHJsZW4oJHRoaXMtPmRhdGEpOw0KCQkJJHRoaXMtPmhlYWRlcigkdGhpcy0+ZGF0YV9sZW4sJHNlZWssJHRoaXMtPnNlZWtfZW5kKTsNCgkJCXdoaWxlICghY29ubmVjdGlvbl9hYm9ydGVkKCkgJiYgJHNpemUgPiAwKSB7DQoJCQkJaWYgKCRzaXplIDwgJGJ1ZnNpemUpDQoJCQkJew0KCQkJCQkkdGhpcy0+YmFuZHdpZHRoICs9ICRzaXplOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQkkdGhpcy0+YmFuZHdpZHRoICs9ICRidWZzaXplOw0KCQkJCX0NCgkJCQkNCgkJCQllY2hvIHN1YnN0cigkdGhpcy0+ZGF0YSAsIDAgLCAkYnVmc2l6ZSk7DQoJCQkJJHRoaXMtPmRhdGEgPSBzdWJzdHIoJHRoaXMtPmRhdGEgLCAkYnVmc2l6ZSk7DQoJCQkJDQoJCQkJJHNpemUgLT0gJGJ1ZnNpemU7DQoJCQkJZmx1c2goKTsNCgkJCQkNCgkJCQlpZiAoJHNwZWVkID4gMCAmJiAoJHRoaXMtPmJhbmR3aWR0aCA+ICRzcGVlZCokcGFja2V0KjEwMjQpKQ0KCQkJCXsNCgkJCQkJc2xlZXAoMSk7DQoJCQkJCSRwYWNrZXQrKzsNCgkJCQl9DQoJCQl9DQoJCX0gZWxzZSBpZiAoJHRoaXMtPmRhdGFfdHlwZSA9PSAyKSB7DQoJCQkvL2p1c3Qgc2VuZCBhIHJlZGlyZWN0IGhlYWRlcg0KCQkJaGVhZGVyKCdsb2NhdGlvbjogJyAuICR0aGlzLT5kYXRhKTsNCgkJfQ0KCQkNCgkJaWYgKCR0aGlzLT51c2VfYXV0b2V4aXQpIGV4aXQoKTsNCgkJDQoJCS8vcmVzdG9yZSBvbGQgc3RhdHVzDQoJCWlnbm9yZV91c2VyX2Fib3J0KCRvbGRfc3RhdHVzKTsNCgkJc2V0X3RpbWVfbGltaXQoaW5pX2dldCgibWF4X2V4ZWN1dGlvbl90aW1lIikpOw0KCQkNCgkJcmV0dXJuIHRydWU7DQoJfQ0KCQ0KCWZ1bmN0aW9uIHNldF9ieWZpbGUoJGRpcikgew0KCQlpZiAoaXNfcmVhZGFibGUoJGRpcikgJiYgaXNfZmlsZSgkZGlyKSkgew0KCQkJJHRoaXMtPmRhdGFfbGVuID0gMDsNCgkJCSR0aGlzLT5kYXRhID0gJGRpcjsNCgkJCSR0aGlzLT5kYXRhX3R5cGUgPSAwOw0KCQkJJHRoaXMtPmRhdGFfbW9kID0gZmlsZW10aW1lKCRkaXIpOw0KCQkJcmV0dXJuIHRydWU7DQoJCX0gZWxzZSByZXR1cm4gZmFsc2U7DQoJfQ0KCQ0KCWZ1bmN0aW9uIHNldF9ieWRhdGEoJGRhdGEpIHsNCgkJaWYgKCRkYXRhID09ICcnKSByZXR1cm4gZmFsc2U7DQoJCSR0aGlzLT5kYXRhID0gJGRhdGE7DQoJCSR0aGlzLT5kYXRhX2xlbiA9IHN0cmxlbigkZGF0YSk7DQoJCSR0aGlzLT5kYXRhX3R5cGUgPSAxOw0KCQkkdGhpcy0+ZGF0YV9tb2QgPSB0aW1lKCk7DQoJCXJldHVybiB0cnVlOw0KCX0NCgkNCglmdW5jdGlvbiBzZXRfYnl1cmwoJGRhdGEpIHsNCgkJJHRoaXMtPmRhdGEgPSAkZGF0YTsNCgkJJHRoaXMtPmRhdGFfbGVuID0gMDsNCgkJJHRoaXMtPmRhdGFfdHlwZSA9IDI7DQoJCXJldHVybiB0cnVlOw0KCX0NCgkNCglmdW5jdGlvbiBzZXRfbGFzdG1vZHRpbWUoJHRpbWUpIHsNCgkJJHRpbWUgPSBpbnR2YWwoJHRpbWUpOw0KCQlpZiAoJHRpbWUgPD0gMCkgJHRpbWUgPSB0aW1lKCk7DQoJCSR0aGlzLT5kYXRhX21vZCA9ICR0aW1lOw0KCX0NCgkNCgkvKioNCgkgKiBDaGVjayBhdXRoZW50aWNhdGlvbg0KCSAqIEByZXR1cm4gYm9vbA0KCSAqKi8NCglmdW5jdGlvbiBfYXV0aCgpIHsNCgkJaWYgKCFpc3NldCgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSkgcmV0dXJuIGZhbHNlOw0KCQlpZiAoaXNzZXQoJHRoaXMtPmhhbmRsZXJbJ2F1dGgnXSkgJiYgZnVuY3Rpb25fZXhpc3RzKCR0aGlzLT5oYW5kbGVyWydhdXRoJ10pKQ0KCQl7DQoJCQlyZXR1cm4gJHRoaXMtPmhhbmRsZXJbJ2F1dGgnXSgnYXV0aCcgLCAkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddLCRfU0VSVkVSWydQSFBfQVVUSF9QVyddKTsNCgkJfQ0KCQllbHNlIHJldHVybiB0cnVlOyAvL3lvdSBtdXN0IHVzZSBhIGhhbmRsZXINCgl9DQoJDQp9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/vnc_httpdownload/test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJEZJTEVOQU1FID0gIlNlc3EgLSBEZSBwcm9mdW5kaXMuYXZpIjsgLy9TRVQgWU9VUiBGSUxFIEhFUkUNCg0KaWYgKCEkRklMRU5BTUUgfHwgIWZpbGVfZXhpc3RzKCRGSUxFTkFNRSkpIHsNCgllY2hvICJQbGVhc2Ugc2V0IHlvdXIgdGFyZ2V0IGZpbGUgXCRGSUxFTkFNRSBvbiBsaW5lIDJcbiI7DQoJZXhpdCgpOw0KfQ0KDQppbmNsdWRlX29uY2UgImNsYXNzLmh0dHBkb3dubG9hZC5waHAiOw0KDQokb2JqZWN0ID0gbmV3IGh0dHBkb3dubG9hZDsNCg0KJGJhbmR3aWR0aCA9IEBpbnR2YWwoaW1wbG9kZSgnJyxmaWxlKCdiYW5kd2lkdGgudHh0JykpKSAvIDEwMjQ7DQppZiAoJGJhbmR3aWR0aCA+IDEwMjQpDQp7DQoJJGJhbmR3aWR0aCA9IHJvdW5kKCRiYW5kd2lkdGggLyAxMDI0ICwgMik7DQoJJGJhbmR3aWR0aCAuPSAiIE1CIjsNCn0NCmVsc2UNCnsNCgkkYmFuZHdpZHRoIC49ICIgS0IiOw0KfQ0KDQpzd2l0Y2ggKEAkX0dFVFsnZG93bmxvYWQnXSkgew0KY2FzZSAncmVzdW1lX3NwZWVkJzoNCmNhc2UgJ25vcmVzdW1lX3NwZWVkJzoNCmNhc2UgJ3Jlc3VtZSc6DQpjYXNlICdub3Jlc3VtZSc6DQoJJG9iamVjdC0+c2V0X2J5ZmlsZSgkRklMRU5BTUUpOw0KCWlmICgkX0dFVFsnZG93bmxvYWQnXSA9PSAnbm9yZXN1bWUnIHx8ICRfR0VUWydkb3dubG9hZCddID09ICdub3Jlc3VtZV9zcGVlZCcpICRvYmplY3QtPnVzZV9yZXN1bWUgPSBmYWxzZTsNCglpZiAoJF9HRVRbJ2Rvd25sb2FkJ10gPT0gJ3Jlc3VtZV9zcGVlZCcgfHwgJF9HRVRbJ2Rvd25sb2FkJ10gPT0gJ25vcmVzdW1lX3NwZWVkJyApICRvYmplY3QtPnNwZWVkID0gMTAwOw0KCSRvYmplY3QtPmRvd25sb2FkKCk7DQpicmVhazsNCmNhc2UgJ2RhdGEnOg0KY2FzZSAnZGF0YXJlc3VtZSc6DQoJJGRhdGEgPSBpbXBsb2RlKCcnICwgZmlsZSgkRklMRU5BTUUpKTsNCgkkb2JqZWN0LT5zZXRfYnlkYXRhKCRkYXRhKTsNCglpZiAoJF9TRVJWRVJbJ2Rvd25sb2FkJ10gIT0gJ2RhdGFyZXN1bWUnKSAkb2JqZWN0LT51c2VfcmVzdW1lID0gZmFsc2U7DQoJJG9iamVjdC0+ZmlsZW5hbWUgPSBiYXNlbmFtZSgkRklMRU5BTUUpOw0KCSRvYmplY3QtPmRvd25sb2FkKCk7DQpicmVhazsNCmNhc2UgJ2F1dGgnOg0KCSRvYmplY3QtPnNldF9ieWZpbGUoJEZJTEVOQU1FKTsNCgkkb2JqZWN0LT51c2VfYXV0aCA9IHRydWU7DQoJJG9iamVjdC0+aGFuZGxlclsnYXV0aCddID0gInRlc3RfYXV0aCI7DQoJJG9iamVjdC0+ZG93bmxvYWQoKTsNCmJyZWFrOw0KY2FzZSAndXJsJzoNCgkkb2JqZWN0LT5zZXRfYnl1cmwoJ2h0dHA6Ly93d3cucGhwLm5ldC9nZXQvcGhwX21hbnVhbF9jaG0uemlwL2Zyb20vY3IucGhwLm5ldC9taXJyb3InKTsNCgkkb2JqZWN0LT5kb3dubG9hZCgpOw0KYnJlYWs7DQp9DQoNCmlmICgkb2JqZWN0LT5iYW5kd2lkdGggPiAwKQ0Kew0KCWVycm9yX3JlcG9ydGluZyhFX05PTkUpOw0KCSRiID0gaW50dmFsKGltcGxvZGUoJycsZmlsZSgnYmFuZHdpZHRoLnR4dCcpKSkgKyAkb2JqZWN0LT5iYW5kd2lkdGg7DQoJJGYgPSBmb3BlbignYmFuZHdpZHRoLnR4dCcsJ3diJyk7DQoJZndyaXRlKCRmLCRiKTsNCglmY2xvc2UoJGYpOw0KCWV4aXQ7DQp9DQoNCmZ1bmN0aW9uIHRlc3RfYXV0aCgkdXNlciwkcGFzcykgeyAvL3Rlc3QgYXV0aGVudGljYXRpb24gZnVuY3Rpb24NCglpZiAoJHVzZXIgPT0gJ3VzZXInICYmICRwYXNzID09ICdwYXNzJykgcmV0dXJuIHRydWU7DQoJcmV0dXJuIGZhbHNlOw0KfQ0KDQo/Pg0KDQo8aGVhZD4NCjxzdHlsZT4NCjwhLS0NCmJvZHkgICAgICAgICB7IGZvbnQtZmFtaWx5OiBUYWhvbWE7IGZvbnQtc2l6ZTogMTJweCB9DQphICAgICAgICAgICAgeyBjb2xvcjogI0ZGMDAwMCB9DQotLT4NCjwvc3R5bGU+DQo8L2hlYWQ+DQoNCjx0aXRsZT5IVFRQRG93bmxvYWQgZXhhbXBsZTwvdGl0bGU+DQoNCjxoMj48Zm9udCBjb2xvcj0ibmF2eSI+SHR0cERvd25sb2FkPC9mb250PjwvaDI+U2VsZWN0IGEgbGluayBhbmQgdHJ5IGl0IHdpdGggYSBkb3dubG9hZCBtYW5hZ2VyIChsaWtlIDxhIGhyZWY9Imh0dHA6Ly9yZWdldC5jb20iPlJlZ2V0PC9hPikgLjxicj48YnI+DQoNClRvdGFsIGJhbmR3aWR0aCB1c2VkIDogPEI+PD9waHA9JGJhbmR3aWR0aD8+PC9CPg0KDQo8YnI+PGJyPg0KPGEgaHJlZj0idGVzdC5waHA/ZG93bmxvYWQ9bm9yZXN1bWUiPkRvd25sb2FkIGZpbGU8L2E+PGJyPg0KPGEgaHJlZj0idGVzdC5waHA/ZG93bmxvYWQ9bm9yZXN1bWVfc3BlZWQiPkRvd25sb2FkIGZpbGUgKHNwZWVkIGxpbWl0IDEwMCBrYnMpPC9hPjxicj4NCjxhIGhyZWY9InRlc3QucGhwP2Rvd25sb2FkPXJlc3VtZSI+RG93bmxvYWQgZmlsZSB3aXRoIHJlc3VtZTwvYT48YnI+DQo8YSBocmVmPSJ0ZXN0LnBocD9kb3dubG9hZD1yZXN1bWVfc3BlZWQiPkRvd25sb2FkIGZpbGUgd2l0aCByZXN1bWUgKHNwZWVkIGxpbWl0IDEwMCBrYnMpIDwvYT48YnI+DQo8YSBocmVmPSJ0ZXN0LnBocD9kb3dubG9hZD1kYXRhIj5Eb3dubG9hZCBmaWxlIGRhdGEgKE1heSBzbG93KTwvYT48YnI+DQo8YSBocmVmPSJ0ZXN0LnBocD9kb3dubG9hZD1kYXRhcmVzdW1lIj5Eb3dubG9hZCBmaWxlIGRhdGEgd2l0aCByZXN1bWUgKE1heSBzbG93KTwvYT48YnI+DQo8YSBocmVmPSJ0ZXN0LnBocD9kb3dubG9hZD1hdXRoIj5BdXRoZW50aWNhdGlvbiBkb3dubG9hZCAodXNlci9wYXNzKTwvYT48YnI+DQo8YSBocmVmPSJ0ZXN0LnBocD9kb3dubG9hZD11cmwiPlVSTCBEb3dubG9hZCAoc2ltcGxlIHJlZGlyZWN0KTwvYT48YnI+DQoNCjxwPjxmb250IHNpemU9IjEiPjxmb250IGNvbG9yPSIjODA4MDgwIj4oIENsaWNrIA0KPGEgaHJlZj0iaHR0cDovL2VuLnZpZXRhcGkuY29tL3dpa2kvaW5kZXgucGhwL1BIUDpfSHR0cERvd25sb2FkIj4NCjxmb250IGNvbG9yPSJibGFjayI+aGVyZTwvZm9udD48L2E+PGZvbnQgY29sb3I9IiI+IHRvIHZpZXcgY2xhc3MgDQppbmZvcm1hdGlvbiApPC9mb250PjwvcD4NCg0K]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvd25sb2FkTWFuYWdlciAKIyBBdXRob3I6IFN6eW1vbiDFgXVrYXN6Y3p5awojIFByb2plY3QgcGFnZTogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9kb3dubG9hZG1hbmFnZXIvCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWV0aG9kOiBJbnN0YWxsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCiRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdVc2UgRG93bmxvYWRNYW5hZ2VyJywgJ1VzZSBEb3dubG9hZE1hbmFnZXInKTsKCiRkaXIgPSAndXBsb2Fkcy9pbWFnZXMvRG93bmxvYWRNYW5hZ2VyVGh1bWJzLyc7CmlmKCAhaXNfZGlyKCcuLi8nLiRkaXIpICkKewoJbWtkaXIoc3RyX3JlcGxhY2UoJy8nLCBESVJFQ1RPUllfU0VQQVJBVE9SLCAnLi4vJy4kZGlyKSk7Cn0KaWYoICFpc193cml0YWJsZSgnLi4vJy4kZGlyKSApCnsKCSR0bXAgPSBsYW5nKCdlcnJvcmRpcmVjdG9yeW5vdHdyaXRhYmxlJykuICcgPiAnIC4gJGRpcjsKCXJldHVybiAkdG1wOwp9CgovLyBGaWxlcwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiRmbGRzID0KCSdmaWxlX2lkIEkgS0VZLAoJYWNjZXNzdHlwZSBJLAoJbmFtZSBDKDMwKSBOT1ROVUxMLAoJYWxpYXMgQyg2NCkgVU5JUVVFLAoJc2VydmVyX25hbWUgWCBOT1ROVUxMLAoJZXh0IEMoOCkgIE5PVE5VTEwsCgl0eXBlIEMoMzApICBOT1ROVUxMLAoJc2l6ZSBJIE5PVE5VTEwsCgloYXNoIEMoMzIpIE5PVE5VTEwgLAoJZGVzY3JpcHRpb24gWCAsCgl0ZW1wbGF0ZV9kZXRhaWwgQyg2NCksCgl0ZW1wbGF0ZV9mb3JtIEMoNjQpLAoJdGVtcGxhdGVfZW1haWwgQyg2NCksCgloaWVyYXJjaHkgWCwKCWNvdW50ZXIgSSBOT1ROVUxMIERFRkFVTFQgMCwKCWNyZWF0ZWQgJyAuIENNU19BRE9EQl9EVCAuICcsCglleHBpcmVzICcgLiBDTVNfQURPREJfRFQgLiAnLAogICAgc3RhcnRzICcgLiBDTVNfQURPREJfRFQgLiAnLAoJdmlzaWJsZSBJLAoJdGh1bWJfcGF0aCBYIERFRkFVTFQgXCdcJwonOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzJywkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19zZXEnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJGaWxlRWRpdGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyRmlsZUFkZGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyRmlsZURlbGV0ZWQnKTsKCi8vIENhdGVnb3JpZXMKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokZmxkcyA9CgkiY2F0ZWdvcnlfaWQgSSBLRVkgLAoJbmFtZSBDKDMwKSBOT1ROVUxMLAoJYWxpYXMgQyg2NCkgVU5JUVVFLAoJZGVzY3JpcHRpb24gQygyNTUpICwKCXBhcmVudF9pZCBJIE5PVE5VTEwsCgloaWVyYXJjaHkgQygyNTUpLAoJZGVwdGggSSBERUZBVUxUIDAsCglsb25nX25hbWUgWCwKCXByaW9yaXR5ICBDKDUpIERFRkFVTFQgMTAwLAoJaGllcmFyY2h5X3ByaW9yaXR5IFgsIAkKCWRlZmF1bHRfdGVtcGxhdGUgQygyNTUpICwgCQoJY3JlYXRlX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsCgltb2RpZmllZF9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcycsJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllc19zZXEnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeUVkaXRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0Rvd25sb2FkTWFuYWdlckNhdGVnb3J5QWRkZWQnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeURlbGV0ZWQnKTsKCiMgU2V0dXAgR2VuZXJhbCBjYXRlZ29yeQokY2F0aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzX3NlcSIpOwokcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyAoY2F0ZWdvcnlfaWQsIG5hbWUsIHBhcmVudF9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUsIGFsaWFzKSBWQUxVRVMgKCcuJGNhdGlkLicsXCdHZW5lcmFsXCcsLTEsJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nLFwnZ2VuZXJhbFwnKSc7CiRkYi0+RXhlY3V0ZSgkcXVlcnkpOwokdGhpcy0+VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCk7CgovLyBBc3NvY2lhdGlvbnMKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokZmxkcyA9CgkiCglmaWxlX2lkIEkgS0VZLAogICAgY2F0ZWdvcnlfaWQgSSBLRVksCglpdGVtX29yZGVyIEkgTk9UTlVMTAoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5JywkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gRG93bmxvYWRzCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJGZsZHMgPQoJImRvd25sb2FkX2lkIEkgS0VZICwKCWZpbGVfaWQgSSBOT1ROVUxMLAoJdXNlcl90eXBlIEksCgl1c2VyX2lkIEksCgloYXNoa2V5IEMoMjU1KSwKCWRvd25sb2FkZWQgIiAuIENNU19BRE9EQl9EVCAuICIKIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9kb3dubG9hZHMnLCRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2Rvd25sb2Fkc19zZXEnKTsKCi8vIFVzZXJzCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJGZsZHMgPQoJInVzZXJfaWQgSSBOT1ROVUxMLAoJZmlyc3RuYW1lIEMoNjQpLAoJbGFzdG5hbWUgQyg2NCksCgllbWFpbCBDKDEyOCksCgltYWlsaW5nbGlzdCBMCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfdXNlcnMnLCRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX3VzZXJzX3NlcScpOwoKLy8gTWFwcGluZyBGRVUgZ3JvdXBzIHRvIGZpbGVzCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJGZsZHMgPQoJImZpbGVfaWQgSSBOT1ROVUxMLAoJZ3JvdXBfaWQgSSBOT1ROVUxMCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZWdyb3VwcycsJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIHdlIGFkZCB0aGUgZGVmYXVsdCB0ZW1wbGF0ZXMKJHRlbXBsYXRldHlwZXMgPSBhcnJheSgnbGlzdCcsICdkZXRhaWwnLCAnZm9ybScsICdlbWFpbCcpOwpmb3JlYWNoKCR0ZW1wbGF0ZXR5cGVzIGFzICR0eXBlKXsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgkdHlwZS4nX2RlZmF1bHQnLCAkdGhpcy0+R2V0VGVtcGxhdGVGcm9tRmlsZSgkdHlwZS4nX2RlZmF1bHQnKSwgJHRoaXMtPkdldE5hbWUoKSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF8nLiR0eXBlLidfdGVtcGxhdGUnLCAkdHlwZS4nX2RlZmF1bHQnKTsKfQokdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfZG93bmxvYWRfdGVtcGxhdGUnLCAkdGhpcy0+R2V0VGVtcGxhdGVGcm9tRmlsZSgnZG93bmxvYWQnKSk7CgokdGhpcy0+Q3JlYXRlRXZlbnQoJ0Rvd25sb2FkTWFuYWdlclRlbXBsYXRlRWRpdGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVBZGRlZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0Rvd25sb2FkTWFuYWdlclRlbXBsYXRlRGVsZXRlZCcpOwoKLy8gY3JlYXRlIGEgcHJlZmVyZW5jZXMKJHRoaXMtPlNldFByZWZlcmVuY2UoImRpciIsICJkb3dubG9hZHMvIik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJhbGxvd211bHRpcGxlIiwgdHJ1ZSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJsaW5rZXhwaXJlIiwgMik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJzY2FuIiwgImRvd25sb2Fkcy8iKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoInNjYW5fcmVjdXJzIiwgdHJ1ZSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJleHBpcmVkX3NlYXJjaGFibGUiLCBmYWxzZSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJkaXJfdGh1bWJzIiwgImltYWdlcy9Eb3dubG9hZE1hbmFnZXJUaHVtYnMvIik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ0aHVtYnNfYXV0byIsIHRydWUpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgidGh1bWJzX3NpemUiLCA4MCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJhZG1pbl93eXNpd3lnIiwgdHJ1ZSk7CgovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCdpbnN0YWxsZWQnLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvd25sb2FkTWFuYWdlciAKIyBWZXJzaW9uOiAwLjEgYWxwaGEKIyBBeXRob3I6IFN6eW1vbiDFgXVrYXN6Y3p5awojIFByb2plY3QgcGFnZTogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9kb3dubG9hZG1hbmFnZXIvCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWV0aG9kOiBVbmluc3RhbGwKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovKgogICAgRm9yIHNlcGFyYXRlZCBtZXRob2RzLCB5b3UnbGwgYWx3YXlzIHdhbnQgdG8gc3RhcnQgd2l0aCB0aGUgZm9sbG93aW5nCiAgICBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogICAgQVBJLCBhbmQgdGhhdCBldmVyeXRoaW5nJ3Mgc2FmZSB0byBjb250aW51ZToKKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCi8qIEFmdGVyIHRoaXMsIHRoZSBjb2RlIGlzIGlkZW50aWNhbCB0byB0aGUgY29kZSB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZQogICAgd3JhcHBlZCBpbiB0aGUgVW5pbnN0YWxsKCkgbWV0aG9kIGluIHRoZSBtb2R1bGUgYm9keS4KKi8KCgkJJGRiID0mICRnQ21zLT5HZXREYigpOwoJCQoJCS8vIHJlbW92ZSB0aGUgZGF0YWJhc2UgdGFibGUKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCQkkc3FsYXJyYXkgPSRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19zZXEiICk7CgkJCgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMiICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllc19zZXEiICk7CgkJCgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5IiApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX3RlbXBsYXRlcyIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl90ZW1wbGF0ZXNfc2VxIiApOwoKCQkvLyByZW1vdmUgdGhlIHRlbXBsYXRlcwoJCSR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOwoJCQoJCS8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpOwoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnkgRG93bmxvYWRNYW5hZ2VyIEZpbGUnKTsKCQkKCQkvLyByZW1vdmUgdGhlIGV2ZW50CgkJJHRoaXMtPlJlbW92ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJGaWxlRWRpdGVkJyk7CgkJJHRoaXMtPlJlbW92ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJGaWxlQWRkZWQnKTsKCQkkdGhpcy0+UmVtb3ZlRXZlbnQoJ0Rvd25sb2FkTWFuYWdlckZpbGVEZWxldGVkJyk7CiAgICAgICAgJHRoaXMtPlJlbW92ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeUVkaXRlZCcpOwogICAgICAgICR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWRNYW5hZ2VyQ2F0ZWdvcnlBZGRlZCcpOwogICAgICAgICR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWRNYW5hZ2VyQ2F0ZWdvcnlEZWxldGVkJyk7CiAgICAgICAgJHRoaXMtPlJlbW92ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJUZW1wbGF0ZUVkaXRlZCcpOwogICAgICAgICR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVBZGRlZCcpOwogICAgICAgICR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVEZWxldGVkJyk7CgogICAgICAgIC8vIHJlbW92ZSB0aGUgZXZlbnQKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgiZGlyIik7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoImFsbG93bXVsdGlwbGUiKTsKICAgICAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgibGlua2V4cGlyZSIpOwogICAgICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCJzY2FuIik7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInNjYW5fcmVjdXJzIik7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoImV4cGlyZWRfc2VhcmNoYWJsZSIpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCJkaXJfdGh1bWJzIik7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInRodW1ic19hdXRvIik7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInRodW1ic19zaXplIik7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoImFkbWluX3d5c2l3eWciKTsKCQkKCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJykpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvd25sb2FkTWFuYWdlciAKIyBWZXJzaW9uOiAwLjEgYWxwaGEKIyBBdXRob3I6IFN6eW1vbiDFgXVrYXN6Y3p5awojIFByb2plY3QgcGFnZTogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9kb3dubG9hZG1hbmFnZXIvCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWV0aG9kOiBVcGdyYWRlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoKICAgIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogICAgbGluZSB3aGljaCBjaGVjayB0byBtYWtlIHN1cmUgdGhhdCBtZXRob2Qgd2FzIGNhbGxlZCBmcm9tIHRoZSBtb2R1bGUKICAgIEFQSSwgYW5kIHRoYXQgZXZlcnl0aGluZydzIHNhZmUgdG8gY29udGludWU6CiovIAppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCgovKiBBZnRlciB0aGlzLCB0aGUgY29kZSBpcyBpZGVudGljYWwgdG8gdGhlIGNvZGUgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUKICAgIHdyYXBwZWQgaW4gdGhlIFVwZ3JhZGUoKSBtZXRob2QgaW4gdGhlIG1vZHVsZSBib2R5LgoqLwoKJGRiID0mICRnQ21zLT5HZXREYigpOwokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoKCQkkY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247CgkJc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pCgkJewoJCQljYXNlICIwLjEiOgoJCQljYXNlICIwLjIiOgoJCQljYXNlICIwLjMiOgoJCQkJaW5jbHVkZSggIm1ldGhvZC51bmluc3RhbGwucGhwIiApOwoJCQkJaW5jbHVkZSggIm1ldGhvZC5pbnN0YWxsLnBocCIgKTsKCQkJCWJyZWFrOwoJCQljYXNlICIwLjQiOgoJCQljYXNlICIwLjQuMSI6CgkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiZGlyIiwgImRvd25sb2Fkcy8iKTsKCQkJCS8vfiAkdGhpcy0+U2V0UHJlZmVyZW5jZSgidGVtcGxhdGUiLCBmaWxlX2dldF9jb250ZW50cygiLi4vbW9kdWxlcy9Eb3dubG9hZE1hbmFnZXIvdGVtcGxhdGVzL2Rvd25sb2FkLnRwbCIpKTsKCQkJY2FzZSAiMC41IjoKCQkJY2FzZSAiMC43IjoKCQkJY2FzZSAiMC44IjoKCQkJY2FzZSAiMC44LjIiOgoJCQljYXNlICIwLjguMyI6CgkJCWNhc2UgIjAuOC40IjoKCQkJY2FzZSAiMC44LjUiOgoJCQkJJHF1ZXJ5ID0gJ0RST1AgVklFVyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRfZmlsZV90ZW1wOyc7IAoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCWNhc2UgIjAuOC42IjoKCQkJCS8vIHdlIGFkZCB0aGUgZGVmYXVsdCB0ZW1wbGF0ZXMKCQkJCSR0ZW1wbGF0ZXR5cGVzID0gYXJyYXkoJ2xpc3QnLCAnZGV0YWlsJywgJ2Zvcm0nLCAnZW1haWwnKTsKCQkJCWZvcmVhY2goJHRlbXBsYXRldHlwZXMgYXMgJHR5cGUpewoJCQkJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZUZyb21GaWxlKCR0eXBlLidfZGVmYXVsdCcpOwoJCQkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkdHlwZS4nX2RlZmF1bHQnLCAkdGVtcGxhdGUsICR0aGlzLT5HZXROYW1lKCkpOwoJCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0XycuJHR5cGUuJ190ZW1wbGF0ZScsICR0eXBlLidfZGVmYXVsdCcpOwoJCQkJfQoJCQkJCgkJCQkvLyB3ZSB0cmFuc2ZlciB0aGUgdGVtcGxhdGVzIGZyb20gdGhlIG1vZHVsZV9kb3dubG9hZG1hbmFnZXJfdGVtcGxhdGVzIHRhYmxlCgkJCQkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl90ZW1wbGF0ZXMnOwoJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJCQl7CgkJCQkJLy8gYW5kIHNhdmUgdGhlbSBhcyAibGlzdCIgdGVtcGxhdGVzCgkJCQkJJHRoaXMtPlNldFRlbXBsYXRlKCdsaXN0XycuJHJvd1sndGVtcGxhdGVfbmFtZSddLCAkcm93Wydjb250ZW50J10pOwoJCQkJfQoJCQkJLy8gdGhlbiB3ZSBkZWxldGUgdGhlIG9sZCB0ZW1wbGF0ZSB0YWJsZQoJCQkJJHF1ZXJ5ID0gJ0RST1AgVEFCTEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfdGVtcGxhdGVzJzsKCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCQkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Rvd25sb2FkbWFuYWdlcl90ZW1wbGF0ZXNfc2VxIiApOwoJCQkJYnJlYWs7CgkJCWNhc2UgIjAuOC43IjoKCQkJCSRxdWVyeSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIEFMVEVSIHByaW9yaXR5IFNFVCBERUZBVUxUIDEwMCc7CgkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnkgRG93bmxvYWRNYW5hZ2VyIEZpbGUnKTsKCQkJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnkgRG93bmxvYWQgTWFuYWdlciBDYXRlZ29yeScpOwoJCQkJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01vZGlmeSBEb3dubG9hZCBNYW5hZ2VyIFRlbXBsYXRlcycpOwoJCQljYXNlICIwLjguOCI6CgkJCQkkcXVlcmllcyA9IGFycmF5KCk7CgkJCQkkcXVlcmllc1tdID0gJ0FMVEVSIFRBQkxFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIEFERCBDT0xVTU4gYWNjZXNzdHlwZSBpbnQnOwoJCQkJJHF1ZXJpZXNbXSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBBREQgQ09MVU1OIHRlbXBsYXRlX2RldGFpbCBWQVJDSEFSKDY0KSc7CgkJCQkkcXVlcmllc1tdID0gJ0FMVEVSIFRBQkxFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIEFERCBDT0xVTU4gdGVtcGxhdGVfZm9ybSBWQVJDSEFSKDY0KSc7CgkJCQkkcXVlcmllc1tdID0gJ0FMVEVSIFRBQkxFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIEFERCBDT0xVTU4gdGVtcGxhdGVfZW1haWwgVkFSQ0hBUig2NCknOwoJCQkJZm9yZWFjaCgkcXVlcmllcyBhcyAkcXVlcnkpCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKCQkJCS8vIERvd25sb2FkcwoJCQkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCQkJJGZsZHMgPQoJCQkJCSJkb3dubG9hZF9pZCBJIEtFWSAsCgkJCQkJZmlsZV9pZCBJIE5PVE5VTEwsCgkJCQkJdXNlcl90eXBlIEksCgkJCQkJdXNlcl9pZCBJLAoJCQkJCWhhc2hrZXkgQygyNTUpLAoJCQkJCWRvd25sb2FkZWQgIiAuIENNU19BRE9EQl9EVCAuICIKCQkJCSI7CgkJCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2Rvd25sb2FkcycsJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCQkkZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9kb3dubG9hZHNfc2VxJyk7CgoJCQkJLy8gVXNlcnMKCQkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJCSRmbGRzID0KCQkJCQkidXNlcl9pZCBJIE5PVE5VTEwsCgkJCQkJZmlyc3RuYW1lIEMoNjQpLAoJCQkJCWxhc3RuYW1lIEMoNjQpLAoJCQkJCWVtYWlsIEMoMTI4KSwKCQkJCQltYWlsaW5nbGlzdCBMCgkJCQkiOwoJCQkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl91c2VycycsJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCQkkZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl91c2Vyc19zZXEnKTsKCgkJCQkvLyBNYXBwaW5nIEZFVSBncm91cHMgdG8gZmlsZXMKCQkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJCSRmbGRzID0KCQkJCQkiZmlsZV9pZCBJIE5PVE5VTEwsCgkJCQkJZ3JvdXBfaWQgSSBOT1ROVUxMCgkJCQkiOwoJCQkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlZ3JvdXBzJywkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiYWxsb3dtdWx0aXBsZSIsIHRydWUpOwoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImxpbmtleHBpcmUiLCAyKTsKCQkJY2FzZSAiMC45LjAiOgoJCQkJJHF1ZXJ5ID0gJ0FMVEVSIFRBQkxFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzIEFERCBDT0xVTU4gaGllcmFyY2h5IHRleHQnOwoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCQkKCQkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoICRkYiApOwoJCQkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVfY2F0X2FncmVnYXRvciIgKTsKCQkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkJCSR0aGlzLT5VcGRhdGVBc3NvY2lhdGlvbkFncmVnYXRpb24oKTsKCQkJY2FzZSAiMC45LjIuMiI6CgkJCQkkcXVlcnlbXSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIEFERCBDT0xVTU4gZGVwdGggaW50IERFRkFVTFQgMCBBRlRFUiBoaWVyYXJjaHknOwoJCQljYXNlICIwLjkuMi42IjoKCQkJCSRxdWVyeVtdID0gJ0FMVEVSIFRBQkxFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2NhdGVnb3JpZXMgQUREIENPTFVNTiBhbGlhcyAgVkFSQ0hBUig2NCkgQUZURVIgbmFtZSc7CgkJCQkkcXVlcnlbXSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBBREQgQ09MVU1OIGFsaWFzIFZBUkNIQVIoNjQpIEFGVEVSIG5hbWUnOwoJCQkJZm9yZWFjaCgkcXVlcnkgYXMgJHEpCgkJCQkJJGRiLT5FeGVjdXRlKCRxKTsKCgkJCQkvLyBjcmVhdGluZyBhbGlhc2VzIGZvciBjYXRlZ29yaWVzCgkJCQkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzJzsKCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCQkJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJCQkJewoJCQkJCSRpPTE7CgkJCQkJJGFsaWFzID0gJG4gPSAkdGhpcy0+Q3JlYXRlQWxpYXMoJHJvd1snbmFtZSddKTsKCQkJCQl3aGlsZSghJHRoaXMtPkNoZWNrQWxpYXMoJ2NhdGVnb3JpZXMnLCAkYWxpYXMpKQoJCQkJCQkkYWxpYXMgPSAkbi4iLSIuJGkrKzsKCQkJCQkkZGItPkV4ZWN1dGUoJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9jYXRlZ29yaWVzIFNFVCBhbGlhcyA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JwoJCQkJCQksYXJyYXkoJGFsaWFzLCRyb3dbJ2NhdGVnb3J5X2lkJ10pKTsKCQkJCX0KCgkJCQkvLyBjcmVhdGluZyBhbGlhc2VzIGZvciBmaWxlcwoJCQkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMnOwoJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJCQl7CgkJCQkJJGk9MTsKCQkJCQkkYWxpYXMgPSAkbiA9ICR0aGlzLT5DcmVhdGVBbGlhcygkcm93WyduYW1lJ10pOwoJCQkJCXdoaWxlKCEkdGhpcy0+Q2hlY2tBbGlhcygnZmlsZXMnLCAkYWxpYXMpKQoJCQkJCQkkYWxpYXMgPSAkbi4iLSIuJGkrKzsKCQkJCQkkZGItPkV4ZWN1dGUoJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBTRVQgYWxpYXMgPSA/IFdIRVJFIGZpbGVfaWQgPSA/JwoJCQkJCQksYXJyYXkoJGFsaWFzLCRyb3dbJ2ZpbGVfaWQnXSkpOwoJCQkJfQoJCQkJCQoJCQkJJHRoaXMtPlVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygpOwoJCQljYXNlICIxLjAtUkMxIjoKCQkJY2FzZSAiMS4wLVJDMiI6CgkJCWNhc2UgIjEuMC1SQzMiOgoJCQljYXNlICIxLjEiOgoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoInNjYW4iLCAiZG93bmxvYWRzLyIpOwoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoInNjYW5fcmVjdXJzIiwgdHJ1ZSk7CgkJCWNhc2UgIjEuMiI6CgkJCWNhc2UgIjEuMi40IjoKCQkJCSRxdWVyeSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBBREQgQ09MVU1OIGNvdW50ZXIgSU5UIE5PVCBOVUxMIERFRkFVTFQgMCBBRlRFUiBoaWVyYXJjaHkgJzsKCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAgICAgICBjYXNlICIxLjMiOgoJCQkJLy8gQ2hhbmdpbmcgZXZlbnQgbmFtZXMgdG8gd2l0aG91dCBzcGFjZXMKCQkJCSR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWQgTWFuYWdlckNhdGVnb3J5RWRpdGVkJyk7CgkJCQkkdGhpcy0+UmVtb3ZlRXZlbnQoJ0Rvd25sb2FkIE1hbmFnZXJDYXRlZ29yeUFkZGVkJyk7CgkJCQkkdGhpcy0+UmVtb3ZlRXZlbnQoJ0Rvd25sb2FkIE1hbmFnZXJDYXRlZ29yeURlbGV0ZWQnKTsKCQkJCSR0aGlzLT5SZW1vdmVFdmVudCgnRG93bmxvYWQgTWFuYWdlclRlbXBsYXRlRWRpdGVkJyk7CgkJCQkkdGhpcy0+UmVtb3ZlRXZlbnQoJ0Rvd25sb2FkIE1hbmFnZXJUZW1wbGF0ZUFkZGVkJyk7CgkJCQkkdGhpcy0+UmVtb3ZlRXZlbnQoJ0Rvd25sb2FkIE1hbmFnZXJUZW1wbGF0ZURlbGV0ZWQnKTsKCQkJCSR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyQ2F0ZWdvcnlFZGl0ZWQnKTsKCQkJCSR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyQ2F0ZWdvcnlBZGRlZCcpOwoJCQkJJHRoaXMtPkNyZWF0ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJDYXRlZ29yeURlbGV0ZWQnKTsKCQkJCSR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVFZGl0ZWQnKTsKCQkJCSR0aGlzLT5DcmVhdGVFdmVudCgnRG93bmxvYWRNYW5hZ2VyVGVtcGxhdGVBZGRlZCcpOwoJCQkJJHRoaXMtPkNyZWF0ZUV2ZW50KCdEb3dubG9hZE1hbmFnZXJUZW1wbGF0ZURlbGV0ZWQnKTsKCQkJCS8vIGFkZGluZyBzdGFydCBjb2x1bW4KCQkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJCSRxdWVyeSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBBREQgQ09MVU1OIHN0YXJ0cyAnIC4gJGRpY3QtPkFjdHVhbFR5cGUoQ01TX0FET0RCX0RUKSAuICcgQUZURVIgZXhwaXJlcyAnOwoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCQkvLyBhZGRpbmcgc2VhcmNoIHByZWZlcmVuY2UKCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJleHBpcmVkX3NlYXJjaGFibGUiLCBmYWxzZSk7CgkJCQkkcXVlcnkgPSAnQUxURVIgVEFCTEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyBBREQgQ09MVU1OIGRlZmF1bHRfdGVtcGxhdGUgJyAuICRkaWN0LT5BY3R1YWxUeXBlKCdDJykgLiAnKDI1NSkgQUZURVIgaGllcmFyY2h5X3ByaW9yaXR5ICc7CgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkJY2FzZSAiMS40IjoKCQkJY2FzZSAiMS40LjEiOgoJCQljYXNlICIxLjQuMiI6CgkJCQkvLyBjbGVhbmluZyBsb29zZSBmaWxlcyBpbiBjYXRlZ29yaWVzCgkJCQkkcXVlcnkgPSAnU0VMRUNUIGZjLmZpbGVfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlc19jYXRlZ29yeSBmYyBXSEVSRSBOT1QgRVhJU1RTICggU0VMRUNUIDEgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Rvd25sb2FkbWFuYWdlcl9maWxlcyBmIFdIRVJFIGYuZmlsZV9pZCA9IGZjLmZpbGVfaWQgKSc7CgkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkJCSRsb29zZSA9IGFycmF5KCk7CgkJCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJCQkJJGxvb3NlW10gPSAoaW50KSAkcm93WydmaWxlX2lkJ107CgkJCQlpZighZW1wdHkoJGxvb3NlKSkKCQkJCQkkZGItPkV4ZWN1dGUoJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzX2NhdGVnb3J5IFdIRVJFIGZpbGVfaWQgSU4oJy5pbXBsb2RlKCcsJywkbG9vc2UpLicpJyk7CgkJCQkKCQkJCS8vIGFkZCBwcmVmZXJlbmNlcwoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImRpcl90aHVtYnMiLCAiaW1hZ2VzL0Rvd25sb2FkTWFuYWdlclRodW1icy8iKTsKCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ0aHVtYnNfYXV0byIsIHRydWUpOwoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoInRodW1ic19zaXplIiwgODApOwoJCQkJLy8gYWRkIHRodW1iIHBhdGggZmllbGQKCQkJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkJCSRkYi0+RXhlY3V0ZSgnQUxURVIgVEFCTEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb3dubG9hZG1hbmFnZXJfZmlsZXMgQUREIENPTFVNTiB0aHVtYl9wYXRoICcgLiAkZGljdC0+QWN0dWFsVHlwZSgnWCcpIC4gJyBERUZBVUxUIFwnXCcgQUZURVIgdmlzaWJsZSAnKTsKCQkJCgkJCQkvLyBjcmVhdGUgZGlyZWN0b3J5CgkJCQkkZGlyID0gJ3VwbG9hZHMvaW1hZ2VzL0Rvd25sb2FkTWFuYWdlclRodW1icy8nOwoJCQkJaWYoICFpc19kaXIoJy4uLycuJGRpcikgKQoJCQkJewoJCQkJCW1rZGlyKHN0cl9yZXBsYWNlKCcvJywgRElSRUNUT1JZX1NFUEFSQVRPUiwgJy4uLycuJGRpcikpOwoJCQkJfQoJCQkJaWYoICFpc193cml0YWJsZSgnLi4vJy4kZGlyKSApCgkJCQl7CgkJCQkJJHRtcCA9IGxhbmcoJ2Vycm9yZGlyZWN0b3J5bm90d3JpdGFibGUnKS4gJyA+ICcgLiAkZGlyOwoJCQkJCXJldHVybiAkdG1wOwoJCQkJfQogICAgICAgICAgICBjYXNlICIxLjUiOgoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImFkbWluX3d5c2l3eWciLCB0cnVlKTsKCQkJZGVmYXVsdDoKCQl9CgkJCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGdyYWRlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/tab.defaultadmin.categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gY2hlY2sgZm9yIHBlcm1pc3Npb25zCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpKTsKCXJldHVybjsKfQoKLy8gUHV0IHRvZ2V0aGVyIGEgbGlzdCBvZiBjdXJyZW50IGNhdGVnb3JpZXMuLi4KJGVudHJ5YXJyYXkgPSBhcnJheSgpOwokY2F0ZWdvcnlfZmlsZV9uYiA9ICR0aGlzLT5HZXRDYXRlZ29yeUZpbGVOYigpOwoKJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb3dubG9hZG1hbmFnZXJfY2F0ZWdvcmllcyBPUkRFUiBCWSBoaWVyYXJjaHlfcHJpb3JpdHkiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiRyb3djbGFzcyA9ICdyb3cxJzsKCndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKewoJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoKCSRkZXB0aCA9IGNvdW50KGV4cGxvZGUoJ1wuJywgJHJvd1snaGllcmFyY2h5J10pKTsKCSRmbmIgPSBpc3NldCgkY2F0ZWdvcnlfZmlsZV9uYlskcm93WydjYXRlZ29yeV9pZCddXSk/KGludCkkY2F0ZWdvcnlfZmlsZV9uYlskcm93WydjYXRlZ29yeV9pZCddXTowOwoJCgkkb25lcm93LT5pZCA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107Cgkkb25lcm93LT5hbGlhcyA9ICRyb3dbJ2FsaWFzJ107Cgkkb25lcm93LT5uYW1lID0gc3RyX3JlcGVhdCgnJm5ic3A7Jmd0OyZuYnNwOycsICRkZXB0aC0xKS4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQsICRyb3dbJ25hbWUnXSwgYXJyYXkoJ2NhdGVnb3J5X2lkJyA9PiRyb3dbJ2NhdGVnb3J5X2lkJ10pKTsKCSRvbmVyb3ctPnByaW9yaXR5ID0gJHJvd1sncHJpb3JpdHknXSswOwoJJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCBsYW5nKCdlZGl0JyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NhdGVnb3J5X2lkJz0+JHJvd1snY2F0ZWdvcnlfaWQnXSkpOwoJJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlbGV0ZWNhdGVnb3J5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBsYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnY2F0ZWdvcnlfaWQnPT4kcm93WydjYXRlZ29yeV9pZCddKSwgbGFuZygnZGVsZXRlY29uZmlybScsJHJvd1snbmFtZSddKSk7Cgkkb25lcm93LT5yZW9yZGVybGluayA9ICcnOwoJJG9uZXJvdy0+cmVvcmRlcmxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdyZW9yZGVyJywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3Jlb3JkZXIuZ2lmJywgbGFuZygncmVvcmRlcicpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdjYXRlZ29yeV9pZCc9PiRyb3dbJ2NhdGVnb3J5X2lkJ10pKTsKCSRvbmVyb3ctPmZpbGVuYiA9ICRmbmI7Cgkkb25lcm93LT5maWxlbmJ0eHQgPSAkdGhpcy0+TGFuZygnZmlsZW5iJywkZm5iKTsKCgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCgkkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCiNTZXR1cCBsaW5rcwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRjYXRlZ29yeScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdmb2xkZXIuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGNhdGVnb3J5JyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZGNhdGVnb3J5JyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Jlb3JkZXJjYXRlZ29yeWxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdyZW9yZGVyY2F0ZWdvcnknLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vcmVvcmRlci5naWYnLCBsYW5nKCdyZW9yZGVyJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Jlb3JkZXJjYXRlZ29yeScsICRyZXR1cm5pZCwgbGFuZygncmVvcmRlcicpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignY2F0ZWdvcnl0ZXh0JywgJHRoaXMtPkxhbmcoJ2NhdGVnb3J5JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FsaWFzdGV4dCcsICR0aGlzLT5MYW5nKCdhbGlhc2xhYmVsJykpOwojRGlzcGxheSB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2xpc3RjYXRlZ29yeS50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/tab.defaultadmin.files.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwovLyBjaGVjayBmb3IgcGVybWlzc2lvbnMKaWYgKCEgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CglyZXR1cm47Cn0KJGZpbGVzX2NhdGVnb3JpZXMgPSAkdGhpcy0+R2V0RmlsZUNhdGVnb3JpZXMoKTsKCiRwYXJhbXNbJ3NlbGVjdG9yJ10gPSAkdGhpcy0+Y2xlYW5TZWxlY3RvciggaHRtbF9lbnRpdHlfZGVjb2RlKCAkcGFyYW1zWydzZWxlY3RvciddICkpOwokc2VsZWN0b3Jfc3FsID0gJHRoaXMtPnNlbGVjdG9yVG9TUUwoJHBhcmFtc1snc2VsZWN0b3InXSk7CiRzZWxlY3Rvcl92ZXJib3NlID0gJyc7CmlmKCFlbXB0eSgkc2VsZWN0b3Jfc3FsKSl7CiAgICAkcmVwbGFjZSA9IGFycmF5KCk7CiAgICAkY2F0ZWdvcmllcyA9ICR0aGlzLT5HZXRDYXRlZ29yaWVzKCk7CiAgICBmb3JlYWNoKCAkY2F0ZWdvcmllcyBhcyAkdiApCiAgICAgICAgJHJlcGxhY2VbICR2WydjYXRlZ29yeV9pZCddXSA9ICInIi4kdlsnbmFtZSddLiInIjsKICAgICRyZXBsYWNlWyd8J10gPSAnIE9SICc7CiAgICAkcmVwbGFjZVsnJiddID0gJyBBTkQgJzsKICAgICRzZWxlY3Rvcl92ZXJib3NlID0gc3RydHIoICRwYXJhbXNbJ3NlbGVjdG9yJ10gLCAkcmVwbGFjZSk7Cn0KCiRwYXJhbXNbJ2ZpbHRlciddID0gaHRtbF9lbnRpdHlfZGVjb2RlKCAkcGFyYW1zWydmaWx0ZXInXSApIDsKJGZpbHRlciA9ICRkYi0+cXN0cignJScuJHBhcmFtc1snZmlsdGVyJ10uJyUnICxnZXRfbWFnaWNfcXVvdGVzX2dwYygpKSA7Cgokd2hlcmVfc3FsID0gJHNlbGVjdG9yX3NxbDsKaWYoc3RybGVuKCRmaWx0ZXIpPjQpewogICAgaWYoIWVtcHR5KCR3aGVyZV9zcWwpICkKICAgICAgICAkd2hlcmVfc3FsIC49JyBBTkQgJzsKICAgICR3aGVyZV9zcWwgLj0gJyAoIG5hbWUgTElLRSAnLiRmaWx0ZXIuCiAgICAgICAgJyBPUiBleHQgTElLRSAnLiRmaWx0ZXIuCiAgICAgICAgJyBPUiBkZXNjcmlwdGlvbiBMSUtFICcuJGZpbHRlci4nICknOwp9CgovL0xvYWQgZmlsZXMKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwokcXVlcnkgPSAnc2VsZWN0IHZpc2libGUsIGZpbGVfaWQsIGFsaWFzLG5hbWUsIHN0YXJ0cyxleHBpcmVzLCBleHQsIGRlc2NyaXB0aW9uLCBjb3VudGVyIGZyb20gJy5jbXNfZGJfcHJlZml4KCkgLidtb2R1bGVfZG93bmxvYWRtYW5hZ2VyX2ZpbGVzICcuCighZW1wdHkoJHdoZXJlX3NxbCk/JyBXSEVSRSAnLiR3aGVyZV9zcWwuJyAnOicnKS4nb3JkZXIgYnkgbmFtZSBhc2MnOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKJHJvd2NsYXNzID0gJ3JvdzEnOwoKJHRydWVpY29uID0gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICcnLCcnLCcnLCdzeXN0ZW1pY29uJyk7CiRmYWxzZWljb24gPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICcnLCcnLCcnLCdzeXN0ZW1pY29uJyk7CndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKewoJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJJG9uZXJvdy0+aWQgPSAkcm93WydmaWxlX2lkJ107Ci8vCSRvbmVyb3ctPnNlcnZlcl9uYW1lID0gJHJvd1snc2VydmVyX25hbWUnXTsKLy8JJG9uZXJvdy0+ZXh0ID0gJHJvd1snZXh0J107Ci8vCSRvbmVyb3ctPnNpemUgPSAkcm93WydzaXplJ107Ci8vCSRvbmVyb3ctPmhhc2ggPSAkcm93WydoYXNoJ107Cgkkb25lcm93LT5kZXNjcmlwdGlvbiA9ICRyb3dbJ2Rlc2NyaXB0aW9uJ107Ci8vCSRvbmVyb3ctPmNyZWF0ZWQgPSAkcm93WydjcmVhdGVkJ107Ci8vCSRvbmVyb3ctPmV4cGlyZXMgPSAkcm93WydleHBpcmVzJ107Cgkkb25lcm93LT52aXNpYmxlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGZpbGUnLCAkcmV0dXJuaWQsICRyb3dbJ3Zpc2libGUnXT8kdHJ1ZWljb246JGZhbHNlaWNvbiwgYXJyYXkoJ2ZpbGVfaWQnPT4kcm93WydmaWxlX2lkJ10sICdjaGFuZ2V2aXNpYmlsaXR5Jz0+MSwndmlzaWJsZSc9PiRyb3dbJ3Zpc2libGUnXT8wOjEsICdzZWxlY3Rvcic9PiRwYXJhbXNbJ3NlbGVjdG9yJ10pKTsKCSRvbmVyb3ctPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0ZmlsZScsICRyZXR1cm5pZCwgJHJvd1snbmFtZSddLigkcm93WydleHQnXSE9Jyc/Jy4nLiAkcm93WydleHQnXTonJyksIGFycmF5KCdmaWxlX2lkJz0+JHJvd1snZmlsZV9pZCddLCAnc2VsZWN0b3InPT4kcGFyYW1zWydzZWxlY3RvciddKSk7Cgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCSRvbmVyb3ctPmFsaWFzID0gJHJvd1snYWxpYXMnXTsKCSRvbmVyb3ctPmNvdW50ZXIgPSAkcm93Wydjb3VudGVyJ107CgkKICAgIGlmKGVtcHR5KCRyb3dbJ3N0YXJ0cyddKSAmJiBlbXB0eSgkcm93WydleHBpcmVzJ10pKQogICAgICAgICRvbmVyb3ctPmF2YWlsYWJsZSA9ICR0aGlzLT5MYW5nKCdhbGx0aW1lJyk7CiAgICBlbHNlCiAgICB7CiAgICAgICAgJHJvd1snc3RhcnRzJ10gPSAhZW1wdHkoJHJvd1snc3RhcnRzJ10pID8gJHJvd1snc3RhcnRzJ10gOiAnLi4uJzsKICAgICAgICAkcm93WydleHBpcmVzJ10gPSAhZW1wdHkoJHJvd1snZXhwaXJlcyddKSA/ICRyb3dbJ2V4cGlyZXMnXSA6ICcuLi4nOwogICAgICAgICRvbmVyb3ctPmF2YWlsYWJsZSA9ICRyb3dbJ3N0YXJ0cyddLicgLSAnLiRyb3dbJ2V4cGlyZXMnXSA7CiAgICB9Cgkkb25lcm93LT5jaGFuZ2VsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnY2hhbmdlZmlsZScsICRyZXR1cm5pZCwgJzxpbWcgY2xhc3M9InN5c3RlbWljb24iIHNyYz0iJy4kZ0Ntcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9Eb3dubG9hZE1hbmFnZXIvaW1hZ2VzL2ljb25zL3RyYW5zcG9ydC5wbmciIGFsdD0iJy4gJHRoaXMtPmxhbmcoJ2ZpbGVjaGFuZ2UnKS4nIiB0aXRsZT0iJy4gJHRoaXMtPmxhbmcoJ2ZpbGVjaGFuZ2UnKS4nIi8+JywgYXJyYXkoJ2ZpbGVfaWQnPT4kcm93WydmaWxlX2lkJ10sICduYW1lJz0+IGJhc2U2NF9lbmNvZGUoJHJvd1snbmFtZSddKSwgJ2FsaWFzJz0+IGJhc2U2NF9lbmNvZGUoJHJvd1snYWxpYXMnXSkgLCAnc2VsZWN0b3InPT4kcGFyYW1zWydzZWxlY3RvciddKSk7Cgkkb25lcm93LT5pbmNhdGVnb3JpZXMgPSAhYXJyYXlfa2V5X2V4aXN0cygoaW50KSAkcm93WydmaWxlX2lkJ10sICRmaWxlc19jYXRlZ29yaWVzICk/MDokZmlsZXNfY2F0ZWdvcmllc1soaW50KSAkcm93WydmaWxlX2lkJ11dWydjb3VudCddOwovLwkkb25lcm93LT5jYXRlZ29yaWVzID0gJHRoaXMtPkNyZWF0ZUNhdGVnb3J5TGlua3MoJGlkLCAkcmV0dXJuaWQsICRyb3dbJ2ZpbGVfaWQnXSAsICRmaWxlc19jYXRlZ29yaWVzICk7Cgkkb25lcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRmaWxlJywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgbGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdmaWxlX2lkJz0+JHJvd1snZmlsZV9pZCddLCAnc2VsZWN0b3InPT4kcGFyYW1zWydzZWxlY3RvciddKSk7Cgkkb25lcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVsZXRlZmlsZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgbGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpbGVfaWQnPT4kcm93WydmaWxlX2lkJ10sICdzZWxlY3Rvcic9PiRwYXJhbXNbJ3NlbGVjdG9yJ10pLCBsYW5nKCdkZWxldGVjb25maXJtJywkcm93WyduYW1lJ10uKCRyb3dbJ2V4dCddIT0nJz8nLicuICRyb3dbJ2V4dCddOicnKSkpOwoJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkZmlsZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGZpbGUnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykgLicgJy4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkZmlsZScsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZGZpbGUnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc2NhbmxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzY2FuZm9ybmV3ZmlsZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS92aWV3LmdpZicsICR0aGlzLT5MYW5nKCdzY2FuZm9ybmV3ZmlsZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICcnKSAuJyAnLiAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzY2FuZm9ybmV3ZmlsZXMnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdzY2FuZm9ybmV3ZmlsZXMnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGFibGV2aXNpYmxlaGVhZGVyJywgJHRoaXMtPkxhbmcoJ3Zpc2libGVsYWJlbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJsZWNvdW50ZXJoZWFkZXInLCAkdGhpcy0+TGFuZygnY291bnRlcmxhYmVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYmxlYXZhaWxhYmxpdHloZWFkZXInLCAkdGhpcy0+TGFuZygnYXZhaWxhYmxpdHknKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2F0ZWdvcnlfc2VsZWN0b3InLCAkdGhpcy0+TGFuZygnc2VsZWN0b3InKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbm9zZWxlY3RvcicsICR0aGlzLT5MYW5nKCdub3NlbGVjdG9yJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25vZmlsdGVyJywgJHRoaXMtPkxhbmcoJ25vZmlsdGVyJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2N1cnJlbnQnLCAkdGhpcy0+TGFuZygnY3VycmVudCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmaWx0ZXInLCAkdGhpcy0+TGFuZygnZmlsdGVyJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3ZlcmJvc2UnLCAkdGhpcy0+TGFuZygndmVyYm9zZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd2YWx1ZV9jYXRlZ29yeV9zZWxlY3RvcicsICRwYXJhbXNbJ3NlbGVjdG9yJ10pOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3ZhbHVlX2ZpbHRlcicsICRwYXJhbXNbJ2ZpbHRlciddKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd2YWx1ZV9jYXRlZ29yeV9zZWxlY3Rvcl92ZXJib3NlJywgJHNlbGVjdG9yX3ZlcmJvc2UpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhdGVnb3J5X3NlbGVjdG9yJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzZWxlY3RvcicsICRwYXJhbXNbJ3NlbGVjdG9yJ10sIDEwLCA1MCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbHRlcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZmlsdGVyJywgJHBhcmFtc1snZmlsdGVyJ10sIDEwLCA1MCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhdGVnb3J5X3NlbGVjdG9yX3VybCcsICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQgLCAnJywgICRwYXJhbXMgLCAnJywgdHJ1ZSkpOwoKI0Rpc3BsYXkgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdsaXN0ZmlsZS50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/tab.defaultadmin.preferences.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gY2hlY2sgZm9yIHBlcm1pc3Npb25zCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpKTsKCXJldHVybjsKfQoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdzYXZlX2FkbWluX3ByZWZzJywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsICdTdWJtaXQnKSk7CgoKJHByZWZfZXJyb3JzID0gYXJyYXkoKTsKJGRvd25sb2FkX2RpciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXInKTsKaWYoICFmaWxlX2V4aXN0cygkY29uZmlnWydyb290X3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLiRkb3dubG9hZF9kaXIgKSApCgkkcHJlZl9lcnJvcnNbXSA9ICR0aGlzLT5sYW5nKCdkaXJfZG9udF9leGlzdHMnLCRkb3dubG9hZF9kaXIpOwppZiggIWlzX3dyaXRhYmxlKCRjb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGRvd25sb2FkX2RpciApICkKCSRwcmVmX2Vycm9yc1tdID0gJHRoaXMtPmxhbmcoJ2Rvd25sb2FkX2Rpcl9ub3Rfd3JpdGFibGUnLCRkb3dubG9hZF9kaXIpOwokZG93bmxvYWRfc2NhbiA9IGV4cGxvZGUoIjsiLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzY2FuJykpOwppZihjb3VudCgkZG93bmxvYWRfc2Nhbik+MCkKICBmb3JlYWNoKCAkZG93bmxvYWRfc2NhbiBhcyAkZiApCglpZiggIWZpbGVfZXhpc3RzKCRjb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGYgKSApCgkgICRwcmVmX2Vycm9yc1tdID0gJHRoaXMtPmxhbmcoJ2Rpcl9kb250X2V4aXN0cycsJGYpOwoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFiZWxfdGh1bWJfZGlyJywgJHRoaXMtPkxhbmcoJ3RodW1iX2RpcicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsYWJlbF90aHVtYl9zaXplJywgJHRoaXMtPkxhbmcoJ3RodW1iX3NpemUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFiZWxfdGh1bWJfYXV0bycsICR0aGlzLT5MYW5nKCd0aHVtYl9hdXRvJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX2Rvd25sb2FkX2RpcicsICR0aGlzLT5MYW5nKCdkb3dubG9hZF9kaXInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFiZWxfZG93bmxvYWRfc2NhbicsICR0aGlzLT5MYW5nKCdkb3dubG9hZF9zY2FuJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX2Rvd25sb2FkX3NjYW5fcmVjdXJzJywgJHRoaXMtPkxhbmcoJ2Rvd25sb2FkX3NjYW5fcmVjdXJzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX3ByZWZzX3NlYXJjaF9leHBpcmVzJywgJHRoaXMtPkxhbmcoJ3NlYXJjaF9leHBpcmUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFiZWxfZG93bmxvYWRfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnZG93bmxvYWRfdGVtcGxhdGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFiZWxfZG93bmxvYWRfdGVtcGxhdGVfaW5mbycsICR0aGlzLT5MYW5nKCdkb3dubG9hZF90ZW1wbGF0ZV9pbmZvJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX3d5c2l3eWdfb24nLCAkdGhpcy0+TGFuZygnd3lzaXd5Z19vbicpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RvcF9pbWFnZScsJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9zdG9wLmdpZicsICdlcnJvcicsJycsJycsJ3N5c3RlbWljb24nKSk7CmlmKGNvdW50KCRwcmVmX2Vycm9ycykgPiAwICkKCSR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ3ByZWZfZXJyb3JzJywgJHByZWZfZXJyb3JzKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfdGh1bWJfZGlyJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdkaXJfdGh1bWJzJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rpcl90aHVtYnMnLCBsYW5nKCduZWVkdXBncmFkZScpKSwgNTAsIDI1MCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RodW1iX3NpemUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RodW1ic19zaXplJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RodW1ic19zaXplJywgbGFuZygnbmVlZHVwZ3JhZGUnKSksIDUwLCAyNTApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF90aHVtYl9hdXRvJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAndGh1bWJzX2F1dG8nLCcxJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RodW1ic19hdXRvJywgbGFuZygnbmVlZHVwZ3JhZGUnKSksICAnY2xhc3M9InBhZ2VjaGVja2JveCInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZG93bmxvYWRfZGlyJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdkb3dubG9hZF9kaXInLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGlyJywgbGFuZygnbmVlZHVwZ3JhZGUnKSksIDUwLCAyNTApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kb3dubG9hZF9zY2FuJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdkb3dubG9hZF9zY2FuJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NjYW4nLCBsYW5nKCduZWVkdXBncmFkZScpKSwgNTAsIDI1MCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2Rvd25sb2FkX3NjYW5fcmVjdXJzJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZG93bmxvYWRfc2Nhbl9yZWN1cnMnLCAnMScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzY2FuX3JlY3VycycsIHRydWUpLCAgJ2NsYXNzPSJwYWdlY2hlY2tib3giJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3d5c2l3eWdfb24nLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdhZG1pbl93eXNpd3lnJywgJzEnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fd3lzaXd5ZycsIHRydWUpLCAgJ2NsYXNzPSJwYWdlY2hlY2tib3giJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3NlYXJjaF9leHBpcmVzJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnc2VhcmNoX2V4cGlyZXMnLCAnMScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdleHBpcmVkX3NlYXJjaGFibGUnLCB0cnVlKSwgICdjbGFzcz0icGFnZWNoZWNrYm94IicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kb3dubG9hZF90ZW1wbGF0ZScsICR0aGlzLT5DcmVhdGVUZXh0QXJlYSggZmFsc2UsICRpZCwgJHRoaXMtPkdldFRlbXBsYXRlKCdkZWZhdWx0X2Rvd25sb2FkX3RlbXBsYXRlJyksICdkb3dubG9hZF90ZW1wbGF0ZScsJ3BhZ2VzbWFsbHRleHRhcmVhJykpOwoKLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5wcmVmcy50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/tab.defaultadmin.templates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gY2hlY2sgZm9yIHBlcm1pc3Npb25zCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvd25sb2FkTWFuYWdlcicpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdVc2UgRG93bmxvYWRNYW5hZ2VyJykpKTsKCXJldHVybjsKfQoKLy8gdHlwZXMgY2FuIGJlIGFkZGVkIG9yIHJlbW92ZWQgc2ltcGx5IGJ5IGNoYW5naW5nIHRoZSBhcnJheSBiZWxvdwokdGVtcGxhdGV0eXBlcyA9IGFycmF5KCdsaXN0JywnZGV0YWlsJywnZm9ybScsJ2VtYWlsJyk7CgovLyB3ZSBmaXJzdCByZXRyaWV2ZSB0aGUgZGVmYXVsdCB0ZW1wbGF0ZXMsIHRvIGNyZWF0ZSB0b2dnbGVkZWZhdWx0IGxpbmtzCi8vIGFuZCBiZWNhdXNlIHdlIGRvbid0IHdhbnQgZGVsZXRlIGxpbmtzIGZvciB0aGVzZQokZGVmYXVsdCA9IGFycmF5KCk7CiRvcmRlcmVkdGVtcGxhdGVzID0gYXJyYXkoKTsKZm9yZWFjaCgkdGVtcGxhdGV0eXBlcyBhcyAkb25ldHlwZSl7CgkkZGVmYXVsdFtdID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfJy4kb25ldHlwZS4nX3RlbXBsYXRlJywgJycpOwoJJG9yZGVyZWR0ZW1wbGF0ZXNbJG9uZXR5cGVdID0gYXJyYXkoKTsKfQoKLy8gdGhlbiB3ZSByZXRyaWV2ZSBhbGwgbW9kdWxlIHRlbXBsYXRlcywgYnV0IHdlJ2xsIG5lZWQgdG8gb3JkZXIgdGhlbSBieSB0eXBlCiR0ZW1wbGF0ZWxpc3QgPSAkdGhpcy0+TGlzdFRlbXBsYXRlcygkdGhpcy0+R2V0TmFtZSgpKTsKCmZvcmVhY2goJHRlbXBsYXRlbGlzdCBhcyAkdGVtcGxhdGUpCnsKCS8vIHdlIGNyZWF0ZSB0aGUgYWRtaW4gbGlua3MKCSR0cGwgPSBuZXcgU3RkQ2xhc3MoKTsKCgkkdHBsLT5uYW1lID0gc3Vic3RyKHN0cnN0cigkdGVtcGxhdGUsICdfJyksIDEpOwoJJHRwbC0+cHJlZml4ID0gc3RyX3JlcGxhY2UoJHRwbC0+bmFtZSwiIiwkdGVtcGxhdGUpOwoKCSR0cGwtPm5hbWVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLCAkdHBsLT5uYW1lLCBhcnJheSgndGVtcGxhdGVfbmFtZSc9PiR0cGwtPm5hbWUsICdwcmVmaXgnPT4kdHBsLT5wcmVmaXgpKTsKCSR0cGwtPmR1cGxpY2F0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLGxhbmcoJ2NvcHknKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZnJvbSc9PiR0cGwtPm5hbWUsICdwcmVmaXgnPT4kdHBsLT5wcmVmaXgsICduZXcnPT50cnVlKSk7CgkkdHBsLT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsIGxhbmcoJ2VkaXQnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgndGVtcGxhdGVfbmFtZSc9PiR0cGwtPm5hbWUsICdwcmVmaXgnPT4kdHBsLT5wcmVmaXgpKTsKCglpZihpbl9hcnJheSgkdGVtcGxhdGUsICRkZWZhdWx0KSkKCXsKCQkvLyB0aGUgdGVtcGxhdGUgaXMgdXNlZCBhcyBhIGRlZmF1bHQgdGVtcGxhdGUKCQkkdHBsLT50b2dnbGVkZWZhdWx0ID0gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsbGFuZygndHJ1ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CgkJJHRwbC0+ZGVsZXRlbGluayA9ICcnOwoJfQoJZWxzZWlmKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBEb3dubG9hZCBNYW5hZ2VyIFRlbXBsYXRlJykpCgl7CgkJJHRwbC0+dG9nZ2xlZGVmYXVsdCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3RvZ2dsZWRlZmF1bHR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLGxhbmcoJ3NldHRydWUnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgndGVtcGxhdGVfbmFtZSc9PiR0cGwtPm5hbWUsICdwcmVmaXgnPT4kdHBsLT5wcmVmaXgpKTsKCQkkdHBsLT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVsZXRldGVtcGxhdGUnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsbGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3RlbXBsYXRlX25hbWUnPT4kdGVtcGxhdGUpLCAkdGhpcy0+TGFuZygncHJvbXB0X2RlbGV0ZXRlbXBsYXRlJywgJHRwbC0+bmFtZSkpOwoJfQoJZWxzZQoJewoJCSR0cGwtPnRvZ2dsZWRlZmF1bHQgPSAnJzsKCQkkdHBsLT5kZWxldGVsaW5rID0gJyc7Cgl9CgoJLy8gYWRkIHB1dCB0aGUgdGVtcGxhdGUgaW4gdGhlIHJpZ2h0IHRlbXBsYXRlIHR5cGUKCSR0bXBwcmVmaXggPSBzdWJzdHIoJHRwbC0+cHJlZml4LCAwLCAtMSk7CglpZihpc3NldCgkb3JkZXJlZHRlbXBsYXRlc1skdG1wcHJlZml4XSkpCSRvcmRlcmVkdGVtcGxhdGVzWyR0bXBwcmVmaXhdW10gPSAkdHBsOwoKfQoKLy8gd2UgdGhlbiBkaXNwbGF5IGVhY2ggdHlwZSBvbmUgYnkgb25lLi4uIGxpc3R0ZW1wbGF0ZS50cGwgaXMgcmVwZWF0ZWQgZm9yIGVhY2ggdHlwZQpmb3JlYWNoKCR0ZW1wbGF0ZXR5cGVzIGFzICRvbmV0eXBlKQp7CgkkYWRkbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZCcuJG9uZXR5cGUuJ3RlbXBsYXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3ByZWZpeCc9PiRvbmV0eXBlLidfJyksICcnLCBmYWxzZSwgZmFsc2UsICcnKSAuJyAnLiAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdhZGQnLiRvbmV0eXBlLid0ZW1wbGF0ZScpLCBhcnJheSgncHJlZml4Jz0+JG9uZXR5cGUuJ18nKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKTsKCSR0ZW1wbGF0ZXMgPSBhcnJheSgpOwoJLy8gbm93IHRoYXQgdGhlIHRlbXBsYXRlcyBhcmUgb3JkZXJlZCBieSB0eXBlLCB3ZSBjYW4gYXNzaWduIHRoZSByb3cgY2xhc3MKCS8vICh0aGlzIGNvdWxkIGhhdmUgYmVlbiBkb25lIGluIHRoZSB0ZW1wbGF0ZSBpdHNlbGYgdGhvdWdoLi4uKQoJJHJvd2NsYXNzID0gJ3JvdzEnOwoJZm9yZWFjaCgkb3JkZXJlZHRlbXBsYXRlc1skb25ldHlwZV0gYXMgJHRlbXBsYXRlKQoJewoJCSR0ZW1wbGF0ZS0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgkJJHRlbXBsYXRlc1tdID0gJHRlbXBsYXRlOwoJCSgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOwoJfQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkdGVtcGxhdGVzKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCAkdGhpcy0+TGFuZygkb25ldHlwZS4ndGVtcGxhdGVzJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJGFkZGxpbmspOwoJI0Rpc3BsYXkgdGVtcGxhdGUKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnbGlzdHRlbXBsYXRlLnRwbCcpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/addfile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19Cgp7JGZpbGV0eXBlaW5wdXR9Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRhY2Nlc3N0eXBlbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dGFjY2Vzc3R5cGV9PC9wPjwvZGl2PgoKPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskZmV1Z3JvdXBzbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dGZldWdyb3Vwc308L3A+PC9kaXY+Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRkZXNjcmlwdGlvbmxhYmVsfTo8L3A+Cgk8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0ZGVzY3JpcHRpb259PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHVzZWV4cGlyYXRpb250ZXh0fTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0ZXhwfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGV4cGlyZXNsYWJlbH06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JGV4cGlyZWRhdGVwcmVmaXggdGltZT0kaW5wdXRleHBpcmVzIHN0YXJ0X3llYXI9Ii0xMCIgZW5kX3llYXI9IisxNSJ9IHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kZXhwaXJlZGF0ZXByZWZpeCB0aW1lPSRpbnB1dGV4cGlyZXN9PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR2aXNpYmxlbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHZpc2libGV9PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRtYWtlX3RodW1ibGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dG1ha2VfdGh1bWJ9PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR0aHVtYl9wYXRobGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHRodW1iX3BhdGh9PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR0ZW1wbGF0ZV9kZXRhaWxsYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0dGVtcGxhdGVfZGV0YWlsfTwvcD48L2Rpdj4KPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskdGVtcGxhdGVfZm9ybWxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXR0ZW1wbGF0ZV9mb3JtfTwvcD48L2Rpdj4KPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskdGVtcGxhdGVfZW1haWxsYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0dGVtcGxhdGVfZW1haWx9PC9wPjwvZGl2PgoKPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aD57JGNhdGVnb3J5dGV4dH08L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRhc3NvY2lhdGlvbnMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgoJCQk8dGQ+eyRlbnRyeS0+aW5wdXRhc3NvY308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPiA8L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0KCg==]]></data>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfc2VjdGlvbn08L2gzPgo8cD57JGFkbWluX25hdn08L3A+Cnskd2VsY29tZV90ZXh0fQ==]]></data>
	</file>
	<file>
	  <filename>/templates/adminprefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2ZvcmVhY2ggZnJvbT0kcHJlZl9lcnJvcnMgaXRlbT1lcnJ9CjxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj57JHN0b3BfaW1hZ2V9eyRlcnJ9PC9kaXY+CnsvZm9yZWFjaH0KeyRzdGFydGZvcm19Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF9kb3dubG9hZF9kaXJ9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Rvd25sb2FkX2Rpcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGxhYmVsX2Rvd25sb2FkX3NjYW59OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Rvd25sb2FkX3NjYW59PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF9kb3dubG9hZF9zY2FuX3JlY3Vyc306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZG93bmxvYWRfc2Nhbl9yZWN1cnN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF9wcmVmc19zZWFyY2hfZXhwaXJlc306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc2VhcmNoX2V4cGlyZXN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF90aHVtYl9kaXJ9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3RodW1iX2Rpcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGxhYmVsX3RodW1iX3NpemV9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3RodW1iX3NpemV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF90aHVtYl9hdXRvfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90aHVtYl9hdXRvfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbGFiZWxfZG93bmxvYWRfdGVtcGxhdGV9OjwvcD4KCQk8YnIgc3R5bGU9ImNsZWFyOmxlZnQ7Ii8+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDt3aWR0aDoyMjBweCI+eyRsYWJlbF9kb3dubG9hZF90ZW1wbGF0ZV9pbmZvfTwvZGl2PgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZG93bmxvYWRfdGVtcGxhdGV9PC9wPgoJPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYWJlbF93eXNpd3lnX29ufTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF93eXNpd3lnX29ufTwvcD4KICAgIDwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH08L3A+Cgk8L2Rpdj4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/changefile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CnskZmlsZXR5cGVpbnB1dH0KPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNoYW5nZW5hbWVsYWJlbH06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Y2hhbmdlbmFtZX08L3A+CgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4gPC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57JHNlbGVjdG9yfXskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0KCg==]]></data>
	</file>
	<file>
	  <filename>/templates/default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzdHlsZSB0eXBlPSAidGV4dC9jc3MiIG1lZGlhPSAic2NyZWVuIj4KLmRvd25sb2FkcyB7d2lkdGg6OTAlO21hcmdpbjowIDUlO30KLmRvd25sb2FkcyBoMyB7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgYmxhY2s7bWFyZ2luOjFlbSAwLjVlbSAwLjVlbSAhaW1wb3J0YW50O3RleHQtYWxpZ246cmlnaHQ7fQouZG93bmxvYWRzIGg0IHt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgYmxhY2s7bWFyZ2luOjFlbSAwLjVlbSAwLjVlbSAhaW1wb3J0YW50O3RleHQtYWxpZ246cmlnaHQ7Zm9udC1zaXplOjEuMWVtO30KLmRvd25sb2FkcyBoNSB7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkIGJsYWNrO21hcmdpbjoxZW0gMC41ZW0gMC41ZW0gIWltcG9ydGFudDt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtc2l6ZToxZW07fQouZG93bmxvYWRzIC5maWxlIHtib3JkZXI6MXB4IHNvbGlkIGJsYWNrO21hcmdpbjoycHg7cGFkZGluZzo1cHg7fQouZG93bmxvYWRzIC5kZXNjcmlwdGlvbiB7d2lkdGg6ODAlO30KLmRvd25sb2FkcyAuaWNvbnMge2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6cmlnaHQ7fQouZG93bmxvYWRzIC5zbWFsbCB7Zm9udC1zaXplOjAuOGVtO30KLmRvd25sb2FkcyAudGl0bGUge2ZvbnQtc2l6ZToxLjFlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7d2lkdGg6ODAlO3RleHQtYWxpZ246Y2VudGVyO30KLmRvd25sb2FkcyBwIHttYXJnaW46MDtwYWRkaW5nOjA7fQouZG93bmxvYWRzIC5yb3cxIHtiYWNrZ3JvdW5kLWNvbG9yOiNkZGQ7fQouZG93bmxvYWRzIC5yb3cyIHtiYWNrZ3JvdW5kLWNvbG9yOiNiYmI7fQo8L3N0eWxlPgp7L2xpdGVyYWx9CjxkaXYgY2xhc3M9ImRvd25sb2FkcyI+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbX0KICAgIHtpZiAkaXRlbS0+aXRlbXR5cGUgPT0gJ2hlYWRlcicgfQogICAgICAge2lmICRpdGVtLT5pdGVtbGV2ZWwgPT0gMCB9CiAgICAgICAgICAgPGgzPiBIZWFkZXIgMDogeyRpdGVtLT5uYW1lfSA8L2gzPgogICAgICAgICAgIHtpZiAkaXRlbS0+ZGVzY3JpcHRpb24gIT0gJycgfTxzcGFuIGNsYXNzPSJzbWFsbCI+RGVzY3JpcHRpb246PC9zcGFuPjxiciAvPiB7JGl0ZW0tPmRlc2NyaXB0aW9ufSB7L2lmfQogICAgICAge2Vsc2VpZiAkaXRlbS0+aXRlbWxldmVsID09IDEgfQogICAgICAgICAgIDxoND4gSGVhZGVyIDE6IHskaXRlbS0+bmFtZX0gPC9oND4KICAgICAgICAgICB7aWYgJGl0ZW0tPmRlc2NyaXB0aW9uICE9ICcnIH08c3BhbiBjbGFzcz0ic21hbGwiPkRlc2NyaXB0aW9uOjwvc3Bhbj48YnIgLz4geyRpdGVtLT5kZXNjcmlwdGlvbn0gey9pZn0KICAgICAgIHtlbHNlaWYgJGl0ZW0tPml0ZW1sZXZlbCA9PSAyIH0KICAgICAgICAgICA8aDU+IEhlYWRlciAyOiB7JGl0ZW0tPm5hbWV9IDwvaDU+CiAgICAgICAgICAge2lmICRpdGVtLT5kZXNjcmlwdGlvbiAhPSAnJyB9PHNwYW4gY2xhc3M9InNtYWxsIj5EZXNjcmlwdGlvbjo8L3NwYW4+PGJyIC8+IHskaXRlbS0+ZGVzY3JpcHRpb259IHsvaWZ9CiAgICAgICB7L2lmfQogICAgey9pZn0KICAgIHtpZiAkaXRlbS0+aXRlbXR5cGUgPT0gJ2ZpbGUnIH0KCiAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZSB7JGl0ZW0tPnJvd2NsYXNzfSI+CgkJCTxkaXYgY2xhc3M9Imljb25zIj4geyRpdGVtLT5zaXplfQoJCQkJPGltZyBzcmM9Ii9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9pbWFnZXMvaWNvbnMvY2FsY3VsYXRvci5wbmciIHRpdGxlPSJNZDU6IHskaXRlbS0+aGFzaH0iIGFsdD0iTWQ1OiB7JGl0ZW0tPmhhc2h9Ii8+CgkJCQk8YSBocmVmPSJ7JGl0ZW0tPmhyZWZ9IiB0aXRsZT0ieyRpdGVtLT5uYW1lfSI+PGltZyBzcmM9Ii9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9pbWFnZXMvaWNvbnMvZHJpdmVfZGlzay5wbmciLz48L2E+CgkJCTwvZGl2PgoJCQk8cCBjbGFzcz0idGl0bGUiPiB7JGl0ZW0tPmRvd25sb2FkfSA8L3A+CgkgICAge2lmICRpdGVtLT5jYXRlZ29yaWVzICE9ICcnIH08cD48c3BhbiBjbGFzcz0ic21hbGwiPkNhdGVnb3JpZXM6PC9zcGFuPjxiciAvPiB7JGl0ZW0tPmNhdGVnb3JpZXN9PC9wPnsvaWZ9CiAgICAgICAge2lmICRpdGVtLT5kZXNjcmlwdGlvbiAhPSAnJyB9PHA+PHNwYW4gY2xhc3M9InNtYWxsIj5EZXNjcmlwdGlvbjo8L3NwYW4+PGJyIC8+IHskaXRlbS0+ZGVzY3JpcHRpb259PC9wPiB7L2lmfQoJCQk8ZGl2IHN0eWxlPSJjbGVhcjpyaWdodDsiPiA8L2Rpdj4KCQk8L2Rpdj4KICAgIHsvaWZ9Cntmb3JlYWNoZWxzZX0KICAgIHskbm9kb3dubG9hZHN9CnsvZm9yZWFjaH0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/detail_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPiBEZXRhaWxzIG9mIHskaXRlbS0+bmFtZX0gPC9oMz4KCnskaXRlbS0+dGh1bWJ9Cjx0YWJsZT4KPHRyPjx0ZD57JHNpemVsYWJlbH08L3RkPjx0ZD57JGl0ZW0tPnNpemV9PC90ZD48L3RyPgo8dHI+PHRkPnskaGFzaGxhYmVsfTwvdGQ+PHRkPnskaXRlbS0+aGFzaH08L3RkPjwvdHI+Cjx0cj48dGQ+eyRkZXNjcmlwdGlvbmxhYmVsfTwvdGQ+PHRkPnskaXRlbS0+ZGVzY3JpcHRpb259PC90ZD48L3RyPgo8dHI+PHRkPnskY3JlYXRlZGxhYmVsfTwvdGQ+PHRkPnskaXRlbS0+Y3JlYXRlZH08L3RkPjwvdHI+Cjx0cj48dGQ+eyRhY2Nlc3N0eXBlbGFiZWx9PC90ZD48dGQ+e2ZvcmVhY2ggZnJvbT0kaXRlbS0+YWNjZXNzdHlwZXMgaXRlbT1hY2Nlc3N9PGltZyBzcmM9Ii9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9pbWFnZXMvaWNvbnMvYWNjZXNzLXskYWNjZXNzfS5wbmciIHRpdGxlPSJ7JGFjY2Vzc30gYWNjZXNzIiBhbHQ9InskYWNjZXNzfSBhY2Nlc3MiLz57L2ZvcmVhY2h9PC90ZD48L3RyPgo8dHI+PHRkPkJlbG9uZ3MgdG8gY2F0ZWdvcmllczwvdGQ+PHRkPnskaXRlbS0+Y2F0ZWdvcmllc308L3RkPjwvdHI+CjwvdGFibGU+Cjxici8+CnskaXRlbS0+Y291bnRlcmxvY2FsZX0KPGJyLz4KRG93bmxvYWQgeyRpdGVtLT5kb3dubG9hZH0u]]></data>
	</file>
	<file>
	  <filename>/templates/download.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRkb3dubG9hZGluZ30gPGJyLz4KPGJyLz4KeyRkb3dubG9hZGluZ19pbmZvfQo8YnIvPgp7JGJhY2t0b2xpc3RsaW5rfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/download_error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskZXJyb3J9PC9oMz4Ke2lmIGlzc2V0KCRkb3dubG9hZF9lcnJvci5tc2cpfQo8cD57JGRvd25sb2FkX2Vycm9yX21zZ306IHskZG93bmxvYWRfZXJyb3IubXNnfTwvcD4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQo8cCBjbGFzcz0icGFnZXRleHQiPip7JG5hbWVsYWJlbH06PC9wPg0KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dG5hbWV9PC9wPg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGRlc2NyaXB0aW9ubGFiZWx9OjwvcD4NCjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRkZXNjcmlwdGlvbn08L3A+PC9kaXY+DQoNCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHBhcmVudF9pZGxhYmVsfTo8L3A+DQo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0cGFyZW50X2lkfTwvcD48L2Rpdj4NCg0Ke2lmICFlbXB0eSgkaGlkZGVuKX0NCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGFsaWFzbGFiZWx9OjwvcD4NCjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRhbGlhc308L3A+PC9kaXY+DQp7L2lmfQ0KDQo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRkZWZhdWx0X3RlbXBsYXRlbGFiZWx9OjwvcD4NCjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRkZWZhdWx0X3RlbXBsYXRlfTwvcD48L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCjxwIGNsYXNzPSJwYWdldGV4dCI+IDwvcD4NCjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4NCjwvZGl2Pg0KeyRlbmRmb3JtfQ0K]]></data>
	</file>
	<file>
	  <filename>/templates/editfile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cnskc3RhcnRmb3JtfQo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPgoJPHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHZpc2libGVsYWJlbH06PC9wPgoJPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHZpc2libGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskbmFtZWxhYmVsfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bmFtZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskYWxpYXNsYWJlbH06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGFsaWFzfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRleHRsYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0ZXh0fTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHNlcnZlcl9uYW1lbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHNlcnZlcl9uYW1lfTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHR5cGVsYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0dHlwZX08L3A+PC9kaXY+Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRzaXplbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHNpemV9PC9wPjwvZGl2PgoKPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskaGFzaGxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRoYXNofTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGRlc2NyaXB0aW9ubGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dGRlc2NyaXB0aW9ufTwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+IDwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZXh0cmF0YWJ9CjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGNyZWF0ZWRsYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGlucHV0Y3JlYXRlZH08L3A+PC9kaXY+Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR0aHVtYl9wYXRobGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHRodW1iX3BhdGh9PC9wPjwvZGl2PgoKPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskYWNjZXNzdHlwZWxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRhY2Nlc3N0eXBlfTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JGZldWdyb3Vwc2xhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXRmZXVncm91cHN9PC9wPjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR1c2VzdGFydHRleHR9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRzdGFydH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPgogICAgPHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHN0YXJ0bGFiZWx9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPntodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kc3RhcnRkYXRlcHJlZml4IHRpbWU9JGlucHV0c3RhcnRzIHN0YXJ0X3llYXI9IiswIiBlbmRfeWVhcj0iKzE1In0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSRzdGFydGRhdGVwcmVmaXggdGltZT0kaW5wdXRzdGFydHN9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskdXNlZXhwaXJhdGlvbnRleHR9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRleHB9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz4KCTxwIGNsYXNzPSdwYWdldGV4dCc+eyRleHBpcmVzbGFiZWx9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPntodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kZXhwaXJlZGF0ZXByZWZpeCB0aW1lPSRpbnB1dGV4cGlyZXMgc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzE1In0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSRleHBpcmVkYXRlcHJlZml4IHRpbWU9JGlucHV0ZXhwaXJlc308L3A+CjwvZGl2PgoKCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JHRlbXBsYXRlX2RldGFpbGxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXR0ZW1wbGF0ZV9kZXRhaWx9PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR0ZW1wbGF0ZV9mb3JtbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRpbnB1dHRlbXBsYXRlX2Zvcm19PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyR0ZW1wbGF0ZV9lbWFpbGxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXR0ZW1wbGF0ZV9lbWFpbH08L3A+PC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskY291bnRlcmxhYmVsfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Y291bnRlcn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4gPC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzZWxlY3Rvcn17JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGVuZGZvcm19Cgo=]]></data>
	</file>
	<file>
	  <filename>/templates/editfile_assoc.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm1hc3NvY30KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aD57JGNhdGVnb3J5dGV4dH08L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRhc3NvY2lhdGlvbnMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgoJCQk8dGQ+eyRlbnRyeS0+aW5wdXRhc3NvY308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4gPC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzZWxlY3Rvcn17JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGVuZGZvcm1hc3NvY30=]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzdHlsZSB0eXBlPSAidGV4dC9jc3MiIG1lZGlhPSAic2NyZWVuIj4KdGQge3ZlcnRpY2FsLWFsaWduOnRvcDt9Cjwvc3R5bGU+CnsvbGl0ZXJhbH0KeyRzdGFydGZvcm19Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+KnskdGVtcGxhdGVfbmFtZWxhYmVsfTo8L3A+CjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskaW5wdXR0ZW1wbGF0ZV9uYW1lfTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxwIGNsYXNzPSJwYWdldGV4dCI+eyRjb250ZW50bGFiZWx9OjwvcD4KPGJyIHN0eWxlPSJjbGVhcjpsZWZ0OyIvPgo8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0O3dpZHRoOjI4MHB4Ij4KPHRhYmxlIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7Ij4KeyRoZWxwX3RlbXBsYXRlX3ZhcmlhYmxlc30KeyRoZWxwX3RlbXBsYXRlX2dlbmVyYWx9CjwvdGFibGU+PC9kaXY+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRjb250ZW50fTwvcD4KPC9kaXY+CgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4gPC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JGFwcGx5fXskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/email_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPiBEZWFyIHskZmlyc3RuYW1lfSB7JGxhc3RuYW1lfSA8L2gyPgoKPHA+WW91IHJlcXVlc3RlZCB7JGl0ZW0tPm5hbWV9IGZyb20gbG9jYWxob3N0LiA8cC8+Cgo8cD5Vc2UgbGluayBiZWxvdyB0byBkb3dubG9hZDogPGJyIC8+CnskZHVybH0KPHAvPg==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgJG1lc3NhZ2UhPScnfTxwPnskbWVzc2FnZX08L3A+ey9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/filetypeinput.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp7bGl0ZXJhbH0KZnVuY3Rpb24gRE1yYWRpb3VwZGF0ZSgpCnt7L2xpdGVyYWx9CiAgdmFyIGlkID0gJ3skZm9ybWlkfSc7CntsaXRlcmFsfQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkICsgJ3VwbG9hZGVkJykuZGlzYWJsZWQgPSB0cnVlOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkICsgJ2ZpbGUnKS5kaXNhYmxlZCA9IHRydWU7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQgKyAnZXh0ZXJuYWwnKS5kaXNhYmxlZCA9IHRydWU7CgogIGlmKCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCArICdyYWRpb3VwbG9hZCcpLmNoZWNrZWQgPT0gdHJ1ZSApCiAgewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQgKyAnZmlsZScpLmRpc2FibGVkID0gZmFsc2U7CiAgfQogIGVsc2UgaWYgKCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCArICdyYWRpb3VwbG9hZGVkJykuY2hlY2tlZCA9PSB0cnVlKQogIHsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkICsgJ3VwbG9hZGVkJykuZGlzYWJsZWQgPSBmYWxzZTsKICB9CiAgZWxzZSBpZiAoIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkICsgJ3JhZGlvZXh0ZXJuYWwnKS5jaGVja2VkID09IHRydWUpCiAgewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQgKyAnZXh0ZXJuYWwnKS5kaXNhYmxlZCA9IGZhbHNlOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQgKyAnbWQ1JykuZGlzYWJsZWQgPSBmYWxzZTsKICB9Cgp9Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPjxpbnB1dCB0eXBlPSJyYWRpbyIgdmFsdWU9Im5ldyIgbmFtZT0ieyRmb3JtaWR9cmFkaW91IiBpZD0ieyRmb3JtaWR9cmFkaW91cGxvYWQiICBvbmNoYW5nZT0iRE1yYWRpb3VwZGF0ZSgpIiB7aWYgJGlucHV0dXBsb2FkZWRlbmFibGVkID09IHRydWV9Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfS8+Cip7JHVwbG9hZGxhYmVsfTo8L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRmaWxlfTwvcD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij48aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSJvbGQiIG5hbWU9InskZm9ybWlkfXJhZGlvdSIgaWQ9InskZm9ybWlkfXJhZGlvdXBsb2FkZWQiICBvbmNoYW5nZT0iRE1yYWRpb3VwZGF0ZSgpIiB7aWYgJGlucHV0dXBsb2FkZWRlbmFibGVkID09IGZhbHNlfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0vPgoqeyR1cGxvYWRlZGxhYmVsfTo8L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcm9vdHBhdGh9LyB7JGlucHV0dXBsb2FkZWR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij48aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSJleHRlcm5hbCIgbmFtZT0ieyRmb3JtaWR9cmFkaW91IiBpZD0ieyRmb3JtaWR9cmFkaW9leHRlcm5hbCIgIG9uY2hhbmdlPSJETXJhZGlvdXBkYXRlKCkiLz4KKnskZXh0ZXJuYWxsYWJlbH06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij5odHRwOi8vIHskaW5wdXRleHRlcm5hbH08L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGFzaGxhYmVsfTogeyRpbnB1dG1kNX08L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/form_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[SGVyZSB5b3UgY2FuIHJlcXVlc3QgZG93bmxvYWQgYnkgZW1haWw6Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRmaXJzdG5hbWVfbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRmaXJzdG5hbWVfaW5wdXR9PC9wPjwvZGl2PgoKPGRpdiBjbGFzcz0ncGFnZW92ZXJmbG93Jz48cCBjbGFzcz0ncGFnZXRleHQnPnskbGFzdG5hbWVfbGFiZWx9OjwvcD4KPHAgY2xhc3M9J3BhZ2VpbnB1dCc+eyRsYXN0bmFtZV9pbnB1dH08L3A+PC9kaXY+Cgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdldGV4dCc+eyRlbWFpbF9sYWJlbH06PC9wPgo8cCBjbGFzcz0ncGFnZWlucHV0Jz57JGVtYWlsX2lucHV0fTwvcD48L2Rpdj4KCjxkaXYgY2xhc3M9J3BhZ2VvdmVyZmxvdyc+PHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JG1haWxpbmdsaXN0X2xhYmVsfTp7JG1haWxpbmdsaXN0X2lucHV0fTwvcD48L2Rpdj4KCgo8ZGl2IGNsYXNzPSdwYWdlb3ZlcmZsb3cnPjxwIGNsYXNzPSdwYWdlaW5wdXQnPnskc3VibWl0fTwvcD48L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/listcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+PHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9IHskcmVvcmRlcmNhdGVnb3J5bGlua308L3A+PC9kaXY+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkgICAgIDxjb2xncm91cD4KCSAgICAgIDxjb2wvPgoJICAgICAgPGNvbC8+CgkgICAgICA8Y29sLz4KCSAgICAgIDxjb2wvPgoJICAgICAgPGNvbCBzdHlsZT0id2lkdGg6MTZweDsiLz4KCSAgICAgIDxjb2wgc3R5bGU9IndpZHRoOjE2cHg7Ii8+CgkgICAgICA8Y29sIHN0eWxlPSJ3aWR0aDoxNnB4OyIvPgoJICAgIDwvY29sZ3JvdXA+CgkJPHRyPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGg+eyRjYXRlZ29yeXRleHR9PC90aD4KCQkJPHRoPnskYWxpYXN0ZXh0fSA8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIiBjb2xzcGFuPSIzIj57JHRhYmxlQWN0aW9uc0hlYWRlcn08L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+CgkJCTx0ZD57JGVudHJ5LT5pZH08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+YWxpYXN9PC90ZD4KCQkJPHRkPnskZW50cnktPmZpbGVuYnR4dH08L3RkPgoJCQk8dGQ+e2lmICRlbnRyeS0+ZmlsZW5iID4gMX17JGVudHJ5LT5yZW9yZGVybGlua317L2lmfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+PHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9PC9wPjwvZGl2PgoK]]></data>
	</file>
	<file>
	  <filename>/templates/listfile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEwcHg7Ij4KPHAgY2xhc3M9InBhZ2VvcHRpb25zIiA+eyRhZGRsaW5rfSB7JHNjYW5saW5rfSA8L3A+Cjxmb3JtIG1ldGhvZD0iUE9TVCIgc3R5bGU9ImZsb2F0OmxlZnQ7bWFyZ2luOjEwcHg7IiBhY3Rpb249InskaW5wdXRfY2F0ZWdvcnlfc2VsZWN0b3JfdXJsfSI+IAogICAgeyRjYXRlZ29yeV9zZWxlY3Rvcn06IHskaW5wdXRfY2F0ZWdvcnlfc2VsZWN0b3J9IAogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIvPiA8YnIvPgogICAgeyRjdXJyZW50fTogeyR2YWx1ZV9jYXRlZ29yeV9zZWxlY3RvcnxkZWZhdWx0OiRub3NlbGVjdG9yfSA8YnIvPgogICAgeyR2ZXJib3NlfHVjd29yZHN9OiB7JHZhbHVlX2NhdGVnb3J5X3NlbGVjdG9yX3ZlcmJvc2V8ZGVmYXVsdDokbm9zZWxlY3Rvcn0KPC9mb3JtPiAKPGZvcm0gbWV0aG9kPSJQT1NUIiBzdHlsZT0iZmxvYXQ6bGVmdDttYXJnaW46MTBweDsiIGFjdGlvbj0ieyRpbnB1dF9jYXRlZ29yeV9zZWxlY3Rvcl91cmx9Ij4gCiAgICB7JGZpbHRlcn06IHskaW5wdXRfZmlsdGVyfSAKICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiLz4gPGJyLz4KICAgIHskY3VycmVudH06IHskdmFsdWVfZmlsdGVyfGRlZmF1bHQ6JG5vZmlsdGVyfSA8YnIvPgo8L2Zvcm0+IAoKPC9kaXY+Cgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiID4KPHRoZWFkPgogICAgCSAgICAgPGNvbGdyb3VwPgoJICAgICAgPGNvbC8+CgkgICAgICA8Y29sLz4KCSAgICAgIDxjb2wvPgoJICAgICAgPGNvbC8+CgkgICAgICA8Y29sLz4KICAgICAgICAgIDxjb2wvPgoJICAgICAgPGNvbCBzdHlsZT0id2lkdGg6MTZweDsiLz4KCSAgICAgIDxjb2wgc3R5bGU9IndpZHRoOjE2cHg7Ii8+CgkgICAgICA8Y29sIHN0eWxlPSJ3aWR0aDoxNnB4OyIvPgoJICAgIDwvY29sZ3JvdXA+Cjx0cj4KPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyR0YWJsZUlEQ29sSGVhZGVyfTwvdGg+Cjx0aD57JHRhYmxlTmFtZUNvbEhlYWRlcn08L3RoPgo8dGg+eyR0YWJsZURlc2NyaXB0aW9uQ29sSGVhZGVyfTwvdGg+Cjx0aCBjbGFzcz0icGFnZWljb24iPnskdGFibGVjb3VudGVyaGVhZGVyfTwvdGg+Cjx0aCBjbGFzcz0icGFnZWljb24iPnskdGFibGV2aXNpYmxlaGVhZGVyfTwvdGg+Cjx0aCBjbGFzcz0icGFnZWljb24iIHN0eWxlPSJ3aWR0aDoxNTBweCI+eyR0YWJsZWF2YWlsYWJsaXR5aGVhZGVyfTwvdGg+Cjx0aCBjbGFzcz0icGFnZWljb24iIGNvbHNwYW49IjMiPnskdGFibGVBY3Rpb25zSGVhZGVyfTwvdGg+CjwvdHI+CjwvdGhlYWQ+CntpZiAkaXRlbWNvdW50ID4gMH0KPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQo8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgo8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KPHRkIHN0eWxlPSJ3aWR0aDoyMDBweDsiPiB7JGVudHJ5LT5uYW1lfTwvdGQ+Cjx0ZD57JGVudHJ5LT5kZXNjcmlwdGlvbnx0cnVuY2F0ZToxMDB9PC90ZD4KPHRkPnskZW50cnktPmNvdW50ZXJ9PC90ZD4KPHRkPnskZW50cnktPnZpc2libGV9PC90ZD4KPHRkPnskZW50cnktPmF2YWlsYWJsZX08L3RkPgo8dGQ+eyRlbnRyeS0+Y2hhbmdlbGlua308L3RkPgo8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KPC90cj4Key9mb3JlYWNofQo8L3Rib2R5Pgp7L2lmfQo8L3RhYmxlPgoKCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9PC9wPgo8L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/listtemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGV9PC9oMz4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIiA+Cjx0aGVhZD4KPHRyPgo8dGg+eyR0YWJsZU5hbWVDb2xIZWFkZXJ9PC90aD4KPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyR0YWJsZURlZmF1bHRDb2xIZWFkZXJ9PC90aD4KPHRoIGNsYXNzPSJwYWdlaWNvbiI+IDwvdGg+Cjx0aCBjbGFzcz0icGFnZWljb24iPiA8L3RoPgo8dGggY2xhc3M9InBhZ2VpY29uIj4gPC90aD4KPC90cj4KPC90aGVhZD4KPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQo8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgo8dGQ+eyRlbnRyeS0+bmFtZWxpbmt9PC90ZD4KPHRkPnskZW50cnktPnRvZ2dsZWRlZmF1bHR9PC90ZD4KPHRkPnskZW50cnktPmR1cGxpY2F0ZWxpbmt9PC90ZD4KPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+Cjx0ZD57JGVudHJ5LT5kZWxldGVsaW5rfTwvdGQ+CjwvdHI+CnsvZm9yZWFjaH0KPC90Ym9keT4KPC90YWJsZT4KPHA+eyRhZGRsaW5rfTwvcD4KPHA+PC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/list_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzdHlsZSB0eXBlPSAidGV4dC9jc3MiIG1lZGlhPSAic2NyZWVuIj4KLmRvd25sb2FkcyB7d2lkdGg6OTAlO21hcmdpbjowIDUlO30KLmRvd25sb2FkcyBoMyB7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgYmxhY2s7bWFyZ2luOjFlbSAwLjVlbSAwLjVlbSAhaW1wb3J0YW50O3RleHQtYWxpZ246cmlnaHQ7fQouZG93bmxvYWRzIGg0IHt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgYmxhY2s7bWFyZ2luOjFlbSAwLjVlbSAwLjVlbSAhaW1wb3J0YW50O3RleHQtYWxpZ246cmlnaHQ7Zm9udC1zaXplOjEuMWVtO30KLmRvd25sb2FkcyBoNSB7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkIGJsYWNrO21hcmdpbjoxZW0gMC41ZW0gMC41ZW0gIWltcG9ydGFudDt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtc2l6ZToxZW07fQouZG93bmxvYWRzIC5maWxlIHtib3JkZXI6MXB4IHNvbGlkIGJsYWNrO21hcmdpbjoycHg7cGFkZGluZzo1cHg7fQouZG93bmxvYWRzIC5kZXNjcmlwdGlvbiB7d2lkdGg6ODAlO30KLmRvd25sb2FkcyAuaWNvbnMge2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6cmlnaHQ7fQouZG93bmxvYWRzIC5zbWFsbCB7Zm9udC1zaXplOjAuOGVtO30KLmRvd25sb2FkcyAudGl0bGUge2ZvbnQtc2l6ZToxLjFlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7d2lkdGg6ODAlO3RleHQtYWxpZ246Y2VudGVyO30KLmRvd25sb2FkcyBwIHttYXJnaW46MDtwYWRkaW5nOjA7fQouZG93bmxvYWRzIC5yb3cxIHtiYWNrZ3JvdW5kLWNvbG9yOiNkZGQ7fQouZG93bmxvYWRzIC5yb3cyIHtiYWNrZ3JvdW5kLWNvbG9yOiNiYmI7fQo8L3N0eWxlPgp7L2xpdGVyYWx9CjxkaXYgY2xhc3M9ImRvd25sb2FkcyI+CntpZiAkdG9wY2F0ZWdvcnlsaW5rICE9ICcnIH0gVXBwZXIgY2F0ZWdvcnk6IHskdG9wY2F0ZWdvcnlsaW5rfSB7L2lmfQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19CiAgICB7aWYgJGl0ZW0tPml0ZW10eXBlID09ICdoZWFkZXInIH0KICAgICAgIHtpZiAkaXRlbS0+aXRlbWxldmVsID09IDAgfQogICAgICAgICAgIDxoMz4gSGVhZGVyIDA6IHskaXRlbS0+bmFtZX0gPC9oMz4KICAgICAgIHtlbHNlaWYgJGl0ZW0tPml0ZW1sZXZlbCA9PSAxIH0KICAgICAgICAgICA8aDQ+IEhlYWRlciAxOiB7JGl0ZW0tPm5hbWV9IDwvaDQ+CiAgICAgICB7ZWxzZWlmICRpdGVtLT5pdGVtbGV2ZWwgPT0gMiB9CiAgICAgICAgICAgPGg1PiBIZWFkZXIgMjogeyRpdGVtLT5uYW1lfSA8L2g1PgogICAgICAgey9pZn0KICAgICAgICAgICB7aWYgJGl0ZW0tPmRlc2NyaXB0aW9uICE9ICcnIH08c3BhbiBjbGFzcz0ic21hbGwiPkRlc2NyaXB0aW9uOjwvc3Bhbj48YnIgLz4geyRpdGVtLT5kZXNjcmlwdGlvbn0gey9pZn0KCSAgIHtpZiBjb3VudCgkaXRlbS0+c3ViY2F0ZWdvcmllcykgPiAwIH0KICAgICAgICAgICA8c3BhbiBjbGFzcz0ic21hbGwiPlN1YmNhdGVnb3JpZXM6e2ZvcmVhY2ggZnJvbT0kaXRlbS0+c3ViY2F0ZWdvcmllcyBpdGVtPXN1YmNhdH17aWYgJHN1YmNhdC5maWxlc25iID4gMH0geyRzdWJjYXQubGlua317L2lmfQoJICAgey9mb3JlYWNofXsvaWZ9PC9zcGFuPjxiciAvPgogICAgey9pZn0KICAgIHtpZiAkaXRlbS0+aXRlbXR5cGUgPT0gJ2ZpbGUnIH0KCiAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZSB7JGl0ZW0tPnJvd2NsYXNzfSI+CgkJCTxkaXYgY2xhc3M9Imljb25zIj4geyRpdGVtLT5zaXplfQoJCQkJPGltZyBzcmM9Ii9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9pbWFnZXMvaWNvbnMvY2FsY3VsYXRvci5wbmciIHRpdGxlPSJNZDU6IHskaXRlbS0+aGFzaH0iIGFsdD0iTWQ1OiB7JGl0ZW0tPmhhc2h9Ii8+CgkJCQk8YSBocmVmPSJ7JGl0ZW0tPmhyZWZ9IiB0aXRsZT0ieyRpdGVtLT5uYW1lfSI+PGltZyBzcmM9Ii9tb2R1bGVzL0Rvd25sb2FkTWFuYWdlci9pbWFnZXMvaWNvbnMvZHJpdmVfZGlzay5wbmciLz48L2E+Cntmb3JlYWNoIGZyb209JGl0ZW0tPmFjY2Vzc3R5cGVzIGl0ZW09YWNjZXNzfQo8aW1nIHNyYz0iL21vZHVsZXMvRG93bmxvYWRNYW5hZ2VyL2ltYWdlcy9pY29ucy9hY2Nlc3MteyRhY2Nlc3N9LnBuZyIgdGl0bGU9InskYWNjZXNzfSBhY2Nlc3MiIGFsdD0ieyRhY2Nlc3N9IGFjY2VzcyIvPgp7L2ZvcmVhY2h9CgkJCTwvZGl2PgoJCQk8cCBjbGFzcz0idGl0bGUiPiB7JGl0ZW0tPnRodW1ifSB7JGl0ZW0tPmRvd25sb2FkfSA8L3A+CgkgICAge2lmICRpdGVtLT5jYXRlZ29yaWVzICE9ICcnIH08cD48c3BhbiBjbGFzcz0ic21hbGwiPkNhdGVnb3JpZXM6PC9zcGFuPjxiciAvPiB7JGl0ZW0tPmNhdGVnb3JpZXN9PC9wPnsvaWZ9CjxwPjxzcGFuIGNsYXNzPSJzbWFsbCI+eyRpdGVtLT5jb3VudGVybG9jYWxlfTwvc3Bhbj48L3A+CjxwPjxzcGFuIGNsYXNzPSJzbWFsbCI+eyRpdGVtLT5kZXRhaWx9PC9zcGFuPjwvcD4KCQkJPGRpdiBzdHlsZT0iY2xlYXI6cmlnaHQ7Ij4gPC9kaXY+CgkJPC9kaXY+CiAgICB7L2lmfQp7Zm9yZWFjaGVsc2V9CiAgICB7JG5vZG93bmxvYWRzfQp7L2ZvcmVhY2h9CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/plugin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbG91ZG5lc3N9PC9oMz4=]]></data>
	</file>
	<file>
	  <filename>/templates/reordercategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CntpZiAkaXRlbWNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aD57JGNhdGVnb3J5dGV4dH0gLSB7JHByaW9yaXR5dGV4dH08L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+CgkJCTx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CgkJPC90cj4Key9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4KCnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxwIGNsYXNzPSJwYWdldGV4dCI+IDwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRlbmRmb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+PHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9PC9wPjwvZGl2PgoK]]></data>
	</file>
	<file>
	  <filename>/templates/reorderitem.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CntpZiAkaXRlbWNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCBzdHlsZT0id2lkdGg6MTAwcHg7Ij57JHByaW9yaXR5dGV4dH08L3RoPgoJCQk8dGg+eyRpdGVtdGV4dH08L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+CgkJCTx0ZCBzdHlsZT0idGV4dC1hbGlnbjpyaWdodCI+eyRlbnRyeS0+cHJpb3JpdHl9PC90ZD4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KCQk8L3RyPgp7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgoKey9pZn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4gPC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/scanfile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij57JGxhYmVsX25ld2ZpbGVzfTwvZGl2Pgo8YnIvPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiID4KPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRkaWZmIGl0ZW09ZW50cnkgbmFtZT1kaWZmfQo8dHIgY2xhc3M9InJvd3skc21hcnR5LmZvcmVhY2guZGlmZi5pbmRleCUyICsxfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSdyb3dob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0ncm93eyRzbWFydHkuZm9yZWFjaC5kaWZmLmluZGV4JTIgKzF9JzsiPgo8dGQgc3R5bGU9IndpZHRoOjIwMHB4OyI+IAp7JGVudHJ5fQo8L3RkPgo8L3RyPgp7L2ZvcmVhY2h9CjwvdGJvZHk+CjwvdGFibGU+CjxkaXYgc3R5bGU9Im1hcmdpbjogMTBweCAzMHB4IDEwcHggMTBweDsgd2lkdGg6IDk3JTsiPgp7JGJhY2tsaW5rfQo8L2Rpdj4K]]></data>
	</file>
</module>
