<?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>Presence</name>
	<version>0.3.1</version>
    <mincmsversion>2.0</mincmsversion>
	<help><![CDATA[PGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4KPHA+Q2UgbW9kdWxlIHLDqWN1cMOocmUgbGVzIHLDqXN1bHRhdHMgZGUgdm90cmUgY2x1YiBldCByw6lhbGlzZSBkZXMgdHJhaXRlbWVudHMgYWZpbiBkZSBsZXMgZGlzcG9zZXIgc3VyIHZvdHJlIHNpdGUgaW50ZXJuZXQuPC9wPgo8aDM+Q29tbWVudCBsJ3V0aWxpc2VyID88L2gzPgo8cD5MZSB0YWcgcGFyIGTDqWZhdXQgZXN0IGNlbHVpLWNpIHtjbXNfbW9kdWxlIG1vZHVsZT0nUGluZyd9PC9wPgo8aDM+U3VwcG9ydDwvaDM+Cjx1bD4KPGxpPlBvdXIgb2J0ZW5pciBsYSBkZXJuacOocmUgdmVyc2lvbiBvZmZpY2llbGxlLCBGQVFzLCBvdSBwb3VyIHNpZ25hbGVyIHVuIGJ1ZywgZmFpcmUgdW5lIGRlbWFuZGUgZCdhbcOpbGlvcmF0aW9ucywgbWVyY2kgZGUgY29uc3VsdGVyIGxhIGZvcmdlIGR1IG1vZHVsZSDDoCBjZXR0ZSBhZHJlc3NlIDogCjxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvcGluZy8iPlBpbmc8L2E+LjwvbGk+CjwvdWw+CjxwPkNlIG1vZHVsZSBlc3QgZm91cm5pIHNvdXMgbGljZW5jZSBHUEwgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LlBvdXIgdXRpbGlzZXIgbGUgbG9naWNpZWwsIHZvdXMgZGV2ZXogZW4gIGFjY2VwdGVyIGxlcyB0ZXJtZXM8L3A+Cgo8aDM+Q29weXJpZ2h0IGV0IExpY2VuY2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTQsIENsYXVkZSBTaW9oYW4gPGEgaHJlZj0ibWFpbHRvOmNsYXVkZUBhZ2ktd2ViY29uc2VpbC5mciI+Y2xhdWRlQGFnaS13ZWJjb25zZWlsLmZyPC9hPi4gVG91cyBkcm9pdHMgcsOpc2VydsOpcy48L3A+CjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+QWRoZXJlbnRzID0mZ3Q7IDAuMy4zLjE8L2xpPjxsaT5NZXNzYWdlcyA9Jmd0OyAwLjMuMTwvbGk+PGxpPlNtcyA9Jmd0OyAwLjMuMTwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBDbGF1ZGUgU0lPSEFOICZsdDtjbGF1ZGUuc2lvaGFuQGdtYWlsLmNvbSZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAwLjMuMTxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPlZlcnNpb24gMC4xYmV0YTMsIE5vdiAyMDE0IFNjIEFtw6lsaW9yYXRpb25zIGR1IGZyb250LW9mZmljZSBldCBkw6lib2d1YWdlIGR1IGJhY2s8L2xpPgo8dWw+CiAgIDxsaT5NaXNlIG5lIHBsYWNlIGR1IGZyb250LW9mZmljZS48L2xpPgogICA8bGk+QW3DqWxpb3JhdGlvbnMgZHUgYmFjay1vZmZpY2UgZXQgY29ycmVjdGlvbnMgZGUgYnVncy48L2xpPgo8L3VsPjxiciAvPg==]]></about>
	<description><![CDATA[Ce module gère les absences/présences.]]></description>
	<requires>
	  <requiredname>Adherents</requiredname>
	  <requiredversion>0.3.3.1</requiredversion>
	</requires>
	<requires>
	  <requiredname>Messages</requiredname>
	  <requiredversion>0.3.1</requiredversion>
	</requires>
	<requires>
	  <requiredname>Sms</requiredname>
	  <requiredversion>0.3.1</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABgAAAAIAAAAGAAAABALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAABQAAAABAAAQAABlAHNkc2NsYm9vbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAYAaQBtAGEAZwBlAHNkc2NsYm9vbAEAAAAEAGwAYQBuAGdkc2NsYm9vbAEAAAAEAGwAYQBuAGdsZzFTY29tcAAAAAAAAGSqAAAABABsAGEAbgBnbW9ERGR1dGMAANOimzwAAAAAAAQAbABhAG4AZ21vZERkdXRjAADTops8AAAAAAAEAGwAYQBuAGdwaDFTY29tcAAAAAAAAJAAAAAAAwBsAGkAYmJ3c3BibG9iAAAA+WJwbGlzdDAw2QECAwQFBgcICQoKDAoMChARDF1TaG93U3RhdHVzQmFyW1Nob3dTaWRlYmFyW1Nob3dQYXRoYmFyW1Nob3dUb29sYmFyW1Nob3dUYWJWaWV3XxAUQ29udGFpbmVyU2hvd1NpZGViYXJcV2luZG93Qm91bmRzXFNpZGViYXJXaWR0aF8QFVByZXZpZXdQYW5lVmlzaWJpbGl0eQkJCAkICV8QGHt7ODgxLCAxOTV9LCB7OTQ0LCA0MzZ9fRCjCAgbKTVBTVlwfYqio6Slpqeow8UAAAAAAAABAQAAAAAAAAATAAAAAAAAAAAAAAAAAAAAxgAAAAMAbABpAGJkc2NsYm9vbAEAAAADAGwAaQBibGcxU2NvbXAAAAAAAAAAAAAAAAMAbABpAGJsc3ZQYmxvYgAAAm9icGxpc3QwMNgBAgMEBQYHCAkKCwxEFQpGWGljb25TaXplXxAPc2hvd0ljb25QcmV2aWV3XxARY2FsY3VsYXRlQWxsU2l6ZXNXY29sdW1uc1h0ZXh0U2l6ZVpzb3J0Q29sdW1uXxAQdXNlUmVsYXRpdmVEYXRlc18QEnZpZXdPcHRpb25zVmVyc2lvbiNAMAAAAAAAAAkIqg0WGx8kKS4zOD3UDg8QEQoTChVXdmlzaWJsZVV3aWR0aFlhc2NlbmRpbmdaaWRlbnRpZmllcgkRAYMJVG5hbWXUDg8QEQoYCxoJELUIXGRhdGVNb2RpZmllZNQODxARCxgLHggIW2RhdGVDcmVhdGVk1A4PEBEKIQsjCRBhCFRzaXpl1A4PEBEKJgooCRBzCVRraW5k1A4PEBELKwotCBBkCVVsYWJlbNQODxARCzAKMggQSwlXdmVyc2lvbtQODxARCzUKNwgRASwJWGNvbW1lbnRz1A4PEBELOgs8CBDICF5kYXRlTGFzdE9wZW5lZNQ+P0ARCxgLQ1d2aXNpYmxlVXdpZHRoWWFzY2VuZGluZwgIWWRhdGVBZGRlZCNAKAAAAAAAAAkQAAAIABkAIgA0AEgAUABZAGQAdwCMAJUAlgCXAKIAqwCzALkAwwDOAM8A0gDTANgA4QDiAOQA5QDyAPsA/AD9AQkBEgETARUBFgEbASQBJQEnASgBLQE2ATcBOQE6AUABSQFKAUwBTQFVAV4BXwFiAWMBbAF1AXYBeAF5AYgBkQGZAZ8BqQGqAasBtQG+Ab8AAAAAAAACAQAAAAAAAABHAAAAAAAAAAAAAAAAAAABwQAAAAMAbABpAGJsc3ZwYmxvYgAAAldicGxpc3QwMNgBAgMEBQYHCAkKCwxGFApBWGljb25TaXplXxAPc2hvd0ljb25QcmV2aWV3XxARY2FsY3VsYXRlQWxsU2l6ZXNXY29sdW1uc1h0ZXh0U2l6ZVpzb3J0Q29sdW1uXxAQdXNlUmVsYXRpdmVEYXRlc18QEnZpZXdPcHRpb25zVmVyc2lvbiNAMAAAAAAAAAkI2Q0ODxAREhMUFRYfJCkuMzg9Qlhjb21tZW50c15kYXRlTGFzdE9wZW5lZFtkYXRlQ3JlYXRlZFRzaXplVWxhYmVsVGtpbmRXdmVyc2lvblRuYW1lXGRhdGVNb2RpZmllZNQXGBkaCxwKHld2aXNpYmxlVXdpZHRoWWFzY2VuZGluZ1VpbmRleAgRASwJEAfUFxgZGgshCyMIEMgIEAjUFxgZGgsmCygIELUIEALUFxgZGgorCy0JEGEIEAPUFxgZGgswCjIIEGQJEAXUFxgZGgo1CjcJEHMJEATUFxgZGgs6CjwIEEsJEAbUFxgZGgo/CkEJEQGDCRAA1BcYGRoKJgtFCQgQASNAKAAAAAAAAAkACAAZACIANABIAFAAWQBkAHcAjACVAJYAlwCqALMAwgDOANMA2QDeAOYA6wD4AQEBCQEPARkBHwEgASMBJAEmAS8BMAEyATMBNQE+AT8BQQFCAUQBTQFOAVABUQFTAVwBXQFfAWABYgFrAWwBbgFvAXEBegF7AX0BfgGAAYkBigGNAY4BkAGZAZoBmwGdAaYAAAAAAAACAQAAAAAAAABIAAAAAAAAAAAAAAAAAAABpwAAAAMAbABpAGJtb0REZHV0YwAA1vDKFwAAAAAAAwBsAGkAYm1vZERkdXRjAADW8MoXAAAAAAADAGwAaQBicGgxU2NvbXAAAAAAAAAAAAAAAAMAbABpAGJ2U3JubG9uZwAAAAEAAAAJAHQAZQBtAHAAbABhAHQAZQBzZHNjbGJvb2wBAAAACQB0AGUAbQBwAGwAYQB0AGUAc2xnMVNjb21wAAAAAAAAAAAAAAAJAHQAZQBtAHAAbABhAHQAZQBzbW9ERGR1dGMAANbwyiYAAAAAAAkAdABlAG0AcABsAGEAdABlAHNtb2REZHV0YwAA1vDKJgAAAAAACQB0AGUAbQBwAGwAYQB0AGUAc3BoMVNjb21wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAYCwAAAEUAABALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEERFNEQgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAgAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAEAAAgAAAAAAAAAAAEAACAAAAAAAQAAQAAAAAABAACAAAAAAAEAAQAAAAAAAQACAAAAAAABAAQAAAAAAAEACAAAAAAAAQAQAAAAAAABACAAAAAAAAEAQAAAAAAAAQCAAAAAAAABAQAAAAAAAAECAAAAAAAAAQQAAAAAAAABCAAAAAAAAAEQAAAAAAAAASAAAAAAAAABQAAAAAAAAABld09wdGlvbnNWZXJzaW9uI0AwAAAAAAAACQjZDQ4PEBESExQVFh8kKS4zOD1CWGNvbW1lbnRzXmRhdGVMYXN0T3BlbmVkW2RhdGVDcmVhdGVkVHNpemVVbGFiZWxUa2luZFd2ZXJzaW9uVG5hbWVcZGF0ZU1vZGlmaWVk1BcYGRoLHAoeV3Zpc2libGVVd2lkdGhZYXNjZW5kaW5nVWluZGV4CBEBLAkQB9QXGBkaCyELIwgQyAgQCNQXGBkaCyYLKAgQtQgQAtQXGBkaCisLLQkQYQgQA9QXGBkaCzAKMggQZAkQBdQXGBkaCjUKNwkQcwkQBNQXGBkaCzoKPAgQSwkQBtQXGBkaCj8KQQkRAYMJEADUFxgZGgomC0UJCBABI0AoAAAAAAAACQAIABkAIgA0AEgAUABZAGQAdwCMAJUAlgCXAKoAswDCAM4A0wDZAN4A5gDrAPgBAQEJAQ8BGQEfASABIwEkASYBLwEwATIBMwE1AT4BPwFBAUIBRAFNAU4BUAFRAVMBXAFdAV8BYAFiAWsBbAFuAW8BcQF6AXsBfQF+AYABiQGKAY0BjgGQAZkBmgGbAZ0BpgAAAAAAAAIBAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAGnAAAAAwBsAGkAYm1vRERkdXRjAADW8MoXAAAAAAADAGwAaQBibW9kRGR1dGMAANbwyhcAAAAAAAMAbABpAGJwaDFTY29tcAAAAAAAAAAAAAAAAwBsAGkAYnZTcm5sb25nAAAAAQAAAAkAdABlAG0AcABsAGEAdABlAHNkc2NsYm9vbAEAAAAJAHQAZQBtAHAAbABhAHQAZQBzbGcxU2NvbXAAAAAAAAAAAAAAAAkAdABlAG0AcABsAGEAdABlAHNtb0REZHV0YwAA1vDKJgAAAAAACQB0AGUAbQBwAGwAYQB0AGUAc21vZERkdXRjAADW8MomAAAAAAAJAHQAZQBtAHAAbABhAHQAZQBzcGgxU2NvbXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></data>
	</file>
	<file>
	  <filename>/action.add_edit_presence.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCglpZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0luc2NyaXB0aW9ucyB1c2UnKSkKICAJewogICAgCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpKTsKCQlyZXR1cm47CiAgIAogIAl9CgoJaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCiAgCXsKICAgIAkJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignY290aXNhdGlvbnMnKTsKICAgIAkJcmV0dXJuOwogIAl9Ci8vZGVidWdfZGlzcGxheSgkcGFyYW1zLCAnUGFyYW1ldGVycycpOwokZGIgPSYgJHRoaXMtPkdldERiKCk7Ci8vcydhZ2l0LWlsIGQndW5lIG1vZGlmIG91IGQndW5lIGNyw6lhID8KJHJlY29yZF9pZCA9ICcnOwokaW5kZXggPSAwOwokbGliZWxsZSA9ICcnOwokYWN0aWYgPSAwOwokZWRpdCA9IDA7CiRpbnNjX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CgppZihpc3NldCgkcGFyYW1zWydyZWNvcmRfaWQnXSkgJiYgJHBhcmFtc1sncmVjb3JkX2lkJ10gIT0iIikKewoJCSRyZWNvcmRfaWQgPSAkcGFyYW1zWydyZWNvcmRfaWQnXTsKCQkkZWRpdCA9IDE7Ly9vbiBlc3QgYmllbiBlbiB0cmFpbiBkJ8OpZGl0ZXIgdW4gZW5yZWdpc3RyZW1lbnQKCQkvL09OIFZBIENIRVJDSEVSIGwnZW5yZWdpc3RyZW1lbnQgZW4gcXVlc3Rpb24KCQkkZGV0YWlscyA9ICRpbnNjX29wcy0+ZGV0YWlsc19wcmVzZW5jZSgkcmVjb3JkX2lkKTsKfQokZ3Bfb3BzID0gbmV3IGNvbnRhY3Q7CiRsaXN0ZV9ncm91cGVzID0gJGdwX29wcy0+bGlzdGVfZ3JvdXBlcygpOwokT3VpTm9uID0gYXJyYXkoJ091aSc9PicxJywgJ05vbic9PicwJyk7CQoJCgkKCS8vb24gY29uc3RydWl0IGxlIGZvcm11bGFpcmUKCSRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkJICAgICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ2RvX2FkZF9lZGl0X3ByZXNlbmNlJywgJHJldHVybmlkICkgKTsKCWlmKCRlZGl0PT0xKQoJewoJCSRzbWFydHktPmFzc2lnbigncmVjb3JkX2lkJywKCQkJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3JlY29yZF9pZCcsJHJlY29yZF9pZCkpOwoJCQoJfQoJCgkKCSRzbWFydHktPmFzc2lnbignbm9tJywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ25vbScsKGlzc2V0KCRkZXRhaWxzWydub20nXSk/JGRldGFpbHNbJ25vbSddOiIiKSw1MCwyMDApKTsKCSRzbWFydHktPmFzc2lnbignZGVzY3JpcHRpb24nLAoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnZGVzY3JpcHRpb24nLChpc3NldCgkZGV0YWlsc1snZGVzY3JpcHRpb24nXSk/JGRldGFpbHNbJ2Rlc2NyaXB0aW9uJ106IiIpLDUwLDIwMCkpOwoJJHNtYXJ0eS0+YXNzaWduKCdkYXRlX2RlYnV0JywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0RGF0ZSgkaWQsJ2RhdGVfZGVidXQnLChpc3NldCgkZGV0YWlsc1snZGF0ZV9kZWJ1dCddKT8kZGV0YWlsc1snZGF0ZV9kZWJ1dCddOiIiKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdoZXVyZV9kZWJ1dCcsCgkJCQkJJHRoaXMtPkNyZWF0ZUlucHV0RGF0ZSgkaWQsJ2hldXJlX2RlYnV0JywoaXNzZXQoJGRldGFpbHNbJ2hldXJlX2RlYnV0J10pPyRkZXRhaWxzWydoZXVyZV9kZWJ1dCddOiIwMDowMCIpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2RhdGVfbGltaXRlJywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0RGF0ZSgkaWQsJ2RhdGVfbGltaXRlJywoaXNzZXQoJGRldGFpbHNbJ2RhdGVfbGltaXRlJ10pPyRkZXRhaWxzWydkYXRlX2xpbWl0ZSddOiIiKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdhY3RpZicsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnYWN0aWYnLCRPdWlOb24sJHNlbGVjdGVkaW5kZXggPSAkaW5kZXgsICRzZWxlY3RlZHZhbHVlPShpc3NldCgkZGV0YWlsc1snYWN0aWYnXSk/JGRldGFpbHNbJ2FjdGlmJ106IiIpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2dyb3VwZScsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnZ3JvdXBlJywkbGlzdGVfZ3JvdXBlcywkc2VsZWN0ZWRpbmRleCA9ICRpbmRleCwgKGlzc2V0KCRkZXRhaWxzWydncm91cGUnXSk/JGRldGFpbHNbJ2dyb3VwZSddOiIiKSkpOwoJCgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnc3VibWl0JyksICdjbGFzcz0iYnV0dG9uIicpKTsKCSRzbWFydHktPmFzc2lnbignY2FuY2VsJywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FuY2VsJywKCQkJCQkJJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgoKCSRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsCgkJCSR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoJCgkKCgoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZGRfZWRpdF9wcmVzZW5jZS50cGwnKTsKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_bitly_tests.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKcmVxdWlyZV9vbmNlKCdiaXRseS5waHAnKTsKCiRjbGllbnRfaWQgPSAnZTMxZGJkZTZlOTU2NGUzZDg2M2IxMTU4YTU1NGM2OTI4OGFmNTExZSc7Ly8kdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2xpZW50X2lkJyk7Ly8nMmY0YjFlYjViZWI5YjYxNWFjNzBiMTZlMzRkYWY0YmM2Yjg5OTExMic7CiRjbGllbnRfc2VjcmV0ID0gJzFkMTE2NTM0MDQyMDAzYTk3YjFmNzlmOTIxMGU1MWI4M2ZmODg5MjInOy8vJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NsaWVudF9zZWNyZXQnKTsvLycxNDllNThjZmIzZjVkNTA4Mzg2ODIyYmU0MGFmYzhjZTc1Y2ExYzI2JzsKJHVzZXJfYWNjZXNzX3Rva2VuID0gJ2ZkZTFjNjg0ZjMyNzIyYzNhYmFiOWU4MmZkYWJmOWIzNmU1ODAzYWMnOy8vJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FjY2Vzc190b2tlbicpOy8vJ2MwNDFlYzAwY2RmYTVjZWZlOGJkYTQ2YWZhYTk5NmJiMDM4NTI3YTQnOwokdXNlcl9sb2dpbiA9ICdzaW9oYW4nOwokdXNlcl9hcGlfa2V5ID0gJyc7IC8vIDwtLSB5b3UgY2FuIG9idGFpbiB0aGlzIGZvciB0ZXN0aW5nIHlvdXIgYXBwCi8vdmlhIHRoZSBiaXQubHkgQVBJIGRhc2hib2FyZCAoIGh0dHBzOi8vYml0bHkuY29tL2Evb2F1dGhfYXBwcyApOwovL2NvbmZpcm0geW91ciBwYXNzd29yZCBhbmQgY2xpY2sgJ2dlbmVyYXRlIHRva2VuJy4uLnRoZW4gY29weS9wYXN0ZSBoZXJlIAokcGFyYW1zID0gYXJyYXkoKTsKJHBhcmFtc1snYWNjZXNzX3Rva2VuJ10gPSAkdXNlcl9hY2Nlc3NfdG9rZW47CiRwYXJhbXNbJ2xvbmdVcmwnXSA9ICdodHRwOi8va25vd2Fib3V0Lml0JzsKJHBhcmFtc1snZG9tYWluJ10gPSAnai5tcCc7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCdzaG9ydGVuJywgJHBhcmFtcyk7CnZhcl9kdW1wKCRyZXN1bHRzKTsKLyoKJHBhcmFtcyA9IGFycmF5KCk7CiRwYXJhbXNbJ2FjY2Vzc190b2tlbiddID0gJHVzZXJfYWNjZXNzX3Rva2VuOwokcGFyYW1zWydoYXNoJ10gPSAnZFloeWlhJzsKJHJlc3VsdHMgPSBiaXRseV9nZXQoJ2V4cGFuZCcsICRwYXJhbXMpOwp2YXJfZHVtcCgkcmVzdWx0cyk7CiRwYXJhbXMgPSBhcnJheSgpOwokcGFyYW1zWydhY2Nlc3NfdG9rZW4nXSA9ICR1c2VyX2FjY2Vzc190b2tlbjsKJHBhcmFtc1snaGFzaCddID0gYXJyYXkoJ2RZaHlpYScsJ2RZaHlpYScsJ2FiYzEyMycpOwokcmVzdWx0cyA9IGJpdGx5X2dldCgnZXhwYW5kJywgJHBhcmFtcywgdHJ1ZSk7CnZhcl9kdW1wKCRyZXN1bHRzKTsKJHBhcmFtcyA9IGFycmF5KCk7CiRwYXJhbXNbJ2hhc2gnXSA9ICdkWWh5aWEnOwokcGFyYW1zWydsb2dpbiddID0gJ2ZhbGljb24nOwokcGFyYW1zWydhcGlLZXknXSA9ICdSXzY4NTU4M2FmNjJjODI3NzYxZmQ0NWQ2OTNmYjNkNjE3JzsKJHJlc3VsdHMgPSBiaXRseV9nZXQoJ2NsaWNrcycsICRwYXJhbXMpOwp2YXJfZHVtcCgkcmVzdWx0cyk7CiRwYXJhbXMgPSBhcnJheSgpOwokcGFyYW1zWydoYXNoJ10gPSAnZFloeWlhJzsKJHBhcmFtc1snbG9naW4nXSA9ICdmYWxpY29uJzsKJHBhcmFtc1snYXBpS2V5J10gPSAnUl82ODU1ODNhZjYyYzgyNzc2MWZkNDVkNjkzZmIzZDYxNyc7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCdyZWZlcnJlcnMnLCAkcGFyYW1zKTsKdmFyX2R1bXAoJHJlc3VsdHMpOwokcGFyYW1zID0gYXJyYXkoKTsKJHBhcmFtc1snaGFzaCddID0gJ2RZaHlpYSc7CiRwYXJhbXNbJ2xvZ2luJ10gPSAnZmFsaWNvbic7CiRwYXJhbXNbJ2FwaUtleSddID0gJ1JfNjg1NTgzYWY2MmM4Mjc3NjFmZDQ1ZDY5M2ZiM2Q2MTcnOwokcmVzdWx0cyA9IGJpdGx5X2dldCgnY291bnRyaWVzJywgJHBhcmFtcyk7CnZhcl9kdW1wKCRyZXN1bHRzKTsKJHBhcmFtcyA9IGFycmF5KCk7CiRwYXJhbXNbJ2hhc2gnXSA9ICdkWWh5aWEnOwokcGFyYW1zWydsb2dpbiddID0gJ2ZhbGljb24nOwokcGFyYW1zWydhcGlLZXknXSA9ICdSXzY4NTU4M2FmNjJjODI3NzYxZmQ0NWQ2OTNmYjNkNjE3JzsKJHJlc3VsdHMgPSBiaXRseV9nZXQoJ2NsaWNrc19ieV9taW51dGUnLCAkcGFyYW1zKTsKdmFyX2R1bXAoJHJlc3VsdHMpOwokcGFyYW1zID0gYXJyYXkoKTsKJHBhcmFtc1snZG9tYWluJ10gPSAnbnl0aS5tcyc7CiRwYXJhbXNbJ2xvZ2luJ10gPSAnZmFsaWNvbic7CiRwYXJhbXNbJ2FwaUtleSddID0gJ1JfNjg1NTgzYWY2MmM4Mjc3NjFmZDQ1ZDY5M2ZiM2Q2MTcnOwokcmVzdWx0cyA9IGJpdGx5X2dldCgnYml0bHlfcHJvX2RvbWFpbicsICRwYXJhbXMpOwp2YXJfZHVtcCgkcmVzdWx0cyk7CiRwYXJhbXMgPSBhcnJheSgpOwokcGFyYW1zWydoYXNoJ10gPSAnZFloeWlhJzsKJHBhcmFtc1snbG9naW4nXSA9ICdmYWxpY29uJzsKJHBhcmFtc1snYXBpS2V5J10gPSAnUl82ODU1ODNhZjYyYzgyNzc2MWZkNDVkNjkzZmIzZDYxNyc7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCdpbmZvJywgJHBhcmFtcyk7CnZhcl9kdW1wKCRyZXN1bHRzKTsKJHBhcmFtcyA9IGFycmF5KCk7CiRwYXJhbXNbJ2FjY2Vzc190b2tlbiddID0gJHVzZXJfYWNjZXNzX3Rva2VuOwokcmVzdWx0cyA9IGJpdGx5X2dldCgndXNlci9jbGlja3MnLCAkcGFyYW1zKTsKdmFyX2R1bXAoJHJlc3VsdHMpOwokcGFyYW1zID0gYXJyYXkoKTsKJHBhcmFtc1snYWNjZXNzX3Rva2VuJ10gPSAkdXNlcl9hY2Nlc3NfdG9rZW47CiRyZXN1bHRzID0gYml0bHlfZ2V0KCd1c2VyL3JlZmVycmVycycsICRwYXJhbXMpOwp2YXJfZHVtcCgkcmVzdWx0cyk7CiRwYXJhbXMgPSBhcnJheSgpOwokcGFyYW1zWydhY2Nlc3NfdG9rZW4nXSA9ICR1c2VyX2FjY2Vzc190b2tlbjsKJHBhcmFtc1snbGluayddID0gJ2h0dHA6Ly9iaXQubHkvZFloeWlhJzsKJHJlc3VsdHMgPSBiaXRseV9nZXQoJ2xpbmsvaW5mbycsICRwYXJhbXMpOwp2YXJfZHVtcCgkcmVzdWx0cyk7CiRwYXJhbXMgPSBhcnJheSgpOwokcGFyYW1zWydhY2Nlc3NfdG9rZW4nXSA9ICR1c2VyX2FjY2Vzc190b2tlbjsKJHBhcmFtc1sndXJsJ10gPSAnaHR0cDovL2tub3dhYm91dC5pdCc7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCdsaW5rL2xvb2t1cCcsICRwYXJhbXMpOwp2YXJfZHVtcCgkcmVzdWx0cyk7CiRwYXJhbXMgPSBhcnJheSgpOwokcGFyYW1zWydhY2Nlc3NfdG9rZW4nXSA9ICR1c2VyX2FjY2Vzc190b2tlbjsKJHBhcmFtc1snbGluayddID0gJ2h0dHA6Ly9iaXQubHkvZFloeWlhJzsKJHJlc3VsdHMgPSBiaXRseV9nZXQoJ2xpbmsvY2xpY2tzJywgJHBhcmFtcyk7CnZhcl9kdW1wKCRyZXN1bHRzKTsKJHBhcmFtcyA9IGFycmF5KCk7CiRwYXJhbXNbJ2FjY2Vzc190b2tlbiddID0gJHVzZXJfYWNjZXNzX3Rva2VuOwokcGFyYW1zWydsaW5rJ10gPSAnaHR0cDovL2JpdC5seS9kWWh5aWEnOwokcmVzdWx0cyA9IGJpdGx5X2dldCgnbGluay9jb3VudHJpZXMnLCAkcGFyYW1zKTsKdmFyX2R1bXAoJHJlc3VsdHMpOwokcGFyYW1zID0gYXJyYXkoKTsKJHBhcmFtc1snYWNjZXNzX3Rva2VuJ10gPSAkdXNlcl9hY2Nlc3NfdG9rZW47CiRwYXJhbXNbJ2xpbmsnXSA9ICdodHRwOi8vYml0Lmx5L2RZaHlpYSc7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCdsaW5rL2VuY29kZXJzJywgJHBhcmFtcyk7CnZhcl9kdW1wKCRyZXN1bHRzKTsKJHBhcmFtcyA9IGFycmF5KCk7CiRwYXJhbXNbJ2FjY2Vzc190b2tlbiddID0gJHVzZXJfYWNjZXNzX3Rva2VuOwokcGFyYW1zWydsaW5rJ10gPSAnaHR0cDovL2JpdC5seS9kWWh5aWEnOwokcmVzdWx0cyA9IGJpdGx5X2dldCgnbGluay9lbmNvZGVyc19ieV9jb3VudCcsICRwYXJhbXMpOwp2YXJfZHVtcCgkcmVzdWx0cyk7CiRwYXJhbXMgPSBhcnJheSgpOwokcGFyYW1zWydhY2Nlc3NfdG9rZW4nXSA9ICR1c2VyX2FjY2Vzc190b2tlbjsKJHBhcmFtc1snbGluayddID0gJ2h0dHA6Ly9iaXQubHkvZFloeWlhJzsKJHJlc3VsdHMgPSBiaXRseV9nZXQoJ2xpbmsvZW5jb2RlcnNfY291bnQnLCAkcGFyYW1zKTsKdmFyX2R1bXAoJHJlc3VsdHMpOwokcGFyYW1zID0gYXJyYXkoKTsKJHBhcmFtc1snYWNjZXNzX3Rva2VuJ10gPSAkdXNlcl9hY2Nlc3NfdG9rZW47CiRwYXJhbXNbJ2xpbmsnXSA9ICdodHRwOi8vYml0Lmx5L2RZaHlpYSc7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCdsaW5rL3JlZmVycmVycycsICRwYXJhbXMpOwokcGFyYW1zID0gYXJyYXkoKTsKJHBhcmFtc1snYWNjZXNzX3Rva2VuJ10gPSAkdXNlcl9hY2Nlc3NfdG9rZW47CiRwYXJhbXNbJ2xpbmsnXSA9ICdodHRwOi8vYml0Lmx5L2RZaHlpYSc7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCdsaW5rL3JlZmVycmVyc19ieV9kb21haW4nLCAkcGFyYW1zKTsKdmFyX2R1bXAoJHJlc3VsdHMpOwokcGFyYW1zID0gYXJyYXkoKTsKJHBhcmFtc1snYWNjZXNzX3Rva2VuJ10gPSAkdXNlcl9hY2Nlc3NfdG9rZW47CiRwYXJhbXNbJ2xpbmsnXSA9ICdodHRwOi8vYml0Lmx5L2RZaHlpYSc7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCdsaW5rL3JlZmVycmluZ19kb21haW5zJywgJHBhcmFtcyk7CnZhcl9kdW1wKCRyZXN1bHRzKTsKJHBhcmFtcyA9IGFycmF5KCk7CiRwYXJhbXNbJ2FjY2Vzc190b2tlbiddID0gJHVzZXJfYWNjZXNzX3Rva2VuOwokcGFyYW1zWydlZGl0J10gPSAndGl0bGUnOwokcGFyYW1zWyd0aXRsZSddID0gJ3RlY2ggbmV3cyB0byBrbm93IGFib3V0JzsKJHBhcmFtc1snbGluayddID0gJ2h0dHA6Ly9iaXQubHkvMUhOT3FrNic7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCd1c2VyL2xpbmtfZWRpdCcsICRwYXJhbXMpOwp2YXJfZHVtcCgkcmVzdWx0cyk7CiRwYXJhbXMgPSBhcnJheSgpOwokcGFyYW1zWydhY2Nlc3NfdG9rZW4nXSA9ICR1c2VyX2FjY2Vzc190b2tlbjsKJHBhcmFtc1sndXJsJ10gPSAnaHR0cDovL2tub3dhYm91dC5pdCc7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCd1c2VyL2xpbmtfbG9va3VwJywgJHBhcmFtcyk7CnZhcl9kdW1wKCRyZXN1bHRzKTsKJHBhcmFtcyA9IGFycmF5KCk7CiRwYXJhbXNbJ2FjY2Vzc190b2tlbiddID0gJHVzZXJfYWNjZXNzX3Rva2VuOwokcGFyYW1zWydsb25nVXJsJ10gPSAnaHR0cDovL2tub3dhYm91dC5pdCc7CiRyZXN1bHRzID0gYml0bHlfZ2V0KCd1c2VyL2xpbmtfc2F2ZScsICRwYXJhbXMpOwp2YXJfZHVtcCgkcmVzdWx0cyk7Ci8vIFRPRE86IGZpbmlzaCB0ZXN0aW5nIGZvciB0aGUgZm9sbG93aW5nIGVuZHBvaW50cwovLyRyZXN1bHRzID0gYml0bHlfZ2V0KCd1c2VyL3NhdmVfY3VzdG9tX2RvbWFpbl9rZXl3b3JkJywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ3VzZXIvaW5mbycsICRwYXJhbXMpOwovLyRyZXN1bHRzID0gYml0bHlfZ2V0KCd1c2VyL2xpbmtfaGlzdG9yeScsICRwYXJhbXMpOwovLyRyZXN1bHRzID0gYml0bHlfZ2V0KCd1c2VyL25ldHdvcmtfaGlzdG9yeScsICRwYXJhbXMpOwovLyRyZXN1bHRzID0gYml0bHlfZ2V0KCd1c2VyL3RyYWNraW5nX2RvbWFpbl9saXN0JywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ3VzZXIvY2xpY2tzJywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ3VzZXIvY291bnRyaWVzJywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ3VzZXIvcG9wdWxhcl9lYXJuZWRfYnlfY2xpY2tzJywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ3VzZXIvcG9wdWxhcl9lYXJuZWRfYnlfc2hvcnRlbnMnLCAkcGFyYW1zKTsKLy8kcmVzdWx0cyA9IGJpdGx5X2dldCgndXNlci9wb3B1bGFyX2xpbmtzJywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ3VzZXIvcG9wdWxhcl9vd25lZF9ieV9jbGlja3MnLCAkcGFyYW1zKTsKLy8kcmVzdWx0cyA9IGJpdGx5X2dldCgndXNlci9wb3B1bGFyX293bmVkX2J5X3Nob3J0ZW5zJywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ3VzZXIvcmVmZXJyZXJzJywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ3VzZXIvcmVmZXJyaW5nX2RvbWFpbnMnLCAkcGFyYW1zKTsKLy8kcmVzdWx0cyA9IGJpdGx5X2dldCgndXNlci9zaG9ydGVuX2NvdW50cycsICRwYXJhbXMpOwovLyRyZXN1bHRzID0gYml0bHlfZ2V0KCd1c2VyL3RyYWNraW5nX2RvbWFpbl9jbGlja3MnLCAkcGFyYW1zKTsKLy8kcmVzdWx0cyA9IGJpdGx5X2dldCgndXNlci90cmFja2luZ19kb21haW5fc2hvcnRlbl9jb3VudHMnLCAkcGFyYW1zKTsKLy8kcmVzdWx0cyA9IGJpdGx5X2dldCgnb2F1dGgvYXBwJywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ29yZ2FuaXphdGlvbi9icmFuZF9tZXNzYWdlcycsICRwYXJhbXMpOwovLyRyZXN1bHRzID0gYml0bHlfZ2V0KCdvcmdhbml6YXRpb24vY2xpY2tzJywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ29yZ2FuaXphdGlvbi9pbnRlcnNlY3RpbmdfbGlua3MnLCAkcGFyYW1zKTsKLy8kcmVzdWx0cyA9IGJpdGx5X2dldCgnb3JnYW5pemF0aW9uL2xlYWRlcmJvYXJkJywgJHBhcmFtcyk7Ci8vJHJlc3VsdHMgPSBiaXRseV9nZXQoJ29yZ2FuaXphdGlvbi9taXNzZWRfb3Bwb3J0dW5pdGllcycsICRwYXJhbXMpOwovLyRyZXN1bHRzID0gYml0bHlfZ2V0KCdvcmdhbml6YXRpb24vcG9wdWxhcl9saW5rcycsICRwYXJhbXMpOwovLyRyZXN1bHRzID0gYml0bHlfZ2V0KCdvcmdhbml6YXRpb24vc2hvcnRlbl9jb3VudHMnLCAkcGFyYW1zKTsKKi8KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNZXNzYWdlcyB1c2UnKSkKaWYoIWlzc2V0KCRwYXJhbXNbJ21lc3NhZ2VfaWQnXSkgfHwgJHBhcmFtc1snbWVzc2FnZV9pZCddID09ICcnKQp7CgkvL3JlZGlyCgkkdGhpcy0+U2V0TWVzc2FnZSgnSWwgbWFucXVlIHVuIHBhcmFtZXRyZScpOwoJfQplbHNlCnsKCSRtZXNzYWdlX2lkID0gJHBhcmFtc1snbWVzc2FnZV9pZCddOwoJLy9vbiB2YSBzdXBwcmltZXIgbGUgbWVzc2FnZSBldCBsZXMgcmVjaXBpZW50cwoJJG1lc3Nfb3BzID0gbmV3IFQydF9tZXNzYWdlczsKCSRkZWxfbWVzcyA9ICRtZXNzX29wcy0+ZGVsZXRlX21lc3NhZ2UoJG1lc3NhZ2VfaWQpOwoJaWYodHJ1ZSA9PT0gJGRlbF9tZXNzKQoJewoJCS8vb24gc3VwcHJpbWUgYXVzc2kgbGVzIG1lc3NhZ2UgZGUgbGEgdGFibGUgcmVjaXBpZW50cwoJCSRkZWxfcmVjaXAgPSAkbWVzc19vcHMtPmRlbGV0ZV9yZWNpcGllbnRzKCRtZXNzYWdlX2lkKTsKCX0KCSR0aGlzLT5TZXRNZXNzYWdlKCdNZXNzYWdlIHN1cHByaW3DqScpOwp9CiR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ21lc3MnKTs=]]></data>
	</file>
	<file>
	  <filename>/action.admin_notifications_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KLy9kZWJ1Z19kaXNwbGF5KCRwYXJhbXMsICdQYXJhbWV0ZXJzJyk7CmlmKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkKewoJLy9vbiBzYXV2ZWdhcmRlICEgQmVuIG91YWlzICEKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfcHJlc2VuY2UnLCAkcGFyYW1zWydwYWdlaWRfcHJlc2VuY2UnXSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWRtaW5fZW1haWwnLCAkcGFyYW1zWydhZG1pbmVtYWlsJ10pOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VtYWlsX3ByZXNlbmNlX3N1YmplY3QnLCAkcGFyYW1zWydlbWFpbHByZXNlbmNlc3ViamVjdCddKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgncHJlc2VuY2VtYWlsX1NhbXBsZScsICRwYXJhbXNbJ2VtYWlscHJlc2VuY2Vib2R5J10pOwoJCgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc21zX3NlbmRlcicsICRwYXJhbXNbJ3Ntc19zZW5kZXInXSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X2lkJywgJHBhcmFtc1snYml0bHlfY2xpZW50X2lkJ10pOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2JpdGx5X2NsaWVudF9zZWNyZXQnLCAkcGFyYW1zWydiaXRseV9jbGllbnRfc2VjcmV0J10pOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2JpdGx5X2FjY2Vzc190b2tlbicsICRwYXJhbXNbJ2JpdGx5X2FjY2Vzc190b2tlbiddKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnc21zX3JlbGFuY2UnLCAkcGFyYW1zWydzbXNfcmVsYW5jZSddKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdiaXRseV9yZWRpcmVjdF91cmknLCAkcGFyYW1zWydiaXRseV9yZWRpcmVjdF91cmknXSk7CgkvL29uIHJlZGlyaWdlICEKCSR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ25vdGlmaWNhdGlvbnMnKTsKfQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2Zvcm0nLCAKCQkkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX25vdGlmaWNhdGlvbnNfdGFiJywgJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZW5kX2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CiRzbWFydHktPmFzc2lnbigncGFnZWlkX3ByZXNlbmNlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwYWdlaWRfcHJlc2VuY2UnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRfcHJlc2VuY2UnKSwgNTAsIDE1MCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2VtYWlscHJlc2VuY2VzdWJqZWN0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdlbWFpbHByZXNlbmNlc3ViamVjdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VtYWlsX3ByZXNlbmNlX3N1YmplY3QnKSwgNTAsIDE1MCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FkbWluZW1haWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FkbWluZW1haWwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZG1pbl9lbWFpbCcpLCA1MCwgMTUwKSk7CiRzbWFydHktPmFzc2lnbignZW1haWxwcmVzZW5jZWJvZHknLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSgkaWQsICR0aGlzLT5HZXRUZW1wbGF0ZSgncHJlc2VuY2VtYWlsX1NhbXBsZScpLCAnZW1haWxwcmVzZW5jZWJvZHknLCAnJywgJycsICcnLCAnJywgODAsIDcpKTsKCiRzbWFydHktPmFzc2lnbignc21zX3NlbmRlcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc21zX3NlbmRlcicsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Ntc19zZW5kZXInKSwgNTAsIDE1MCkpOwokc21hcnR5LT5hc3NpZ24oJ2JpdGx5X2NsaWVudF9pZCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYml0bHlfY2xpZW50X2lkJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X2lkJyksIDUwLCAxNTApKTsKJHNtYXJ0eS0+YXNzaWduKCdiaXRseV9jbGllbnRfc2VjcmV0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdiaXRseV9jbGllbnRfc2VjcmV0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X3NlY3JldCcpLCA1MCwgMTUwKSk7CiRzbWFydHktPmFzc2lnbignYml0bHlfYWNjZXNzX3Rva2VuJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdiaXRseV9hY2Nlc3NfdG9rZW4nLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdiaXRseV9hY2Nlc3NfdG9rZW4nKSwgNTAsIDE1MCkpOwokc21hcnR5LT5hc3NpZ24oJ2JpdGx5X3JlZGlyZWN0X3VyaScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYml0bHlfcmVkaXJlY3RfdXJpJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfcmVkaXJlY3RfdXJpJyksIDUwLCAxNTApKTsKJHNtYXJ0eS0+YXNzaWduKCdzbXNfcmVsYW5jZScsICR0aGlzLT5DcmVhdGVTeW50YXhBcmVhKCRpZCwgJHRoaXMtPkdldFRlbXBsYXRlKCdzbXNfcmVsYW5jZScpLCAnc21zX3JlbGFuY2UnLCAnJywgJycsICcnLCAnJywgODAsIDcpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ25vdGlmaWNhdGlvbnMudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_oauth.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkkY29kZSA9ICRfUkVRVUVTVFsnY29kZSddOwoKCS8vIEVudGVyIHlvdXIgQ2xpZW50IElELCBDbGllbnQgU2VjcmV0IGFuZCBSZWRpcmVjdCBVUkkKCSRjbGllbnRfaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X2lkJyk7CgkkY2xpZW50X3NlY3JldCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjbGllbnRfc2VjcmV0Jyk7CgkkcmVkaXJlY3RfdXJpID0gImh0dHA6Ly8uLi4vb2F1dGgucGhwIjsgLy9UaGUgcmVkaXJlY3RfdXJpIGlzIGp1c3QgcG9pbnRpbmcgYmFjayB0byB0aGUgbG9jYXRpb24gb2YgdGhpcyBmaWxlCgoJJHVyaSA9ICJodHRwczovL2FwaS1zc2wuYml0bHkuY29tL29hdXRoL2FjY2Vzc190b2tlbiI7IAoJCgkvL1BPU1QgdG8gdGhlIGJpdGx5IGF1dGhlbnRpY2F0aW9uIGVuZHBvaW50CgkkcGFyYW1zID0gYXJyYXkoKTsKICAgIAkkcGFyYW1zWydjbGllbnRfaWQnXSA9ICRjbGllbnRfaWQ7CiAgICAJJHBhcmFtc1snY2xpZW50X3NlY3JldCddID0gJGNsaWVudF9zZWNyZXQ7CiAgICAJJHBhcmFtc1snY29kZSddID0gJGNvZGU7CiAgICAJJHBhcmFtc1sncmVkaXJlY3RfdXJpJ10gPSAkcmVkaXJlY3RfdXJpOwoJCgkkb3V0cHV0ID0gIiI7CiAgCSRwYXJhbXNfc3RyaW5nID0gIiI7CiAgCWZvcmVhY2ggKCRwYXJhbXMgYXMgJGtleT0+JHZhbHVlKSB7ICRwYXJhbXNfc3RyaW5nIC49ICRrZXkuJz0nLiR2YWx1ZS4nJic7IH0KICAJCXJ0cmltKCRwYXJhbXNfc3RyaW5nLCcmJyk7CiAgCXRyeSB7CgkJJGNoID0gY3VybF9pbml0KCk7CgkJY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVJMLCAkdXJpKTsKCQljdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9QT1NULCBjb3VudCgkcGFyYW1zKSk7CgkJY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUE9TVEZJRUxEUywgJHBhcmFtc19zdHJpbmcpOwoJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CgkgICAgJG91dHB1dCA9IGN1cmxfZXhlYygkY2gpOwogIAl9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAJfQoJLy8gUmV0dXJucyBhIFVSTCBlbmNvZGVkIHN0cmluZyBpbiB0aGUgZm9ybWF0IG9mICJhY2Nlc3NfdG9rZW49JXMmbG9naW49JXMmYXBpS2V5PSVzIgoJCgkvLyBwYXJzZV9zdHIoKSBjcmVhdGVzIHZhcmlhYmxlcyAkYWNjZXNzX3Rva2VuLCAkbG9naW4sICRhcGlLZXkgKGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5wYXJzZS1zdHIucGhwKQoJcGFyc2Vfc3RyKCRvdXRwdXQpOwoKCS8vdGhlIE9BdXRoIGFjY2VzcyB0b2tlbiBmb3Igc3BlY2lmaWVkIHVzZXIKCWVjaG8gJGFjY2Vzc190b2tlbjsKCgkvL3RoZSBlbmQtdXNlcidzIGJpdGx5IHVzZXJuYW1lCgllY2hvICRsb2dpbjsKCgkvL2VjaG8gJGFwaUtleTsgIAoJLy9BUEkga2V5cyBhcmUgZGVwcmVjYXRlZC4gVGhpcyB2YWx1ZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIGZ1dHVyZS4KIAo/PgoKCgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_presence_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KJGRiID0mICR0aGlzLT5HZXREYigpOwpnbG9iYWwgJHRoZW1lT2JqZWN0OwokaW1nX3NtcyA9ICc8aW1nIHNyYz0iLi4vbW9kdWxlcy9QcmVzZW5jZS9pbWFnZXMvc21zMi5wbmciLz4nOwokaW1nX2VtYWlsID0gJzxpbWcgc3JjPSIuLi9tb2R1bGVzL1ByZXNlbmNlL2ltYWdlcy9lbWFpbC0xNi5wbmciLz4nOwokc21hcnR5LT5hc3NpZ24oJ2FkZF9lZGl0JywgCgkJJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkX2VkaXRfcHJlc2VuY2UnLCAkcmV0dXJuaWQsJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hZGQuZ2lmJywgJ0Fqb3V0ZXInLCAnJywgJycsICdzeXN0ZW1pY29uJykpKTsKCgkJCiRkYnJlc3VsdD0gYXJyYXkgKCk7CiRxdWVyeT0gIlNFTEVDVCBpZCxub20sIGRlc2NyaXB0aW9uLCBkYXRlX2RlYnV0LCBoZXVyZV9kZWJ1dCwgIGRhdGVfbGltaXRlLCBhY3RpZiwgZ3JvdXBlIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcmVzZW5jZV9wcmVzZW5jZSBPUkRFUiBCWSBkYXRlX2RlYnV0IERFU0MiOwoKJGRicmVzdWx0PSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKJHJvd2NsYXNzPSAncm93MSc7CiRyb3dhcnJheT0gYXJyYXkgKCk7CiRjb250X29wcyA9IG5ldyBjb250YWN0OwppZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDApCiAgewoJJGluc2Nfb3BzID0gbmV3IFQydF9wcmVzZW5jZTsKICAgIHdoaWxlICgkcm93PSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgIHsKCQoJJG9uZXJvdz0gbmV3IFN0ZENsYXNzKCk7Cgkkb25lcm93LT5yb3djbGFzcz0gJHJvd2NsYXNzOwoJJGFjdGlmID0gJHJvd1snYWN0aWYnXTsKCSRkYXRlX2xpbWl0ZSA9ICRyb3dbJ2RhdGVfbGltaXRlJ107CgkkbmJfdG90YWwgPSAkY29udF9vcHMtPkNvdW50VXNlcnNGcm9tR3JvdXAoJHJvd1snZ3JvdXBlJ10pOwoJJGluc2NyaXRzID0gJGluc2Nfb3BzLT5jb3VudF91c2Vyc19pbl9wcmVzZW5jZSgkcm93WydpZCddKTsKCWlmKCRhY3RpZiA9PSAwKQoJewoJCSRvbmVyb3ctPmFjdGlmPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcmVzZW5jZScsICRyZXR1cm5pZCwgJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TGFuZygnZmFsc2UnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgib2JqIj0+ImFjdGl2YXRlX2Rlc2FjdGl2YXRlIiwgInJlY29yZF9pZCI9PiRyb3dbJ2lkJ10sICJhY3QiPT4iMSIpKTsKCX0KCWVsc2VpZigkZGF0ZV9saW1pdGUgPCBkYXRlKCdZLW0tZCcpIHx8ICRpbnNjcml0cyA9PSAkbmJfdG90YWwpCgl7CgkJJG9uZXJvdy0+YWN0aWY9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3ByZXNlbmNlJywgJHJldHVybmlkLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPkxhbmcoJ3RydWUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgib2JqIj0+ImFjdGl2YXRlX2Rlc2FjdGl2YXRlIiwgInJlY29yZF9pZCI9PiRyb3dbJ2lkJ10sICJhY3QiPT4iMCIpKTsKCX0KCWVsc2UKCXsKCQkkb25lcm93LT5hY3RpZj0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAncHJlc2VuY2UnLCAkcmV0dXJuaWQsICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TGFuZygndHJ1ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCJvYmoiPT4iYWN0aXZhdGVfZGVzYWN0aXZhdGUiLCAicmVjb3JkX2lkIj0+JHJvd1snaWQnXSwgImFjdCI9PiIwIikpOwoJCSRvbmVyb3ctPmVtYWlsaW5nID0gJHRoaXMtPkNyZWF0ZWxpbmsoJGlkLCAnZW1haWxpbmcnLCAkcmV0dXJuaWQsICRpbWdfZW1haWwsIGFycmF5KCJpZF9wcmVzZW5jZSI9PiRyb3dbJ2lkJ10pKTsKCQkkb25lcm93LT5zbXMgPSAkdGhpcy0+Q3JlYXRlbGluaygkaWQsICdhZG1pbl9yZWxhbmNlX3NtcycsICRyZXR1cm5pZCwgJGltZ19zbXMsIGFycmF5KCJpZF9wcmVzZW5jZSI9PiRyb3dbJ2lkJ10pKTsKCX0KCQoJCgkkb25lcm93LT5pZD0gJHJvd1snaWQnXTsKCSRvbmVyb3ctPm5vbT0gJHJvd1snbm9tJ107Cgkkb25lcm93LT5kZXNjcmlwdGlvbj0gJHJvd1snZGVzY3JpcHRpb24nXTsKCSRvbmVyb3ctPmRhdGVfZGVidXQ9ICRyb3dbJ2RhdGVfZGVidXQnXTsKCSRvbmVyb3ctPmhldXJlX2RlYnV0PSAkcm93WydoZXVyZV9kZWJ1dCddOwoJJG9uZXJvdy0+ZGF0ZV9saW1pdGU9ICRyb3dbJ2RhdGVfbGltaXRlJ107Cgkkb25lcm93LT5pbnNjcml0cyA9ICRpbnNjX29wcy0+Y291bnRfdXNlcnNfaW5fcHJlc2VuY2UoJHJvd1snaWQnXSk7Cgkkb25lcm93LT50YXV4ID0gJG5iX3RvdGFsOwoJJG9uZXJvdy0+dmlldz0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fcmVwb25zZXMnLCAkcmV0dXJuaWQsICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdmlldy5naWYnLCAkdGhpcy0+TGFuZygndmlldycpLCAnJywgJycsICdzeXN0ZW1pY29uJyksYXJyYXkoJ3JlY29yZF9pZCc9PiRyb3dbJ2lkJ10pKTsKLy8JJG9uZXJvdy0+cHJpbnQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9wcmludCcsICRyZXR1cm5pZCwkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RvY3VtZW50LWxpc3QucG5nJywgJHRoaXMtPkxhbmcoJ3ByaW50JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoImlkX2luc2NyaXB0aW9uIj0+JHJvd1snaWQnXSkpOwoJJG9uZXJvdy0+ZWRpdGxpbms9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZF9lZGl0X3ByZXNlbmNlJywgJHJldHVybmlkLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLGFycmF5KCdyZWNvcmRfaWQnPT4kcm93WydpZCddKSk7Cgkkb25lcm93LT5kZWxldGU9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3ByZXNlbmNlJywgJHJldHVybmlkLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSxhcnJheSgnb2JqJz0+J2RlbGV0ZV9wcmVzZW5jZScsJ2lkX3ByZXNlbmNlJz0+JHJvd1snaWQnXSksICR3YXJuX21lc3NhZ2U9J1JpZW4nKTsKCQoJKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3M9ICJyb3cyIiA6ICRyb3djbGFzcz0gInJvdzEiKTsKCSRyb3dhcnJheVtdPSAkb25lcm93OwogICAgICB9CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdpdGVtc2ZvdW5kJywgJHRoaXMtPkxhbmcoJ3Jlc3VsdHNmb3VuZHRleHQnKSk7CiRzbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CiRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdwcmVzZW5jZS50cGwnKTsKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_print.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZihpc3NldCgkcGFyYW1zWydpZF9pbnNjcmlwdGlvbiddKSAmJiAkcGFyYW1zWydpZF9pbnNjcmlwdGlvbiddICE9IiIpCnsKCSRpZF9pbnNjcmlwdGlvbiA9ICRwYXJhbXNbJ2lkX2luc2NyaXB0aW9uJ107Cn0KZWxzZQp7Ci8vcmVkaXIKCSR0aGlzLT5SZWRpcmVjdCgpOwp9CiRkYiA9IGNtc21zKCktPkdldERiKCk7CiRpPSAwOwokcm93YXJyYXkgPSBhcnJheSgpOwokcXVlcnkgPSAiU0VMRUNUIGluc2MuaWQsIGluc2Mubm9tLCBpbnNjLmRhdGVfZGVidXQsIGluc2MuZGF0ZV9maW4sIGluc2MuaGV1cmVfZGVidXQsIGluc2MuaGV1cmVfZmluICwgb3B0LmlkIEFTIGlkX29wdGlvbiwgb3B0Lm5vbSBBUyBkaXZpc2lvbiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfaW5zY3JpcHRpb25zX2luc2NyaXB0aW9ucyBBUyBpbnNjLCAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2luc2NyaXB0aW9uc19vcHRpb25zIEFTIG9wdCBXSEVSRSBpbnNjLmlkID0gb3B0LmlkX2luc2NyaXB0aW9uIEFORCBpZF9pbnNjcmlwdGlvbiA9ID8iOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfaW5zY3JpcHRpb24pKTsKaWYoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKT4wKQp7Cgl3aGlsZSgkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJCSRpZCA9ICRyb3dbJ2lkJ107CgkJJG5vbSA9ICRyb3dbJ25vbSddOwoJCSRkaXZpc2lvbiA9ICRyb3dbJ2RpdmlzaW9uJ107CgkJZWNobyAkbm9tOwoJCWVjaG8gJzxiciAvPicuJGRpdmlzaW9uOwoJCSRyb3djbGFzcyA9ICdyb3cxJzsKCQkkaWRfb3B0aW9uID0gJHJvd1snaWRfb3B0aW9uJ107CgkJJHF1ZXJ5MiA9ICJTRUxFQ1QgbGljZW5jZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfaW5zY3JpcHRpb25zX2JlbG9uZ3MgV0hFUkUgaWRfb3B0aW9uID0gPyBBTkQgaWRfaW5zY3JpcHRpb24gPSA/IjsKCQkkZGJyZXN1bHQyID0gJGRiLT5FeGVjdXRlKCRxdWVyeTIsIGFycmF5KCRpZF9vcHRpb24sICRpZF9pbnNjcmlwdGlvbikpOwoJCWlmKCRkYnJlc3VsdDIpCgkJewoJCQlpZigkZGJyZXN1bHQyLT5SZWNvcmRDb3VudCgpPjApCgkJCXsKCQkJCXdoaWxlKCRyb3cyID0gJGRicmVzdWx0Mi0+RmV0Y2hSb3coKSkKCQkJCXsKCQkJCQkkb25lcm93PSBuZXcgU3RkQ2xhc3MoKTsKCQkJCQkkb25lcm93LT5yb3djbGFzcz0gJHJvd2NsYXNzOwoJCQkJCSRvbmVyb3ctPmxpY2VuY2UgPSAkcm93MlsnbGljZW5jZSddOwoJCQkJCSgkcm93Y2xhc3MgPT0gInJvdzEiID8gJHJvd2NsYXNzPSAicm93MiIgOiAkcm93Y2xhc3M9ICJyb3cxIik7CgkJCQkJJHJvd2FycmF5W109ICRvbmVyb3c7CgkJCQl9CgkJCQkkc21hcnR5LT5hc3NpZ24oJ2l0ZW1zZm91bmQnLCAkdGhpcy0+TGFuZygncmVzdWx0c2ZvdW5kdGV4dCcpKTsKCQkJCSRzbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CgkJCQkkc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJHJvd2FycmF5KTsKCgkJCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ByaW50LnRwbCcpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJZWNobyAicGFzIGRlIHLDqXN1bHRhdHMiOwoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCWVjaG8gImxhIHJlcSBuZSBmb25jdGlvbm5lIHBhcyI7CgkJfQoJfQp9]]></data>
	</file>
	<file>
	  <filename>/action.admin_relance_sms.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KLy9kZWJ1Z19kaXNwbGF5KCRwYXJhbXMsICdQYXJhbWV0ZXJzJyk7CmlmKGlzc2V0KCRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10pICYmICRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10gIT0nJykKewoJJGlkX3ByZXNlbmNlID0gJHBhcmFtc1snaWRfcHJlc2VuY2UnXTsKCQoJLy9sZXMgcGFyYW3DqHRyZXMgYml0bHkKCSRjbGllbnRfaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X2lkJyk7Ly8nZTMxZGJkZTZlOTU2NGUzZDg2M2IxMTU4YTU1NGM2OTI4OGFmNTExZSc7CgkkY2xpZW50X3NlY3JldCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdiaXRseV9jbGllbnRfc2VjcmV0Jyk7Ly8nMWQxMTY1MzQwNDIwMDNhOTdiMWY3OWY5MjEwZTUxYjgzZmY4ODkyMic7CgkkdXNlcl9hY2Nlc3NfdG9rZW4gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfYWNjZXNzX3Rva2VuJyk7Ly8nZmRlMWM2ODRmMzI3MjJjM2FiYWI5ZTgyZmRhYmY5YjM2ZTU4MDNhYyc7CgkKCS8vTGVzIHBhcmFtw6h0cmVzIFNNUwoJJHNlbmRlciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzbXNfc2VuZGVyJyk7CgkkbWVzc2FnZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgnc21zX3JlbGFuY2UnKTsKCSRtZXNzYWdlX3JlZmVyZW5jZSA9ICR0aGlzLT5yYW5kb21fc3RyaW5nKDE1KTsKCSRzdWJ0eXBlID0gJ1BSRU1JVU0nOwoJJHNlbmRkYXRlID0gZGF0ZSgnWS1tLWQnKTsKCSRzZW5kdGltZSA9IGRhdGUoJ0g6aTpzJyk7CgkkcmljaHNtc19vcHRpb24gPSAwOwoJJHJpY2hzbXNfdXJsID0gJyc7CgoJJGluc2Nfb3BzID0gbmV3IFQydF9wcmVzZW5jZTsKCSRjZ19vcHMgPSBuZXcgQ0dFeHRlbnNpb25zOwoJJGRldGFpbHMgPSAkaW5zY19vcHMtPmRldGFpbHNfcHJlc2VuY2UoJGlkX3ByZXNlbmNlKTsKCSR0aXRyZSA9ICRkZXRhaWxzWydub20nXTsKCSRkZXNjcmlwdGlvbiA9ICRkZXRhaWxzWydkZXNjcmlwdGlvbiddOwoJJHNtYXJ0eS0+YXNzaWduKCd0aXRyZScsICR0aXRyZSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2Rlc2NyaXB0aW9uJywgJGRlc2NyaXB0aW9uKTsKCSRlcnJvciA9IDA7CgkKCSRncm91cF9pZCA9ICRkZXRhaWxzWydncm91cGUnXTsKCSRhdWpvdXJkaHVpID0gdGltZSgpOwoJCgkvL29uIGNvbnN0cnVpdCBsZXMgbGllbnMgw6AgZMOpcGxveWVyCgkKCSRkZWJ1dF91cmwgPSAkY29uZmlnWydyb290X3VybCddOwoJCgkkcmV0b3VyaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZWlkX3ByZXNlbmNlJyk7Ly80NDsKLy8JdmFyX2R1bXAoJHJldG91cmlkKTsKCSRwYWdlID0gJGNnX29wcy0+cmVzb2x2ZV9hbGlhc19vcl9pZCgkcmV0b3VyaWQpOy8vJ3ByZXNlbmNlJzsKCSRhY3Rpb25fbW9kdWxlID0gJ2NudG50MDEnOwoJCgkKCgoJCSRncF9vcHMgPSBuZXcgZ3JvdXBzOwoJCSRyZWNpcGllbnRzX251bWJlciA9ICRncF9vcHMtPmNvdW50X3VzZXJzX2luX2dyb3VwKCRncm91cF9pZCk7CgkJJG1lc3Nfb3BzID0gbmV3IFQydF9tZXNzYWdlczsKCQkkcHJlc19vcHMgPSBuZXcgVDJ0X3ByZXNlbmNlOwoJCSRzbXNfb3BzID0gbmV3IHNtc19vcHM7CgkvLwkkbWVzcyA9ICRtZXNzX29wcy0+YWRkX21lc3NhZ2UoJHNlbmRlciwgJHNlbmRkYXRlLCAkc2VuZHRpbWUsICRyZXBseXRvLCAkZ3JvdXBfaWQsJHJlY2lwaWVudHNfbnVtYmVyLCAkc3ViamVjdCwgJHRpdHJlLCAkc2VudCk7CgkvLwkkbWVzc2FnZV9pZCA9JGRiLT5JbnNlcnRfSUQoKTsKCQkKCQkKCQkKCQoJCQkvL29uIGV4dHJhaXQgbGVzIHV0aWxpc2F0ZXVycyAoZ2VuaWQpIGR1IGdyb3VwZSBzw6lsZWN0aW9ubsOpCgkJCS8vYXR0ZW50aW9uLCBvbiDDqWxpbWluZSBsZXMgdXRpbGlzYXRldXJzIGF5YW50IGTDqWrDoCByw6lwb25kdQoJCQkkbGljZW5jZXMgPSAkcHJlc19vcHMtPnJlbGFuY2VfZW1haWxfbGljZW5jZSgkaWRfcHJlc2VuY2UpOwoJCQl2YXJfZHVtcCgkbGljZW5jZXMpOwoJCQlpZihpc19hcnJheSgkbGljZW5jZXMpICYmIGNvdW50KCRsaWNlbmNlcykgPiAwICkKCQkJewoJCQkJJHRhYiA9IGltcGxvZGUoJywgJywkbGljZW5jZXMpOwkKCQkJfQoJCQkkY29udGFjdHNfb3BzID0gbmV3IGNvbnRhY3Q7CgkJCSRhZGhlcmVudHMgPSAkY29udGFjdHNfb3BzLT5Vc2Vyc0Zyb21Hcm91cCgkZ3JvdXBfaWQpOwoJCQkkY2dfb3BzID0gbmV3IENHRXh0ZW5zaW9uczsKCQkJcmVxdWlyZV9vbmNlKCdiaXRseS5waHAnKTsKCQkJCgkJCS8vbCd1dGlsaXNhdGV1ciBhIHQtaWwgZMOpasOgIHJlw6d1IHVuZSBub3RpZmljYXRpb24gcGFyIHNtcyA/CgkJCQoJCQkKCQkJCgkJCWZvcmVhY2goJGFkaGVyZW50cyBhcyAkc2VscykKCQkJewoJCQkJLy9hdmFudCBvbiBlbnZvaWUgZGFucyBsZSBtb2R1bGUgZW1haWxzIHBvdXIgdG91cyBsZXMgdXRpbGlzYXRldXJzIGV0IHNhbnMgdHJhaXRlbWVudAoJCQkJaWYoRkFMU0UgPT09ICRsaWNlbmNlcyB8fCBGQUxTRSA9PT0gaW5fYXJyYXkoJHNlbHMsICRsaWNlbmNlcykpCgkJCQl7CgkJCQkKCQkJCQkJJHF1ZXJ5ID0gIlNFTEVDVCBjb250YWN0IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9hZGhlcmVudHNfY29udGFjdHMgV0hFUkUgZ2VuaWQgPSA/IEFORCB0eXBlX2NvbnRhY3QgPSAyIExJTUlUIDEiOwoJCQkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkc2VscykpOwoJCQkJCQlpZigkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpPjApCgkJCQkJCXsKCQkJCQkJCSRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CgoJCQkJCQkJJHNtc19jb250YWN0ID0gJHJvd1snY29udGFjdCddOwoJCQkJCQkJJGRlc3RpbmF0YWlyZXMgPSBhcnJheSgpOwoKCgkJCQkJCQlpZighaXNfbnVsbCgkc21zX2NvbnRhY3QpKQoJCQkJCQkJewoKCgkJCQkJCQkJJGxpZW5vayA9ICRkZWJ1dF91cmwuJy9pbmRleC5waHA/cGFnZT0nLiRyZXRvdXJpZC4nJTI2bWFjdD1QcmVzZW5jZSwnLiRhY3Rpb25fbW9kdWxlLicsZGVmYXVsdCwwJTI2Jy4kYWN0aW9uX21vZHVsZS4naWRfcHJlc2VuY2U9Jy4kaWRfcHJlc2VuY2UuJyUyNicuJGFjdGlvbl9tb2R1bGUuJ2dlbmlkPScuJHNlbHMuJyUyNicuJGFjdGlvbl9tb2R1bGUuJ3JlcG9uc2U9MSc7CgkJCQkJCQkJJGxpZW5rbyA9ICRkZWJ1dF91cmwuJy9pbmRleC5waHA/cGFnZT0nLiRyZXRvdXJpZC4nJTI2bWFjdD1QcmVzZW5jZSwnLiRhY3Rpb25fbW9kdWxlLicsZGVmYXVsdCwwJTI2Jy4kYWN0aW9uX21vZHVsZS4naWRfcHJlc2VuY2U9Jy4kaWRfcHJlc2VuY2UuJyUyNicuJGFjdGlvbl9tb2R1bGUuJ2dlbmlkPScuJHNlbHMuJyUyNicuJGFjdGlvbl9tb2R1bGUuJ3JlcG9uc2U9MCc7Ly8kdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAnQWJzZW50JywgYXJyYXkoImlkX3ByZXNlbmNlIj0+JGlkX3ByZXNlbmNlLCJyZXBvbnNlIj0+IjAiLCAibGljZW5jZSI9PiRzZWxzKSk7CgoJCQkJCQkJCSRwYXJhbXMxID0gYXJyYXkoKTsKCQkJCQkJCQkkcGFyYW1zMVsnYWNjZXNzX3Rva2VuJ10gPSAkdXNlcl9hY2Nlc3NfdG9rZW47CgkJCQkJCQkJJHBhcmFtczFbJ2xvbmdVcmwnXSA9ICRsaWVub2s7CgkJCQkJCQkJJHJlc3VsdHNvayA9IGJpdGx5X2dldCgnc2hvcnRlbicsICRwYXJhbXMxLCAkY29tcGxleD10cnVlKTsKCQkJCQkJCQkkb2tsaWVuID0gJHJlc3VsdHNva1snZGF0YSddWyd1cmwnXTsKCQkJCQkJCQkkc21hcnR5LT5hc3NpZ24oJ29rbGllbicsICRva2xpZW4pOwoJCQkJCQkJCSRwYXJhbXMyID0gYXJyYXkoKTsKCQkJCQkJCQkkcGFyYW1zMlsnYWNjZXNzX3Rva2VuJ10gPSAkdXNlcl9hY2Nlc3NfdG9rZW47CgkJCQkJCQkJJHBhcmFtczJbJ2xvbmdVcmwnXSA9ICRsaWVua287CgkJCQkJCQkJJHJlc3VsdHNrbyA9IGJpdGx5X2dldCgnc2hvcnRlbicsICRwYXJhbXMyLCAkY29tcGxleD10cnVlKTsKCQkJCQkJCQkka29saWVuID0gJHJlc3VsdHNrb1snZGF0YSddWyd1cmwnXTsKCQkJCQkJCQkkc21hcnR5LT5hc3NpZ24oJ2tvbGllbicsICRrb2xpZW4pOwoJCQkJCQkJCSRjb250ZW50ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRtZXNzYWdlKTsKCQkJCQkJCQkkc2VudCA9IDA7CgkJCQkJCQkJJGFkZF9tZXNzYWdlID0gJHNtc19vcHMtPmFkZF9tZXNzYWdlKCRtZXNzYWdlX3JlZmVyZW5jZSwkc3VidHlwZSwgJHNlbmRkYXRlLCAkc2VuZHRpbWUsJHNlbmRlciwgJGNvbnRlbnQsICRyaWNoc21zX29wdGlvbiwkcmljaHNtc191cmwpOwoJCQkJCQkJCWlmKHRydWUgPT09ICRhZGRfbWVzc2FnZSkKCQkJCQkJCQl7CgkJCQkJCQkJCSRtZXNzYWdlX2lkID0gJGRiLT5JbnNlcnRfSUQoKTsKCQkJCQkJCQkJJGFkZF90b19yZWNpcGllbnRzID0gJHNtc19vcHMtPmFkZF9yZWNpcGllbnRzKCRtZXNzYWdlX2lkLCAkaWRfZW52b2k9JzAnLCAkc2Vscywkc2VudCwkc21zX2NvbnRhY3QpOwoJCQkJCQkJCX0KCgkJCQkJCQkJLy9vbiBjb25zdHJ1aXQgbGUgc21zCgkJCQkJCQkJLy9vbiBhcHBlbGxlIGxhIGJpYmxpbyBzbXNlbnZvaQoJCQkJCQkJCSRzbXNlbnYgPSBuZXcgc21zZW52b2k7CgoJCQkJCQkJCWlmKCRzbXNlbnYtPnNlbmRTTVMoJHNtc19jb250YWN0LCRjb250ZW50LCdQUkVNSVVNJywkc2VuZGVyKSkKCQkJCQkJCQl7CgkJCQkJCQkJCQkvL0VOVk9JIFJFVVNTSQoJCQkJCQkJCQkJJHN1Y2Nlc3M9dHJ1ZTsKCgkJCQkJCQkJCQkvL0lkIGRlIGwnZW52b2kgZWZmZWN0dcOpCgkJCQkJCQkJCQkvL0lkw6lhbGVtZW50LCBjZXQgaWQgZGV2cmFpdCDDqnRyZSBzdG9ja8OpIGVuIGJhc2UgZGUgZG9ubsOpZXMKCQkJCQkJCQkJCSRpZF9lbnZvaT0kc21zZW52LT5pZDsKCQkJCQkJCQkJCS8vb24gbWV0IGxhIGJkZCDDoCBqb3VyCgkJCQkJCQkJCQkkbWFqX21lc3NhZ2UgPSAkc21zX29wcy0+bWFqX2Vudm9pKCRtZXNzYWdlX3JlZmVyZW5jZSwkaWRfZW52b2kpOwoJCQkJCQkJCQkJJG1hal9yZWNpcGllbnRzID0gJHNtc19vcHMtPm1hal9yZWNpcGllbnRzKCRtZXNzYWdlX2lkLCAkaWRfZW52b2kpOwkJCQkJCQkJCQoKCQkJCQkJCQl9CgoKCQkJCQkJCX0KCQkJCQkJCXVuc2V0KCRva2xpZW4pOwoJCQkJCQkJdW5zZXQoJGtvbGllbik7CgoKCQkJCQkJfQoJCQkJCQoJCQkJCQoJCQkJfS8vZmluIGR1IGlmCgkJCQllbHNlCgkJCQl7CgkJCQkJLy9vbiBlc3QgZGFucyBsZSBjYXMgZCd1biByZW52b2kgZGUgc21zCgkJCQl9CgkJCX0vL2ZpbiBkdSBmb3JlYWNoCgkJCQoJCQkJCgkJCQkKCQkJCgkJCgkJCgkJJHRoaXMtPlNldE1lc3NhZ2UoJ01lc3NhZ2UocykgZW52b3nDqShzKSAhIChWb2lyIEFzc28gU01TKScpOwoJCSR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ3ByZXMnKTsKCQoJCn0KZWxzZQp7CgkkdGhpcy0+U2V0TWVzc2FnZSgnSWwgbWFucXVlIHVuIHBhcmFtw6h0cmUgIScpOwoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigncHJlcycpOwp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_reponses.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KJGRiID0mICR0aGlzLT5HZXREYigpOwpnbG9iYWwgJHRoZW1lT2JqZWN0OwoKCmlmKGlzc2V0KCRwYXJhbXNbJ3JlY29yZF9pZCddKSAmJiAkcGFyYW1zWydyZWNvcmRfaWQnXSAhPScnKQp7CgkkcmVjb3JkX2lkID0gJHBhcmFtc1sncmVjb3JkX2lkJ107CgkvL2RldGFpbHMgZGUgbGEgcHLDqXNlbmNlCgkKCSRwcmVzX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CgkkZGV0YWlsc19wcmVzID0gJHByZXNfb3BzLT5kZXRhaWxzX3ByZXNlbmNlKCRyZWNvcmRfaWQpOwoJJGdyb3VwZSA9ICRkZXRhaWxzX3ByZXNbJ2dyb3VwZSddOwoJJHRpdHJlID0gJGRldGFpbHNfcHJlc1snbm9tJ107Cgkkc21hcnR5LT5hc3NpZ24oJ3RpdHJlJywgJHRpdHJlKTsKfQplbHNlCnsKCS8vcmVkaXIKfQokc21hcnR5LT5hc3NpZ24oJ1JldmVuaXInLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRjb250ZW50cz0nPD0gUmV2ZW5pcicpKTsJCiRkYnJlc3VsdD0gYXJyYXkoKTsKJHF1ZXJ5PSAiU0VMRUNUIGdlbmlkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9hZGhlcmVudHNfZ3JvdXBlc19iZWxvbmdzIFdIRVJFIGlkX2dyb3VwID0gPyI7CgokZGJyZXN1bHQ9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRncm91cGUpKTsKJHJvd2NsYXNzPSAncm93MSc7CiRyb3dhcnJheT0gYXJyYXkoKTsKaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKQogIHsKCSRpbnNjX29wcyA9IG5ldyBUMnRfaW5zY3JpcHRpb25zOwoJJGFzc29hZGggPSBuZXcgYWRoZXJlbnRzX3NwaWQ7CiAgICAJd2hpbGUgKCRyb3c9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgCXsKCQoJCS8vJGlkX2Vudm9pID0gKGludCkgJHJvd1snaWRfZW52b2knXTsKCQkkb25lcm93PSBuZXcgU3RkQ2xhc3MoKTsKCQkkb25lcm93LT5yb3djbGFzcz0gJHJvd2NsYXNzOwoJCSRnZW5pZCA9ICRyb3dbJ2dlbmlkJ107CgkJJG9uZXJvdy0+YWRoZXJlbnQgPSAkYXNzb2FkaC0+Z2V0X25hbWUoJGdlbmlkKTsKCQkkaGFzX2V4cHJlc3NlZCA9ICRwcmVzX29wcy0+aGFzX2V4cHJlc3NlZCgkcmVjb3JkX2lkLCRnZW5pZCk7CgkJaWYoRkFMU0UgPT09ICRoYXNfZXhwcmVzc2VkKQoJCXsKCQkJJG9uZXJvdy0+cHJlc2VudD0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAncHJlc2VuY2UnLCAkcmV0dXJuaWQsICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPkxhbmcoJ2ZhbHNlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoIm9iaiI9PiJyZXBvbnNlIiwiZ2VuaWQiPT4kcm93WydnZW5pZCddLCAiaWRfcHJlc2VuY2UiPT4kcmVjb3JkX2lkLCAicmVwb25zZSI9PiIxIikpOwoJCQkkb25lcm93LT5hYnNlbnQ9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3ByZXNlbmNlJywgJHJldHVybmlkLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICR0aGlzLT5MYW5nKCdmYWxzZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCJvYmoiPT4icmVwb25zZSIsImdlbmlkIj0+JHJvd1snZ2VuaWQnXSwgImlkX3ByZXNlbmNlIj0+JHJlY29yZF9pZCwgInJlcG9uc2UiPT4iMCIpKTsKCQkJJG9uZXJvdy0+YXR0ZW50ZT0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5MYW5nKCd0cnVlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHVzZXJfY2hvaWNlID0gJHByZXNfb3BzLT51c2VyX2Nob2ljZSgkcmVjb3JkX2lkLCAkZ2VuaWQpOwoJCQlpZiAoJHVzZXJfY2hvaWNlID09IDEpCgkJCXsKCQkJCSRvbmVyb3ctPnByZXNlbnQ9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TGFuZygndHJ1ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7CgkJCQkkb25lcm93LT5hYnNlbnQ9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3ByZXNlbmNlJywgJHJldHVybmlkLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICR0aGlzLT5MYW5nKCdmYWxzZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCJvYmoiPT4icmVwb25zZSIsImdlbmlkIj0+JHJvd1snZ2VuaWQnXSwgImlkX3ByZXNlbmNlIj0+JHJlY29yZF9pZCwgInJlcG9uc2UiPT4iMCIpKTsKCQkJCSRvbmVyb3ctPmF0dGVudGU9ICcnOwoJCQl9IAoJCQllbHNlCgkJCXsKCQkJCSRvbmVyb3ctPnByZXNlbnQ9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3ByZXNlbmNlJywgJHJldHVybmlkLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICR0aGlzLT5MYW5nKCdmYWxzZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCJvYmoiPT4icmVwb25zZSIsImdlbmlkIj0+JHJvd1snZ2VuaWQnXSwgImlkX3ByZXNlbmNlIj0+JHJlY29yZF9pZCwgInJlcG9uc2UiPT4iMSIpKTsKCQkJCSRvbmVyb3ctPmFic2VudD0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5MYW5nKCd0cnVlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsKCQkJCSRvbmVyb3ctPmF0dGVudGU9ICcnOwoJCQl9CgkJCSRvbmVyb3ctPmRlbGV0ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3ByZXNlbmNlJywgJHJldHVybmlkLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoIm9iaiI9PiJkZWxldGVfcmVwb25zZSIsImdlbmlkIj0+JHJvd1snZ2VuaWQnXSwgImlkX3ByZXNlbmNlIj0+JHJlY29yZF9pZCwgInJlcG9uc2UiPT4iMSIpKTsKCQl9CgkJCgkJCgkJJHJvd2FycmF5W109ICRvbmVyb3c7CiAgICAgIH0KICB9Cgokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zZm91bmQnLCAkdGhpcy0+TGFuZygncmVzdWx0c2ZvdW5kdGV4dCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkcm93YXJyYXkpKTsKJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRyb3dhcnJheSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3JlcG9uc2VzLnRwbCcpOwoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.assign_users.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovL2RlYnVnX2Rpc3BsYXkoJHBhcmFtcywgJ1BhcmFtZXRlcnMnKTsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdJbnNjcmlwdGlvbiB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KJGlkX29wdGlvbiA9ICcnOwokaWRfaW5zY3JpcHRpb24gID0gJyc7CiRyb3dhcnJheSA9IGFycmF5KCk7CgoJCmlmKCFpc3NldCgkcGFyYW1zWydpZF9vcHRpb24nXSkgfHwgJHBhcmFtc1snaWRfb3B0aW9uJ10gPT0gJycpCnsKCSR0aGlzLT5TZXRNZXNzYWdlKCJwYXJhbWV0cmVzIG1hbnF1YW50cyIpOwoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignZ3JvdXBzJyk7Cn0KZWxzZQp7CgkkaWRfb3B0aW9uID0gJHBhcmFtc1snaWRfb3B0aW9uJ107Cn0KaWYoIWlzc2V0KCRwYXJhbXNbJ2lkX2luc2NyaXB0aW9uJ10pIHx8ICRwYXJhbXNbJ2lkX2luc2NyaXB0aW9uJ10gPT0gJycpCnsKCSR0aGlzLT5TZXRNZXNzYWdlKCJwYXJhbWV0cmVzIG1hbnF1YW50cyIpOwoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignZ3JvdXBzJyk7Cn0KZWxzZQp7CgkkaWRfaW5zY3JpcHRpb24gPSAkcGFyYW1zWydpZF9pbnNjcmlwdGlvbiddOwp9CgkKJGRiID0gJHRoaXMtPkdldERiKCk7Ci8qCi8vb24gdmEgc8OpbGVjdGlvbm5lciBsZXMgbGljZW5jZXMgZMOpasOgIHByw6lzZW50ZXMgZW4gYmRkIHBvdXIgY2V0dGUgY290aXNhdGlvbiBldCBsJ2V4Y2x1cmUgZGUgbGEgbGlzdGUKJHF1ZXJ5ID0gIlNFTEVDVCBsaWNlbmNlIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9pbnNjcmlwdGlvbnNfYmVsb25ncyBXSEVSRSBpZF9vcHRpb24gPSA/IEFORCBpZF9pbnNjcmlwdGlvbiA9ID8iOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfb3B0aW9uLCRpZF9pbnNjcmlwdGlvbiApKTsKJGNvdW50ID0gJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpOwokdGFibGVhdSA9IGFycmF5KCk7CmlmKCRjb3VudCA+MCkKewoJd2hpbGUoJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCXsKCQkkbGljZW5jZSA9ICRyb3dbJ2xpY2VuY2UnXTsKCQkkdGFibGVhdVtdPSRsaWNlbmNlOwoJfQoKJHRhYiA9IGltcGxvZGUoJywgJywkdGFibGVhdSk7Ci8vJHRhYiA9IGFycmF5X3ZhbHVlcygkdGFibGVhdSk7CQovL29uIHZhIGF1c3NpIGV4Y2x1cmUgY2VydGFpbmVzIGxpY2VuY2VzIG5lIGZhaXNhbnQgcGFzIHBhcnRpZXMgZGVzIGNhdMOpZ29yaWVzIGRlIGxhIGNvdGlzYXRpb24KCn0KKi8KJGluc2Nfb3BzID0gbmV3IFQydF9pbnNjcmlwdGlvbnM7CiR0YWIxID0gJGluc2Nfb3BzLT5jYXRlZ19wZXJfb3B0aW9uKCRpZF9vcHRpb24pOwp2YXJfZHVtcCgkdGFiMSk7CgoKLy92YXJfZHVtcCgkdGFiMik7CgppZihmYWxzZSAhPT0gJHRhYjEgJiYgZmFsc2UgPT0gaXNfbnVsbCgkdGFiMSkpCnsKCSR0YWIyID0gaW1wbG9kZSgnLCAnLCAkdGFiMSk7CgkkcXVlcnkgPSAiU0VMRUNUIGoubGljZW5jZSwgQ09OQ0FUX1dTKCcgJyxqLm5vbSwgai5wcmVub20gKSBBUyBqb3VldXIgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2FkaGVyZW50c19hZGhlcmVudHMgQVMgaiBXSEVSRSBqLmFjdGlmID0gMSAgQU5EIGouY2F0IElOICgkdGFiMikgT1JERVIgQlkgai5ub20gQVNDLCBqLnByZW5vbSBBU0MgIjsKfQplbHNlCnsKCSRxdWVyeSA9ICJTRUxFQ1Qgai5saWNlbmNlLCBDT05DQVRfV1MoJyAnLGoubm9tLCBqLnByZW5vbSApIEFTIGpvdWV1ciBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYWRoZXJlbnRzX2FkaGVyZW50cyBBUyBqIFdIRVJFIGouYWN0aWYgPSAxICI7Ci8vCSRxdWVyeS49IiBBTkQgai5jYXQgSU4gKCR0YWIyKSAiOwoJJHF1ZXJ5Lj0iIE9SREVSIEJZIGoubm9tIEFTQywgai5wcmVub20gQVNDICI7Cn0KCi8vZWNobyAkcXVlcnk7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOy8vLCBhcnJheSgkdGFibGVhdSkpOwovL2VjaG8gJHF1ZXJ5OwoJaWYoISRkYnJlc3VsdCkKCXsKCQkkZGVzaWduYXRpb24uPSAkZGItPkVycm9yTXNnKCk7CgkJJHRoaXMtPlNldE1lc3NhZ2UoIiRkZXNpZ25hdGlvbiIpOwoJCSR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ2dyb3VwcycpOwoJfQoKCSRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkJJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnZG9fYXNzaWduX3VzZXJzJywgJHJldHVybmlkICkgKTsKCSRzbWFydHktPmFzc2lnbignaWRfb3B0aW9uJywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lkX29wdGlvbicsJGlkX29wdGlvbiwxMCwxNSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpZF9pbnNjcmlwdGlvbicsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpZF9pbnNjcmlwdGlvbicsJGlkX2luc2NyaXB0aW9uLDEwLDE1KSk7CQoJaWYoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKT4wKQoJewoJCXdoaWxlKCRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCQkvL3Zhcl9kdW1wKCRyb3cpOwoJCQkKCQkJJGxpY2VuY2UgPSAkcm93WydsaWNlbmNlJ107CgkJCSRqb3VldXIgPSAkcm93Wydqb3VldXInXTsKCQkJJHJvd2FycmF5WyRsaWNlbmNlXVsnbmFtZSddID0gJGpvdWV1cjsKCQkJJHJvd2FycmF5WyRsaWNlbmNlXVsncGFydGljaXBlJ10gPSBmYWxzZTsKCQkJCgkJCS8vb24gdmEgY2hlcmNoZXIgc2kgbGUgam91ZXVyIGVzdCBkw6lqw6AgZGFucyBsYSB0YWJsZSBwYXJ0aWNpcGUKCQkJJHF1ZXJ5MiA9ICJTRUxFQ1QgbGljZW5jZSwgaWRfb3B0aW9uIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9pbnNjcmlwdGlvbnNfYmVsb25ncyBXSEVSRSBsaWNlbmNlID0gPyBBTkQgaWRfb3B0aW9uID0gPyI7CgkJCS8vZWNobyAkcXVlcnkyOwoJCQkkZGJyZXN1bHRhdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkyLCBhcnJheSgkbGljZW5jZSwgJGlkX29wdGlvbikpOwoJCQkKCQkJaWYoJGRicmVzdWx0YXQtPlJlY29yZENvdW50KCk+MCkKCQkJewoJCQkJd2hpbGUoJHJvdzIgPSAkZGJyZXN1bHRhdC0+RmV0Y2hSb3coKSkKCQkJCXsKCQkJCgkJCQkJLy8gbCdhZGjDqXJlbnQgZXN0IGTDqWrDoCBlbiBiZGQKCQkJCQkkcm93YXJyYXlbJGxpY2VuY2VdWydwYXJ0aWNpcGUnXSA9IHRydWU7CgkJCQl9CgkJCX0KCQkJCgkJCS8vcHJpbnRfcigkcm93YXJyYXkpOwoJCQkKCQkJCgkJCQkJCQoJCQkKCQkJCgkJfQoJCSRzbWFydHktPmFzc2lnbigncm93YXJyYXknLCRyb3dhcnJheSk7CQoJCQkKCX0KCSRzbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSwgJ2NsYXNzPSJidXR0b24iJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLAoJCQkJCQkkdGhpcy0+TGFuZygnY2FuY2VsJykpKTsKCSRzbWFydHktPmFzc2lnbignYmFjaycsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2JhY2snLAoJCQkJCQkkdGhpcy0+TGFuZygnYmFjaycpKSk7CgoJJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywKCQkJJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYXNzaWduX3VzZXJzLnRwbCcpOwojCiNFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.config_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwovL29uIHbDqXJpZmllIGxlcyBkcm9pdHMgZGUgY2V0IHV0aWxpc2F0ZXVyCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignUHJlc2VuY2UgU2V0IFByZWZzJykpewoJJG1lc3NhZ2UgPSAiVm91cyBuXCdhdmV6IHBhcyBsZXMgYXV0b3Jpc2F0aW9ucyBwb3VyIGFjY8OpZGVyIGF1eCBwcsOpZsOpcmVuY2VzIjsKCSR0aGlzLT5TZXRNZXNzYWdlKCIkbWVzc2FnZSIpOwoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigncHJlcycpOwp9Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3VwZGF0ZW9wdGlvbnMnLCAkcmV0dXJuaWQpKTsKCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kICgpKTsKCiRzbWFydHktPmFzc2lnbigncGFnZWlkX3ByZXNlbmNlJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BhZ2VpZF9wcmVzZW5jZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZF9wcmVzZW5jZScpLDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2JpdGx5X2NsaWVudF9pZCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2JpdGx5X2NsaWVudF9pZCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2JpdGx5X2NsaWVudF9pZCcsJzEnKSw1MCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdiaXRseV9jbGllbnRfc2VjcmV0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnYml0bHlfY2xpZW50X3NlY3JldCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2JpdGx5X2NsaWVudF9zZWNyZXQnLCcxJyksNTAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignYml0bHlfYWNjZXNzX3Rva2VuJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnYml0bHlfYWNjZXNzX3Rva2VuJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfYWNjZXNzX3Rva2VuJywnMScpLDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2JpdGx5X3JlZGlyZWN0X3VyaScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3NhaXNvbl9lbl9jb3VycycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2JpdGx5X3JlZGlyZWN0X3VyaScpLDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnb3B0aW9uc3N1Ym1pdGJ1dHRvbicsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwoKLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSAoJ2NvbmZpZy50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkgZXhpdDsKJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKLy9kZWJ1Z19kaXNwbGF5KCRwYXJhbXMsICdQYXJhbWV0ZXJzJyk7CiRlcnJvciA9IDA7IC8vb24gaW5zdGFuY2llIHVuIGNvbXB0ZXVyIGQnZXJyZXVyCmlmKGlzc2V0KCRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10pICYmICRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10gIT0nJykKewoJJGlkX3ByZXNlbmNlID0gJHBhcmFtc1snaWRfcHJlc2VuY2UnXTsKCSRwcmVzX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CgkkZGV0YWlscyA9ICRwcmVzX29wcy0+ZGV0YWlsc19wcmVzZW5jZSgkaWRfcHJlc2VuY2UpOwkKCSRkYXRlX2xpbWl0ZSA9ICRkZXRhaWxzWydkYXRlX2xpbWl0ZSddOwoJJGFjdGlmID0gJGRldGFpbHNbJ2FjdGlmJ107CgkKCWlmKCRhY3RpZiA9PSAwIHx8ICRkYXRlX2xpbWl0ZSA8IGRhdGUoJ1ktbS1kJykpCgl7CgkJZWNobyAnTGUgc29uZGFnZSBlc3QgZmVybcOpIG91IGxhIGRhdGUgbGltaXRlIGRlIHLDqXBvbnNlIGTDqXBhc3PDqWUgISc7CgkvLwkkdGhpcy0+UmVkaXJlY3QoKTsKCX0KfQplbHNlCnsKCS8vZWNobyAnaWRfcHJlc2VuY2UnOwoJJGVycm9yKys7Cn0KaWYoaXNzZXQoJHBhcmFtc1snZ2VuaWQnXSkgJiYgJHBhcmFtc1snZ2VuaWQnXSAhPScnKQp7CgkkZ2VuaWQgPSAkcGFyYW1zWydnZW5pZCddOwp9CmVsc2UKewoJLy9lY2hvICdHZW5pZCAhJzsKCSRlcnJvcisrOwp9CmlmKGlzc2V0KCRwYXJhbXNbJ3JlcG9uc2UnXSkpCnsKCSRyZXBvbnNlID0gJHBhcmFtc1sncmVwb25zZSddOwoJLyoKCWlmKCRyZXBvbnNlID09IDApCgl7CgkJLy9vbiBjcsOpw6kgdW5lIGFsZXJ0ZSBwb3VyIGxlIHJlc3BvbnNhYmxlID8KCQkvL29uIHLDqWN1cMOocmUgbGUgbm9tIGR1IGpvdWV1cgoJCSRzZW5kZXIgPSAnJzsKCQkkYWRoX29wcyA9IG5ldyBhZGhlcmVudHNfc3BpZDsKCQkkam91ZXVyID0gJGFkaF9vcHMtPmdldF9uYW1lKCRsaWNlbmNlKTsKCQkkbWVzc2FnZSA9ICdBdHRlbnRpb24sICcuJGpvdWV1ci4nIGVzdCBhYnNlbnQgcG91ciA6ICcuJGRldGFpbHNbJ25vbSddOwoJCSRzZW5kX21lc3NhZ2UgPSAkcHJlc19vcHMtPnNlbmRfbm9ybWFsX2VtYWlsKCk7CgkJCgl9CgkqLwp9CmVsc2UKewoJLy9lY2hvICdyZXBvbnNlICEnOwoJJGVycm9yKys7Cn0KaWYoJGVycm9yIDwgMSkKewoJLy9vbiBkw6l0cnVpdCB1biDDqXZlbnR1ZWwgcHLDqWPDqWRlbnQgZW5yZWdpc3RyZW1lbnQgPwoJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfYmVsb25ncyBXSEVSRSBpZF9wcmVzZW5jZSA9ID8gQU5EIGdlbmlkID0gPyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfcHJlc2VuY2UsICRnZW5pZCkpOwoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ByZXNlbmNlX2JlbG9uZ3MoaWRfcHJlc2VuY2UsIGlkX29wdGlvbiwgZ2VuaWQpIFZBTFVFUyggPywgPywgPykiOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkaWRfcHJlc2VuY2UsICRyZXBvbnNlLCAkZ2VuaWQpKTsKCS8vb24gYWZmaWNoZSBsZSBub20gZGUgY2V1eCBxdWkgbidvbnQgcGFzIGVuY29yZSByw6lwb25kdSAhIQoJCglpZigkZGJyZXN1bHQpCgl7CgoJZWNobyAiTWVyY2kgZCdhdm9pciByw6lwb25kdSAhISI7CgoJfQoJZWxzZQoJewoJCWVjaG8gJGRiLT5FcnJvck1zZygpOwoJfQp9CmVsc2UKeyBlY2hvICdFcnJldXIgISc7fQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICggIWlzc2V0KCRnQ21zKSApIGV4aXQ7IA0KCWlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignUHJlc2VuY2UgdXNlJykpDQoJew0KCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpKTsNCgkJcmV0dXJuOw0KCX0NCgkNCi8vZGVidWdfZGlzcGxheSgkcGFyYW1zLCAnUGFyYW1ldGVycycpOw0KZWNobyAkdGhpcy0+U3RhcnRUYWJoZWFkZXJzKCk7DQoNCmlmKGlzc2V0KCRwYXJhbXNbJ2FjdGl2ZXRhYiddKSAmJiAhZW1wdHkoJHBhcmFtc1snYWN0aXZldGFiJ10pKQ0KICB7DQogICAgJHRhYiA9ICRwYXJhbXNbJ2FjdGl2ZXRhYiddOw0KICB9IGVsc2Ugew0KICAkdGFiID0gJ3ByZXMnOw0KIH0JDQoJDQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcmVzJywgJ1Byw6lzZW5jZXMnLCAoJ3ByZXMnID09ICR0YWIpP3RydWU6ZmFsc2UpOw0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZW1haWxzJywgJ05vdGlmaWNhdGlvbnMnLCAoJ2VtYWlscycgPT0gJHRhYik/dHJ1ZTpmYWxzZSk7DQoJDQoJZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOw0KDQoJZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7DQoJDQoJDQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3ByZXMnLCAkcGFyYW1zKTsNCglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvYWN0aW9uLmFkbWluX3ByZXNlbmNlX3RhYi5waHAnKTsNCiAgIAllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdlbWFpbHMnLCAkcGFyYW1zKTsNCglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvYWN0aW9uLmFkbWluX25vdGlmaWNhdGlvbnNfdGFiLnBocCcpOw0KICAgCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQoNCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsNCg0KPz4NCg0KDQo=]]></data>
	</file>
	<file>
	  <filename>/action.do_add_edit_presence.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmRlYnVnX2Rpc3BsYXkoJHBhcmFtcywgJ1BhcmFtZXRlcnMnKTsKCglpZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1ByZXNlbmNlIHVzZScpKQoJewoJCSRkZXNpZ25hdGlvbiAuPSR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpOwoJCSR0aGlzLT5TZXRNZXNzYWdlKCIkZGVzaWduYXRpb24iKTsKCQkkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdwcmVzJyk7Cgl9CgovL29uIHLDqWN1cMOocmUgbGVzIHZhbGV1cnMKLy9wb3VyIGwnaW5zdGFudCBwYXMgZCdlcnJldXIKJGF1am91cmRodWkgPSBkYXRlKCdZLW0tZCAnKTsKJGVycm9yID0gMDsKJGVkaXQgPSAwOy8vcG91ciBzYXZvaXIgc2kgb24gZmFpdCB1biB1cGRhdGUgb3UgdW4gaW5zZXJ0OyAwID0gaW5zZXJ0CiRpbnNjX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CQoJCQoJCQoJCWlmIChpc3NldCgkcGFyYW1zWydyZWNvcmRfaWQnXSkgJiYgJHBhcmFtc1sncmVjb3JkX2lkJ10gIT0nJykKCQl7CgkJCSRyZWNvcmRfaWQgPSAkcGFyYW1zWydyZWNvcmRfaWQnXTsKCQkJJGVkaXQgPSAxOwoJCQkJCQkKCQl9CgkJCQkKCQlpZiAoaXNzZXQoJHBhcmFtc1snbm9tJ10pICYmICRwYXJhbXNbJ25vbSddICE9JycpCgkJewoJCQkkbm9tID0gJHBhcmFtc1snbm9tJ107CgkJfQoJCWVsc2UKCQl7CgkJCSRlcnJvcisrOwoJCX0KCQlpZiAoaXNzZXQoJHBhcmFtc1snZGVzY3JpcHRpb24nXSkgJiYgJHBhcmFtc1snZGVzY3JpcHRpb24nXSAhPScnKQoJCXsKCQkJJGRlc2NyaXB0aW9uID0gJHBhcmFtc1snZGVzY3JpcHRpb24nXTsKCQl9CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2RhdGVfZGVidXQnXSkgJiYgJHBhcmFtc1snZGF0ZV9kZWJ1dCddICE9JycpCgkJewoJCQkkZGF0ZV9kZWJ1dCA9ICRwYXJhbXNbJ2RhdGVfZGVidXQnXTsKCQl9CgkJCgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2hldXJlX2RlYnV0J10pICYmICRwYXJhbXNbJ2hldXJlX2RlYnV0J10gIT0nJykKCQl7CgkJCSRoZXVyZV9kZWJ1dCA9ICRwYXJhbXNbJ2hldXJlX2RlYnV0J107CgkJfQoJCWVsc2UKCQl7CgkJCSRoZXVyZV9kZWJ1dCA9ICcwMDowMDowMCc7CgkJfQoJCWlmIChpc3NldCgkcGFyYW1zWydkYXRlX2xpbWl0ZSddKSAmJiAkcGFyYW1zWydkYXRlX2xpbWl0ZSddICE9JycpCgkJewoJCQkkZGF0ZV9saW1pdGUgPSAkcGFyYW1zWydkYXRlX2xpbWl0ZSddOwoJCX0KCQlpZiAoaXNzZXQoJHBhcmFtc1snYWN0aWYnXSkgJiYgJHBhcmFtc1snYWN0aWYnXSAhPScnKQoJCXsKCQkJJGFjdGlmID0gJHBhcmFtc1snYWN0aWYnXTsKCQl9CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2dyb3VwZSddKSAmJiAkcGFyYW1zWydncm91cGUnXSAhPScnKQoJCXsKCQkJJGdyb3VwZSA9ICRwYXJhbXNbJ2dyb3VwZSddOwoJCX0KCQkKCQkKCQlpZigkZXJyb3IgPCAxKQoJCXsKCQkJCgkJCSRwcmVzX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CgkJCWlmKCRlZGl0ID09IDApCgkJCXsKCQkJCSRhZGQgPSAkaW5zY19vcHMtPmFkZF9wcmVzZW5jZSgkbm9tLCAkZGVzY3JpcHRpb24sICRkYXRlX2RlYnV0LCAkaGV1cmVfZGVidXQsICRkYXRlX2xpbWl0ZSwgJGFjdGlmLCAkZ3JvdXBlKTsKCQkJCWlmKHRydWUgPT09ICRhZGQpCgkJCQl7CgkJCQkJJHRoaXMtPlNldE1lc3NhZ2UoJ1Byw6lzZW5jZSBham91dMOpZScpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSR0aGlzLT5TZXRNZXNzYWdlKCdQcsOpc2VuY2Ugbm9uIGFqb3V0w6llICEhJyk7CgkJCQl9CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkZWRpdCA9ICRpbnNjX29wcy0+ZWRpdF9wcmVzZW5jZSgkcmVjb3JkX2lkLCRub20sICRkZXNjcmlwdGlvbiwgJGRhdGVfZGVidXQsICRoZXVyZV9kZWJ1dCwkZGF0ZV9saW1pdGUsICRhY3RpZiwkZ3JvdXBlKTsKCQkJCWlmKHRydWUgPT09ICRlZGl0KQoJCQkJewoJCQkJCSR0aGlzLT5TZXRNZXNzYWdlKCdQcsOpc2VuY2UgbW9kaWZpw6llJyk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJHRoaXMtPlNldE1lc3NhZ2UoJ1Byw6lzZW5jZSBub24gbW9kaWZpw6llICEhJyk7CgkJCQl9CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJJHRoaXMtPlNldE1lc3NhZ2UoJ0lsIG1hbnF1ZSBsZSBub20gIScpOwoJCX0KCQkJCgkJCQokdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdwcmVzJyk7Ly8oJGlkLCdhZGRfdHlwZXNfY290aXNfY2F0ZWcnLCRyZXR1cm5pZCwgYXJyYXkoJ3JlY29yZF9pZCc9PiRyZWNvcmRfaWQpKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_assign_users.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7Ci8vcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvaW5jbHVkZS9wcmVmcy5waHAnKTsKLy9kZWJ1Z19kaXNwbGF5KCRwYXJhbXMsICdQYXJhbWV0ZXJzJyk7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignSW5zY3JpcHRpb25zIHVzZScpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpKTsKCXJldHVybjsKfQokbWVzc2FnZSA9ICcnOwokYW5uZWUgPSBkYXRlKCdZJyk7Ci8vb24gcsOpY3Vww6hyZSBsZXMgdmFsZXVycwovL3BvdXIgbCdpbnN0YW50IHBhcyBkJ2VycmV1cgokZXJyb3IgPSAwOwoJCQoJCSRpZF9vcHRpb24gPSAnJzsKCQlpZiAoaXNzZXQoJHBhcmFtc1snaWRfb3B0aW9uJ10pICYmICRwYXJhbXNbJ2lkX29wdGlvbiddICE9ICcnKQoJCXsKCQkJJGlkX29wdGlvbiA9ICRwYXJhbXNbJ2lkX29wdGlvbiddOwoJCX0KCQllbHNlCgkJewoJCQkkZXJyb3IrKzsKCQl9CgkJJGlkX2luc2NyaXB0aW9uID0gJyc7CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2lkX2luc2NyaXB0aW9uJ10pICYmICRwYXJhbXNbJ2lkX2luc2NyaXB0aW9uJ10gIT0gJycpCgkJewoJCQkkaWRfaW5zY3JpcHRpb24gPSAkcGFyYW1zWydpZF9pbnNjcmlwdGlvbiddOwoJCX0KCQllbHNlCgkJewoJCQkkZXJyb3IrKzsKCQl9CgkKCQlpZigkZXJyb3IgPT0wKQoJCXsKCQkJLy9vbiB2aXJlIHRvdXRlcyBsZXMgZG9ubsOpZXMgZGUgY2V0dGUgY29tcGV0IGF2YW50IAoJCQoJCQkJJGxpY2VuY2UgPSAnJzsKCQkJCWlmIChpc3NldCgkcGFyYW1zWydsaWNlbmNlJ10pICYmICRwYXJhbXNbJ2xpY2VuY2UnXSAhPSAnJykKCQkJCXsKCQkJCQkkbGljZW5jZSA9ICRwYXJhbXNbJ2xpY2VuY2UnXTsKCQkJCQkvL3Zhcl9kdW1wKCRsaWNlbmNlKTsKCQkJCQkkZXJyb3IrKzsKCQkJCX0KCQkJCSRpbnNjX29wcyA9IG5ldyBUMnRfaW5zY3JpcHRpb25zOwoJCQkJJGRlbGV0ZSA9ICRpbnNjX29wcy0+ZGVsZXRlX3VzZXJzX2luX29wdGlvbigkaWRfb3B0aW9uKTsKCQkJCgkJCQlmb3JlYWNoKCRsaWNlbmNlIGFzICRrZXk9PiR2YWx1ZSkKCQkJCXsKCQkJCS8vCSRyZWZfYWN0aW9uID0gJHRoaXMtPnJhbmRvbV9zdHJpbmcoMTUpOwoJCQkJCSRxdWVyeTIgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9pbnNjcmlwdGlvbnNfYmVsb25ncyAoaWRfaW5zY3JpcHRpb24saWRfb3B0aW9uLGxpY2VuY2UpIFZBTFVFUyAoID8sID8sID8pIjsKCQkJCQkvL2VjaG8gJHF1ZXJ5MjsKCQkJCQkkZGJyZXN1bHRhdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkyLCBhcnJheSgkaWRfaW5zY3JpcHRpb24sJGlkX29wdGlvbiwka2V5KSk7CgkJCQkvKgkvL2xhIHJlcXVldGUgYSBmb25jdGlvbm7DqSA/IE9uIGFqb3V0ZSDDoCBsYSB0YWJsZSBQYWllbWVudHMKCQkJCQlpZigkZGJyZXN1bHRhdCkKCQkJCQl7CgkJCQkJCS8vb24gYWpvdXRlIAoJCQkJCQkkbWVzc2FnZS49IkFkaMOpcmVudChzKSBham91dMOpKHMpIMOgIGwnb3B0aW9ucy4iOwoJCQkJCQkkdGFibGVhdSA9ICRjb3Rpc2F0aW9uX29wcy0+dHlwZXNfY290aXNhdGlvbnMoJHJlY29yZF9pZCk7CgkJCQkJCS8vdmFyX2R1bXAoJG5vbSk7CgkJCQkJCWlmKGlzX2FycmF5KCR0YWJsZWF1KSkKCQkJCQkJewoJCQkJCQkJJG5vbSA9ICR0YWJsZWF1Wydub20nXTsKCQkJCQkJCSR0YXJpZiA9ICR0YWJsZWF1Wyd0YXJpZiddOwoJCQkJCQkJJG1vZHVsZSA9ICdDb3Rpc2F0aW9ucyc7CgkJCQkJCQkkYWRkID0gJHBhaWVtZW50c19vcHMtPmFkZF9wYWllbWVudCgka2V5LCRyZWZfYWN0aW9uLCRtb2R1bGUsJG5vbSwkdGFyaWYpOwoJCQkJCQkJaWYodHJ1ZSA9PT0gJGFkZCkKCQkJCQkJCXsKCQkJCQkJCQkkbWVzc2FnZS49IiBQYWllbWVudCBlbiBhdHRlbnRlIGRlIHLDqGdsZW1lbnQuIjsKCQkJCQkJCX0KCQkJCQkJCS8vdmFyX2R1bXAoJGFkZCk7CgkJCQkJCQkKCQkJCQkJfQoJCQkJCQkKCQkJCQl9CgkJCQkJKi8KCQkJCX0KCQkJJHRoaXMtPlNldE1lc3NhZ2UoJG1lc3NhZ2UpOwoJCQkKCQkJCQoJCQkJCgkJfQoJCWVsc2UKCQl7CgkJCWVjaG8gIklsIHkgYSBkZXMgZXJyZXVycyAhIjsKCQl9CgkJCgoKJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignZGVmYXVsdCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.emailing.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KLy9kZWJ1Z19kaXNwbGF5KCRwYXJhbXMsICdQYXJhbWV0ZXJzJyk7CmlmKGlzc2V0KCRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10pICYmICRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10gIT0nJykKewoJJGlkX3ByZXNlbmNlID0gJHBhcmFtc1snaWRfcHJlc2VuY2UnXTsKCSRpbnNjX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CgkkZGV0YWlscyA9ICRpbnNjX29wcy0+ZGV0YWlsc19wcmVzZW5jZSgkaWRfcHJlc2VuY2UpOwoJJHRpdHJlID0gJGRldGFpbHNbJ25vbSddOwoJJHNtYXJ0eS0+YXNzaWduKCd0aXRyZScsICR0aXRyZSk7CgkkZXJyb3IgPSAwOwoJCgkkZ3JvdXBfaWQgPSAkZGV0YWlsc1snZ3JvdXBlJ107Cgkkc2VuZGVyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FkbWluX2VtYWlsJyk7CQoJJHByaW9yaXR5ID0gJHBhcmFtc1sncHJpb3JpdHknXSA9ICcxJzsKCSRzdWJqZWN0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VtYWlsX3ByZXNlbmNlX3N1YmplY3QnKTsKCSRtZXNzYWdlID0gJHRoaXMtPkdldFRlbXBsYXRlKCdwcmVzZW5jZW1haWxfU2FtcGxlJyk7Ci8vCSRib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRib2R5KTsKCSRhdWpvdXJkaHVpID0gdGltZSgpOwoJCgoJaWYoaXNzZXQoJHBhcmFtc1snc2VuZGRhdGUnXSkgJiYgJHBhcmFtc1snc2VuZGRhdGUnXSkKCXsKCQkkc2VuZGRhdGUgPSAkcGFyYW1zWydzZW5kZGF0ZSddOwoJfQoJZWxzZQoJewoJCSRzZW5kZGF0ZSA9IGRhdGUoJ1ktbS1kJyk7Cgl9CglpZihpc3NldCgkcGFyYW1zWydzZW5kdGltZSddKSAmJiAkcGFyYW1zWydzZW5kdGltZSddKQoJewoJCSRzZW5kdGltZSA9ICRwYXJhbXNbJ3NlbmR0aW1lJ107Cgl9CgllbHNlCgl7CgkJJHNlbmR0aW1lID0gZGF0ZSgiSDppOnMiKTsKCX0KCSRtZXNzX29wcyA9IG5ldyBUMnRfbWVzc2FnZXM7CgkkdGltZV9lbnZvaSA9ICRtZXNzX29wcy0+ZGF0ZXRvdGltZXVuaXgoJHNlbmRkYXRlLCAkc2VuZHRpbWUpOwoKCSRzZW50ID0gMTsKCWlmKCR0aW1lX2Vudm9pID4gJGF1am91cmRodWkpCgl7CgkJJHNlbnQgPSAwOwoJfQoKCWlmKCRlcnJvciA+MCkKCXsKCQkvL3BhcyBnbG9wLCBkZXMgZXJyZXVycyAhCgkJZWNobyAidHJvcCBkXCdlcnJldXJzICEiOwoJfQoJZWxzZQoJewoJCS8vIG9uIGNvbW1lbmNlIGxlIHRyYWl0ZW1lbnQKCQkvL2lmKCRhdWpvdXJkaHVpIDw9ICRzZW5kZGF0ZSA9IGRhdGUoJ1ktbS1kJyk7CgoJCSRyZXBseXRvID0gJHNlbmRlcjsKCQkkZ3Bfb3BzID0gbmV3IGdyb3VwczsKCQkkcmVjaXBpZW50c19udW1iZXIgPSAkZ3Bfb3BzLT5jb3VudF91c2Vyc19pbl9ncm91cCgkZ3JvdXBfaWQpOwoJCSRtZXNzX29wcyA9IG5ldyBUMnRfbWVzc2FnZXM7CgkJJHByZXNfb3BzID0gbmV3IFQydF9wcmVzZW5jZTsKCQkkbWVzcyA9ICRtZXNzX29wcy0+YWRkX21lc3NhZ2UoJHNlbmRlciwgJHNlbmRkYXRlLCAkc2VuZHRpbWUsICRyZXBseXRvLCAkZ3JvdXBfaWQsJHJlY2lwaWVudHNfbnVtYmVyLCAkc3ViamVjdCwgJHRpdHJlLCAkc2VudCk7CgkJJG1lc3NhZ2VfaWQgPSRkYi0+SW5zZXJ0X0lEKCk7CgkJCgkJCgkJCgkJaWYgKCRzZW50ID09IDEpCgkJewoJCQkvL29uIGV4dHJhaXQgbGVzIHV0aWxpc2F0ZXVycyAoZ2VuaWQpIGR1IGdyb3VwZSBzw6lsZWN0aW9ubsOpCgkJCS8vYXR0ZW50aW9uLCBvbiDDqWxpbWluZSBsZXMgdXRpbGlzYXRldXJzIGF5YW50IGTDqWrDoCByw6lwb25kdQoJCQkkbGljZW5jZXMgPSAkcHJlc19vcHMtPnJlbGFuY2VfZW1haWxfbGljZW5jZSgkaWRfcHJlc2VuY2UpOwoJCQlpZihpc19hcnJheSgkbGljZW5jZXMpICYmIGNvdW50KCRsaWNlbmNlcykgPiAwICkKCQkJewoJCQkJJHRhYiA9IGltcGxvZGUoJywgJywkbGljZW5jZXMpOwkKCQkJfQoJCS8vCSR0YWIgPSBpbXBsb2RlKCcsICcsJGxpY2VuY2VzKTsKCQkJJGNvbnRhY3RzX29wcyA9IG5ldyBjb250YWN0OwoJCQkkYWRoZXJlbnRzID0gJGNvbnRhY3RzX29wcy0+VXNlcnNGcm9tR3JvdXAoJGdyb3VwX2lkKTsKCQkJJGNnX29wcyA9IG5ldyBDR0V4dGVuc2lvbnM7CgkKCQkJZm9yZWFjaCgkYWRoZXJlbnRzIGFzICRzZWxzKQoJCQl7CgkJCQkvL2F2YW50IG9uIGVudm9pZSBkYW5zIGxlIG1vZHVsZSBlbWFpbHMgcG91ciB0b3VzIGxlcyB1dGlsaXNhdGV1cnMgZXQgc2FucyB0cmFpdGVtZW50CgkJCQlpZihGQUxTRSA9PT0gJGxpY2VuY2VzIHx8IEZBTFNFID09PSBpbl9hcnJheSgkc2VscywgJGxpY2VuY2VzKSkKCQkJCXsKCQkJCQkkcXVlcnkgPSAiU0VMRUNUIGNvbnRhY3QgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2FkaGVyZW50c19jb250YWN0cyBXSEVSRSBnZW5pZCA9ID8gQU5EIHR5cGVfY29udGFjdCA9IDEgTElNSVQgMSI7CgkJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHNlbHMpKTsKCQkJCQlpZigkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpPjApCgkJCQkJewoJCQkJCQkkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwoKCQkJCQkJJGVtYWlsX2NvbnRhY3QgPSAkcm93Wydjb250YWN0J107CgkJCQkJCSRkZXN0aW5hdGFpcmVzID0gYXJyYXkoKTsKCgkJCQkJCWlmKCFpc19udWxsKCRlbWFpbF9jb250YWN0KSkKCQkJCQkJewoJCQkJCQkJJGRlc3RpbmF0YWlyZXNbJ2VtYWlscyddID0gJGVtYWlsX2NvbnRhY3Q7CgkJCQkJCQkkZGVzdGluYXRhaXJlc1snZ2VuaWQnXSA9ICRzZWxzOwoJCQkJCQkJJHNlbnR0b3VzZXIgPSAxOwoJCQkJCQkJJHN0YXR1cyA9ICJFbWFpbCBPayI7CgkJCQkJCQkkYXIgPSAwOwoJCQkJCQkJJGRlYnV0X3VybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ107CgoJCQkJCQkJJHJldG91cmlkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZF9wcmVzZW5jZScpOy8vNDQ7CgkJCQkJCQkkcGFnZSA9ICRjZ19vcHMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHJldG91cmlkKTsvLydwcmVzZW5jZSc7CgoJCQkJCQkJJGFjdGlvbl9tb2R1bGUgPSAnY250bnQwMSc7CgkJCQkJCQkkbGllbm9rID0gJGRlYnV0X3VybC4nL2luZGV4LnBocD9wYWdlPScuJHBhZ2UuJyZtYWN0PVByZXNlbmNlLCcuJGFjdGlvbl9tb2R1bGUuJyxkZWZhdWx0LDAmJy4kYWN0aW9uX21vZHVsZS4naWRfcHJlc2VuY2U9Jy4kaWRfcHJlc2VuY2UuJyYnLiRhY3Rpb25fbW9kdWxlLidnZW5pZD0nLiRzZWxzLicmJy4kYWN0aW9uX21vZHVsZS4ncmVwb25zZT0xJzsKCQkJCQkJCS8vJGxpZW5vayA9ICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCRyZXR1cm5pZCwgJ2RlZmF1bHQnLCAkY29udGVudHM9J1Byw6lzZW50JywgYXJyYXkoImlkX3ByZXNlbmNlIj0+JGlkX3ByZXNlbmNlLCJyZXBvbnNlIj0+IjEiLCAibGljZW5jZSI9PiRzZWxzKSk7CgoJCQkJCQkJJHNtYXJ0eS0+YXNzaWduKCdsaWVub2snLCAkbGllbm9rKTsKCgkJCQkJCQkkbGllbmtvID0gJGRlYnV0X3VybC4nL2luZGV4LnBocD9wYWdlPScuJHBhZ2UuJyZtYWN0PVByZXNlbmNlLCcuJGFjdGlvbl9tb2R1bGUuJyxkZWZhdWx0LDAmJy4kYWN0aW9uX21vZHVsZS4naWRfcHJlc2VuY2U9Jy4kaWRfcHJlc2VuY2UuJyYnLiRhY3Rpb25fbW9kdWxlLidnZW5pZD0nLiRzZWxzLicmJy4kYWN0aW9uX21vZHVsZS4ncmVwb25zZT0wJzsvLyR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICdBYnNlbnQnLCBhcnJheSgiaWRfcHJlc2VuY2UiPT4kaWRfcHJlc2VuY2UsInJlcG9uc2UiPT4iMCIsICJsaWNlbmNlIj0+JHNlbHMpKTsKCQkJCQkJCSRzbWFydHktPmFzc2lnbignbGllbmtvJywgJGxpZW5rbyk7CgkJCQkJCQkkZW52b2kgPSAkcHJlc19vcHMtPnNlbmRfZW1haWwoJHNlbmRlciwgJGVtYWlsX2NvbnRhY3QsJHN1YmplY3QsICRwcmlvcml0eSwgJGxpZW5vaywgJGxpZW5rbyk7CgkJCQkJCQlpZihGQUxTRSA9PT0gJGVudm9pKQoJCQkJCQkJewoJCQkJCQkJCSRtZXNzX29wcy0+bm90X3NlbnRfZW1haWxzKCRtZXNzYWdlX2lkLCAkcmVjaXBpZW50cyk7CgkJCQkJCQl9CgkJCQkJCQl1bnNldCgkbGllbm9rKTsKCQkJCQkJCXVuc2V0KCRsaWVua28pOwoJCQkJCQl9CgkJCQkJCWVsc2UKCQkJCQkJewoJCQkJCQkJLy9vbiBpbmRpcXVlIGwnZXJyZXVyIDogcGFzIGQnZW1haWwgZGlzcG9uaWJsZSAhCgkJCQkJCQkkc2VudHRvdXNlciA9IDA7CgkJCQkJCQkkc3RhdHVzID0gIkVtYWlsIGFic2VudCI7CgkJCQkJCQkkYXIgPSAwOwoJCQkJCQkJJGVtYWlsX2NvbnRhY3QgPSAicmllbiI7CgkJCQkJCX0KCgkJCQkJCSRhZGRfdG9fcmVjaXBpZW50cyA9ICRtZXNzX29wcy0+YWRkX21lc3NhZ2VzX3RvX3JlY2lwaWVudHMoJG1lc3NhZ2VfaWQsICRzZWxzLCAkZW1haWxfY29udGFjdCwkc2VudHRvdXNlciwkc3RhdHVzLCAkYXIpOwoJCQkJCX0KCQkJCQllbHNlCgkJCQkJewoJCQkJCQkvL3VuZSBlcnJldXIgc3VyIGwnZW1haWwsIG9uIGZhaXQgcXVvaSA/CgkJCQkJCS8vb24gaW5kaXF1ZSBsJ2VycmV1ciA6IHBhcyBkJ2VtYWlsIGRpc3BvbmlibGUgIQoJCQkJCQkkc2VudHRvdXNlciA9IDA7CgkJCQkJCSRzdGF0dXMgPSAiRW1haWwgYWJzZW50IjsKCQkJCQkJJGFyID0gMDsKCQkJCQkJJGVtYWlsX2NvbnRhY3QgPSAicmllbiI7CgkJCQkJCSRhZGRfdG9fcmVjaXBpZW50cyA9ICRtZXNzX29wcy0+YWRkX21lc3NhZ2VzX3RvX3JlY2lwaWVudHMoJG1lc3NhZ2VfaWQsICRzZWxzLCAkZW1haWxfY29udGFjdCwkc2VudHRvdXNlciwkc3RhdHVzLCAkYXIpOwoJCQkJCQkKCQkJCQl9CgkJCQl9CgkJCX0KCQkJCQoJCQkJCgkJCQoJCQoJCX0KCQkkdGhpcy0+U2V0TWVzc2FnZSgnUsOpc3VsdGF0cyBkZXMgZW52b2lzIGRhbnMgbGUgbW9kdWxlIEFzc28gTWVzc2FnZXMnKTsKCQkkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdwcmVzJyk7Cgl9CgkKfQplbHNlCnsKCSR0aGlzLT5TZXRNZXNzYWdlKCdJbCBtYW5xdWUgdW4gcGFyYW3DqHRyZSAhJyk7CgkkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdwcmVzJyk7Cn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/action.presence.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKc2V0X3RpbWVfbGltaXQoMzAwKTsKaWYoIWlzc2V0KCRnQ21zKSkgZXhpdDsKLy9vbiB2w6lyaWZpZSBsZXMgcGVybWlzc2lvbnMKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1ByZXNlbmNlIHVzZScpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpKTsKCXJldHVybjsKfQokZGIgPSYgJHRoaXMtPkdldERiKCk7Cmdsb2JhbCAkdGhlbWVPYmplY3Q7CiRhdWpvdXJkaHVpID0gZGF0ZSgnWS1tLWQnKTsKJHByZXNfb3BzID0gbmV3IFQydF9wcmVzZW5jZTsKaWYoaXNzZXQoJHBhcmFtc1snb2JqJ10pICYmICRwYXJhbXNbJ29iaiddICE9ICcnKQp7Cgkkb2JqID0gJHBhcmFtc1snb2JqJ107Cn0KZWxzZQp7CgkvL3JlZGlyCn0Kc3dpdGNoKCRvYmopCnsKCS8vQWN0aXZlIG91IGTDqXNhY3RpdmUgdW5lIHByw6lzZW5jZQoJY2FzZSAiYWN0aXZhdGVfZGVzYWN0aXZhdGUiIDoKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCWlmKGlzc2V0KCRwYXJhbXNbJ3JlY29yZF9pZCddKSAmJiAkcGFyYW1zWydyZWNvcmRfaWQnXSAhPSAnJykKCQl7CgkJCSRyZWNvcmRfaWQgPSAkcGFyYW1zWydyZWNvcmRfaWQnXTsKCQl9CgkJaWYoaXNzZXQoJHBhcmFtc1snYWN0J10pICYmICRwYXJhbXNbJ2FjdCddICE9ICcnKQoJCXsKCQkJJGFjdCA9ICRwYXJhbXNbJ2FjdCddOwoJCQkKCQl9CgkJJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ByZXNlbmNlX3ByZXNlbmNlIFNFVCBhY3RpZiA9ID8gV0hFUkUgaWQgPSA/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkYWN0LCAkcmVjb3JkX2lkKSk7CgkJCgkJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigncHJlcycpOwoJYnJlYWs7CgkvL3N1cHByaW1lIGxhIHLDqXBvbnNlIGQndW4gYWRow6lyZW50CgljYXNlICJkZWxldGVfcmVwb25zZSIgOgoJCWlmKGlzc2V0KCRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10pICYmICRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10gIT0gJycpCgkJewoJCQkkaWRfcHJlc2VuY2UgPSAkcGFyYW1zWydpZF9wcmVzZW5jZSddOwoJCX0KCQlpZihpc3NldCgkcGFyYW1zWydnZW5pZCddKSAmJiAkcGFyYW1zWydnZW5pZCddICE9ICcnKQoJCXsKCQkJJGdlbmlkID0gJHBhcmFtc1snZ2VuaWQnXTsKCQl9CgkJCSRkZWxfcmVwID0gJHByZXNfb3BzLT5kZWxldGVfcmVwb25zZSgkaWRfcHJlc2VuY2UsICRnZW5pZCk7CgkJCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2FkbWluX3JlcG9uc2VzJywgJHJldHVybmlkLCBhcnJheSgicmVjb3JkX2lkIj0+JGlkX3ByZXNlbmNlKSk7CglicmVhazsKCQoJLy9zdXBwcmltZSBsYSByw6lwb25zZSBkJ3VuIGFkaMOpcmVudAoJY2FzZSAiZGVsZXRlX3ByZXNlbmNlIiA6CgkJaWYoaXNzZXQoJHBhcmFtc1snaWRfcHJlc2VuY2UnXSkgJiYgJHBhcmFtc1snaWRfcHJlc2VuY2UnXSAhPSAnJykKCQl7CgkJCSRpZF9wcmVzZW5jZSA9ICRwYXJhbXNbJ2lkX3ByZXNlbmNlJ107CgkJfQoJCWlmKGlzc2V0KCRwYXJhbXNbJ2dlbmlkJ10pICYmICRwYXJhbXNbJ2dlbmlkJ10gIT0gJycpCgkJewoJCQkkZ2VuaWQgPSAkcGFyYW1zWydnZW5pZCddOwoJCX0KCQkJJGRlbF9wcmVzID0gJHByZXNfb3BzLT5kZWxldGVfcHJlc2VuY2UoJGlkX3ByZXNlbmNlKTsKCQkJaWYodHJ1ZSA9PT0gJGRlbF9wcmVzKQoJCQl7CgkJCQkkZGVsX3JlcCA9ICRwcmVzX29wcy0+ZGVsZXRlX3VzZXJzX2luX3ByZXNlbmNlKCRpZF9wcmVzZW5jZSk7CgkJCX0KCQkJCgkJCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCk7CglicmVhazsKCQoJY2FzZSAicmVwb25zZSIgOgoJCgkJaWYoaXNzZXQoJHBhcmFtc1snaWRfcHJlc2VuY2UnXSkgJiYgJHBhcmFtc1snaWRfcHJlc2VuY2UnXSAhPSAnJykKCQl7CgkJCSRpZF9wcmVzZW5jZSA9ICRwYXJhbXNbJ2lkX3ByZXNlbmNlJ107CgkJfQoJCWlmKGlzc2V0KCRwYXJhbXNbJ2dlbmlkJ10pICYmICRwYXJhbXNbJ2dlbmlkJ10gIT0gJycpCgkJewoJCQkkZ2VuaWQgPSAkcGFyYW1zWydnZW5pZCddOwkJCQoJCX0KCQlpZihpc3NldCgkcGFyYW1zWydyZXBvbnNlJ10pICYmICRwYXJhbXNbJ3JlcG9uc2UnXSAhPSAnJykKCQl7CgkJCSRyZXBvbnNlID0gJHBhcmFtc1sncmVwb25zZSddOwkJCQoJCX0KCQkkZGVsX3JlcCA9ICRwcmVzX29wcy0+ZGVsZXRlX3JlcG9uc2UoJGlkX3ByZXNlbmNlLCAkZ2VuaWQpOwoJCWlmKHRydWUgPT09ICRkZWxfcmVwKQoJCXsKCQkJJGFkZF9yZXAgPSAkcHJlc19vcHMtPmFkZF9yZXBvbnNlKCRpZF9wcmVzZW5jZSwgJGdlbmlkLCAkcmVwb25zZSk7CgkJfQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdhZG1pbl9yZXBvbnNlcycsICRyZXR1cm5pZCwgYXJyYXkoInJlY29yZF9pZCI9PiRpZF9wcmVzZW5jZSkpOwoJCQoJCglicmVhazsKfQ==]]></data>
	</file>
	<file>
	  <filename>/bitly.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEBmaWxlCiAqIFNpbXBsZSBQSFAgbGlicmFyeSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgdjMgYml0Lmx5IGFwaSAob25seSBkZWFscyB3aXRoCiAqIEpTT04gZm9ybWF0LCBidXQgc3VwcG9ydHMgbmV3IE9BdXRoIGVuZHBvaW50cykuCiAqIFJFUVVJUkVNRU5UUzogUEhQLCBDdXJsLCBKU09OCiAqIAogKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRmFsaWNvbi9CaXRseVBIUAogKiBAYXV0aG9yIEtldmluIE1hcnNoYWxsIDxpbmZvQGZhbGljb24uY29tPgogKi8KLyoqCiAqIFRoZSBVUkkgb2YgdGhlIHN0YW5kYXJkIGJpdGx5IHYzIEFQSS4KICovCmRlZmluZSgnYml0bHlfYXBpJywgJ2h0dHA6Ly9hcGkuYml0Lmx5L3YzLycpOwovKioKICogVGhlIFVSSSBvZiB0aGUgYml0bHkgT0F1dGggZW5kcG9pbnRzLgogKi8KZGVmaW5lKCdiaXRseV9vYXV0aF9hcGknLCAnaHR0cHM6Ly9hcGktc3NsLmJpdC5seS92My8nKTsKLyoqCiAqIFRoZSBVUkkgZm9yIE9BdXRoIGFjY2VzcyB0b2tlbiByZXF1ZXN0cy4KICovCmRlZmluZSgnYml0bHlfb2F1dGhfYWNjZXNzX3Rva2VuJywgJ2h0dHBzOi8vYXBpLXNzbC5iaXQubHkvb2F1dGgvJyk7Ci8qKgogKiBSZXR1cm5zIGFuIE9BdXRoIGFjY2VzcyB0b2tlbiBhcyB3ZWxsIGFzIEFQSSB1c2VycyBmb3IgYSBnaXZlbiBjb2RlLgogKgogKiBAcGFyYW0gJGNvZGUKICogICBUaGUgT0F1dGggdmVyaWZpY2F0aW9uIGNvZGUgYWNxdWlyZWQgdmlhIE9BdXRo4oCZcyB3ZWIgYXV0aGVudGljYXRpb24KICogICBwcm90b2NvbC4KICogQHBhcmFtICRyZWRpcmVjdAogKiAgIFRoZSBwYWdlIHRvIHdoaWNoIGEgdXNlciB3YXMgcmVkaXJlY3RlZCB1cG9uIHN1Y2Nlc3NmdWxseSBhdXRoZW50aWNhdGluZy4KICogQHBhcmFtICRjbGllbnRfaWQKICogICBUaGUgY2xpZW50X2lkIGFzc2lnbmVkIHRvIHlvdXIgT0F1dGggYXBwLiAoaHR0cDovL2JpdC5seS9hL2FjY291bnQpCiAqIEBwYXJhbSAkY2xpZW50X3NlY3JldAogKiAgIFRoZSBjbGllbnRfc2VjcmV0IGFzc2lnbmVkIHRvIHlvdXIgT0F1dGggYXBwLiAoaHR0cDovL2JpdC5seS9hL2FjY291bnQpCiAqCiAqIEByZXR1cm4KICogICBBbiBhc3NvY2lhdGl2ZSBhcnJheSBjb250YWluaW5nOgogKiAgIC0gbG9naW46IFRoZSBjb3JyZXNwb25kaW5nIGJpdC5seSB1c2VycyB1c2VybmFtZS4KICogICAtIGFwaV9rZXk6IFRoZSBjb3JyZXNwb25kaW5nIGJpdC5seSB1c2VycyBBUEkga2V5LgogKiAgIC0gYWNjZXNzX3Rva2VuOiBUaGUgT0F1dGggYWNjZXNzIHRva2VuIGZvciBzcGVjaWZpZWQgdXNlci4KICoKICogQHNlZSBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvYml0bHktYXBpL3dpa2kvQXBpRG9jdW1lbnRhdGlvbiMvb2F1dGgvYWNjZXNzX3Rva2VuCiAqLwpmdW5jdGlvbiBiaXRseV9vYXV0aF9hY2Nlc3NfdG9rZW4oJGNvZGUsICRyZWRpcmVjdCwgJGNsaWVudF9pZCwgJGNsaWVudF9zZWNyZXQpIHsKICAkcmVzdWx0cyA9IGFycmF5KCk7CiAgJHVybCA9IGJpdGx5X29hdXRoX2FjY2Vzc190b2tlbiAuICJhY2Nlc3NfdG9rZW4iOwogICRwYXJhbXMgPSBhcnJheSgpOwogICRwYXJhbXNbJ2NsaWVudF9pZCddID0gJGNsaWVudF9pZDsKICAkcGFyYW1zWydjbGllbnRfc2VjcmV0J10gPSAkY2xpZW50X3NlY3JldDsKICAkcGFyYW1zWydjb2RlJ10gPSAkY29kZTsKICAkcGFyYW1zWydyZWRpcmVjdF91cmknXSA9ICRyZWRpcmVjdDsKICAkb3V0cHV0ID0gYml0bHlfcG9zdF9jdXJsKCR1cmwsICRwYXJhbXMpOwogICRwYXJ0cyA9IGV4cGxvZGUoJyYnLCAkb3V0cHV0KTsKICBmb3JlYWNoICgkcGFydHMgYXMgJHBhcnQpIHsKICAgICRiaXRzID0gZXhwbG9kZSgnPScsICRwYXJ0KTsKICAgICRyZXN1bHRzWyRiaXRzWzBdXSA9ICRiaXRzWzFdOwogIH0KICByZXR1cm4gJHJlc3VsdHM7Cn0KLyoqCiAqIFJldHVybnMgYW4gT0F1dGggYWNjZXNzIHRva2VuIHZpYSB0aGUgdXNlcidzIGJpdC5seSBsb2dpbiBVc2VybmFtZSBhbmQgUGFzc3dvcmQKICoKICogQHBhcmFtICR1c2VybmFtZQogKiAgIFRoZSB1c2VyJ3MgQml0bHkgdXNlcm5hbWUKICogQHBhcmFtICRwYXNzd29yZAogKiAgIFRoZSB1c2VyJ3MgQml0bHkgcGFzc3dvcmQKICogQHBhcmFtICRjbGllbnRfaWQKICogICBUaGUgY2xpZW50X2lkIGFzc2lnbmVkIHRvIHlvdXIgT0F1dGggYXBwLiAoaHR0cDovL2JpdC5seS9hL2FjY291bnQpCiAqIEBwYXJhbSAkY2xpZW50X3NlY3JldAogKiAgIFRoZSBjbGllbnRfc2VjcmV0IGFzc2lnbmVkIHRvIHlvdXIgT0F1dGggYXBwLiAoaHR0cDovL2JpdC5seS9hL2FjY291bnQpCiAqCiAqIEByZXR1cm4KICogICBBbiBhc3NvY2lhdGl2ZSBhcnJheSBjb250YWluaW5nOgogKiAgIC0gYWNjZXNzX3Rva2VuOiBUaGUgT0F1dGggYWNjZXNzIHRva2VuIGZvciBzcGVjaWZpZWQgdXNlci4KICoKICovCiAKZnVuY3Rpb24gYml0bHlfb2F1dGhfYWNjZXNzX3Rva2VuX3ZpYV9wYXNzd29yZCgkdXNlcm5hbWUsICRwYXNzd29yZCwgJGNsaWVudF9pZCwgJGNsaWVudF9zZWNyZXQpIHsKICAkcmVzdWx0cyA9IGFycmF5KCk7CiAgJHVybCA9IGJpdGx5X29hdXRoX2FjY2Vzc190b2tlbiAuICJhY2Nlc3NfdG9rZW4iOwogIAogICRoZWFkZXJzID0gYXJyYXkoKTsKICAkaGVhZGVyc1tdID0gJ0F1dGhvcml6YXRpb246IEJhc2ljICcuYmFzZTY0X2VuY29kZSgkY2xpZW50X2lkIC4gIjoiIC4gJGNsaWVudF9zZWNyZXQpOwogICAgCiAgJHBhcmFtcyA9IGFycmF5KCk7CiAgJHBhcmFtc1snZ3JhbnRfdHlwZSddID0gInBhc3N3b3JkIjsKICAkcGFyYW1zWyd1c2VybmFtZSddID0gJHVzZXJuYW1lOwogICRwYXJhbXNbJ3Bhc3N3b3JkJ10gPSAkcGFzc3dvcmQ7CiAgCiAgJG91dHB1dCA9IGJpdGx5X3Bvc3RfY3VybCgkdXJsLCAkcGFyYW1zLCAkaGVhZGVycyk7CiAgCiAgJGRlY29kZWRfb3V0cHV0ID0ganNvbl9kZWNvZGUoJG91dHB1dCwxKTsKICAkcmVzdWx0cyA9IGFycmF5KAogIAkiYWNjZXNzX3Rva2VuIiA9PiAkZGVjb2RlZF9vdXRwdXRbJ2FjY2Vzc190b2tlbiddCiAgKTsKICAKICByZXR1cm4gJHJlc3VsdHM7Cn0KLyoqCiAqIEZvcm1hdCBhIEdFVCBjYWxsIHRvIHRoZSBiaXQubHkgQVBJLgogKgogKiBAcGFyYW0gJGVuZHBvaW50CiAqICAgYml0Lmx5IEFQSSBlbmRwb2ludCB0byBjYWxsLgogKiBAcGFyYW0gJHBhcmFtcwogKiAgIGFzc29jaWF0aXZlIGFycmF5IG9mIHBhcmFtcyByZWxhdGVkIHRvIHRoaXMgY2FsbC4KICogQHBhcmFtICRjb21wbGV4CiAqICAgc2V0IHRvIHRydWUgaWYgcGFyYW1zIGluY2x1ZGVzIGFzc29jaWF0aXZlIGFycmF5cyBpdHNlbGYgKG9yIHVzaW5nIDxwaHA1KQogKgogKiBAcmV0dXJuCiAqICAgYXNzb2NpYXRpdmUgYXJyYXkgb2YgYml0Lmx5IHJlc3BvbnNlCiAqCiAqIEBzZWUgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2JpdGx5LWFwaS93aWtpL0FwaURvY3VtZW50YXRpb24jL3YzL3ZhbGlkYXRlCiAqLwpmdW5jdGlvbiBiaXRseV9nZXQoJGVuZHBvaW50LCAkcGFyYW1zLCAkY29tcGxleD1mYWxzZSkgewogICRyZXN1bHQgPSBhcnJheSgpOwogIGlmICgkY29tcGxleCkgewogICAgJHVybF9wYXJhbXMgPSAiIjsKICAgIGZvcmVhY2ggKCRwYXJhbXMgYXMgJGtleSA9PiAkdmFsKSB7CiAgICAgIGlmIChpc19hcnJheSgkdmFsKSkgewogICAgICAgIC8vIHdlIG5lZWQgdG8gZmxhdHRlbiB0aGlzIGludG8gb25lIHByb3BlciBjb21tYW5kCiAgICAgICAgJHJlY3MgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCR2YWwgYXMgJHJlYykgewogICAgICAgICAgJHRtcCA9IGV4cGxvZGUoJy8nLCAkcmVjKTsKICAgICAgICAgICR0bXAgPSBhcnJheV9yZXZlcnNlKCR0bXApOwogICAgICAgICAgYXJyYXlfcHVzaCgkcmVjcywgJHRtcFswXSk7CiAgICAgICAgfQogICAgICAgICR2YWwgPSBpbXBsb2RlKCcmJyAuICRrZXkgLiAnPScsICRyZWNzKTsKICAgICAgfQogICAgICAkdXJsX3BhcmFtcyAuPSAnJicgLiAka2V5IC4gIj0iIC4gJHZhbDsKICAgIH0KICAgICR1cmwgPSBiaXRseV9vYXV0aF9hcGkgLiAkZW5kcG9pbnQgLiAiPyIgLiBzdWJzdHIoJHVybF9wYXJhbXMsIDEpOwogIH0gZWxzZSB7CiAgICAkdXJsID0gYml0bHlfb2F1dGhfYXBpIC4gJGVuZHBvaW50IC4gIj8iIC4gaHR0cF9idWlsZF9xdWVyeSgkcGFyYW1zKTsKICB9CiAgLy9lY2hvICR1cmwgLiAiXG4iOwogICRyZXN1bHQgPSBqc29uX2RlY29kZShiaXRseV9nZXRfY3VybCgkdXJsKSwgdHJ1ZSk7CiAgcmV0dXJuICRyZXN1bHQ7Cn0KLyoqCiAqIEZvcm1hdCBhIFBPU1QgY2FsbCB0byB0aGUgYml0Lmx5IEFQSS4KICoKICogQHBhcmFtICR1cmkKICogICBVUkkgdG8gY2FsbC4KICogQHBhcmFtICRmaWVsZHMKICogICBBcnJheSBvZiBmaWVsZHMgdG8gc2VuZC4KICovCmZ1bmN0aW9uIGJpdGx5X3Bvc3QoJGVuZHBvaW50LCAkcGFyYW1zKSB7CiAgJHJlc3VsdCA9IGFycmF5KCk7CiAgJHVybCA9IGJpdGx5X29hdXRoX2FwaSAuICRhcGlfZW5kcG9pbnQ7CiAgJG91dHB1dCA9IGpzb25fZGVjb2RlKGJpdGx5X3Bvc3RfY3VybCgkdXJsLCAkcGFyYW1zKSwgdHJ1ZSk7CiAgJHJlc3VsdCA9ICRvdXRwdXRbJ2RhdGEnXVtzdHJfcmVwbGFjZSgnLycsICdfJywgJGFwaV9lbmRwb2ludCldOwogICRyZXN1bHRbJ3N0YXR1c19jb2RlJ10gPSAkb3V0cHV0WydzdGF0dXNfY29kZSddOwogIHJldHVybiAkcmVzdWx0Owp9Ci8qKgogKiBNYWtlIGEgR0VUIGNhbGwgdG8gdGhlIGJpdC5seSBBUEkuCiAqCiAqIEBwYXJhbSAkdXJpCiAqICAgVVJJIHRvIGNhbGwuCiAqLwpmdW5jdGlvbiBiaXRseV9nZXRfY3VybCgkdXJpKSB7CiAgJG91dHB1dCA9ICIiOwogIHRyeSB7CiAgICAkY2ggPSBjdXJsX2luaXQoJHVyaSk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCA0KTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMik7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgRkFMU0UpOwogICAgJG91dHB1dCA9IGN1cmxfZXhlYygkY2gpOwogIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewogIH0KICByZXR1cm4gJG91dHB1dDsKfQovKioKICogTWFrZSBhIFBPU1QgY2FsbCB0byB0aGUgYml0Lmx5IEFQSS4KICoKICogQHBhcmFtICR1cmkKICogICBVUkkgdG8gY2FsbC4KICogQHBhcmFtICRmaWVsZHMKICogICBBcnJheSBvZiBmaWVsZHMgdG8gc2VuZC4KICovCmZ1bmN0aW9uIGJpdGx5X3Bvc3RfY3VybCgkdXJpLCAkZmllbGRzLCAkaGVhZGVyX2FycmF5ID0gYXJyYXkoKSkgewogICRvdXRwdXQgPSAiIjsKICAkZmllbGRzX3N0cmluZyA9ICIiOwogIGZvcmVhY2goJGZpZWxkcyBhcyAka2V5PT4kdmFsdWUpIHsgJGZpZWxkc19zdHJpbmcgLj0gJGtleS4nPScudXJsZW5jb2RlKCR2YWx1ZSkuJyYnOyB9CiAgcnRyaW0oJGZpZWxkc19zdHJpbmcsJyYnKTsKICB0cnkgewogICAgJGNoID0gY3VybF9pbml0KCR1cmkpOwogICAgCiAgICBpZihpc19hcnJheSgkaGVhZGVyX2FycmF5KSAmJiAhZW1wdHkoJGhlYWRlcl9hcnJheSkpewogICAgCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IVFRQSEVBREVSLCAkaGVhZGVyX2FycmF5KTsKICAgIH0KICAgIAogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUiwgMCk7CiAgICBjdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9QT1NULGNvdW50KCRmaWVsZHMpKTsKICAgIGN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1BPU1RGSUVMRFMsJGZpZWxkc19zdHJpbmcpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1RJTUVPVVQsIDIpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAyKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMSk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBGQUxTRSk7CiAgICAkb3V0cHV0ID0gY3VybF9leGVjKCRjaCk7CiAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgfQogIHJldHVybiAkb3V0cHV0Owp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/email-16.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABTklEQVQ4jY3Sv2pUcRDF8c9dlkUsJEiw8wXEwkJ8ABErGyEIkZhS8gRiJ0sKC2vLIFYignaCiFhYG7GxsFBBRBDRYtXFfzkWO1eXy8abX3NhZs53zsydxoIXBjiJ4/iC+w2vFtUuEp8Iz0PC6/A5/A5b4WCfeCN8D4/C0YoNw/nwvoDHFgmFzeq6WSN0aw6Fx2ESznTF18rmxR6Ho3Aj/AwbbfBqBdb6N/S34bjcjpWlJ2G0F0BB9oVnYTIwm3cHD8PyHsTLeGD2e4fDAlzHL7Ptr2IJZzvae/iE2xhjiJvDNttwN7zBnYJewY9Kj7BVTi80bIcVRVEJ+Fix1YbtjvWXuIUP3Zmm4Vw4EJ6G0/+Z/1TVLIWVMG0B63V967tu7x9kra1tAV/Du3C5TzwHuVSnPW3CBPvxYm4XO7toB3PfI/jW1Eke7hT0vbbB2z9IEphx0gfrvwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/sms2.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABeElEQVQ4jY3TP0jVURQH8M/98XiEODweIiIhEWLSEA4OERIRIhgO4txWay0hLe7RGE5SDUVbNDoF0SSETk0qDdLgIA4PeUOIvONw70N9PepduPx+3PP9c8655yZ9VuTPaNlwhKPUB3vlLLiBWZzioBCrIjSBOnZSjv3l+jCY6ZdRD242WOg9nA+a/yNfwo92RVJwE/XE7qACReQOTiq57uNgLXgeVMFycO8SeDp4XP4fBa9Qw6RgLlgPZoLbQS34UnZXYCPYDJrB52A4mAoeVPiDH3iJduIMHWzjbjCOVsG1MYIl/CJfkcQnvMaHYLoYf8QTPMX7gjvFoiz6FmcVhgrpJ77iOjqJQwzjVmIfncjuDbzDGOo1eTim8Ax7+FZE4E1pFmzK5b3AEFYxJpgYZIB6V2n6eJX4jUZcuA5CbqKROOw28bucyVz8myi4L7+NFhf1SWyVJq1ErrWN4xIewTX51rbkpi8Gu/1eaNetJqfaQavMR2+8fg5wzHaKXJv0+wAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAGUAeAB0ZHNjbGJvb2wBAAAAAAAAAAACAAAAAAAAAAEAAAABAAAQAGNsYm9vbAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1QyVCBQcsOpc2VuY2UnOwoKCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NlIG1vZHVsZSBnw6hyZSBsZXMgYWJzZW5jZXMvcHLDqXNlbmNlcy4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+QmllbnZlbnVlIGRhbnMgbGUgbW9kdWxlIFByw6lzZW5jZTwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPgo8bGk+VmVyc2lvbiAwLjFiZXRhMywgTm92IDIwMTQgU2MgQW3DqWxpb3JhdGlvbnMgZHUgZnJvbnQtb2ZmaWNlIGV0IGTDqWJvZ3VhZ2UgZHUgYmFjazwvbGk+Cjx1bD4KICAgPGxpPk1pc2UgbmUgcGxhY2UgZHUgZnJvbnQtb2ZmaWNlLjwvbGk+CiAgIDxsaT5BbcOpbGlvcmF0aW9ucyBkdSBiYWNrLW9mZmljZSBldCBjb3JyZWN0aW9ucyBkZSBidWdzLjwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPgo8cD5DZSBtb2R1bGUgcsOpY3Vww6hyZSBsZXMgcsOpc3VsdGF0cyBkZSB2b3RyZSBjbHViIGV0IHLDqWFsaXNlIGRlcyB0cmFpdGVtZW50cyBhZmluIGRlIGxlcyBkaXNwb3NlciBzdXIgdm90cmUgc2l0ZSBpbnRlcm5ldC48L3A+CjxoMz5Db21tZW50IGxcJ3V0aWxpc2VyID88L2gzPgo8cD5MZSB0YWcgcGFyIGTDqWZhdXQgZXN0IGNlbHVpLWNpIHtjbXNfbW9kdWxlIG1vZHVsZT1cJ1BpbmdcJ308L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHVsPgo8bGk+UG91ciBvYnRlbmlyIGxhIGRlcm5pw6hyZSB2ZXJzaW9uIG9mZmljaWVsbGUsIEZBUXMsIG91IHBvdXIgc2lnbmFsZXIgdW4gYnVnLCBmYWlyZSB1bmUgZGVtYW5kZSBkXCdhbcOpbGlvcmF0aW9ucywgbWVyY2kgZGUgY29uc3VsdGVyIGxhIGZvcmdlIGR1IG1vZHVsZSDDoCBjZXR0ZSBhZHJlc3NlIDogCjxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvcGluZy8iPlBpbmc8L2E+LjwvbGk+CjwvdWw+CjxwPkNlIG1vZHVsZSBlc3QgZm91cm5pIHNvdXMgbGljZW5jZSBHUEwgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LlBvdXIgdXRpbGlzZXIgbGUgbG9naWNpZWwsIHZvdXMgZGV2ZXogZW4gIGFjY2VwdGVyIGxlcyB0ZXJtZXM8L3A+Cgo8aDM+Q29weXJpZ2h0IGV0IExpY2VuY2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTQsIENsYXVkZSBTaW9oYW4gPGEgaHJlZj0ibWFpbHRvOmNsYXVkZUBhZ2ktd2ViY29uc2VpbC5mciI+Y2xhdWRlQGFnaS13ZWJjb25zZWlsLmZyPC9hPi4gVG91cyBkcm9pdHMgcsOpc2VydsOpcy48L3A+Cic7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Fzc28gUHLDqXNlbmNlcyc7CiRsYW5nWydyZXN1bHRzZm91bmR0ZXh0J10gPSAnUsOpc3VsdGF0cyB0cm91dsOpcyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0dlc3Rpb24gZGVzIHByw6lzZW50cy9hYnNlbnRzLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5CaWVudmVudWUgZGFucyBsZSBtb2R1bGUgZGUgZ2VzdGlvbiBkZXMgcHLDqXNlbmNlczwvcD4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNZXJjaSBkXCdhdm9pciBpbnN0YWxsZXIgY2UgbW9kdWxlLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWxlIGTDqXNpbnN0YWxsw6kuJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdFdGVzLXZvdXMgY2VydGFpbiBkZSB2b3Vsb2lyIGTDqXNpbnN0YWxsZXIgY2UgbW9kdWxlID8nOwokbGFuZ1snZmFsc2UnXSA9ICdGYXV4JzsKJGxhbmdbJ3RydWUnXSA9ICdWcmFpJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1N1cHByaW1lcic7CiRsYW5nWydlZGl0J10gPSAnTW9kaWZpZXInOwokbGFuZ1snYWRkJ10gPSAnQWpvdXRlciAnOwokbGFuZ1snc3VibWl0J10gPSAnRW52b3llcic7CiRsYW5nWydzdWJtaXRhc25ldyddID0gJ0Fqb3V0ZXIgZW4gdGFudCBxdWUgbm91dmVsbGUgw6lxdWlwZSc7CiRsYW5nWydzdWJtaXRhbGwnXSA9ICdUb3V0IHPDqWxlY3Rpb25uZXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlcic7CiRsYW5nWyd2aWV3J10gPSAnVm9pcic7CiRsYW5nWyduZXcnXSA9ICdOb3V2ZWF1JzsKJGxhbmdbJ3NlbmQnXSA9ICdFbnZvaSBlbWFpbCc7CiRsYW5nWydjb3B5J10gPSAnRHVwbGlxdWVyJzsKJGxhbmdbJ2ZpbHRyZXMnXSA9ICdGaWx0cmV6ICEnOwokbGFuZ1snZ3JvdXBhc3NpZ24nXSA9ICdDcsOpZXIgdW5lIGxpc3RlJzsKJGxhbmdbJ2FwcGx5X3RvX3NlbGVjdGlvbiddID0gJ0FwcGxpcXVlciDDoCBsYSBzw6lsZWN0aW9uJzsKJGxhbmdbJ2FyZXlvdXN1cmVfYWN0aW9ubXVsdGlwbGUnXSA9ICdFdGVzLXZvdXMgY2VydGFpbiA/JzsKJGxhbmdbJ25vbV9jb3VydCddID0gJ0Rvbm5leiB1biBub20gY291cnQgZXgoTjEsIEQyKWV0IGlkZW50aWZpZXogcmFwaWRlbWVudCB2b3Mgw6lxdWlwZXMnOwokbGFuZ1snbmJfam91ZXVycyddID0gJ0luZGlxdWV6IGxlIG5vbWJyZSBkZSBqb3VldXJzIHBvdXIgY2V0dGUgw6lxdWlwZSc7CiRsYW5nWydjbHRfbWluaSddID0gJ0luZGlxdWV6IGxlIGNsYXNzZW1lbnQgbWluaW11bSByZXF1aXMgZW4gcG9pbnRzIHBvdXIgcG91dm9pciBqb3VlciBkYW5zIGNldHRlIMOpcXVpcGUuIDAgcGFyIGTDqWZhdXQnOwokbGFuZ1sncG9pbnRzX21heGknXSA9ICdJbmRpcXVleiBsZSB0b3RhbCBkZXMgcG9pbnRzIG1heGltdW0gcXVlIGNldHRlIMOpcXVpcGUgbmUgZG9pdCBwYXMgZMOpcGFzc2VyLiAwIHBhciBkw6lmYXV0JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPgo8cD5DZSBtb2R1bGUgdm91cyBwZXJtZXQgZGUgZ8OpcmVyIGxlcyBhYnNlbmNlcy9wcsOpc2VuY2VzIHBvdXIgdW5lIG1hbmlmZXN0YXRpb24sIHLDqXVuaW9uLCByZW5jb250cmVzIHNwb3J0aXZlcywgZW50cmFpbmVtZW50cyxldGMuLjxiciAvPgpEYW5zIGNldHRlIHZlcnNpb24sIHZvdXMgY3LDqWVyIHZvdHJlIHF1ZXN0aW9uIGV0IGxcJ2Vudm9pIHNlIGZhaXQgcGFyIG1haWwgZXQgL291IHBhciBTTVMuIERhbnMgZGVzIHZlcnNpb25zIHVsdMOpcmlldXJlcywgaWwgZXN0IHByw6l2dSBkaWZmw6lyZW50cyB0eXBlcyBkXCdlbnZvaXMgKGV4IDogbWVzc2VuZ2VyKS48L3A+CjxwPlBvdXIgZ8OpcmVyIGxlcyByw6lwb25zZXMsIHV0aWxpc2V6IGxlIHRhZyBzdWl2YW50IGRhbnMgdW5lIGRlIHZvcyBwYWdlcyB7Y21zX21vZHVsZSBtb2R1bGU9UHJlc2VuY2V9IGV0IGRlIHJlbnNlaWduZXIgY2V0IGFsaWFzIGRhbnMgbFwnb25nbGV0ICJOb3RpZmljYXRpb25zIikgPC9wPgo8aDM+UGFyYW3DqHRyZXMgQml0bHk8L2gzPgo8cD5CaXRseSBlc3QgdW4gc2VydmljZSB0aWVycyBxdWkgcGVybWV0ICwgZW50cmUgYXV0cmVzIGRlIHJhY2NvdXJjaXIgdm9zIHVybHMsIGNlIHF1aSBlc3QgdHLDqHMgdXRpbGUgcG91ciB0d2l0dGVyIGV0IGJpZW4gZW50ZW5kdSBwb3VyIGxlcyBTTVM8L3A+PHA+SWwgdm91cyBmYXVkcmEgY3LDqWVyIHVuIGNvbXB0ZSBiaXRseSAoPGEgaHJlZj0iaHR0cHM6Ly9hcHAuYml0bHkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPmJpdC5seTwvYT4pIHBvdXIgcG91dm9pciByYWNjb3VyY2lyIGxlcyB1cmxzIGRhbnMgdm9zIFNNUyBldCBuZSBwYXMgZMOpcGFzc2VyIGxlcyAxNjAgY2FyYWN0w6hyZXM8L3A+IDx1bD4KPGxpPlBvdXIgb2J0ZW5pciBsYSBkZXJuacOocmUgdmVyc2lvbiBlbiBjb3VycyAoYXZhbnQgcmVsZWFzZSBvZmZpY2llbGxlKQo8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2lvaGFuL3ByZXNlbmNlIj5WZXJzaW9uIGdpdGh1YjwvYT4uPC9saT4KPGxpPkxcJ2F1dGV1ciBwZXV0IGF1c3NpIMOqdHJlIGNvbnRhY3TDqSB2aWEgc2t5cGUgc291cyBsZSBwc2V1ZG8gYWdpd2ViY29uc2VpbC48L2xpPgo8bGk+RW5maW4sIHZvdXMgcG91dmV6IGF1c3NpIG1cJ2Vudm95ZXIgdW4gbWFpbC48L2xpPiAgCjwvdWw+CjxwPkVuIHRhbnQgcXVlIGxpY2VuY2UgR1BMLCBjZSBtb2R1bGUgZXN0IGxpdnLDqSB0ZWwgcXVlbC4gTWVyY2kgZGUgbGlyZSBsZSB0ZXh0ZSBjb21wbGV0IGRlIGxhIGxpY2Vuc2UgcG91ciB1bmUgaW5mb3JtYXRpb24gY29tcGzDqnRlLjwvcD4KPGgzPlJlbWVyY2llbWVudHM8L2gzPgo8cD5NZXJjaSDDoCBtYSBmZW1tZSBldCDDoCBtZXMgZW5mYW50cyBwb3VyIGxldXIgc291dGllbiB0b3Vqb3VycyBpbmTDqWZlY3RpYmxlLjwvcD4KPHA+VW4gcmVtZXJjaWVtZW50IHRvdXQgcGFydGljdWxpZXIgw6AgbW9uIGFtaSBFcmljIFBvbmNoYW50KGVyaWNmcmVlbGFuY2UpIHBvdXIgc29uIHNvdXRpZW4sIHNhIGJpZW52ZWlsbGFuY2UsIHNhIHBhdGllbmNlLCBzZXMgY29uc2VpbHMgdG91am91cnMgYXZpc8OpcyBldCBzb24gZXhwZXJ0aXNlIHBvdXIgbVwnYWlkZXIgw6AgY2hhcXVlIGZvaXMgw6AgbWUgc29ydGlyIGRlIGxcJ29ybmnDqHJlLi48L3A+CjxoMz5Db3B5cmlnaHQgZXQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMTQsIENsYXVkZSBTaW9oYW4gPGEgaHJlZj0ibWFpbHRvOmNsYXVkZS5zaW9oYW5AZ21haWwuY29tIj5jbGF1ZGUuc2lvaGFuQGdtYWlsLmNvbTwvYT4uIFRvdXMgZHJvaXRzIHLDqXNlcnbDqXMuPC9wPgo8cD5DZSBtb2R1bGUgZXN0IHNvdXMgbGljZW5jZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFZvdXMgZGV2ZXogYWNjZXB0ZXIgbGEgbGljZW5jZSBhdmFudCBkXCd1dGlsaXNlciBjZSBtb2R1bGUuPC9wPgo8cD5DZSBtb2R1bGUgYSDDqXTDqSBkaXN0cmlidcOpIGRhbnMgbFwnZXNwb2lyIGRcJ8OqdHJlIHV0aWxlLCBtYWlzIHNhbnMKQVVDVU5FIEdBUkFOVElFLiBJbCB2b3VzIGFwcGFydGllbnQgZGUgbGUgdGVzdGVyIGF2YW50IHRvdXRlIG1pc2UgZW4KcHJvZHVjdGlvbiwgcXVlIGNlIHNvaXQgZGFucyBsZSBjYWRyZSBkXCd1bmUgbm91dmVsbGUgaW5zdGFsbGF0aW9uIG91CmRcJ3VuZSBtaXNlIMOgIGpvdXIgZHUgbW9kdWxlLiBMXCdhdXRldXIgZHUgbW9kdWxlIG5lIHBvdXJyYWl0IMOqdHJlIHRlbnUKcG91ciByZXNwb25zYWJsZSBkZSB0b3V0IGR5c2ZvbmN0aW9ubmVtZW50IGR1IHNpdGUgcHJvdmVuYW50IGRlIGNlCm1vZHVsZS4gUG91ciBwbHVzIGRcJ2luZm9ybWF0aW9ucywgPGEKaHJlZj1cImh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTFwiIHRhcmdldD1cIl9ibGFua1wiPmNvbnN1bHRlegpsYSBsaWNlbmNlIEdOVSBHUEw8L2E+LjwvcD4KJzsKCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/lib/class.bitly.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEJpdGx5IEFQSSBDbGllbnQuCiAqCiAqIExJQ0VOU0U6IEFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlIHYyLjAsIHNlZSBMSUNFTlNFCiAqCiAqIEBwYWNrYWdlICAgIEJpdGx5CiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoYykgMjAxMyBCaXRseSBJbmMuCiAqIEBsaWNlbnNlICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKiBAdmVyc2lvbiAgICAwLjEuMAogKiBAbGluayAgICAgICBodHRwczovL2dpdGh1Yi5jb20vYml0bHkvYml0bHktYXBpLXBocAogKi8KCi8qKgogKiBCYXNlIGNsYXNzIGZvciBCaXRseSBjbGllbnQgZXJyb3JzLgogKi8KY2xhc3MgQml0bHlFcnJvciBleHRlbmRzIEV4Y2VwdGlvbgp7fQoKCi8qKgogKiBSYWlzZWQgd2hlbiBjb21tdW5pY2F0aW5nIHdpdGggdGhlIEFQSSByZXN1bHRzIGluIGFuIGVycm9yLgogKi8KY2xhc3MgQml0bHlBUElFcnJvciBleHRlbmRzIEJpdGx5RXJyb3IKe30KCi8qKgogKiBCdWlsZCBhIHF1ZXJ5IHN0cmluZyBmcm9tIGFuIGFycmF5IG9mIHBhcmFtID0+IHZhbHVlcy4gSGFuZGxlCiAqIG11bHRpcGxlIHZhbHVlcyBjb3JyZWN0bHkuCiAqCiAqIFBIUCdzIGJ1aWx0LWluIGh0dHBfYnVpbGRfcXVlcnkgZG9lcyB0aGUgaW5zYW5lIHRoaW5nIG9mIGNvbnZlcnRpbmcKICogcGFyYW0gbmFtZXMgd2hlbiBnaXZlbiBhbiBhcnJheSB2YWx1ZSwgd2hpY2ggaXMgb25seSBjb3JyZWN0IGZvciBQSFAKICogc2VydmVycy4gVGhpcyBidWlsZHMgY29ycmVjdCBxdWVyeSBzdHJpbmdzIGdpdmVuIGEgc21hbGxlciBzZXQgb2YKICogYWxsb3dhYmxlIGlucHV0cy4gT25seSBvbmUgbGV2ZWwgb2YgbmVzdGluZyBpcyBPSywgZS5nLjoKICoKICogICAgICRkYXRhID0gYXJyYXkoCiAqICAgICAgICAgJ2ZvbycgPT4gJ0ZPTycsCiAqICAgICAgICAgJ2JhcicgPT4gYXJyYXkoJzEnLCAnMicsICczJykKICogICAgICk7CiAqICAgICBlY2hvIGJ1aWxkX3BhcmFtcygkZGF0YSk7CiAqICAgICAvLyBmb289Rk9PJmJhcj0xJmJhcj0yJmJhcj0zCiAqCiAqIEBpbnRlcm5hbAogKgogKiBAcGFyYW0gYXJyYXkgJHBhcmFtcwogKgogKiBAcmV0dXJuIHN0cmluZwogKi8KZnVuY3Rpb24gYnVpbGRfcXVlcnkoQXJyYXkgJHBhcmFtcykgewogICAgJHJldCA9IGFycmF5KCk7CiAgICAkZm10ID0gJyVzPSVzJzsKICAgICRzZXBhcmF0b3IgPSAnJic7CiAgICBmb3JlYWNoICgkcGFyYW1zIGFzICRrID0+ICR2KSB7CiAgICAgICAgaWYgKGlzX2FycmF5KCR2KSkgewogICAgICAgICAgICBmb3JlYWNoICgkdiBhcyAkX3YpIHsKICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJHJldCwgc3ByaW50ZigkZm10LCAkaywgdXJsZW5jb2RlKCRfdikpKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFycmF5X3B1c2goJHJldCwgc3ByaW50ZigkZm10LCAkaywgdXJsZW5jb2RlKCR2KSkpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBpbXBsb2RlKCRzZXBhcmF0b3IsICRyZXQpOwp9CgoKLyoqCiAqIEEgcG9zc2libHktYXV0aGVudGljYXRlZCBjb25uZWN0aW9uIHRvIHRoZSBCaXRseSBBUEkuCiAqLwpjbGFzcyBCaXRseQp7CiAgICAvKioKICAgICAqIFRoZSBhcHBsaWNhdGlvbidzIE9BdXRoMiBjbGllbnQgSUQuCiAgICAgKgogICAgICogQHR5cGUgc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljICRjbGllbnRJZCA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgYXBwbGljYXRpb24ncyBPQXV0aDIgY2xpZW50IHNlY3JldC4KICAgICAqCiAgICAgKiBAdHlwZSBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgJGNsaWVudFNlY3JldCA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgdXNlciBvciBhcHBsaWNhdGlvbidzIE9BdXRoMiBhY2Nlc3MgdG9rZW4uCiAgICAgKgogICAgICogQHR5cGUgc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljICRhY2Nlc3NUb2tlbiA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgQVBJIGhvc3RuYW1lLgogICAgICoKICAgICAqIEB0eXBlIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJGFwaVVybCA9ICdodHRwczovL2FwaS1zc2wuYml0bHkuY29tLyc7CgogICAgLyoqCiAgICAgKiBUaGUgYXBwbGljYXRpb24ncyB1c2VyIGFnZW50LgogICAgICoKICAgICAqIEB0eXBlIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyAkdXNlckFnZW50ID0gbnVsbDsKCiAgICAvKioKICAgICAqIFRpbWVvdXQgZm9yIGNvbW11bmljYXRpbmcgd2l0aCBCaXRseS4KICAgICAqCiAgICAgKiBAdHlwZSBpbnQKICAgICAqLwogICAgcHVibGljICR0aW1lb3V0ID0gNDsKCiAgICAvKioKICAgICAqIFRpbWVvdXQgZm9yIGNvbm5lY3RpbmcgdG8gQml0bHkuCiAgICAgKgogICAgICogQHR5cGUgaW50CiAgICAgKi8KICAgIHB1YmxpYyAkY29ubmVjdFRpbWVvdXQgPSAyOwoKICAgIC8qKgogICAgICogQHZhciBib29sCiAgICAgKi8KICAgIHByaXZhdGUgJGlzSVB2NkRpc2FibGVkID0gZmFsc2U7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBuZXcgQml0bHkgQVBJIGNsaWVudCB3aXRoIHRoZSBnaXZlbiBjcmVkZW50aWFscy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjbGllbnRJZAogICAgICogIChPcHRpb25hbCkgVGhlIGFwcGxpY2F0aW9uJ3MgcmVnaXN0ZXJlZCBCaXRseSBjbGllbnQgSUQuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjbGllbnRTZWNyZXQKICAgICAqICAoT3B0aW9uYWwpIFRoZSBhcHBsaWNhdGlvbidzIHJlZ2lzdGVyZWQgQml0bHkgY2xpZW50IHNlY3JldC4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGFjY2Vzc1Rva2VuCiAgICAgKiAgKE9wdGlvbmFsKSBUaGUgYXBwbGljYXRpb24gb3IgY3VycmVudCB1c2VyJ3MgYWNjZXNzIHRva2VuLiBOZWNlc3NhcnkKICAgICAqICBmb3IgbW9zdCBBUEkgbWV0aG9kcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIEJpdGx5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9hdXRoZW50aWNhdGlvbi5odG1sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2xpZW50SWQ9bnVsbCwgJGNsaWVudFNlY3JldD1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhY2Nlc3NUb2tlbj1udWxsKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnRJZCA9ICRjbGllbnRJZDsKICAgICAgICAkdGhpcy0+Y2xpZW50U2VjcmV0ID0gJGNsaWVudFNlY3JldDsKICAgICAgICAkdGhpcy0+YWNjZXNzVG9rZW4gPSAkYWNjZXNzVG9rZW47CiAgICAgICAgJHRoaXMtPnVzZXJBZ2VudCA9ICdQSFAvJyAuIHBocHZlcnNpb24oKSAuICcgYml0bHlfYXBpLzAuMS4wJzsKICAgIH0KCiAgICAvKioKICAgICAqIEdpdmVuIGFuIE9BdXRoMiBhdXRoIGNvZGUsIGdldCBhbiBhY2Nlc3MgdG9rZW4gZnJvbSBCaXRseS4KICAgICAqCiAgICAgKiBFeGNoYW5nZXMgYW4gYXV0aCBjb2RlIGZvciBhbiBhY2Nlc3MgdG9rZW4sIHNldHMgdGhlIGFjY2VzcyB0b2tlbiBvbgogICAgICogdGhpcyBjbGllbnQgaW5zdGFuY2UsIGFuZCByZXR1cm5zIHRoZSB0b2tlbi4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2RlCiAgICAgKiAgQXV0aG9yaXphdGlvbiBjb2RlIGZyb20gQml0bHkuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyZWRpcmVjdFVyaQogICAgICogIFRoZSBVUkkgdG8gd2hpY2ggdGhlIHVzZXIgd2FzIHJlZGlyZWN0ZWQgYWZ0ZXIgYXV0aGVudGljYXRpbmcuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2F1dGhlbnRpY2F0aW9uLmh0bWwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFjY2Vzc1Rva2VuKCRjb2RlLCAkcmVkaXJlY3RVcmkpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdjb2RlJyA9PiAkY29kZSwgJ3JlZGlyZWN0X3VyaScgPT4gJHJlZGlyZWN0VXJpLAogICAgICAgICAgICAgICAgICAgICAgICAnY2xpZW50X2lkJyA9PiAkdGhpcy0+Y2xpZW50SWQsCiAgICAgICAgICAgICAgICAgICAgICAgICdjbGllbnRfc2VjcmV0JyA9PiAkdGhpcy0+Y2xpZW50U2VjcmV0KTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ29hdXRoL2FjY2Vzc190b2tlbicsICRwYXJhbXMsIHRydWUsIGZhbHNlKTsKICAgICAgICAkZGF0YSA9IGFycmF5KCk7CiAgICAgICAgcGFyc2Vfc3RyKCRyZXN1bHQsICRkYXRhKTsKICAgICAgICAkdGhpcy0+YWNjZXNzVG9rZW4gPSAkZGF0YVsnYWNjZXNzX3Rva2VuJ107CiAgICAgICAgcmV0dXJuICRkYXRhWydhY2Nlc3NfdG9rZW4nXTsKICAgIH0KCiAgICAvKioKICAgICAqIEV4cGFuZCBhIHNob3J0IFVSTCBvciBoYXNoLgogICAgICoKICAgICAqIE9uZSBwYXJhbWV0ZXIgbXVzdCBiZSBzcGVjaWZpZWQuIElmIGJvdGggYXJlIHNwZWNpZmllZCwgdGhlIHNob3J0IFVSTAogICAgICogaGFzIHByZWNlZGVuY2UuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc2hvcnRVcmwKICAgICAqICAoT3B0aW9uYWwpIEEgZnVsbCBiaXRseSBzaG9ydCBVUkwsIGUuZy4gImh0dHA6Ly9iaXQubHkvMTIzNCIKICAgICAqIEBwYXJhbSBzdHJpbmcgJGhhc2gKICAgICAqICAoT3B0aW9uYWwpIFRoZSBoYXNoIGNvbXBvbmVudCBvZiBhIGJpdGx5IHNob3J0IFVSTCwgZS5nLiAiMTIzNCIKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rcy5odG1sI3YzX2V4cGFuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhwYW5kKCRzaG9ydFVybD1udWxsLCAkaGFzaD1udWxsKQogICAgewogICAgICAgIGlmICghJHNob3J0VXJsICYmICEkaGFzaCkgewogICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlFcnJvcignc2hvcnRVcmwgb3IgaGFzaCBtdXN0IGJlIHNwZWNpZmllZCcpOwogICAgICAgIH0KCiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCk7CiAgICAgICAgaWYgKCRzaG9ydFVybCkgewogICAgICAgICAgICAkcGFyYW1zWydzaG9ydFVybCddID0gJHNob3J0VXJsOwogICAgICAgIH0KICAgICAgICBlbHNlaWYgKCRoYXNoKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2hhc2gnXSA9ICRoYXNoOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5jYWxsKCd2My9leHBhbmQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdHNbJ2V4cGFuZCddWzBdOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGluZm8gYWJvdXQgYSBnaXZlbiBzaG9ydCBVUkwgb3IgaGFzaC4KICAgICAqCiAgICAgKiBPbmUgcGFyYW1ldGVyIG11c3QgYmUgc3BlY2lmaWVkLiBpZiBib3RoIGFyZSBzcGVjaWZpZWQsIHRoZSBzaG9ydCBVUkwKICAgICAqIGhhcyBwcmVjZWRlbmNlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHNob3J0VXJsCiAgICAgKiAgKE9wdGlvbmFsKSBBIGZ1bGwgYml0bHkgc2hvcnQgVVJMLCBlLmcuICJodHRwOi8vYml0Lmx5LzEyMzQiCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoYXNoCiAgICAgKiAgKE9wdGlvbmFsKSBUaGUgaGFzaCBjb21wb25lbnQgb2YgYSBiaXRseSBzaG9ydCBVUkwsIGUuZy4gIjEyMzQiCiAgICAgKiBAcGFyYW0gJGV4cGFuZFVzZXIKICAgICAqICAoT3B0aW9uYWwpIEluY2x1ZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzZXIuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M19pbmZvCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpbmZvKCRzaG9ydFVybD1udWxsLCAkaGFzaD1udWxsLCAkZXhwYW5kVXNlcj1udWxsKQogICAgewogICAgICAgIGlmICghJHNob3J0VXJsICYmICEkaGFzaCkgewogICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlFcnJvcignc2hvcnRVcmwgb3IgaGFzaCBtdXN0IGJlIHNwZWNpZmllZCcpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRleHBhbmRVc2VyICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgnZXhwYW5kX3VzZXInID0+ICRleHBhbmRVc2VyKTsKICAgICAgICB9CgogICAgICAgIGlmICgkc2hvcnRVcmwpIHsKICAgICAgICAgICAgJHBhcmFtc1snc2hvcnRVcmwnXSA9ICRzaG9ydFVybDsKICAgICAgICB9CiAgICAgICAgZWxzZWlmICgkaGFzaCkgewogICAgICAgICAgICAkcGFyYW1zWydoYXNoJ10gPSAkaGFzaDsKICAgICAgICB9CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvaW5mbycsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snaW5mbyddWzBdOwogICAgfQoKICAgIC8qKgogICAgICogTG9vayB1cCBhIGJpdGx5IGxpbmsgYmFzZWQgb24gYSBsb25nIFVSTC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwKICAgICAqICBBIGxvbmcgVVJMIHRvIGxvb2sgdXAuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtzLmh0bWwjdjNfbGlua19sb29rdXAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtMb29rdXAoJHVybCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3VybCcgPT4gJHVybCk7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvbGluay9sb29rdXAnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdHNbJ2xpbmtfbG9va3VwJ11bMF1bJ2FnZ3JlZ2F0ZV9saW5rJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBTaG9ydGVuIGEgbG9uZyBVUkwuCiAgICAgKgogICAgICogJ2RvbWFpbicgaXMgYSBwcmVmZXJyZWQgZG9tYWluLCBidXQgaWYgdGhlIHVzZXIgaGFzIGEgY3VzdG9tIHNob3J0CiAgICAgKiBkb21haW4sIHRoZSBjdXN0b20gZG9tYWluIHdpbGwgYWx3YXlzIGJlIHVzZWQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbG9uZ1VybAogICAgICogIEEgbG9uZyBVUkwgdG8gc2hvcnRlbi4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGRvbWFpbgogICAgICogIChPcHRpb25hbCkgQSBwcmVmZXJyZWQgZG9tYWluIChlaXRoZXIgJ2JpdC5seScsICdqLm1wJywgb3IgJ2JpdGx5LmNvbScpLgogICAgICoKICAgICAqIEByZXR1cm5zIGFycmF5CiAgICAgKiAgQW4gYXNzb2NpYXRpdmUgYXJyYXkgY29udGFpbmluZzoKICAgICAqICAgLSAnbmV3X2hhc2gnIChib29sKSBXaGV0aGVyIHRoaXMgVVJMIGhhcyBiZWVuIHNob3J0ZW5lZCBiZWZvcmUuCiAgICAgKiAgIC0gJ3VybCcgKHN0cmluZykgVGhlIGFjdHVhbCBzaG9ydCBVUkwuCiAgICAgKiAgIC0gJ2hhc2gnIChzdHJpbmcpIEEgQml0bHkgaWRlbnRpZmllciB3aGljaCBpcyB1bmlxdWUgdG8gdGhpcyBhY2NvdW50LgogICAgICogICAtICdnbG9iYWxfaGFzaCcgKHN0cmluZykgQSBCaXRseSBpZGVudGlmaWVyIHdoaWNoIGNhbiBiZSB0cmFja2VkCiAgICAgKiAgICAgYWNyb3NzIGFjY291bnRzLgogICAgICogICAtICdsb25nX3VybCcgKHN0cmluZykgQW4gbm9ybWFsaXplZCBlY2hvIGJhY2sgb2YgdGhlIG9yaWdpbmFsIGxvbmcgVVJMLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M19zaG9ydGVuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaG9ydGVuKCR1cmwsICRkb21haW49bnVsbCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xvbmdVcmwnID0+ICR1cmwpOwogICAgICAgIGlmICgkZG9tYWluICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2RvbWFpbiddID0gJGRvbWFpbjsKICAgICAgICB9CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvc2hvcnRlbicsICRwYXJhbXMpOwogICAgICAgICRyZXN1bHRzWyduZXdfaGFzaCddID0gKCRyZXN1bHRzWyduZXdfaGFzaCddID09IDEpID8gdHJ1ZSA6IGZhbHNlOwogICAgICAgIHJldHVybiAkcmVzdWx0czsKICAgIH0KCiAgICAvKioKICAgICAqIEVkaXQgYSBzYXZlZCBsaW5rLgogICAgICoKICAgICAqIFBvc3NpYmxlIGtleXMvdmFsdWVzIGZvciAkcGFyYW1zIGFyZSBhcyBvbgogICAgICogICBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rcy5odG1sI3YzX3VzZXJfbGlua19lZGl0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIGJpdGx5IGxpbmssIGUuZy4gJ2h0dHA6Ly9iaXQubHkvMTIzNCcuCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcyBBbiBhcnJheSBvZiBvcHRpb25hbCB2YWx1ZXMgZnJvbSBhYm92ZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBBbiBlY2hvIGJhY2sgb2YgdGhlIGVkaXRlZCBsaW5rLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M191c2VyX2xpbmtfZWRpdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckxpbmtFZGl0KCRsaW5rLCBBcnJheSAkcGFyYW1zKQogICAgewogICAgICAgICRrZXlzID0gYXJyYXlfa2V5cygkcGFyYW1zKTsKICAgICAgICAkcGFyYW1zWydlZGl0J10gPSBpbXBsb2RlKCcsJywgJGtleXMpOwogICAgICAgICRwYXJhbXNbJ2xpbmsnXSA9ICRsaW5rOwogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvbGlua19lZGl0JywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRzWydsaW5rX2VkaXQnXTsKICAgIH0KCiAgICAvKioKICAgICAqIExvb2sgdXAgYSBCaXRseSBsaW5rIHNob3J0ZW5lZCBieSB0aGUgYXV0aGVudGljYXRlZCB1c2VyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCBBIGxvbmcgVVJMIHRvIGxvb2sgdXAuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICogIEFuIGFzc29jaWF0aXZlIGFycmF5IGNvbnRhaW5pbmc6CiAgICAgKiAgIC0gJ3VybCcgKHN0cmluZykgQW4gZWNobyBiYWNrIG9mIHRoZSBsb25nIFVSTC4KICAgICAqICAgLSAnbGluaycgKHN0cmluZykgVGhlIGNvcnJlc3BvbmRpbmcgQml0bHkgbGluay4KICAgICAqICAgLSAnYWdncmVnYXRlX2xpbmsnIChzdHJpbmcpIFRoZSBjb3JyZXNwb25kaW5nIGFnZ3JlZ2F0ZSBsaW5rLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M191c2VyX2xpbmtfbG9va3VwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyTGlua0xvb2t1cCgkdXJsKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCd1cmwnID0+ICR1cmwpOwogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvbGlua19sb29rdXAnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdHNbJ2xpbmtfbG9va3VwJ11bMF07CiAgICB9CgogICAgLyoqCiAgICAgKiBTYXZlIGEgQml0bHkgbGluayBhcyB0aGUgYXV0aGVudGljYXRlZCB1c2VyLgogICAgICoKICAgICAqIFBvc3NpYmxlIGtleXMvdmFsdWVzIGZvciAkcGFyYW1zIGFyZSBhcyBvbgogICAgICogICBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rcy5odG1sI3YzX3VzZXJfbGlua19zYXZlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsIEEgbG9uZyBVUkwgdG8gc2hvcnRlbiBhbmQgc2F2ZS4KICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIEFuIGFzc29jaWF0aXZlIGFycmF5IG9mIG9wdGlvbmFsIHZhbHVlcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKiAgQW4gYXNzb2NpYXRpdmUgYXJyYXkgY29udGFpbmluZzoKICAgICAqICAgLSAnbGluaycgKHN0cmluZykgVGhlIEJpdGx5IGxpbmsgZm9yIHRoZSBsb25nIFVSTC4KICAgICAqICAgLSAnYWdncmVnYXRlX2xpbmsnIChzdHJpbmcpIFRoZSBjb3JyZXNwb25kaW5nIEJpdGx5IGFnZ3JlZ2F0ZSBsaW5rLgogICAgICogICAtICduZXdfbGluaycgKGJvb2wpIFdoZXRoZXIgdGhlIHVzZXIgaGFzIHNhdmVkIHRoaXMgbGluayBiZWZvcmUuCiAgICAgKiAgIC0gJ2xvbmdfdXJsJyAoc3RyaW5nKSBBIG5vcm1hbGl6ZWQgZWNobyBiYWNrIG9mIHRoZSBsb25nIFVSTC4KICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtzLmh0bWwjdjNfdXNlcl9saW5rX3NhdmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJMaW5rU2F2ZSgkdXJsLCBBcnJheSAkcGFyYW1zKQogICAgewogICAgICAgICRwYXJhbXNbJ2xvbmdVcmwnXSA9ICR1cmw7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvdXNlci9saW5rX3NhdmUnLCAkcGFyYW1zKTsKICAgICAgICAkcmVzdWx0cyA9ICRyZXN1bHRzWydsaW5rX3NhdmUnXTsKICAgICAgICAkcmVzdWx0c1snbmV3X2xpbmsnXSA9ICgkcmVzdWx0c1snbmV3X2xpbmsnXSA9PSAxKSA/IHRydWUgOiBmYWxzZTsKICAgICAgICByZXR1cm4gJHJlc3VsdHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBzcGVjaWZpZWQgbnVtYmVyIG9mICdoaWdoLXZhbHVlJyBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCBNYXhpbXVtIG51bWJlciBvZiBsaW5rcyB0byByZXR1cm4uCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICogIEEgbGlzdCBvZiBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2RhdGFfYXBpcy5odG1sI3YzX2hpZ2h2YWx1ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGlnaHZhbHVlKCRsaW1pdCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbWl0JyA9PiAkbGltaXQpOwogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL2hpZ2h2YWx1ZScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1sndmFsdWVzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBTZWFyY2ggbGlua3MgcmVjZWl2aW5nIGNsaWNrcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRxdWVyeSBBIHN0cmluZyB0byBzZWFyY2ggZm9yLgogICAgICogQHBhcmFtIGludCAkbGltaXQKICAgICAqICAoT3B0aW9uYWwpIFRoZSBtYXhpbXVtIG51bWJlciBvZiBsaW5rcyB0byByZXR1cm4gKDEwKS4KICAgICAqIEBwYXJhbSBpbnQgJG9mZnNldAogICAgICogIChPcHRpb25hbCkgVGhlIHJlc3VsdCB0byBzdGFydCB3aXRoICgwKS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGxhbmcKICAgICAqICAoT3B0aW9uYWwpIEEgdHdvLWxldHRlciBJU08gbGFuZ3VhZ2UgY29kZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGNpdGllcwogICAgICogIChPcHRpb25hbCkgTGltaXQgdG8gbGlua3MgYWN0aXZlIGluIHRoaXMgY2l0eSAob3JkZXJlZCBsaWtlCiAgICAgKiAgJ3VzLWlsLWNoaWNhZ28nKS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGRvbWFpbgogICAgICogIChPcHRpb25hbCkgUmVzdHJpY3QgcmVzdWx0cyB0byB0aGlzIGRvbWFpbi4KICAgICAqIEBmaWVsZHMgc3RyaW5nW10KICAgICAqICAoT3B0aW9uYWwpIFdoaWNoIGZpZWxkcyB0byByZXR1cm4gaW4gdGhlIHJlc3BvbnNlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqICBBbiBhcnJheSBvZiByZXN1bHRzLCBlYWNoIHJlc3VsdCBpcyBhbiBhc3NvY2lhdGl2ZSBhcnJheSBhbmQgaXRzCiAgICAgKiAgY29udGVudHMgd2lsbCBkZXBlbmQgb24gJ2ZpZWxkcycuCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19zZWFyY2gKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlYXJjaCgkcXVlcnksICRsaW1pdD0xMCwgJG9mZnNldD0wLCAkbGFuZz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAkY2l0aWVzPW51bGwsICRkb21haW49bnVsbCwgQXJyYXkgJGZpZWxkcz1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgncXVlcnknID0+ICRxdWVyeSwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICdvZmZzZXQnID0+ICRvZmZzZXQpOwogICAgICAgIGlmICgkbGFuZyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydsYW5nJ10gPSAkbGFuZzsKICAgICAgICB9CiAgICAgICAgaWYgKCRjaXRpZXMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtWydjaXRpZXMnXSA9ICRjaXRpZXM7CiAgICAgICAgfQogICAgICAgIGlmICgkZG9tYWluICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2RvbWFpbiddID0gJGRvbWFpbjsKICAgICAgICB9CiAgICAgICAgaWYgKCRmaWVsZHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snZmllbGRzJ10gPSBpbXBsb2RlKCcsJywgJGZpZWxkcyk7CiAgICAgICAgfQogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL3NlYXJjaCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1sncmVzdWx0cyddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBwaHJhc2VzIHRoYXQgYXJlIHJlY2VpdmluZyBhbiB1bmNoYXJhY3RlcmlzdGljYWxseSBoaWdoIHZvbHVtZQogICAgICogb2YgY2xpY2sgdHJhZmZpYywgYW5kIHRoZSBpbmRpdmlkdWFsIGxpbmtzIChoYXNoZXMpIGRyaXZpbmcgdHJhZmZpYyB0bwogICAgICogcGFnZXMgY29udGFpbmluZyB0aGVzZSBwaHJhc2VzLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2RhdGFfYXBpcy5odG1sI3YzX3JlYWx0aW1lX2J1cnN0aW5nX3BocmFzZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlYWx0aW1lQnVyc3RpbmdQaHJhc2VzKCkgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvcmVhbHRpbWUvYnVyc3RpbmdfcGhyYXNlcycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBwaHJhc2VzIHRoYXQgYXJlIHJlY2VpdmluZyBhIGNvbnNpc3RlbnRseSBoaWdoIHZvbHVtZSBvZiBjbGljawogICAgICogdHJhZmZpYywgYW5kIHRoZSBpbmRpdmlkdWFsIGxpbmtzIChoYXNoZXMpIGRyaXZpbmcgdHJhZmZpYyB0byBwYWdlcwogICAgICogY29udGFpbmluZyB0aGVzZSBwaHJhc2VzLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2RhdGFfYXBpcy5odG1sI3YzX3JlYWx0aW1lX2hvdF9waHJhc2VzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZWFsdGltZUhvdFBocmFzZXMoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9yZWFsdGltZS9ob3RfcGhyYXNlcycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY2xpY2sgcmF0ZSBmb3IgY29udGVudCBjb250YWluaW5nIGEgc3BlY2lmaWVkIHBocmFzZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwaHJhc2UKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19yZWFsdGltZV9jbGlja3JhdGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlYWx0aW1lQ2xpY2tyYXRlKCRwaHJhc2UpIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3BocmFzZScgPT4gJHBocmFzZSk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9yZWFsdGltZS9jbGlja3JhdGUnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0YWRhdGEgYWJvdXQgYSBzaW5nbGUgYml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19saW5rX2luZm8KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtJbmZvKCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9saW5rL2luZm8nLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIOKAnG1haW4gYXJ0aWNsZeKAnSBmcm9tIHRoZSBsaW5rZWQgcGFnZSwgYXMgZGV0ZXJtaW5lZCBieSB0aGUKICAgICAqIGNvbnRlbnQgZXh0cmFjdG9yLCBpbiBlaXRoZXIgSFRNTCBvciBwbGFpbiB0ZXh0IGZvcm1hdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19saW5rX2NvbnRlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtDb250ZW50KCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9saW5rL2NvbnRlbnQnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGRldGVjdGVkIGNhdGVnb3JpZXMgZm9yIGEgZG9jdW1lbnQsIGluIGRlc2NlbmRpbmcgb3JkZXIgb2YKICAgICAqIGNvbmZpZGVuY2UuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vZGF0YV9hcGlzLmh0bWwjdjNfbGlua19jYXRlZ29yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlua0NhdGVnb3J5KCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvbGluay9jYXRlZ29yeScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snY2F0ZWdvcmllcyddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgInNvY2lhbCBzY29yZSIgZm9yIGEgc3BlY2lmaWVkIGJpdGx5IGxpbmsuCiAgICAgKgogICAgICogTm90ZSB0aGF0IHRoZSBzb2NpYWwgc2NvcmUgYXJlIGhpZ2hseSBkZXBlbmRlbnQgdXBvbiBhY3Rpdml0eSAoY2xpY2tzKQogICAgICogb2NjdXJyaW5nIG9uIHRoZSBiaXRseSBsaW5rLiBJZiB0aGVyZSBoYXZlIG5vdCBiZWVuIGNsaWNrcyBvbiBhIGJpdGx5CiAgICAgKiBsaW5rIHdpdGhpbiB0aGUgbGFzdCAyNCBob3VycywgaXQgaXMgcG9zc2libGUgYSBzb2NpYWwgc2NvcmUgZm9yIHRoYXQKICAgICAqIGxpbmsgZG9lcyBub3QgZXhpc3QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vZGF0YV9hcGlzLmh0bWwjdjNfbGlua19zb2NpYWwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtTb2NpYWwoJGxpbmspIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rKTsKICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5jYWxsKCd2My9saW5rL3NvY2lhbCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snc29jaWFsX3Njb3JlcyddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgc2lnbmlmaWNhbnQgbG9jYXRpb25zIGZvciB0aGUgYml0bHkgbGluay4KICAgICAqCiAgICAgKiBOb3RlIHRoYXQgbG9jYXRpb25zIGFyZSBoaWdobHkgZGVwZW5kZW50IHVwb24gYWN0aXZpdHkgKGNsaWNrcykKICAgICAqIG9jY3VycmluZyBvbiB0aGUgYml0bHkgbGluay4gSWYgdGhlcmUgaGF2ZSBub3QgYmVlbiBjbGlja3Mgb24gYSBiaXRseQogICAgICogbGluayB3aXRoaW4gdGhlIGxhc3QgMjQgaG91cnMsIGl0IGlzIHBvc3NpYmxlIHRoYXQgbG9jYXRpb24gZGF0YSBmb3IKICAgICAqIHRoYXQgbGluayBkb2VzIG5vdCBleGlzdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19saW5rX2xvY2F0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rTG9jYXRpb24oJGxpbmspIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rKTsKICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5jYWxsKCd2My9saW5rL2xvY2F0aW9uJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRzWydsb2NhdGlvbnMnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHNpZ25pZmljYW50IGxhbmd1YWdlcyBmb3IgdGhlIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vZGF0YV9hcGlzLmh0bWwjdjNfbGlua19sYW5ndWFnZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlua0xhbmd1YWdlKCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvbGluay9sYW5ndWFnZScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snbGFuZ3VhZ2VzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2xpY2tzIG9uIGEgc2luZ2xlIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfbGlua19jbGlja3MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtDbGlja3MoJGxpbmssICR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRyb2xsdXA9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaW1pdD0xMDAsICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluaywgJ3VuaXQnID0+ICR1bml0LAogICAgICAgICAgICAgICAgICAgICAgICAndGltZXpvbmUnID0+ICR0aW1lem9uZSwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9jbGlja3MnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0cmljcyBhYm91dCB0aGUgY291bnRyaWVzIHJlZmVycmluZyBjbGljayB0cmFmZmljIHRvIGEgQml0bHkKICAgICAqIGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX2xpbmtfY291bnRyaWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rQ291bnRyaWVzKCRsaW5rLCAkdW5pdD0nZGF5JywgJHVuaXRzPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLCAkbGltaXQ9MTAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rLCAndW5pdCcgPT4gJHVuaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lem9uZScgPT4gJHRpbWV6b25lLCAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9jb3VudHJpZXMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdXNlcnMgd2hvIGhhdmUgZW5jb2RlZCB0aGlzIGxpbmsuCiAgICAgKgogICAgICogT3B0aW9uYWxseSByZXN0cmljdGVkIHRvIHRoZSByZXF1ZXN0aW5nIHVzZXIncyBzb2NpYWwgZ3JhcGguCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gYm9vbCAkbXlOZXR3b3JrIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRleHBhbmRVc2VyIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX2VuY29kZXJzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rRW5jb2RlcnMoJGxpbmssICRteU5ldHdvcms9bnVsbCwgJGxpbWl0PTEwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXhwYW5kVXNlcj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnbGluaycgPT4gJGxpbmssICdsaW1pdCcgPT4gJGxpbWl0KTsKICAgICAgICBpZiAoJG15TmV0d29yayAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydteV9uZXR3b3JrJ10gPSAkbXlOZXR3b3JrOwogICAgICAgIH0KICAgICAgICBpZiAoJGV4cGFuZFVzZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snZXhwYW5kX3VzZXInXSA9ICRleHBhbmRVc2VyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL2xpbmsvZW5jb2RlcnMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG51bWJlciBvZiB1c2VycyB3aG8gaGF2ZSBzaG9ydGVuZWQgYSBzaW5nbGUgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX2VuY29kZXJzX2NvdW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rRW5jb2RlcnNDb3VudCgkbGluaykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rKTsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL2xpbmsvZW5jb2RlcnNfY291bnQnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0cmljcyBhYm91dCB0aGUgcGFnZXMgcmVmZXJyaW5nIGNsaWNrIHRyYWZmaWMgdG8gYSBCaXRseSBsaW5rLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQSBCaXRseSBsaW5rLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX3JlZmVycmVycwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlua1JlZmVycmVycygkbGluaywgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWV6b25lPSdBbWVyaWNhL05ld19Zb3JrJywgJGxpbWl0PTEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluaywgJ3VuaXQnID0+ICR1bml0LCAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL2xpbmsvcmVmZXJyZXJzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIG1ldHJpY3MgYWJvdXQgdGhlIHBhZ2VzIHJlZmVycmluZyBjbGljayB0cmFmZmljIHRvIGEgQml0bHkgbGluaywKICAgICAqIGdyb3VwZWQgYnkgZG9tYWluLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQSBCaXRseSBsaW5rLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX3JlZmVycmVyc19ieV9kb21haW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtSZWZlcnJlcnNCeURvbWFpbigkbGluaywgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGltaXQ9MTAwLCAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnbGluaycgPT4gJGxpbmssICd1bml0JyA9PiAkdW5pdCwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAndW5pdF9yZWZlcmVuY2VfdHMnID0+ICR1bml0UmVmZXJlbmNlVHMpOwogICAgICAgIGlmICgkdW5pdHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sndW5pdHMnXSA9ICR1bml0czsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9saW5rL3JlZmVyZXJyc19ieV9kb21haW4nLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0cmljcyBhYm91dCB0aGUgZG9tYWlucyByZWZlcnJpbmcgY2xpY2sgdHJhZmZpYyB0byBhIEJpdGx5CiAgICAgKiBsaW5rLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQSBCaXRseSBsaW5rLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX3JlZmVycmluZ19kb21haW5zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rUmVmZXJyaW5nRG9tYWlucygkbGluaywgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rLCAndW5pdCcgPT4gJHVuaXQsICdsaW1pdCcgPT4gJGxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAndGltZXpvbmUnID0+ICR0aW1lem9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9yZWZlcmVycmluZ19kb21haW5zJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIG1ldHJpY3MgYWJvdXQgc2hhcmVzIG9mIGEgc2luZ2xlIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfbGlua19zaGFyZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtTaGFyZXMoJGxpbmssICR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRyb2xsdXA9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaW1pdD0xMDAsICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluaywgJ3VuaXQnID0+ICR1bml0LCAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9zaGFyZXMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBvciB1cGRhdGUgaW5mb3JtYXRpb24gYWJvdXQgYSB1c2VyLgogICAgICoKICAgICAqIElmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cywgd2lsbCByZXR1cm4gaW5mb3JtYXRpb24gYWJvdXQgdGhlCiAgICAgKiBhdXRoZW50aWNhdGVkIHVzZXIuCiAgICAgKgogICAgICogVGhlICRmdWxsTmFtZSBhcmd1bWVudCBpcyBvbmx5IHZhbGlkIGZvciB0aGUgYXV0aGVudGljYXRlZCB1c2VyIGFuZCB3aWxsCiAgICAgKiBzZXQgdGhlIHVzZXIncyBmdWxsIG5hbWUgcHJvcGVydHkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbG9naW4gKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkZnVsbE5hbWUgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL3VzZXJfaW5mby5odG1sI3YzX3VzZXJfaW5mbwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckluZm8oJGxvZ2luPW51bGwsICRmdWxsTmFtZT1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkbG9naW4gIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snbG9naW4nXSA9ICRsb2dpbjsKICAgICAgICB9CiAgICAgICAgaWYgKCRmdWxsTmFtZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydmdWxsX25hbWUnXSA9ICRmdWxsTmFtZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL2luZm8nLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgZW50cmllcyBmcm9tIGEgdXNlcidzIGxpbmsgaGlzdG9yeSBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwKICAgICAqIG9yZGVyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkb2Zmc2V0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGNyZWF0ZWRCZWZvcmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkY3JlYXRlZEFmdGVyIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJG1vZGlmaWVkQWZ0ZXIgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJGV4cGFuZENsaWVudElkIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFyY2hpdmVkIChPcHRpb25hbCkgIm9uIiwgIm9mZiIgb3IgImJvdGgiLgogICAgICogQHBhcmFtIHN0cmluZyAkcHJpdmF0ZSAoT3B0aW9uYWwpICJvbiIsICJvZmYiIG9yICJib3RoIi4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHVzZXIgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL3VzZXJfaW5mby5odG1sI3YzX3VzZXJfbGlua19oaXN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyTGlua0hpc3RvcnkoJGxpbms9bnVsbCwgJGxpbWl0PTUwLCAkb2Zmc2V0PW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjcmVhdGVkQmVmb3JlPW51bGwsICRjcmVhdGVkQWZ0ZXI9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGlmaWVkQWZ0ZXI9bnVsbCwgJGV4cGFuZENsaWVudElkPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhcmNoaXZlZD1udWxsLCAkcHJpdmF0ZT1udWxsLCAkdXNlcj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkbGluayAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydsaW5rJ10gPSAkbGluazsKICAgICAgICB9CiAgICAgICAgaWYgKCRsaW1pdCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydsaW1pdCddID09ICRsaW1pdDsKICAgICAgICB9CiAgICAgICAgaWYgKCRvZmZzZXQgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snb2Zmc2V0J10gPSAkb2Zmc2V0OwogICAgICAgIH0KICAgICAgICBpZiAoJGNyZWF0ZWRCZWZvcmUgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snY3JlYXRlZF9iZWZvcmUnXSA9ICRjcmVhdGVkQmVmb3JlOwogICAgICAgIH0KICAgICAgICBpZiAoJGNyZWF0ZWRBZnRlciAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydjcmVhdGVkX2FmdGVyJ10gPSAkY3JlYXRlZEFmdGVyOwogICAgICAgIH0KICAgICAgICBpZiAoJG1vZGlmaWVkQWZ0ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snbW9kaWZpZWRfYWZ0ZXInXSA9ICRtb2RpZmllZEFmdGVyOwogICAgICAgIH0KICAgICAgICBpZiAoJGFyY2hpdmVkICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2FyY2hpdmVkJ10gPSAkYXJjaGl2ZWQ7CiAgICAgICAgfQogICAgICAgIGlmICgkcHJpdmF0ZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydwcml2YXRlJ10gPSAkcHJpdmF0ZTsKICAgICAgICB9CiAgICAgICAgaWYgKCR1c2VyICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VzZXInXSA9ICR1c2VyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvbGlua19oaXN0b3J5JywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGVudHJpZXMgZnJvbSBhIHVzZXIncyBuZXR3b3JrIGhpc3RvcnkgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsCiAgICAgKiBvcmRlci4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRvZmZzZXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJGV4cGFuZENsaWVudElkIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRleHBhbmRVc2VyIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS91c2VyX2luZm8uaHRtbCN2M191c2VyX25ldHdvcmtfaGlzdG9yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlck5ldHdvcmtIaXN0b3J5KCRvZmZzZXQ9bnVsbCwgJGV4cGFuZENsaWVudElkPWZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGltaXQ9MjAsICRleHBhbmRVc2VyPW51bGwpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdleHBhbmRfY2xpZW50X2lkJyA9PiAkZXhwYW5kQ2xpZW50SWQsCiAgICAgICAgICAgICAgICAgICAgICAgICdsaW1pdCcgPT4gJGxpbWl0KTsKICAgICAgICBpZiAoJG9mZnNldCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydvZmZzZXQnXSA9ICRvZmZzZXQ7CiAgICAgICAgfQogICAgICAgIGlmICgkZXhwYW5kVXNlciAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydleHBhbmRfdXNlciddID0gJGV4cGFuZFVzZXI7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9uZXR3b3JrX2hpc3RvcnknLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBsaXN0IG9mIHRyYWNraW5nIGRvbWFpbnMgYSB1c2VyIGhhcyBjb25maWd1cmVkLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL3VzZXJfaW5mby5odG1sI3YzX3VzZXJfdHJhY2tpbmdfZG9tYWluX2xpc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJUcmFja2luZ0RvbWFpbkxpc3QoKQogICAgewogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvdXNlci90cmFja2luZ19kb21haW5fbGlzdCcpOwogICAgICAgIHJldHVybiAkcmVzdWx0Wyd0cmFja2luZ19kb21haW5zJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBhZ2dyZWdhdGUgbnVtYmVyIG9mIGNsaWNrcyBvbiBhbGwgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzCiAgICAgKiBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfdXNlcl9jbGlja3MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJDbGlja3MoJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWV6b25lPSdBbWVyaWNhL05ld19Zb3JrJywgJHJvbGx1cD1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3VuaXQnID0+ICR1bml0LCAndGltZXpvbmUnID0+ICR0aW1lem9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9jbGlja3MnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYWdncmVnYXRlIG1ldHJpY3MgYWJvdXQgdGhlIGNvdW50cmllcyByZWZlcnJpbmcgY2xpY2tzIHRvIGFsbAogICAgICogdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzIEJpdGx5IGxpbmtzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkdW5pdHMgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZ3xpbnQgJHRpbWV6b25lIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRyb2xsdXAgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M191c2VyX2NvdW50cmllcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckNvdW50cmllcygkdW5pdD0nZGF5JywgJHVuaXRzPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLCAkcm9sbHVwPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGltaXQ9MTAwLCAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL2NvdW50cmllcycsICRwYXJhbXMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYXV0aGVudGljYXRlZCB1c2VyJ3MgbW9zdC1jbGlja2VkIEJpdGx5IGxpbmtzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkdW5pdHMgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZ3xpbnQgJHRpbWV6b25lIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfdXNlcl9wb3B1bGFyX2xpbmtzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyUG9wdWxhckxpbmtzKCR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRsaW1pdD0xMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9wb3B1bGFyX2xpbmtzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFnZ3JlZ2F0ZSBtZXRyaWNzIGFib3V0IHRoZSBwYWdlcyByZWZlcnJpbmcgY2xpY2sgdHJhZmZpYyB0byBhbGwKICAgICAqIG9mIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIncyBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfdXNlcl9yZWZlcnJlcnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJSZWZlcnJlcnMoJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWV6b25lPSdBbWVyaWNhL05ld19Zb3JrJywgJHJvbGx1cD1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3VuaXQnID0+ICR1bml0LCAndGltZXpvbmUnID0+ICR0aW1lem9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9yZWZlcnJlcnMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYWdncmVnYXRlIG1ldHJpY3MgYWJvdXQgdGhlIGRvbWFpbnMgcmVmZXJyaW5nIGNsaWNrIHRyYWZmaWMgdG8KICAgICAqIGFsbCBvZiB0aGUgYXV0aGVudGljYXRlZCB1c2VyJ3MgQml0bHkgbGlua3MuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX3VzZXJfcmVmZXJyaW5nX2RvbWFpbnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJSZWZlcnJpbmdEb21haW5zKCR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyb2xsdXA9bnVsbCwgJGxpbWl0PTEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL3JlZmVycmluZ19kb21haW5zJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc2hhcmVzIGJ5IHRoZSBhdXRoZW50aWNhdGVkIHVzZXIgaW4gYSBnaXZlbiB0aW1lCiAgICAgKiBwZXJpb2QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX3VzZXJfc2hhcmVfY291bnRzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyU2hhcmVDb3VudHMoJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLCAkcm9sbHVwPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaW1pdD0xMDAsICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCd1bml0JyA9PiAkdW5pdCwgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICdsaW1pdCcgPT4gJGxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAndW5pdF9yZWZlcmVuY2VfdHMnID0+ICR1bml0UmVmZXJlbmNlVHMpOwogICAgICAgIGlmICgkdW5pdHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sndW5pdHMnXSA9ICR1bml0czsKICAgICAgICB9CiAgICAgICAgaWYgKCRyb2xsdXAgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncm9sbHVwJ10gPSAkcm9sbHVwOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvc2hhcmVfY291bnRzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc2hhcmVzIGJ5IHRoZSBhdXRoZW50aWNhdGVkIHVzZXIsIGJyb2tlbiBkb3duIGJ5CiAgICAgKiBzaGFyZSB0eXBlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkdW5pdHMgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZ3xpbnQgJHRpbWV6b25lIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRyb2xsdXAgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M191c2VyX3NoYXJlX2NvdW50c19ieV9zaGFyZV90eXBlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyU2hhcmVDb3VudHNCeVNoYXJlVHlwZSgKICAgICAgICAkdW5pdD0nZGF5JywgJHVuaXRzPW51bGwsICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRyb2xsdXA9bnVsbCwKICAgICAgICAkbGltaXQ9MTAwLCAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL3NoYXJlX2NvdW50c19ieV9zaGFyZV90eXBlJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgbGlua3Mgc2hvcnRlbmVkIGluIGEgZ2l2ZW4gdGltZSBwZXJpb2QgYnkgdGhlCiAgICAgKiBhdXRoZW50aWNhdGVkIHVzZXIuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX3VzZXJfc2hvcnRlbl9jb3VudHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJTaG9ydGVuQ291bnRzKCR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyb2xsdXA9bnVsbCwgJGxpbWl0PTEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL3Nob3J0ZW5fY291bnRzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBcmNoaXZlIGEgYnVuZGxlIGZvciB0aGUgYXV0aGVudGljYXRlIHVzZXIuCiAgICAgKgogICAgICogT25seSB0aGUgYnVuZGxlJ3Mgb3duZXIgaXMgYWxsb3dlZCB0byBhcmNoaXZlIGl0LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVGhlIFVSTCBvZiB0aGUgYnVuZGxlIHRvIGFyY2hpdmUuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2FyY2hpdmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1bmRsZUFyY2hpdmUoJGJ1bmRsZUxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2FyY2hpdmUnLCAkcGFyYW1zLCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgcmV0dXJuICgkcmVzdWx0ID09PSAnT0snKSA/IHRydWUgOiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBsaXN0IG9mIHB1YmxpYyBidW5kbGVzIGNyZWF0ZWQgYnkgYSB1c2VyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVzZXIgVGhlIHVzZXIgdG8gZ2V0IGJ1bmRsZXMgZm9yLgogICAgICogQHBhcmFtIGJvb2wgJGV4cGFuZFVzZXIgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfYnVuZGxlc19ieV91c2VyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVCdW5kbGVzQnlVc2VyKCR1c2VyLCAkZXhwYW5kVXNlcj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndXNlcicgPT4gJHVzZXIpOwogICAgICAgIGlmICgkZXhwYW5kVXNlciAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydleHBhbmRfdXNlciddID0gJGV4cGFuZFVzZXI7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2J1bmRsZXNfYnlfdXNlcicsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGVzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBDbG9uZSBhIGJ1bmRsZSBmb3IgdGhlIGF1dGhlbnRpY2F0ZSB1c2VyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUgdG8gY2xvbmUuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9jbG9uZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlQ2xvbmUoJGJ1bmRsZUxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2Nsb25lJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgY29sbGFib3JhdG9yIHRvIGEgYnVuZGxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xsYWJvcmF0b3IgQml0bHkgbG9naW4gb3IgZW1haWwgYWRkcmVzcyB0byBhZGQuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9jb2xsYWJvcmF0b3JfYWRkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVDb2xsYWJvcmF0b3JBZGQoJGJ1bmRsZUxpbmssICRjb2xsYWJvcmF0b3IpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdjb2xsYWJvcmF0b3InID0+ICRjb2xsYWJvcmF0b3IpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2NvbGxhYm9yYXRvcl9hZGQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBjb2xsYWJvcmF0b3IgZnJvbSBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkY29sbGFib3JhdG9yIEJpdGx5IGxvZ2luIG9mIHRoZSBjb2xsYWJvcmF0b3IgdG8gcmVtb3ZlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfY29sbGFib3JhdG9yX3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlQ29sbGFib3JhdG9yUmVtb3ZlKCRidW5kbGVMaW5rLCAkY29sbGFib3JhdG9yKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAnY29sbGFib3JhdG9yJyA9PiAkY29sbGFib3JhdG9yKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9jb2xsYWJvcmF0b3JfcmVtb3ZlJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIGJ1bmRsZSBhbmQgaXRzIGNvbnRlbnRzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gYm9vbCAkZXhwYW5kVXNlciAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9jb250ZW50cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlQ29udGVudHMoJGJ1bmRsZUxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2NvbnRlbnRzJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgYnVuZGxlIGZvciB0aGUgYXV0aGVudGljYXRlIHVzZXIuCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJHByaXZhdGUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdGl0bGUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkZGVzY3JpcHRpb24gKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfY3JlYXRlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVDcmVhdGUoJHByaXZhdGU9bnVsbCwgJHRpdGxlPW51bGwsICRkZXNjcmlwdGlvbj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkcHJpdmF0ZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydwcml2YXRlJ10gPSAkcHJpdmF0ZTsKICAgICAgICB9CiAgICAgICAgaWYgKCR0aXRsZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd0aXRsZSddID0gJHRpdGxlOwogICAgICAgIH0KICAgICAgICBpZiAoJGRlc2NyaXB0aW9uICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10gPSAkZGVzY3JpcHRpb247CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2NyZWF0ZScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEVkaXQgYSBidW5kbGUgZm9yIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIuCiAgICAgKgogICAgICogRm9yIG9wdGlvbmFsIHN0cmluZyB2YWx1ZXMsICJudWxsIiBtZWFucyAiZG9uJ3QgY2hhbmdlLCIgd2hpbGUgdGhlIGVtcHR5CiAgICAgKiBzdHJpbmcgd2lsbCBjbGVhciB0aGUgdmFsdWUuIEZvciBhbGwgb3RoZXIgb3B0aW9uYWwgdmFsdWVzLCAibnVsbCIgbWVhbnMKICAgICAqICJubyBjaGFuZ2UiLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0aXRsZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkZXNjcmlwdGlvbiAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcHJpdmF0ZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcHJldmlldyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICRvZ0ltYWdlIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2VkaXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1bmRsZUVkaXQoJGJ1bmRsZUxpbmssICR0aXRsZT1udWxsLCAkZGVzY3JpcHRpb249bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcml2YXRlPW51bGwsICRwcmV2aWV3PW51bGwsICRvZ0ltYWdlPW51bGwpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRrZXlzID0gYXJyYXkoKTsKICAgICAgICBpZiAoJHRpdGxlICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3RpdGxlJ10gPSAkdGl0bGU7CiAgICAgICAgICAgICRrZXlzW10gPSAndGl0bGUnOwogICAgICAgIH0KICAgICAgICBpZiAoJGRlc2NyaXB0aW9uICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10gPSAkZGVzY3JpcHRpb247CiAgICAgICAgICAgICRrZXlzW10gPSAnZGVzY3JpcHRpb24nOwogICAgICAgIH0KICAgICAgICBpZiAoJHByaXZhdGUgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncHJpdmF0ZSddID0gJHByaXZhdGU7CiAgICAgICAgICAgICRrZXlzW10gPSAncHJpdmF0ZSc7CiAgICAgICAgfQogICAgICAgIGlmICgkcHJldmlldyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydwcmV2aWV3J10gPSAkcHJldmlldzsKICAgICAgICAgICAgJGtleXNbXSA9ICdwcmV2aWV3JzsKICAgICAgICB9CiAgICAgICAgaWYgKCRvZ0ltYWdlICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ29nX2ltYWdlJ10gPSAkb2dJbWFnZTsKICAgICAgICAgICAgJGtleXNbXSA9ICdvZ19pbWFnZSc7CiAgICAgICAgfQogICAgICAgICRwYXJhbXNbJ2VkaXQnXSA9IGltcGxvZGUoJywnLCAka2V5cyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9idW5kbGUvZWRpdCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIGxpbmsgdG8gYSBidW5kbGUuCiAgICAgKgogICAgICogTGlua3MgYXJlIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIHRvcCAocG9zaXRpb24gMCkgb2YgdGhlIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluayBvciBsb25nIFVSTC4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHRpdGxlIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2xpbmtfYWRkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVMaW5rQWRkKCRidW5kbGVMaW5rLCAkbGluaywgJHRpdGxlPW51bGwpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssICdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgaWYgKCR0aXRsZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd0aXRsZSddID0gJHRpdGxlOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9saW5rX2FkZCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIGNvbW1lbnQgdG8gYSBidW5kbGUgaXRlbS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBCaXRseSBsaW5rIGluIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb21tZW50IFRoZSBjb21tZW50LCBtdXN0IGJlIDw9IDUxMiBjaGFyYWN0ZXJzLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfbGlua19jb21tZW50X2FkZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0NvbW1lbnRBZGQoJGJ1bmRsZUxpbmssICRsaW5rLCAkY29tbWVudCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2J1bmRsZV9saW5rJyA9PiAkYnVuZGxlTGluaywgJ2xpbmsnID0+ICRsaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAnY29tbWVudCcgPT4gJGNvbW1lbnQpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2xpbmtfY29tbWVudF9hZGQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBFZGl0IGEgY29tbWVudCBvbiBhIGJ1bmRsZSBpdGVtLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEJpdGx5IGxpbmsgaW4gdGhlIGJ1bmRsZS4KICAgICAqIEBwYXJhbSBpbnQgJGNvbW1lbnRJZCBJRCBvZiB0aGUgY29tbWVudCB0byBlZGl0LgogICAgICogQHBhcmFtIHN0cmluZyAkY29tbWVudCBUaGUgZWRpdGVkIGNvbW1lbnQsIG11c3QgYmUgPD0gNTEyIGNoYXJhY3RlcnMuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9saW5rX2NvbW1lbnRfZWRpdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0NvbW1lbnRFZGl0KCRidW5kbGVMaW5rLCAkbGluaywgJGNvbW1lbnRJZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1lbnQpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssICdsaW5rJyA9PiAkbGluaywKICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnRfaWQnID0+ICRjb21tZW50SWQsICdjb21tZW50JyA9PiAkY29tbWVudCk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9idW5kbGUvbGlua19jb21tZW50X2VkaXQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBjb21tZW50IGZyb20gYSBidW5kbGUgaXRlbS4KICAgICAqCiAgICAgKiBPbmx5IHRoZSBvcmlnaW5hbCBjb21tZW50ZXIgYW5kIHRoZSBidW5kbGUgb3duZXIgY2FuIHJlbW92ZSBjb21tZW50cy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBCaXRseSBsaW5rIGluIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gaW50ICRjb21tZW50SWQgSUQgb2YgdGhlIGNvbW1lbnQgdG8gcmVtb3ZlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfbGlua19jb21tZW50X3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0NvbW1lbnRSZW1vdmUoJGJ1bmRsZUxpbmssICRsaW5rLCAkY29tbWVudElkKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLCAnbGluaycgPT4gJGxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdjb21tZW50X2lkJyA9PiAkY29tbWVudElkKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9saW5rX2NvbW1lbnRfcmVtb3ZlJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogRWRpdCBhIGJ1bmRsZSBpdGVtLgogICAgICoKICAgICAqIEZvciB0aGUgb3B0aW9uYWwgcGFyYW1ldGVycywgYSB2YWx1ZSBvZiAibnVsbCIgbWVhbnMgIm5vIGNoYW5nZS4iCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYnVuZGxlTGluayBVUkwgb2YgdGhlIGJ1bmRsZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQml0bHkgbGluayBpbiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkdGl0bGUgKE9wdGlvbmFsKSBUaGUgbmV3IHRpdGxlLgogICAgICogQHBhcmFtIGJvb2wgJHByZXZpZXcgKE9wdGlvbmFsKSBEaXNwbGF5IHByZXZpZXcgY29udGVudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2xpbmtfZWRpdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0VkaXQoJGJ1bmRsZUxpbmssICRsaW5rLCAkdGl0bGU9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJldmlldz1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLCAnbGluaycgPT4gJGxpbmspOwogICAgICAgICRrZXlzID0gYXJyYXkoKTsKICAgICAgICBpZiAoJHRpdGxlICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3RpdGxlJ10gPSAkdGl0bGU7CiAgICAgICAgICAgICRrZXlzW10gPSAndGl0bGUnOwogICAgICAgIH0KICAgICAgICBpZiAoJHByZXZpZXcgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncHJldmlldyddID0gJHByZXZpZXc7CiAgICAgICAgICAgICRrZXlzW10gPSAncHJldmlldyc7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2xpbmtfZWRpdCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlbW92ZSBhIGxpbmsgZnJvbSBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBCaXRseSBsaW5rIGluIHRoZSBidW5kbGUuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9saW5rX3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua1JlbW92ZSgkYnVuZGxlTGluaywgJGxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssICdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9idW5kbGUvbGlua19yZW1vdmUnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW9yZGVyIGEgbGluayBpbiBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBGb3IgJGRpc3BsYXlPcmRlciwgYSB2YWx1ZSBvZiAtMSBtb3ZlcyB0aGUgbGluayB0byB0aGUgZW5kIG9mIHRoZQogICAgICogYnVuZGxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEJpdGx5IGxpbmsgaW4gdGhlIGJ1bmRsZS4KICAgICAqIEBwYXJhbSBpbnQgJGRpc3BsYXlPcmRlciBOZXcgcG9zaXRpb24gaW4gdGhlIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2xpbmtfcmVvcmRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua1Jlb3JkZXIoJGJ1bmRsZUxpbmssICRsaW5rLCAkZGlzcGxheU9yZGVyKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLCAnbGluaycgPT4gJGxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdkaXNwbGF5X29yZGVyJyA9PiAkZGlzcGxheU9yZGVyKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9saW5rX3Jlb3JkZXInLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLy8gVE9ETzogSG93PwogICAgLy9wdWJsaWMgZnVuY3Rpb24gYnVuZGxlUmVvcmRlcigkYnVuZGxlTGluaywgQXJyYXkgJGxpbmtzKSB7fQoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgcGVuZGluZy9pbnZpdGVkIGNvbGxhYm9yYXRvciBmcm9tIGEgYnVuZGxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xsYWJvcmF0b3IgQml0bHkgbG9naW4gb3IgZW1haWwgYWRkcmVzcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX3BlbmRpbmdfY29sbGFib3JhdG9yX3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlUGVuZGluZ0NvbGxhYm9yYXRvclJlbW92ZSgkYnVuZGxlTGluaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xsYWJvcmF0b3IpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdjb2xsYWJvcmF0b3InID0+ICRjb2xsYWJvcmF0b3IpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL3BlbmRpbmdfY29sbGFib3JhdG9yX3JlbW92ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbnVtYmVyIG9mIHZpZXdzIGZvciBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX3ZpZXdfY291bnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1bmRsZVZpZXdDb3VudCgkYnVuZGxlTGluaykgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS92aWV3X2NvdW50JywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ3ZpZXdfY291bnQnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYWxsIHRoZSBidW5kbGVzIHRoaXMgdXNlciBoYXMgYWNjZXNzIHRvLgogICAgICoKICAgICAqIEBwYXJhbSBib29sICRleHBhbmRVc2VyIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfdXNlcl9idW5kbGVfaGlzdG9yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckJ1bmRsZUhpc3RvcnkoJGV4cGFuZFVzZXI9bnVsbCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoKTsKICAgICAgICBpZiAoJGV4cGFuZFVzZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snZXhwYW5kX3VzZXInXSA9ICRleHBhbmRVc2VyOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvYnVuZGxlX2hpc3RvcnknLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlcyddOwogICAgfQoKICAgIC8qKgogICAgICogUXVlcnkgd2hldGhlciBhIGdpdmVuIGRvbWFpbiBpcyBhIHZhbGlkIEJpdGx5IHBybyBkb21haW4uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluIEEgc2hvcnQgZG9tYWluIChlLmcuICJueXRpLm1zIikuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kb21haW5zLmh0bWwjdjNfYml0bHlfcHJvX2RvbWFpbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYml0bHlQcm9Eb21haW4oJGRvbWFpbikKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2RvbWFpbicgPT4gJGRvbWFpbik7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9iaXRseV9wcm9fZG9tYWluJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICgkcmVzdWx0WydiaXRseV9wcm9fZG9tYWluJ10gPT0gMSkgPyB0cnVlIDogZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2xpY2tzIG9uIEJpdGx5IGxpbmtzIHBvaW50aW5nIHRvIHRoZQogICAgICogc3BlY2lmaWVkIHRyYWNraW5nIGRvbWFpbnMuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluIEEgdHJhY2tpbmcgZG9tYWluLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kb21haW5zLmh0bWwjdjNfdXNlcl90cmFja2luZ19kb21haW5fY2xpY2tzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyVHJhY2tpbmdEb21haW5DbGlja3MoJGRvbWFpbiwgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcm9sbHVwPW51bGwsICRsaW1pdD0xMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdkb21haW4nID0+ICRkb21haW4sICd1bml0JyA9PiAkdW5pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsICdsaW1pdCcgPT4gJGxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAndW5pdF9yZWZlcmVuY2VfdHMnID0+ICR1bml0UmVmZXJlbmNlVHMpOwogICAgICAgIGlmICgkdW5pdHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sndW5pdHMnXSA9ICR1bml0czsKICAgICAgICB9CiAgICAgICAgaWYgKCRyb2xsdXAgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncm9sbHVwJ10gPSAkcm9sbHVwOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvdHJhY2tpbmdfZG9tYWluX2NsaWNrcycsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0Wyd0cmFja2luZ19kb21haW5fY2xpY2tzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgbGlua3MgcG9pbnRpbmcgdG8gYSBzcGVjaWZpZWQgdHJhY2tpbmcKICAgICAqIGRvbWFpbiBzaG9ydGVuZWQgaW4gYSBnaXZlbiB0aW1lIHBlcmlvZCBieSBhbGwgQml0bHkgdXNlcnMuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluIEEgdHJhY2tpbmcgZG9tYWluLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kb21haW5zLmh0bWwjdjNfdXNlcl90cmFja2luZ19kb21haW5fc2hvcnRlbl9jb3VudHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJUcmFja2luZ0RvbWFpblNob3J0ZW5Db3VudHMoCiAgICAgICAgJGRvbWFpbiwgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLCAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICRyb2xsdXA9bnVsbCwgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2RvbWFpbicgPT4gJGRvbWFpbiwgJ3VuaXQnID0+ICR1bml0LAogICAgICAgICAgICAgICAgICAgICAgICAndGltZXpvbmUnID0+ICR0aW1lem9uZSwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvdXNlci90cmFja2luZ19kb21haW5fc2hvcnRlbl9jb3VudHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsndHJhY2tpbmdfZG9tYWluX3Nob3J0ZW5fY291bnRzJ107CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc2FibGVJUHY2KCkKICAgIHsKICAgICAgICAkdGhpcy0+aXNJUHY2RGlzYWJsZWQgPSB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogRXhlY3V0ZSBhIHF1ZXJ5IGFnYWluc3QgdGhlIEJpdGx5IEFQSSBhbmQgcmV0dXJuIGRlY29kZWQgcmVzdWx0cy4KICAgICAqCiAgICAgKiBAaW50ZXJuYWwKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmRwb2ludCBBUEkgZW5kcG9pbnQgdG8gcXVlcnkuCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcyAoT3B0aW9uYWwpIFF1ZXJ5IHBhcmFtZXRlcnMuCiAgICAgKiBAcGFyYW0gYm9vbCAkcG9zdCBEbyBhbiBIVFRQIFBPU1QgaW5zdGVhZCBvZiBHRVQuCiAgICAgKiBAcGFyYW0gYm9vbCAkanNvbiBBdHRlbXB0IHRvIGRlY29kZSByZXNwb25zZSBhcyBKU09OLgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNhbGwoJGVuZHBvaW50LCBBcnJheSAkcGFyYW1zPW51bGwsICRwb3N0PWZhbHNlLCAkanNvbj10cnVlKQogICAgewogICAgICAgIGlmICgkcGFyYW1zID09PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIH0KICAgICAgICAkdXJsID0gJHRoaXMtPmFwaVVybCAuICRlbmRwb2ludDsKICAgICAgICAkcGFyYW1zWydmb3JtYXQnXSA9ICdqc29uJzsKICAgICAgICBpZiAoJHRoaXMtPmFjY2Vzc1Rva2VuICE9PSBudWxsICYmCiAgICAgICAgICAgICFhcnJheV9rZXlfZXhpc3RzKCdhY2Nlc3NfdG9rZW4nLCAkcGFyYW1zKSkKICAgICAgICB7CiAgICAgICAgICAgICRwYXJhbXNbJ2FjY2Vzc190b2tlbiddID0gJHRoaXMtPmFjY2Vzc1Rva2VuOwogICAgICAgIH0KCiAgICAgICAgLy8gQ29udmVydCBib29sZWFucyB0byAndHJ1ZScvJ2ZhbHNlJy4KICAgICAgICBmb3JlYWNoKCRwYXJhbXMgYXMgJGsgPT4gJiR2KSB7CiAgICAgICAgICAgIGlmIChpc19ib29sKCR2KSkgewogICAgICAgICAgICAgICAgJHYgPSAkdiA/ICd0cnVlJyA6ICdmYWxzZSc7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRjaCA9IGN1cmxfaW5pdCgpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdGhpcy0+Y29ubmVjdFRpbWVvdXQpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCAkdGhpcy0+dGltZW91dCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJBR0VOVCwgJHRoaXMtPnVzZXJBZ2VudCk7CgogICAgICAgIGlmICgkdGhpcy0+aXNJUHY2RGlzYWJsZWQpIHsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0lQUkVTT0xWRSwgQ1VSTF9JUFJFU09MVkVfVjQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAoJHBvc3QpIHsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIHRydWUpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJHBhcmFtcyk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRxdWVyeSA9IGJ1aWxkX3F1ZXJ5KCRwYXJhbXMpOwogICAgICAgICAgICAkdXJsIC49ICc/JyAuICRxdWVyeTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCk7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAkc3RhdHVzX2NvZGUgPSBjdXJsX2dldGluZm8oJGNoLCBDVVJMSU5GT19IVFRQX0NPREUpOwogICAgICAgIGlmICgkc3RhdHVzX2NvZGUgIT09IDIwMCkgewogICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlBUElFcnJvcigkcmVzdWx0LCAkc3RhdHVzX2NvZGUpOwogICAgICAgIH0KICAgICAgICBpZiAoJGpzb24pIHsKICAgICAgICAgICAgJHJlc3VsdCA9IGpzb25fZGVjb2RlKCRyZXN1bHQsIHRydWUpOwogICAgICAgICAgICBpZiAoJHJlc3VsdFsnc3RhdHVzX2NvZGUnXSAhPT0gMjAwKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlBUElFcnJvcigkcmVzdWx0WydzdGF0dXNfdHh0J10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KSRyZXN1bHRbJ3N0YXR1c19jb2RlJ10pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkcmVzdWx0WydkYXRhJ107CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.T2t_presence.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQoKCgpjbGFzcyBUMnRfcHJlc2VuY2UKewogIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCmZ1bmN0aW9uIGRldGFpbHNfcHJlc2VuY2UoJGlkX3ByZXNlbmNlKQp7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCBpZCxub20sIGRlc2NyaXB0aW9uLCBkYXRlX2RlYnV0LCBoZXVyZV9kZWJ1dCwgZGF0ZV9saW1pdGUsIGFjdGlmLCBncm91cGUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ByZXNlbmNlX3ByZXNlbmNlIFdIRVJFIGlkID0gPyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfcHJlc2VuY2UpKTsKCSRkZXRhaWxzID0gYXJyYXkoKTsKCWlmKCRkYnJlc3VsdCkKCXsKCQl3aGlsZSgkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJCXsKCQkJJGRldGFpbHNbJ2lkX3ByZXNlbmNlJ10gPSAkcm93WydpZCddOwoJCQkkZGV0YWlsc1snbm9tJ10gPSAkcm93Wydub20nXTsKCQkJJGRldGFpbHNbJ2Rlc2NyaXB0aW9uJ10gPSAkcm93WydkZXNjcmlwdGlvbiddOwoJCQkkZGV0YWlsc1snZGF0ZV9kZWJ1dCddID0gJHJvd1snZGF0ZV9kZWJ1dCddOwoJCQkkZGV0YWlsc1snaGV1cmVfZGVidXQnXSA9ICRyb3dbJ2hldXJlX2RlYnV0J107CgkJCSRkZXRhaWxzWydkYXRlX2xpbWl0ZSddID0gJHJvd1snZGF0ZV9saW1pdGUnXTsKCQkJJGRldGFpbHNbJ2FjdGlmJ10gPSAkcm93WydhY3RpZiddOwoJCQkkZGV0YWlsc1snZ3JvdXBlJ10gPSAkcm93Wydncm91cGUnXTsKCQl9Cgl9CgkJcmV0dXJuICRkZXRhaWxzOwoJCgp9Ci8vYWpvdXRlIHVuZSBpbnNjcmlwdGlvbgpmdW5jdGlvbiBhZGRfcHJlc2VuY2UoJG5vbSwgJGRlc2NyaXB0aW9uLCAkZGF0ZV9kZWJ1dCwgICRoZXVyZV9kZWJ1dCwgJGRhdGVfbGltaXRlLCAkYWN0aWYsICRncm91cGUpCnsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcHJlc19vcHMgPSBuZXcgVDJ0X3ByZXNlbmNlOwoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UgKG5vbSwgZGVzY3JpcHRpb24sIGRhdGVfZGVidXQsIGhldXJlX2RlYnV0LCBkYXRlX2xpbWl0ZSwgYWN0aWYsIGdyb3VwZSkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCA/KSI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbm9tLCAkZGVzY3JpcHRpb24sICRkYXRlX2RlYnV0LCAkaGV1cmVfZGVidXQsJGRhdGVfbGltaXRlLCAkYWN0aWYsICRncm91cGUpKTsKCWlmKCRkYnJlc3VsdCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCQkKCX0KCWVsc2UKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KIyMKZnVuY3Rpb24gZWRpdF9wcmVzZW5jZSgkcmVjb3JkX2lkLCRub20sICRkZXNjcmlwdGlvbiwgJGRhdGVfZGVidXQsICRoZXVyZV9kZWJ1dCwgJGRhdGVfbGltaXRlLCAkYWN0aWYsICRncm91cGUpCnsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UgU0VUIG5vbSA9ID8sIGRlc2NyaXB0aW9uID0gPywgZGF0ZV9kZWJ1dCA9ID8sIGhldXJlX2RlYnV0ID0gPywgZGF0ZV9saW1pdGUgPSA/LCAgYWN0aWYgPSA/LCBncm91cGUgPSA/IFdIRVJFIGlkID0gPyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbm9tLCAkZGVzY3JpcHRpb24sICRkYXRlX2RlYnV0LCAkaGV1cmVfZGVidXQsJGRhdGVfbGltaXRlLCAkYWN0aWYsICRncm91cGUsICRyZWNvcmRfaWQpKTsKCWlmKCRkYnJlc3VsdCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCWVsc2UKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KLy9zdXBwcmltZSB1bmUgcHLDqXNlbmNlIGVudGnDqHJlbWVudApmdW5jdGlvbiBkZWxldGVfcHJlc2VuY2UoJGlkX3ByZXNlbmNlKQp7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UgV0hFUkUgaWQgPSA/IjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpZF9wcmVzZW5jZSkpOwoJaWYoJGRicmVzdWx0KQoJewoJCXJldHVybiB0cnVlOwoJfQoJZWxzZQoJewoJCXJldHVybiBmYWxzZTsKCX0KfQovL2FjdGl2ZSBvdSBkw6lzYWN0aXZlIHVuZSBwcsOpc2VuY2UKZnVuY3Rpb24gYWN0aXZhdGVfZGVzYWN0aXZhdGVfaW5zY3JpcHRpb24oJGlkX3ByZXNlbmNlLCRhY3Rpb24pCnsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UgU0VUIGFjdGlmID0gPyBXSEVSRSBpZCA9ID8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGFjdGlvbiwgJGlkX3ByZXNlbmNlKSk7Cn0KLy9yZW52b2llIGxlIG5iIGRlIGpvdWV1cnMgZGFucyB1bmUgb3B0aW9uIGRvbm7DqWUKZnVuY3Rpb24gY291bnRfdXNlcnNfaW5fcHJlc2VuY2UoJGlkX3ByZXNlbmNlKQp7CglnbG9iYWwgJGdDbXM7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCBjb3VudCgqKSBBUyBuYiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfYmVsb25ncyBXSEVSRSBpZF9wcmVzZW5jZSA9ID8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGlkX3ByZXNlbmNlKSk7CglpZigkZGJyZXN1bHQpCgl7CgkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCQkkbmIgPSAkcm93WyduYiddOwoJfQoJZWxzZQoJewoJCSRuYiA9IDA7Cgl9CglyZXR1cm4gJG5iOwp9Ci8vc3VwcHJpbWUgdG91cyBsZXMgam91ZXVycyBkJ3VuZSBpbnNjcmlwdGlvbiAhCmZ1bmN0aW9uIGRlbGV0ZV91c2Vyc19pbl9wcmVzZW5jZSgkaWRfcHJlc2VuY2UpCnsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcmVzZW5jZV9iZWxvbmdzIFdIRVJFIGlkX3ByZXNlbmNlID0gPyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfcHJlc2VuY2UpKTsKCQp9Ci8vZMOpdGVybWluZSBzaSB1biB1dGlsaXNhdGV1ciBhIHLDqXBvbmR1IG91IG5vbgpmdW5jdGlvbiBoYXNfZXhwcmVzc2VkKCRpZF9wcmVzZW5jZSwgJGdlbmlkKQp7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCBnZW5pZCwgaWRfb3B0aW9uIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcmVzZW5jZV9iZWxvbmdzIFdIRVJFIGlkX3ByZXNlbmNlID0gPyBBTkQgZ2VuaWQgPSA/IjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpZF9wcmVzZW5jZSwgJGdlbmlkKSk7CglpZigkZGJyZXN1bHQpCgl7CgkJaWYoJGRicmVzdWx0LT5yZWNvcmRDb3VudCgpPjApCgkJewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCWVsc2UKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KLy9yw6ljdXDDqHJlIGxhIHLDqXBvbnNlIGQndW4gYWRow6lyZW50CmZ1bmN0aW9uIHVzZXJfY2hvaWNlKCRpZF9wcmVzZW5jZSwgJGdlbmlkKQp7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCBpZF9vcHRpb24gRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ByZXNlbmNlX2JlbG9uZ3MgV0hFUkUgaWRfcHJlc2VuY2UgPSA/IEFORCBnZW5pZCA9ID8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGlkX3ByZXNlbmNlLCAkZ2VuaWQpKTsKCWlmKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPnJlY29yZENvdW50KCk+MCkKCXsKCQkkcm93ID0gJGRicmVzdWx0LT5mZXRjaFJvdygpOwoJCSRpZF9vcHRpb24gPSAkcm93WydpZF9vcHRpb24nXTsKCQlyZXR1cm4gJGlkX29wdGlvbjsKCX0KCWVsc2UKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KLy9zdXBwcmltZSB1bmUgcsOpcG9uc2UgZCd1biBhZGjDqXJlbnQKZnVuY3Rpb24gZGVsZXRlX3JlcG9uc2UoJGlkX3ByZXNlbmNlLCAkZ2VuaWQpCnsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcmVzZW5jZV9iZWxvbmdzIFdIRVJFIGlkX3ByZXNlbmNlID0gPyBBTkQgZ2VuaWQgPSA/IjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpZF9wcmVzZW5jZSwgJGdlbmlkKSk7CglpZigkZGJyZXN1bHQpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CgllbHNlCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQp9Ci8vYWpvdXRlIHVuZSByw6lwb25zZSBkJ3VuIGFkaMOpcmVudCDDoCB1bmUgcHLDqXNlbmNlIGRvbm7DqWUKZnVuY3Rpb24gYWRkX3JlcG9uc2UoJGlkX3ByZXNlbmNlLCAkZ2VuaWQsICRyZXBvbnNlKQp7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfYmVsb25ncyAoaWRfcHJlc2VuY2UsIGdlbmlkLCBpZF9vcHRpb24pIFZBTFVFUyAoPywgPywgPykiOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGlkX3ByZXNlbmNlLCAkZ2VuaWQsICRyZXBvbnNlKSk7CglpZigkZGJyZXN1bHQpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CgllbHNlCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQp9Ci8vZW52b2llIHVuIGVtYWlsIHBvdXIgbGVzIHByw6lzZW5jZXMgL2Fic2VuY2VzCmZ1bmN0aW9uIHNlbmRfZW1haWwoJHNlbmRlciwgJHJlY2lwaWVudCwkc3ViamVjdCwgJHByaW9yaXR5LCAkbGllbm9rLCAkbGllbmtvKQp7CgkJJHByZXMgPSBuZXcgcHJlc2VuY2U7CgkKCQkkYm9keSA9ICRwcmVzLT5HZXRUZW1wbGF0ZSgncHJlc2VuY2VtYWlsX1NhbXBsZScpOwoJCSRib2R5ID0gJHByZXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRib2R5KTsKCQkkY21zbWFpbGVyID0gbmV3IFxjbXNfbWFpbGVyKCk7CgkJJGNtc21haWxlci0+cmVzZXQoKTsKCS8vCSRjbXNtYWlsZXItPlNldEZyb20oJHNlbmRlcik7Ly8kdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fZW1haWwnKSk7CgkJJGNtc21haWxlci0+QWRkQWRkcmVzcygkcmVjaXBpZW50LCRuYW1lPScnKTsKCQkkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7CgkJJGNtc21haWxlci0+U2V0UHJpb3JpdHkoJHByaW9yaXR5KTsKCQkKCQkkY21zbWFpbGVyLT5TZXRCb2R5KCRib2R5KTsKCQkkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCRzdWJqZWN0KTsKCQkkY21zbWFpbGVyLT5TZW5kKCk7CiAgICAgICAgICAgICAgICBpZiggISRjbXNtYWlsZXItPlNlbmQoKSApIAoJCXsJCQkKICAgICAgICAgICAgICAgICAgICAJcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQp9Ci8vZW52b2llIHVuIGVtYWlsIG5vcm1hbApmdW5jdGlvbiBzZW5kX25vcm1hbF9lbWFpbCgkc2VuZGVyLCAkcmVjaXBpZW50LCRzdWJqZWN0LCAkcHJpb3JpdHksICRtZXNzYWdlKQp7CgkJJHByZXMgPSBuZXcgcHJlc2VuY2U7CgkKCQkkYm9keSA9ICRwcmVzLT5HZXRUZW1wbGF0ZSgncHJlc2VuY2VtYWlsX1NhbXBsZScpOwoJCSRib2R5ID0gJHByZXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRib2R5KTsKCQkkY21zbWFpbGVyID0gbmV3IFxjbXNfbWFpbGVyKCk7CgkJJGNtc21haWxlci0+cmVzZXQoKTsKCS8vCSRjbXNtYWlsZXItPlNldEZyb20oJHNlbmRlcik7Ly8kdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fZW1haWwnKSk7CgkJJGNtc21haWxlci0+QWRkQWRkcmVzcygkcmVjaXBpZW50LCRuYW1lPScnKTsKCQkkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7CgkJJGNtc21haWxlci0+U2V0UHJpb3JpdHkoJHByaW9yaXR5KTsKCQkKCQkkY21zbWFpbGVyLT5TZXRCb2R5KCRtZXNzYWdlKTsKCQkkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCRzdWJqZWN0KTsKCQkkY21zbWFpbGVyLT5TZW5kKCk7CiAgICAgICAgICAgICAgICBpZiggISRjbXNtYWlsZXItPlNlbmQoKSApIAoJCXsJCQkKICAgICAgICAgICAgICAgICAgICAJcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQp9CgovL2NvbGxlY3RlIGxlcyBnZW5pZCBkZXMgcGVyc29ubmVzIGF5YW50IGTDqWrDoCByw6lwb25kdWVzIMOgIHVuZSBwcsOpc2VuY2UgZG9ubsOpZQpmdW5jdGlvbiByZWxhbmNlX2VtYWlsX2xpY2VuY2UoJGlkX3ByZXNlbmNlKQp7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCBnZW5pZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfYmVsb25ncyBXSEVSRSBpZF9wcmVzZW5jZSA9ID8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGlkX3ByZXNlbmNlKSk7CgkkbGlzdGVfbGljZW5jZXMgPSBhcnJheSgpOwoJaWYoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKT4wKQoJewoJCXdoaWxlKCRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCQkkbGlzdGVfbGljZW5jZXNbXSA9ICRyb3dbJ2dlbmlkJ107CgkJfQoJCXJldHVybiAkbGlzdGVfbGljZW5jZXM7Cgl9CgllbHNlCgl7CgkJcmV0dXJuIEZBTFNFOwoJfQp9CiMjCiNFTkQgT0YgQ0xBU1MKfQo=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByZXNlbmNlCiMgVmVyc2lvbjogMC4yLCBDbGF1ZGUgU0lPSEFOCiMgTWV0aG9kOiBJbnN0YWxsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogKiBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogKiBBUEksIGFuZCB0aGF0IGV2ZXJ5dGhpbmcncyBzYWZlIHRvIGNvbnRpbnVlOgogKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCi8qKiAKICogQWZ0ZXIgdGhpcywgdGhlIGNvZGUgaXMgaWRlbnRpY2FsIHRvIHRoZSBjb2RlIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlCiAqIHdyYXBwZWQgaW4gdGhlIEluc3RhbGwoKSBtZXRob2QgaW4gdGhlIG1vZHVsZSBib2R5LgogKi8KCiRkYiA9ICRnQ21zLT5HZXREYigpOwoKLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCiR0YWJvcHRhcnJheSA9IGFycmF5KCAnbXlzcWwnID0+ICdFTkdJTkU9TXlJU0FNJyApOwoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgovLyB0YWJsZSBzY2hlbWEgZGVzY3JpcHRpb24KJGZsZHMgPSAiCglpZCBJKDExKSBBVVRPIEtFWSwKCW5vbSBDKDI1NSksCglkZXNjcmlwdGlvbiBDKDI1NSksCglyZXBvbnNlMSBDKDE1MCksCglyZXBvbnNlMiBDKDE1MCksCglkYXRlX2RlYnV0IEQsCglkYXRlX2xpbWl0ZSBELAoJaGV1cmVfZGVidXQgVCwKCWFjdGlmIEkoMSkgREVGQVVMVCAwLAoJZ3JvdXBlIEkoMikgREVGQVVMVCAwIjsKCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsJCQkKLy8KLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCiR0YWJvcHRhcnJheSA9IGFycmF5KCAnbXlzcWwnID0+ICdFTkdJTkU9TXlJU0FNJyApOwoKCgokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCi8vIHRhYmxlIHNjaGVtYSBkZXNjcmlwdGlvbgokZmxkcyA9ICIKCWlkIEkoMTEpIEFVVE8gS0VZLAoJaWRfcHJlc2VuY2UgSSgxMSksCglpZF9vcHRpb24gSSgxKSwKCWdlbmlkIEkoMTEpIjsKCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfYmVsb25ncyIsICRmbGRzLCAkdGFib3B0YXJyYXkpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkJCQovLwovLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UKJHRhYm9wdGFycmF5ID0gYXJyYXkoICdteXNxbCcgPT4gJ0VOR0lORT1NeUlTQU0nICk7CgovL1Blcm1pc3Npb25zCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnLCAnVXRpbGlzZXIgbGUgbW9kdWxlIFByw6lzZW5jZScpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignUHJlc2VuY2UgU2V0IFByZWZzJywgJ01vZGlmaWVyIGxlcyBkb25uw6llcyBkdSBjb21wdGUnKTsKCgovL21haWxzIHRlbXBsYXRlcwojIE1haWxzIHRlbXBsYXRlcwoKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19wcmVzZW5jZW1haWx0ZW1wbGF0ZS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCnsKCSR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCAkZm4gKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgncHJlc2VuY2VtYWlsX1NhbXBsZScsJHRlbXBsYXRlKTsKfQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX3JlbGFuY2VlbWFpbHRlbXBsYXRlLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKewoJJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoICRmbiApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdyZWxhbmNlZW1haWxfU2FtcGxlJywkdGVtcGxhdGUpOwp9CiRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfc21zdGVtcGxhdGUudHBsJyk7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQp7CgkkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cyggJGZuICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3Ntc3RlbXBsYXRlJywkdGVtcGxhdGUpOwp9CgoKIyBMZXMgcHLDqWbDqXJlbmNlcyAKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluX2VtYWlsJywgJ3Jvb3RAbG9jYWxob3N0LmNvbScpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1haWxfcHJlc2VuY2Vfc3ViamVjdCcsJ1Byw6lzZW5jZS9BYnNlbmNlJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbWFpbF9yZWxhbmNlX3N1YmplY3QnLCAnUmVsYW5jZSBQcsOpc2VuY2UvQWJzZW5jZSAhJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfcHJlc2VuY2UnLCAnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdiaXRseV9jbGllbnRfaWQnLCAnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdiaXRseV9jbGllbnRfc2VjcmV0JywgJycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfYWNjZXNzX3Rva2VuJywgJycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfcmVkaXJlY3RfdXJpJywgJycpOwovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAKCSAgICAgICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkgICAgICAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkgKTsKCgkKCSAgICAgIAo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEluc2NyaXB0aW9ucyAoYykgMjAxNiBwYXIgQ2xhdWRlIFNJT0hBTgojICAgICAgICAKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCiRkYiA9ICR0aGlzLT5HZXREYigpOwoKLy8gcmVtb3ZlIHRoZSBkYXRhYmFzZSB0YWJsZXMKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcmVzZW5jZV9wcmVzZW5jZSIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfYmVsb25ncyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCi8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ1ByZXNlbmNlIHVzZScpOwoKCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJykpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByZXNlbmNlCiMgVmVyc2lvbjogMC4zCiMgTWV0aG9kOiBVcGdyYWRlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogKiBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogKiBBUEksIGFuZCB0aGF0IGV2ZXJ5dGhpbmcncyBzYWZlIHRvIGNvbnRpbnVlOgoqLyAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsJCQkvKiBAdmFyICRkYiBBRE9Db25uZWN0aW9uICovCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsgCS8qIEB2YXIgJGRpY3QgQURPREJfRGF0YURpY3QgKi8KLyoqCiAqIEFmdGVyIHRoaXMsIHRoZSBjb2RlIGlzIGlkZW50aWNhbCB0byB0aGUgY29kZSB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZQogKiB3cmFwcGVkIGluIHRoZSBVcGdyYWRlKCkgbWV0aG9kIGluIHRoZSBtb2R1bGUgYm9keS4KICovCgokY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247CnN3aXRjaCgkY3VycmVudF92ZXJzaW9uKQp7CiAgLy8gd2UgYXJlIG5vdyAxLjAgYW5kIHdhbnQgdG8gdXBncmFkZSB0byBsYXRlc3QKIAoJCgljYXNlICIwLjEiIDogCgljYXNlICIwLjIiIDoJCgkKCXsKCQkvLyR0aGlzLT5TZXRQcmVmZXJlbmNlKCdMYXN0U2VuZE1lc3NhZ2UnLCB0aW1lKCkpOwoJCSRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfcHJlc2VuY2VtYWlsdGVtcGxhdGUudHBsJyk7CgkJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCgkJewoJCQkkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cyggJGZuICk7CgkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgncHJlc2VuY2VtYWlsX1NhbXBsZScsJHRlbXBsYXRlKTsKCQl9CgkJCgkJJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19zbXN0ZW1wbGF0ZS50cGwnKTsKCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJCSR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCAkZm4gKTsKCQkJJHRoaXMtPlNldFRlbXBsYXRlKCdzbXNfcmVsYW5jZScsJHRlbXBsYXRlKTsKCQl9Cgl9CgkKCWNhc2UgIjAuMyIgOiAKCXsKCQkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ByZXNlbmNlX3ByZXNlbmNlIiwgInJlcG9uc2UxIEMoMTUwKSwgcmVwb25zZTIgQygxNTApIik7CgkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCX0KfQovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAKCSAgICAgICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkgICAgICAkdGhpcy0+TGFuZygndXBncmFkZWQnLCAkdGhpcy0+R2V0VmVyc2lvbigpKSk7CgovL25vdGU6IG1vZHVsZSBhcGkgaGFuZGxlcyBzZW5kaW5nIGdlbmVyaWMgZXZlbnQgb2YgbW9kdWxlIHVwZ3JhZGVkIGhlcmUKPz4=]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJQcmVzZW5jZSIKdmVyc2lvbiA9ICIwLjMuMSIKYXV0aG9yID0gIkNsYXVkZSBTSU9IQU4iCmF1dGhvcmVtYWlsID0gImNsYXVkZS5zaW9oYW5AZ21haWwuY29tIgptaW5jbXN2ZXJzaW9uID0gMi4wCmxhenlsb2FkYWRtaW4gPSAwCmxhenlsb2FkZnJvbnRlbmQgPSAwCltkZXBlbmRzXQpBZGhlcmVudHMgPSAiMC4zLjMuMSIKTWVzc2FnZXMgPSAiMC4zLjEiClNtcyA9ICIwLjMuMSIK]]></data>
	</file>
	<file>
	  <filename>/Presence.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlIDogUHJlc2VuY2UgLSAKIyBWZXJzaW9uIDogMC4zLCBTYwojIEF1dGV1ciA6IENsYXVkZSBTSU9IQU4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLyoqCiAqCiAqIEBhdXRob3IgQ2xhdWRlIFNJT0hBTgogKiBAc2luY2UgMC4xCiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMSAkCiAqIEBtb2RpZmllZGJ5ICRMYXN0Q2hhbmdlZEJ5OiBDbGF1ZGUKICogQGxhc3Rtb2RpZmllZCAkRGF0ZTogMjAxNy0wMy0yNiAxMTo1NjoxNiArMDIwMCAoTW9uLCAyOCBKdWlsIDIwMTUpICQKICogQGxpY2Vuc2UgR1BMCiAqKi8KCmNsYXNzIFByZXNlbmNlIGV4dGVuZHMgQ01TTW9kdWxlCnsKICAKICBmdW5jdGlvbiBHZXROYW1lKCkgeyByZXR1cm4gJ1ByZXNlbmNlJzsgfSAgIAogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsgfSAgIAogIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7IHJldHVybiAnMC4zLjEnOyB9ICAKICBmdW5jdGlvbiBHZXRIZWxwKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsgfSAgIAogIGZ1bmN0aW9uIEdldEF1dGhvcigpIHsgcmV0dXJuICdDbGF1ZGUgU0lPSEFOJzsgfSAKICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsgcmV0dXJuICdjbGF1ZGUuc2lvaGFuQGdtYWlsLmNvbSc7IH0KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKSB7IHJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7IH0KICAgIAogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgeyByZXR1cm4gdHJ1ZTsgfQogIGZ1bmN0aW9uIEhhc0FkbWluKCkgeyByZXR1cm4gdHJ1ZTsgfSAgIAogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpIHsgcmV0dXJuICdjb250ZW50JzsgfQogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsgfQogCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICAJcmV0dXJuIAoJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1ByZXNlbmNlIHVzZScpOwoJCiAgfQogIAogIAogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewoJcmV0dXJuIGFycmF5KCdBZGhlcmVudHMnPT4nMC4zLjMuMScsICdNZXNzYWdlcyc9PicwLjMuMScsICdTbXMnPT4nMC4zLjEnKTsKICB9CgogIAoKICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgewogICAgcmV0dXJuICIyLjAiOwogIH0KCiAgCiAgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCiAgeyAKICAJJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CgkkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGlzcGxheScsQ0xFQU5fU1RSSU5HKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhY3Rpb24nLENMRUFOX1NUUklORyk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmVjb3JkX2lkJywgQ0xFQU5fSU5UKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpZF9wcmVzZW5jZScsIENMRUFOX0lOVCk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbGljZW5jZScsIENMRUFOX1NUUklORyk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZ2VuaWQnLCBDTEVBTl9JTlQpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3JlcG9uc2UnLCBDTEVBTl9JTlQpOwoJCgkvL2Zvcm0gcGFyYW1ldGVycwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N1Ym1pdCcsQ0xFQU5fU1RSSU5HKTsKCS8vJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RvdXJsaXN0JyxDTEVBTl9JTlQpOwoJCgp9CgpmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKQp7CiAgCSR0aGlzLT5TZXRQYXJhbWV0ZXJzKCk7CgkvLyR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhZ2VsaW1pdCcsIDEwMDAwMCwgJHRoaXMtPkxhbmcoJ2hlbHBfcGFnZWxpbWl0JykpOwp9CgpwdWJsaWMgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwgJHBhcmFtcyA9IGFycmF5KCkpCnsKICAgaWYoICRjYXBhYmlsaXR5ID09ICd0YXNrcycgKSByZXR1cm4gVFJVRTsKICAgcmV0dXJuIEZBTFNFOwp9CgpwdWJsaWMgZnVuY3Rpb24gZ2V0X3Rhc2tzKCkKewogICAkb2JqID0gYXJyYXkoKTsKCS8vJG9ialswXSA9IG5ldyBSZWN1cEFkaGVyZW50c1Rhc2soKTsKIC8vICAJJG9ialswXSA9IG5ldyBzZW5kVGFzaygpOyAgCgkKcmV0dXJuICRvYmo7IAp9CgogIGZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24gKCAkZXZlbnRuYW1lICkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2luZm9fJy4kZXZlbnRuYW1lICk7CiAgfQogICAgIAogIGZ1bmN0aW9uIEdldEV2ZW50SGVscCAoICRldmVudG5hbWUgKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaGVscF8nLiRldmVudG5hbWUgKTsKICB9CgogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOyB9CiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOyB9CiAgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7IH0KICBmdW5jdGlvbiByYW5kb21fc3RyaW5nKCRjYXIpIHsKCSRzdHJpbmcgPSAiIjsKCSRjaGFpbmUgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5IjsKCXNyYW5kKChkb3VibGUpbWljcm90aW1lKCkqMTAwMDAwMCk7Cglmb3IoJGk9MDsgJGk8JGNhcjsgJGkrKykgewoJCSRzdHJpbmcgLj0gJGNoYWluZVtyYW5kKCklc3RybGVuKCRjaGFpbmUpXTsKCX0KCXJldHVybiAkc3RyaW5nOwogIH0KCiAgCiAgZnVuY3Rpb24gX1NldFN0YXR1cygkb2lkLCAkc3RhdHVzKSB7CiAgICAvLy4uLgogIH0KCgoKCn0gLy9lbmQgY2xhc3MKPz4K]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAgAAAABAAAQAABlAG4AYwBlAC4AdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAcAByAGUAcwBlAG4AYwBlAC4AdABwAGxwdGJMdXN0cgAAADMAQQBwAHAAbABpAGMAYQB0AGkAbwBuAHMALwBNAEEATQBQAC8AaAB0AGQAbwBjAHMALwAxAC4AMAAvAG0AbwBkAHUAbABlAHMALwBSAHMAcwAvAHQAZQBtAHAAbABhAHQAZQBzAC8AAAAMAHAAcgBlAHMAZQBuAGMAZQAuAHQAcABscHRiTnVzdHIAAAAHAHIAcwBzAC4AdABwAGwAAAAMAHIAZQBwAG8AbgBzAGUAcwAuAHQAcABscHRiTHVzdHIAAAAzAEEAcABwAGwAaQBjAGEAdABpAG8AbgBzAC8ATQBBAE0AUAAvAGgAdABkAG8AYwBzAC8AMQAuADAALwBtAG8AZAB1AGwAZQBzAC8AUgBzAHMALwB0AGUAbQBwAGwAYQB0AGUAcwAvAAAADAByAGUAcABvAG4AcwBlAHMALgB0AHAAbHB0Yk51c3RyAAAABwByAHMAcwAuAHQAcABsAAAAEABzAGgAbwB3AF8AbQBlAHMAcwBhAGcAZQAuAHQAcABscHRiTHVzdHIAAAAzAEEAcABwAGwAaQBjAGEAdABpAG8AbgBzAC8ATQBBAE0AUAAvAGgAdABkAG8AYwBzAC8AMQAuADAALwBtAG8AZAB1AGwAZQBzAC8AUgBzAHMALwB0AGUAbQBwAGwAYQB0AGUAcwAvAAAAEABzAGgAbwB3AF8AbQBlAHMAcwBhAGcAZQAuAHQAcABscHRiTnVzdHIAAAAHAHIAcwBzAC4AdABwAGwAAAATAHMAaABvAHcAXwByAGUAYwBpAHAAaQBlAG4AdABzAC4AdABwAGxwdGJMdXN0cgAAADMAQQBwAHAAbABpAGMAYQB0AGkAbwBuAHMALwBNAEEATQBQAC8AaAB0AGQAbwBjAHMALwAxAC4AMAAvAG0AbwBkAHUAbABlAHMALwBSAHMAcwAvAHQAZQBtAHAAbABhAHQAZQBzAC8AAAATAHMAaABvAHcAXwByAGUAYwBpAHAAaQBlAG4AdABzAC4AdABwAGxwdGJOdXN0cgAAAAcAcgBzAHMALgB0AHAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAAECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAIAAAAGAAAAAAAAAAAQAAAIAAAAABAAABAAAAAAEAAAIAAAAAAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/templates/add_edit_presence.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KeyRmb3Jtc3RhcnR9CnskcmVjb3JkX2lkfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPkxpYmVsbMOpPC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbm9tfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij5EZXNjcmlwdGlvbjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGRlc2NyaXB0aW9ufTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij5EYXRlIGV0IGhldXJlIGRlIGTDqWJ1dDwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGRhdGVfZGVidXR9IC0geyRoZXVyZV9kZWJ1dH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+RGF0ZSBsaW1pdGUgZGUgcsOpcG9uc2U8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkYXRlX2xpbWl0ZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+QWN0aWY8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhY3RpZn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+R3JvdXBlID88L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRncm91cGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgogIDwvZGl2Pgp7JGZvcm1lbmR9CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/assign_users.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CnsqKn08ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHA+TGVzIGFkaMOpcmVudHMgc8OpbGVjdGlvbm7DqXMgcGFyIGNhdMOpZ29yaWUgc29udCBhY3RpZnMgZXQgbm9uIGTDqWrDoCBhZmZlY3TDqXMgw6AgY2V0dGUgY290aXNhdGlvbjwvcD4KeyRmb3Jtc3RhcnR9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij5OwrAgb3B0aW9uIDo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlkX29wdGlvbn08L3A+CiAgPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPk7CsCBJbnNjcmlwdGlvbiA6PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpZF9pbnNjcmlwdGlvbn08L3A+CiAgPC9kaXY+Cgp7Zm9yZWFjaCBmcm9tPSRyb3dhcnJheSBrZXk9a2V5IGl0ZW09ZW50cnl9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giICBuYW1lPSJtMV9saWNlbmNlW3ska2V5fV0iIGlkPSJtMV9saWNlbmNlW3ska2V5fV0iIHtpZiAkZW50cnlbJ3BhcnRpY2lwZSddID09MX1jaGVja2VkPSdjaGVja2VkJyB7L2lmfSB2YWx1ZSA9ICcxJz57JGVudHJ5WyduYW1lJ119PC9wPgogIDwvZGl2Pgp7L2ZvcmVhY2h9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgogIDwvZGl2Pgp7JGZvcm1lbmR9CjwvZGl2Pgp7Kip9]]></data>
	</file>
	<file>
	  <filename>/templates/notifications.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydF9mb3JtfQo8ZmllbGRzZXQ+CjxsZWdlbmQ+Q29uZmlndXJhdGlvbiBwcmluY2lwYWxlPC9sZWdlbmQ+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+QWxpYXMgZGUgbGEgcGFnZSBkZXMgcsOpcG9uc2VzIChPYmxpZ2F0b2lyZSk8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwYWdlaWRfcHJlc2VuY2V9PC9wPgoJPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CQo8bGVnZW5kPlBhcmFtw6h0cmVzIEVtYWlsPC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPkVtYWlsIGR1IGdlc3Rpb25uYWlyZSBkZSBwcsOpc2VuY2U8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FkbWluZW1haWx9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+TGUgc3VqZXQgZHUgbWFpbDwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZW1haWxwcmVzZW5jZXN1YmplY3R9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+TGUgY29ycHMgZHUgbWFpbDwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZW1haWxwcmVzZW5jZWJvZHl9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KPGZpZWxkc2V0PgoJPGxlZ2VuZD5QYXJhbcOodHJlcyBTTVM8L2xlZ2VuZD4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij5Ob20gZGUgbCdleHDDqWRpdGV1cjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHNtc19zZW5kZXJ9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+TGUgY29ycHMgZHUgU01TPC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc21zX3JlbGFuY2V9PC9wPgoJPC9kaXY+Cgk8L2ZpZWxkc2V0PgoJPGZpZWxkc2V0PgoJCTxsZWdlbmQ+UGFyYW3DqHRyZXMgYml0bHkgKHJhY2NvdXJjaSBkZXMgdXJscyk8L2xlZ2VuZD4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8cCBjbGFzcz0icGFnZXRleHQiPiBDbGllbnQgSWQgPC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGJpdGx5X2NsaWVudF9pZH08L3A+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij5DbGllbnQgc2VjcmV0PC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGJpdGx5X2NsaWVudF9zZWNyZXR9PC9wPgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+QWNjZXNzIHRva2VuPC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGJpdGx5X2FjY2Vzc190b2tlbn08L3A+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij5QYWdlIGRlIHJldG91ciBkZSBsJ2FwcGxpY2F0aW9uPC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGJpdGx5X3JlZGlyZWN0X3VyaX08L3A+CgkJPC9kaXY+CgkJPC9maWVsZHNldD4KeyRzdWJtaXR9CnskZW5kX2Zvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/orig_presencemailtemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEwIiBib3JkZXI9IjAiPiAKPHRyIGNvbHNwYW49IjIiPgo8dGQ+eyR0aXRyZX0geyRkZXNjcmlwdGlvbn08L3RkPgo8L3RyPgo8dHI+Cjx0ZD48YSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIzRDQUY1MDtib3JkZXI6IG5vbmU7Y29sb3I6IHdoaXRlO3BhZGRpbmc6IDE1cHggMzJweDt0ZXh0LWFsaWduOiBjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOiBub25lOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Zm9udC1zaXplOiAxNnB4OyIgaHJlZj0ieyRsaWVub2t9Ij5QcsOpc2VudDwvYT48L3RkPjx0ZD48YSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtib3JkZXI6IG5vbmU7Y29sb3I6IHdoaXRlO3BhZGRpbmc6IDE1cHggMzJweDt0ZXh0LWFsaWduOiBjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOiBub25lOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Zm9udC1zaXplOiAxNnB4OyIgaHJlZj0ieyRsaWVua299Ij5BYnNlbnQ8L2E+PC90ZD4KPC90cj4KPC90YWJsZT4KPHA+UsOpcG9uZHMgZW4gY2xpcXVhbnQgc3VyIHVuIGRlcyBkZXV4IGJvdXRvbnMgY2kgZGVzc3VzIG91IGNvbm5lY3RlLXRvaSBzdXIgdG9uIGVzcGFjZSBwcml2w6kgw6AgbCdhZHJlc3NlIHN1aXZhbnRlIDogaHR0cDovL2Vzc2FpLmFnaS13ZWJjb25zZWlsLmZyL2luZGV4LnBocD9wYWdlPW1vbi1jb21wdGU=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_smstemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRyZX0geyRkZXNjcmlwdGlvbn0KUHLDqXNlbnQ9Pnskb2tsaWVufQpBYnNlbnQ9Pnska29saWVufQ==]]></data>
	</file>
	<file>
	  <filename>/templates/presence.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPkxpc3RlIGRlcyBNYXRjaHMvRW50cmFpbmVtZW50cy9FdGMuLjwvaDI+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj48cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskaXRlbWNvdW50fSZuYnNwO3skaXRlbXNmb3VuZH0gJm5ic3A7IHskYWRkX2VkaXR9PC9wPjwvZGl2Pgp7aWYgJGl0ZW1jb3VudCA+IDB9CnskZm9ybTJzdGFydH0KPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KIDx0aGVhZD4KCTx0cj4KCQk8dGg+SWQ8L3RoPgoJCTx0aD5Ob208L3RoPgoJCTx0aD5EZXNjcmlwdGlvbiA8L3RoPgoJCTx0aD5Ew6lidXQ8L3RoPgoJCTx0aD5MaW1pdGU8L3RoPgoJCTx0aD5hY3RpZiA/PC90aD4KCQk8dGg+UHLDqXZlbmlyL1JlbGFuY2VyPC90aD4KCQk8dGg+UsOpcG9uc2VzICh0YXV4KTwvdGg+CgkJPHRoIGNvbHNwYW49IjMiPkFjdGlvbihzKTwvdGg+CgkJPCEtLTx0aD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJzZWxlY3RhbGwiIG5hbWU9InNlbGVjdGFsbCI+PC90aD4tLT4KCTwvdHI+CiA8L3RoZWFkPgogPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCTx0ZD57JGVudHJ5LT5pZH08L3RkPgoJPHRkPnskZW50cnktPm5vbX08L3RkPgoJPHRkPnskZW50cnktPmRlc2NyaXB0aW9ufTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+ZGF0ZV9kZWJ1dHxkYXRlX2Zvcm1hdDoiJWQtJW0tJVkifSAtIHskZW50cnktPmhldXJlX2RlYnV0fTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+ZGF0ZV9saW1pdGV8ZGF0ZV9mb3JtYXQ6IiVkLSVtLSVZIn08L3RkPgoJPHRkPnskZW50cnktPmFjdGlmfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+ZW1haWxpbmd9IC0geyRlbnRyeS0+c21zfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+aW5zY3JpdHN9L3skZW50cnktPnRhdXh9PC90ZD4KCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPiAKCTx0ZD57JGVudHJ5LT52aWV3fTwvdGQ+IAoJPHRkPnskZW50cnktPmRlbGV0ZX08L3RkPiAKPCEtLQk8dGQ+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfXNlbFtdIiB2YWx1ZT0ieyRlbnRyeS0+aWR9IiBjbGFzcz0ic2VsZWN0Ij48L3RkPi0tPgogIDwvdHI+CnsvZm9yZWFjaH0KIDwvdGJvZHk+CjwvdGFibGU+CjwhLS0gU0VMRUNUIERST1BET1dOIC0tPgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyIgc3R5bGU9ImZsb2F0OiByaWdodDsiPgo8YnIvPnskYWN0aW9uZGVtYXNzZX17JHN1Ym1pdF9tYXNzYWN0aW9ufQogIDwvZGl2Pgp7KiRmb3JtMmVuZCp9CnsvaWZ9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/print.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfTwvcD48L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQo8aDM+TWEgbGlzdGUgZGUgcGFydGljaXBhbnRzPC9oMz4KPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBjbGFzcz0idGFibGUgdGFibGUtYm9yZGVyZWQiPgogPHRoZWFkPgoJPHRyPgoJCTx0aD5MaWNlbmNlPC90aD4KCQoJPC90cj4KIDwvdGhlYWQ+CiA8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CiAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgoJPHRkPnskZW50cnktPmxpY2VuY2V9PC90ZD4KICAgCiAgICAKICA8L3RyPgp7L2ZvcmVhY2h9CiA8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQp7aWYgJGl0ZW1jb3VudDIgPiAwfQp7Zm9yZWFjaCBmcm9tPSRpdGVtczIgaXRlbT1lbnRyeX0Keyo8cHJlPnskaXRlbXMyfHZhcl9kdW1wfTwvcHJlPip9CjxoMz5Sw6lzdWx0YXRzIGR1IHskZW50cnktPmRhdGVfZXZlbnR8ZGF0ZV9mb3JtYXQ6IiVkLyVtIn08L2gzPgkKe2lmICRpdGVtc2NvdW50X3skZW50cnktPnZhbGV1cn0gPjAgfQogIAk8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWJvcmRlcmVkIj4KCQl7Zm9yZWFjaCBmcm9tPSRwcm9kc197JGVudHJ5LT52YWxldXJ9IGl0ZW09ZG9ubmVlfQoJCXsqPHByZT57JHByb2RzX3skZW50cnktPnZhbGV1cn18dmFyX2R1bXB9PC9wcmU+Kn0JPHRyPjx0ZD57JGRvbm5lZS0+ZXF1YX08L3RkPjx0ZD57JGRvbm5lZS0+c2NvcmVhfTwvdGQ+PHRkPnskZG9ubmVlLT5zY29yZWJ9PC90ZD48dGQ+eyRkb25uZWUtPmVxdWJ9PC90ZD48L3RyPgoJCXsvZm9yZWFjaH0KCQk8L3RhYmxlPgoJCQoJCXtlbHNlfQoJCTxwPlBhcyBlbmNvcmUgZGUgcsOpc3VsdGF0cyAhPC9wPgoJCXsvaWZ9CnsvZm9yZWFjaH0KIDwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo=]]></data>
	</file>
	<file>
	  <filename>/templates/reponses.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxlY3RhbGwnKS5jbGljayhmdW5jdGlvbigpewogICAgdmFyIHYgPSAkKHRoaXMpLmF0dHIoJ2NoZWNrZWQnKTsKICAgIGlmKCB2ID09ICdjaGVja2VkJyApIHsKICAgICAgJCgnLnNlbGVjdCcpLmF0dHIoJ2NoZWNrZWQnLCdjaGVja2VkJyk7CiAgICB9IGVsc2UgewogICAgICAkKCcuc2VsZWN0JykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwogICAgfQogIH0pOwogICQoJy5zZWxlY3QnKS5jbGljayhmdW5jdGlvbigpewogICAgJCgnI3NlbGVjdGFsbCcpLnJlbW92ZUF0dHIoJ2NoZWNrZWQnKTsKICB9KTsKICAkKCcjdG9nZ2xlX2ZpbHRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAkKCcjZmlsdGVyX2Zvcm0nKS50b2dnbGUoKTsKICB9KTsKICB7aWYgaXNzZXQoJHRhYmxlc29ydGVyKX0KICAkKCcjYXJ0aWNsZWxpc3QnKS50YWJsZXNvcnRlcih7IHNvcnRMaXN0OnskdGFibGVzb3J0ZXJ9IH0pOwogIHsvaWZ9Cn0pOwovL11dPgo8L3NjcmlwdD4KPGgyPkxpc3RlIGRlcyByw6lwb25zZXMgcG91ciA6IHskdGl0cmV9PC9oMj4KPHA+eyRSZXZlbmlyfTwvcD4KPHA+Q2xpcXVleiBzdXIgbGVzIGNoZXZyb25zIHBvdXIgbW9kaWZpZXIgbGVzIHLDqXBvbnNlczwvcD4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfSAmbmJzcDsgeyRhZGRfZWRpdH08L3A+PC9kaXY+CntpZiAkaXRlbWNvdW50ID4gMH0KCjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiA8dGhlYWQ+Cgk8dHI+CQoJCTx0aD5Ob208L3RoPgkKCQk8dGg+UHLDqXNlbnQ8L3RoPgoJCTx0aD5BYnNlbnQ8L3RoPgoJCTx0aD5BdHRlbnRlIGRlIHLDqXBvbnNlPC90aD4KCQk8dGg+QWN0aW9uKHMpPC90aD4KCTwvdHI+CiA8L3RoZWFkPgogPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCTx0ZD57JGVudHJ5LT5hZGhlcmVudH08L3RkPgoJPHRkPnskZW50cnktPnByZXNlbnR9PC90ZD4KCTx0ZD57JGVudHJ5LT5hYnNlbnR9PC90ZD4KCTx0ZD57JGVudHJ5LT5hdHRlbnRlfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+ZGVsZXRlfTwvdGQ+CiAgPC90cj4Key9mb3JlYWNofQogPC90Ym9keT4KPC90YWJsZT4KCnsvaWZ9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/show_message.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxlY3RhbGwnKS5jbGljayhmdW5jdGlvbigpewogICAgdmFyIHYgPSAkKHRoaXMpLmF0dHIoJ2NoZWNrZWQnKTsKICAgIGlmKCB2ID09ICdjaGVja2VkJyApIHsKICAgICAgJCgnLnNlbGVjdCcpLmF0dHIoJ2NoZWNrZWQnLCdjaGVja2VkJyk7CiAgICB9IGVsc2UgewogICAgICAkKCcuc2VsZWN0JykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwogICAgfQogIH0pOwogICQoJy5zZWxlY3QnKS5jbGljayhmdW5jdGlvbigpewogICAgJCgnI3NlbGVjdGFsbCcpLnJlbW92ZUF0dHIoJ2NoZWNrZWQnKTsKICB9KTsKICAkKCcjdG9nZ2xlX2ZpbHRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAkKCcjZmlsdGVyX2Zvcm0nKS50b2dnbGUoKTsKICB9KTsKICB7aWYgaXNzZXQoJHRhYmxlc29ydGVyKX0KICAkKCcjYXJ0aWNsZWxpc3QnKS50YWJsZXNvcnRlcih7IHNvcnRMaXN0OnskdGFibGVzb3J0ZXJ9IH0pOwogIHsvaWZ9Cn0pOwovL11dPgo8L3NjcmlwdD4KPGgyPkxpc3RlIGRlcyBkZXN0aW5hdGFpcmVzPC9oMj4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfSAmbmJzcDsgeyRyZXZlbmlyfTwvcD48L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQp7JGZvcm0yc3RhcnR9Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiA8dGhlYWQ+Cgk8dHI+CgkJPHRoPklkPC90aD4KCQk8dGg+RGVzdGluYXRhaXJlPC90aD4KCQk8dGg+RW52b3nDqSA/PC90aD4JCgkJPHRoPkFjdGlvbnM8L3RoPgoJCTx0aD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJzZWxlY3RhbGwiIG5hbWU9InNlbGVjdGFsbCI+PC90aD4KCTwvdHI+CiA8L3RoZWFkPgogPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCTx0ZD57JGVudHJ5LT5tZXNzYWdlX2lkfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+bGljZW5jZX08L3RkPgoJPHRkPnskZW50cnktPnNlbnR9PC90ZD4KCTx0ZD57JGVudHJ5LT5zdGF0dXN9PC90ZD4KCTx0ZD57JGVudHJ5LT5hcn08L3RkPgoJPHRkPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZWxbXSIgdmFsdWU9InskZW50cnktPmlkfSIgY2xhc3M9InNlbGVjdCI+PC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiA8L3Rib2R5Pgo8L3RhYmxlPgo8IS0tIFNFTEVDVCBEUk9QRE9XTiAtLT4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij4KPGJyLz57JGFjdGlvbmRlbWFzc2V9eyRzdWJtaXRfbWFzc2FjdGlvbn0KICA8L2Rpdj4KeyRmb3JtMmVuZH0Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/show_recipients.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxlY3RhbGwnKS5jbGljayhmdW5jdGlvbigpewogICAgdmFyIHYgPSAkKHRoaXMpLmF0dHIoJ2NoZWNrZWQnKTsKICAgIGlmKCB2ID09ICdjaGVja2VkJyApIHsKICAgICAgJCgnLnNlbGVjdCcpLmF0dHIoJ2NoZWNrZWQnLCdjaGVja2VkJyk7CiAgICB9IGVsc2UgewogICAgICAkKCcuc2VsZWN0JykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwogICAgfQogIH0pOwogICQoJy5zZWxlY3QnKS5jbGljayhmdW5jdGlvbigpewogICAgJCgnI3NlbGVjdGFsbCcpLnJlbW92ZUF0dHIoJ2NoZWNrZWQnKTsKICB9KTsKICAkKCcjdG9nZ2xlX2ZpbHRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAkKCcjZmlsdGVyX2Zvcm0nKS50b2dnbGUoKTsKICB9KTsKICB7aWYgaXNzZXQoJHRhYmxlc29ydGVyKX0KICAkKCcjYXJ0aWNsZWxpc3QnKS50YWJsZXNvcnRlcih7IHNvcnRMaXN0OnskdGFibGVzb3J0ZXJ9IH0pOwogIHsvaWZ9Cn0pOwovL11dPgo8L3NjcmlwdD4KPGgyPkxpc3RlIGRlcyBkZXN0aW5hdGFpcmVzPC9oMj4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfSAmbmJzcDsgeyRyZXZlbmlyfTwvcD48L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQp7JGZvcm0yc3RhcnR9Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiA8dGhlYWQ+Cgk8dHI+CgkJPHRoPklkPC90aD4KCQk8dGg+RGVzdGluYXRhaXJlPC90aD4KCQk8dGg+RW52b3nDqSA/PC90aD4JCgkJPHRoPkFjdGlvbnM8L3RoPgoJCTx0aD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJzZWxlY3RhbGwiIG5hbWU9InNlbGVjdGFsbCI+PC90aD4KCTwvdHI+CiA8L3RoZWFkPgogPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCTx0ZD57JGVudHJ5LT5tZXNzYWdlX2lkfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+bGljZW5jZX08L3RkPgoJPHRkPnskZW50cnktPnNlbnR9PC90ZD4KCTx0ZD57JGVudHJ5LT5zdGF0dXN9PC90ZD4KCTx0ZD57JGVudHJ5LT5hcn08L3RkPgoJPHRkPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZWxbXSIgdmFsdWU9InskZW50cnktPmlkfSIgY2xhc3M9InNlbGVjdCI+PC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiA8L3Rib2R5Pgo8L3RhYmxlPgo8IS0tIFNFTEVDVCBEUk9QRE9XTiAtLT4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij4KPGJyLz57JGFjdGlvbmRlbWFzc2V9eyRzdWJtaXRfbWFzc2FjdGlvbn0KICA8L2Rpdj4KeyRmb3JtMmVuZH0Key9pZn0K]]></data>
	</file>
</module>
