<?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>TwoFactor</name>
	<version>4.0.0</version>
	<mincmsversion>2.2.23</mincmsversion>
	<help><![CDATA[CjxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4KCjxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIiBzdHlsZT0ibWFyZ2luLXRvcDogMjBweDsgcGFkZGluZzogMTVweDsgYmFja2dyb3VuZDogI2U4ZjRmODsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMjE5NkYzOyI+CiAgPHAgc3R5bGU9Im1hcmdpbjogMDsiPjxzdHJvbmc+TmVlZCBtb3JlIGhlbHA/PC9zdHJvbmc+IFZpc2l0IG91ciBjb21wbGV0ZSBkb2N1bWVudGF0aW9uIGF0IDxhIGhyZWY9Imh0dHBzOi8vcGl4ZWxzb2x1dGlvbnMuYml6L2RvY3VtZW50YXRpb24vdHdvZmFjdG9yLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vcGl4ZWxzb2x1dGlvbnMuYml6L2RvY3VtZW50YXRpb24vdHdvZmFjdG9yLzwvYT48L3A+CjwvZGl2PgoKPGRpdiBpZD0icGFnZV90YWJzIj4KCiAgPGRpdiAgaWQ9ImdlbmVyYWwiPgogICAgR2VuZXJhbAogIDwvZGl2PgogIDxkaXYgaWQ9InVzaW5nIj4KICAgIEhvdyBEbyBJIFVzZSBJdAogIDwvZGl2PgogIDxkaXYgaWQ9ImN1c3RvbWl6YXRpb24iPgogICAgQ3VzdG9taXphdGlvbgogIDwvZGl2PgogICAgICA8ZGl2IGlkPSJ1cGdyYWRlIj4KICAgIEhvdyB0byBVcGdyYWRlCiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9Imhvb2tzIj4KICAgIEhvb2tzCiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4KPGRpdiBpZD0icGFnZV9jb250ZW50Ij4KCiAgPGRpdiBpZD0iZ2VuZXJhbF9jIj4KICAgIDxoMz5XaGF0IERvZXMgVGhpcyBNb2R1bGUgRG8/PC9oMz4KPHA+VHdvRmFjdG9yIGFkZHMgdHdvLWZhY3RvciBhdXRoZW50aWNhdGlvbiAoMkZBKSBzZWN1cml0eSB0byB5b3VyIENNUyBNYWRlIFNpbXBsZSBpbnN0YWxsYXRpb24uIEl0IHJlcXVpcmVzIHVzZXJzIHRvIHZlcmlmeSB0aGVpciBpZGVudGl0eSB1c2luZyBhIHNlY29uZCBmYWN0b3IgYWZ0ZXIgZW50ZXJpbmcgdGhlaXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLjwvcD4KCjxoMz5GZWF0dXJlczwvaDM+Cjx1bD4KICA8bGk+PHN0cm9uZz5NdWx0aXBsZSBBdXRoZW50aWNhdGlvbiBNZXRob2RzOjwvc3Ryb25nPiBUT1RQIChBdXRoZW50aWNhdG9yIGFwcHMpLCBQYXNza2V5cyAoYmlvbWV0cmljcy9kZXZpY2UpLCBFbWFpbCwgU01TLCBhbmQgQmFja3VwIENvZGVzPC9saT4KICA8bGk+PHN0cm9uZz5QYXNza2V5IC8gV2ViQXV0aG4gU3VwcG9ydDo8L3N0cm9uZz4gVXNlIFRvdWNoIElELCBXaW5kb3dzIEhlbGxvLCBGYWNlIElELCBvciBvdGhlciBwbGF0Zm9ybSBhdXRoZW50aWNhdG9yczwvbGk+CiAgPGxpPjxzdHJvbmc+RmxleGlibGUgQ29uZmlndXJhdGlvbjo8L3N0cm9uZz4gVXNlcnMgY2hvb3NlIHRoZWlyIHByZWZlcnJlZCBwcmltYXJ5IG1ldGhvZCB3aXRoIGZhbGxiYWNrIG9wdGlvbnM8L2xpPgogIDxsaT48c3Ryb25nPlNNUyBPcHRpb25zOjwvc3Ryb25nPiBVc2UgTWFuYWdlZCBTTVMgQ3JlZGl0cyBmcm9tIFBpeGVsIFNvbHV0aW9ucyBvciB5b3VyIG93biBUd2lsaW8gYWNjb3VudDwvbGk+CiAgPGxpPjxzdHJvbmc+U2VjdXJpdHkgTG9nZ2luZzo8L3N0cm9uZz4gQXVkaXQgdHJhaWwgb2YgYWxsIDJGQSBldmVudHM8L2xpPgogIDxsaT48c3Ryb25nPlVzZXItRnJpZW5kbHk6PC9zdHJvbmc+IFNpbXBsZSBzZXR1cCBwcm9jZXNzIGZvciBib3RoIGFkbWlucyBhbmQgdXNlcnM8L2xpPgogIDxsaT48c3Ryb25nPk5vIEV4dGVybmFsIERlcGVuZGVuY2llczo8L3N0cm9uZz4gQnVpbHQtaW4gV2ViQXV0aG4gc2VydmVyIGxpYnJhcnksIFRPVFAgdmlhIGJ1bmRsZWQgUm9iVGhyZWUgbGlicmFyeTwvbGk+CjwvdWw+Cgo8aDM+VXBncmFkZSB0byBUd29GYWN0b3IgUHJvPC9oMz4KPHA+VW5sb2NrIGVudGVycHJpc2UtZ3JhZGUgc2VjdXJpdHkgZmVhdHVyZXM6PC9wPgo8dWw+CiAgPGxpPkVuZm9yY2UgMkZBIGZvciBhbGwgYWRtaW4gdXNlcnM8L2xpPgogIDxsaT5SYXRlIGxpbWl0aW5nIGFuZCBicnV0ZS1mb3JjZSBwcm90ZWN0aW9uPC9saT4KICA8bGk+VHJ1c3RlZCBkZXZpY2VzIChyZW1lbWJlciBmb3IgMzAgZGF5cyk8L2xpPgogIDxsaT5VbmxpbWl0ZWQgcGFzc2tleXMgcGVyIHVzZXIgKGZyZWUgdGllciBhbGxvd3Mgb25lKTwvbGk+CiAgPGxpPlBoeXNpY2FsIHNlY3VyaXR5IGtleXMgYXMgYSBzdGFuZGFsb25lIGxvZ2luIG1ldGhvZCAoWXViaUtleSwgVGl0YW4gS2V5KTwvbGk+CiAgPGxpPkFBR1VJRC1iYXNlZCBhdXRoZW50aWNhdG9yIGRldGVjdGlvbiAoYXV0by1pZGVudGlmaWVzIGtleSBtYWtlL21vZGVsKTwvbGk+CiAgPGxpPlNlY3VyaXR5IGtleSBtYW5hZ2VtZW50IGRhc2hib2FyZDwvbGk+CiAgPGxpPkFkbWluIHVzZXIgbWFuYWdlbWVudCBkYXNoYm9hcmQ8L2xpPgogIDxsaT5FbWFpbCBzZWN1cml0eSBhbGVydHM8L2xpPgogIDxsaT5JUCBibGFja2xpc3Rpbmc8L2xpPgo8L3VsPgogIDwvZGl2PgogIDxkaXYgaWQ9InVzaW5nX2MiPgogICAgPGgzPkZvciBBZG1pbmlzdHJhdG9yczwvaDM+Cgo8aDQ+MS4gQ29uZmlndXJlIFNNUyBTZXR0aW5ncyAoT3B0aW9uYWwpPC9oND4KPHA+R28gdG8gPHN0cm9uZz5Ud29GYWN0b3IgU2V0dGluZ3MgPiBTTVMgU2V0dGluZ3M8L3N0cm9uZz4gdGFiOjwvcD4KCjxwPjxzdHJvbmc+T3B0aW9uIEE6IFNNUyBDcmVkaXRzIGZyb20gUGl4ZWwgU29sdXRpb25zPC9zdHJvbmc+PC9wPgo8b2w+CiAgPGxpPlB1cmNoYXNlIFNNUyBjcmVkaXRzIGZyb20gPGEgaHJlZj0iaHR0cHM6Ly9waXhlbHNvbHV0aW9ucy5iaXovZW4vcGx1Z2lucy90d29mYWN0b3IvIiB0YXJnZXQ9Il9ibGFuayI+cGl4ZWxzb2x1dGlvbnMuYml6PC9hPjwvbGk+CiAgPGxpPkVudGVyIHlvdXIgcHJvZHVjdCBrZXk8L2xpPgogIDxsaT5DbGljayAiU2F2ZSBQcm9kdWN0IEtleSI8L2xpPgo8L29sPgoKPHA+PHN0cm9uZz5PcHRpb24gQjogVXNlIFlvdXIgT3duIFR3aWxpbyBBY2NvdW50PC9zdHJvbmc+PC9wPgo8b2w+CiAgPGxpPkNyZWF0ZSBhIFR3aWxpbyBhY2NvdW50IGFuZCBWZXJpZnkgU2VydmljZTwvbGk+CiAgPGxpPkdlbmVyYXRlIEFQSSBLZXkgYW5kIFNlY3JldCBpbiBUd2lsaW8gQ29uc29sZTwvbGk+CiAgPGxpPkVudGVyIGNyZWRlbnRpYWxzIChBUEkgS2V5IFNJRCwgQVBJIFNlY3JldCwgVmVyaWZ5IFNlcnZpY2UgU0lEKTwvbGk+CiAgPGxpPkNsaWNrICJTYXZlIFR3aWxpbyBTZXR0aW5ncyI8L2xpPgo8L29sPgoKPGgzPkZvciBVc2VyczwvaDM+Cgo8aDQ+RW5hYmxlIFR3by1GYWN0b3IgQXV0aGVudGljYXRpb248L2g0Pgo8cD5HbyB0byA8c3Ryb25nPk15IFByZWZlcmVuY2VzID4gVHdvRmFjdG9yPC9zdHJvbmc+OjwvcD4KCjxoNT5UT1RQIChBdXRoZW50aWNhdG9yIEFwcCk8L2g1Pgo8b2w+CiAgPGxpPkNsaWNrICJDb25maWd1cmUiIGZvciBBdXRoZW50aWNhdG9yIEFwcDwvbGk+CiAgPGxpPlNjYW4gdGhlIFFSIGNvZGUgd2l0aCB5b3VyIGF1dGhlbnRpY2F0b3IgYXBwIChHb29nbGUgQXV0aGVudGljYXRvciwgQXV0aHksIGV0Yy4pPC9saT4KICA8bGk+RW50ZXIgdGhlIDYtZGlnaXQgY29kZSB0byB2ZXJpZnk8L2xpPgogIDxsaT5TZWxlY3QgYXMgcHJpbWFyeSBtZXRob2QgYW5kIHNhdmU8L2xpPgo8L29sPgoKPGg1PkVtYWlsIFZlcmlmaWNhdGlvbjwvaDU+CjxvbD4KICA8bGk+Q2xpY2sgIkNvbmZpZ3VyZSIgZm9yIEVtYWlsIFZlcmlmaWNhdGlvbjwvbGk+CiAgPGxpPkNsaWNrICJFbmFibGUgRW1haWwgVmVyaWZpY2F0aW9uIjwvbGk+CiAgPGxpPlNlbGVjdCBhcyBwcmltYXJ5IG1ldGhvZCBhbmQgc2F2ZTwvbGk+Cjwvb2w+Cgo8aDU+U01TIFZlcmlmaWNhdGlvbjwvaDU+CjxvbD4KICA8bGk+Q2xpY2sgIkNvbmZpZ3VyZSIgZm9yIFNNUyBWZXJpZmljYXRpb248L2xpPgogIDxsaT5FbnRlciBwaG9uZSBudW1iZXIgaW4gRS4xNjQgZm9ybWF0IChlLmcuLCArMTIzNDU2Nzg5MCk8L2xpPgogIDxsaT5WZXJpZnkgdGhlIGNvZGUgc2VudCB0byB5b3VyIHBob25lPC9saT4KICA8bGk+U2VsZWN0IGFzIHByaW1hcnkgbWV0aG9kIGFuZCBzYXZlPC9saT4KPC9vbD4KCjxoNT5CYWNrdXAgQ29kZXM8L2g1Pgo8b2w+CiAgPGxpPkNsaWNrICJDb25maWd1cmUiIGZvciBCYWNrdXAgQ29kZXM8L2xpPgogIDxsaT5DbGljayAiR2VuZXJhdGUgQmFja3VwIENvZGVzIjwvbGk+CiAgPGxpPlNhdmUgY29kZXMgaW4gYSBzZWN1cmUgbG9jYXRpb24gKGVhY2ggY29kZSB3b3JrcyBvbmx5IG9uY2UpPC9saT4KPC9vbD4KCjxoNT5QYXNza2V5IChCaW9tZXRyaWNzIC8gRGV2aWNlKTwvaDU+CjxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIiBzdHlsZT0icGFkZGluZzogMTBweDsgYmFja2dyb3VuZDogI2U4ZjRmODsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMjE5NkYzOyBtYXJnaW46IDE1cHggMDsiPgogIDxwPjxzdHJvbmc+4oS577iPIFJlcXVpcmVzIEhUVFBTPC9zdHJvbmc+IOKAlCBQYXNza2V5cyB1c2UgdGhlIFdlYkF1dGhuIHN0YW5kYXJkIHdoaWNoIG9ubHkgd29ya3Mgb3ZlciBzZWN1cmUgY29ubmVjdGlvbnMgKEhUVFBTIG9yIGxvY2FsaG9zdCkuPC9wPgo8L2Rpdj4KPG9sPgogIDxsaT5DbGljayAiQ29uZmlndXJlIiBmb3IgUGFzc2tleTwvbGk+CiAgPGxpPkNsaWNrICJSZWdpc3RlciBQYXNza2V5IjwvbGk+CiAgPGxpPllvdXIgYnJvd3NlciB3aWxsIHByb21wdCB5b3UgdG8gdXNlIHlvdXIgZGV2aWNlIGJpb21ldHJpY3MgKGZpbmdlcnByaW50LCBmYWNlIHJlY29nbml0aW9uKSBvciBkZXZpY2UgUElOPC9saT4KICA8bGk+T25jZSByZWdpc3RlcmVkLCBzZWxlY3QgUGFzc2tleSBhcyB5b3VyIHByaW1hcnkgbWV0aG9kIGFuZCBzYXZlPC9saT4KPC9vbD4KPHA+PHN0cm9uZz5Ib3cgaXQgd29ya3M6PC9zdHJvbmc+IFdoZW4gbG9nZ2luZyBpbiwgaW5zdGVhZCBvZiBlbnRlcmluZyBhIGNvZGUsIHlvdXIgYnJvd3NlciB3aWxsIGF1dG9tYXRpY2FsbHkgcHJvbXB0IHlvdSB0byB2ZXJpZnkgdXNpbmcgeW91ciBkZXZpY2UncyBiaW9tZXRyaWMgc2Vuc29yIG9yIFBJTi4gVGhpcyBpcyB0aGUgbW9zdCBjb252ZW5pZW50IGFuZCBzZWN1cmUgMkZBIG1ldGhvZCBhdmFpbGFibGUuPC9wPgo8cD48c3Ryb25nPlN1cHBvcnRlZCBhdXRoZW50aWNhdG9yczo8L3N0cm9uZz4gVG91Y2ggSUQgKG1hY09TKSwgV2luZG93cyBIZWxsbyAoV2luZG93cyksIEZhY2UgSUQgLyBUb3VjaCBJRCAoaU9TL2lQYWRPUyksIEFuZHJvaWQgYmlvbWV0cmljczwvcD4KCgo8aDM+TG9naW4gRmxvdzwvaDM+CjxvbD4KICA8bGk+RW50ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFzIG5vcm1hbDwvbGk+CiAgPGxpPkFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24sIHlvdSdsbCBiZSByZWRpcmVjdGVkIHRvIDJGQSB2ZXJpZmljYXRpb248L2xpPgogIDxsaT5EZXBlbmRpbmcgb24geW91ciBwcmltYXJ5IG1ldGhvZDoKICAgIDx1bD4KICAgICAgPGxpPjxzdHJvbmc+VE9UUCAvIEVtYWlsIC8gU01TOjwvc3Ryb25nPiBFbnRlciB0aGUgdmVyaWZpY2F0aW9uIGNvZGU8L2xpPgogICAgICA8bGk+PHN0cm9uZz5QYXNza2V5Ojwvc3Ryb25nPiBZb3VyIGJyb3dzZXIgd2lsbCBhdXRvbWF0aWNhbGx5IHByb21wdCBmb3IgYmlvbWV0cmljIHZlcmlmaWNhdGlvbiBvciBzZWN1cml0eSBrZXkgdG91Y2g8L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5DbGljayAiVXNlIGEgYmFja3VwIGNvZGUiIGlmIG5lZWRlZCB0byBzd2l0Y2ggbWV0aG9kczwvbGk+Cjwvb2w+Cgo8aDM+RW1lcmdlbmN5IEJ5cGFzczwvaDM+CjxkaXYgY2xhc3M9Indhcm5pbmciIHN0eWxlPSJwYWRkaW5nOiAxMHB4OyBiYWNrZ3JvdW5kOiAjZmZmM2NkOyBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmZmMxMDc7IG1hcmdpbjogMTVweCAwOyI+CiAgPHA+PHN0cm9uZz7imqDvuI8gRm9yIEVtZXJnZW5jeSBVc2UgT25seTwvc3Ryb25nPjwvcD4KICA8cD5JZiB5b3UgYXJlIGxvY2tlZCBvdXQgYW5kIG5lZWQgdG8gYnlwYXNzIDJGQSB0ZW1wb3JhcmlseSwgYWRkIHRoaXMgdG8geW91ciA8Y29kZT5jb25maWcucGhwPC9jb2RlPiBmaWxlOjwvcD4KICA8cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiAjZjVmNWY1OyBwYWRkaW5nOiAxMHB4OyBtYXJnaW46IDEwcHggMDsiPiRjb25maWdbJ3R3b2ZhY3Rvcl9ieXBhc3MnXSA9IHRydWU7PC9wcmU+CiAgPHA+PHN0cm9uZz5JbXBvcnRhbnQ6PC9zdHJvbmc+IFJlbW92ZSB0aGlzIHNldHRpbmcgaW1tZWRpYXRlbHkgYWZ0ZXIgcmVnYWluaW5nIGFjY2Vzcy4gTGVhdmluZyBpdCBlbmFibGVkIGRpc2FibGVzIGFsbCAyRkEgc2VjdXJpdHkuPC9wPgo8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGlkPSJjdXN0b21pemF0aW9uX2MiPgogICAgPGgzPlRlbXBsYXRlIEN1c3RvbWl6YXRpb248L2gzPgoKPHA+VHdvRmFjdG9yIGNyZWF0ZXMgZW1haWwgdGVtcGxhdGVzIHRoYXQgeW91IGNhbiBjdXN0b21pemUgaW4gPHN0cm9uZz5MYXlvdXQgPiBEZXNpZ24gTWFuYWdlcjwvc3Ryb25nPi48L3A+Cgo8aDM+RW1haWwgVGVtcGxhdGVzPC9oMz4KCjxoND5FbWFpbCBWZXJpZmljYXRpb248L2g0Pgo8cD48c3Ryb25nPlRlbXBsYXRlIFR5cGU6PC9zdHJvbmc+IFR3b0ZhY3Rvcjo6RW1haWwgVmVyaWZpY2F0aW9uPC9wPgo8cD5DdXN0b21pemUgdGhlIGVtYWlsIGRlc2lnbiBzZW50IHRvIHVzZXJzIHdoZW4gdGhleSByZXF1ZXN0IGFuIGVtYWlsIHZlcmlmaWNhdGlvbiBjb2RlLjwvcD4KPHA+RmluZCB0aGlzIHRlbXBsYXRlIGluIDxzdHJvbmc+TGF5b3V0ID4gRGVzaWduIE1hbmFnZXI8L3N0cm9uZz4gdW5kZXIgdGhlICJUd29GYWN0b3I6OkVtYWlsIFZlcmlmaWNhdGlvbiIgdHlwZS48L3A+Cgo8aDM+Q1NTIEN1c3RvbWl6YXRpb248L2gzPgo8cD5Zb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGFkbWluIHN0eWxlcyBieSBjcmVhdGluZyBhIGN1c3RvbSBDU1MgZmlsZSBhdDo8L3A+CjxwcmUgc3R5bGU9ImJhY2tncm91bmQ6ICNmNWY1ZjU7IHBhZGRpbmc6IDEwcHg7IG1hcmdpbjogMTBweCAwOyI+YXNzZXRzL21vZHVsZV9jdXN0b20vVHdvRmFjdG9yL3R3b2ZhY3Rvcl9hZG1pbi5jc3M8L3ByZT4KPHA+VGhpcyBmaWxlIHdpbGwgYmUgbG9hZGVkIGFmdGVyIHRoZSBkZWZhdWx0IHN0eWxlcywgYWxsb3dpbmcgeW91IHRvIGN1c3RvbWl6ZSB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgMkZBIGFkbWluIGludGVyZmFjZSBhbmQgdmVyaWZpY2F0aW9uIHBhZ2VzLjwvcD4KCjxoMz5WZXJpZmljYXRpb24gUGFnZSBUZW1wbGF0ZXM8L2gzPgo8cD5UaGUgZm9sbG93aW5nIHZlcmlmaWNhdGlvbiBwYWdlIHRlbXBsYXRlcyBhcmUgdXNlZCBkdXJpbmcgbG9naW46PC9wPgo8dWw+CiAgPGxpPjxjb2RlPnZlcmlmeV90b3RwLnRwbDwvY29kZT4gJm1kYXNoOyBUT1RQIGNvZGUgZW50cnkgcGFnZTwvbGk+CiAgPGxpPjxjb2RlPnZlcmlmeV9lbWFpbC50cGw8L2NvZGU+ICZtZGFzaDsgRW1haWwgY29kZSBlbnRyeSBwYWdlPC9saT4KICA8bGk+PGNvZGU+dmVyaWZ5X3Ntcy50cGw8L2NvZGU+ICZtZGFzaDsgU01TIGNvZGUgZW50cnkgcGFnZTwvbGk+CiAgPGxpPjxjb2RlPnZlcmlmeV9wYXNza2V5LnRwbDwvY29kZT4gJm1kYXNoOyBQYXNza2V5L1dlYkF1dGhuIGF1dGhlbnRpY2F0aW9uIHBhZ2UgKGF1dG8tdHJpZ2dlcnMgYnJvd3NlciBwcm9tcHQpPC9saT4KICA8bGk+PGNvZGU+dmVyaWZ5X2JhY2t1cF9jb2Rlcy50cGw8L2NvZGU+ICZtZGFzaDsgQmFja3VwIGNvZGUgZW50cnkgcGFnZTwvbGk+CjwvdWw+CgogIDwvZGl2PgoKICAgIDxkaXYgaWQ9InVwZ3JhZGVfYyI+CiAgICA8aDM+SG93IHRvIEluc3RhbGwgVHdvRmFjdG9yIFBybzwvaDM+Cgo8cCBjbGFzcz0ibGVhZCI+VHdvRmFjdG9yIFBybyBleHRlbmRzIHRoZSBmcmVlIFR3b0ZhY3RvciBtb2R1bGUgd2l0aCBlbnRlcnByaXNlLWdyYWRlIHNlY3VyaXR5IGZlYXR1cmVzLiBZb3UgbXVzdCBoYXZlIFR3b0ZhY3RvciBpbnN0YWxsZWQgZmlyc3QuPC9wPgoKPGgyPjEuIEluc3RhbGwgVHdvRmFjdG9yIChGcmVlIFZlcnNpb24pPC9oMj4KPHA+VHdvRmFjdG9yIFBybyByZXF1aXJlcyB0aGUgZnJlZSBUd29GYWN0b3IgbW9kdWxlIHRvIGJlIGluc3RhbGxlZCBmaXJzdC4gPGEgaHJlZj0iaHR0cHM6Ly9waXhlbHNvbHV0aW9ucy5iaXovZG9jdW1lbnRhdGlvbi90d29mYWN0b3IvaG93LXRvLWluc3RhbGwtdHdvZmFjdG9yLWZyZWUtdmVyc2lvbi8iIHRhcmdldD0iX2JsYW5rIj5WaWV3IGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMgZm9yIFR3b0ZhY3RvcjwvYT4uPC9wPgoKPGgyPjIuIFB1cmNoYXNlIExpY2Vuc2U8L2gyPgo8cD5QdXJjaGFzZSBUd29GYWN0b3IgUHJvIGxpY2Vuc2UgZnJvbSA8YSBocmVmPSJodHRwczovL3BpeGVsc29sdXRpb25zLmJpei9lbi9wbHVnaW5zL3R3b2ZhY3Rvci8iIHRhcmdldD0iX2JsYW5rIj5QaXhlbCBTb2x1dGlvbnM8L2E+LjwvcD4KCjxoMj4zLiBEb3dubG9hZCBUd29GYWN0b3IgUHJvPC9oMj4KPHA+RG93bmxvYWQgdGhlIFR3b0ZhY3RvciBQcm8gbW9kdWxlIGZyb20gPGEgaHJlZj0iaHR0cHM6Ly9waXhlbHNvbHV0aW9ucy5iaXovYWNjb3VudC9kb3dubG9hZHMvIiB0YXJnZXQ9Il9ibGFuayI+eW91ciBhY2NvdW50IGRvd25sb2FkczwvYT4uPC9wPgoKPGgyPjQuIEluc3RhbGwgTW9kdWxlPC9oMj4KPHVsPgogIDxsaT5VbnBhY2sgdGhlIFpJUCBmaWxlIHlvdSBkb3dubG9hZGVkIGluIHlvdXIgQ01TIE1hZGUgU2ltcGxlIGluc3RhbGxhdGlvbidzIGBtb2R1bGVzYCBkaXJlY3Rvcnk8L2xpPgogIDxsaT5HbyB0byA8c3Ryb25nPlNpdGUgQWRtaW4gJmd0OyZndDsgTW9kdWxlIE1hbmFnZXI8L3N0cm9uZz48L2xpPgogIDxsaT5DbGljayA8c3Ryb25nPkluc3RhbGw8L3N0cm9uZz4gbmV4dCB0byB0aGUgVHdvRmFjdG9yUHJvIG1vZHVsZTwvbGk+CjwvdWw+Cgo8aDI+NS4gQWN0aXZhdGUgWW91ciBMaWNlbnNlPC9oMj4KPHVsPgogIDxsaT5HbyB0byA8c3Ryb25nPlNpdGUgQWRtaW4gJmd0OyZndDsgVHdvRmFjdG9yIFBybyBTZXR0aW5nczwvc3Ryb25nPjwvbGk+CiAgPGxpPkNsaWNrIHRoZSA8c3Ryb25nPkxpY2Vuc2U8L3N0cm9uZz4gdGFiPC9saT4KICA8bGk+RW50ZXIgeW91ciBsaWNlbnNlIGtleTwvbGk+CiAgPGxpPkNsaWNrIDxzdHJvbmc+VmVyaWZ5IExpY2Vuc2U8L3N0cm9uZz48L2xpPgo8L3VsPgoKPHA+WW91ciBDTVMgTWFkZSBTaW1wbGUgaW5zdGFsbGF0aW9uIGlzIG5vdyBwcm90ZWN0ZWQgd2l0aCBlbnRlcnByaXNlLWdyYWRlIHR3by1mYWN0b3IgYXV0aGVudGljYXRpb24uIENvbmZpZ3VyZSBQcm8gZmVhdHVyZXMgaW4gdGhlIDxzdHJvbmc+U2V0dGluZ3M8L3N0cm9uZz4gdGFiLjwvcD4KCjxoMj5Qcm8gRmVhdHVyZXMgT3ZlcnZpZXc8L2gyPgo8dWw+CiAgPGxpPjxzdHJvbmc+TXVsdGlwbGUgUGFzc2tleXM6PC9zdHJvbmc+IFJlZ2lzdGVyIHVubGltaXRlZCBwYXNza2V5cyBwZXIgdXNlciAoZnJlZSB0aWVyIGFsbG93cyBvbmUpPC9saT4KICA8bGk+PHN0cm9uZz5QaHlzaWNhbCBTZWN1cml0eSBLZXlzOjwvc3Ryb25nPiBVc2UgWXViaUtleSwgVGl0YW4gS2V5LCBvciBvdGhlciBGSURPMiBoYXJkd2FyZSBrZXlzIGFzIGEgc3RhbmRhbG9uZSBsb2dpbiBtZXRob2Q8L2xpPgogIDxsaT48c3Ryb25nPlNlY3VyaXR5IEtleSBhcyBQcmltYXJ5IE1ldGhvZDo8L3N0cm9uZz4gVXNlcnMgY2FuIHNlbGVjdCAiU2VjdXJpdHkgS2V5IiBhcyB0aGVpciBwcmltYXJ5IDJGQSBtZXRob2QsIHNlcGFyYXRlIGZyb20gUGFzc2tleTwvbGk+CiAgPGxpPjxzdHJvbmc+QUFHVUlEIERldGVjdGlvbjo8L3N0cm9uZz4gQXV0b21hdGljYWxseSBpZGVudGlmaWVzIGF1dGhlbnRpY2F0b3IgbWFrZS9tb2RlbCAoZS5nLiwgIll1YmlLZXkgNSBORkMiKTwvbGk+CiAgPGxpPjxzdHJvbmc+S2V5IE1hbmFnZW1lbnQgRGFzaGJvYXJkOjwvc3Ryb25nPiBBZG1pbiBvdmVydmlldyBvZiBhbGwgcmVnaXN0ZXJlZCBrZXlzIGFjcm9zcyBhbGwgdXNlcnM8L2xpPgogIDxsaT48c3Ryb25nPkVuZm9yY2UgMkZBOjwvc3Ryb25nPiBSZXF1aXJlIGFsbCBhZG1pbiB1c2VycyB0byBlbmFibGUgMkZBPC9saT4KICA8bGk+PHN0cm9uZz5SYXRlIExpbWl0aW5nOjwvc3Ryb25nPiBCcnV0ZS1mb3JjZSBwcm90ZWN0aW9uIHdpdGggZXhwb25lbnRpYWwgYmFja29mZjwvbGk+CiAgPGxpPjxzdHJvbmc+VHJ1c3RlZCBEZXZpY2VzOjwvc3Ryb25nPiBSZW1lbWJlciBkZXZpY2VzIGZvciAzMCBkYXlzPC9saT4KICA8bGk+PHN0cm9uZz5Vc2VyIE1hbmFnZW1lbnQ6PC9zdHJvbmc+IFZpZXcgYW5kIG1hbmFnZSBhbGwgdXNlcnMnIDJGQSBzdGF0dXM8L2xpPgogIDxsaT48c3Ryb25nPlNlY3VyaXR5IEFsZXJ0czo8L3N0cm9uZz4gRW1haWwgbm90aWZpY2F0aW9ucyBmb3Igc3VzcGljaW91cyBhY3Rpdml0eTwvbGk+CiAgPGxpPjxzdHJvbmc+SVAgQmxhY2tsaXN0aW5nOjwvc3Ryb25nPiBCbG9jayBtYWxpY2lvdXMgSVAgYWRkcmVzc2VzPC9saT4KPC91bD4KICA8L2Rpdj4KICAgICAgPGRpdiBpZD0iaG9va3NfYyI+CiAgICA8aDM+SG9va3M8L2gzPgo8cD5UaGlzIG1vZHVsZSB1c2VzIEhvb2tzIHRvIHRpZSBpbiBleHRlcm5hbCBmdW5jdGlvbmFsaXR5LiBUaGUgZm9sbG93aW5nIGhvb2tzIGFyZSBhdmFpbGFibGU6PC9wPgo8dWw+CiAgICA8bGk+PGNvZGU+VHdvRmFjdG9yOjpCZWZvcmVWZXJpZmljYXRpb248L2NvZGU+CiAgICAgICAgPHA+U2VudCBiZWZvcmUgdmVyaWZpY2F0aW9uIGNvZGUgaXMgY2hlY2tlZC48L3A+CiAgICAgICAgPHA+UGFyYW1ldGVycyAoYXMgYW4gYXNzb2NpYXRpdmUgYXJyYXkpPC9wPgogICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxjb2RlPnVzZXJfaWQ8L2NvZGU+IDogaW50IC0gVGhlIHVzZXIgaWQgYXR0ZW1wdGluZyB2ZXJpZmljYXRpb248L2xpPgogICAgICAgICAgICA8bGk+PGNvZGU+cHJvdmlkZXI8L2NvZGU+IDogc3RyaW5nIC0gUHJvdmlkZXIga2V5PC9saT4KICAgICAgICAgICAgPGxpPjxjb2RlPmNvZGU8L2NvZGU+IDogc3RyaW5nIC0gVGhlIHZlcmlmaWNhdGlvbiBjb2RlIGVudGVyZWQ8L2xpPgogICAgICAgIDwvdWw+CiAgICA8L2xpPgogICAgPGxpPjxjb2RlPlR3b0ZhY3Rvcjo6QWZ0ZXJWZXJpZmljYXRpb25TdWNjZXNzPC9jb2RlPgogICAgICAgIDxwPlNlbnQgYWZ0ZXIgc3VjY2Vzc2Z1bCB2ZXJpZmljYXRpb24uPC9wPgogICAgICAgIDxwPlBhcmFtZXRlcnMgKGFzIGFuIGFzc29jaWF0aXZlIGFycmF5KTwvcD4KICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48Y29kZT51c2VyX2lkPC9jb2RlPiA6IGludCAtIFRoZSB1c2VyIGlkIHdobyB2ZXJpZmllZCBzdWNjZXNzZnVsbHk8L2xpPgogICAgICAgICAgICA8bGk+PGNvZGU+cHJvdmlkZXI8L2NvZGU+IDogc3RyaW5nIC0gUHJvdmlkZXIga2V5IHVzZWQgZm9yIHZlcmlmaWNhdGlvbjwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvbGk+CiAgICA8bGk+PGNvZGU+VHdvRmFjdG9yOjpBZnRlclZlcmlmaWNhdGlvbkZhaWw8L2NvZGU+CiAgICAgICAgPHA+U2VudCBhZnRlciBmYWlsZWQgdmVyaWZpY2F0aW9uIGF0dGVtcHQuPC9wPgogICAgICAgIDxwPlBhcmFtZXRlcnMgKGFzIGFuIGFzc29jaWF0aXZlIGFycmF5KTwvcD4KICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48Y29kZT51c2VyX2lkPC9jb2RlPiA6IGludCAtIFRoZSB1c2VyIGlkIHdobyBmYWlsZWQgdmVyaWZpY2F0aW9uPC9saT4KICAgICAgICAgICAgPGxpPjxjb2RlPnByb3ZpZGVyPC9jb2RlPiA6IHN0cmluZyAtIFByb3ZpZGVyIGtleSBhdHRlbXB0ZWQ8L2xpPgogICAgICAgICAgICA8bGk+PGNvZGU+Y29kZTwvY29kZT4gOiBzdHJpbmcgLSBUaGUgaW5jb3JyZWN0IGNvZGUgZW50ZXJlZDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvbGk+CjwvdWw+Cgo8aDM+UGVybWlzc2lvbnM8L2gzPgo8dWw+CiAgICA8bGk+PHN0cm9uZz5NYW5hZ2UgVHdvRmFjdG9yOjwvc3Ryb25nPiBBY2Nlc3MgdG8gVHdvRmFjdG9yIHNldHRpbmdzIGFuZCBjb25maWd1cmF0aW9uPC9saT4KICAgIDxsaT48c3Ryb25nPlVzZSBUd29GYWN0b3I6PC9zdHJvbmc+IEFjY2VzcyB0byBUd29GYWN0b3IgdXNlciBwcmVmZXJlbmNlcyAoZW5hYmxlL2NvbmZpZ3VyZSAyRkEgbWV0aG9kcyk8L2xpPgogICAgPGxpPjxzdHJvbmc+TWFuYWdlIFR3b0ZhY3RvciBTTVM6PC9zdHJvbmc+IEFjY2VzcyB0byBTTVMgc2V0dGluZ3MgY29uZmlndXJhdGlvbjwvbGk+CiAgICA8bGk+PHN0cm9uZz5NYW5hZ2UgVHdvRmFjdG9yIFBybzo8L3N0cm9uZz4gQWNjZXNzIHRvIFR3b0ZhY3RvciBQcm8gc2V0dGluZ3MgKHJlcXVpcmVzIFBybyBtb2R1bGUpPC9saT4KPC91bD4KCjxoMz5BdmFpbGFibGUgUHJvdmlkZXJzPC9oMz4KPHVsPgogICAgPGxpPjxjb2RlPlR3b0ZhY3RvclByb3ZpZGVyVE9UUDwvY29kZT4gJm1kYXNoOyBBdXRoZW50aWNhdG9yIGFwcCAoR29vZ2xlIEF1dGhlbnRpY2F0b3IsIEF1dGh5LCBldGMuKTwvbGk+CiAgICA8bGk+PGNvZGU+VHdvRmFjdG9yUHJvdmlkZXJFbWFpbDwvY29kZT4gJm1kYXNoOyBFbWFpbCB2ZXJpZmljYXRpb24gY29kZXM8L2xpPgogICAgPGxpPjxjb2RlPlR3b0ZhY3RvclByb3ZpZGVyU01TPC9jb2RlPiAmbWRhc2g7IFNNUyB2ZXJpZmljYXRpb24gY29kZXMgKFR3aWxpbyAvIE1hbmFnZWQgQ3JlZGl0cyk8L2xpPgogICAgPGxpPjxjb2RlPlR3b0ZhY3RvclByb3ZpZGVyUGFzc2tleTwvY29kZT4gJm1kYXNoOyBQYXNza2V5cyBhbmQgc2VjdXJpdHkga2V5cyAoV2ViQXV0aG4vRklETzIpPC9saT4KICAgIDxsaT48Y29kZT5Ud29GYWN0b3JQcm92aWRlckJhY2t1cENvZGVzPC9jb2RlPiAmbWRhc2g7IE9uZS10aW1lIGJhY2t1cCBjb2RlczwvbGk+CjwvdWw+Cgo8aDM+V2ViQXV0aG4gLyBQYXNza2V5IE5vdGVzPC9oMz4KPHA+VGhlIFBhc3NrZXkgcHJvdmlkZXIgdXNlcyB0aGUgV2ViQXV0aG4gKEZJRE8yKSBzdGFuZGFyZC4gS2V5IHRlY2huaWNhbCBkZXRhaWxzOjwvcD4KPHVsPgogICAgPGxpPjxzdHJvbmc+SFRUUFMgcmVxdWlyZWQ6PC9zdHJvbmc+IFdlYkF1dGhuIG9ubHkgd29ya3Mgb3ZlciBzZWN1cmUgY29ubmVjdGlvbnMgKEhUVFBTIG9yIGxvY2FsaG9zdCk8L2xpPgogICAgPGxpPjxzdHJvbmc+QnJvd3NlciBzdXBwb3J0Ojwvc3Ryb25nPiBBbGwgbW9kZXJuIGJyb3dzZXJzIHN1cHBvcnQgV2ViQXV0aG4gKENocm9tZSwgRmlyZWZveCwgU2FmYXJpLCBFZGdlKTwvbGk+CiAgICA8bGk+PHN0cm9uZz5SZWx5aW5nIFBhcnR5IElEOjwvc3Ryb25nPiBBdXRvbWF0aWNhbGx5IHNldCB0byB5b3VyIHNpdGUncyBkb21haW4gZnJvbSA8Y29kZT5yb290X3VybDwvY29kZT4gaW4gY29uZmlnPC9saT4KICAgIDxsaT48c3Ryb25nPkF0dGVzdGF0aW9uOjwvc3Ryb25nPiBTZXQgdG8gIm5vbmUiIChubyBhdHRlc3RhdGlvbiB2ZXJpZmljYXRpb24pIGZvciBtYXhpbXVtIGNvbXBhdGliaWxpdHk8L2xpPgogICAgPGxpPjxzdHJvbmc+RnJlZSB0aWVyOjwvc3Ryb25nPiBQbGF0Zm9ybSBhdXRoZW50aWNhdG9ycyBvbmx5LCBzaW5nbGUgY3JlZGVudGlhbCBwZXIgdXNlciAoc3RvcmVkIGluIHVzZXJtZXRhKTwvbGk+CiAgICA8bGk+PHN0cm9uZz5Qcm8gdGllcjo8L3N0cm9uZz4gQWxsIGF1dGhlbnRpY2F0b3IgdHlwZXMsIG11bHRpcGxlIGNyZWRlbnRpYWxzIHBlciB1c2VyIChzdG9yZWQgaW4gZGVkaWNhdGVkIERCIHRhYmxlKTwvbGk+CiAgICA8bGk+QXV0aGVudGljYXRpb24gdHJpZXMgdGhlIGJhc2UgY3JlZGVudGlhbCBmaXJzdCwgdGhlbiBhbGwgUHJvIGNyZWRlbnRpYWxzPC9saT4KPC91bD4KICA8L2Rpdj4KCgogIDxkaXYgY2xhc3M9ImNsZWFyYiI+PC9kaXY+CjwvZGl2PjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q01TTVNFeHQgPSZndDsgMS41LjI8L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBQaXhlbCBTb2x1dGlvbnMgJmx0O2luZm9AcGl4ZWxzb2x1dGlvbnMuYml6Jmd0OzxiciAvPjxiciAvPlZlcnNpb246IDQuMC4wPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PGgxPkNoYW5nZWxvZzwvaDE+Cgo8aDI+VmVyc2lvbiA0LjAuMDwvaDI+Cjx1bD48b2w+PGxpPkltcHJvdmVkOiB0d28tZmFjdG9yIGxvZ2luIG5vdyB3b3JrcyBzbW9vdGhseSB3aXRoIHRoZSBtb2Rlcm4gQ01TIE1hZGUgU2ltcGxlIGxvZ2luIHByb2Nlc3MgKDIuMi4yMyBhbmQgbmV3ZXIpLCB3aXRoIG5vIG1vcmUgZm9yY2VkIGxvZ291dC1hbmQtYmFjay1pbiBiZWhpbmQgdGhlIHNjZW5lczwvbGk+CjxsaT5JbXByb3ZlZDogdGhlIHZlcmlmaWNhdGlvbiBwYWdlIGFuZCBpdHMgbGlua3Mgbm93IHdvcmsgY29ycmVjdGx5IHdoZXRoZXIgb3Igbm90IHlvdXIgc2l0ZSB1c2VzIHByZXR0eSBVUkxzPC9saT4KPGxpPkltcHJvdmVkOiBjaG9vc2luZyBhIGRpZmZlcmVudCB2ZXJpZmljYXRpb24gbWV0aG9kIGlzIG5vdyBjbGVhcmVyLiBBbHRlcm5hdGl2ZXMgYXJlIHNob3duIGFzIGEgdGlkeSBsaXN0IG9mIGJ1dHRvbnMgd2l0aCBhbiBpY29uIGZvciBlYWNoIG1ldGhvZCwgaW5zdGVhZCBvZiBhIGNyYW1wZWQgbGluZSBvZiB0ZXh0IGxpbmtzPC9saT4KPGxpPkZpeGVkOiBlbnRlcmluZyB5b3VyIGNvZGUgY291bGQgZmFpbCB3aXRoIGEgIk5vdCBGb3VuZCIgZXJyb3Igb24gc2l0ZXMgd2l0aG91dCBwcmV0dHkgVVJMcy4gVmVyaWZpY2F0aW9uIG5vdyBzdWJtaXRzIHJlbGlhYmx5IGluIGFsbCBzZXR1cHM8L2xpPgo8bGk+Rml4ZWQ6IHRoZSAicmVzZW5kIGNvZGUiLCAidXNlIGFub3RoZXIgbWV0aG9kIiwgInVzZSBhIGJhY2t1cCBjb2RlIiwgYW5kICJiYWNrIHRvIHByaW1hcnkgbWV0aG9kIiBsaW5rcyBub3cgYWx3YXlzIHdvcms8L2xpPgo8bGk+Rml4ZWQ6IGNob29zaW5nIGVtYWlsIG9yIFNNUyB2ZXJpZmljYXRpb24gbm8gbG9uZ2VyIHNob3dzIGFuIGVycm9yIHBhZ2Ugd2hlbiB0aGUgbWVzc2FnZSBjYW5ub3QgYmUgc2VudC4gWW91IG5vdyBnZXQgYSBjbGVhciBtZXNzYWdlIGFuZCBjYW4gc3dpdGNoIHRvIGFub3RoZXIgbWV0aG9kPC9saT4KPGxpPkZpeGVkOiB0aGUgYmFja3VwIGNvZGVzIHZlcmlmaWNhdGlvbiBzY3JlZW4gY291bGQgZmFpbCB0byBsb2FkOyBpdCBub3cgZGlzcGxheXMgY29ycmVjdGx5PC9saT4KPGxpPkNoYW5nZWQ6IG5vdyByZXF1aXJlcyBDTVMgTWFkZSBTaW1wbGUgMi4yLjIzIG9yIG5ld2VyLCBhbmQgUEhQIDguMSBvciBuZXdlcjwvbGk+CjxsaT5Ib3VzZWtlZXBpbmc6IHVwZ3JhZGluZyBmcm9tIGFuIG9sZGVyIHZlcnNpb24gYW5kIHVuaW5zdGFsbGluZyBub3cgY2xlYW4gdXAgbGVmdG92ZXIgbG9naW4gc2V0dGluZ3MgYXV0b21hdGljYWxseTwvbGk+CjxwPjwvb2w+PC91bD48L3A+CjxoMj5WZXJzaW9uIDMuMC4wPC9oMj4KPHVsPjxvbD48bGk+QWRkZWQgUGFzc2tleSAvIFdlYkF1dGhuIChGSURPMikgc3VwcG9ydCBhcyBhIG5ldyBhdXRoZW50aWNhdGlvbiBtZXRob2Q8L2xpPgo8bGk+QnVpbHQgc2VsZi1jb250YWluZWQgV2ViQXV0aG4gc2VydmVyIGxpYnJhcnkgKG5vIGV4dGVybmFsIGRlcGVuZGVuY2llcyk8L2xpPgo8bGk+SW5jbHVkZXMgQ0JPUiBkZWNvZGVyIGZvciBGSURPMiBhdHRlc3RhdGlvbiBhbmQgQ09TRSBrZXkgcGFyc2luZzwvbGk+CjxsaT5QbGF0Zm9ybSBhdXRoZW50aWNhdG9yIHN1cHBvcnQgKFRvdWNoIElELCBXaW5kb3dzIEhlbGxvLCBGYWNlIElEKTwvbGk+CjxsaT5TaW5nbGUgcGFzc2tleSByZWdpc3RyYXRpb24gcGVyIHVzZXIgaW4gZnJlZSB0aWVyPC9saT4KPGxpPkF1dG8tdHJpZ2dlcmVkIGJyb3dzZXIgYXV0aGVudGljYXRpb24gb24gdmVyaWZpY2F0aW9uIHBhZ2U8L2xpPgo8bGk+QUpBWC1iYXNlZCByZWdpc3RyYXRpb24gY2VyZW1vbnkgd2l0aCByZWFsLXRpbWUgc3RhdHVzIGZlZWRiYWNrPC9saT4KPGxpPlBhc3NrZXkgcHJvdmlkZXIgaW50ZWdyYXRlcyB3aXRoIGV4aXN0aW5nIHByb3ZpZGVyIHN3aXRjaGluZyBhbmQgYmFja3VwIGNvZGVzPC9saT4KPGxpPkFkZGVkIFdlYkF1dGhuIGNoYWxsZW5nZSBzZXNzaW9uIG1hbmFnZW1lbnQgd2l0aCBwcm9wZXIgY2xlYW51cDwvbGk+CjxsaT5IVFRQUyBkZXRlY3Rpb24gZm9yIFdlYkF1dGhuIGF2YWlsYWJpbGl0eTwvbGk+CjxsaT5Qcm8gaW50ZWdyYXRpb246IGF1dGhlbnRpY2F0aW9uIGNoZWNrcyBib3RoIGJhc2UgYW5kIFBybyBtdWx0aS1rZXkgY3JlZGVudGlhbHM8L2xpPgo8bGk+QWRkZWQgfjQwIG5ldyBsYW5ndWFnZSBzdHJpbmdzIGZvciBwYXNza2V5IGFuZCBrZXkgbWFuYWdlbWVudCBmZWF0dXJlczwvbGk+CjxwPjwvb2w+PC91bD48L3A+CjxoMj5WZXJzaW9uIDIuMS4wPC9oMj4KPHVsPjxvbD48bGk+TWlncmF0ZWQgdmVyaWZpY2F0aW9uIGZsb3cgdG8gbW9kdWxlIGFjdGlvbiAocmVtb3ZlZCBzdGFuZGFsb25lIGFkbWluL3R3b2ZhY3Rvci5waHApPC9saT4KPGxpPkFkZGVkIGxhbmd1YWdlIHN0cmluZyBzdXBwb3J0IGZvciBhbGwgdmVyaWZpY2F0aW9uIHRlbXBsYXRlcyAoVE9UUCwgRW1haWwsIFNNUyk8L2xpPgo8bGk+SW1wcm92ZWQgZm9ybSBmaWVsZCBoYW5kbGluZyB3aXRoIGFjdGlvbmlkIHByZWZpeGVzIGZvciBwcm9wZXIgcGFyYW1ldGVyIHBhc3Npbmc8L2xpPgo8bGk+RW5oYW5jZWQgcmF0ZSBsaW1pdGluZyB3aXRoIGF1dG9tYXRpYyBjbGVhbnVwIHdoZW4gZGlzYWJsZWQ8L2xpPgo8bGk+VXBkYXRlZCBhbGwgcHJvdmlkZXJzIHRvIGFjY2VwdCAkcGFyYW1zIHBhcmFtZXRlciBmb3IgY29uc2lzdGVudCB2YWxpZGF0aW9uPC9saT4KPGxpPkltcHJvdmVkIGNvdW50ZG93biB0aW1lciB3aXRoIGxhbmd1YWdlLWJhc2VkIG1lc3NhZ2VzPC9saT4KPGxpPkFkZGVkIG1lc3NhZ2UgZGlzcGxheSBzdXBwb3J0IGZvciByZXNlbmQgbm90aWZpY2F0aW9uczwvbGk+CjxsaT5FbmhhbmNlZCBmb3JtIHNlY3VyaXR5IHdpdGggQ1NSRiB0b2tlbiB2YWxpZGF0aW9uPC9saT4KPHA+PC9vbD48L3VsPjwvcD4KPGgyPlZlcnNpb24gMi4wLjA8L2gyPgo8dWw+PG9sPjxsaT5TcGxpdCBtb2R1bGUgaW50byBUd29GYWN0b3IgKEZyZWUpIGFuZCBUd29GYWN0b3JQcm8gKFByZW1pdW0pPC9saT4KPGxpPkFkZGVkIE1hbmFnZWQgU01TIENyZWRpdHMgc3lzdGVtPC9saT4KPGxpPkFkZGVkIFNNUyB2ZXJpZmljYXRpb24gbG9ncyB3aXRoIHBhZ2luYXRpb248L2xpPgo8bGk+SW1wcm92ZWQgYWRtaW4gaW50ZXJmYWNlIHdpdGggdW5pZmllZCBzZXR0aW5nczwvbGk+CjxsaT5BZGRlZCBldmVudCBzeXN0ZW0gZm9yIFBybyBpbnRlZ3JhdGlvbjwvbGk+CjxsaT5FbmhhbmNlZCBzZWN1cml0eSB3aXRoIGxpY2Vuc2UgdmFsaWRhdGlvbjwvbGk+CjxsaT5BZGRlZCB1cGdyYWRlIHBhdGggdG8gUHJvIHZlcnNpb248L2xpPgo8cD48L29sPjwvdWw+PC9wPgo8aDI+VmVyc2lvbiAxLjEuMzwvaDI+Cjx1bD48b2w+PGxpPkFkZGVkIGR1YWwgcGVybWlzc2lvbiBzeXN0ZW0gKG1hbmFnZV90d29mYWN0b3IgYW5kIHVzZV90d29mYWN0b3IpPC9saT4KPGxpPkNyZWF0ZWQgc2VwYXJhdGUgYWRtaW4gaW50ZXJmYWNlczogU2l0ZSBBZG1pbiBzZXR0aW5ncyBhbmQgTXkgUHJlZmVyZW5jZXM8L2xpPgo8bGk+Q2VudHJhbGl6ZWQgVHdpbGlvIEFQSSBjb25maWd1cmF0aW9uIGluIHNpdGUgcHJlZmVyZW5jZXM8L2xpPgo8bGk+QWRkZWQgIkRpc2FibGVkIiBvcHRpb24gdG8gcHJpbWFyeSBtZXRob2QgZHJvcGRvd248L2xpPgo8bGk+RXhjbHVkZWQgYmFja3VwIGNvZGVzIGZyb20gcHJpbWFyeSBtZXRob2Qgc2VsZWN0aW9uPC9saT4KPGxpPkltcHJvdmVkIFNNUyBzZXR1cCB3aXRoIHZlcmlmaWVkIHN0YXR1cyBkaXNwbGF5PC9saT4KPGxpPkNvbnZlcnRlZCB0byBzdGFuZGFyZCBDTVNNUyBtZXNzYWdlIHN5c3RlbSAoU2V0TWVzc2FnZS9TZXRFcnJvcik8L2xpPgo8bGk+QWRkZWQgY3VzdG9taXphYmxlIEhUTUwgZW1haWwgdGVtcGxhdGUgc3lzdGVtPC9saT4KPGxpPkNyZWF0ZWQgcHJvZmVzc2lvbmFsIGVtYWlsIHZlcmlmaWNhdGlvbiB0ZW1wbGF0ZSB3aXRoIHJlc3BvbnNpdmUgZGVzaWduPC9saT4KPHA+PC9vbD48L3VsPjwvcD4KPGgyPlZlcnNpb24gMS4wLjA8L2gyPgo8dWw+PG9sPjxsaT5Jbml0aWFsIHN0YWJsZSByZWxlYXNlPC9saT4KPGxpPlRPVFAgKEF1dGhlbnRpY2F0b3IgQXBwKSBzdXBwb3J0IHdpdGggUVIgY29kZSBnZW5lcmF0aW9uPC9saT4KPGxpPkVtYWlsIHZlcmlmaWNhdGlvbiB3aXRoIDYtZGlnaXQgY29kZXM8L2xpPgo8bGk+U01TIHZlcmlmaWNhdGlvbiB2aWEgVHdpbGlvIFZlcmlmeSBBUEk8L2xpPgo8bGk+QmFja3VwIGNvZGVzIGZvciBlbWVyZ2VuY3kgYWNjZXNzPC9saT4KPGxpPlBob25lIG51bWJlciB2ZXJpZmljYXRpb24gZmxvdyB3aXRoIHJlc2VuZCBhbmQgY2hhbmdlIG9wdGlvbnM8L2xpPgo8bGk+RnJpZW5kbHkgZXJyb3IgbWVzc2FnZXMgZm9yIFR3aWxpbyBBUEkgZXJyb3JzPC9saT4KPGxpPkxvZ2luIGludGVyY2VwdGlvbiB2aWEgQ29yZTo6TG9naW5Qb3N0IGV2ZW50PC9saT4KPGxpPlN0YW5kYWxvbmUgdmVyaWZpY2F0aW9uIHBhZ2UgKGFkbWluL3R3b2ZhY3Rvci5waHApPC9saT4KPGxpPlVzZXIgbWV0YWRhdGEgc3RvcmFnZSBzeXN0ZW08L2xpPgo8bGk+UHJvdmlkZXIgc3dpdGNoaW5nIGR1cmluZyB2ZXJpZmljYXRpb248L2xpPgo8bGk+UHJpbWFyeSBtZXRob2Qgc2VsZWN0aW9uPC9saT4KPGxpPkF1ZGl0IGxvZ2dpbmcgZm9yIGFsbCAyRkEgZXZlbnRzPC9saT4KPHA+PC9vbD48L3VsPjwvcD48YnIgLz4=]]></about>
	<description><![CDATA[Secure CMS Made Simple login with Two Factor Authentication (2FA) - by Pixel Solutions]]></description>
	<requires>
		<requiredname>CMSMSExt</requiredname>
		<requiredversion>1.5.2</requiredversion>
	</requires>
	<file>
		<filename>/</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/README.md</filename>
		<isdir>0</isdir>
		<data><![CDATA[IyBUd29GYWN0b3IKClR3by1mYWN0b3IgYXV0aGVudGljYXRpb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUuIEFkZHMgMkZBIHRvIHRoZSBhZG1pbiBsb2dpbiBmbG93IHdpdGggbXVsdGlwbGUgcHJvdmlkZXIgc3VwcG9ydC4KCiMjIFByb3ZpZGVycwoKLSAqKlRPVFAqKiAoQXV0aGVudGljYXRvciBBcHApIC0gR29vZ2xlIEF1dGhlbnRpY2F0b3IsIEF1dGh5LCAxUGFzc3dvcmQsIGV0Yy4KLSAqKkVtYWlsKiogLSBPbmUtdGltZSBjb2RlcyBzZW50IHZpYSBlbWFpbAotICoqU01TKiogLSBPbmUtdGltZSBjb2RlcyBzZW50IHZpYSBTTVMgKHJlcXVpcmVzIFR3aWxpbyBvciBNYW5hZ2VkIENyZWRpdHMpCi0gKipQYXNza2V5KiogLSBXZWJBdXRobi9GSURPMiBiaW9tZXRyaWMgYW5kIGRldmljZSBhdXRoZW50aWNhdGlvbgotICoqQmFja3VwIENvZGVzKiogLSBPbmUtdGltZSByZWNvdmVyeSBjb2RlcwoKIyMgUmVxdWlyZW1lbnRzCgotIENNUyBNYWRlIFNpbXBsZSAyLjIuMjMrCi0gUEhQIDguMSsKLSBDTVNNU0V4dCBtb2R1bGUgPj0gMS41LjIKLSBIVFRQUyAocmVxdWlyZWQgZm9yIFBhc3NrZXkvV2ViQXV0aG4gc3VwcG9ydCkKCiMjIFRoaXJkLVBhcnR5IFNlcnZpY2VzCgpUaGlzIG1vZHVsZSBjb25uZWN0cyB0byBleHRlcm5hbCBzZXJ2aWNlcyBmb3Igc3BlY2lmaWMgZmVhdHVyZXMuIE5vIGRhdGEgaXMgc2VudCB1bmxlc3MgdGhlIGZlYXR1cmUgaXMgZXhwbGljaXRseSBjb25maWd1cmVkIGFuZCBlbmFibGVkIGJ5IHRoZSBzaXRlIGFkbWluaXN0cmF0b3IuCgojIyMgUGl4ZWwgU29sdXRpb25zIExpY2Vuc2UgQVBJCgotICoqUHVycG9zZToqKiBWYWxpZGF0ZXMgU01TIGNyZWRpdCBsaWNlbnNlIGtleXMgYW5kIGNoZWNrcyByZW1haW5pbmcgY3JlZGl0cy4KLSAqKkRhdGEgc2VudDoqKiBMaWNlbnNlIGtleSwgc2l0ZSBkb21haW4uCi0gKipXaGVuOioqIE9ubHkgd2hlbiBTTVMgQ3JlZGl0cyBmZWF0dXJlIGlzIGVuYWJsZWQgYW5kIGNvbmZpZ3VyZWQuCi0gKipFbmRwb2ludDoqKiBgaHR0cHM6Ly9hcGkucGl4ZWxzb2x1dGlvbnMuYml6YAotICoqVGVybXMgb2YgU2VydmljZToqKiBodHRwczovL3BpeGVsc29sdXRpb25zLmJpei90ZXJtcwotICoqUHJpdmFjeSBQb2xpY3k6KiogaHR0cHM6Ly9waXhlbHNvbHV0aW9ucy5iaXovcHJpdmFjeQoKIyMjIFR3aWxpbyBWZXJpZnkgQVBJCgotICoqUHVycG9zZToqKiBTZW5kcyBTTVMgdmVyaWZpY2F0aW9uIGNvZGVzIHRvIHVzZXJzIGR1cmluZyAyRkEgc2V0dXAgYW5kIGxvZ2luLgotICoqRGF0YSBzZW50OioqIFVzZXIgcGhvbmUgbnVtYmVyLCB2ZXJpZmljYXRpb24gY29kZSByZXF1ZXN0LgotICoqV2hlbjoqKiBPbmx5IHdoZW4gVHdpbGlvIFNNUyBwcm92aWRlciBpcyBlbmFibGVkIGFuZCBjb25maWd1cmVkIHdpdGggQVBJIGNyZWRlbnRpYWxzLgotICoqRW5kcG9pbnQ6KiogYGh0dHBzOi8vdmVyaWZ5LnR3aWxpby5jb21gCi0gKipUZXJtcyBvZiBTZXJ2aWNlOioqIGh0dHBzOi8vd3d3LnR3aWxpby5jb20vbGVnYWwvdG9zCi0gKipQcml2YWN5IFBvbGljeToqKiBodHRwczovL3d3dy50d2lsaW8uY29tL2xlZ2FsL3ByaXZhY3kKCiMjIExpY2Vuc2UKClNlZSBkb2MvTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgo=]]></data>
	</file>
	<file>
		<filename>/TwoFactor.module.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgoKY2xhc3MgVHdvRmFjdG9yIGV4dGVuZHMgQ01TTW9kdWxlCnsKICAgIGNvbnN0IE1BTkFHRV9QRVJNID0gJ21hbmFnZV90d29mYWN0b3InOwogICAgY29uc3QgVVNFX1BFUk0gPSAndXNlX3R3b2ZhY3Rvcic7CiAgICBjb25zdCBNQU5BR0VfU01TX1BFUk0gPSAnbWFuYWdlX3R3b2ZhY3Rvcl9zbXMnOwogICAgY29uc3QgTUFOQUdFX1BST19QRVJNID0gJ21hbmFnZV90d29mYWN0b3JfcHJvJzsKICAgIGNvbnN0IFBST0RVQ1RfVVJMID0gJ2h0dHBzOi8vcGl4ZWxzb2x1dGlvbnMuYml6L3BsdWdpbnMvdHdvZmFjdG9yLyc7CgogICAgcHVibGljIGZ1bmN0aW9uIEdldE5hbWUoKSB7IHJldHVybiAnVHdvRmFjdG9yJzsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7IHJldHVybiAnNC4wLjAnOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7cmV0dXJuICcyLjIuMjMnO30KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7IHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2FkbWluZGVzY3JpcHRpb24nKTsgfQogICAgcHVibGljIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgeyByZXR1cm4gVFJVRTsgfQogICAgcHVibGljIGZ1bmN0aW9uIEhhc0FkbWluKCkgeyByZXR1cm4gVFJVRTsgfQogICAgcHVibGljIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbihzZWxmOjpNQU5BR0VfUEVSTSkgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbihzZWxmOjpVU0VfUEVSTSk7CiAgICB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yKCkgeyByZXR1cm4gJ1BpeGVsIFNvbHV0aW9ucyc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsgcmV0dXJuICdpbmZvQHBpeGVsc29sdXRpb25zLmJpeic7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7IHJldHVybiAnc2l0ZWFkbWluJzsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsgcmV0dXJuIFsnQ01TTVNFeHQnID0+ICcxLjUuMiddOyB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICAvLyBTZWxmLWNvbnRhaW5lZCBQU1ItNCBhdXRvbG9hZGluZyBmb3IgdGhlIGJ1bmRsZWQgcm9idGhyZWUvdHdvZmFjdG9yYXV0aAogICAgICAgIC8vIGxpYnJhcnkgYW5kIHRoaXMgbW9kdWxlJ3Mgb3duIGxpYi8gY2xhc3Nlcy4gV2UgaW50ZW50aW9uYWxseSBkbyBOT1QKICAgICAgICAvLyByZXF1aXJlIENvbXBvc2VyJ3MgZ2VuZXJhdGVkIHZlbmRvci9hdXRvbG9hZC5waHAgc28gdGhlIGRpc3RyaWJ1dGVkCiAgICAgICAgLy8gcGFja2FnZSBkb2Vzbid0IG5lZWQgdG8gc2hpcCBDb21wb3NlcidzIENsYXNzTG9hZGVyIG1hY2hpbmVyeS4KICAgICAgICBzcGxfYXV0b2xvYWRfcmVnaXN0ZXIoWyR0aGlzLCAnX2F1dG9sb2FkZXInXSk7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgpOwogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICAgICBpZighJHNtYXJ0eSl7cmV0dXJuO30KCiAgICAgICAgJHNtYXJ0eS0+cmVnaXN0ZXJDbGFzcygnVHdvRmFjdG9yU21hcnR5JywgJ1R3b0ZhY3RvclNtYXJ0eScpOwogICAgICAgICRwbHVnaW5zX2RpciA9IGNtc19qb2luX3BhdGgoICR0aGlzLT5HZXRNb2R1bGVQYXRoKCksICdsaWInLCAncGx1Z2lucycgKTsKICAgICAgICAkc21hcnR5LT5hZGRQbHVnaW5zRGlyKCRwbHVnaW5zX2Rpcik7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBfYXV0b2xvYWRlcigkY2xhc3NuYW1lKQogICAgewogICAgICAgIC8vIFBTUi00OiBSb2JUaHJlZVxBdXRoXCogbWFwcyB0byB2ZW5kb3Ivcm9idGhyZWUvdHdvZmFjdG9yYXV0aC9saWIvKgogICAgICAgIGlmIChzdHJwb3MoJGNsYXNzbmFtZSwgJ1JvYlRocmVlXFxBdXRoXFwnKSA9PT0gMCkgewogICAgICAgICAgICAkcmVsYXRpdmUgPSBzdWJzdHIoJGNsYXNzbmFtZSwgc3RybGVuKCdSb2JUaHJlZVxcQXV0aFxcJykpOwogICAgICAgICAgICAkcmVsYXRpdmUgPSBzdHJfcmVwbGFjZSgnXFwnLCBESVJFQ1RPUllfU0VQQVJBVE9SLCAkcmVsYXRpdmUpOwogICAgICAgICAgICAkZm4gPSBjbXNfam9pbl9wYXRoKAogICAgICAgICAgICAgICAgJHRoaXMtPkdldE1vZHVsZVBhdGgoKSwKICAgICAgICAgICAgICAgICd2ZW5kb3InLCAncm9idGhyZWUnLCAndHdvZmFjdG9yYXV0aCcsICdsaWInLAogICAgICAgICAgICAgICAgJHJlbGF0aXZlIC4gJy5waHAnCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGlmIChmaWxlX2V4aXN0cygkZm4pKSB7CiAgICAgICAgICAgICAgICByZXF1aXJlX29uY2UoJGZuKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAvLyBUaGlzIG1vZHVsZSdzIG93biBjbGFzc2VzOiBsaWIvY2xhc3MuPENsYXNzTmFtZT4ucGhwCiAgICAgICAgJHBhcnRzID0gZXhwbG9kZSgnXFwnLCAkY2xhc3NuYW1lKTsKICAgICAgICAkY2xhc3NuYW1lID0gZW5kKCRwYXJ0cyk7CgogICAgICAgICRmbiA9IGNtc19qb2luX3BhdGgoCiAgICAgICAgICAgICR0aGlzLT5HZXRNb2R1bGVQYXRoKCksCiAgICAgICAgICAgICdsaWInLAogICAgICAgICAgICAnY2xhc3MuJyAuICRjbGFzc25hbWUgLiAnLnBocCcKICAgICAgICApOwoKICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGZuKSkgewogICAgICAgICAgICByZXF1aXJlX29uY2UoJGZuKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpCiAgICB7IAogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdWJhY3Rpb24nLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdfJywgQ0xFQU5fSU5UKTsKICAgICAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tUdF13b2ZhY3RvclwvdmVyaWZ5JC8nLCBbJ2FjdGlvbicgPT4gJ2RlZmF1bHQnXSk7CiAgICAgICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bVHRdd29mYWN0b3JcL3ZlcmlmeVwvKD9QPHN1YmFjdGlvbj4uKikkLycsIFsnYWN0aW9uJyA9PiAnZGVmYXVsdCddKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdlbmVyYXRlIHRoZSBwcmV0dHkgVVJMIHBhdGggZm9yIHRoZSB2ZXJpZmljYXRpb24gcm91dGUuCiAgICAgKgogICAgICogQ2FsbGVkIGF1dG9tYXRpY2FsbHkgYnkgQ01TTVMgd2hlbmV2ZXIgY3JlYXRlX3VybCgpIC8ge2Ntc19hY3Rpb25fdXJsfQogICAgICogYnVpbGRzIGEgVVJMIGZvciB0aGlzIG1vZHVsZSdzICJkZWZhdWx0IiBhY3Rpb24gb24gYSBmcm9udGVuZCByZXF1ZXN0LgogICAgICogUmV0dXJuaW5nIGEgcGF0aCBoZXJlIG1ha2VzIHRoZSBjb3JlIGVtaXQgdGhlIFNFRiBmb3JtCiAgICAgKiAodHdvZmFjdG9yL3ZlcmlmeVsvPHN1YmFjdGlvbj5dKSB3aGVuIHVybF9yZXdyaXRpbmcgaXMgZW5hYmxlZCwgYW5kIHRoZQogICAgICogc3RhbmRhcmQgbWFjdCBVUkwgd2hlbiBpdCBpcyBub3QuIENNU01TIGhhbmRsZXMgdGhlIG1vZF9yZXdyaXRlIHZzCiAgICAgKiBpbnRlcm5hbCB2cyBub25lIGRpZmZlcmVuY2UgZm9yIHVzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkICAgICAgIFRoZSBtb2R1bGUgYWN0aW9uIGlkIChlLmcuIGNudG50MDEpLgogICAgICogQHBhcmFtIHN0cmluZyAkYWN0aW9uICAgVGhlIGFjdGlvbiBuYW1lLgogICAgICogQHBhcmFtIHN0cmluZyAkcmV0dXJuaWQgVGhlIHBhZ2UgaWQgdGhlIGFjdGlvbiByZW5kZXJzIG9uLgogICAgICogQHBhcmFtIGFycmF5ICAkcGFyYW1zICAgQWN0aW9uIHBhcmFtZXRlcnMuCiAgICAgKiBAcGFyYW0gYm9vbCAgICRpbmxpbmUgICBXaGV0aGVyIHRoZSBhY3Rpb24gaXMgcmVuZGVyZWQgaW5saW5lLgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbCBUaGUgcHJldHR5IHBhdGgsIG9yIG51bGwgdG8gdXNlIHRoZSBkZWZhdWx0IFVSTC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldF9wcmV0dHlfdXJsKCRpZCwgJGFjdGlvbiwgJHJldHVybmlkID0gJycsICRwYXJhbXMgPSBbXSwgJGlubGluZSA9IGZhbHNlKQogICAgewogICAgICAgIGlmICgkYWN0aW9uICE9PSAnZGVmYXVsdCcpIHJldHVybiBudWxsOwoKICAgICAgICAkdXJsID0gJ3R3b2ZhY3Rvci92ZXJpZnknOwogICAgICAgIGlmICghZW1wdHkoJHBhcmFtc1snc3ViYWN0aW9uJ10pKSB7CiAgICAgICAgICAgICR1cmwgLj0gJy8nIC4gdHJpbSgoc3RyaW5nKSAkcGFyYW1zWydzdWJhY3Rpb24nXSwgJy8nKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR1cmw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpCiAgICB7CiAgICAgICAgVHdvRmFjdG9yQ29yZTo6cmVnaXN0ZXJfcHJvdmlkZXJzKCk7CiAgICAgICAgXENNU01TXEhvb2tNYW5hZ2VyOjphZGRfaG9vaygnQ29yZTo6TG9naW5WZXJpZmllZCcsIGZ1bmN0aW9uKCRwYXJhbXMpIHsKICAgICAgICAgICAgJHRoaXMtPkludGVyY2VwdExvZ2luKCRwYXJhbXMpOwogICAgICAgIH0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkKICAgIHsKICAgICAgICAkbW9kdWxlX3BhdGggPSAkdGhpcy0+R2V0TW9kdWxlVVJMUGF0aCgpOwogICAgICAgICRoZWFkZXJfbGlua3MgPSAnPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJy4kbW9kdWxlX3BhdGguJy9hc3NldHMvdHdvZmFjdG9yX2FkbWluLmNzcyI+JzsKICAgICAgICAvLyBzZWUgaWYgY3VzdG9tLmNzcyBmaWxlIGV4aXN0cwogICAgICAgICRjdXN0b21DU1NmaWxlID0gJ2Fzc2V0cy9tb2R1bGVfY3VzdG9tL1R3b0ZhY3Rvci90d29mYWN0b3JfYWRtaW4uY3NzJzsKICAgICAgICBpZiAoIGZpbGVfZXhpc3RzKENNU19ST09UX1BBVEguJy8nLiRjdXN0b21DU1NmaWxlKSApIHsKICAgICAgICAgICAgJGhlYWRlcl9saW5rcyAuPSAnPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vJy4kY3VzdG9tQ1NTZmlsZS4nIj4nOwogICAgICAgIH0KICAgICAgICAkaGVhZGVyX2xpbmtzIC49ICc8c2NyaXB0IHNyYz0iJy4kbW9kdWxlX3BhdGguJy9hc3NldHMvdHdvZmFjdG9yX2FkbWluLmpzIj48L3NjcmlwdD4nOwogICAgICAgIHJldHVybiAkaGVhZGVyX2xpbmtzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBSZWdpc3RlckV2ZW50cygpCiAgICB7CiAgICAgICAgXEV2ZW50czo6Q3JlYXRlRXZlbnQoJHRoaXMtPkdldE5hbWUoKSwgJ0JlZm9yZVZlcmlmaWNhdGlvbicpOwogICAgICAgIFxFdmVudHM6OkNyZWF0ZUV2ZW50KCR0aGlzLT5HZXROYW1lKCksICdBZnRlclZlcmlmaWNhdGlvblN1Y2Nlc3MnKTsKICAgICAgICBcRXZlbnRzOjpDcmVhdGVFdmVudCgkdGhpcy0+R2V0TmFtZSgpLCAnQWZ0ZXJWZXJpZmljYXRpb25GYWlsJyk7CiAgICB9CgogICAgLy8gTG9naW5WZXJpZmllZCBmaXJlcyBCRUZPUkUgZmluYWxpemF0aW9uLCBzZXNzaW9uIGhhcyBjbXNfcGVuZGluZ19hdXRoX3VzZXJpZAogICAgcHJpdmF0ZSBmdW5jdGlvbiBJbnRlcmNlcHRMb2dpbigkcGFyYW1zKQogICAgewogICAgICAgIGlmICghaXNzZXQoJHBhcmFtc1sndXNlciddKSkgcmV0dXJuOwoKICAgICAgICAkY29uZmlnID0gY21zX3V0aWxzOjpnZXRfY29uZmlnKCk7CiAgICAgICAgaWYgKGlzc2V0KCRjb25maWdbJ3R3b2ZhY3Rvcl9ieXBhc3MnXSkgJiYgJGNvbmZpZ1sndHdvZmFjdG9yX2J5cGFzcyddID09IDEpIHJldHVybjsKCiAgICAgICAgJHVpZCA9ICRwYXJhbXNbJ3VzZXInXS0+aWQ7CiAgICAgICAgaWYgKCFUd29GYWN0b3JDb3JlOjppc191c2VyX3VzaW5nX3R3b19mYWN0b3IoJHVpZCkpIHJldHVybjsKCiAgICAgICAgLy8gRW5zdXJlIGVmZmVjdGl2ZSB1c2VyIGlzIHNldCAoc2FtZSBhcyBhdXRoIHVzZXIgaWYgbm90IGltcGVyc29uYXRpbmcpCiAgICAgICAgaWYgKGVtcHR5KCRfU0VTU0lPTlsnY21zX3BlbmRpbmdfZWZmZWN0aXZlX3VzZXJpZCddKSkgewogICAgICAgICAgICAkX1NFU1NJT05bJ2Ntc19wZW5kaW5nX2VmZmVjdGl2ZV91c2VyaWQnXSA9ICR1aWQ7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRwb3N0X2RhdGEgPSBmaWx0ZXJfaW5wdXRfYXJyYXkoSU5QVVRfUE9TVCkgPzogW107CiAgICAgICAgJF9TRVNTSU9OWyd0d29mYWN0b3JfcmVtZW1iZXJtZSddID0gIWVtcHR5KCRwb3N0X2RhdGFbJ2xvZ2lucmVtZW1iZXInXSkgPyAxIDogMDsKICAgICAgICAkcmVkaXJlY3RfdXJsID0gJHRoaXMtPkdldFZlcmlmeVVybCgpOwogICAgICAgIAogICAgICAgIC8vIENsZWFyIGFueSBvdXRwdXQgYnVmZmVycwogICAgICAgIHdoaWxlIChvYl9nZXRfbGV2ZWwoKSkgewogICAgICAgICAgICBvYl9lbmRfY2xlYW4oKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgc2Vzc2lvbl93cml0ZV9jbG9zZSgpOwogICAgICAgIGhlYWRlcignTG9jYXRpb246ICcgLiAkcmVkaXJlY3RfdXJsLCB0cnVlLCAzMDIpOwogICAgICAgIGV4aXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBCdWlsZCB0aGUgYWJzb2x1dGUgVVJMIHRvIHRoZSAyRkEgdmVyaWZpY2F0aW9uIHBhZ2UuCiAgICAgKgogICAgICogUHJlZmVycyB0aGUgbmF0aXZlIENNU01TIGNyZWF0ZV91cmwoKSAod2hpY2ggY2FsbHMgZ2V0X3ByZXR0eV91cmwoKQogICAgICogYWJvdmUgYW5kIHRoZXJlZm9yZSBob25vdXJzIHRoZSBzaXRlJ3MgdXJsX3Jld3JpdGluZyBtb2RlOiBTRUYgcGF0aCwKICAgICAqIGluZGV4LnBocC8uLi4gLCBvciBhIG1hY3QgcXVlcnkgVVJMKS4gRmFsbHMgYmFjayB0byBhbiBleHBsaWNpdCBidWlsZGVyCiAgICAgKiBmb3IgdGhlIGFkbWluIGxvZ2luLWhvb2sgY29udGV4dCwgd2hlcmUgYSBmcm9udGVuZCBVUkwgY2Fubm90IGJlCiAgICAgKiBnZW5lcmF0ZWQgcmVsaWFibHkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc3ViYWN0aW9uIE9wdGlvbmFsIHJvdXRlIHN1Yi1hY3Rpb24gKGUuZy4gJ3Jlc2VuZCcsCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhY2t1cC1jb2RlcycsICdwcmltYXJ5Jywgb3IgYSBtZXRob2Qgc2x1ZykuCiAgICAgKiBAcGFyYW0gYXJyYXkgICRleHRyYSAgICAgRXh0cmEgcXVlcnkgcGFyYW1ldGVycyB0byBhcHBlbmQgKGUuZy4gY2FjaGUtYnVzdGVyKS4KICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRWZXJpZnlVcmwoJHN1YmFjdGlvbiA9ICcnLCBhcnJheSAkZXh0cmEgPSBbXSkKICAgIHsKICAgICAgICAkc3ViYWN0aW9uID0gdHJpbSgoc3RyaW5nKSAkc3ViYWN0aW9uLCAnLycpOwogICAgICAgICRwYXJhbXMgPSAkZXh0cmE7CiAgICAgICAgaWYgKCRzdWJhY3Rpb24gIT09ICcnKSAkcGFyYW1zWydzdWJhY3Rpb24nXSA9ICRzdWJhY3Rpb247CgogICAgICAgIC8vIE5hdGl2ZSBwYXRoOiBjcmVhdGVfdXJsKCkgLT4gZ2V0X3ByZXR0eV91cmwoKSwgaG9ub3VyaW5nIHVybF9yZXdyaXRpbmcuCiAgICAgICAgLy8gR3VhcmQgaW4gdHJ5L2NhdGNoIGJlY2F1c2UgY3JlYXRlX3VybCgpIHJlbGllcyBvbiBmcm9udGVuZCByZXF1ZXN0CiAgICAgICAgLy8gY29udGV4dCB0aGF0IGlzIG5vdCBwcmVzZW50IGR1cmluZyB0aGUgYWRtaW4gbG9naW4gaG9vay4KICAgICAgICB0cnkgewogICAgICAgICAgICAkdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJ2NudG50MDEnLCAnZGVmYXVsdCcsICcnLCAkcGFyYW1zKTsKICAgICAgICAgICAgaWYgKGlzX3N0cmluZygkdXJsKSAmJiAkdXJsICE9PSAnJwogICAgICAgICAgICAgICAgJiYgc3RycG9zKCR1cmwsICdtb2R1bGVpbnRlcmZhY2UucGhwJykgPT09IGZhbHNlCiAgICAgICAgICAgICAgICAmJiBzdHJwb3MoJHVybCwgJy9hZG1pbi8nKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIC8vIEZyb250ZW5kIFVSTCBvbmx5LiBjcmVhdGVfdXJsKCkgZXNjYXBlcyAnJicgYXMgJyZhbXA7JyBmb3IKICAgICAgICAgICAgICAgIC8vIEhUTUwgb3V0cHV0OyB1bmRvIGl0IGZvciBhIHJhdyBMb2NhdGlvbiBoZWFkZXIgLyByZWRpcmVjdC4KICAgICAgICAgICAgICAgIHJldHVybiBzdHJfcmVwbGFjZSgnJmFtcDsnLCAnJicsICR1cmwpOwogICAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoXFRocm93YWJsZSAkZSkgewogICAgICAgICAgICAvLyBjcmVhdGVfdXJsKCkgY2FuIHRocm93IGlmIHRoZSByb3V0ZSBpc24ndCByZXNvbHZhYmxlIHlldDsgbG9nIGFuZAogICAgICAgICAgICAvLyBmYWxsIHRocm91Z2ggdG8gdGhlIGV4cGxpY2l0IGJ1aWxkZXIgYmVsb3cuCiAgICAgICAgICAgIGVycm9yX2xvZygnVHdvRmFjdG9yOiBHZXRWZXJpZnlVcmwgY3JlYXRlX3VybCgpIGZhaWxlZCwgdXNpbmcgZmFsbGJhY2s6ICcgLiAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+YnVpbGRWZXJpZnlVcmxGYWxsYmFjaygkc3ViYWN0aW9uLCAkZXh0cmEpOwogICAgfQoKICAgIC8qKgogICAgICogRXhwbGljaXQgdXJsX3Jld3JpdGluZy1hd2FyZSBidWlsZGVyIHVzZWQgd2hlbiBjcmVhdGVfdXJsKCkgaXMgbm90CiAgICAgKiBhdmFpbGFibGUgKGFkbWluIGxvZ2luIGhvb2spLiBNaXJyb3JzIHdoYXQgZ2V0X3ByZXR0eV91cmwoKS9jcmVhdGVfdXJsKCkKICAgICAqIHdvdWxkIHByb2R1Y2UuCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gYnVpbGRWZXJpZnlVcmxGYWxsYmFjaygkc3ViYWN0aW9uLCBhcnJheSAkZXh0cmEpCiAgICB7CiAgICAgICAgJGNvbmZpZyA9IGNtc191dGlsczo6Z2V0X2NvbmZpZygpOwogICAgICAgICRyb290ID0gZGVmaW5lZCgnQ01TX1JPT1RfVVJMJykgPyBDTVNfUk9PVF9VUkwgOiAnJzsKICAgICAgICBpZiAoJHJvb3QgPT09ICcnICYmICFlbXB0eSgkY29uZmlnWydyb290X3VybCddKSkgewogICAgICAgICAgICAkcm9vdCA9ICRjb25maWdbJ3Jvb3RfdXJsJ107CiAgICAgICAgfQogICAgICAgICRyb290ID0gcnRyaW0oKHN0cmluZykgJHJvb3QsICcvJyk7CiAgICAgICAgJG1vZGUgPSBpc3NldCgkY29uZmlnWyd1cmxfcmV3cml0aW5nJ10pID8gJGNvbmZpZ1sndXJsX3Jld3JpdGluZyddIDogJ25vbmUnOwogICAgICAgICRzdWJhY3Rpb24gPSB0cmltKChzdHJpbmcpICRzdWJhY3Rpb24sICcvJyk7CgogICAgICAgIGlmICgkbW9kZSA9PT0gJ21vZF9yZXdyaXRlJyB8fCAkbW9kZSA9PT0gJ2ludGVybmFsJykgewogICAgICAgICAgICAkcHJlZml4ID0gKCRtb2RlID09PSAnaW50ZXJuYWwnKSA/ICcvaW5kZXgucGhwJyA6ICcnOwogICAgICAgICAgICAkdXJsID0gJHJvb3QgLiAkcHJlZml4IC4gJy90d29mYWN0b3IvdmVyaWZ5JzsKICAgICAgICAgICAgaWYgKCRzdWJhY3Rpb24gIT09ICcnKSAkdXJsIC49ICcvJyAuIHJhd3VybGVuY29kZSgkc3ViYWN0aW9uKTsKICAgICAgICAgICAgaWYgKCRleHRyYSkgJHVybCAuPSAnPycgLiBodHRwX2J1aWxkX3F1ZXJ5KCRleHRyYSk7CiAgICAgICAgICAgIHJldHVybiAkdXJsOwogICAgICAgIH0KCiAgICAgICAgLy8gTm8gcHJldHR5IFVSTHM6IGNhbm9uaWNhbCBmcm9udGVuZCBtb2R1bGUgYWN0aW9uLiBDb21tYXMgaW4gdGhlIG1hY3QKICAgICAgICAvLyB2YWx1ZSBtdXN0IE5PVCBiZSB1cmwtZW5jb2RlZCBvciBDTVNNUyB3aWxsIGZhaWwgdG8gcGFyc2UgaXQuCiAgICAgICAgLy8gRnJvbnRlbmQgYWN0aW9uIHBhcmFtcyBtdXN0IGJlIHByZWZpeGVkIHdpdGggdGhlIG1vZHVsZSBhY3Rpb24gaWQKICAgICAgICAvLyAoY250bnQwMSkgc28gQ01TTVMgZXh0cmFjdHMgdGhlbSBpbnRvICRwYXJhbXM7IGEgYmFyZSAic3ViYWN0aW9uIgogICAgICAgIC8vIGlzIGlnbm9yZWQuCiAgICAgICAgJHFzID0gW107CiAgICAgICAgaWYgKCRzdWJhY3Rpb24gIT09ICcnKSAkcXNbJ2NudG50MDFzdWJhY3Rpb24nXSA9ICRzdWJhY3Rpb247CiAgICAgICAgJHFzID0gYXJyYXlfbWVyZ2UoJHFzLCAkZXh0cmEpOwogICAgICAgICR1cmwgPSAkcm9vdCAuICcvaW5kZXgucGhwP21hY3Q9VHdvRmFjdG9yLGNudG50MDEsZGVmYXVsdCwwJzsKICAgICAgICBpZiAoJHFzKSAkdXJsIC49ICcmJyAuIGh0dHBfYnVpbGRfcXVlcnkoJHFzKTsKICAgICAgICByZXR1cm4gJHVybDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0SGVscCgpIHsKICAgICAgICAkbW9kcyA9IFxNb2R1bGVPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+R2V0SW5zdGFsbGVkTW9kdWxlcygpOwogICAgICAgICRoYXZlXzJmcHJvID0gaW5fYXJyYXkoJ1R3b0ZhY3RvclBybycsICRtb2RzKTsKICAgICAgICAKICAgICAgICAkc21hcnR5ID0gXGNtc191dGlsczo6Z2V0X3NtYXJ0eSgpOwogICAgICAgICRzbWFydHktPmFzc2lnbignaGF2ZV8yZnBybycsICRoYXZlXzJmcHJvKTsKICAgICAgICAKICAgICAgICAkdHBsX2ZpbGUgPSBjbXNfam9pbl9wYXRoKCR0aGlzLT5HZXRNb2R1bGVQYXRoKCksICd0ZW1wbGF0ZXMnLCAnaGVscC50cGwnKTsKICAgICAgICBpZiAoZmlsZV9leGlzdHMoJHRwbF9maWxlKSkgewogICAgICAgICAgICAkdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ2hlbHAudHBsJykpOwogICAgICAgICAgICByZXR1cm4gJHRwbC0+ZmV0Y2goKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcmV0dXJuICcnOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKSB7CiAgICAgICAgJGJhc2VfZGlyID0gcmVhbHBhdGgoX19ESVJfXyk7CiAgICAgICAgJGZpbGUgPSByZWFscGF0aChfX0RJUl9fLicvZG9jL0NIQU5HRUxPRy5tZCcpOwogICAgICAgIGlmICghJGZpbGUgfHwgISRiYXNlX2RpciB8fCAhaXNfZmlsZSgkZmlsZSkgfHwgIWlzX3JlYWRhYmxlKCRmaWxlKSkgcmV0dXJuICcnOwogICAgICAgIGlmIChzdHJwb3MoJGZpbGUsICRiYXNlX2RpcikgIT09IDApIHJldHVybiAnJzsKICAgICAgICAkbWFya2Rvd24gPSBmaWxlX2dldF9jb250ZW50cygkZmlsZSk7CiAgICAgICAgaWYgKCEkbWFya2Rvd24pIHJldHVybiAnJzsKICAgICAgICByZXR1cm4gVHdvRmFjdG9yU21hcnR5OjptZFRvSFRNTCgkbWFya2Rvd24pOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcGFnZV90eXBlX2xhbmdfY2FsbGJhY2soJHN0cikKICAgIHsKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUd29GYWN0b3InKTsKICAgICAgICBpZiAoaXNfb2JqZWN0KCRtb2QpKSByZXR1cm4gJG1vZC0+TGFuZygndHlwZV8nLiRzdHIpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVzZXRfcGFnZV90eXBlX2RlZmF1bHRzKENtc0xheW91dFRlbXBsYXRlVHlwZSAkdHlwZSkKICAgIHsKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUd29GYWN0b3InKTsKICAgICAgICBpZiAoJHR5cGUtPmdldF9vcmlnaW5hdG9yKCkgIT0gJG1vZC0+R2V0TmFtZSgpKSB0aHJvdyBuZXcgQ21zTG9naWNFeGNlcHRpb24oJ0Nhbm5vdCByZXNldCBjb250ZW50cyBmb3IgdGhpcyB0ZW1wbGF0ZSB0eXBlJyk7CgogICAgICAgIGlmICgkdHlwZS0+Z2V0X25hbWUoKSA9PSAnZW1haWxfdmVyaWZpY2F0aW9uJykgewogICAgICAgICAgICAkZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfZW1haWxfdmVyaWZpY2F0aW9uLnRwbCc7CiAgICAgICAgICAgIGlmIChmaWxlX2V4aXN0cygkZm4pKSByZXR1cm4gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pbk1lbnVJdGVtcygpCiAgICB7CiAgICAgICAgJG91dCA9IFtdOwogICAgICAgIAogICAgICAgIGlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKHNlbGY6Ok1BTkFHRV9QRVJNKSB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKHNlbGY6Ok1BTkFHRV9TTVNfUEVSTSkpIHsKICAgICAgICAgICAgJG9iaiA9IG5ldyBDbXNBZG1pbk1lbnVJdGVtKCk7CiAgICAgICAgICAgICRvYmotPm1vZHVsZSA9ICR0aGlzLT5HZXROYW1lKCk7CiAgICAgICAgICAgICRvYmotPnNlY3Rpb24gPSAnc2l0ZWFkbWluJzsKICAgICAgICAgICAgJG9iai0+dGl0bGUgPSAnVHdvRmFjdG9yIFNldHRpbmdzJzsKICAgICAgICAgICAgJG9iai0+YWN0aW9uID0gJ2RlZmF1bHRhZG1pbic7CiAgICAgICAgICAgICRvYmotPnVybCA9ICR0aGlzLT5jcmVhdGVfdXJsKCdtMV8nLCAkb2JqLT5hY3Rpb24pOwogICAgICAgICAgICAkb3V0W10gPSAkb2JqOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbihzZWxmOjpVU0VfUEVSTSkpIHsKICAgICAgICAgICAgJG9iaiA9IG5ldyBDbXNBZG1pbk1lbnVJdGVtKCk7CiAgICAgICAgICAgICRvYmotPm1vZHVsZSA9ICR0aGlzLT5HZXROYW1lKCk7CiAgICAgICAgICAgICRvYmotPnNlY3Rpb24gPSAnbXlwcmVmcyc7CiAgICAgICAgICAgICRvYmotPnRpdGxlID0gJ1R3b0ZhY3Rvcic7CiAgICAgICAgICAgICRvYmotPmFjdGlvbiA9ICd1c2VyX3ByZWZzJzsKICAgICAgICAgICAgJG9iai0+dXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJ20xXycsICRvYmotPmFjdGlvbik7CiAgICAgICAgICAgICRvdXRbXSA9ICRvYmo7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2Fza191bmluc3RhbGwnKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIElzUHJvSW5zdGFsbGVkKCkKICAgIHsKICAgICAgICAkcHJvID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUd29GYWN0b3JQcm8nKTsKICAgICAgICByZXR1cm4gJHBybyAhPT0gZmFsc2UgJiYgaXNfb2JqZWN0KCRwcm8pOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gSXNQcm9BY3RpdmUoKQogICAgewogICAgICAgIHN0YXRpYyAkcmVzdWx0ID0gbnVsbDsKICAgICAgICBpZiAoJHJlc3VsdCAhPT0gbnVsbCkgcmV0dXJuICRyZXN1bHQ7CgogICAgICAgICRyZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgJHBybyA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVHdvRmFjdG9yUHJvJyk7CiAgICAgICAgaWYgKCEkcHJvKSByZXR1cm4gZmFsc2U7CiAgICAgICAgCiAgICAgICAgaWYgKCFtZXRob2RfZXhpc3RzKCRwcm8sICdJc1Byb0VuYWJsZWQnKSkgcmV0dXJuIGZhbHNlOwogICAgICAgIAogICAgICAgICRlbmFibGVkID0gJHByby0+SXNQcm9FbmFibGVkKCk7CiAgICAgICAgCiAgICAgICAgaWYgKCEkZW5hYmxlZCkgcmV0dXJuIGZhbHNlOwogICAgICAgIAogICAgICAgICRoYXNoID0gc2VsZjo6X3ZlcmlmeV9wcm9faW50ZWdyaXR5KCk7CiAgICAgICAgaWYgKCEkaGFzaCkgcmV0dXJuIGZhbHNlOwogICAgICAgIAogICAgICAgICRyZXN1bHQgPSB0cnVlOwogICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgCiAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfdmVyaWZ5X3Byb19pbnRlZ3JpdHkoKQogICAgewogICAgICAgICRwcm8gPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1R3b0ZhY3RvclBybycpOwogICAgICAgIGlmICghJHBybykgcmV0dXJuIGZhbHNlOwogICAgICAgIAogICAgICAgICRwcm9fcGF0aCA9ICRwcm8tPkdldE1vZHVsZVBhdGgoKTsKICAgICAgICAkY29yZV9maWxlcyA9IFsKICAgICAgICAgICAgJ1R3b0ZhY3RvclByby5tb2R1bGUucGhwJywKICAgICAgICAgICAgJ2xpYi9jbGFzcy5Ud29GYWN0b3JSYXRlTGltaXRlci5waHAnLAogICAgICAgICAgICAnbGliL2NsYXNzLlR3b0ZhY3RvclRydXN0ZWREZXZpY2UucGhwJywKICAgICAgICAgICAgJ2xpYi9jbGFzcy5Ud29GYWN0b3JXZWJBdXRoblByby5waHAnCiAgICAgICAgXTsKICAgICAgICAKICAgICAgICAkaGFzaF9kYXRhID0gJyc7CiAgICAgICAgZm9yZWFjaCAoJGNvcmVfZmlsZXMgYXMgJGZpbGUpIHsKICAgICAgICAgICAgJHBhdGggPSBjbXNfam9pbl9wYXRoKCRwcm9fcGF0aCwgJGZpbGUpOwogICAgICAgICAgICBpZiAoIWZpbGVfZXhpc3RzKCRwYXRoKSkgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAkaGFzaF9kYXRhIC49IG1kNV9maWxlKCRwYXRoKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJGxpY2Vuc2Vfa2V5ID0gJHByby0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9ycHJvX2xpY2Vuc2Vfa2V5JywgJycpOwogICAgICAgIGlmIChlbXB0eSgkbGljZW5zZV9rZXkpKSByZXR1cm4gZmFsc2U7CiAgICAgICAgCiAgICAgICAgJGhhc2hfZGF0YSAuPSAkbGljZW5zZV9rZXk7CiAgICAgICAgCiAgICAgICAgcmV0dXJuIGhhc2goJ3NoYTI1NicsICRoYXNoX2RhdGEpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/action.ajax_passkey.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbihUd29GYWN0b3I6OlVTRV9QRVJNKSkgcmV0dXJuOwoKJHVpZCA9IGdldF91c2VyaWQoKTsKJHByb3ZpZGVyID0gVHdvRmFjdG9yUHJvdmlkZXJQYXNza2V5OjpnZXRfaW5zdGFuY2UoKTsKCiRvcCA9ICRwYXJhbXNbJ29wJ10gPz8gJyc7Cgpzd2l0Y2ggKCRvcCkgewogICAgY2FzZSAnZ2V0X3JlZ19vcHRpb25zJzoKICAgICAgICAkdXNlcm5hbWUgPSBnZXRfdXNlcm5hbWUoJHVpZCk7CiAgICAgICAgJG9wdGlvbnMgPSAkcHJvdmlkZXItPmdldF9yZWdpc3RyYXRpb25fb3B0aW9ucygkdWlkLCAkdXNlcm5hbWUpOwogICAgICAgIFx4dF91dGlsczo6c2VuZF9hamF4X2FuZF9leGl0KCRvcHRpb25zKTsKICAgICAgICBicmVhazsKCiAgICBjYXNlICdyZWdpc3Rlcic6CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHJlc3BvbnNlID0gJHBhcmFtc1snd2ViYXV0aG5fcmVzcG9uc2UnXSA/PyAnJzsKICAgICAgICAgICAgJHByb3ZpZGVyLT5wcm9jZXNzX3JlZ2lzdHJhdGlvbigkdWlkLCAkcmVzcG9uc2UpOwogICAgICAgICAgICBUd29GYWN0b3JDb3JlOjplbmFibGVfcHJvdmlkZXJfZm9yX3VzZXIoJHVpZCwgJ1R3b0ZhY3RvclByb3ZpZGVyUGFzc2tleScpOwogICAgICAgICAgICBceHRfdXRpbHM6OnNlbmRfYWpheF9hbmRfZXhpdChbJ3N1Y2Nlc3MnID0+IHRydWVdKTsKICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIFx4dF91dGlsczo6c2VuZF9hamF4X2FuZF9leGl0KFsnc3VjY2VzcycgPT4gZmFsc2UsICdlcnJvcicgPT4gJGUtPmdldE1lc3NhZ2UoKV0pOwogICAgICAgIH0KICAgICAgICBicmVhazsKCiAgICBjYXNlICdyZW1vdmUnOgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRwcm92aWRlci0+ZGVsZXRlX2NyZWRlbnRpYWwoJHVpZCk7CiAgICAgICAgICAgIC8vIElmIG5vIFBybyBrZXlzIHJlbWFpbiBlaXRoZXIsIGRpc2FibGUgdGhlIHByb3ZpZGVyCiAgICAgICAgICAgICRoYXNfa2V5cyA9IGZhbHNlOwogICAgICAgICAgICBpZiAoXFR3b0ZhY3Rvcjo6SXNQcm9BY3RpdmUoKSAmJiBjbGFzc19leGlzdHMoJ1R3b0ZhY3RvcldlYkF1dGhuUHJvJykpIHsKICAgICAgICAgICAgICAgICRoYXNfa2V5cyA9IFR3b0ZhY3RvcldlYkF1dGhuUHJvOjpnZXRfY3JlZGVudGlhbF9jb3VudCgkdWlkKSA+IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCEkaGFzX2tleXMpIHsKICAgICAgICAgICAgICAgIFR3b0ZhY3RvckNvcmU6OmRpc2FibGVfcHJvdmlkZXJfZm9yX3VzZXIoJHVpZCwgJ1R3b0ZhY3RvclByb3ZpZGVyUGFzc2tleScpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIFx4dF91dGlsczo6c2VuZF9hamF4X2FuZF9leGl0KFsnc3VjY2VzcycgPT4gdHJ1ZV0pOwogICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgXHh0X3V0aWxzOjpzZW5kX2FqYXhfYW5kX2V4aXQoWydzdWNjZXNzJyA9PiBmYWxzZSwgJ2Vycm9yJyA9PiAkZS0+Z2V0TWVzc2FnZSgpXSk7CiAgICAgICAgfQogICAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgICAgXHh0X3V0aWxzOjpzZW5kX2FqYXhfYW5kX2V4aXQoWydzdWNjZXNzJyA9PiBmYWxzZSwgJ2Vycm9yJyA9PiAnSW52YWxpZCBvcGVyYXRpb24nXSk7CiAgICAgICAgYnJlYWs7Cn0K]]></data>
	</file>
	<file>
		<filename>/action.default.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZScpOwpoZWFkZXIoJ1ByYWdtYTogbm8tY2FjaGUnKTsKaGVhZGVyKCdFeHBpcmVzOiAwJyk7CgokY29uZmlnID0gY21zX3V0aWxzOjpnZXRfY29uZmlnKCk7CgovLyBIYW5kbGUgcXVlcnkgcGFyYW1ldGVycwppZiAoaXNzZXQoJHBhcmFtc1snc3ViYWN0aW9uJ10pKSB7CiAgICBpZiAoJHBhcmFtc1snc3ViYWN0aW9uJ10gPT09ICdyZXNlbmQnKSB7CiAgICAgICAgJHBhcmFtc1sncmVzZW5kJ10gPSAxOwogICAgfSBlbHNlaWYgKCRwYXJhbXNbJ3N1YmFjdGlvbiddID09PSAncHJpbWFyeScpIHsKICAgICAgICAkcGFyYW1zWydwcm92aWRlciddID0gJyc7CiAgICB9IGVsc2VpZiAoJHBhcmFtc1snc3ViYWN0aW9uJ10gPT09ICdiYWNrdXAtY29kZXMnKSB7CiAgICAgICAgJHBhcmFtc1sncHJvdmlkZXInXSA9ICdUd29GYWN0b3JQcm92aWRlckJhY2t1cENvZGVzJzsKICAgIH0gZWxzZWlmICgkcGFyYW1zWydzdWJhY3Rpb24nXSA9PT0gJ3RvdHAnKSB7CiAgICAgICAgJHBhcmFtc1sncHJvdmlkZXInXSA9ICdUd29GYWN0b3JQcm92aWRlclRPVFAnOwogICAgfSBlbHNlaWYgKCRwYXJhbXNbJ3N1YmFjdGlvbiddID09PSAnZW1haWwnKSB7CiAgICAgICAgJHBhcmFtc1sncHJvdmlkZXInXSA9ICdUd29GYWN0b3JQcm92aWRlckVtYWlsJzsKICAgIH0gZWxzZWlmICgkcGFyYW1zWydzdWJhY3Rpb24nXSA9PT0gJ3NtcycpIHsKICAgICAgICAkcGFyYW1zWydwcm92aWRlciddID0gJ1R3b0ZhY3RvclByb3ZpZGVyU01TJzsKICAgIH0gZWxzZWlmICgkcGFyYW1zWydzdWJhY3Rpb24nXSA9PT0gJ3Bhc3NrZXknKSB7CiAgICAgICAgJHBhcmFtc1sncHJvdmlkZXInXSA9ICdUd29GYWN0b3JQcm92aWRlclBhc3NrZXknOwogICAgfSBlbHNlaWYgKCRwYXJhbXNbJ3N1YmFjdGlvbiddID09PSAnc2VjdXJpdHkta2V5JykgewogICAgICAgICRwYXJhbXNbJ3Byb3ZpZGVyJ10gPSAnVHdvRmFjdG9yUHJvdmlkZXJTZWN1cml0eUtleSc7CiAgICB9IGVsc2VpZiAoc3RycG9zKCRwYXJhbXNbJ3N1YmFjdGlvbiddLCAnVHdvRmFjdG9yUHJvdmlkZXInKSA9PT0gMCkgewogICAgICAgICRwYXJhbXNbJ3Byb3ZpZGVyJ10gPSAkcGFyYW1zWydzdWJhY3Rpb24nXTsKICAgIH0KfQoKLy8gVmVyaWZ5IHBlbmRpbmcgYXV0aGVudGljYXRpb24gc2Vzc2lvbgppZiAoIWlzc2V0KCRfU0VTU0lPTlsnY21zX3BlbmRpbmdfYXV0aF91c2VyaWQnXSkpIHsKICAgIHJlZGlyZWN0KCRjb25maWdbJ2FkbWluX3VybCddIC4gJy9sb2dpbi5waHAnKTsKICAgIGV4aXQ7Cn0KCi8vIFBlbmRpbmcgYXV0aCB0aW1lb3V0IGNoZWNrICg1IG1pbnV0ZXMpCiRwZW5kaW5nX3RpbWUgPSAkX1NFU1NJT05bJ2Ntc19wZW5kaW5nX2F1dGhfdGltZSddID8/IG51bGw7CmlmICghJHBlbmRpbmdfdGltZSB8fCAkcGVuZGluZ190aW1lIDwgKHRpbWUoKSAtIDMwMCkpIHsKICAgIHVuc2V0KCRfU0VTU0lPTlsnY21zX3BlbmRpbmdfYXV0aF91c2VyaWQnXSwgJF9TRVNTSU9OWydjbXNfcGVuZGluZ19lZmZlY3RpdmVfdXNlcmlkJ10sICRfU0VTU0lPTlsnY21zX3BlbmRpbmdfYXV0aF90aW1lJ10pOwogICAgcmVkaXJlY3QoJGNvbmZpZ1snYWRtaW5fdXJsJ10gLiAnL2xvZ2luLnBocCcpOwogICAgZXhpdDsKfQoKJHVpZCA9IChpbnQpICRfU0VTU0lPTlsnY21zX3BlbmRpbmdfYXV0aF91c2VyaWQnXTsKCi8vIExvYWQgZWZmZWN0aXZlIHVzZXIgZm9yIGZpbmFsaXphdGlvbgokZWZmZWN0aXZlX3VzZXIgPSBudWxsOwppZiAoIWVtcHR5KCRfU0VTU0lPTlsnY21zX3BlbmRpbmdfZWZmZWN0aXZlX3VzZXJpZCddKSkgewogICAgJGVmZmVjdGl2ZV91c2VyID0gVXNlck9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5Mb2FkVXNlckJ5SUQoKGludCkkX1NFU1NJT05bJ2Ntc19wZW5kaW5nX2VmZmVjdGl2ZV91c2VyaWQnXSk7Cn0KCi8vIENoZWNrIGlmIGRldmljZSBpcyB0cnVzdGVkCmlmIChUd29GYWN0b3I6OklzUHJvQWN0aXZlKCkgJiYgY2xhc3NfZXhpc3RzKCdUd29GYWN0b3JUcnVzdGVkRGV2aWNlJykgJiYgVHdvRmFjdG9yVHJ1c3RlZERldmljZTo6aXNfdHJ1c3RlZCgkdWlkKSkgewogICAgJHVzZXIgPSBVc2VyT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPkxvYWRVc2VyQnlJRCgkdWlkKTsKICAgIGlmICgkdXNlcikgewogICAgICAgICRsb2dpbl9vcHMgPSBDTVNNU1xMb2dpbk9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICRyZW1lbWJlcm1lID0gJF9TRVNTSU9OWyd0d29mYWN0b3JfcmVtZW1iZXJtZSddID8/IDA7CgogICAgICAgICRrZXkgPSAkbG9naW5fb3BzLT5maW5hbGl6ZV9hdXRoZW50aWNhdGlvbigkdXNlciwgJGVmZmVjdGl2ZV91c2VyKTsKICAgICAgICB1bnNldCgkX1NFU1NJT05bJ2Ntc19wZW5kaW5nX2F1dGhfdXNlcmlkJ10sICRfU0VTU0lPTlsnY21zX3BlbmRpbmdfZWZmZWN0aXZlX3VzZXJpZCddLCAkX1NFU1NJT05bJ2Ntc19wZW5kaW5nX2F1dGhfdGltZSddKTsKICAgICAgICAKICAgICAgICBpZiAoJHJlbWVtYmVybWUpIHsKICAgICAgICAgICAgc2V0Y29va2llKENNU19VU0VSX0tFWSwgJGtleSwgdGltZSgpICsgMjU5MjAwMCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHVuc2V0KCRfU0VTU0lPTlsndHdvZmFjdG9yX3JlbWVtYmVybWUnXSk7CiAgICAgICAgCiAgICAgICAgYXVkaXQoJHVpZCwgJ0FkbWluIFVzZXJuYW1lOiAnIC4gJHVzZXItPnVzZXJuYW1lLCAnTG9nZ2VkIEluICgyRkEgLSBUcnVzdGVkIERldmljZSknKTsKICAgICAgICAKICAgICAgICByZWRpcmVjdCgkY29uZmlnWydhZG1pbl91cmwnXSAuICcvaW5kZXgucGhwJyk7CiAgICAgICAgZXhpdDsKICAgIH0KfQoKLy8gSGFuZGxlIHByb3ZpZGVyIHN3aXRjaAppZiAoaXNzZXQoJHBhcmFtc1sncHJvdmlkZXInXSkpIHsKICAgIGlmICgkcGFyYW1zWydwcm92aWRlciddICE9PSAnJykgewogICAgICAgIC8vIE5vcm1hbGl6ZSBwcm92aWRlciBuYW1lIChmaXggb2xkIHNpbmd1bGFyIGZvcm0gYW5kIGFsaWFzZXMpCiAgICAgICAgJHByb3ZpZGVyX25hbWUgPSAkcGFyYW1zWydwcm92aWRlciddOwogICAgICAgIGlmICgkcHJvdmlkZXJfbmFtZSA9PT0gJ1R3b0ZhY3RvclByb3ZpZGVyQmFja3VwQ29kZScpIHsKICAgICAgICAgICAgJHByb3ZpZGVyX25hbWUgPSAnVHdvRmFjdG9yUHJvdmlkZXJCYWNrdXBDb2Rlcyc7CiAgICAgICAgfSBlbHNlaWYgKCRwcm92aWRlcl9uYW1lID09PSAnYmFja3VwLWNvZGVzJykgewogICAgICAgICAgICAkcHJvdmlkZXJfbmFtZSA9ICdUd29GYWN0b3JQcm92aWRlckJhY2t1cENvZGVzJzsKICAgICAgICB9IGVsc2VpZiAoJHByb3ZpZGVyX25hbWUgPT09ICd0b3RwJykgewogICAgICAgICAgICAkcHJvdmlkZXJfbmFtZSA9ICdUd29GYWN0b3JQcm92aWRlclRPVFAnOwogICAgICAgIH0gZWxzZWlmICgkcHJvdmlkZXJfbmFtZSA9PT0gJ2VtYWlsJykgewogICAgICAgICAgICAkcHJvdmlkZXJfbmFtZSA9ICdUd29GYWN0b3JQcm92aWRlckVtYWlsJzsKICAgICAgICB9IGVsc2VpZiAoJHByb3ZpZGVyX25hbWUgPT09ICdzbXMnKSB7CiAgICAgICAgICAgICRwcm92aWRlcl9uYW1lID0gJ1R3b0ZhY3RvclByb3ZpZGVyU01TJzsKICAgICAgICB9IGVsc2VpZiAoJHByb3ZpZGVyX25hbWUgPT09ICdwYXNza2V5JykgewogICAgICAgICAgICAkcHJvdmlkZXJfbmFtZSA9ICdUd29GYWN0b3JQcm92aWRlclBhc3NrZXknOwogICAgICAgIH0gZWxzZWlmICgkcHJvdmlkZXJfbmFtZSA9PT0gJ3NlY3VyaXR5LWtleScpIHsKICAgICAgICAgICAgJHByb3ZpZGVyX25hbWUgPSAnVHdvRmFjdG9yUHJvdmlkZXJTZWN1cml0eUtleSc7CiAgICAgICAgfQogICAgICAgICRfU0VTU0lPTlsndHdvZmFjdG9yX292ZXJyaWRlX3Byb3ZpZGVyJ10gPSAkcHJvdmlkZXJfbmFtZTsKICAgIH0gZWxzZSB7CiAgICAgICAgdW5zZXQoJF9TRVNTSU9OWyd0d29mYWN0b3Jfb3ZlcnJpZGVfcHJvdmlkZXInXSk7CiAgICB9CiAgICB1bnNldCgkX1NFU1NJT05bJ3R3b2ZhY3Rvcl9lbWFpbF9zZW50J10pOwogICAgdW5zZXQoJF9TRVNTSU9OWyd0d29mYWN0b3Jfc21zX3NlbnQnXSk7CiAgICAkdXJsID0gJHRoaXMtPkdldFZlcmlmeVVybCgnJywgWydfJyA9PiB0aW1lKCldKTsKICAgIHNlc3Npb25fd3JpdGVfY2xvc2UoKTsKICAgIHJlZGlyZWN0KCR1cmwpOwogICAgZXhpdDsKfQoKLy8gSGFuZGxlIHJlc2VuZCByZXF1ZXN0CmlmIChpc3NldCgkcGFyYW1zWydyZXNlbmQnXSkpIHsKCiAgICB1bnNldCgkX1NFU1NJT05bJ3R3b2ZhY3Rvcl9lbWFpbF9zZW50J10pOwogICAgdW5zZXQoJF9TRVNTSU9OWyd0d29mYWN0b3Jfc21zX3NlbnQnXSk7CiAgICAkX1NFU1NJT05bJ3R3b2ZhY3Rvcl9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnY29kZV9yZXNlbnQnKTsKICAgICR1cmwgPSAkdGhpcy0+R2V0VmVyaWZ5VXJsKCcnLCBbJ18nID0+IHRpbWUoKV0pOwogICAgc2Vzc2lvbl93cml0ZV9jbG9zZSgpOwogICAgcmVkaXJlY3QoJHVybCk7CiAgICBleGl0Owp9CgovLyBHZXQgcHJvdmlkZXIgKGNoZWNrIGZvciBvdmVycmlkZSBmaXJzdCkKaWYgKGlzc2V0KCRfU0VTU0lPTlsndHdvZmFjdG9yX292ZXJyaWRlX3Byb3ZpZGVyJ10pKSB7CiAgICAkcHJvdmlkZXJfa2V5ID0gJF9TRVNTSU9OWyd0d29mYWN0b3Jfb3ZlcnJpZGVfcHJvdmlkZXInXTsKICAgICRhdmFpbGFibGUgPSBUd29GYWN0b3JDb3JlOjpnZXRfYXZhaWxhYmxlX3Byb3ZpZGVyc19mb3JfdXNlcigkdWlkKTsKICAgICRwcm92aWRlciA9ICRhdmFpbGFibGVbJHByb3ZpZGVyX2tleV0gPz8gbnVsbDsKICAgIGlmICghJHByb3ZpZGVyKSB7CiAgICAgICAgdW5zZXQoJF9TRVNTSU9OWyd0d29mYWN0b3Jfb3ZlcnJpZGVfcHJvdmlkZXInXSk7CiAgICAgICAgJHByb3ZpZGVyID0gVHdvRmFjdG9yQ29yZTo6Z2V0X3ByaW1hcnlfcHJvdmlkZXJfZm9yX3VzZXIoJHVpZCk7CiAgICB9Cn0gZWxzZSB7CiAgICAkcHJvdmlkZXIgPSBUd29GYWN0b3JDb3JlOjpnZXRfcHJpbWFyeV9wcm92aWRlcl9mb3JfdXNlcigkdWlkKTsKfQoKaWYgKCEkcHJvdmlkZXIpIHsKICAgIHVuc2V0KCRfU0VTU0lPTlsnY21zX3BlbmRpbmdfYXV0aF91c2VyaWQnXSwgJF9TRVNTSU9OWydjbXNfcGVuZGluZ19lZmZlY3RpdmVfdXNlcmlkJ10sICRfU0VTU0lPTlsnY21zX3BlbmRpbmdfYXV0aF90aW1lJ10pOwogICAgcmVkaXJlY3QoJGNvbmZpZ1snYWRtaW5fdXJsJ10gLiAnL2xvZ2luLnBocCcpOwogICAgZXhpdDsKfQoKJGVycm9yID0gJyc7CiRtZXNzYWdlID0gJyc7CiRsb2NrZWRfc2Vjb25kcyA9IGZhbHNlOwokaXBfYWRkcmVzcyA9ICRfU0VSVkVSWydSRU1PVEVfQUREUiddID8/ICcwLjAuMC4wJzsKCi8vIENoZWNrIGZvciBtZXNzYWdlIGZyb20gcHJldmlvdXMgcmVkaXJlY3QKaWYgKGlzc2V0KCRfU0VTU0lPTlsndHdvZmFjdG9yX21lc3NhZ2UnXSkpIHsKICAgICRtZXNzYWdlID0gJF9TRVNTSU9OWyd0d29mYWN0b3JfbWVzc2FnZSddOwogICAgdW5zZXQoJF9TRVNTSU9OWyd0d29mYWN0b3JfbWVzc2FnZSddKTsKfQoKLy8gQ2hlY2sgZm9yIGVycm9yIGZyb20gcHJldmlvdXMgcmVkaXJlY3QKaWYgKGlzc2V0KCRfU0VTU0lPTlsndHdvZmFjdG9yX2Vycm9yJ10pKSB7CiAgICAkZXJyb3IgPSAkX1NFU1NJT05bJ3R3b2ZhY3Rvcl9lcnJvciddOwogICAgdW5zZXQoJF9TRVNTSU9OWyd0d29mYWN0b3JfZXJyb3InXSk7Cn0KCi8vIENoZWNrIHJhdGUgbGltaXRpbmcgKFBybyBmZWF0dXJlKQppZiAoVHdvRmFjdG9yOjpJc1Byb0FjdGl2ZSgpKSB7CiAgICAkbG9ja2VkX3NlY29uZHMgPSBUd29GYWN0b3JSYXRlTGltaXRlcjo6Y2hlY2tfcmF0ZV9saW1pdCgkdWlkLCAkaXBfYWRkcmVzcyk7CiAgICBpZiAoJGxvY2tlZF9zZWNvbmRzICE9PSBmYWxzZSkgewogICAgICAgICRlcnJvciA9IHNwcmludGYoJHRoaXMtPkxhbmcoJ2FjY291bnRfbG9ja2VkJyksIGNlaWwoJGxvY2tlZF9zZWNvbmRzIC8gNjApKTsKICAgIH0KfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkbG9ja2VkX3NlY29uZHMgPT09IGZhbHNlKSB7CiAgICAvLyBWYWxpZGF0ZSBDU1JGIHRva2VuCiAgICBpZiAoIVx4dF91dGlsczo6dmFsaWRfZm9ybV9jc3JmKCkpIHsKICAgICAgICAkZXJyb3IgPSAnSW52YWxpZCBmb3JtIHN1Ym1pc3Npb24nOwogICAgfQogICAgICAgIAogICAgaWYgKCEkZXJyb3IpIHsKICAgICAgICAkcmVzdWx0ID0gJHByb3ZpZGVyLT52YWxpZGF0ZV9hdXRoZW50aWNhdGlvbigkdWlkLCAkcGFyYW1zKTsKICAgIAppZiAoJHJlc3VsdCkgewogICAgLy8gUmVzZXQgZmFpbGVkIGF0dGVtcHRzIG9uIHN1Y2Nlc3MKICAgIGlmIChUd29GYWN0b3I6OklzUHJvQWN0aXZlKCkpIHsKICAgICAgICBUd29GYWN0b3JSYXRlTGltaXRlcjo6cmVzZXRfYXR0ZW1wdHMoJHVpZCwgJGlwX2FkZHJlc3MpOwogICAgfQogICAgCiAgICAvLyBUcnVzdCBkZXZpY2UgaWYgcmVxdWVzdGVkCiAgICBpZiAoVHdvRmFjdG9yOjpJc1Byb0FjdGl2ZSgpICYmIGNsYXNzX2V4aXN0cygnVHdvRmFjdG9yVHJ1c3RlZERldmljZScpICYmIGlzc2V0KCRwYXJhbXNbJ3RydXN0X2RldmljZSddKSAmJiAkcGFyYW1zWyd0cnVzdF9kZXZpY2UnXSA9PSAnMScpIHsKICAgICAgICBUd29GYWN0b3JUcnVzdGVkRGV2aWNlOjp0cnVzdF9kZXZpY2UoJHVpZCk7CiAgICB9CiAgICAKICAgICR1c2VyID0gVXNlck9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5Mb2FkVXNlckJ5SUQoJHVpZCk7CiAgICBpZiAoJHVzZXIpIHsKICAgICAgICAkbG9naW5fb3BzID0gQ01TTVNcTG9naW5PcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKTsKICAgICAgICAkcmVtZW1iZXJtZSA9ICRfU0VTU0lPTlsndHdvZmFjdG9yX3JlbWVtYmVybWUnXSA/PyAwOwoKICAgICAgICAka2V5ID0gJGxvZ2luX29wcy0+ZmluYWxpemVfYXV0aGVudGljYXRpb24oJHVzZXIsICRlZmZlY3RpdmVfdXNlcik7CiAgICAgICAgdW5zZXQoJF9TRVNTSU9OWydjbXNfcGVuZGluZ19hdXRoX3VzZXJpZCddLCAkX1NFU1NJT05bJ2Ntc19wZW5kaW5nX2VmZmVjdGl2ZV91c2VyaWQnXSwgJF9TRVNTSU9OWydjbXNfcGVuZGluZ19hdXRoX3RpbWUnXSk7CiAgICAgICAgCiAgICAgICAgaWYgKCRyZW1lbWJlcm1lKSB7CiAgICAgICAgICAgIHNldGNvb2tpZShDTVNfVVNFUl9LRVksICRrZXksIHRpbWUoKSArIDI1OTIwMDApOwogICAgICAgIH0KICAgICAgICAKICAgICAgICB1bnNldCgkX1NFU1NJT05bJ3R3b2ZhY3Rvcl9yZW1lbWJlcm1lJ10pOwogICAgICAgIHVuc2V0KCRfU0VTU0lPTlsndHdvZmFjdG9yX2VtYWlsX3NlbnQnXSk7CiAgICAgICAgdW5zZXQoJF9TRVNTSU9OWyd0d29mYWN0b3Jfc21zX3NlbnQnXSk7CiAgICAgICAgdW5zZXQoJF9TRVNTSU9OWyd0d29mYWN0b3Jfb3ZlcnJpZGVfcHJvdmlkZXInXSk7CiAgICAgICAgdW5zZXQoJF9TRVNTSU9OWyd0d29mYWN0b3JfZXJyb3InXSk7CiAgICAgICAgdW5zZXQoJF9TRVNTSU9OWyd0d29mYWN0b3Jfd2ViYXV0aG5fY2hhbGxlbmdlJ10pOwogICAgICAgIAogICAgICAgIGF1ZGl0KCR1aWQsICdBZG1pbiBVc2VybmFtZTogJyAuICR1c2VyLT51c2VybmFtZSwgJ0xvZ2dlZCBJbiAoMkZBKScpOwogICAgICAgIAogICAgICAgIC8vIENsZWFyIGFueSBvdXRwdXQgYnVmZmVycwogICAgICAgIHdoaWxlIChvYl9nZXRfbGV2ZWwoKSkgewogICAgICAgICAgICBvYl9lbmRfY2xlYW4oKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJHJlZGlyZWN0X3VybCA9ICRjb25maWdbJ2FkbWluX3VybCddIC4gJy9pbmRleC5waHAnOwogICAgICAgIGhlYWRlcignTG9jYXRpb246ICcgLiAkcmVkaXJlY3RfdXJsKTsKICAgICAgICBleGl0OwogICAgfQp9IGVsc2UgewogICAgJGVycm9yID0gJHRoaXMtPkxhbmcoJ2ludmFsaWRfY29kZScpOwogICAgaWYgKFR3b0ZhY3Rvcjo6SXNQcm9BY3RpdmUoKSkgewogICAgICAgIFR3b0ZhY3RvclJhdGVMaW1pdGVyOjpyZWNvcmRfZmFpbGVkX2F0dGVtcHQoJHVpZCwgJGlwX2FkZHJlc3MpOwogICAgfQp9CiAgICB9Cn0KCiRwcm92aWRlcl9jbGFzcyA9IGdldF9jbGFzcygkcHJvdmlkZXIpOwokdGVtcGxhdGUgPSAndmVyaWZ5X3RvdHAudHBsJzsgLy8gRGVmYXVsdAoKLy8gQ2hlY2sgaWYgYmFja3VwIGNvZGVzIGFyZSBhdmFpbGFibGUKJGJhY2t1cF9wcm92aWRlciA9IFR3b0ZhY3RvclByb3ZpZGVyQmFja3VwQ29kZXM6OmdldF9pbnN0YW5jZSgpOwokaGFzX2JhY2t1cF9jb2RlcyA9ICRiYWNrdXBfcHJvdmlkZXItPmlzX2F2YWlsYWJsZV9mb3JfdXNlcigkdWlkKTsKJHVzaW5nX2JhY2t1cCA9IHN0cnBvcygkcHJvdmlkZXJfY2xhc3MsICdCYWNrdXBDb2RlcycpICE9PSBmYWxzZTsKCi8vIFNlbGVjdCB0ZW1wbGF0ZSBiYXNlZCBvbiBwcm92aWRlciB0eXBlCmlmIChzdHJwb3MoJHByb3ZpZGVyX2NsYXNzLCAnVE9UUCcpICE9PSBmYWxzZSkgewogICAgJHRlbXBsYXRlID0gJ3ZlcmlmeV90b3RwLnRwbCc7Cn0gZWxzZWlmIChzdHJwb3MoJHByb3ZpZGVyX2NsYXNzLCAnRW1haWwnKSAhPT0gZmFsc2UpIHsKICAgICR0ZW1wbGF0ZSA9ICd2ZXJpZnlfZW1haWwudHBsJzsKICAgIC8vIFNlbmQgZW1haWwgY29kZSBpZiBub3QgYWxyZWFkeSBzZW50CiAgICBpZiAoIWlzc2V0KCRfU0VTU0lPTlsndHdvZmFjdG9yX2VtYWlsX3NlbnQnXSkpIHsKICAgICAgICBpZiAoJHByb3ZpZGVyLT5nZW5lcmF0ZV9hbmRfc2VuZF9jb2RlKCR1aWQpKSB7CiAgICAgICAgICAgICRfU0VTU0lPTlsndHdvZmFjdG9yX2VtYWlsX3NlbnQnXSA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGVycm9yID0gJHRoaXMtPkxhbmcoJ2NvZGVfc2VuZF9mYWlsZWQnKTsKICAgICAgICB9CiAgICB9Cn0gZWxzZWlmIChzdHJwb3MoJHByb3ZpZGVyX2NsYXNzLCAnU01TJykgIT09IGZhbHNlKSB7CiAgICAkdGVtcGxhdGUgPSAndmVyaWZ5X3Ntcy50cGwnOwogICAgLy8gU2VuZCBTTVMgY29kZSBpZiBub3QgYWxyZWFkeSBzZW50CiAgICBpZiAoIWlzc2V0KCRfU0VTU0lPTlsndHdvZmFjdG9yX3Ntc19zZW50J10pKSB7CiAgICAgICAgaWYgKCRwcm92aWRlci0+Z2VuZXJhdGVfYW5kX3NlbmRfY29kZSgkdWlkKSkgewogICAgICAgICAgICAkX1NFU1NJT05bJ3R3b2ZhY3Rvcl9zbXNfc2VudCddID0gdHJ1ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkZXJyb3IgPSAkdGhpcy0+TGFuZygnY29kZV9zZW5kX2ZhaWxlZCcpOwogICAgICAgIH0KICAgIH0KfSBlbHNlaWYgKHN0cnBvcygkcHJvdmlkZXJfY2xhc3MsICdQYXNza2V5JykgIT09IGZhbHNlKSB7CiAgICAkdGVtcGxhdGUgPSAndmVyaWZ5X3Bhc3NrZXkudHBsJzsKICAgICR3ZWJhdXRobl9vcHRpb25zID0gJHByb3ZpZGVyLT5nZXRfYXV0aGVudGljYXRpb25fb3B0aW9ucygkdWlkKTsKfSBlbHNlaWYgKHN0cnBvcygkcHJvdmlkZXJfY2xhc3MsICdTZWN1cml0eUtleScpICE9PSBmYWxzZSkgewogICAgJHRlbXBsYXRlID0gJ3ZlcmlmeV9zZWN1cml0eV9rZXkudHBsJzsKICAgICR3ZWJhdXRobl9vcHRpb25zID0gJHByb3ZpZGVyLT5nZXRfYXV0aGVudGljYXRpb25fb3B0aW9ucygkdWlkKTsKfSBlbHNlaWYgKHN0cnBvcygkcHJvdmlkZXJfY2xhc3MsICdCYWNrdXBDb2RlcycpICE9PSBmYWxzZSkgewogICAgJHRlbXBsYXRlID0gJ3ZlcmlmeV9iYWNrdXBfY29kZXMudHBsJzsKfQoKJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwokdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJHRlbXBsYXRlKSwgbnVsbCwgbnVsbCwgJHNtYXJ0eSk7CiR0cGwtPmFzc2lnbignbW9kJywgJHRoaXMpOwokdHBsLT5hc3NpZ24oJ21vZF91cmwnLCAkdGhpcy0+R2V0TW9kdWxlVVJMUGF0aCgpKTsKJHRwbC0+YXNzaWduKCdhY3Rpb25pZCcsICRpZCk7CiR0cGwtPmFzc2lnbignY29uZmlnJywgJGNvbmZpZyk7CiR0cGwtPmFzc2lnbignZW5jb2RpbmcnLCBnZXRfZW5jb2RpbmcoKSk7CiR0cGwtPmFzc2lnbignc2l0ZW5hbWUnLCBjbXNfdXRpbHM6OmdldF9jb25maWcoKVsnc2l0ZW5hbWUnXSA/PyAnQ01TIE1hZGUgU2ltcGxlJyk7CiR0cGwtPmFzc2lnbignZXJyb3InLCAkZXJyb3IpOwokdHBsLT5hc3NpZ24oJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CiR0cGwtPmFzc2lnbignaGFzX2JhY2t1cF9jb2RlcycsICRoYXNfYmFja3VwX2NvZGVzKTsKJHRwbC0+YXNzaWduKCd1c2luZ19iYWNrdXAnLCAkdXNpbmdfYmFja3VwKTsKJHRwbC0+YXNzaWduKCdsb2NrZWRfc2Vjb25kcycsICRsb2NrZWRfc2Vjb25kcyk7CiR0cGwtPmFzc2lnbignaXNfcHJvX2FjdGl2ZScsIFR3b0ZhY3Rvcjo6SXNQcm9BY3RpdmUoKSk7CmlmIChpc3NldCgkd2ViYXV0aG5fb3B0aW9ucykpIHsKICAgICR0cGwtPmFzc2lnbignd2ViYXV0aG5fb3B0aW9uc19qc29uJywganNvbl9lbmNvZGUoJHdlYmF1dGhuX29wdGlvbnMpKTsKfQoKLy8gQnVpbGQgYWx0ZXJuYXRpdmUgbWV0aG9kcyBsaXN0IChleGNsdWRlIGN1cnJlbnQgcHJvdmlkZXIgYW5kIGJhY2t1cCBjb2RlcykKJGF2YWlsYWJsZSA9IFR3b0ZhY3RvckNvcmU6OmdldF9hdmFpbGFibGVfcHJvdmlkZXJzX2Zvcl91c2VyKCR1aWQpOwokYWx0X21ldGhvZHMgPSBbXTsKJHNsdWdfbWFwID0gWwogICAgJ1R3b0ZhY3RvclByb3ZpZGVyVE9UUCcgICAgICAgID0+ICd0b3RwJywKICAgICdUd29GYWN0b3JQcm92aWRlckVtYWlsJyAgICAgICA9PiAnZW1haWwnLAogICAgJ1R3b0ZhY3RvclByb3ZpZGVyU01TJyAgICAgICAgID0+ICdzbXMnLAogICAgJ1R3b0ZhY3RvclByb3ZpZGVyUGFzc2tleScgICAgID0+ICdwYXNza2V5JywKICAgICdUd29GYWN0b3JQcm92aWRlclNlY3VyaXR5S2V5JyA9PiAnc2VjdXJpdHkta2V5JywKXTsKJGxhYmVsX21hcCA9IFsKICAgICdUd29GYWN0b3JQcm92aWRlclRPVFAnICAgICAgICA9PiAncHJvdmlkZXJfdG90cCcsCiAgICAnVHdvRmFjdG9yUHJvdmlkZXJFbWFpbCcgICAgICAgPT4gJ3Byb3ZpZGVyX2VtYWlsJywKICAgICdUd29GYWN0b3JQcm92aWRlclNNUycgICAgICAgICA9PiAncHJvdmlkZXJfc21zJywKICAgICdUd29GYWN0b3JQcm92aWRlclBhc3NrZXknICAgICA9PiAncHJvdmlkZXJfcGFzc2tleScsCiAgICAnVHdvRmFjdG9yUHJvdmlkZXJTZWN1cml0eUtleScgPT4gJ3Byb3ZpZGVyX3NlY3VyaXR5X2tleScsCl07CmZvcmVhY2ggKCRhdmFpbGFibGUgYXMgJGtleSA9PiAkcCkgewogICAgaWYgKCRrZXkgPT09ICRwcm92aWRlcl9jbGFzcykgY29udGludWU7CiAgICBpZiAoc3RycG9zKCRrZXksICdCYWNrdXBDb2RlcycpICE9PSBmYWxzZSkgY29udGludWU7CiAgICBpZiAoaXNzZXQoJHNsdWdfbWFwWyRrZXldKSkgewogICAgICAgICRhbHRfbWV0aG9kc1tdID0gWwogICAgICAgICAgICAnc2x1ZycgID0+ICRzbHVnX21hcFska2V5XSwKICAgICAgICAgICAgJ2xhYmVsJyA9PiAkdGhpcy0+TGFuZygkbGFiZWxfbWFwWyRrZXldKSwKICAgICAgICAgICAgJ3VybCcgICA9PiAkdGhpcy0+R2V0VmVyaWZ5VXJsKCRzbHVnX21hcFska2V5XSwgWydfJyA9PiB0aW1lKCldKSwKICAgICAgICBdOwogICAgfQp9CiR0cGwtPmFzc2lnbignYWx0X21ldGhvZHMnLCAkYWx0X21ldGhvZHMpOwoKLy8gUHJlLWJ1aWx0LCB1cmxfcmV3cml0aW5nLWF3YXJlIG5hdmlnYXRpb24gVVJMcyBmb3IgdGhlIHZlcmlmeSB0ZW1wbGF0ZXMuCi8vIChUZW1wbGF0ZXMgbXVzdCBub3QgaGFyZGNvZGUgL3R3b2ZhY3Rvci92ZXJpZnkgcGF0aHMsIHdoaWNoIG9ubHkgcmVzb2x2ZQovLyB3aGVuIG1vZF9yZXdyaXRlIHByZXR0eSBVUkxzIGFyZSBlbmFibGVkLikKJHRwbC0+YXNzaWduKCdyZXNlbmRfdXJsJywgICR0aGlzLT5HZXRWZXJpZnlVcmwoJ3Jlc2VuZCcsIFsnXycgPT4gdGltZSgpXSkpOwokdHBsLT5hc3NpZ24oJ2JhY2t1cF91cmwnLCAgJHRoaXMtPkdldFZlcmlmeVVybCgnYmFja3VwLWNvZGVzJywgWydfJyA9PiB0aW1lKCldKSk7CiR0cGwtPmFzc2lnbigncHJpbWFyeV91cmwnLCAkdGhpcy0+R2V0VmVyaWZ5VXJsKCdwcmltYXJ5JywgWydfJyA9PiB0aW1lKCldKSk7Ci8vIEV4cGxpY2l0IGZyb250ZW5kIFBPU1QgdGFyZ2V0IGZvciB0aGUgdmVyaWZ5IGZvcm0uIHtmb3JtX3N0YXJ0fSBndWVzc2VzIHRoZQovLyBhZG1pbiBkaXNwYXRjaGVyIChtb2R1bGVpbnRlcmZhY2UucGhwKSBpbiB0aGlzIGxvZ2luIGNvbnRleHQsIHdoaWNoIGJyZWFrcwovLyB3aGVuIHByZXR0eSBVUkxzIGFyZSBvZmYsIHNvIHdlIHBvc3QgdG8gdGhlIHJlc29sdmVkIGZyb250ZW5kIHZlcmlmeSBVUkwuCiR0cGwtPmFzc2lnbignZm9ybV9hY3Rpb24nLCAkdGhpcy0+R2V0VmVyaWZ5VXJsKCkpOwoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOwpmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQpoZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PScgLiBnZXRfZW5jb2RpbmcoKSk7CmVjaG8gJHRwbC0+ZmV0Y2goKTsKZXhpdDs=]]></data>
	</file>
	<file>
		<filename>/action.defaultadmin.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFR3b0ZhY3Rvcjo6TUFOQUdFX1BFUk0pICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFR3b0ZhY3Rvcjo6TUFOQUdFX1NNU19QRVJNKSkgewogICAgcmV0dXJuOwp9CgokaXNfcHJvX2luc3RhbGxlZCA9IFR3b0ZhY3Rvcjo6SXNQcm9JbnN0YWxsZWQoKTsKJGlzX3Byb19hY3RpdmUgPSBUd29GYWN0b3I6OklzUHJvQWN0aXZlKCk7CiRwcm8gPSAkaXNfcHJvX2luc3RhbGxlZCA/IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVHdvRmFjdG9yUHJvJykgOiBudWxsOwoKJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdkZWZhdWx0YWRtaW4udHBsJyksIG51bGwsIG51bGwsICRzbWFydHkpOwokdHBsLT5hc3NpZ24oJ2lzX3Byb19pbnN0YWxsZWQnLCAkaXNfcHJvX2luc3RhbGxlZCk7CiR0cGwtPmFzc2lnbignaXNfcHJvX2FjdGl2ZScsICRpc19wcm9fYWN0aXZlKTsKJHRwbC0+ZGlzcGxheSgpOwoKJGN1cnJlbnRfdGFiID0gaXNzZXQoJHBhcmFtc1snX19hY3RpdmV0YWInXSkgPyAkcGFyYW1zWydfX2FjdGl2ZXRhYiddIDogKCRpc19wcm9fYWN0aXZlID8gJ3Byb19zZXR0aW5ncycgOiAnc21zJyk7CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYgKCRpc19wcm9faW5zdGFsbGVkICYmICRpc19wcm9fYWN0aXZlKSB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3Byb19zZXR0aW5ncycsICR0aGlzLT5MYW5nKCd0YWJfcHJvX3NldHRpbmdzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCd1c2VyX21hbmFnZW1lbnQnLCAkdGhpcy0+TGFuZygndGFiX3VzZXJfbWFuYWdlbWVudCcpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigndGVtcGxhdGVzJywgJHRoaXMtPkxhbmcoJ3RhYl90ZW1wbGF0ZXMnKSk7Cn0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oVHdvRmFjdG9yOjpNQU5BR0VfU01TX1BFUk0pKSB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NtcycsICR0aGlzLT5MYW5nKCd0YWJfc21zJykpOwogICAgJHNtc2NyZWRpdF9lbmFibGVkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNjcmVkaXRfZW5hYmxlZCcsIDApOwogICAgaWYgKCRzbXNjcmVkaXRfZW5hYmxlZCkgewogICAgICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigndmVyaWZ5X2xvZ3MnLCAkdGhpcy0+TGFuZygndGFiX3ZlcmlmeV9sb2dzJykpOwogICAgfQp9CmlmICgkaXNfcHJvX2luc3RhbGxlZCkgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdsaWNlbnNlJywgJHRoaXMtPkxhbmcoJ3RhYl9saWNlbnNlJykpOwp9CmlmICghJGlzX3Byb19hY3RpdmUgJiYgISRpc19wcm9faW5zdGFsbGVkICYmICR0aGlzLT5DaGVja1Blcm1pc3Npb24oVHdvRmFjdG9yOjpNQU5BR0VfUEVSTSkpIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigndXBncmFkZScsICR0aGlzLT5MYW5nKCd0YWJfdXBncmFkZScpKTsKfQokY29uZmlnID0gY21zX2NvbmZpZzo6Z2V0X2luc3RhbmNlKCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFR3b0ZhY3Rvcjo6TUFOQUdFX1BFUk0pICYmIGlzc2V0KCRjb25maWdbJ3R3b2ZhY3Rvcl9kZWJ1Z19tb2RlJ10gKSAmJiAkY29uZmlnWyd0d29mYWN0b3JfZGVidWdfbW9kZSddICA9PSAnMScpIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGVidWcnLCAkdGhpcy0+TGFuZygndGFiX2RlYnVnJykpOwp9CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwoKaWYgKCRpc19wcm9faW5zdGFsbGVkICYmICRpc19wcm9fYWN0aXZlICYmICRwcm8pIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcm9fc2V0dGluZ3MnLCAkcGFyYW1zKTsKICAgIGluY2x1ZGUoJHByby0+R2V0TW9kdWxlUGF0aCgpIC4gJy9mdW5jdGlvbi5hZG1pbl9wcm9fc2V0dGluZ3MucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICAgIAogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3VzZXJfbWFuYWdlbWVudCcsICRwYXJhbXMpOwogICAgaW5jbHVkZSgkcHJvLT5HZXRNb2R1bGVQYXRoKCkgLiAnL2Z1bmN0aW9uLmFkbWluX3VzZXJfbWFuYWdlbWVudC5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogICAgCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigndGVtcGxhdGVzJywgJHBhcmFtcyk7CiAgICBpbmNsdWRlKCRwcm8tPkdldE1vZHVsZVBhdGgoKSAuICcvZnVuY3Rpb24uYWRtaW5fdGVtcGxhdGVzLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFR3b0ZhY3Rvcjo6TUFOQUdFX1NNU19QRVJNKSkgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3NtcycsICRwYXJhbXMpOwogICAgaW5jbHVkZShfX0RJUl9fIC4gJy9mdW5jdGlvbi5hZG1pbl9zbXNzZXR0aW5ncy5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogICAgCiAgICAkc21zY3JlZGl0X2VuYWJsZWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc2NyZWRpdF9lbmFibGVkJywgMCk7CiAgICBpZiAoJHNtc2NyZWRpdF9lbmFibGVkKSB7CiAgICAgICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3ZlcmlmeV9sb2dzJywgJHBhcmFtcyk7CiAgICAgICAgaW5jbHVkZShfX0RJUl9fIC4gJy9mdW5jdGlvbi5hZG1pbl92ZXJpZnlfbG9ncy5waHAnKTsKICAgICAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICAgIH0KfQoKaWYgKCRpc19wcm9faW5zdGFsbGVkICYmICRwcm8pIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdsaWNlbnNlJywgJHBhcmFtcyk7CiAgICBpbmNsdWRlKCRwcm8tPkdldE1vZHVsZVBhdGgoKSAuICcvZnVuY3Rpb24uYWRtaW5fbGljZW5zZS5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CgppZiAoISRpc19wcm9fYWN0aXZlICYmICEkaXNfcHJvX2luc3RhbGxlZCAmJiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFR3b0ZhY3Rvcjo6TUFOQUdFX1BFUk0pKSB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigndXBncmFkZScsICRwYXJhbXMpOwogICAgaW5jbHVkZShfX0RJUl9fIC4gJy9mdW5jdGlvbi5hZG1pbl91cGdyYWRlLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFR3b0ZhY3Rvcjo6TUFOQUdFX1BFUk0pICYmIGlzc2V0KCRjb25maWdbJ3R3b2ZhY3Rvcl9kZWJ1Z19tb2RlJ10gKSAmJiAkY29uZmlnWyd0d29mYWN0b3JfZGVidWdfbW9kZSddICA9PSAnMScpIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkZWJ1ZycsICRwYXJhbXMpOwogICAgaW5jbHVkZShfX0RJUl9fIC4gJy9mdW5jdGlvbi5kZWJ1Zy5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7Cg==]]></data>
	</file>
	<file>
		<filename>/action.setup_backup_codes.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbihUd29GYWN0b3I6OlVTRV9QRVJNKSkgcmV0dXJuOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignJywnJywndXNlcl9wcmVmcycpOwogICAgcmV0dXJuOwp9CgokdWlkID0gZ2V0X3VzZXJpZCgpOwokcHJvdmlkZXIgPSBUd29GYWN0b3JQcm92aWRlckJhY2t1cENvZGVzOjpnZXRfaW5zdGFuY2UoKTsKCi8vIEhhbmRsZSBnZW5lcmF0ZQppZiAoaXNzZXQoJHBhcmFtc1snZ2VuZXJhdGUnXSkpIHsKICAgICRjb2RlcyA9ICRwcm92aWRlci0+Z2VuZXJhdGVfY29kZXMoMTApOwogICAgJHByb3ZpZGVyLT5zZXRfY29kZXMoJHVpZCwgJGNvZGVzKTsKICAgIFR3b0ZhY3RvckNvcmU6OmVuYWJsZV9wcm92aWRlcl9mb3JfdXNlcigkdWlkLCAnVHdvRmFjdG9yUHJvdmlkZXJCYWNrdXBDb2RlcycpOwogICAgCiAgICAkdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ3NldHVwX2JhY2t1cF9jb2Rlcy50cGwnKSwgbnVsbCwgbnVsbCwgJHNtYXJ0eSk7CiAgICAkdHBsLT5hc3NpZ24oJ2NvZGVzJywgJGNvZGVzKTsKICAgICR0cGwtPmFzc2lnbignbmV3X2NvZGVzJywgdHJ1ZSk7CiAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICByZXR1cm47Cn0KCi8vIEhhbmRsZSBkaXNhYmxlCmlmIChpc3NldCgkcGFyYW1zWydkaXNhYmxlJ10pKSB7CiAgICBUd29GYWN0b3JDb3JlOjpkaXNhYmxlX3Byb3ZpZGVyX2Zvcl91c2VyKCR1aWQsICdUd29GYWN0b3JQcm92aWRlckJhY2t1cENvZGVzJyk7CiAgICBUd29GYWN0b3JVc2VyTWV0YTo6ZGVsZXRlKCR1aWQsICdiYWNrdXBfY29kZXMnKTsKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdiYWNrdXBfY29kZXNfZGlzYWJsZWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCcnLCcnLCd1c2VyX3ByZWZzJyk7CiAgICByZXR1cm47Cn0KCiRjb2RlcyA9ICRwcm92aWRlci0+Z2V0X2NvZGVzKCR1aWQpOwokaXNfZW5hYmxlZCA9ICFlbXB0eSgkY29kZXMpOwoKJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdzZXR1cF9iYWNrdXBfY29kZXMudHBsJyksIG51bGwsIG51bGwsICRzbWFydHkpOwokdHBsLT5hc3NpZ24oJ2NvZGVzJywgJGNvZGVzKTsKJHRwbC0+YXNzaWduKCdpc19lbmFibGVkJywgJGlzX2VuYWJsZWQpOwokdHBsLT5hc3NpZ24oJ25ld19jb2RlcycsIGZhbHNlKTsKJHRwbC0+ZGlzcGxheSgpOwo=]]></data>
	</file>
	<file>
		<filename>/action.setup_email.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbihUd29GYWN0b3I6OlVTRV9QRVJNKSkgcmV0dXJuOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignJywnJywndXNlcl9wcmVmcycpOwogICAgcmV0dXJuOwp9CgokdWlkID0gZ2V0X3VzZXJpZCgpOwokcHJvdmlkZXIgPSBUd29GYWN0b3JQcm92aWRlckVtYWlsOjpnZXRfaW5zdGFuY2UoKTsKCi8vIEhhbmRsZSBlbmFibGUKaWYgKGlzc2V0KCRwYXJhbXNbJ2VuYWJsZSddKSkgewogICAgVHdvRmFjdG9yQ29yZTo6ZW5hYmxlX3Byb3ZpZGVyX2Zvcl91c2VyKCR1aWQsICdUd29GYWN0b3JQcm92aWRlckVtYWlsJyk7CiAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnZW1haWxfZW5hYmxlZCcpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJycsJycsJ3VzZXJfcHJlZnMnKTsKICAgIHJldHVybjsKfQoKLy8gSGFuZGxlIGRpc2FibGUKaWYgKGlzc2V0KCRwYXJhbXNbJ2Rpc2FibGUnXSkpIHsKICAgIFR3b0ZhY3RvckNvcmU6OmRpc2FibGVfcHJvdmlkZXJfZm9yX3VzZXIoJHVpZCwgJ1R3b0ZhY3RvclByb3ZpZGVyRW1haWwnKTsKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdlbWFpbF9kaXNhYmxlZCcpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJycsJycsJ3VzZXJfcHJlZnMnKTsKICAgIHJldHVybjsKfQoKJHVzZXIgPSBVc2VyT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPkxvYWRVc2VyQnlJRCgkdWlkKTsKJGlzX2VuYWJsZWQgPSBpbl9hcnJheSgnVHdvRmFjdG9yUHJvdmlkZXJFbWFpbCcsIFR3b0ZhY3RvclVzZXJNZXRhOjpnZXRfZW5hYmxlZF9wcm92aWRlcnMoJHVpZCkpOwoKJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdzZXR1cF9lbWFpbC50cGwnKSwgbnVsbCwgbnVsbCwgJHNtYXJ0eSk7CiR0cGwtPmFzc2lnbigndXNlcl9lbWFpbCcsICR1c2VyLT5lbWFpbCA/PyAnJyk7CiR0cGwtPmFzc2lnbignaXNfZW5hYmxlZCcsICRpc19lbmFibGVkKTsKJHRwbC0+ZGlzcGxheSgpOwo=]]></data>
	</file>
	<file>
		<filename>/action.setup_passkey.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbihUd29GYWN0b3I6OlVTRV9QRVJNKSkgcmV0dXJuOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignJywgJycsICd1c2VyX3ByZWZzJyk7CiAgICByZXR1cm47Cn0KCiR1aWQgPSBnZXRfdXNlcmlkKCk7CiRwcm92aWRlciA9IFR3b0ZhY3RvclByb3ZpZGVyUGFzc2tleTo6Z2V0X2luc3RhbmNlKCk7CiRlcnJvciA9ICcnOwoKJGlzX2NvbmZpZ3VyZWQgPSAkcHJvdmlkZXItPmlzX2F2YWlsYWJsZV9mb3JfdXNlcigkdWlkKTsKJGNyZWRlbnRpYWwgPSAkcHJvdmlkZXItPmdldF9jcmVkZW50aWFsKCR1aWQpOwokd2ViYXV0aG5fc3VwcG9ydGVkID0gVHdvRmFjdG9yUHJvdmlkZXJQYXNza2V5Ojppc193ZWJhdXRobl9zdXBwb3J0ZWQoKTsKJGlzX3BybyA9IFR3b0ZhY3Rvcjo6SXNQcm9BY3RpdmUoKTsKCi8vIEJ1aWxkIHBhc3NrZXkgY2FyZHMKJHBhc3NrZXlfY2FyZHMgPSBbXTsKaWYgKCRjcmVkZW50aWFsKSB7CiAgICAkYXV0aF9uYW1lID0gVHdvRmFjdG9yUHJvdmlkZXJQYXNza2V5OjpnZXRfYXV0aGVudGljYXRvcl9uYW1lKCRjcmVkZW50aWFsWydhYWd1aWQnXSA/PyAnJyk7CiAgICAkcGFzc2tleV9jYXJkc1tdID0gWwogICAgICAgICdpZCcgICAgICAgICAgPT4gJ2Jhc2UnLAogICAgICAgICduYW1lJyAgICAgICAgPT4gJGNyZWRlbnRpYWxbJ25hbWUnXSA/PyAnUGFzc2tleScsCiAgICAgICAgJ3R5cGUnICAgICAgICA9PiAkY3JlZGVudGlhbFsndHlwZSddID8/ICdwbGF0Zm9ybScsCiAgICAgICAgJ2NyZWF0ZWRfYXQnICA9PiAkY3JlZGVudGlhbFsnY3JlYXRlZF9hdCddID8/IDAsCiAgICAgICAgJ2xhc3RfdXNlZF9hdCc9PiAkY3JlZGVudGlhbFsnbGFzdF91c2VkX2F0J10gPz8gMCwKICAgICAgICAnc2lnbl9jb3VudCcgID0+ICRjcmVkZW50aWFsWydzaWduX2NvdW50J10gPz8gMCwKICAgICAgICAnc291cmNlJyAgICAgID0+ICdmcmVlJywKICAgICAgICAnYXV0aGVudGljYXRvcicgPT4gJGF1dGhfbmFtZSwKICAgIF07Cn0KaWYgKCRpc19wcm8gJiYgY2xhc3NfZXhpc3RzKCdUd29GYWN0b3JXZWJBdXRoblBybycpKSB7CiAgICAkcHJvX2tleXMgPSBUd29GYWN0b3JXZWJBdXRoblBybzo6Z2V0X2NyZWRlbnRpYWxzKCR1aWQpOwogICAgZm9yZWFjaCAoJHByb19rZXlzIGFzICRrKSB7CiAgICAgICAgJGF1dGhfbmFtZSA9IFR3b0ZhY3RvclByb3ZpZGVyUGFzc2tleTo6Z2V0X2F1dGhlbnRpY2F0b3JfbmFtZSgka1snYWFndWlkJ10gPz8gJycpOwogICAgICAgICRwYXNza2V5X2NhcmRzW10gPSBbCiAgICAgICAgICAgICdpZCcgICAgICAgICAgPT4gJGtbJ2lkJ10sCiAgICAgICAgICAgICduYW1lJyAgICAgICAgPT4gJGtbJ25hbWUnXSA/OiAoJGtbJ3R5cGUnXSA9PT0gJ2Nyb3NzLXBsYXRmb3JtJyA/ICdTZWN1cml0eSBLZXknIDogJ1Bhc3NrZXknKSwKICAgICAgICAgICAgJ3R5cGUnICAgICAgICA9PiAka1sndHlwZSddID8/ICdwbGF0Zm9ybScsCiAgICAgICAgICAgICdjcmVhdGVkX2F0JyAgPT4gJGtbJ2NyZWF0ZWRfYXQnXSA/PyAwLAogICAgICAgICAgICAnbGFzdF91c2VkX2F0Jz0+ICRrWydsYXN0X3VzZWRfYXQnXSA/PyAwLAogICAgICAgICAgICAnc2lnbl9jb3VudCcgID0+ICRrWydzaWduX2NvdW50J10gPz8gMCwKICAgICAgICAgICAgJ3NvdXJjZScgICAgICA9PiAncHJvJywKICAgICAgICAgICAgJ2F1dGhlbnRpY2F0b3InID0+ICRhdXRoX25hbWUsCiAgICAgICAgXTsKICAgIH0KfQoKJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdzZXR1cF9wYXNza2V5LnRwbCcpLCBudWxsLCBudWxsLCAkc21hcnR5KTsKJHRwbC0+YXNzaWduKCdtb2RfdXJsJywgJHRoaXMtPkdldE1vZHVsZVVSTFBhdGgoKSk7CiR0cGwtPmFzc2lnbignaXNfY29uZmlndXJlZCcsICRpc19jb25maWd1cmVkKTsKJHRwbC0+YXNzaWduKCdjcmVkZW50aWFsJywgJGNyZWRlbnRpYWwpOwokdHBsLT5hc3NpZ24oJ3dlYmF1dGhuX3N1cHBvcnRlZCcsICR3ZWJhdXRobl9zdXBwb3J0ZWQpOwokdHBsLT5hc3NpZ24oJ2lzX3BybycsICRpc19wcm8pOwokdHBsLT5hc3NpZ24oJ3Bhc3NrZXlfY2FyZHMnLCAkcGFzc2tleV9jYXJkcyk7CiR0cGwtPmFzc2lnbignZXJyb3InLCAkZXJyb3IpOwokdHBsLT5kaXNwbGF5KCk7Cg==]]></data>
	</file>
	<file>
		<filename>/action.setup_security_key.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbihUd29GYWN0b3I6OlVTRV9QRVJNKSkgcmV0dXJuOwoKLy8gVGhlIFNlY3VyaXR5IEtleXMgdGFiIGluIHVzZXJfcHJlZnMgaGFuZGxlcyByZWdpc3RyYXRpb24vZGVsZXRpb24uCi8vIFRoaXMgYWN0aW9uIGp1c3QgcmVkaXJlY3RzIHRoZXJlLgokdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdzZWN1cml0eV9rZXlzJywgJycsICd1c2VyX3ByZWZzJyk7Cg==]]></data>
	</file>
	<file>
		<filename>/action.setup_sms.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbihUd29GYWN0b3I6OlVTRV9QRVJNKSkgcmV0dXJuOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignJywnJywndXNlcl9wcmVmcycpOwogICAgcmV0dXJuOwp9CgokdWlkID0gZ2V0X3VzZXJpZCgpOwokcHJvdmlkZXIgPSBUd29GYWN0b3JQcm92aWRlclNNUzo6Z2V0X2luc3RhbmNlKCk7CgpmdW5jdGlvbiBnZXRfZnJpZW5kbHlfdHdpbGlvX2Vycm9yKCRyZXNwb25zZSkgewogICAgJGNvZGUgPSAkcmVzcG9uc2VbJ2NvZGUnXSA/PyAwOwogICAgJGVycm9ycyA9IFsKICAgICAgICAyMDQwNCA9PiAnSW52YWxpZCBUd2lsaW8gU2VydmljZSBTSUQuIFBsZWFzZSBjaGVjayB5b3VyIFZlcmlmeSBTZXJ2aWNlIFNJRCBpbiBzZXR0aW5ncy4nLAogICAgICAgIDIwMDAzID0+ICdJbnZhbGlkIEFQSSBjcmVkZW50aWFscy4gUGxlYXNlIGNoZWNrIHlvdXIgQVBJIEtleSBTSUQgYW5kIFNlY3JldC4nLAogICAgICAgIDYwMjAwID0+ICdJbnZhbGlkIHBob25lIG51bWJlciBmb3JtYXQuIFVzZSBFLjE2NCBmb3JtYXQgKGUuZy4sICsxMjM0NTY3ODkwKS4nLAogICAgICAgIDYwMjAyID0+ICdNYXhpbXVtIHZlcmlmaWNhdGlvbiBhdHRlbXB0cyByZWFjaGVkLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLicsCiAgICAgICAgNjAyMDMgPT4gJ01heGltdW0gdmVyaWZpY2F0aW9uIGNoZWNrcyByZWFjaGVkLiBQbGVhc2UgcmVxdWVzdCBhIG5ldyBjb2RlLicsCiAgICAgICAgNjAyMDUgPT4gJ1NNUyBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIHBob25lIG51bWJlci4nLAogICAgICAgIDYwMjEyID0+ICdUb28gbWFueSByZXF1ZXN0cy4gUGxlYXNlIHdhaXQgYmVmb3JlIHRyeWluZyBhZ2Fpbi4nLAogICAgXTsKICAgIHJldHVybiAkZXJyb3JzWyRjb2RlXSA/PyAoJHJlc3BvbnNlWydtZXNzYWdlJ10gPz8gJ1Vua25vd24gZXJyb3InKTsKfQoKLy8gSGFuZGxlIHJlc2VuZCBjb2RlCmlmIChpc3NldCgkcGFyYW1zWydyZXNlbmRfY29kZSddKSkgewogICAgJHBlbmRpbmcgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1aWQsICdzbXNfcGhvbmVfcGVuZGluZycpOwogICAgaWYgKCRwZW5kaW5nKSB7CiAgICAgICAgJGFwaV9rZXlfc2lkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fYXBpX2tleScpOwogICAgICAgICRhcGlfc2VjcmV0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fYXBpX3NlY3JldCcpOwogICAgICAgICRzZXJ2aWNlX3NpZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0d29mYWN0b3JfdHdpbGlvX3NlcnZpY2Vfc2lkJyk7CiAgICAgICAgCiAgICAgICAgaWYgKCRhcGlfa2V5X3NpZCAmJiAkYXBpX3NlY3JldCAmJiAkc2VydmljZV9zaWQpIHsKICAgICAgICAgICAgJHVybCA9ICJodHRwczovL3ZlcmlmeS50d2lsaW8uY29tL3YyL1NlcnZpY2VzL3skc2VydmljZV9zaWR9L1ZlcmlmaWNhdGlvbnMiOwogICAgICAgICAgICAKICAgICAgICAgICAgJGRhdGEgPSBbCiAgICAgICAgICAgICAgICAnVG8nID0+ICRwZW5kaW5nLAogICAgICAgICAgICAgICAgJ0NoYW5uZWwnID0+ICdzbXMnCiAgICAgICAgICAgIF07CiAgICAgICAgICAgIAogICAgICAgICAgICAkY2ggPSBjdXJsX2luaXQoJHVybCk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCB0cnVlKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsIGh0dHBfYnVpbGRfcXVlcnkoJGRhdGEpKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJQV0QsICJ7JGFwaV9rZXlfc2lkfTp7JGFwaV9zZWNyZXR9Iik7CiAgICAgICAgICAgIAogICAgICAgICAgICAkcmVzdWx0ID0gY3VybF9leGVjKCRjaCk7CiAgICAgICAgICAgICRodHRwX2NvZGUgPSBjdXJsX2dldGluZm8oJGNoLCBDVVJMSU5GT19IVFRQX0NPREUpOwogICAgICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkcmVzcG9uc2UgPSBqc29uX2RlY29kZSgkcmVzdWx0LCB0cnVlKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmICgkaHR0cF9jb2RlID49IDIwMCAmJiAkaHR0cF9jb2RlIDwgMzAwKSB7CiAgICAgICAgICAgICAgICAkbWVzc2FnZSA9IFsnY2xhc3MnID0+ICdwYWdlbWNvbnRhaW5lcicsICd0ZXh0JyA9PiAkdGhpcy0+TGFuZygndmVyaWZpY2F0aW9uX3NlbnQnKV07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZXJyb3JfbWVzc2FnZSA9IGdldF9mcmllbmRseV90d2lsaW9fZXJyb3IoJHJlc3BvbnNlKTsKICAgICAgICAgICAgICAgICRtZXNzYWdlID0gWydjbGFzcycgPT4gJ3BhZ2VlcnJvcmNvbnRhaW5lcicsICd0ZXh0JyA9PiAkZXJyb3JfbWVzc2FnZV07CiAgICAgICAgICAgICAgICBhdWRpdCgkdWlkLCAkdGhpcy0+R2V0TmFtZSgpLCAnU01TIHJlc2VuZCB2ZXJpZmljYXRpb24gZmFpbGVkOiAnIC4gJGVycm9yX21lc3NhZ2UpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovLyBIYW5kbGUgY2hhbmdlIHBob25lCmlmIChpc3NldCgkcGFyYW1zWydjaGFuZ2VfcGhvbmUnXSkpIHsKICAgIFR3b0ZhY3RvclVzZXJNZXRhOjpkZWxldGUoJHVpZCwgJ3Ntc19waG9uZV9wZW5kaW5nJyk7Cn0KCi8vIEhhbmRsZSB2ZXJpZnkgY29kZQppZiAoaXNzZXQoJHBhcmFtc1sndmVyaWZ5X2NvZGUnXSkpIHsKICAgICRjb2RlID0gdHJpbSgkcGFyYW1zWydjb2RlJ10gPz8gJycpOwogICAgJHBlbmRpbmcgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1aWQsICdzbXNfcGhvbmVfcGVuZGluZycpOwogICAgCiAgICBpZiAoJGNvZGUgJiYgJHBlbmRpbmcpIHsKICAgICAgICAkYXBpX2tleV9zaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19hcGlfa2V5Jyk7CiAgICAgICAgJGFwaV9zZWNyZXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19hcGlfc2VjcmV0Jyk7CiAgICAgICAgJHNlcnZpY2Vfc2lkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fc2VydmljZV9zaWQnKTsKICAgICAgICAKICAgICAgICAkdXJsID0gImh0dHBzOi8vdmVyaWZ5LnR3aWxpby5jb20vdjIvU2VydmljZXMveyRzZXJ2aWNlX3NpZH0vVmVyaWZpY2F0aW9uQ2hlY2siOwogICAgICAgIAogICAgICAgICRkYXRhID0gWwogICAgICAgICAgICAnVG8nID0+ICRwZW5kaW5nLAogICAgICAgICAgICAnQ29kZScgPT4gJGNvZGUKICAgICAgICBdOwogICAgICAgIAogICAgICAgICRjaCA9IGN1cmxfaW5pdCgkdXJsKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsIGh0dHBfYnVpbGRfcXVlcnkoJGRhdGEpKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSUFdELCAieyRhcGlfa2V5X3NpZH06eyRhcGlfc2VjcmV0fSIpOwogICAgICAgIAogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAkaHR0cF9jb2RlID0gY3VybF9nZXRpbmZvKCRjaCwgQ1VSTElORk9fSFRUUF9DT0RFKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgCiAgICAgICAgJHJlc3BvbnNlID0ganNvbl9kZWNvZGUoJHJlc3VsdCwgdHJ1ZSk7CiAgICAgICAgCiAgICAgICAgaWYgKCRodHRwX2NvZGUgPj0gMjAwICYmICRodHRwX2NvZGUgPCAzMDAgJiYgJHJlc3BvbnNlWydzdGF0dXMnXSA9PT0gJ2FwcHJvdmVkJykgewogICAgICAgICAgICBUd29GYWN0b3JVc2VyTWV0YTo6dXBkYXRlKCR1aWQsICdzbXNfcGhvbmUnLCAkcGVuZGluZyk7CiAgICAgICAgICAgIFR3b0ZhY3RvclVzZXJNZXRhOjpkZWxldGUoJHVpZCwgJ3Ntc19waG9uZV9wZW5kaW5nJyk7CiAgICAgICAgICAgIFR3b0ZhY3RvckNvcmU6OmVuYWJsZV9wcm92aWRlcl9mb3JfdXNlcigkdWlkLCAnVHdvRmFjdG9yUHJvdmlkZXJTTVMnKTsKICAgICAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ3Ntc19lbmFibGVkJykpOwogICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCcnLCcnLCd1c2VyX3ByZWZzJyk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkZXJyb3JfbWVzc2FnZSA9IGdldF9mcmllbmRseV90d2lsaW9fZXJyb3IoJHJlc3BvbnNlKTsKICAgICAgICAgICAgJG1lc3NhZ2UgPSBbJ2NsYXNzJyA9PiAncGFnZWVycm9yY29udGFpbmVyJywgJ3RleHQnID0+ICRlcnJvcl9tZXNzYWdlXTsKICAgICAgICAgICAgYXVkaXQoJHVpZCwgJHRoaXMtPkdldE5hbWUoKSwgJ1NNUyB2ZXJpZmljYXRpb24gZmFpbGVkOiAnIC4gJGVycm9yX21lc3NhZ2UpOwogICAgICAgIH0KICAgIH0KfQoKLy8gSGFuZGxlIHNlbmQgdmVyaWZpY2F0aW9uCmlmIChpc3NldCgkcGFyYW1zWydzZW5kX3ZlcmlmaWNhdGlvbiddKSkgewogICAgJHBob25lID0gdHJpbSgkcGFyYW1zWydwaG9uZSddID8/ICcnKTsKICAgIGlmICgkcGhvbmUpIHsKICAgICAgICAkYXBpX2tleV9zaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19hcGlfa2V5Jyk7CiAgICAgICAgJGFwaV9zZWNyZXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19hcGlfc2VjcmV0Jyk7CiAgICAgICAgJHNlcnZpY2Vfc2lkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fc2VydmljZV9zaWQnKTsKICAgICAgICAKICAgICAgICBpZiAoJGFwaV9rZXlfc2lkICYmICRhcGlfc2VjcmV0ICYmICRzZXJ2aWNlX3NpZCkgewogICAgICAgICAgICAkdXJsID0gImh0dHBzOi8vdmVyaWZ5LnR3aWxpby5jb20vdjIvU2VydmljZXMveyRzZXJ2aWNlX3NpZH0vVmVyaWZpY2F0aW9ucyI7CiAgICAgICAgICAgIAogICAgICAgICAgICAkZGF0YSA9IFsKICAgICAgICAgICAgICAgICdUbycgPT4gJHBob25lLAogICAgICAgICAgICAgICAgJ0NoYW5uZWwnID0+ICdzbXMnCiAgICAgICAgICAgIF07CiAgICAgICAgICAgIAogICAgICAgICAgICAkY2ggPSBjdXJsX2luaXQoJHVybCk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCB0cnVlKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsIGh0dHBfYnVpbGRfcXVlcnkoJGRhdGEpKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJQV0QsICJ7JGFwaV9rZXlfc2lkfTp7JGFwaV9zZWNyZXR9Iik7CiAgICAgICAgICAgIAogICAgICAgICAgICAkcmVzdWx0ID0gY3VybF9leGVjKCRjaCk7CiAgICAgICAgICAgICRodHRwX2NvZGUgPSBjdXJsX2dldGluZm8oJGNoLCBDVVJMSU5GT19IVFRQX0NPREUpOwogICAgICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkcmVzcG9uc2UgPSBqc29uX2RlY29kZSgkcmVzdWx0LCB0cnVlKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmICgkaHR0cF9jb2RlID49IDIwMCAmJiAkaHR0cF9jb2RlIDwgMzAwKSB7CiAgICAgICAgICAgICAgICBUd29GYWN0b3JVc2VyTWV0YTo6dXBkYXRlKCR1aWQsICdzbXNfcGhvbmVfcGVuZGluZycsICRwaG9uZSk7CiAgICAgICAgICAgICAgICAkbWVzc2FnZSA9IFsnY2xhc3MnID0+ICdwYWdlbWNvbnRhaW5lcicsICd0ZXh0JyA9PiAkdGhpcy0+TGFuZygndmVyaWZpY2F0aW9uX3NlbnQnKV07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZXJyb3JfbWVzc2FnZSA9IGdldF9mcmllbmRseV90d2lsaW9fZXJyb3IoJHJlc3BvbnNlKTsKICAgICAgICAgICAgICAgICRtZXNzYWdlID0gWydjbGFzcycgPT4gJ3BhZ2VlcnJvcmNvbnRhaW5lcicsICd0ZXh0JyA9PiAkZXJyb3JfbWVzc2FnZV07CiAgICAgICAgICAgICAgICBhdWRpdCgkdWlkLCAkdGhpcy0+R2V0TmFtZSgpLCAnU01TIHNlbmQgdmVyaWZpY2F0aW9uIGZhaWxlZDogJyAuICRlcnJvcl9tZXNzYWdlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLy8gSGFuZGxlIGRpc2FibGUKaWYgKGlzc2V0KCRwYXJhbXNbJ2Rpc2FibGUnXSkpIHsKICAgIFR3b0ZhY3RvckNvcmU6OmRpc2FibGVfcHJvdmlkZXJfZm9yX3VzZXIoJHVpZCwgJ1R3b0ZhY3RvclByb3ZpZGVyU01TJyk7CiAgICBUd29GYWN0b3JVc2VyTWV0YTo6ZGVsZXRlKCR1aWQsICdzbXNfcGhvbmUnKTsKICAgIFR3b0ZhY3RvclVzZXJNZXRhOjpkZWxldGUoJHVpZCwgJ3Ntc19waG9uZV9wZW5kaW5nJyk7CiAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnc21zX2Rpc2FibGVkJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignJywnJywndXNlcl9wcmVmcycpOwogICAgcmV0dXJuOwp9CgokcGhvbmUgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1aWQsICdzbXNfcGhvbmUnKTsKJGlzX2VuYWJsZWQgPSAhZW1wdHkoJHBob25lKTsKJHBlbmRpbmdfcGhvbmUgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1aWQsICdzbXNfcGhvbmVfcGVuZGluZycpOwoKJHR3aWxpb19hcGlfa2V5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fYXBpX2tleScsICcnKTsKJHR3aWxpb19hcGlfc2VjcmV0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fYXBpX3NlY3JldCcsICcnKTsKJHR3aWxpb19zZXJ2aWNlX3NpZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0d29mYWN0b3JfdHdpbGlvX3NlcnZpY2Vfc2lkJywgJycpOwokdHdpbGlvX2NvbmZpZ3VyZWQgPSAhZW1wdHkoJHR3aWxpb19hcGlfa2V5KSAmJiAhZW1wdHkoJHR3aWxpb19hcGlfc2VjcmV0KSAmJiAhZW1wdHkoJHR3aWxpb19zZXJ2aWNlX3NpZCk7CgokdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ3NldHVwX3Ntcy50cGwnKSwgbnVsbCwgbnVsbCwgJHNtYXJ0eSk7CiR0cGwtPmFzc2lnbigncGhvbmUnLCAkcGhvbmUpOwokdHBsLT5hc3NpZ24oJ2lzX2VuYWJsZWQnLCAkaXNfZW5hYmxlZCk7CiR0cGwtPmFzc2lnbigncGVuZGluZ19waG9uZScsICRwZW5kaW5nX3Bob25lKTsKJHRwbC0+YXNzaWduKCd0d2lsaW9fY29uZmlndXJlZCcsICR0d2lsaW9fY29uZmlndXJlZCk7CiR0cGwtPmFzc2lnbignbWVzc2FnZScsICRtZXNzYWdlID8/ICcnKTsKJHRwbC0+ZGlzcGxheSgpOwo=]]></data>
	</file>
	<file>
		<filename>/action.setup_sms_credit_enabled.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbihUd29GYWN0b3I6OlVTRV9QRVJNKSkgcmV0dXJuOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignJywnJywndXNlcl9wcmVmcycpOwogICAgcmV0dXJuOwp9CgokdWlkID0gZ2V0X3VzZXJpZCgpOwoKLy8gSGFuZGxlIHJlc2VuZCBjb2RlCmlmIChpc3NldCgkcGFyYW1zWydyZXNlbmRfY29kZSddKSkgewogICAgJHBlbmRpbmcgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1aWQsICdzbXNfcGhvbmVfcGVuZGluZycpOwogICAgaWYgKCRwZW5kaW5nKSB7CiAgICAgICAgJGxpY2Vuc2Vfa2V5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNfcHJvZHVjdF9rZXknLCAnJyk7CiAgICAgICAgJGRvbWFpbiA9IFR3b0ZhY3RvckNvcmU6OnNpdGVfZG9tYWluKCk7CiAgICAgICAgCiAgICAgICAgaWYgKCRsaWNlbnNlX2tleSkgewogICAgICAgICAgICAkcmVzdWx0ID0gVHdvRmFjdG9yQVBJOjpzZW5kX3ZlcmlmaWNhdGlvbigkbGljZW5zZV9rZXksICRkb21haW4sICRwZW5kaW5nKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmIChpc3NldCgkcmVzdWx0WydzdWNjZXNzJ10pICYmICRyZXN1bHRbJ3N1Y2Nlc3MnXSkgewogICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSBbJ2NsYXNzJyA9PiAncGFnZW1jb250YWluZXInLCAndGV4dCcgPT4gJHRoaXMtPkxhbmcoJ3ZlcmlmaWNhdGlvbl9zZW50JyldOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGVycm9yX21lc3NhZ2UgPSAkcmVzdWx0WydlcnJvciddID8/ICdVbmtub3duIGVycm9yJzsKICAgICAgICAgICAgICAgICRtZXNzYWdlID0gWydjbGFzcycgPT4gJ3BhZ2VlcnJvcmNvbnRhaW5lcicsICd0ZXh0JyA9PiAkZXJyb3JfbWVzc2FnZV07CiAgICAgICAgICAgICAgICBhdWRpdCgkdWlkLCAkdGhpcy0+R2V0TmFtZSgpLCAnU01TIHJlc2VuZCB2ZXJpZmljYXRpb24gZmFpbGVkOiAnIC4gJGVycm9yX21lc3NhZ2UpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgovLyBIYW5kbGUgY2hhbmdlIHBob25lCmlmIChpc3NldCgkcGFyYW1zWydjaGFuZ2VfcGhvbmUnXSkpIHsKICAgIFR3b0ZhY3RvclVzZXJNZXRhOjpkZWxldGUoJHVpZCwgJ3Ntc19waG9uZV9wZW5kaW5nJyk7Cn0KCi8vIEhhbmRsZSB2ZXJpZnkgY29kZQppZiAoaXNzZXQoJHBhcmFtc1sndmVyaWZ5X2NvZGUnXSkpIHsKICAgICRjb2RlID0gdHJpbSgkcGFyYW1zWydjb2RlJ10gPz8gJycpOwogICAgJHBlbmRpbmcgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1aWQsICdzbXNfcGhvbmVfcGVuZGluZycpOwogICAgCiAgICBpZiAoJGNvZGUgJiYgJHBlbmRpbmcpIHsKICAgICAgICAkbGljZW5zZV9rZXkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc19wcm9kdWN0X2tleScsICcnKTsKICAgICAgICAkZG9tYWluID0gVHdvRmFjdG9yQ29yZTo6c2l0ZV9kb21haW4oKTsKICAgICAgICAKICAgICAgICAkcmVzdWx0ID0gVHdvRmFjdG9yQVBJOjp2ZXJpZnlfY29kZSgkbGljZW5zZV9rZXksICRkb21haW4sICRwZW5kaW5nLCAkY29kZSk7CiAgICAgICAgCiAgICAgICAgaWYgKGlzc2V0KCRyZXN1bHRbImFwcHJvdmVkIl0pICYmICRyZXN1bHRbImFwcHJvdmVkIl0gPT09IHRydWUpIHsKICAgICAgICAgICAgVHdvRmFjdG9yVXNlck1ldGE6OnVwZGF0ZSgkdWlkLCAnc21zX3Bob25lJywgJHBlbmRpbmcpOwogICAgICAgICAgICBUd29GYWN0b3JVc2VyTWV0YTo6ZGVsZXRlKCR1aWQsICdzbXNfcGhvbmVfcGVuZGluZycpOwogICAgICAgICAgICBUd29GYWN0b3JDb3JlOjplbmFibGVfcHJvdmlkZXJfZm9yX3VzZXIoJHVpZCwgJ1R3b0ZhY3RvclByb3ZpZGVyU01TJyk7CiAgICAgICAgICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdzbXNfZW5hYmxlZCcpKTsKICAgICAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignJywnJywndXNlcl9wcmVmcycpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGVycm9yX21lc3NhZ2UgPSAkcmVzdWx0WydlcnJvciddID8/ICdJbnZhbGlkIGNvZGUnOwogICAgICAgICAgICAkbWVzc2FnZSA9IFsnY2xhc3MnID0+ICdwYWdlZXJyb3Jjb250YWluZXInLCAndGV4dCcgPT4gJGVycm9yX21lc3NhZ2VdOwogICAgICAgICAgICBhdWRpdCgkdWlkLCAkdGhpcy0+R2V0TmFtZSgpLCAnU01TIHZlcmlmaWNhdGlvbiBmYWlsZWQ6ICcgLiAkZXJyb3JfbWVzc2FnZSk7CiAgICAgICAgfQogICAgfQp9CgovLyBIYW5kbGUgc2VuZCB2ZXJpZmljYXRpb24KaWYgKGlzc2V0KCRwYXJhbXNbJ3NlbmRfdmVyaWZpY2F0aW9uJ10pKSB7CiAgICAkcGhvbmUgPSB0cmltKCRwYXJhbXNbJ3Bob25lJ10gPz8gJycpOwogICAgaWYgKCRwaG9uZSkgewogICAgICAgICRsaWNlbnNlX2tleSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0d29mYWN0b3Jfc21zX3Byb2R1Y3Rfa2V5JywgJycpOwogICAgICAgICRkb21haW4gPSBUd29GYWN0b3JDb3JlOjpzaXRlX2RvbWFpbigpOwogICAgICAgIAogICAgICAgIGlmICgkbGljZW5zZV9rZXkpIHsKICAgICAgICAgICAgJG5vcm1hbGl6ZWRfcGhvbmUgPSBUd29GYWN0b3JBUEk6Om5vcm1hbGl6ZV9waG9uZSgkcGhvbmUpOwogICAgICAgICAgICAkcmVzdWx0ID0gVHdvRmFjdG9yQVBJOjpzZW5kX3ZlcmlmaWNhdGlvbigkbGljZW5zZV9rZXksICRkb21haW4sICRwaG9uZSk7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoaXNzZXQoJHJlc3VsdFsnc3VjY2VzcyddKSAmJiAkcmVzdWx0WydzdWNjZXNzJ10pIHsKICAgICAgICAgICAgICAgIFR3b0ZhY3RvclVzZXJNZXRhOjp1cGRhdGUoJHVpZCwgJ3Ntc19waG9uZV9wZW5kaW5nJywgJG5vcm1hbGl6ZWRfcGhvbmUpOwogICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSBbJ2NsYXNzJyA9PiAncGFnZW1jb250YWluZXInLCAndGV4dCcgPT4gJHRoaXMtPkxhbmcoJ3ZlcmlmaWNhdGlvbl9zZW50JyldOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGVycm9yX21lc3NhZ2UgPSAkcmVzdWx0WydlcnJvciddID8/ICdVbmtub3duIGVycm9yJzsKICAgICAgICAgICAgICAgICRtZXNzYWdlID0gWydjbGFzcycgPT4gJ3BhZ2VlcnJvcmNvbnRhaW5lcicsICd0ZXh0JyA9PiAkZXJyb3JfbWVzc2FnZV07CiAgICAgICAgICAgICAgICBhdWRpdCgkdWlkLCAkdGhpcy0+R2V0TmFtZSgpLCAnU01TIHNlbmQgdmVyaWZpY2F0aW9uIGZhaWxlZDogJyAuICRlcnJvcl9tZXNzYWdlKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRtZXNzYWdlID0gWydjbGFzcycgPT4gJ3BhZ2VlcnJvcmNvbnRhaW5lcicsICd0ZXh0JyA9PiAnU01TIGNyZWRpdHMgbm90IGNvbmZpZ3VyZWQnXTsKICAgICAgICB9CiAgICB9Cn0KCi8vIEhhbmRsZSBkaXNhYmxlCmlmIChpc3NldCgkcGFyYW1zWydkaXNhYmxlJ10pKSB7CiAgICBUd29GYWN0b3JDb3JlOjpkaXNhYmxlX3Byb3ZpZGVyX2Zvcl91c2VyKCR1aWQsICdUd29GYWN0b3JQcm92aWRlclNNUycpOwogICAgVHdvRmFjdG9yVXNlck1ldGE6OmRlbGV0ZSgkdWlkLCAnc21zX3Bob25lJyk7CiAgICBUd29GYWN0b3JVc2VyTWV0YTo6ZGVsZXRlKCR1aWQsICdzbXNfcGhvbmVfcGVuZGluZycpOwogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ3Ntc19kaXNhYmxlZCcpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJycsJycsJ3VzZXJfcHJlZnMnKTsKICAgIHJldHVybjsKfQoKJHBob25lID0gVHdvRmFjdG9yVXNlck1ldGE6OmdldCgkdWlkLCAnc21zX3Bob25lJyk7CiRpc19lbmFibGVkID0gIWVtcHR5KCRwaG9uZSk7CiRwZW5kaW5nX3Bob25lID0gVHdvRmFjdG9yVXNlck1ldGE6OmdldCgkdWlkLCAnc21zX3Bob25lX3BlbmRpbmcnKTsKCiRwcm9kdWN0X2tleSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0d29mYWN0b3Jfc21zX3Byb2R1Y3Rfa2V5JywgJycpOwokY3JlZGl0c19jb25maWd1cmVkID0gIWVtcHR5KCRwcm9kdWN0X2tleSk7CiRjcmVkaXRzX3JlbWFpbmluZyA9IDA7CiRsaWNlbnNlX3BsYW4gPSAnJzsKCmlmICghZW1wdHkoJHByb2R1Y3Rfa2V5KSkgewogICAgJGRvbWFpbiA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsKICAgICRyZXN1bHQgPSBUd29GYWN0b3JBUEk6OnZhbGlkYXRlX2xpY2Vuc2UoJHByb2R1Y3Rfa2V5LCAkZG9tYWluKTsKICAgIAogICAgaWYgKCRyZXN1bHQgJiYgaXNzZXQoJHJlc3VsdFsndmFsaWQnXSkgJiYgJHJlc3VsdFsndmFsaWQnXSA9PT0gdHJ1ZSkgewogICAgICAgICRjcmVkaXRzX3JlbWFpbmluZyA9IGlzc2V0KCRyZXN1bHRbJ2NyZWRpdHNfcmVtYWluaW5nJ10pID8gJHJlc3VsdFsnY3JlZGl0c19yZW1haW5pbmcnXSA6IDA7CiAgICAgICAgJGxpY2Vuc2VfcGxhbiA9IGlzc2V0KCRyZXN1bHRbJ3BsYW4nXSkgPyAkcmVzdWx0WydwbGFuJ10gOiAnJzsKICAgIH0KfQoKJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdzZXR1cF9zbXNfY3JlZGl0X2VuYWJsZWQudHBsJyksIG51bGwsIG51bGwsICRzbWFydHkpOwokdHBsLT5hc3NpZ24oJ3Byb2R1Y3Rfa2V5JywgJHByb2R1Y3Rfa2V5KTsKJHRwbC0+YXNzaWduKCdjcmVkaXRzX3JlbWFpbmluZycsICRjcmVkaXRzX3JlbWFpbmluZyk7CiR0cGwtPmFzc2lnbignbGljZW5zZV9wbGFuJywgJGxpY2Vuc2VfcGxhbik7CiR0cGwtPmFzc2lnbigncGhvbmUnLCAkcGhvbmUpOwokdHBsLT5hc3NpZ24oJ2lzX2VuYWJsZWQnLCAkaXNfZW5hYmxlZCk7CiR0cGwtPmFzc2lnbigncGVuZGluZ19waG9uZScsICRwZW5kaW5nX3Bob25lKTsKJHRwbC0+YXNzaWduKCdjcmVkaXRzX2NvbmZpZ3VyZWQnLCAkY3JlZGl0c19jb25maWd1cmVkKTsKJHRwbC0+YXNzaWduKCdtZXNzYWdlJywgJG1lc3NhZ2UgPz8gJycpOwokdHBsLT5kaXNwbGF5KCk7Cg==]]></data>
	</file>
	<file>
		<filename>/action.setup_totp.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbihUd29GYWN0b3I6OlVTRV9QRVJNKSkgcmV0dXJuOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignJywnJywndXNlcl9wcmVmcycpOwogICAgcmV0dXJuOwp9CgokdWlkID0gZ2V0X3VzZXJpZCgpOwokcHJvdmlkZXIgPSBUd29GYWN0b3JQcm92aWRlclRPVFA6OmdldF9pbnN0YW5jZSgpOwoKLy8gSGFuZGxlIHZlcmlmaWNhdGlvbgppZiAoaXNzZXQoJHBhcmFtc1sndmVyaWZ5J10pKSB7CiAgICAka2V5ID0gJHBhcmFtc1sndG90cF9rZXknXSA/PyAnJzsKICAgICRjb2RlID0gcHJlZ19yZXBsYWNlKCcvXHMrLycsICcnLCAkcGFyYW1zWydhdXRoY29kZSddID8/ICcnKTsKICAgIAogICAgJHRmYSA9IG5ldyBcUm9iVGhyZWVcQXV0aFxUd29GYWN0b3JBdXRoKCk7CiAgICBpZiAoJHRmYS0+dmVyaWZ5Q29kZSgka2V5LCAkY29kZSwgMikpIHsKICAgICAgICAkcHJvdmlkZXItPnNldF91c2VyX3RvdHBfa2V5KCR1aWQsICRrZXkpOwogICAgICAgIFR3b0ZhY3RvckNvcmU6OmVuYWJsZV9wcm92aWRlcl9mb3JfdXNlcigkdWlkLCAnVHdvRmFjdG9yUHJvdmlkZXJUT1RQJyk7CiAgICAgICAgCiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ3RvdHBfZW5hYmxlZCcpKTsKICAgICAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCcnLCcnLCd1c2VyX3ByZWZzJyk7CiAgICAgICAgcmV0dXJuOwogICAgfSBlbHNlIHsKICAgICAgICAkZXJyb3IgPSAkdGhpcy0+TGFuZygnaW52YWxpZF9jb2RlJyk7CiAgICB9Cn0KCi8vIEhhbmRsZSByZXNldAppZiAoaXNzZXQoJHBhcmFtc1sncmVzZXQnXSkpIHsKICAgICRwcm92aWRlci0+ZGVsZXRlX3VzZXJfdG90cF9rZXkoJHVpZCk7CiAgICBUd29GYWN0b3JDb3JlOjpkaXNhYmxlX3Byb3ZpZGVyX2Zvcl91c2VyKCR1aWQsICdUd29GYWN0b3JQcm92aWRlclRPVFAnKTsKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCd0b3RwX3Jlc2V0JykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignJywnJywndXNlcl9wcmVmcycpOwogICAgcmV0dXJuOwp9Cgoka2V5ID0gJHByb3ZpZGVyLT5nZXRfdXNlcl90b3RwX2tleSgkdWlkKTsKJGlzX2NvbmZpZ3VyZWQgPSAhZW1wdHkoJGtleSk7CgppZiAoISRpc19jb25maWd1cmVkKSB7CiAgICAka2V5ID0gJHByb3ZpZGVyLT5nZW5lcmF0ZV9rZXkoKTsKfQoKJHVzZXJuYW1lID0gZ2V0X3VzZXJuYW1lKCR1aWQpOwokcXJfY29kZSA9ICRwcm92aWRlci0+Z2V0X3FyX2NvZGVfdXJsKCR1c2VybmFtZSwgJGtleSk7CgokdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ3NldHVwX3RvdHAudHBsJyksIG51bGwsIG51bGwsICRzbWFydHkpOwokdHBsLT5hc3NpZ24oJ3NlY3JldCcsICRrZXkpOwokdHBsLT5hc3NpZ24oJ3FyX2NvZGUnLCAkcXJfY29kZSk7CiR0cGwtPmFzc2lnbignaXNfY29uZmlndXJlZCcsICRpc19jb25maWd1cmVkKTsKJHRwbC0+YXNzaWduKCdlcnJvcicsICRlcnJvciA/PyAnJyk7CiR0cGwtPmRpc3BsYXkoKTsK]]></data>
	</file>
	<file>
		<filename>/action.user_prefs.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oVHdvRmFjdG9yOjpVU0VfUEVSTSkgKSByZXR1cm47CgokdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ3VzZXJfcHJlZnMudHBsJyksIG51bGwsIG51bGwsICRzbWFydHkpOwoKLy8gQ2hlY2sgaWYgMkZBIGlzIGJlaW5nIGVuZm9yY2VkIGFuZCB1c2VyIGRvZXNuJ3QgaGF2ZSBpdCBlbmFibGVkCiRwcm8gPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1R3b0ZhY3RvclBybycpOwokZW5mb3JjZV8yZmEgPSAkcHJvID8gJHByby0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9ycHJvX2VuZm9yY2VfYWxsJywgMCkgOiAwOwokdWlkID0gZ2V0X3VzZXJpZChmYWxzZSk7CiR1c2VyX2hhc18yZmEgPSBUd29GYWN0b3JDb3JlOjppc191c2VyX3VzaW5nX3R3b19mYWN0b3IoJHVpZCk7CgokdHBsLT5hc3NpZ24oJ2VuZm9yY2VfMmZhJywgJGVuZm9yY2VfMmZhKTsKJHRwbC0+YXNzaWduKCd1c2VyX2hhc18yZmEnLCAkdXNlcl9oYXNfMmZhKTsKJHRwbC0+ZGlzcGxheSgpOwoKLy9UQUJTCiRpc19wcm8gPSBUd29GYWN0b3I6OklzUHJvQWN0aXZlKCk7CiRjdXJyZW50X3RhYiA9IGlzc2V0KCRwYXJhbXNbJ19fYWN0aXZldGFiJ10pID8gJHBhcmFtc1snX19hY3RpdmV0YWInXSA6ICdtZXRob2RzJzsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ21ldGhvZHMnLCAkdGhpcy0+TGFuZygndGFiX21ldGhvZHMnKSk7CmlmICgkaXNfcHJvKSB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NlY3VyaXR5X2tleXMnLCAkdGhpcy0+TGFuZygndGFiX3NlY3VyaXR5X2tleXMnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3RydXN0ZWRfZGV2aWNlcycsICR0aGlzLT5MYW5nKCd0YWJfdHJ1c3RlZF9kZXZpY2VzJykpOwp9CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ21ldGhvZHMnLCAkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fIC4gJy9mdW5jdGlvbi51c2VyX21ldGhvZHMucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKaWYgKCRpc19wcm8pIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdzZWN1cml0eV9rZXlzJywgJHBhcmFtcyk7CiAgICAkcHJvID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUd29GYWN0b3JQcm8nKTsKICAgIGlmICgkcHJvKSB7CiAgICAgICAgaW5jbHVkZSgkcHJvLT5HZXRNb2R1bGVQYXRoKCkgLiAnL2Z1bmN0aW9uLnVzZXJfc2VjdXJpdHlfa2V5cy5waHAnKTsKICAgIH0KICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd0cnVzdGVkX2RldmljZXMnLCAkcGFyYW1zKTsKICAgICRwcm8gPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1R3b0ZhY3RvclBybycpOwogICAgaWYgKCRwcm8pIHsKICAgICAgICBpbmNsdWRlKCRwcm8tPkdldE1vZHVsZVBhdGgoKSAuICcvZnVuY3Rpb24udXNlcl90cnVzdGVkX2RldmljZXMucGhwJyk7CiAgICB9CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKfQoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwo=]]></data>
	</file>
	<file>
		<filename>/assets</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/assets/canonical-passkey-icon-hello.svg</filename>
		<isdir>0</isdir>
		<data><![CDATA[PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNTAgNTAiIHdpZHRoPSI1MHB4IiBoZWlnaHQ9IjUwcHgiPjxwYXRoIGQ9Ik0xOS44NTIgNy43NjFsLTE1IDIuMjVDNC4zNjIgMTAuMDg1IDQgMTAuNTA1IDQgMTF2MTJjMCAuNTUzLjQ0OCAxIDEgMWgxNWMuNTUyIDAgMS0uNDQ3IDEtMVY4Ljc1YzAtLjI5MS0uMTI3LS41NjctLjM0OC0uNzU4QzIwLjQzMiA3LjgwMyAyMC4xMzkgNy43MjEgMTkuODUyIDcuNzYxek00NS42NTIgNC4yNDJjLS4yMi0uMTg5LS41MTItLjI3MS0uODAxLS4yMzFsLTIxIDMuMTVDMjMuMzYyIDcuMjM1IDIzIDcuNjU1IDIzIDguMTVWMjNjMCAuNTUzLjQ0OCAxIDEgMWgyMWMuNTUyIDAgMS0uNDQ3IDEtMVY1QzQ2IDQuNzA5IDQ1Ljg3MyA0LjQzMyA0NS42NTIgNC4yNDJ6TTIwIDI2SDVjLS41NTIgMC0xIC40NDctMSAxdjEyYzAgLjQ5NS4zNjIuOTE1Ljg1Mi45ODlsMTUgMi4yNWMuMDUuMDA3LjA5OS4wMTEuMTQ4LjAxMS4yMzggMCAuNDctLjA4NS42NTItLjI0MkMyMC44NzMgNDEuODE3IDIxIDQxLjU0MSAyMSA0MS4yNVYyN0MyMSAyNi40NDcgMjAuNTUyIDI2IDIwIDI2ek00NSAyNkgyNGMtLjU1MiAwLTEgLjQ0Ny0xIDF2MTQuODVjMCAuNDk1LjM2Mi45MTUuODUyLjk4OWwyMSAzLjE1QzQ0LjkwMSA0NS45OTYgNDQuOTUxIDQ2IDQ1IDQ2Yy4yMzggMCAuNDctLjA4NS42NTItLjI0MkM0NS44NzMgNDUuNTY3IDQ2IDQ1LjI5MSA0NiA0NVYyN0M0NiAyNi40NDcgNDUuNTUyIDI2IDQ1IDI2eiIvPjwvc3ZnPg==]]></data>
	</file>
	<file>
		<filename>/assets/canonical-passkey-icon.svg</filename>
		<isdir>0</isdir>
		<data><![CDATA[PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9IlBhc3NrZXktLVN0cmVhbWxpbmUtT3V0bGluZWQtTWF0ZXJpYWwiIGhlaWdodD0iMjQiIHdpZHRoPSIyNCI+CiAgPGRlc2M+CiAgICBQYXNza2V5IFN0cmVhbWxpbmUgSWNvbjogaHR0cHM6Ly9zdHJlYW1saW5laHEuY29tCiAgPC9kZXNjPgogIDxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik0zIDIwdi0yLjM1YzAgLTAuNjMzMzUgMC4xNTgzMzUgLTEuMTc1IDAuNDc1IC0xLjYyNSAwLjMxNjY2NSAtMC40NSAwLjcyNSAtMC43OTE2NSAxLjIyNSAtMS4wMjUgMS4xMTY2NSAtMC41IDIuMTg3NSAtMC44NzUgMy4yMTI1IC0xLjEyNVM5Ljk2NjY1IDEzLjUgMTEgMTMuNWMwLjQzMzM1IDAgMC44NTQxNSAwLjAyMDg1IDEuMjYyNSAwLjA2MjVzMC44MjkxNSAwLjEwNDE1IDEuMjYyNSAwLjE4NzVjLTAuMDgzMzUgMC45NjY2NSAwLjA5NTg1IDEuODc5MTUgMC41Mzc1IDIuNzM3NUMxNC41MDQxNSAxNy4zNDU4NSAxNS4xNSAxOC4wMTY2NSAxNiAxOC41djEuNUgzWm0xNiAzLjY3NSAtMS41IC0xLjV2LTQuNjVjLTAuNzMzMzUgLTAuMjE2NjUgLTEuMzMzMzUgLTAuNjI5MTUgLTEuOCAtMS4yMzc1IC0wLjQ2NjY1IC0wLjYwODM1IC0wLjcgLTEuMzEyNSAtMC43IC0yLjExMjUgMCAtMC45NjY2NSAwLjM0MTY1IC0xLjc5MTY1IDEuMDI1IC0yLjQ3NSAwLjY4MzM1IC0wLjY4MzM1IDEuNTA4MzUgLTEuMDI1IDIuNDc1IC0xLjAyNXMxLjc5MTY1IDAuMzQxNjUgMi40NzUgMS4wMjVjMC42ODMzNSAwLjY4MzM1IDEuMDI1IDEuNTA4MzUgMS4wMjUgMi40NzUgMCAwLjc1IC0wLjIxMjUgMS40MTY2NSAtMC42Mzc1IDIgLTAuNDI1IDAuNTgzMzUgLTAuOTYyNSAxIC0xLjYxMjUgMS4yNWwxLjI1IDEuMjUgLTEuNSAxLjUgMS41IDEuNSAtMiAyWk0xMSAxMS41Yy0xLjA1IDAgLTEuOTM3NSAtMC4zNjI1IC0yLjY2MjUgLTEuMDg3NSAtMC43MjUgLTAuNzI1IC0xLjA4NzUgLTEuNjEyNSAtMS4wODc1IC0yLjY2MjVzMC4zNjI1IC0xLjkzNzUgMS4wODc1IC0yLjY2MjVDOS4wNjI1IDQuMzYyNSA5Ljk1IDQgMTEgNHMxLjkzNzUgMC4zNjI1IDIuNjYyNSAxLjA4NzVjMC43MjUgMC43MjUgMS4wODc1IDEuNjEyNSAxLjA4NzUgMi42NjI1cy0wLjM2MjUgMS45Mzc1IC0xLjA4NzUgMi42NjI1QzEyLjkzNzUgMTEuMTM3NSAxMi4wNSAxMS41IDExIDExLjVabTcuNSAzLjE3NWMwLjI4MzM1IDAgMC41MjA4NSAtMC4wOTU4NSAwLjcxMjUgLTAuMjg3NVMxOS41IDEzLjk1ODM1IDE5LjUgMTMuNjc1YzAgLTAuMjgzMzUgLTAuMDk1ODUgLTAuNTIwODUgLTAuMjg3NSAtMC43MTI1cy0wLjQyOTE1IC0wLjI4NzUgLTAuNzEyNSAtMC4yODc1Yy0wLjI4MzM1IDAgLTAuNTIwODUgMC4wOTU4NSAtMC43MTI1IDAuMjg3NVMxNy41IDEzLjM5MTY1IDE3LjUgMTMuNjc1YzAgMC4yODMzNSAwLjA5NTg1IDAuNTIwODUgMC4yODc1IDAuNzEyNXMwLjQyOTE1IDAuMjg3NSAwLjcxMjUgMC4yODc1WiIgc3Ryb2tlLXdpZHRoPSIwLjUiPjwvcGF0aD4KPC9zdmc+]]></data>
	</file>
	<file>
		<filename>/assets/icon.svg</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDI4NDAgMjg0MCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxuczpzZXJpZj0iaHR0cDovL3d3dy5zZXJpZi5jb20vIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjI7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyNzc5LjIsLTYzODkuNTkpIj4KICAgICAgICA8ZyBpZD0iUGFnaW5hLTE3IiBzZXJpZjppZD0iUGFnaW5hIDE3IiB0cmFuc2Zvcm09Im1hdHJpeCg1LjU1NTU2LDAsMCw1LjU1NTU2LDEyNzc5LjIsNjM4OS41OSkiPgogICAgICAgICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iNTExLjE2NyIgaGVpZ2h0PSI1MTEuMTY3IiBzdHlsZT0iZmlsbDpub25lOyIvPgogICAgICAgICAgICA8Y2xpcFBhdGggaWQ9Il9jbGlwMSI+CiAgICAgICAgICAgICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iNTExLjE2NyIgaGVpZ2h0PSI1MTEuMTY3Ii8+CiAgICAgICAgICAgIDwvY2xpcFBhdGg+CiAgICAgICAgICAgIDxnIGNsaXAtcGF0aD0idXJsKCNfY2xpcDEpIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJMYXllci0yIiBzZXJpZjppZD0iTGF5ZXIgMiI+CiAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMCwxLDEsMCwyNTUuNTg0LDAuMDAwMykiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjU1LjU4MywtMjU1LjU4NEMzOTYuNzM4LC0yNTUuNTg0IDUxMS4xNjcsLTE0MS4xNTUgNTExLjE2NywtMC4wMDFDNTExLjE2NywxNDEuMTU0IDM5Ni43MzgsMjU1LjU4MyAyNTUuNTgzLDI1NS41ODNDMTE0LjQyOCwyNTUuNTgzIDAsMTQxLjE1NCAwLC0wLjAwMUMwLC0xNDEuMTU1IDExNC40MjgsLTI1NS41ODQgMjU1LjU4MywtMjU1LjU4NCIgc3R5bGU9ImZpbGw6cmdiKDE2MiwyMDYsOTcpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMCwtMSwtMSwwLDQxMi4xMTYsMTcyLjMyNCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTS04MC4wMzMsLTgwLjAzM0MtMTE3LjAyMSwtODAuMDMzIC0xNDcuMDA1LC00NC4yMDEgLTE0Ny4wMDUsMC4wMDFDLTE0Ny4wMDUsNDQuMjAxIC0xMTcuMDIxLDgwLjAzMyAtODAuMDMzLDgwLjAzM0MtNDMuMDQ1LDgwLjAzMyAtMTMuMDYsNDQuMjAxIC0xMy4wNiwwLjAwMUMtMTMuMDYsLTQ0LjIwMSAtNDMuMDQ1LC04MC4wMzMgLTgwLjAzMywtODAuMDMzIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMCwtMSwtMSwwLDM4NC44OTEsMjQxLjc4MikiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTS0xMC41NzUsLTEwLjU3NUMtMTYuNDE1LC0xMC41NzUgLTIxLjE1LC01Ljg0MSAtMjEuMTUsMC4wMDFDLTIxLjE1LDUuODQgLTE2LjQxNSwxMC41NzUgLTEwLjU3NSwxMC41NzVDLTQuNzM1LDEwLjU3NSAwLjAwMSw1Ljg0IDAuMDAxLDAuMDAxQzAuMDAxLC01Ljg0MSAtNC43MzUsLTEwLjU3NSAtMTAuNTc1LC0xMC41NzUiIHN0eWxlPSJmaWxsOndoaXRlO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAsLTEsLTEsMCw0MTIuMDgzLDI0MS43ODIpIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0tMTAuNTc1LC0xMC41NzVDLTE2LjQxNSwtMTAuNTc1IC0yMS4xNSwtNS44NDEgLTIxLjE1LDAuMDAxQy0yMS4xNSw1Ljg0IC0xNi40MTUsMTAuNTc1IC0xMC41NzUsMTAuNTc1Qy00LjczNSwxMC41NzUgMC4wMDEsNS44NCAwLjAwMSwwLjAwMUMwLjAwMSwtNS44NDEgLTQuNzM1LC0xMC41NzUgLTEwLjU3NSwtMTAuNTc1IiBzdHlsZT0iZmlsbDp3aGl0ZTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLC0xLC0xLDAsNDM5LjI3NSwyNDEuNzgyKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNLTEwLjU3NSwtMTAuNTc1Qy0xNi40MTUsLTEwLjU3NSAtMjEuMTUsLTUuODQxIC0yMS4xNSwwLjAwMUMtMjEuMTUsNS44NCAtMTYuNDE1LDEwLjU3NSAtMTAuNTc1LDEwLjU3NUMtNC43MzUsMTAuNTc1IDAuMDAxLDUuODQgMC4wMDEsMC4wMDFDMC4wMDEsLTUuODQxIC00LjczNSwtMTAuNTc1IC0xMC41NzUsLTEwLjU3NSIgc3R5bGU9ImZpbGw6d2hpdGU7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwzNTYuNjkyLDMwNS4yMykiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTAsMjcuMTkyQzE4LjE2NCwyNi4xNjcgMzMuNzgyLDIyLjM1MiA0NC44MTYsMTMuNTEzTDE3LjYyNCwwQzE2LjY4OSwxMy41NTUgOS4xODUsMjEuMTM4IDAsMjcuMTkyIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4xNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwxLDAsOTkuMDUxMywxNzIuMzI0KSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNODAuMDMzLC04MC4wMzNDMTE3LjAyMSwtODAuMDMzIDE0Ny4wMDUsLTQ0LjIwMSAxNDcuMDA1LDAuMDAxQzE0Ny4wMDUsNDQuMjAxIDExNy4wMjEsODAuMDMzIDgwLjAzMyw4MC4wMzNDNDMuMDQ1LDgwLjAzMyAxMy4wNiw0NC4yMDEgMTMuMDYsMC4wMDFDMTMuMDYsLTQ0LjIwMSA0My4wNDUsLTgwLjAzMyA4MC4wMzMsLTgwLjAzMyIgc3R5bGU9ImZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwxLDAsMTI2LjI3NiwyNDEuNzgyKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuNTc1LC0xMC41NzVDMTYuNDE1LC0xMC41NzUgMjEuMTUsLTUuODQxIDIxLjE1LDAuMDAxQzIxLjE1LDUuODQgMTYuNDE1LDEwLjU3NSAxMC41NzUsMTAuNTc1QzQuNzM1LDEwLjU3NSAtMC4wMDEsNS44NCAtMC4wMDEsMC4wMDFDLTAuMDAxLC01Ljg0MSA0LjczNSwtMTAuNTc1IDEwLjU3NSwtMTAuNTc1IiBzdHlsZT0iZmlsbDp3aGl0ZTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsMSwwLDk5LjA4NCwyNDEuNzgyKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuNTc1LC0xMC41NzVDMTYuNDE1LC0xMC41NzUgMjEuMTUsLTUuODQxIDIxLjE1LDAuMDAxQzIxLjE1LDUuODQgMTYuNDE1LDEwLjU3NSAxMC41NzUsMTAuNTc1QzQuNzM1LDEwLjU3NSAtMC4wMDEsNS44NCAtMC4wMDEsMC4wMDFDLTAuMDAxLC01Ljg0MSA0LjczNSwtMTAuNTc1IDEwLjU3NSwtMTAuNTc1IiBzdHlsZT0iZmlsbDp3aGl0ZTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsMSwwLDcxLjg5MiwyNDEuNzgyKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuNTc1LC0xMC41NzVDMTYuNDE1LC0xMC41NzUgMjEuMTUsLTUuODQxIDIxLjE1LDAuMDAxQzIxLjE1LDUuODQgMTYuNDE1LDEwLjU3NSAxMC41NzUsMTAuNTc1QzQuNzM1LDEwLjU3NSAtMC4wMDEsNS44NCAtMC4wMDEsMC4wMDFDLTAuMDAxLC01Ljg0MSA0LjczNSwtMTAuNTc1IDEwLjU3NSwtMTAuNTc1IiBzdHlsZT0iZmlsbDp3aGl0ZTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDE1NC40NzUsMzA1LjIzKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMCwyNy4xOTJDLTE4LjE2NCwyNi4xNjcgLTMzLjc4MiwyMi4zNTIgLTQ0LjgxNiwxMy41MTNMLTE3LjYyNCwwQy0xNi42ODksMTMuNTU1IC05LjE4NSwyMS4xMzggMCwyNy4xOTIiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDM3NC4zOTgsMzA2LjM2KSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLC0xMDEuNTUzQy0wLjA2NywtMTA1LjQ0NSAtMC4xNjEsLTE1MC4xNzUgLTAuMjgzLC0xNTQuMTgyTC0xMTguODE0LC0yMDUuMzI5TC0yMzcuMzQ1LC0xNTQuMTgyQy0yMzcuNDY3LC0xNTAuMTc1IC0yMzcuNTYxLC0xMDUuNDQ1IC0yMzcuNjI4LC0xMDEuNTUzQy0yNDEuMjM5LDUzLjk4NCAtMTkwLjU4OSw3Ny41NSAtMTE4LjgxNCwxMDMuNzc2Qy00Ny4wMzksNzcuNTUgMy42MTEsNTMuOTg0IDAsLTEwMS41NTMiIHN0eWxlPSJmaWxsOndoaXRlO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjkxNzg3LDAuMzk2ODgsMC4zOTY4OCwtMC45MTc4NywzMTIuNTAzLDExNC4xMzQpIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTS00Ny45NSwtMzEuNDcyTDYxLjc3NiwtMzEuNDcyQzYzLjIyNCwtMzQuNTYzIDc4LjUwOSwtNjkuNDQ3IDc5Ljg3NywtNzIuNDY2QzEzNS4yNTksLTE5Mi44IDEwMy42MzEsLTIyOC4zMzYgNTYuNTAzLC0yNzMuMDQxTC00Ny45NSwtMzEuNDcyWiIgc3R5bGU9ImZpbGw6cmdiKDg3LDEyOSwxNDcpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgtMC45MTg0NjYsMC4zOTU1LDAuMzk1NSwwLjkxODQ2NiwyMDcuOTU3LDM5Ny4wOCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNLTE1Mi4xMzMsLTIzMS44MjFMLTQyLjAyNCwtMjMxLjgyMUMtNDAuNTgsLTIyOC43MjggLTI1LjU0LC0xOTMuNzM5IC0yNC4xNzcsLTE5MC43MThDMzEuMDI0LC03MC4zIDAuMDcsLTM1LjEyNSAtNDguMDQ0LDkuOTA0TC0xNTIuMTMzLC0yMzEuODIxWiIgc3R5bGU9ImZpbGw6cmdiKDUwLDc3LDkxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4xNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMjY0Ljc2NiwyOTEuNjgxKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMCwtODIuOTNMOC43NiwtNjUuMThDOS44NjIsLTYyLjk0NyAxMS45OTIsLTYxLjQgMTQuNDU2LC02MS4wNDJMMzQuMDQ0LC01OC4xOTVDNDAuMjUsLTU3LjI5NCA0Mi43MjcsLTQ5LjY2OCAzOC4yMzcsLTQ1LjI5MUwyNC4wNjMsLTMxLjQ3NUMyMi4yOCwtMjkuNzM3IDIxLjQ2NiwtMjcuMjMzIDIxLjg4NywtMjQuNzc5TDI1LjIzMywtNS4yN0MyNi4yOTMsMC45MSAxOS44MDcsNS42MjMgMTQuMjU3LDIuNzA1TC0zLjI2NCwtNi41MDZDLTUuNDY4LC03LjY2NCAtOC4xLC03LjY2NCAtMTAuMzA0LC02LjUwNkwtMjcuODI1LDIuNzA1Qy0zMy4zNzUsNS42MjMgLTM5Ljg2MSwwLjkxIC0zOC44MDEsLTUuMjdMLTM1LjQ1NSwtMjQuNzc5Qy0zNS4wMzQsLTI3LjIzMyAtMzUuODQ4LC0yOS43MzcgLTM3LjYzMSwtMzEuNDc1TC01MS44MDUsLTQ1LjI5MUMtNTYuMjk1LC00OS42NjggLTUzLjgxOCwtNTcuMjk0IC00Ny42MTIsLTU4LjE5NUwtMjguMDI0LC02MS4wNDJDLTI1LjU2LC02MS40IC0yMy40MywtNjIuOTQ3IC0yMi4zMjgsLTY1LjE4TC0xMy41NjgsLTgyLjkzQy0xMC43OTMsLTg4LjU1MyAtMi43NzUsLTg4LjU1MyAwLC04Mi45MyIgc3R5bGU9ImZpbGw6cmdiKDI1LDI1LDI1KTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDI2Mi4zNjgsMjg2Ljk0OCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMCwtODIuOTNMOC43NiwtNjUuMThDOS44NjIsLTYyLjk0NyAxMS45OTIsLTYxLjQgMTQuNDU2LC02MS4wNDJMMzQuMDQ0LC01OC4xOTVDNDAuMjUsLTU3LjI5NCA0Mi43MjcsLTQ5LjY2OCAzOC4yMzcsLTQ1LjI5MUwyNC4wNjMsLTMxLjQ3NUMyMi4yOCwtMjkuNzM3IDIxLjQ2NiwtMjcuMjMzIDIxLjg4NywtMjQuNzc5TDI1LjIzMywtNS4yN0MyNi4yOTMsMC45MSAxOS44MDcsNS42MjMgMTQuMjU3LDIuNzA1TC0zLjI2NCwtNi41MDZDLTUuNDY4LC03LjY2NCAtOC4xLC03LjY2NCAtMTAuMzA0LC02LjUwNkwtMjcuODI1LDIuNzA1Qy0zMy4zNzUsNS42MjMgLTM5Ljg2MSwwLjkxIC0zOC44MDEsLTUuMjdMLTM1LjQ1NSwtMjQuNzc5Qy0zNS4wMzQsLTI3LjIzMyAtMzUuODQ4LC0yOS43MzcgLTM3LjYzMSwtMzEuNDc1TC01MS44MDUsLTQ1LjI5MUMtNTYuMjk1LC00OS42NjggLTUzLjgxOCwtNTcuMjk0IC00Ny42MTIsLTU4LjE5NUwtMjguMDI0LC02MS4wNDJDLTI1LjU2LC02MS40IC0yMy40MywtNjIuOTQ3IC0yMi4zMjgsLTY1LjE4TC0xMy41NjgsLTgyLjkzQy0xMC43OTMsLTg4LjU1MyAtMi43NzUsLTg4LjU1MyAwLC04Mi45MyIgc3R5bGU9ImZpbGw6d2hpdGU7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPGcgaWQ9IkxheWVyLTEiIHNlcmlmOmlkPSJMYXllciAxIj4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==]]></data>
	</file>
	<file>
		<filename>/assets/twofactor_admin.css</filename>
		<isdir>0</isdir>
		<data><![CDATA[YS5jdGEgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbWFyZ2luOiAxMHB4IDA7DQogICAgbGluZS1oZWlnaHQ6IDI2cHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHBhZGRpbmc6IDAgOHB4IDAgMjRweDsNCiAgICBjbGVhcjogYm90aDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KYS5jdGEgLnVpLWljb24gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OiA1cHg7DQogICAgdG9wOiA2cHg7DQogICAgY29sb3I6ICNGRkYhaW1wb3J0YW50DQp9DQphLmN0YSAudWktbXlpY29uIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogMXB4Ow0KICAgIHRvcDogM3B4Ow0KICAgIGNvbG9yOiAjRkZGIWltcG9ydGFudDsNCn0NCmEuY3RhIC51aS1teWljb24ubXktaWNvbi1zdGFyIHsNCiAgICBiYWNrZ3JvdW5kOiBub25lOw0KICAgIHdpZHRoOiAyMHB4Ow0KICAgIGhlaWdodDogMjBweDsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KYS5jdGEgLnVpLW15aWNvbi5teS1pY29uLXN0YXI6OmJlZm9yZSB7DQogICAgY29udGVudDogIuKYhSI7DQogICAgZGlzcGxheTogYmxvY2s7DQp9DQphLmN0YTpob3ZlciB7DQoJY29sb3I6ICNmZmYNCn0NCmEuY3RhLnhsYXJnZSB7DQogICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggNDBweDsNCn0NCmEuY3RhLnhsYXJnZSAudWktYnV0dG9uLXRleHQgew0KICAgIGZvbnQtc2l6ZTogMS4zZW07DQogICAgbGV0dGVyLXNwYWNpbmc6IC4wM3JlbTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KfQ0KYS5jdGEueGxhcmdlIC51aS1teWljb24ubXktaWNvbi1zdGFyIHsNCiAgICB0b3A6IDE0cHg7DQogICAgbGVmdDogMTRweDsNCiAgICBmb250LXNpemU6IDI4cHg7DQp9DQoudWktc3RhdGUtaGlnaGxpZ2h0LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgew0KICAgIGJvcmRlcjogMXB4IHNvbGlkICM4QkMzNEE7DQogICAgYmFja2dyb3VuZDogI0E0RDA2MTsNCiAgICBjb2xvcjogI0ZGRiFpbXBvcnRhbnQNCn0NCi51aS1zdGF0ZS1oaWdobGlnaHQ6aG92ZXIgew0KICAgIGJhY2tncm91bmQ6ICNCNURDNzI7DQp9DQoNCi51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnksIC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLWljb24tcHJpbWFyeSwgLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5IHsNCiAgICBsZWZ0OiAuNWVtOw0KfQ0KDQoucHJlbWl1bSB1bCB7DQogICAgbGlzdC1zdHlsZTogZGlzYyBpbnNpZGUhaW1wb3J0YW50Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbWFyZ2luOiAwIWltcG9ydGFudDsNCiAgICBmb250LXNpemU6IDEycHg7DQp9DQoucHJlbWl1bSBsaSB7DQogICAgZGlzcGxheTogaW5saW5lOw0KfQ0KLnByZW1pdW0gdWwgbGk6OmFmdGVyIHsNCiAgICBjb250ZW50OiAiIHwgIjsNCiAgICBjb2xvcjogI0NDQzsNCn0NCi5wcmVtaXVtIHVsIGxpOmxhc3QtY2hpbGQ6OmFmdGVyIHsNCiAgICBjb250ZW50OiAiIjsNCn0NCi5wcmVtaXVtIGEgew0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQp9DQoucHJlbWl1bSAuY3RhX19ib3R0b20gew0KICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7DQogICAgcGFkZGluZzogNXB4IDMwcHg7DQp9DQouY3RhX190b3Agew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgcGFkZGluZzogMThweCAzMHB4Ow0KfQ0KLmN0YV9fYWN0aW9uIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KLmN0YV9fdG9wIGgyIHsNCiAgICBmb250LXNpemU6IDI4cHg7DQogICAgZm9udC13ZWlnaHQ6IDIwMDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBtYXJnaW46IDAgMCA1cHg7DQogICAgbGV0dGVyLXNwYWNpbmc6IC4wNXJlbTsNCiAgICBjb2xvcjogIzdDQjM0MjsNCn0NCi5saWZ0ZWQgew0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpOw0KICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCAwIHJnYmEoMCwwLDAsLjEpOw0KfQ==]]></data>
	</file>
	<file>
		<filename>/assets/twofactor_admin.js</filename>
		<isdir>0</isdir>
		<data><![CDATA[JChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQogICAgJCgnYS5jdGEnKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgaWNvbiA9ICQodGhpcykuZGF0YSgnaWNvbicpIHx8ICd1aS1pY29uLWFycm93cmV0dXJudGhpY2stMS13JzsNCiAgICAgICAgdmFyIHRleHQgPSAkKHRoaXMpLnRleHQoKTsNCiAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygndWktc3RhdGUtaGlnaGxpZ2h0IHVpLWNvcm5lci1hbGwnKQ0KICAgICAgICAuaHRtbCgnPHNwYW4gY2xhc3M9InVpLW15aWNvbiAnICsgaWNvbiArICciPjwvc3Bhbj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQiPicgKyB0ZXh0ICsgJzwvc3Bhbj4nKQ0KICAgICAgICAuaG92ZXIoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCd1aS1zdGF0ZS1ob3ZlcicpOw0KICAgICAgICB9LCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ3VpLXN0YXRlLWhvdmVyJyk7DQogICAgICAgIH0pOw0KICAgIH0pOw0KfSk7]]></data>
	</file>
	<file>
		<filename>/assets/twofactor_verify.css</filename>
		<isdir>0</isdir>
		<data><![CDATA[LyogVHdvRmFjdG9yIHZlcmlmaWNhdGlvbiBwYWdlOiBhbHRlcm5hdGl2ZSBtZXRob2RzIGJsb2NrLgogICBTZWxmLWNvbnRhaW5lZCBzdHlsZXMgc28gdGhlIHByZXNlbnRhdGlvbiBpcyBjb25zaXN0ZW50IHJlZ2FyZGxlc3Mgb2YgdGhlCiAgIGFkbWluIGxvZ2luIHRoZW1lLiBTY29wZWQgdW5kZXIgLnRmYS1hbHQgdG8gYXZvaWQgY2xhc2hpbmcgd2l0aCB0aGVtZSBDU1MuICovCgoudGZhLWFsdCB7CgltYXJnaW4tdG9wOiAxOHB4OwoJcGFkZGluZy10b3A6IDE0cHg7Cglib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTIpOwoJdGV4dC1hbGlnbjogbGVmdDsKfQoKLnRmYS1hbHRfX2xhYmVsIHsKCWRpc3BsYXk6IGJsb2NrOwoJZm9udC1zaXplOiAxMnB4OwoJbGV0dGVyLXNwYWNpbmc6IC4wNGVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKCWNvbG9yOiAjODg4OwoJbWFyZ2luLWJvdHRvbTogOHB4OwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgoudGZhLWFsdF9fbGlzdCB7CglkaXNwbGF5OiBmbGV4OwoJZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKCWdhcDogNnB4Owp9CgoudGZhLW1ldGhvZCB7CglkaXNwbGF5OiBmbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWdhcDogMTBweDsKCXBhZGRpbmc6IDlweCAxMnB4OwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTIpOwoJYm9yZGVyLXJhZGl1czogNnB4OwoJYmFja2dyb3VuZDogI2ZmZjsKCWNvbG9yOiAjMzMzOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJZm9udC1zaXplOiAxNHB4OwoJbGluZS1oZWlnaHQ6IDEuMjsKCXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzIGVhc2UsIGJhY2tncm91bmQgLjE1cyBlYXNlLCBib3gtc2hhZG93IC4xNXMgZWFzZTsKfQoKLnRmYS1tZXRob2Q6aG92ZXIsCi50ZmEtbWV0aG9kOmZvY3VzIHsKCWJvcmRlci1jb2xvcjogIzRhOTBlMjsKCWJhY2tncm91bmQ6ICNmNWY5ZmY7Cglib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuMDYpOwoJY29sb3I6ICMxYjFiMWI7Cn0KCi50ZmEtbWV0aG9kX19pY29uIHsKCWZsZXg6IDAgMCBhdXRvOwoJd2lkdGg6IDIwcHg7CgloZWlnaHQ6IDIwcHg7Cgljb2xvcjogIzRhOTBlMjsKfQoKLnRmYS1tZXRob2RfX2ljb24gc3ZnIHsKCXdpZHRoOiAyMHB4OwoJaGVpZ2h0OiAyMHB4OwoJZGlzcGxheTogYmxvY2s7CglmaWxsOiBub25lOwoJc3Ryb2tlOiBjdXJyZW50Q29sb3I7CglzdHJva2Utd2lkdGg6IDEuODsKCXN0cm9rZS1saW5lY2FwOiByb3VuZDsKCXN0cm9rZS1saW5lam9pbjogcm91bmQ7Cn0KCi50ZmEtbWV0aG9kX19sYWJlbCB7CglmbGV4OiAxIDEgYXV0bzsKfQoKLnRmYS1tZXRob2RfX2NoZXZyb24gewoJZmxleDogMCAwIGF1dG87Cgljb2xvcjogI2JiYjsKfQoKLnRmYS1tZXRob2QtLWJhY2t1cCB7Cglib3JkZXItc3R5bGU6IGRhc2hlZDsKfQoKLnRmYS1tZXRob2QtLWJhY2t1cCAudGZhLW1ldGhvZF9faWNvbiB7Cgljb2xvcjogI2UwOTEyZjsKfQo=]]></data>
	</file>
	<file>
		<filename>/doc</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/doc/CHANGELOG.md</filename>
		<isdir>0</isdir>
		<data><![CDATA[IyBDaGFuZ2Vsb2cKCiMjIFZlcnNpb24gNC4wLjAKLSBJbXByb3ZlZDogdHdvLWZhY3RvciBsb2dpbiBub3cgd29ya3Mgc21vb3RobHkgd2l0aCB0aGUgbW9kZXJuIENNUyBNYWRlIFNpbXBsZSBsb2dpbiBwcm9jZXNzICgyLjIuMjMgYW5kIG5ld2VyKSwgd2l0aCBubyBtb3JlIGZvcmNlZCBsb2dvdXQtYW5kLWJhY2staW4gYmVoaW5kIHRoZSBzY2VuZXMKLSBJbXByb3ZlZDogdGhlIHZlcmlmaWNhdGlvbiBwYWdlIGFuZCBpdHMgbGlua3Mgbm93IHdvcmsgY29ycmVjdGx5IHdoZXRoZXIgb3Igbm90IHlvdXIgc2l0ZSB1c2VzIHByZXR0eSBVUkxzCi0gSW1wcm92ZWQ6IGNob29zaW5nIGEgZGlmZmVyZW50IHZlcmlmaWNhdGlvbiBtZXRob2QgaXMgbm93IGNsZWFyZXIuIEFsdGVybmF0aXZlcyBhcmUgc2hvd24gYXMgYSB0aWR5IGxpc3Qgb2YgYnV0dG9ucyB3aXRoIGFuIGljb24gZm9yIGVhY2ggbWV0aG9kLCBpbnN0ZWFkIG9mIGEgY3JhbXBlZCBsaW5lIG9mIHRleHQgbGlua3MKLSBGaXhlZDogZW50ZXJpbmcgeW91ciBjb2RlIGNvdWxkIGZhaWwgd2l0aCBhICJOb3QgRm91bmQiIGVycm9yIG9uIHNpdGVzIHdpdGhvdXQgcHJldHR5IFVSTHMuIFZlcmlmaWNhdGlvbiBub3cgc3VibWl0cyByZWxpYWJseSBpbiBhbGwgc2V0dXBzCi0gRml4ZWQ6IHRoZSAicmVzZW5kIGNvZGUiLCAidXNlIGFub3RoZXIgbWV0aG9kIiwgInVzZSBhIGJhY2t1cCBjb2RlIiwgYW5kICJiYWNrIHRvIHByaW1hcnkgbWV0aG9kIiBsaW5rcyBub3cgYWx3YXlzIHdvcmsKLSBGaXhlZDogY2hvb3NpbmcgZW1haWwgb3IgU01TIHZlcmlmaWNhdGlvbiBubyBsb25nZXIgc2hvd3MgYW4gZXJyb3IgcGFnZSB3aGVuIHRoZSBtZXNzYWdlIGNhbm5vdCBiZSBzZW50LiBZb3Ugbm93IGdldCBhIGNsZWFyIG1lc3NhZ2UgYW5kIGNhbiBzd2l0Y2ggdG8gYW5vdGhlciBtZXRob2QKLSBGaXhlZDogdGhlIGJhY2t1cCBjb2RlcyB2ZXJpZmljYXRpb24gc2NyZWVuIGNvdWxkIGZhaWwgdG8gbG9hZDsgaXQgbm93IGRpc3BsYXlzIGNvcnJlY3RseQotIENoYW5nZWQ6IG5vdyByZXF1aXJlcyBDTVMgTWFkZSBTaW1wbGUgMi4yLjIzIG9yIG5ld2VyLCBhbmQgUEhQIDguMSBvciBuZXdlcgotIEhvdXNla2VlcGluZzogdXBncmFkaW5nIGZyb20gYW4gb2xkZXIgdmVyc2lvbiBhbmQgdW5pbnN0YWxsaW5nIG5vdyBjbGVhbiB1cCBsZWZ0b3ZlciBsb2dpbiBzZXR0aW5ncyBhdXRvbWF0aWNhbGx5CgojIyBWZXJzaW9uIDMuMC4wCi0gQWRkZWQgUGFzc2tleSAvIFdlYkF1dGhuIChGSURPMikgc3VwcG9ydCBhcyBhIG5ldyBhdXRoZW50aWNhdGlvbiBtZXRob2QKLSBCdWlsdCBzZWxmLWNvbnRhaW5lZCBXZWJBdXRobiBzZXJ2ZXIgbGlicmFyeSAobm8gZXh0ZXJuYWwgZGVwZW5kZW5jaWVzKQotIEluY2x1ZGVzIENCT1IgZGVjb2RlciBmb3IgRklETzIgYXR0ZXN0YXRpb24gYW5kIENPU0Uga2V5IHBhcnNpbmcKLSBQbGF0Zm9ybSBhdXRoZW50aWNhdG9yIHN1cHBvcnQgKFRvdWNoIElELCBXaW5kb3dzIEhlbGxvLCBGYWNlIElEKQotIFNpbmdsZSBwYXNza2V5IHJlZ2lzdHJhdGlvbiBwZXIgdXNlciBpbiBmcmVlIHRpZXIKLSBBdXRvLXRyaWdnZXJlZCBicm93c2VyIGF1dGhlbnRpY2F0aW9uIG9uIHZlcmlmaWNhdGlvbiBwYWdlCi0gQUpBWC1iYXNlZCByZWdpc3RyYXRpb24gY2VyZW1vbnkgd2l0aCByZWFsLXRpbWUgc3RhdHVzIGZlZWRiYWNrCi0gUGFzc2tleSBwcm92aWRlciBpbnRlZ3JhdGVzIHdpdGggZXhpc3RpbmcgcHJvdmlkZXIgc3dpdGNoaW5nIGFuZCBiYWNrdXAgY29kZXMKLSBBZGRlZCBXZWJBdXRobiBjaGFsbGVuZ2Ugc2Vzc2lvbiBtYW5hZ2VtZW50IHdpdGggcHJvcGVyIGNsZWFudXAKLSBIVFRQUyBkZXRlY3Rpb24gZm9yIFdlYkF1dGhuIGF2YWlsYWJpbGl0eQotIFBybyBpbnRlZ3JhdGlvbjogYXV0aGVudGljYXRpb24gY2hlY2tzIGJvdGggYmFzZSBhbmQgUHJvIG11bHRpLWtleSBjcmVkZW50aWFscwotIEFkZGVkIH40MCBuZXcgbGFuZ3VhZ2Ugc3RyaW5ncyBmb3IgcGFzc2tleSBhbmQga2V5IG1hbmFnZW1lbnQgZmVhdHVyZXMKCiMjIFZlcnNpb24gMi4xLjAKLSBNaWdyYXRlZCB2ZXJpZmljYXRpb24gZmxvdyB0byBtb2R1bGUgYWN0aW9uIChyZW1vdmVkIHN0YW5kYWxvbmUgYWRtaW4vdHdvZmFjdG9yLnBocCkKLSBBZGRlZCBsYW5ndWFnZSBzdHJpbmcgc3VwcG9ydCBmb3IgYWxsIHZlcmlmaWNhdGlvbiB0ZW1wbGF0ZXMgKFRPVFAsIEVtYWlsLCBTTVMpCi0gSW1wcm92ZWQgZm9ybSBmaWVsZCBoYW5kbGluZyB3aXRoIGFjdGlvbmlkIHByZWZpeGVzIGZvciBwcm9wZXIgcGFyYW1ldGVyIHBhc3NpbmcKLSBFbmhhbmNlZCByYXRlIGxpbWl0aW5nIHdpdGggYXV0b21hdGljIGNsZWFudXAgd2hlbiBkaXNhYmxlZAotIFVwZGF0ZWQgYWxsIHByb3ZpZGVycyB0byBhY2NlcHQgJHBhcmFtcyBwYXJhbWV0ZXIgZm9yIGNvbnNpc3RlbnQgdmFsaWRhdGlvbgotIEltcHJvdmVkIGNvdW50ZG93biB0aW1lciB3aXRoIGxhbmd1YWdlLWJhc2VkIG1lc3NhZ2VzCi0gQWRkZWQgbWVzc2FnZSBkaXNwbGF5IHN1cHBvcnQgZm9yIHJlc2VuZCBub3RpZmljYXRpb25zCi0gRW5oYW5jZWQgZm9ybSBzZWN1cml0eSB3aXRoIENTUkYgdG9rZW4gdmFsaWRhdGlvbgoKIyMgVmVyc2lvbiAyLjAuMAotIFNwbGl0IG1vZHVsZSBpbnRvIFR3b0ZhY3RvciAoRnJlZSkgYW5kIFR3b0ZhY3RvclBybyAoUHJlbWl1bSkKLSBBZGRlZCBNYW5hZ2VkIFNNUyBDcmVkaXRzIHN5c3RlbQotIEFkZGVkIFNNUyB2ZXJpZmljYXRpb24gbG9ncyB3aXRoIHBhZ2luYXRpb24KLSBJbXByb3ZlZCBhZG1pbiBpbnRlcmZhY2Ugd2l0aCB1bmlmaWVkIHNldHRpbmdzCi0gQWRkZWQgZXZlbnQgc3lzdGVtIGZvciBQcm8gaW50ZWdyYXRpb24KLSBFbmhhbmNlZCBzZWN1cml0eSB3aXRoIGxpY2Vuc2UgdmFsaWRhdGlvbgotIEFkZGVkIHVwZ3JhZGUgcGF0aCB0byBQcm8gdmVyc2lvbgoKIyMgVmVyc2lvbiAxLjEuMwotIEFkZGVkIGR1YWwgcGVybWlzc2lvbiBzeXN0ZW0gKG1hbmFnZV90d29mYWN0b3IgYW5kIHVzZV90d29mYWN0b3IpCi0gQ3JlYXRlZCBzZXBhcmF0ZSBhZG1pbiBpbnRlcmZhY2VzOiBTaXRlIEFkbWluIHNldHRpbmdzIGFuZCBNeSBQcmVmZXJlbmNlcwotIENlbnRyYWxpemVkIFR3aWxpbyBBUEkgY29uZmlndXJhdGlvbiBpbiBzaXRlIHByZWZlcmVuY2VzCi0gQWRkZWQgIkRpc2FibGVkIiBvcHRpb24gdG8gcHJpbWFyeSBtZXRob2QgZHJvcGRvd24KLSBFeGNsdWRlZCBiYWNrdXAgY29kZXMgZnJvbSBwcmltYXJ5IG1ldGhvZCBzZWxlY3Rpb24KLSBJbXByb3ZlZCBTTVMgc2V0dXAgd2l0aCB2ZXJpZmllZCBzdGF0dXMgZGlzcGxheQotIENvbnZlcnRlZCB0byBzdGFuZGFyZCBDTVNNUyBtZXNzYWdlIHN5c3RlbSAoU2V0TWVzc2FnZS9TZXRFcnJvcikKLSBBZGRlZCBjdXN0b21pemFibGUgSFRNTCBlbWFpbCB0ZW1wbGF0ZSBzeXN0ZW0KLSBDcmVhdGVkIHByb2Zlc3Npb25hbCBlbWFpbCB2ZXJpZmljYXRpb24gdGVtcGxhdGUgd2l0aCByZXNwb25zaXZlIGRlc2lnbgoKIyMgVmVyc2lvbiAxLjAuMAotIEluaXRpYWwgc3RhYmxlIHJlbGVhc2UKLSBUT1RQIChBdXRoZW50aWNhdG9yIEFwcCkgc3VwcG9ydCB3aXRoIFFSIGNvZGUgZ2VuZXJhdGlvbgotIEVtYWlsIHZlcmlmaWNhdGlvbiB3aXRoIDYtZGlnaXQgY29kZXMKLSBTTVMgdmVyaWZpY2F0aW9uIHZpYSBUd2lsaW8gVmVyaWZ5IEFQSQotIEJhY2t1cCBjb2RlcyBmb3IgZW1lcmdlbmN5IGFjY2VzcwotIFBob25lIG51bWJlciB2ZXJpZmljYXRpb24gZmxvdyB3aXRoIHJlc2VuZCBhbmQgY2hhbmdlIG9wdGlvbnMKLSBGcmllbmRseSBlcnJvciBtZXNzYWdlcyBmb3IgVHdpbGlvIEFQSSBlcnJvcnMKLSBMb2dpbiBpbnRlcmNlcHRpb24gdmlhIENvcmU6OkxvZ2luUG9zdCBldmVudAotIFN0YW5kYWxvbmUgdmVyaWZpY2F0aW9uIHBhZ2UgKGFkbWluL3R3b2ZhY3Rvci5waHApCi0gVXNlciBtZXRhZGF0YSBzdG9yYWdlIHN5c3RlbQotIFByb3ZpZGVyIHN3aXRjaGluZyBkdXJpbmcgdmVyaWZpY2F0aW9uCi0gUHJpbWFyeSBtZXRob2Qgc2VsZWN0aW9uCi0gQXVkaXQgbG9nZ2luZyBmb3IgYWxsIDJGQSBldmVudHMK]]></data>
	</file>
	<file>
		<filename>/doc/LICENSE</filename>
		<isdir>0</isdir>
		<data><![CDATA[TUlUIExpY2Vuc2UKCkNvcHlyaWdodCAoYykgMjAyNSBQaXhlbCBTb2x1dGlvbnMKClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKU09GVFdBUkUuCg==]]></data>
	</file>
	<file>
		<filename>/function.admin_smssettings.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignc21zc2V0dGluZ3MnKTsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbihUd29GYWN0b3I6Ok1BTkFHRV9TTVNfUEVSTSkpIHJldHVybjsKCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXRfY3JlZGl0cyddKSkgewogICAgaWYgKCFceHRfdXRpbHM6OnZhbGlkX2Zvcm1fY3NyZigpKSB7ICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF9jc3JmJykpOyAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7IHJldHVybjsgfQogICAgJHByb2R1Y3Rfa2V5ID0gdHJpbSgkcGFyYW1zWydwcm9kdWN0X2tleSddKTsKICAgIAogICAgaWYgKGVtcHR5KCRwcm9kdWN0X2tleSkpIHsKICAgICAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2VtcHR5X2xpY2Vuc2UnKSk7CiAgICB9IGVsc2UgewogICAgICAgICRjb25maWcgPSBjbXNfdXRpbHM6OmdldF9jb25maWcoKTsKICAgICAgICAkZG9tYWluID0gJF9TRVJWRVJbJ0hUVFBfSE9TVCddOwogICAgICAgIAogICAgICAgICRyZXN1bHQgPSBUd29GYWN0b3JBUEk6OnZhbGlkYXRlX2xpY2Vuc2UoJHByb2R1Y3Rfa2V5LCAkZG9tYWluKTsKICAgICAgICAKICAgICAgICBpZiAoJHJlc3VsdCAmJiBpc3NldCgkcmVzdWx0Wyd2YWxpZCddKSAmJiAkcmVzdWx0Wyd2YWxpZCddID09PSB0cnVlKSB7CiAgICAgICAgICAgIGlmICghaXNzZXQoJHJlc3VsdFsnbGljZW5zZV90eXBlJ10pIHx8ICRyZXN1bHRbJ2xpY2Vuc2VfdHlwZSddICE9PSAnY3JlZGl0cycpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3Jfc3Vic2NyaXB0aW9uX2tleV9ub3Rfc3VwcG9ydGVkJykpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNfcHJvZHVjdF9rZXknLCAkcHJvZHVjdF9rZXkpOwogICAgICAgICAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNjcmVkaXRfZW5hYmxlZCcsIHRydWUpOwogICAgICAgICAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNfYXZhaWxhYmxlJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnc21zX2NyZWRpdHNfc2F2ZWQnKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkZXJyb3IgPSBpc3NldCgkcmVzdWx0WydlcnJvciddKSA/ICRyZXN1bHRbJ2Vycm9yJ10gOiAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF9saWNlbnNlJyk7CiAgICAgICAgICAgICR0aGlzLT5TZXRFcnJvcigkZXJyb3IpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigpOwogICAgcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1sncmVtb3ZlX2NyZWRpdHMnXSkpIHsKICAgIGlmICghXHh0X3V0aWxzOjp2YWxpZF9mb3JtX2NzcmYoKSkgeyAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfY3NyZicpKTsgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigpOyByZXR1cm47IH0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0d29mYWN0b3Jfc21zX3Byb2R1Y3Rfa2V5JywgJycpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNjcmVkaXRfZW5hYmxlZCcsICcwJyk7CiAgICAkdHdpbGlvX2NvbmZpZ3VyZWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19lbmFibGVkJywgZmFsc2UpOwogICAgaWYgKCEkdHdpbGlvX2NvbmZpZ3VyZWQpIHsKICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc19hdmFpbGFibGUnLCBmYWxzZSk7CiAgICB9CiAgICAKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdzbXNfY3JlZGl0c19yZW1vdmVkJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigpOwogICAgcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1sncmVtb3ZlX3R3aWxpbyddKSkgewogICAgaWYgKCFceHRfdXRpbHM6OnZhbGlkX2Zvcm1fY3NyZigpKSB7ICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF9jc3JmJykpOyAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7IHJldHVybjsgfQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fYXBpX2tleScsICcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0d29mYWN0b3JfdHdpbGlvX2FwaV9zZWNyZXQnLCAnJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19zZXJ2aWNlX3NpZCcsICcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0d29mYWN0b3JfdHdpbGlvX2VuYWJsZWQnLCAnMCcpOwogICAgJHNtc2NyZWRpdF9lbmFibGVkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNjcmVkaXRfZW5hYmxlZCcsIGZhbHNlKTsKICAgIGlmICghJHNtc2NyZWRpdF9lbmFibGVkKSB7CiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNfYXZhaWxhYmxlJywgZmFsc2UpOwogICAgfQogICAgCiAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygndHdpbGlvX3JlbW92ZWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7CiAgICByZXR1cm47Cn0KCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXRfdHdpbGlvJ10pKSB7CiAgICBpZiAoIVx4dF91dGlsczo6dmFsaWRfZm9ybV9jc3JmKCkpIHsgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX2NzcmYnKSk7ICR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoKTsgcmV0dXJuOyB9CiAgICAkYXBpX2tleSA9IHRyaW0oJHBhcmFtc1snYXBpX2tleSddKTsKICAgICRhcGlfc2VjcmV0ID0gdHJpbSgkcGFyYW1zWydhcGlfc2VjcmV0J10pOwogICAgJHNlcnZpY2Vfc2lkID0gdHJpbSgkcGFyYW1zWydzZXJ2aWNlX3NpZCddKTsKICAgIAogICAgaWYgKGVtcHR5KCRhcGlfa2V5KSB8fCBlbXB0eSgkYXBpX3NlY3JldCkgfHwgZW1wdHkoJHNlcnZpY2Vfc2lkKSkgewogICAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfdHdpbGlvX2ZpZWxkc19yZXF1aXJlZCcpKTsKICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKFR3b0ZhY3RvclByb3ZpZGVyU01TOjp2ZXJpZnlfdHdpbGlvX2NyZWRlbnRpYWxzKCRhcGlfa2V5LCAkYXBpX3NlY3JldCwgJHNlcnZpY2Vfc2lkKSkgewogICAgICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19hcGlfa2V5JywgJGFwaV9rZXkpOwogICAgICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19hcGlfc2VjcmV0JywgJGFwaV9zZWNyZXQpOwogICAgICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19zZXJ2aWNlX3NpZCcsICRzZXJ2aWNlX3NpZCk7CiAgICAgICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0d29mYWN0b3JfdHdpbGlvX2VuYWJsZWQnLCB0cnVlKTsKICAgICAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNfYXZhaWxhYmxlJywgdHJ1ZSk7CiAgICAgICAgICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCd0d2lsaW9fc2V0dGluZ3Nfc2F2ZWQnKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl90d2lsaW9faW52YWxpZF9jcmVkZW50aWFscycpKTsKICAgICAgICB9CiAgICB9CiAgICAKICAgICR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoKTsKICAgIHJldHVybjsKfQoKJHByb2R1Y3Rfa2V5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNfcHJvZHVjdF9rZXknLCAnJyk7CiRzbXNfYXZhaWxhYmxlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl9zbXNfYXZhaWxhYmxlJywgZmFsc2UpOwokdHdpbGlvX2VuYWJsZWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19lbmFibGVkJywgZmFsc2UpOwokc21zY3JlZGl0X2VuYWJsZWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc2NyZWRpdF9lbmFibGVkJywgMCk7CiRjcmVkaXRzX3JlbWFpbmluZyA9IDA7CiRsaWNlbnNlX3BsYW4gPSAnJzsKCmlmICghZW1wdHkoJHByb2R1Y3Rfa2V5KSkgewogICAgJGRvbWFpbiA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsKICAgICRyZXN1bHQgPSBUd29GYWN0b3JBUEk6OnZhbGlkYXRlX2xpY2Vuc2UoJHByb2R1Y3Rfa2V5LCAkZG9tYWluKTsKICAgIAogICAgaWYgKCRyZXN1bHQgJiYgaXNzZXQoJHJlc3VsdFsndmFsaWQnXSkgJiYgJHJlc3VsdFsndmFsaWQnXSA9PT0gdHJ1ZSkgewogICAgICAgICRjcmVkaXRzX3JlbWFpbmluZyA9IGlzc2V0KCRyZXN1bHRbJ2NyZWRpdHNfcmVtYWluaW5nJ10pID8gJHJlc3VsdFsnY3JlZGl0c19yZW1haW5pbmcnXSA6IDA7CiAgICAgICAgJGxpY2Vuc2VfcGxhbiA9IGlzc2V0KCRyZXN1bHRbJ3BsYW4nXSkgPyAkcmVzdWx0WydwbGFuJ10gOiAnJzsKICAgIH0KfQoKCgokYXBpX2tleSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0d29mYWN0b3JfdHdpbGlvX2FwaV9rZXknLCAnJyk7CiRhcGlfc2VjcmV0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fYXBpX3NlY3JldCcsICcnKTsKJHNlcnZpY2Vfc2lkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fc2VydmljZV9zaWQnLCAnJyk7CgokdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ3Ntc3NldHRpbmdzLnRwbCcpLCBudWxsLCBudWxsLCAkc21hcnR5KTsKJHRwbC0+YXNzaWduKCdwcm9kdWN0X2tleScsICRwcm9kdWN0X2tleSk7CiR0cGwtPmFzc2lnbignc21zX2F2YWlsYWJsZScsICRzbXNfYXZhaWxhYmxlKTsKJHRwbC0+YXNzaWduKCd0d2lsaW9fZW5hYmxlZCcsICR0d2lsaW9fZW5hYmxlZCk7CiR0cGwtPmFzc2lnbignc21zY3JlZGl0X2VuYWJsZWQnLCAkc21zY3JlZGl0X2VuYWJsZWQpOwokdHBsLT5hc3NpZ24oJ2NyZWRpdHNfcmVtYWluaW5nJywgJGNyZWRpdHNfcmVtYWluaW5nKTsKJHRwbC0+YXNzaWduKCdsaWNlbnNlX3BsYW4nLCAkbGljZW5zZV9wbGFuKTsKJHRwbC0+YXNzaWduKCdhcGlfa2V5JywgJGFwaV9rZXkpOwokdHBsLT5hc3NpZ24oJ2FwaV9zZWNyZXQnLCAkYXBpX3NlY3JldCk7CiR0cGwtPmFzc2lnbignc2VydmljZV9zaWQnLCAkc2VydmljZV9zaWQpOwokdHBsLT5hc3NpZ24oJ3Byb2R1Y3RfdXJsJywgVHdvRmFjdG9yOjpQUk9EVUNUX1VSTCk7CiR0cGwtPmRpc3BsYXkoKTsK]]></data>
	</file>
	<file>
		<filename>/function.admin_upgrade.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYigndXBncmFkZScpOwoKJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdhZG1pbl91cGdyYWRlLnRwbCcpKTsKJHRwbC0+YXNzaWduKCdwcm9kdWN0X3VybCcsIFR3b0ZhY3Rvcjo6UFJPRFVDVF9VUkwpOwokdHBsLT5kaXNwbGF5KCk7Cg==]]></data>
	</file>
	<file>
		<filename>/function.admin_verify_logs.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYigndmVyaWZ5X2xvZ3MnKTsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbihUd29GYWN0b3I6Ok1BTkFHRV9TTVNfUEVSTSkpIHJldHVybjsKCiRwcm9kdWN0X2tleSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0d29mYWN0b3Jfc21zX3Byb2R1Y3Rfa2V5JywgJycpOwokcGFnZSA9IGlzc2V0KCRwYXJhbXNbJ3BhZ2UnXSkgPyAoaW50KSRwYXJhbXNbJ3BhZ2UnXSA6IDE7CiRwZXJfcGFnZSA9IDI1OwoKJGxvZ3MgPSBbXTsKJGVycm9yID0gJyc7CiR0b3RhbF9sb2dzID0gMDsKJHRvdGFsX3BhZ2VzID0gMDsKCmlmICghZW1wdHkoJHByb2R1Y3Rfa2V5KSkgewogICAgJHJlc3VsdCA9IFR3b0ZhY3RvckFQSTo6Z2V0X3ZlcmlmaWNhdGlvbl9sb2dzKCRwcm9kdWN0X2tleSk7CgogICAgaWYgKCRyZXN1bHQgJiYgaXNzZXQoJHJlc3VsdFsnc3VjY2VzcyddKSAmJiAkcmVzdWx0WydzdWNjZXNzJ10gPT09IHRydWUpIHsKICAgICAgICAkYWxsX2xvZ3MgPSBpc3NldCgkcmVzdWx0Wydsb2dzJ10pID8gJHJlc3VsdFsnbG9ncyddIDogW107CiAgICAgICAgCiAgICAgICAgZm9yZWFjaCAoJGFsbF9sb2dzIGFzICYkbG9nKSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkbG9nWyd0aW1lc3RhbXAnXSkgJiYgJGxvZ1sndGltZXN0YW1wJ10gPiA5OTk5OTk5OTk5KSB7CiAgICAgICAgICAgICAgICAkbG9nWyd0aW1lc3RhbXAnXSA9IGZsb29yKCRsb2dbJ3RpbWVzdGFtcCddIC8gMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJHRvdGFsX2xvZ3MgPSBjb3VudCgkYWxsX2xvZ3MpOwogICAgICAgICR0b3RhbF9wYWdlcyA9IGNlaWwoJHRvdGFsX2xvZ3MgLyAkcGVyX3BhZ2UpOwogICAgICAgICRvZmZzZXQgPSAoJHBhZ2UgLSAxKSAqICRwZXJfcGFnZTsKICAgICAgICAkbG9ncyA9IGFycmF5X3NsaWNlKCRhbGxfbG9ncywgJG9mZnNldCwgJHBlcl9wYWdlKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJGVycm9yID0gaXNzZXQoJHJlc3VsdFsnZXJyb3InXSkgPyAkcmVzdWx0WydlcnJvciddIDogJ0ZhaWxlZCB0byBmZXRjaCBsb2dzJzsKICAgIH0KfQoKJHNtYXJ0eSA9ICR0aGlzLT5HZXRBY3Rpb25UZW1wbGF0ZU9iamVjdCgpOwokdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ2FkbWluX3ZlcmlmeV9sb2dzLnRwbCcpKTsKJHRwbC0+YXNzaWduKCdsb2dzJywgJGxvZ3MpOwokdHBsLT5hc3NpZ24oJ2Vycm9yJywgJGVycm9yKTsKJHRwbC0+YXNzaWduKCdwYWdlJywgJHBhZ2UpOwokdHBsLT5hc3NpZ24oJ3RvdGFsX3BhZ2VzJywgJHRvdGFsX3BhZ2VzKTsKJHRwbC0+YXNzaWduKCd0b3RhbF9sb2dzJywgJHRvdGFsX2xvZ3MpOwokdHBsLT5hc3NpZ24oJ2FjdGlvbmlkJywgJHRoaXMtPkdldEFjdGlvbklkKCkpOwokdHBsLT5kaXNwbGF5KCk7Cg==]]></data>
	</file>
	<file>
		<filename>/function.debug.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CgokbW9kX3RmID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUd29GYWN0b3InKTsKJG1vZF9wcm8gPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1R3b0ZhY3RvclBybycpOwovLyBUd29GYWN0b3JQcm8gaXMgYW4gb3B0aW9uYWwgcHJlbWl1bSBhZGQtb24sIG5ldmVyIGEgaGFyZCBkZXBlbmRlbmN5LgokaXNfcHJvX2luc3RhbGxlZCA9IGlzX29iamVjdCgkbW9kX3Bybyk7CiRpc19wcm9fYWN0aXZlID0gJGlzX3Byb19pbnN0YWxsZWQgJiYgKGJvb2wpJG1vZF9wcm8tPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3RvcnByb19lbmFibGVkJywgMCk7CgppZiAoaXNzZXQoJHBhcmFtc1snY2xlYXJfYWxsX3ByZWZzJ10pKSB7CiAgICAkYmFzaWNfcHJlZnMgPSBbCiAgICAgICAgJ3R3b2ZhY3Rvcl9zbXNfcHJvZHVjdF9rZXknLAogICAgICAgICd0d29mYWN0b3Jfc21zY3JlZGl0X2VuYWJsZWQnLAogICAgICAgICd0d29mYWN0b3Jfc21zX2F2YWlsYWJsZScsCiAgICAgICAgJ3R3b2ZhY3Rvcl90d2lsaW9fYXBpX2tleScsCiAgICAgICAgJ3R3b2ZhY3Rvcl90d2lsaW9fYXBpX3NlY3JldCcsCiAgICAgICAgJ3R3b2ZhY3Rvcl90d2lsaW9fc2VydmljZV9zaWQnLAogICAgICAgICd0d29mYWN0b3JfdHdpbGlvX2VuYWJsZWQnCiAgICBdOwogICAgCiAgICAkcHJvX3ByZWZzID0gWwogICAgICAgICd0d29mYWN0b3Jwcm9fbGljZW5zZV9rZXknLAogICAgICAgICd0d29mYWN0b3Jwcm9fZW5hYmxlZCcsCiAgICAgICAgJ3R3b2ZhY3RvcnByb19saWNlbnNlX3ZlcmlmaWVkJywKICAgICAgICAndHdvZmFjdG9ycHJvX2VuZm9yY2VfYWxsJywKICAgICAgICAndHdvZmFjdG9ycHJvX3JhdGVfbGltaXRpbmdfZW5hYmxlZCcsCiAgICAgICAgJ3R3b2ZhY3RvcnByb19tYXhfYXR0ZW1wdHNfbG9ja291dCcsCiAgICAgICAgJ3R3b2ZhY3RvcnByb19tYXhfYXR0ZW1wdHNfcmVzZXQnLAogICAgICAgICd0d29mYWN0b3Jwcm9fbm90aWZ5X2FkbWluJywKICAgICAgICAndHdvZmFjdG9ycHJvX2lwX2JsYWNrbGlzdCcsCiAgICAgICAgJ3R3b2ZhY3RvcnByb19yZXNldF9lbWFpbF9zdWJqZWN0JywKICAgICAgICAndHdvZmFjdG9ycHJvX3Jlc2V0X2VtYWlsX2JvZHknLAogICAgICAgICd0d29mYWN0b3Jwcm9fYWxlcnRfZW1haWxfc3ViamVjdCcsCiAgICAgICAgJ3R3b2ZhY3RvcnByb19hbGVydF9lbWFpbF9ib2R5JwogICAgXTsKICAgIAogICAgZm9yZWFjaCAoJGJhc2ljX3ByZWZzIGFzICRwcmVmKSB7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJHByZWYpOwogICAgfQogICAgaWYgKCRtb2RfcHJvKSB7CiAgICAgICAgZm9yZWFjaCAoJHByb19wcmVmcyBhcyAkcHJlZikgewogICAgICAgICAgICAkbW9kX3Byby0+UmVtb3ZlUHJlZmVyZW5jZSgkcHJlZik7CiAgICAgICAgfQogICAgfQogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ3ByZWZlcmVuY2VzX2NsZWFyZWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdkZWJ1ZycpOwogICAgcmV0dXJuOwp9CgokYmFzaWNfcHJlZnMgPSBbCiAgICAndHdvZmFjdG9yX3Ntc19wcm9kdWN0X2tleScsCiAgICAndHdvZmFjdG9yX3Ntc2NyZWRpdF9lbmFibGVkJywKICAgICd0d29mYWN0b3Jfc21zX2F2YWlsYWJsZScsCiAgICAndHdvZmFjdG9yX3R3aWxpb19hcGlfa2V5JywKICAgICd0d29mYWN0b3JfdHdpbGlvX2FwaV9zZWNyZXQnLAogICAgJ3R3b2ZhY3Rvcl90d2lsaW9fc2VydmljZV9zaWQnLAogICAgJ3R3b2ZhY3Rvcl90d2lsaW9fZW5hYmxlZCcKXTsKCiRwcm9fcHJlZnMgPSBbCiAgICAndHdvZmFjdG9ycHJvX2xpY2Vuc2Vfa2V5JywKICAgICd0d29mYWN0b3Jwcm9fZW5hYmxlZCcsCiAgICAndHdvZmFjdG9ycHJvX2xpY2Vuc2VfdmVyaWZpZWQnLAogICAgJ3R3b2ZhY3RvcnByb19lbmZvcmNlX2FsbCcsCiAgICAndHdvZmFjdG9ycHJvX3JhdGVfbGltaXRpbmdfZW5hYmxlZCcsCiAgICAndHdvZmFjdG9ycHJvX21heF9hdHRlbXB0c19sb2Nrb3V0JywKICAgICd0d29mYWN0b3Jwcm9fbWF4X2F0dGVtcHRzX3Jlc2V0JywKICAgICd0d29mYWN0b3Jwcm9fbm90aWZ5X2FkbWluJywKICAgICd0d29mYWN0b3Jwcm9faXBfYmxhY2tsaXN0JywKICAgICd0d29mYWN0b3Jwcm9fcmVzZXRfZW1haWxfc3ViamVjdCcsCiAgICAndHdvZmFjdG9ycHJvX3Jlc2V0X2VtYWlsX2JvZHknLAogICAgJ3R3b2ZhY3RvcnByb19hbGVydF9lbWFpbF9zdWJqZWN0JywKICAgICd0d29mYWN0b3Jwcm9fYWxlcnRfZW1haWxfYm9keScKXTsKCiRiYXNpY19wcmVmc19kYXRhID0gW107CmZvcmVhY2ggKCRiYXNpY19wcmVmcyBhcyAkcHJlZikgewogICAgJHZhbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCRwcmVmLCAnJyk7CiAgICBpZiAoc3RycG9zKCRwcmVmLCAnc2VjcmV0JykgIT09IGZhbHNlIHx8IHN0cnBvcygkcHJlZiwgJ2tleScpICE9PSBmYWxzZSkgewogICAgICAgICR2YWwgPSAkdmFsID8gJyoqKicgOiAnJzsKICAgIH0KICAgICRiYXNpY19wcmVmc19kYXRhW10gPSBbJ25hbWUnID0+ICRwcmVmLCAndmFsdWUnID0+ICR2YWxdOwp9CgokcHJvX3ByZWZzX2RhdGEgPSBbXTsKaWYgKCRtb2RfcHJvKSB7CiAgICBmb3JlYWNoICgkcHJvX3ByZWZzIGFzICRwcmVmKSB7CiAgICAgICAgJHZhbCA9ICRtb2RfcHJvLT5HZXRQcmVmZXJlbmNlKCRwcmVmLCAnJyk7CiAgICAgICAgaWYgKHN0cnBvcygkcHJlZiwgJ3NlY3JldCcpICE9PSBmYWxzZSB8fCBzdHJwb3MoJHByZWYsICdrZXknKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgJHZhbCA9ICR2YWwgPyAnKioqJyA6ICcnOwogICAgICAgIH0KICAgICAgICAkcHJvX3ByZWZzX2RhdGFbXSA9IFsnbmFtZScgPT4gJHByZWYsICd2YWx1ZScgPT4gJHZhbF07CiAgICB9Cn0KCiRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdhZG1pbl9kZWJ1Zy50cGwnKSwgbnVsbCwgbnVsbCwgJHNtYXJ0eSk7CiR0cGwtPmFzc2lnbignaXNfcHJvX2luc3RhbGxlZCcsICRpc19wcm9faW5zdGFsbGVkKTsKJHRwbC0+YXNzaWduKCdpc19wcm9fYWN0aXZlJywgJGlzX3Byb19hY3RpdmUpOwokdHBsLT5hc3NpZ24oJ21vZF9wcm8nLCAkbW9kX3Bybyk7CiR0cGwtPmFzc2lnbignYmFzaWNfcHJlZnMnLCAkYmFzaWNfcHJlZnNfZGF0YSk7CiR0cGwtPmFzc2lnbigncHJvX3ByZWZzJywgJHByb19wcmVmc19kYXRhKTsKJHRwbC0+YXNzaWduKCdjbGVhcl91cmwnLCAkdGhpcy0+Y3JlYXRlX3VybCgnbTFfJywgJ2RlZmF1bHRhZG1pbicsICcnLCBbJ2NsZWFyX2FsbF9wcmVmcycgPT4gJzEnXSkpOwokdHBsLT5kaXNwbGF5KCk7Cg==]]></data>
	</file>
	<file>
		<filename>/function.user_methods.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CgokdWlkID0gZ2V0X3VzZXJpZChmYWxzZSk7CgovLyBIYW5kbGUgc2V0IHByaW1hcnkKaWYgKGlzc2V0KCRwYXJhbXNbJ3NldF9wcmltYXJ5J10pKSB7CiAgICAkcHJpbWFyeV92YWx1ZSA9ICRwYXJhbXNbJ3NldF9wcmltYXJ5J107CiAgICBpZiAoIWVtcHR5KCRwcmltYXJ5X3ZhbHVlKSkgewogICAgICAgIFR3b0ZhY3RvckNvcmU6OnNldF9wcmltYXJ5X3Byb3ZpZGVyKCR1aWQsICRwcmltYXJ5X3ZhbHVlKTsKICAgICAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygncHJpbWFyeV91cGRhdGVkJykpOwogICAgfQogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignbWV0aG9kcycsICcnLCAndXNlcl9wcmVmcycpOwogICAgcmV0dXJuOwp9CgokcHJvdmlkZXJzID0gVHdvRmFjdG9yQ29yZTo6Z2V0X3Byb3ZpZGVycygpOwokZW5hYmxlZF9wcm92aWRlcnMgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0X2VuYWJsZWRfcHJvdmlkZXJzKCR1aWQpOwokcHJpbWFyeV9wcm92aWRlciA9IFR3b0ZhY3RvclVzZXJNZXRhOjpnZXRfcHJpbWFyeV9wcm92aWRlcigkdWlkKTsKJGlzXzJmYV9hY3RpdmUgPSAhZW1wdHkoJGVuYWJsZWRfcHJvdmlkZXJzKSAmJiAkcHJpbWFyeV9wcm92aWRlciAmJiAkcHJpbWFyeV9wcm92aWRlciAhPSAnZGlzYWJsZWQnOwokc21zY3JlZGl0X2VuYWJsZWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc2NyZWRpdF9lbmFibGVkJywgJzAnKTsKJHNtc19hdmFpbGFibGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc19hdmFpbGFibGUnLCBmYWxzZSk7CiRzbXNfYWN0aW9uID0gKCRzbXNjcmVkaXRfZW5hYmxlZCA9PSAnMScpID8gJ3NldHVwX3Ntc19jcmVkaXRfZW5hYmxlZCcgOiAnc2V0dXBfc21zJzsKCi8vIEJ1aWxkIHByaW1hcnkgbWV0aG9kIG9wdGlvbnMKJHByaW1hcnlfb3B0aW9ucyA9IFsKICAgIFsnbGFiZWwnID0+ICR0aGlzLT5MYW5nKCdkaXNhYmxlZCcpLCAndmFsdWUnID0+ICdkaXNhYmxlZCddCl07CmZvcmVhY2ggKCRwcm92aWRlcnMgYXMgJGtleSA9PiAkcHJvdmlkZXIpIHsKICAgIGlmIChpbl9hcnJheSgka2V5LCAkZW5hYmxlZF9wcm92aWRlcnMpICYmICRrZXkgIT0gJ1R3b0ZhY3RvclByb3ZpZGVyQmFja3VwQ29kZXMnKSB7CiAgICAgICAgaWYgKCRrZXkgPT0gJ1R3b0ZhY3RvclByb3ZpZGVyU01TJyAmJiAhJHNtc19hdmFpbGFibGUpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgICRwcmltYXJ5X29wdGlvbnNbXSA9IFsnbGFiZWwnID0+ICRwcm92aWRlci0+Z2V0X2xhYmVsKCksICd2YWx1ZScgPT4gJGtleV07CiAgICB9Cn0KCiRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCd1c2VyX21ldGhvZHMudHBsJyksIG51bGwsIG51bGwsICRzbWFydHkpOwokdHBsLT5hc3NpZ24oJ3Byb3ZpZGVycycsICRwcm92aWRlcnMpOwokdHBsLT5hc3NpZ24oJ2VuYWJsZWRfcHJvdmlkZXJzJywgJGVuYWJsZWRfcHJvdmlkZXJzKTsKJHRwbC0+YXNzaWduKCdwcmltYXJ5X3Byb3ZpZGVyJywgJHByaW1hcnlfcHJvdmlkZXIpOwokdHBsLT5hc3NpZ24oJ3ByaW1hcnlfb3B0aW9ucycsICRwcmltYXJ5X29wdGlvbnMpOwokdHBsLT5hc3NpZ24oJ2lzXzJmYV9hY3RpdmUnLCAkaXNfMmZhX2FjdGl2ZSk7CiR0cGwtPmFzc2lnbigndXNlcl9pZCcsICR1aWQpOwokdHBsLT5hc3NpZ24oJ2FjdGlvbmlkJywgJGlkKTsKJHRwbC0+YXNzaWduKCdzbXNjcmVkaXRfZW5hYmxlZCcsICRzbXNjcmVkaXRfZW5hYmxlZCk7CiR0cGwtPmFzc2lnbignc21zX2F2YWlsYWJsZScsICRzbXNfYXZhaWxhYmxlKTsKJHRwbC0+YXNzaWduKCdzbXNfYWN0aW9uJywgJHNtc19hY3Rpb24pOwokdHBsLT5hc3NpZ24oJ3Bhc3NrZXlfc3VwcG9ydGVkJywgVHdvRmFjdG9yUHJvdmlkZXJQYXNza2V5Ojppc193ZWJhdXRobl9zdXBwb3J0ZWQoKSk7CiR0cGwtPmFzc2lnbignaXNfcHJvJywgVHdvRmFjdG9yOjpJc1Byb0FjdGl2ZSgpKTsKJHRwbC0+YXNzaWduKCdtb2QnLCAkdGhpcyk7CiR0cGwtPmRpc3BsYXkoKTsK]]></data>
	</file>
	<file>
		<filename>/lang</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/lang/en_US.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVHdvIEZhY3Rvcic7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnU2VjdXJlIENNUyBNYWRlIFNpbXBsZSBsb2dpbiB3aXRoIFR3byBGYWN0b3IgQXV0aGVudGljYXRpb24gKDJGQSkgLSBieSBQaXhlbCBTb2x1dGlvbnMnOwokbGFuZ1sncGFyYW1fdXNlciddID0gJ1VzZXIgcGFyYW1ldGVyIGZvciBmcm9udGVuZCBpbnRlZ3JhdGlvbic7CiRsYW5nWydhc2tfdW5pbnN0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGUgVHdvIEZhY3RvciBtb2R1bGU/IEFsbCBzZXR0aW5ncyB3aWxsIGJlIGxvc3QuJzsKCiRsYW5nWyd0d2lsaW9fc2V0dGluZ3MnXSA9ICdUd29GYWN0b3IgLSBUd2lsaW8gU2V0dGluZ3MnOwokbGFuZ1sndHdvX2ZhY3Rvcl9zZXR0aW5ncyddID0gJ1R3by1GYWN0b3IgQXV0aGVudGljYXRpb24gU2V0dGluZ3MnOwokbGFuZ1sndHdvX2ZhY3Rvcl9hY3RpdmUnXSA9ICdUd28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uIGlzIGFjdGl2ZSBvbiB5b3VyIGFjY291bnQuJzsKJGxhbmdbJ3R3b19mYWN0b3JfaW5hY3RpdmUnXSA9ICdUd28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uIGlzIGN1cnJlbnRseSBkaXNhYmxlZC4gU2VsZWN0IGEgcHJpbWFyeSBtZXRob2QgYmVsb3cgdG8gYWN0aXZhdGUgaXQuJzsKJGxhbmdbJ2VuYWJsZWRfbWV0aG9kcyddID0gJ0VuYWJsZWQgTWV0aG9kcyc7CiRsYW5nWydhdmFpbGFibGVfbWV0aG9kcyddID0gJ0F2YWlsYWJsZSBBdXRoZW50aWNhdGlvbiBNZXRob2RzJzsKJGxhbmdbJ25vX21ldGhvZHNfZW5hYmxlZCddID0gJ05vIHR3by1mYWN0b3IgbWV0aG9kcyBhcmUgZW5hYmxlZCB5ZXQuIENob29zZSBhIG1ldGhvZCBiZWxvdyB0byBnZXQgc3RhcnRlZC4nOwokbGFuZ1sncHJpbWFyeSddID0gJ1ByaW1hcnknOwokbGFuZ1sncHJpbWFyeV9tZXRob2QnXSA9ICdQcmltYXJ5IE1ldGhvZCc7CiRsYW5nWydwcmltYXJ5X21ldGhvZF9pbmZvJ10gPSAnU2VsZWN0IHRoZSBwcmltYXJ5IG1ldGhvZCB0byB1c2UgZm9yIHR3by1mYWN0b3IgYXV0aGVudGljYXRpb24gd2hlbiBzaWduaW5nIGludG8gdGhpcyBzaXRlJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1VwZGF0ZSc7CiRsYW5nWydwcmltYXJ5X3VwZGF0ZWQnXSA9ICdQcmltYXJ5IGF1dGhlbnRpY2F0aW9uIG1ldGhvZCB1cGRhdGVkLic7CiRsYW5nWydtZXRob2QnXSA9ICdNZXRob2QnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2FjdGlvbiddID0gJ0FjdGlvbic7CiRsYW5nWydlbmFibGVkJ10gPSAnRW5hYmxlZCc7CiRsYW5nWydkaXNhYmxlZCddID0gJ0Rpc2FibGVkJzsKJGxhbmdbJ3ZlcmlmaWVkJ10gPSAnVmVyaWZpZWQnOwokbGFuZ1snY29uZmlndXJlJ10gPSAnQ29uZmlndXJlJzsKJGxhbmdbJ3RhYl9zZXR0aW5ncyddID0gJ1NldHRpbmdzJzsKJGxhbmdbJ3RhYl9wcmVtaXVtJ10gPSAnUHJlbWl1bSc7CiRsYW5nWyd0YWJfc21zY3JlZGl0J10gPSAnU01TIFNldHRpbmdzJzsKJGxhbmdbJ3NldHRpbmdzX2luZm8nXSA9ICdHZW5lcmFsIG1vZHVsZSBzZXR0aW5ncy4nOwokbGFuZ1sncHJlbWl1bV9pbmZvJ10gPSAnUHJlbWl1bSBmZWF0dXJlcyBjb21pbmcgc29vbi4nOwokbGFuZ1snc21zY3JlZGl0X2luZm8nXSA9ICdTTVMgY3JlZGl0IG1hbmFnZW1lbnQgY29taW5nIHNvb24uJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3NhdmVkJ10gPSAnU01TIGNyZWRpdHMgbGljZW5zZSBzYXZlZCBhbmQgdmFsaWRhdGVkIHN1Y2Nlc3NmdWxseS4nOwokbGFuZ1snZXJyb3JfZW1wdHlfbGljZW5zZSddID0gJ0xpY2Vuc2Uga2V5IGNhbm5vdCBiZSBlbXB0eS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZF9saWNlbnNlJ10gPSAnSW52YWxpZCBsaWNlbnNlIGtleSBvciB2YWxpZGF0aW9uIGZhaWxlZC4nOwokbGFuZ1snZXJyb3JfdHdpbGlvX2ZpZWxkc19yZXF1aXJlZCddID0gJ0FsbCBUd2lsaW8gZmllbGRzIGFyZSByZXF1aXJlZC4nOwokbGFuZ1snZXJyb3JfdHdpbGlvX2ludmFsaWRfY3JlZGVudGlhbHMnXSA9ICdJbnZhbGlkIFR3aWxpbyBjcmVkZW50aWFscy4gUGxlYXNlIGNoZWNrIHlvdXIgQVBJIEtleSwgU2VjcmV0LCBhbmQgU2VydmljZSBTSUQuJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3JlbW92ZWQnXSA9ICdTTVMgY3JlZGl0cyBsaWNlbnNlIHJlbW92ZWQgc3VjY2Vzc2Z1bGx5Lic7CiRsYW5nWydyZW1vdmVfbGljZW5zZSddID0gJ0Rpc2FibGUgTGljZW5zZSc7CiRsYW5nWydjb25maXJtX3JlbW92ZV9saWNlbnNlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgU01TIGNyZWRpdHMgbGljZW5zZT8nOwokbGFuZ1snbGljZW5zZV9yZW1vdmVkJ10gPSAnTGljZW5zZSByZW1vdmVkIHN1Y2Nlc3NmdWxseS4nOwokbGFuZ1snbGljZW5zZV92YWxpZCddID0gJ0xpY2Vuc2UgaXMgdmFsaWQgYW5kIGFjdGl2ZS4nOwokbGFuZ1snc21zX2NyZWRpdHNfYWN0aXZlJ10gPSAnQ3JlZGl0cyByZW1haW5pbmc6ICVzJzsKJGxhbmdbJ3R5cGVfVHdvRmFjdG9yJ10gPSAnVHdvRmFjdG9yJzsKJGxhbmdbJ3R5cGVfZW1haWxfdmVyaWZpY2F0aW9uJ10gPSAnRW1haWwgVmVyaWZpY2F0aW9uJzsKJGxhbmdbJ3Byb3ZpZGVyX3RvdHAnXSA9ICdBdXRoZW50aWNhdG9yIEFwcCAoVE9UUCknOwokbGFuZ1sndG90cF9kZXNjcmlwdGlvbiddID0gJ1VzZSBHb29nbGUgQXV0aGVudGljYXRvciwgQXV0aHksIG9yIHNpbWlsYXIgYXBwcyc7CiRsYW5nWydlbWFpbF9kZXNjcmlwdGlvbiddID0gJ1JlY2VpdmUgdmVyaWZpY2F0aW9uIGNvZGVzIHZpYSBlbWFpbCc7CiRsYW5nWydiYWNrdXBfY29kZXNfZGVzY3JpcHRpb24nXSA9ICdPbmUtdGltZSBiYWNrdXAgY29kZXMgZm9yIGVtZXJnZW5jeSBhY2Nlc3MnOwoKJGxhbmdbJ3Byb3ZpZGVyX3NtcyddID0gJ1NNUyBWZXJpZmljYXRpb24nOwokbGFuZ1snc21zX2Rlc2NyaXB0aW9uJ10gPSAnUmVjZWl2ZSB2ZXJpZmljYXRpb24gY29kZXMgdmlhIHRleHQgbWVzc2FnZSc7CiRsYW5nWydzZXR1cF9zbXMnXSA9ICdTZXR1cCBTTVMgVmVyaWZpY2F0aW9uJzsKJGxhbmdbJ3R3aWxpb19zZXR0aW5ncyddID0gJ1R3aWxpbyBBUEkgU2V0dGluZ3MnOwokbGFuZ1sndHdpbGlvX2FwaV9rZXlfc2lkJ10gPSAnVHdpbGlvIEFQSSBLZXkgU0lEJzsKJGxhbmdbJ3R3aWxpb19hcGlfc2VjcmV0J10gPSAnVHdpbGlvIEFQSSBTZWNyZXQnOwokbGFuZ1sndHdpbGlvX3NlcnZpY2Vfc2lkJ10gPSAnVHdpbGlvIFZlcmlmeSBTZXJ2aWNlIFNJRCc7CiRsYW5nWyd0d2lsaW9fc2VydmljZV9zaWRfaGVscCddID0gJ0NyZWF0ZSBhIFZlcmlmeSBTZXJ2aWNlIGluIHlvdXIgVHdpbGlvIENvbnNvbGUgYW5kIGVudGVyIHRoZSBTZXJ2aWNlIFNJRCBoZXJlJzsKJGxhbmdbJ3NhdmVfc2V0dGluZ3MnXSA9ICdTYXZlIFNldHRpbmdzJzsKJGxhbmdbJ3R3aWxpb19zZXR0aW5nc19zYXZlZCddID0gJ1R3aWxpbyBzZXR0aW5ncyBoYXZlIGJlZW4gc2F2ZWQuJzsKJGxhbmdbJ3Rlc3RfY29uZmlndXJhdGlvbiddID0gJ1Rlc3QgQ29uZmlndXJhdGlvbic7CiRsYW5nWyd0ZXN0X2NvbmZpZ3VyYXRpb25faW5mbyddID0gJ1VzZSBUd2lsaW8gTWFnaWMgTnVtYmVycyB0byB0ZXN0IHdpdGggdGVzdCBjcmVkZW50aWFscy4gVGhlIHRlc3QgdXNlcyBQcm9ncmFtbWFibGUgU01TIEFQSSAobm90IFZlcmlmeSBBUEkpLic7CiRsYW5nWyd0ZXN0X3Bob25lX251bWJlciddID0gJ1Rlc3QgUGhvbmUgTnVtYmVyJzsKJGxhbmdbJ21hZ2ljX251bWJlcl9oZWxwJ10gPSAnVXNlICsxNTAwNTU1MDAwNiAoc3VjY2Vzcykgb3IgKzE1MDA1NTUwMDAxIChpbnZhbGlkIG51bWJlcikgdG8gdGVzdCc7CiRsYW5nWydzZW5kX3Rlc3Rfc21zJ10gPSAnU2VuZCBUZXN0IFNNUyc7CiRsYW5nWyd0ZXN0X3Ntc19zZW50J10gPSAnVGVzdCBTTVMgc2VudCBzdWNjZXNzZnVsbHkhIE5vdGU6IFRoaXMgdXNlcyBQcm9ncmFtbWFibGUgU01TIEFQSSBmb3IgdGVzdGluZy4nOwokbGFuZ1sndGVzdF9zbXNfZmFpbGVkJ10gPSAnVGVzdCBTTVMgZmFpbGVkOiAlcyc7CiRsYW5nWyd0d2lsaW9fbm90X2NvbmZpZ3VyZWQnXSA9ICdQbGVhc2UgY29uZmlndXJlIFR3aWxpbyBBY2NvdW50IFNJRCBhbmQgQXV0aCBUb2tlbiBmaXJzdC4nOwokbGFuZ1snY29uZmlndXJlX3R3aWxpbyddID0gJ0NvbmZpZ3VyZSBUd2lsaW8gU2V0dGluZ3MnOwokbGFuZ1snc21zX3VzZXJfc2V0dGluZ3MnXSA9ICdZb3VyIFNNUyBTZXR0aW5ncyc7CiRsYW5nWydwaG9uZV9udW1iZXInXSA9ICdQaG9uZSBOdW1iZXInOwokbGFuZ1sncGhvbmVfZm9ybWF0X2hlbHAnXSA9ICdFbnRlciBpbiBFLjE2NCBmb3JtYXQgKGUuZy4sICsxMjM0NTY3ODkwKSc7CiRsYW5nWydzbXNfc2V0dXBfaW5mbyddID0gJ0VudGVyIHlvdXIgcGhvbmUgbnVtYmVyIHRvIHJlY2VpdmUgdmVyaWZpY2F0aW9uIGNvZGVzIHZpYSBTTVMuJzsKJGxhbmdbJ3ZlcmlmaWNhdGlvbl9zZW50J10gPSAnVmVyaWZpY2F0aW9uIGNvZGUgc2VudCEgQ2hlY2sgeW91ciBwaG9uZS4nOwokbGFuZ1sndmVyaWZpY2F0aW9uX2ZhaWxlZCddID0gJ0ZhaWxlZCB0byBzZW5kIHZlcmlmaWNhdGlvbjogJXMnOwokbGFuZ1sndmVyaWZpY2F0aW9uX2NvZGVfc2VudCddID0gJ0EgdmVyaWZpY2F0aW9uIGNvZGUgaGFzIGJlZW4gc2VudCB0byAlcyc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZSddID0gJ1ZlcmlmaWNhdGlvbiBDb2RlJzsKJGxhbmdbJ3ZlcmlmeV9waG9uZSddID0gJ1ZlcmlmeSBQaG9uZSBOdW1iZXInOwokbGFuZ1sncmVzZW5kX2NvZGUnXSA9ICdSZXNlbmQgQ29kZSc7CiRsYW5nWydjaGFuZ2VfcGhvbmUnXSA9ICdDaGFuZ2UgUGhvbmUgTnVtYmVyJzsKJGxhbmdbJ3NlbmRfdmVyaWZpY2F0aW9uX2NvZGUnXSA9ICdTZW5kIFZlcmlmaWNhdGlvbiBDb2RlJzsKJGxhbmdbJ3Ntc19lbmFibGVkJ10gPSAnU01TIHZlcmlmaWNhdGlvbiBoYXMgYmVlbiBlbmFibGVkISc7CiRsYW5nWydzbXNfZGlzYWJsZWQnXSA9ICdTTVMgdmVyaWZpY2F0aW9uIGhhcyBiZWVuIGRpc2FibGVkLic7CiRsYW5nWydzbXNfZW5hYmxlZF9pbmZvJ10gPSAnU01TIHZlcmlmaWNhdGlvbiBpcyBlbmFibGVkIGZvcjogJXMnOwokbGFuZ1snZW5hYmxlX3NtcyddID0gJ0VuYWJsZSBTTVMgVmVyaWZpY2F0aW9uJzsKJGxhbmdbJ2Rpc2FibGVfc21zJ10gPSAnRGlzYWJsZSBTTVMgVmVyaWZpY2F0aW9uJzsKJGxhbmdbJ3Ntc19ib2R5J10gPSAnWW91ciB2ZXJpZmljYXRpb24gY29kZSBpczogJXMnOwoKJGxhbmdbJ3NldHVwX3RvdHAnXSA9ICdTZXR1cCBBdXRoZW50aWNhdG9yIEFwcCAoVE9UUCknOwokbGFuZ1snc2Nhbl9xciddID0gJ1NjYW4gdGhpcyBRUiBjb2RlIHdpdGggeW91ciBhdXRoZW50aWNhdG9yIGFwcCAoR29vZ2xlIEF1dGhlbnRpY2F0b3IsIEF1dGh5LCBldGMuKSc7CiRsYW5nWydtYW51YWxfZW50cnknXSA9ICdPciBlbnRlciB0aGlzIGtleSBtYW51YWxseSc7CiRsYW5nWydlbnRlcl9jb2RlX3ZlcmlmeSddID0gJ0VudGVyIHRoZSA2LWRpZ2l0IGNvZGUgZnJvbSB5b3VyIGFwcCB0byB2ZXJpZnknOwokbGFuZ1sndmVyaWZ5J10gPSAnVmVyaWZ5JzsKJGxhbmdbJ3RvdHBfZW5hYmxlZCddID0gJ0F1dGhlbnRpY2F0b3IgYXBwIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBlbmFibGVkISc7CiRsYW5nWyd0b3RwX2NvbmZpZ3VyZWQnXSA9ICdBdXRoZW50aWNhdG9yIGFwcCBpcyBjb25maWd1cmVkIGFuZCBhY3RpdmUuJzsKJGxhbmdbJ3RvdHBfcmVzZXRfd2FybmluZyddID0gJ0lmIHlvdSByZXNldCwgeW91IHdpbGwgbmVlZCB0byByZS1zY2FuIHRoZSBRUiBjb2RlIG9uIGFsbCB5b3VyIGRldmljZXMuJzsKJGxhbmdbJ3Jlc2V0X3RvdHAnXSA9ICdSZXNldCBBdXRoZW50aWNhdG9yIEFwcCc7CiRsYW5nWydjb25maXJtX3Jlc2V0J10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0PyBZb3Ugd2lsbCBuZWVkIHRvIHJlY29uZmlndXJlIGFsbCBkZXZpY2VzLic7CiRsYW5nWyd0b3RwX3Jlc2V0J10gPSAnQXV0aGVudGljYXRvciBhcHAgaGFzIGJlZW4gcmVzZXQuJzsKJGxhbmdbJ2JhY2snXSA9ICdCYWNrJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CgokbGFuZ1sndHdvX2ZhY3Rvcl9yZXF1aXJlZCddID0gJ1R3by1GYWN0b3IgQXV0aGVudGljYXRpb24gUmVxdWlyZWQnOwokbGFuZ1snZW50ZXJfY29kZV9mcm9tX2FwcCddID0gJ0VudGVyIHRoZSA2LWRpZ2l0IGNvZGUgZnJvbSB5b3VyIGF1dGhlbnRpY2F0b3IgYXBwJzsKJGxhbmdbJ2F1dGhlbnRpY2F0aW9uX2NvZGUnXSA9ICdBdXRoZW50aWNhdGlvbiBDb2RlJzsKJGxhbmdbJ2VudGVyX2F1dGhlbnRpY2F0b3JfY29kZSddID0gJ0VudGVyIHRoZSBjb2RlIGZyb20geW91ciBhdXRoZW50aWNhdG9yIGFwcDonOwokbGFuZ1snaW52YWxpZF9jb2RlJ10gPSAnSW52YWxpZCBjb2RlLiBQbGVhc2UgdHJ5IGFnYWluLic7CiRsYW5nWydjb2RlX3Jlc2VudCddID0gJ0EgbmV3IHZlcmlmaWNhdGlvbiBjb2RlIGhhcyBiZWVuIHNlbnQuJzsKJGxhbmdbJ2NvZGVfc2VuZF9mYWlsZWQnXSA9ICdXZSBjb3VsZCBub3Qgc2VuZCB5b3VyIHZlcmlmaWNhdGlvbiBjb2RlIHJpZ2h0IG5vdy4gUGxlYXNlIHRyeSBhbm90aGVyIG1ldGhvZCBvciBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nOwokbGFuZ1sndmVyaWZ5J10gPSAnVmVyaWZ5JzsKCiRsYW5nWydwcm92aWRlcl9lbWFpbCddID0gJ0VtYWlsIFZlcmlmaWNhdGlvbic7CiRsYW5nWydlbWFpbF9zdWJqZWN0J10gPSAnWW91ciB2ZXJpZmljYXRpb24gY29kZSc7CiRsYW5nWydlbWFpbF9ib2R5J10gPSAnWW91ciB2ZXJpZmljYXRpb24gY29kZSBpczogJXNcblxuVGhpcyBjb2RlIHdpbGwgZXhwaXJlIGluIDEwIG1pbnV0ZXMuJzsKJGxhbmdbJ2VtYWlsX25vX2FkZHJlc3MnXSA9ICdObyBlbWFpbCBhZGRyZXNzIGNvbmZpZ3VyZWQgZm9yIHlvdXIgYWNjb3VudC4nOwokbGFuZ1snZW1haWxfc2V0dXBfaW5mbyddID0gJ1ZlcmlmaWNhdGlvbiBjb2RlcyB3aWxsIGJlIHNlbnQgdG86ICVzJzsKJGxhbmdbJ3NldHVwX2VtYWlsJ10gPSAnU2V0dXAgRW1haWwgVmVyaWZpY2F0aW9uJzsKJGxhbmdbJ2VtYWlsX2VuYWJsZWQnXSA9ICdFbWFpbCB2ZXJpZmljYXRpb24gaGFzIGJlZW4gZW5hYmxlZCEnOwokbGFuZ1snZW1haWxfZGlzYWJsZWQnXSA9ICdFbWFpbCB2ZXJpZmljYXRpb24gaGFzIGJlZW4gZGlzYWJsZWQuJzsKJGxhbmdbJ2VtYWlsX2VuYWJsZWRfc3RhdHVzJ10gPSAnRW1haWwgdmVyaWZpY2F0aW9uIGlzIGVuYWJsZWQgYW5kIGFjdGl2ZS4nOwokbGFuZ1snZW5hYmxlX2VtYWlsJ10gPSAnRW5hYmxlIEVtYWlsIFZlcmlmaWNhdGlvbic7CiRsYW5nWydkaXNhYmxlX2VtYWlsJ10gPSAnRGlzYWJsZSBFbWFpbCBWZXJpZmljYXRpb24nOwoKJGxhbmdbJ3Byb3ZpZGVyX2JhY2t1cF9jb2RlcyddID0gJ0JhY2t1cCBDb2Rlcyc7CiRsYW5nWydzZXR1cF9iYWNrdXBfY29kZXMnXSA9ICdTZXR1cCBCYWNrdXAgQ29kZXMnOwokbGFuZ1snYmFja3VwX2NvZGVzX3dhcm5pbmcnXSA9ICdTYXZlIHRoZXNlIGNvZGVzIGluIGEgc2FmZSBwbGFjZSEnOwokbGFuZ1snYmFja3VwX2NvZGVzX2luZm8nXSA9ICdFYWNoIGNvZGUgY2FuIG9ubHkgYmUgdXNlZCBvbmNlLiBVc2UgdGhlbSBpZiB5b3UgbG9zZSBhY2Nlc3MgdG8geW91ciBwcmltYXJ5IGF1dGhlbnRpY2F0aW9uIG1ldGhvZC4nOwokbGFuZ1snYmFja3VwX2NvZGVzX2VuYWJsZWRfaW5mbyddID0gJ0JhY2t1cCBjb2RlcyBhcmUgZW5hYmxlZC4gWW91IGNhbiB1c2UgdGhlbSBpZiB5b3UgbG9zZSBhY2Nlc3MgdG8geW91ciBvdGhlciBhdXRoZW50aWNhdGlvbiBtZXRob2RzLic7CiRsYW5nWydjb2Rlc19yZW1haW5pbmcnXSA9ICdDb2RlcyByZW1haW5pbmcnOwokbGFuZ1sncmVnZW5lcmF0ZV9jb2RlcyddID0gJ1JlZ2VuZXJhdGUgQ29kZXMnOwokbGFuZ1snY29uZmlybV9yZWdlbmVyYXRlJ10gPSAnVGhpcyB3aWxsIGludmFsaWRhdGUgYWxsIGV4aXN0aW5nIGNvZGVzLiBDb250aW51ZT8nOwokbGFuZ1snZGlzYWJsZV9iYWNrdXBfY29kZXMnXSA9ICdEaXNhYmxlIEJhY2t1cCBDb2Rlcyc7CiRsYW5nWydjb25maXJtX2Rpc2FibGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGlzYWJsZSBiYWNrdXAgY29kZXM/JzsKJGxhbmdbJ2JhY2t1cF9jb2Rlc19kaXNhYmxlZCddID0gJ0JhY2t1cCBjb2RlcyBoYXZlIGJlZW4gZGlzYWJsZWQuJzsKJGxhbmdbJ2JhY2t1cF9jb2Rlc19zZXR1cF9pbmZvJ10gPSAnR2VuZXJhdGUgYmFja3VwIGNvZGVzIHRvIHVzZSBhcyBhIGZhbGxiYWNrIGF1dGhlbnRpY2F0aW9uIG1ldGhvZC4nOwokbGFuZ1snZ2VuZXJhdGVfY29kZXMnXSA9ICdHZW5lcmF0ZSBCYWNrdXAgQ29kZXMnOwoKLy8gUHJlbWl1bSBUYWIKJGxhbmdbJ3ByZW1pdW1fdGl0bGUnXSA9ICdUd29GYWN0b3IgUHJvJzsKJGxhbmdbJ2FjdGl2YXRlX3lvdXJfbGljZW5zZSddID0gJ0FjdGl2YXRlIFlvdXIgTGljZW5zZSc7CiRsYW5nWydwcmVtaXVtX2Rlc2NyaXB0aW9uJ10gPSAnVW5sb2NrIGFkdmFuY2VkIHNlY3VyaXR5IGNvbnRyb2xzLCBlbmZvcmNlZCAyRkEgZm9yIGFsbCB1c2VycywgaW50ZWxsaWdlbnQgcmF0ZSBsaW1pdGluZywgdHJ1c3RlZCBkZXZpY2VzLCBhbmQgcHJpb3JpdHkgc3VwcG9ydCwgZ2l2aW5nIHlvdSBjb21wbGV0ZSBwcm90ZWN0aW9uIGFuZCBhZG1pbmlzdHJhdGl2ZSBvdmVyc2lnaHQgZm9yIHlvdXIgQ01TIE1hZGUgU2ltcGxlIHNpdGUuJzsKJGxhbmdbJ2xpY2Vuc2Vfa2V5J10gPSAnTGljZW5zZSBLZXknOwokbGFuZ1sndmVyaWZ5X2xpY2Vuc2UnXSA9ICdWYWxpZGF0ZSBMaWNlbnNlJzsKJGxhbmdbJ2xpY2Vuc2Vfa2V5X3JlcXVpcmVkJ10gPSAnUGxlYXNlIGVudGVyIGEgbGljZW5zZSBrZXkuJzsKJGxhbmdbJ2xpY2Vuc2VfYWN0aXZhdGVkJ10gPSAnTGljZW5zZSBhY3RpdmF0ZWQgc3VjY2Vzc2Z1bGx5ISBUd29GYWN0b3IgUHJvIGZlYXR1cmVzIGFyZSBub3cgZW5hYmxlZC4nOwokbGFuZ1snbGljZW5zZV9pbnZhbGlkJ10gPSAnSW52YWxpZCBsaWNlbnNlIGtleS4gUGxlYXNlIGNoZWNrIGFuZCB0cnkgYWdhaW4uJzsKJGxhbmdbJ2xpY2Vuc2VfdmVyaWZpY2F0aW9uX2ZhaWxlZCddID0gJ1VuYWJsZSB0byB2ZXJpZnkgbGljZW5zZS4gUGxlYXNlIGNoZWNrIHlvdXIgY29ubmVjdGlvbiBhbmQgdHJ5IGFnYWluLic7CiRsYW5nWydwcm9fYWN0aXZhdGVkJ10gPSAnVHdvRmFjdG9yIFBybyBBY3RpdmF0ZWQnOwokbGFuZ1sncHJvX2ZlYXR1cmVzX3VubG9ja2VkJ10gPSAnQWxsIHByZW1pdW0gZmVhdHVyZXMgYXJlIG5vdyB1bmxvY2tlZC4nOwokbGFuZ1sncHJvX2ZlYXR1cmVzX3RpdGxlJ10gPSAnUHJvIEZlYXR1cmVzJzsKJGxhbmdbJ3Byb19mZWF0dXJlX3JhdGVfbGltaXRpbmcnXSA9ICdSYXRlIExpbWl0aW5nICYgQnJ1dGUgRm9yY2UgUHJvdGVjdGlvbic7CiRsYW5nWydwcm9fZmVhdHVyZV9zZXNzaW9uX3JldmFsaWRhdGlvbiddID0gJ1Nlc3Npb24gUmV2YWxpZGF0aW9uIGZvciBTZWN1cml0eSBTZXR0aW5ncyc7CiRsYW5nWydwcm9fZmVhdHVyZV90cnVzdGVkX2RldmljZXMnXSA9ICdUcnVzdGVkIERldmljZXMgKFJlbWVtYmVyIGZvciAzMCBkYXlzKSc7CiRsYW5nWydwcm9fZmVhdHVyZV91c2VyX21hbmFnZW1lbnQnXSA9ICdVc2VyIE1hbmFnZW1lbnQgRGFzaGJvYXJkJzsKJGxhbmdbJ3Byb19mZWF0dXJlX2VuZm9yY2VfMmZhJ10gPSAnRW5mb3JjZSAyRkEgZm9yIEFsbCBBZG1pbiBVc2Vycyc7CiRsYW5nWydwcm9fZmVhdHVyZV9hdWRpdF9sb2dzJ10gPSAnQWR2YW5jZWQgQXVkaXQgTG9ncyB3aXRoIEV4cG9ydCc7CiRsYW5nWydwcm9fZmVhdHVyZV9lbWFpbF9ub3RpZmljYXRpb25zJ10gPSAnRW1haWwgTm90aWZpY2F0aW9ucyBmb3IgU3VzcGljaW91cyBBY3Rpdml0eSc7CiRsYW5nWydnZXRfcHJvX2xpY2Vuc2UnXSA9ICdHZXQgUHJvIExpY2Vuc2UnOwoKLy8gUmF0ZSBMaW1pdGluZyBTZXR0aW5ncwokbGFuZ1sncmF0ZV9saW1pdGluZ19lbmFibGVkJ10gPSAnRW5hYmxlIFJhdGUgTGltaXRpbmcnOwokbGFuZ1sncmF0ZV9saW1pdGluZ19lbmFibGVkX2hlbHAnXSA9ICdQcm90ZWN0IGFnYWluc3QgYnJ1dGUgZm9yY2UgYXR0YWNrcyB3aXRoIGV4cG9uZW50aWFsIGJhY2tvZmYnOwokbGFuZ1snbWF4X2F0dGVtcHRzX2xvY2tvdXQnXSA9ICdNYXggQXR0ZW1wdHMgQmVmb3JlIExvY2tvdXQnOwokbGFuZ1snbWF4X2F0dGVtcHRzX2xvY2tvdXRfaGVscCddID0gJ051bWJlciBvZiBmYWlsZWQgYXR0ZW1wdHMgYmVmb3JlIHRlbXBvcmFyeSBsb2Nrb3V0IChkZWZhdWx0OiA1KSc7CiRsYW5nWydtYXhfYXR0ZW1wdHNfcmVzZXQnXSA9ICdNYXggQXR0ZW1wdHMgQmVmb3JlIFBhc3N3b3JkIFJlc2V0JzsKJGxhbmdbJ21heF9hdHRlbXB0c19yZXNldF9oZWxwJ10gPSAnTnVtYmVyIG9mIGZhaWxlZCBhdHRlbXB0cyBiZWZvcmUgZm9yY2luZyBwYXNzd29yZCByZXNldCAoZGVmYXVsdDogMTApJzsKJGxhbmdbJ25vdGlmeV9hZG1pbiddID0gJ05vdGlmeSBBZG1pbiBvZiBTdXNwaWNpb3VzIEFjdGl2aXR5JzsKJGxhbmdbJ25vdGlmeV9hZG1pbl9oZWxwJ10gPSAnU2VuZCBlbWFpbCBhbGVydHMgd2hlbiBtdWx0aXBsZSBmYWlsZWQgYXR0ZW1wdHMgYXJlIGRldGVjdGVkJzsKJGxhbmdbJ3NldHRpbmdzX3NhdmVkJ10gPSAnU2V0dGluZ3Mgc2F2ZWQgc3VjY2Vzc2Z1bGx5Lic7CiRsYW5nWydwcm9fcmVxdWlyZWRfc2V0dGluZ3MnXSA9ICdQcm8gbGljZW5zZSByZXF1aXJlZCB0byBjb25maWd1cmUgdGhlc2Ugc2V0dGluZ3MuJzsKJGxhbmdbJ2FjY291bnRfbG9ja2VkJ10gPSAnVG9vIG1hbnkgZmFpbGVkIGF0dGVtcHRzLiBQbGVhc2UgdHJ5IGFnYWluIGluICVkIG1pbnV0ZXMuJzsKJGxhbmdbJ2lwX2JsYWNrbGlzdCddID0gJ0lQIEJsYWNrbGlzdCc7CiRsYW5nWydpcF9ibGFja2xpc3RfaGVscCddID0gJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIElQIGFkZHJlc3NlcyB0byBwZXJtYW5lbnRseSBibG9jayAoZS5nLiwgMTkyLjE2OC4xLjEsIDEwLjAuMC41KSc7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZXMnXSA9ICdFbWFpbCBUZW1wbGF0ZXMnOwokbGFuZ1sncmVzZXRfZW1haWxfc3ViamVjdCddID0gJ1Bhc3N3b3JkIFJlc2V0IEVtYWlsIFN1YmplY3QnOwokbGFuZ1sncmVzZXRfZW1haWxfYm9keSddID0gJ1Bhc3N3b3JkIFJlc2V0IEVtYWlsIEJvZHknOwokbGFuZ1sncmVzZXRfZW1haWxfcGxhY2Vob2xkZXJzJ10gPSAnQXZhaWxhYmxlIHBsYWNlaG9sZGVyczoge3VzZXJuYW1lfSwge3Jlc2V0X3VybH0nOwokbGFuZ1snYWxlcnRfZW1haWxfc3ViamVjdCddID0gJ0FkbWluIEFsZXJ0IEVtYWlsIFN1YmplY3QnOwokbGFuZ1snYWxlcnRfZW1haWxfYm9keSddID0gJ0FkbWluIEFsZXJ0IEVtYWlsIEJvZHknOwokbGFuZ1snYWxlcnRfZW1haWxfcGxhY2Vob2xkZXJzJ10gPSAnQXZhaWxhYmxlIHBsYWNlaG9sZGVyczoge3VzZXJuYW1lfSwge2lwX2FkZHJlc3N9LCB7YXR0ZW1wdHN9LCB7dGltZX0nOwokbGFuZ1sncmF0ZV9saW1pdGluZ19zZXR0aW5ncyddID0gJ1JhdGUgTGltaXRpbmcgJiBCcnV0ZSBGb3JjZSBQcm90ZWN0aW9uJzsKJGxhbmdbJ3RhYl90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX3Byb19zZXR0aW5ncyddID0gJ1NldHRpbmdzJzsKJGxhbmdbJ3RhYl9zbXMnXSA9ICdTTVMgU2V0dGluZ3MnOwokbGFuZ1sndGFiX3ZlcmlmeV9sb2dzJ10gPSAnVmVyaWZ5IExvZ3MnOwokbGFuZ1sndGFiX2xpY2Vuc2UnXSA9ICdQcm8gTGljZW5zZSc7CiRsYW5nWyd0YWJfdXBncmFkZSddID0gJ1VwZ3JhZGUgdG8gUHJvJzsKJGxhbmdbJ3RhYl9kZWJ1ZyddID0gJ0RlYnVnJzsKJGxhbmdbJ3Byb19hY3RpdmVfYmV0YSddID0gJ1R3b0ZhY3RvciBQcm8gQWN0aXZlJzsKJGxhbmdbJ3Byb19mZWF0dXJlc19lbmFibGVkJ10gPSAnUHJlbWl1bSBmZWF0dXJlcyBlbmFibGVkLic7CiRsYW5nWydwYXNzd29yZF9yZXNldF9lbWFpbCddID0gJ1Bhc3N3b3JkIFJlc2V0IEVtYWlsJzsKJGxhbmdbJ2FkbWluX2FsZXJ0X2VtYWlsJ10gPSAnQWRtaW4gQWxlcnQgRW1haWwnOwoKLy8gVXNlciBNYW5hZ2VtZW50CiRsYW5nWyd0YWJfdXNlcl9tYW5hZ2VtZW50J10gPSAnVXNlciBNYW5hZ2VtZW50JzsKJGxhbmdbJ3VzZXJfbWFuYWdlbWVudCddID0gJ1VzZXIgTWFuYWdlbWVudCBEYXNoYm9hcmQnOwokbGFuZ1sndXNlcl9tYW5hZ2VtZW50X2hlbHAnXSA9ICdWaWV3IGFuZCBtYW5hZ2UgMkZBIHNldHRpbmdzIGZvciBhbGwgdXNlcnMuIFlvdSBjYW4gZGlzYWJsZSAyRkEgZm9yIGxvY2tlZC1vdXQgdXNlcnMuJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWycyZmFfc3RhdHVzJ10gPSAnMkZBIFN0YXR1cyc7CiRsYW5nWydlbmFibGVkX21ldGhvZHMnXSA9ICdFbmFibGVkIE1ldGhvZHMnOwokbGFuZ1snZmFpbGVkX2F0dGVtcHRzJ10gPSAnRmFpbGVkIEF0dGVtcHRzJzsKJGxhbmdbJ2Rpc2FibGVfMmZhJ10gPSAnRGlzYWJsZSAyRkEnOwokbGFuZ1snY29uZmlybV9kaXNhYmxlX3VzZXJfMmZhJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRpc2FibGUgMkZBIGZvciB1c2VyICIlcyI/IFRoaXMgd2lsbCByZW1vdmUgYWxsIHRoZWlyIDJGQSBzZXR0aW5ncywgdHJ1c3RlZCBkZXZpY2VzLCBhbmQgcmVzZXQgZmFpbGVkIGF0dGVtcHRzLic7CiRsYW5nWyd1c2VyXzJmYV9kaXNhYmxlZCddID0gJzJGQSBoYXMgYmVlbiBkaXNhYmxlZCBmb3IgdXNlcjogJXMnOwokbGFuZ1snbGVnZW5kJ10gPSAnTGVnZW5kJzsKJGxhbmdbJ2xlZ2VuZF9sb2NrZWQnXSA9ICdSZWQgYmFja2dyb3VuZCA9IFVzZXIgaXMgY3VycmVudGx5IGxvY2tlZCBvdXQnOwokbGFuZ1snbGVnZW5kX2ZhaWxlZF9hdHRlbXB0cyddID0gJ0ZhaWxlZCBhdHRlbXB0czogUmVkICg1KyksIE9yYW5nZSAoMy00KSwgQmxhY2sgKDAtMiknOwokbGFuZ1snbGVnZW5kX2Rpc2FibGUnXSA9ICdVc2UgIkRpc2FibGUgMkZBIiB0byB1bmxvY2sgdXNlcnMgb3IgcmVtb3ZlIHRoZWlyIDJGQSBzZXR0aW5ncyc7CiRsYW5nWydkZXZpY2Vfbm90X2ZvdW5kJ10gPSAnRGV2aWNlIG5vdCBmb3VuZCBvciBkb2VzIG5vdCBiZWxvbmcgdG8geW91Lic7CgovLyBFbmZvcmNlIDJGQQokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0dlbmVyYWwgU2V0dGluZ3MnOwokbGFuZ1snZW5mb3JjZV8yZmFfYWxsJ10gPSAnRW5mb3JjZSAyRkEgZm9yIEFsbCBBZG1pbiBVc2Vycyc7CiRsYW5nWydlbmZvcmNlXzJmYV9hbGxfaGVscCddID0gJ1doZW4gZW5hYmxlZCwgYWxsIGFkbWluIHVzZXJzIHdpbGwgYmUgcmVxdWlyZWQgdG8gZW5hYmxlIDJGQSBiZWZvcmUgdGhleSBjYW4gYWNjZXNzIHRoZSBhZG1pbiBwYW5lbCc7CiRsYW5nWycyZmFfcmVxdWlyZWQnXSA9ICcyRkEgUmVxdWlyZWQnOwokbGFuZ1snMmZhX3JlcXVpcmVkX21lc3NhZ2UnXSA9ICdZb3VyIGFkbWluaXN0cmF0b3IgaGFzIGVuYWJsZWQgbWFuZGF0b3J5IHR3by1mYWN0b3IgYXV0aGVudGljYXRpb24uIFlvdSBtdXN0IGVuYWJsZSBhdCBsZWFzdCBvbmUgMkZBIG1ldGhvZCBiZWxvdyB0byBjb250aW51ZSB1c2luZyB0aGUgYWRtaW4gcGFuZWwuJzsKJGxhbmdbJ3Blcm1pc3Npb25fZGVuaWVkJ10gPSAnUGVybWlzc2lvbiBkZW5pZWQuIFlvdSBkbyBub3QgaGF2ZSBhY2Nlc3MgdG8gdGhpcyBmZWF0dXJlLic7CgovLyBTTVMgU2V0dGluZ3MKJGxhbmdbJ3Ntc19zZXR0aW5ncyddID0gJ1NNUyBTZXR0aW5ncyc7CiRsYW5nWydzbXNfY3JlZGl0c19vcHRpb24nXSA9ICdPcHRpb24gMTogU01TIENyZWRpdHMgZnJvbSBQaXhlbCBTb2x1dGlvbnMnOwokbGFuZ1snc21zX2NyZWRpdHNfZGVzY3JpcHRpb24nXSA9ICdQdXJjaGFzZSBTTVMgY3JlZGl0cyBmcm9tIG91ciBzdG9yZSBhbmQgdXNlIHRoZW0gYWNyb3NzIGFsbCB5b3VyIHNpdGVzLiBTaW1wbGUsIG5vIEFQSSBjb25maWd1cmF0aW9uIG5lZWRlZC4nOwokbGFuZ1sncHJvZHVjdF9rZXknXSA9ICdQcm9kdWN0IEtleSc7CiRsYW5nWydwcm9kdWN0X2tleV9oZWxwJ10gPSAnRW50ZXIgdGhlIHByb2R1Y3Qga2V5IHlvdSByZWNlaXZlZCBhZnRlciBwdXJjaGFzaW5nIFNNUyBjcmVkaXRzJzsKJGxhbmdbJ3NhdmVfcHJvZHVjdF9rZXknXSA9ICdTYXZlIFByb2R1Y3QgS2V5JzsKJGxhbmdbJ3B1cmNoYXNlX2NyZWRpdHMnXSA9ICdQdXJjaGFzZSBTTVMgQ3JlZGl0cyc7CiRsYW5nWydzbXNfY3JlZGl0c19zYXZlZCddID0gJ1NNUyBjcmVkaXRzIHByb2R1Y3Qga2V5IHNhdmVkIHN1Y2Nlc3NmdWxseS4nOwokbGFuZ1sndHdpbGlvX2FwaV9vcHRpb24nXSA9ICdPcHRpb24gMjogVXNlIFlvdXIgT3duIFR3aWxpbyBBY2NvdW50JzsKJGxhbmdbJ3R3aWxpb19hcGlfZGVzY3JpcHRpb24nXSA9ICdDb25maWd1cmUgeW91ciBvd24gVHdpbGlvIEFQSSBjcmVkZW50aWFscyB0byBzZW5kIFNNUyBtZXNzYWdlcyBkaXJlY3RseSBmcm9tIHlvdXIgYWNjb3VudC4nOwokbGFuZ1snc21zX3N0YXR1c19hdmFpbGFibGUnXSA9ICdTTVMgVmVyaWZpY2F0aW9uIEF2YWlsYWJsZSc7CiRsYW5nWydzbXNfc3RhdHVzX3VuYXZhaWxhYmxlJ10gPSAnU01TIFZlcmlmaWNhdGlvbiBVbmF2YWlsYWJsZSc7CiRsYW5nWydzbXNfY29uZmlndXJlX21ldGhvZCddID0gJ0NvbmZpZ3VyZSBTTVMgQ3JlZGl0cyBvciBUd2lsaW8gQVBJIHRvIGVuYWJsZSBTTVMgdmVyaWZpY2F0aW9uJzsKJGxhbmdbJ3Ntc19ib3RoX21ldGhvZHNfYWN0aXZlJ10gPSAnQm90aCBTTVMgQ3JlZGl0cyBhbmQgVHdpbGlvIEFQSSBhcmUgY29uZmlndXJlZCc7CiRsYW5nWydzbXNfY3JlZGl0c19tZXRob2RfYWN0aXZlJ10gPSAnVXNpbmcgU01TIENyZWRpdHMnOwokbGFuZ1snc21zX3R3aWxpb19tZXRob2RfYWN0aXZlJ10gPSAnVXNpbmcgVHdpbGlvIEFQSSc7CiRsYW5nWydzbXNfY3JlZGl0c19wcmlvcml0eSddID0gJ1NNUyBDcmVkaXRzIHdpbGwgYmUgdXNlZCBmaXJzdCc7CiRsYW5nWydhY3RpdmUnXSA9ICdBY3RpdmUnOwokbGFuZ1sncmVtb3ZlX3R3aWxpbyddID0gJ0Rpc2FibGUgVHdpbGlvIEFQSSc7CiRsYW5nWydjb25maXJtX3JlbW92ZV90d2lsaW8nXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIFR3aWxpbyBBUEkgY3JlZGVudGlhbHM/JzsKJGxhbmdbJ3R3aWxpb19yZW1vdmVkJ10gPSAnVHdpbGlvIEFQSSBjcmVkZW50aWFscyByZW1vdmVkIHN1Y2Nlc3NmdWxseS4nOwokbGFuZ1snZXJyb3Jfc3Vic2NyaXB0aW9uX2tleV9ub3Rfc3VwcG9ydGVkJ10gPSAnVGhpcyBpcyBhIHN1YnNjcmlwdGlvbiBrZXkuIE9ubHkgY3JlZGl0LWJhc2VkIGxpY2Vuc2VzIGFyZSBzdXBwb3J0ZWQgZm9yIFNNUyBjcmVkaXRzLic7CgokbGFuZ1sndHJ1c3RlZF9kZXZpY2VzJ10gPSAnVHJ1c3RlZCBEZXZpY2VzJzsKJGxhbmdbJ3RhYl9tZXRob2RzJ10gPSAnTWV0aG9kcyc7CiRsYW5nWyd0YWJfdHJ1c3RlZF9kZXZpY2VzJ10gPSAnVHJ1c3RlZCBEZXZpY2VzJzsKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBY3Rpb25zJzsKCi8vIFZlcmlmaWNhdGlvbiBwYWdlIHN0cmluZ3MKJGxhbmdbJ2VtYWlsX3ZlcmlmaWNhdGlvbl90aXRsZSddID0gJ0VtYWlsIFZlcmlmaWNhdGlvbic7CiRsYW5nWydlbWFpbF92ZXJpZmljYXRpb25fc2VudCddID0gJ0EgdmVyaWZpY2F0aW9uIGNvZGUgaGFzIGJlZW4gc2VudCB0byB5b3VyIGVtYWlsIGFkZHJlc3MuJzsKJGxhbmdbJ3JlbWVtYmVyX2RldmljZSddID0gJ1JlbWVtYmVyIHRoaXMgZGV2aWNlIGZvciAzMCBkYXlzJzsKJGxhbmdbJ2FjY291bnRfbG9ja2VkX3NlY29uZHMnXSA9ICdUb28gbWFueSBmYWlsZWQgYXR0ZW1wdHMuIFBsZWFzZSB0cnkgYWdhaW4gaW4gJWQgc2Vjb25kJXMuJzsKJGxhbmdbJ2FjY291bnRfbG9ja2VkX21pbnV0ZXMnXSA9ICdUb28gbWFueSBmYWlsZWQgYXR0ZW1wdHMuIFBsZWFzZSB0cnkgYWdhaW4gaW4gJWQgbWludXRlJXMuJzsKJGxhbmdbJ3Jlc2VuZF92ZXJpZmljYXRpb25fY29kZSddID0gJ1Jlc2VuZCB2ZXJpZmljYXRpb24gY29kZSc7CiRsYW5nWyd1c2VfYmFja3VwX2NvZGUnXSA9ICdVc2UgYSBiYWNrdXAgY29kZSc7CiRsYW5nWyd1c2Vfb3RoZXJfbWV0aG9kJ10gPSAnVXNlIGEgZGlmZmVyZW50IG1ldGhvZCc7CiRsYW5nWydiYWNrX3RvX3ByaW1hcnknXSA9ICdCYWNrIHRvIHlvdXIgcHJpbWFyeSBtZXRob2QnOwokbGFuZ1sndG90cF92ZXJpZmljYXRpb25fdGl0bGUnXSA9ICdUd28tRmFjdG9yIEF1dGhlbnRpY2F0aW9uJzsKJGxhbmdbJ3ZlcmlmaWNhdGlvbl9jb2RlX2xhYmVsJ10gPSAnVmVyaWZpY2F0aW9uIENvZGUnOwokbGFuZ1snc21zX3ZlcmlmaWNhdGlvbl90aXRsZSddID0gJ1NNUyBWZXJpZmljYXRpb24nOwokbGFuZ1snc21zX3ZlcmlmaWNhdGlvbl9zZW50J10gPSAnQSB2ZXJpZmljYXRpb24gY29kZSBoYXMgYmVlbiBzZW50IHRvIHlvdXIgcGhvbmUuJzsKCi8vIFBhc3NrZXkgLyBXZWJBdXRobgokbGFuZ1sncHJvdmlkZXJfcGFzc2tleSddID0gJ1Bhc3NrZXknOwokbGFuZ1sncGFzc2tleV9kZXNjcmlwdGlvbiddID0gJ1VzZSBkZXZpY2UgYmlvbWV0cmljcyAoVG91Y2ggSUQsIFdpbmRvd3MgSGVsbG8sIEZhY2UgSUQpIG9yIGEgc2VjdXJpdHkga2V5JzsKJGxhbmdbJ3NldHVwX3Bhc3NrZXknXSA9ICdTaW1wbGlmeSB5b3VyIGxvZ2luIHdpdGggUGFzc2tleXMnOwokbGFuZ1sncGFzc2tleV9zZXR1cF9pbmZvJ10gPSAnQSBwYXNza2V5IGxldHMgeW91IHNpZ24gaW4gdXNpbmcgeW91ciBmaW5nZXJwcmludCwgZmFjZSwgb3Igc2NyZWVuIGxvY2suIFlvdXIgcGFzc2tleSBpcyBzdG9yZWQgc2VjdXJlbHkgb24geW91ciBkZXZpY2UgYW5kIG5ldmVyIGxlYXZlcyBpdC4nOwokbGFuZ1sncmVnaXN0ZXJfcGFzc2tleSddID0gJ0NyZWF0ZSBwYXNza2V5JzsKJGxhbmdbJ3Bhc3NrZXlfY29uZmlndXJlZCddID0gJ1lvdXIgcGFzc2tleSBpcyByZWFkeSB0byB1c2UuJzsKJGxhbmdbJ3Bhc3NrZXlfcmVnX3dhaXRpbmcnXSA9ICdGb2xsb3cgdGhlIHN0ZXBzIG9uIHlvdXIgYnJvd3NlciB0byBjcmVhdGUgeW91ciBwYXNza2V5Lic7CiRsYW5nWydwYXNza2V5X3JlZ19zYXZpbmcnXSA9ICdTYXZpbmcgcGFzc2tleS4uLic7CiRsYW5nWydwYXNza2V5X3JlZ19zdWNjZXNzJ10gPSAnUGFzc2tleSBjcmVhdGVkIHN1Y2Nlc3NmdWxseSEnOwokbGFuZ1sncGFzc2tleV9yZWdfY2FuY2VsbGVkJ10gPSAnUGFzc2tleSBjcmVhdGlvbiB3YXMgY2FuY2VsbGVkLic7CiRsYW5nWydwYXNza2V5X3JlZ19mYWlsZWQnXSA9ICdDb3VsZCBub3QgY3JlYXRlIHBhc3NrZXkuIFBsZWFzZSB0cnkgYWdhaW4uJzsKJGxhbmdbJ3Bhc3NrZXlfbmFtZSddID0gJ0tleSBOYW1lJzsKJGxhbmdbJ3Bhc3NrZXlfcmVnaXN0ZXJlZCddID0gJ1JlZ2lzdGVyZWQnOwokbGFuZ1sncGFzc2tleV9jcmVhdGVkJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydwYXNza2V5X2xhc3RfdXNlZCddID0gJ0xhc3QgdXNlZCc7CiRsYW5nWydwYXNza2V5X25ldmVyX3VzZWQnXSA9ICdOZXZlcic7CiRsYW5nWydwYXNza2V5X3R5cGVfcGxhdGZvcm0nXSA9ICdUaGlzIGRldmljZSc7CiRsYW5nWydwYXNza2V5X3R5cGVfY3Jvc3NfcGxhdGZvcm0nXSA9ICdTZWN1cml0eSBrZXknOwokbGFuZ1sncmVzZXRfcGFzc2tleSddID0gJ1JlbW92ZSBQYXNza2V5JzsKJGxhbmdbJ2NvbmZpcm1fcmVzZXRfcGFzc2tleSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgdGhpcyBwYXNza2V5PyBZb3Ugd2lsbCBuZWVkIHRvIHJlZ2lzdGVyIGFnYWluLic7CiRsYW5nWydwYXNza2V5X3Jlc2V0J10gPSAnUGFzc2tleSBoYXMgYmVlbiByZW1vdmVkIGZyb20geW91ciBhY2NvdW50LiBZb3UgbWF5IGFsc28gbmVlZCB0byByZW1vdmUgaXQgZnJvbSB5b3VyIGRldmljZSAoZS5nLiBXaW5kb3dzIFNldHRpbmdzICZyYXJyOyBBY2NvdW50cyAmcmFycjsgUGFzc2tleXMpLic7CiRsYW5nWydwYXNza2V5X2VuYWJsZWQnXSA9ICdQYXNza2V5IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSByZWdpc3RlcmVkISc7CiRsYW5nWydwYXNza2V5X3ZlcmlmaWNhdGlvbl90aXRsZSddID0gJ1VzZSB5b3VyIHBhc3NrZXknOwokbGFuZ1sncGFzc2tleV90b3VjaF9wcm9tcHQnXSA9ICdGb2xsb3cgdGhlIHN0ZXBzIG9uIHlvdXIgYnJvd3NlciB0byB2ZXJpZnkgeW91ciBpZGVudGl0eSB3aXRoIHlvdXIgcGFzc2tleS4nOwokbGFuZ1sncGFzc2tleV9yZXRyeSddID0gJ1RyeSBhZ2Fpbic7CiRsYW5nWydwYXNza2V5X3ZlcmlmeWluZyddID0gJ1ZlcmlmeWluZy4uLic7CiRsYW5nWydwYXNza2V5X2NhbmNlbGxlZCddID0gJ0F1dGhlbnRpY2F0aW9uIHdhcyBjYW5jZWxsZWQgb3IgdGltZWQgb3V0Lic7CiRsYW5nWydwYXNza2V5X2ZhaWxlZCddID0gJ0F1dGhlbnRpY2F0aW9uIGZhaWxlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nOwokbGFuZ1sncGFzc2tleV91bnN1cHBvcnRlZCddID0gJ1Bhc3NrZXlzIGFyZSBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3Nlci4nOwokbGFuZ1sncGFzc2tleV9yZXF1aXJlc19odHRwcyddID0gJ1Bhc3NrZXlzIHJlcXVpcmUgSFRUUFMuIFBsZWFzZSBlbnN1cmUgeW91ciBzaXRlIGlzIHNlcnZlZCBvdmVyIGEgc2VjdXJlIGNvbm5lY3Rpb24uJzsKJGxhbmdbJ3Bhc3NrZXlfYnJvd3Nlcl91bnN1cHBvcnRlZCddID0gJ1lvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHBhc3NrZXlzLic7CiRsYW5nWydwYXNza2V5X3Byb19tdWx0aV9rZXknXSA9ICdXaXRoIFR3b0ZhY3RvciBQcm8sIHlvdSBjYW4gcmVnaXN0ZXIgbXVsdGlwbGUga2V5cyBhbmQgdXNlIHBoeXNpY2FsIHNlY3VyaXR5IGtleXMuJzsKJGxhbmdbJ3Bhc3NrZXlfYWRkX2tleSddID0gJ0FkZCBhbm90aGVyIHBhc3NrZXknOwokbGFuZ1sncGFzc2tleV9yZW1vdmVfa2V5J10gPSAnUmVtb3ZlJzsKJGxhbmdbJ2NvbmZpcm1fcmVtb3ZlX2tleSddID0gJ1JlbW92ZSB0aGlzIHBhc3NrZXk/IFlvdSBtYXkgYWxzbyBuZWVkIHRvIGRlbGV0ZSBpdCBmcm9tIHlvdXIgZGV2aWNlIChlLmcuIGJyb3dzZXIgc2V0dGluZ3Mgb3IgV2luZG93cyBTZXR0aW5ncyA+IEFjY291bnRzID4gUGFzc2tleXMpLic7CiRsYW5nWydwYXNza2V5X3JlbW92aW5nJ10gPSAnUmVtb3ZpbmcuLi4nOwokbGFuZ1sncGFzc2tleV9yZW1vdmVfZmFpbGVkJ10gPSAnQ291bGQgbm90IHJlbW92ZSBwYXNza2V5LiBQbGVhc2UgdHJ5IGFnYWluLic7CgokbGFuZ1sncHJvdmlkZXJfc2VjdXJpdHlfa2V5J10gPSAnU2VjdXJpdHkgS2V5JzsKJGxhbmdbJ3NlY3VyaXR5X2tleV9kZXNjcmlwdGlvbiddID0gJ1VzZSBhIHBoeXNpY2FsIHNlY3VyaXR5IGtleSAoWXViaUtleSwgVGl0YW4gS2V5LCBVU0IvTkZDKSc7CiRsYW5nWydzZWN1cml0eV9rZXlfdmVyaWZpY2F0aW9uX3RpdGxlJ10gPSAnSW5zZXJ0IHlvdXIgc2VjdXJpdHkga2V5JzsKJGxhbmdbJ3NlY3VyaXR5X2tleV90b3VjaF9wcm9tcHQnXSA9ICdJbnNlcnQgeW91ciBzZWN1cml0eSBrZXkgYW5kIHRhcCBpdCB3aGVuIGl0IGZsYXNoZXMuJzsKJGxhbmdbJ3NlY3VyaXR5X2tleV9jYW5jZWxsZWQnXSA9ICdBdXRoZW50aWNhdGlvbiB3YXMgY2FuY2VsbGVkIG9yIHRpbWVkIG91dC4nOwokbGFuZ1snc2VjdXJpdHlfa2V5X2ZhaWxlZCddID0gJ0F1dGhlbnRpY2F0aW9uIGZhaWxlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nOwoKLy8gU2hhcmVkIGtleSBtYW5hZ2VtZW50IHN0cmluZ3MgKHVzZWQgYnkgUHJvIHRlbXBsYXRlcyB2aWEgJG1vZCkKJGxhbmdbJ2tleV9tYW5hZ2VtZW50X3RpdGxlJ10gPSAnU2VjdXJpdHkgS2V5IE1hbmFnZW1lbnQnOwokbGFuZ1sna2V5X21hbmFnZW1lbnRfaGVscCddID0gJ1ZpZXcgYW5kIG1hbmFnZSBXZWJBdXRobiBzZWN1cml0eSBrZXlzIGFuZCBwYXNza2V5cyBmb3IgYWxsIHVzZXJzLic7CiRsYW5nWydub19rZXlzX3JlZ2lzdGVyZWQnXSA9ICdObyB1c2VycyBoYXZlIHJlZ2lzdGVyZWQgc2VjdXJpdHkga2V5cyBvciBwYXNza2V5cyB5ZXQuJzsKJGxhbmdbJ2tleV9jb3VudCddID0gJ0tleXMnOwokbGFuZ1sna2V5X2RldGFpbHMnXSA9ICdLZXkgRGV0YWlscyc7CiRsYW5nWydrZXlfdHlwZSddID0gJ1R5cGUnOwokbGFuZ1snc2VjdXJpdHlfa2V5J10gPSAnU2VjdXJpdHkgS2V5JzsKJGxhbmdbJ3Bhc3NrZXknXSA9ICdQYXNza2V5JzsKJGxhbmdbJ2xhc3RfdXNlZCddID0gJ0xhc3QgVXNlZCc7CiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1snY29uZmlybV9kZWxldGVfa2V5J10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGtleT8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfYWxsX2tleXMnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIEFMTCBrZXlzIGZvciB1c2VyIFwiJXNcIj8nOwokbGFuZ1sncmVtb3ZlX2FsbF9rZXlzJ10gPSAnUmVtb3ZlIEFsbCBLZXlzJzsKJGxhbmdbJ2tleV9kZWxldGVkJ10gPSAnS2V5IGhhcyBiZWVuIGRlbGV0ZWQuJzsKJGxhbmdbJ3VzZXJfa2V5c19kZWxldGVkJ10gPSAnQWxsIGtleXMgcmVtb3ZlZCBmb3IgdXNlcjogJXMnOwokbGFuZ1snc2VjdXJpdHlfa2V5c190aXRsZSddID0gJ1NlY3VyaXR5IEtleXMgJiBQYXNza2V5cyc7CiRsYW5nWydzZWN1cml0eV9rZXlzX2luZm8nXSA9ICdSZWdpc3RlciBhZGRpdGlvbmFsIHBhc3NrZXlzIG9yIHBoeXNpY2FsIHNlY3VyaXR5IGtleXMgKFl1YmlLZXksIFRpdGFuIEtleSwgZXRjLikgZm9yIHlvdXIgYWNjb3VudC4nOwokbGFuZ1sncmVnaXN0ZXJfbmV3X2tleSddID0gJ1JlZ2lzdGVyIE5ldyBLZXknOwokbGFuZ1sncmVnaXN0ZXJfa2V5J10gPSAnUmVnaXN0ZXIgS2V5JzsKJGxhbmdbJ3Bhc3NrZXlfdHlwZV9kZXNjJ10gPSAnVG91Y2ggSUQsIFdpbmRvd3MgSGVsbG8sIEZhY2UgSUQnOwokbGFuZ1snc2VjdXJpdHlfa2V5X3R5cGVfZGVzYyddID0gJ1l1YmlLZXksIFRpdGFuIEtleSwgVVNCL05GQyc7CiRsYW5nWyd0YWJfc2VjdXJpdHlfa2V5cyddID0gJ1NlY3VyaXR5IEtleXMnOyRsYW5nWydwcmVmZXJlbmNlc19jbGVhcmVkJ10gPSAnQWxsIHByZWZlcmVuY2VzIGNsZWFyZWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9jc3JmJ10gPSAnSW52YWxpZCBmb3JtIHN1Ym1pc3Npb24nOwo=]]></data>
	</file>
	<file>
		<filename>/lang/ext</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/lang/ext/de_DE.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3b0ZhY3Rvcic7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnU2ljaGVyZXMgQ01TIE1hZGUgU2ltcGxlIC1Mb2dpbiBtaXQgWndlaS1GYWt0b3ItQXV0aGVudGlmaXppZXJ1bmcgKDJGQSkgLSB2b24gUGl4ZWwgU29sdXRpb25zJzsKJGxhbmdbJ3BhcmFtX3VzZXInXSA9ICdCZW51dHplcnBhcmFtZXRlciBmw7xyIEZyb250ZW5kLUludGVncmF0aW9uJzsKJGxhbmdbJ2Fza191bmluc3RhbGwnXSA9ICdNw7ZjaHRlbiBTaWUgZGFzIFR3byBGYWN0b3ItTW9kdWwgd2lya2xpY2ggZGVpbnN0YWxsaWVyZW4/IEFsbGUgRWluc3RlbGx1bmdlbiBnZWhlbiB2ZXJsb3Jlbi4nOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzJ10gPSAnVHdvRmFjdG9yIC0gVHdpbGlvLUVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sndHdvX2ZhY3Rvcl9zZXR0aW5ncyddID0gJ0VpbnN0ZWxsdW5nZW4gZsO8ciBkaWUgWndlaS1GYWt0b3ItQXV0aGVudGlmaXppZXJ1bmcnOwokbGFuZ1sndHdvX2ZhY3Rvcl9hY3RpdmUnXSA9ICdEaWUgWndlaS1GYWt0b3ItQXV0aGVudGlmaXppZXJ1bmcgaXN0IGluIElocmVtIEtvbnRvIGFrdGl2Lic7CiRsYW5nWyd0d29fZmFjdG9yX2luYWN0aXZlJ10gPSAnRGllIFp3ZWktRmFrdG9yLUF1dGhlbnRpZml6aWVydW5nIGlzdCBkZXJ6ZWl0IGRlYWt0aXZpZXJ0LiBXw6RobGVuIFNpZSB1bnRlbiBlaW5lIHByaW3DpHJlIE1ldGhvZGUgYXVzLCB1bSBzaWUgenUgYWt0aXZpZXJlbi4nOwokbGFuZ1snZW5hYmxlZF9tZXRob2RzJ10gPSAnQWt0aXZpZXJ0ZSBNZXRob2Rlbic7CiRsYW5nWydhdmFpbGFibGVfbWV0aG9kcyddID0gJ1ZlcmbDvGdiYXJlIEF1dGhlbnRpZml6aWVydW5nc21ldGhvZGVuJzsKJGxhbmdbJ25vX21ldGhvZHNfZW5hYmxlZCddID0gJ0VzIHNpbmQgbm9jaCBrZWluZSBad2VpLUZha3Rvci1NZXRob2RlbiBha3RpdmllcnQuIFfDpGhsZW4gU2llIHVudGVuIGVpbmUgTWV0aG9kZSBhdXMsIHVtIGxvc3p1bGVnZW4uJzsKJGxhbmdbJ3ByaW1hcnknXSA9ICdQcmltw6RyJzsKJGxhbmdbJ3ByaW1hcnlfbWV0aG9kJ10gPSAnUHJpbcOkcmUgTWV0aG9kZSc7CiRsYW5nWydwcmltYXJ5X21ldGhvZF9pbmZvJ10gPSAnV8OkaGxlbiBTaWUgZGllIHByaW3DpHJlIE1ldGhvZGUgZsO8ciBkaWUgWndlaS1GYWt0b3ItQXV0aGVudGlmaXppZXJ1bmcgYXVzLCB3ZW5uIFNpZSBzaWNoIGF1ZiBkaWVzZXIgV2Vic2l0ZSBhbm1lbGRlbic7CiRsYW5nWyd1cGRhdGUnXSA9ICdBa3R1YWxpc2llcmVuJzsKJGxhbmdbJ3ByaW1hcnlfdXBkYXRlZCddID0gJ0RpZSBwcmltw6RyZSBBdXRoZW50aWZpemllcnVuZ3NtZXRob2RlIHd1cmRlIGFrdHVhbGlzaWVydC4nOwokbGFuZ1snbWV0aG9kJ10gPSAnTWV0aG9kZSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snYWN0aW9uJ10gPSAnQWt0aW9uJzsKJGxhbmdbJ2VuYWJsZWQnXSA9ICdBa3RpdmllcnQnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdEZWFrdGl2aWVydCc7CiRsYW5nWyd2ZXJpZmllZCddID0gJ3ZlcmlmaXppZXJ0JzsKJGxhbmdbJ2NvbmZpZ3VyZSddID0gJ0tvbmZpZ3VyaWVyZSc7CiRsYW5nWyd0YWJfc2V0dGluZ3MnXSA9ICdFaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3RhYl9wcmVtaXVtJ10gPSAnUHLDpG1pZSc7CiRsYW5nWyd0YWJfc21zY3JlZGl0J10gPSAnU01TLUVpbnN0ZWxsdW5nZW4nOwokbGFuZ1snc2V0dGluZ3NfaW5mbyddID0gJ0FsbGdlbWVpbmUgTW9kdWxlaW5zdGVsbHVuZ2VuLic7CiRsYW5nWydwcmVtaXVtX2luZm8nXSA9ICdQcmVtaXVtLUZ1bmt0aW9uZW4ga29tbWVuIGJhbGQuJzsKJGxhbmdbJ3Ntc2NyZWRpdF9pbmZvJ10gPSAnU01TLUtyZWRpdG1hbmFnZW1lbnQga29tbXQgYmFsZC4nOwokbGFuZ1snc21zX2NyZWRpdHNfc2F2ZWQnXSA9ICdEaWUgU01TLUNyZWRpdHMtTGl6ZW56IHd1cmRlIGVyZm9sZ3JlaWNoIGdlc3BlaWNoZXJ0IHVuZCB2YWxpZGllcnQuJzsKJGxhbmdbJ2Vycm9yX2VtcHR5X2xpY2Vuc2UnXSA9ICdEZXIgTGl6ZW56c2NobMO8c3NlbCBkYXJmIG5pY2h0IGxlZXIgc2Vpbi4nOwokbGFuZ1snZXJyb3JfaW52YWxpZF9saWNlbnNlJ10gPSAnVW5nw7xsdGlnZXIgTGl6ZW56c2NobMO8c3NlbCBvZGVyIGRpZSBWYWxpZGllcnVuZyBpc3QgZmVobGdlc2NobGFnZW4uJzsKJGxhbmdbJ2Vycm9yX3R3aWxpb19maWVsZHNfcmVxdWlyZWQnXSA9ICdBbGxlIFR3aWxpby1GZWxkZXIgc2luZCBlcmZvcmRlcmxpY2guJzsKJGxhbmdbJ2Vycm9yX3R3aWxpb19pbnZhbGlkX2NyZWRlbnRpYWxzJ10gPSAnVW5nw7xsdGlnZSBUd2lsaW8tQW5tZWxkZWluZm9ybWF0aW9uZW4uIEJpdHRlIMO8YmVycHLDvGZlbiBTaWUgSWhyZW4gQVBJLVNjaGzDvHNzZWwsIElociBHZWhlaW1uaXMgdW5kIElocmUgU2VydmljZS1TSUQuJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3JlbW92ZWQnXSA9ICdEaWUgU01TLUNyZWRpdHMtTGl6ZW56IHd1cmRlIGVyZm9sZ3JlaWNoIGVudGZlcm50Lic7CiRsYW5nWydyZW1vdmVfbGljZW5zZSddID0gJ0xpemVueiBkZWFrdGl2aWVyZW4nOwokbGFuZ1snY29uZmlybV9yZW1vdmVfbGljZW5zZSddID0gJ03DtmNodGVuIFNpZSBkaWUgU01TLUNyZWRpdHMtTGl6ZW56IHdpcmtsaWNoIGVudGZlcm5lbj8nOwokbGFuZ1snbGljZW5zZV9yZW1vdmVkJ10gPSAnRGllIExpemVueiB3dXJkZSBlcmZvbGdyZWljaCBlbnRmZXJudC4nOwokbGFuZ1snbGljZW5zZV92YWxpZCddID0gJ0RpZSBMaXplbnogaXN0IGfDvGx0aWcgdW5kIGFrdGl2Lic7CiRsYW5nWydzbXNfY3JlZGl0c19hY3RpdmUnXSA9ICdWZXJibGVpYmVuZGUgQ3JlZGl0czogJXMnOwokbGFuZ1sndHlwZV9Ud29GYWN0b3InXSA9ICdad2VpIEZha3RvcmVuJzsKJGxhbmdbJ3R5cGVfZW1haWxfdmVyaWZpY2F0aW9uJ10gPSAnQmVzdMOkdGlndW5nIHBlciBFLU1haWwnOwokbGFuZ1sncHJvdmlkZXJfdG90cCddID0gJ0F1dGhlbnRpZmlrYXRvci1BcHAgKFRPVFApJzsKJGxhbmdbJ3RvdHBfZGVzY3JpcHRpb24nXSA9ICdWZXJ3ZW5kZW4gU2llIEdvb2dsZSBBdXRoZW50aWNhdG9yLCBBdXRoeSBvZGVyIMOkaG5saWNoZSBBcHBzJzsKJGxhbmdbJ2VtYWlsX2Rlc2NyaXB0aW9uJ10gPSAnQmVzdMOkdGlndW5nc2NvZGVzIHBlciBFLU1haWwgZXJoYWx0ZW4nOwokbGFuZ1snYmFja3VwX2NvZGVzX2Rlc2NyaXB0aW9uJ10gPSAnRWlubWFsaWdlIEJhY2t1cC1Db2RlcyBmw7xyIGRlbiBOb3RmYWxsenVncmlmZic7CiRsYW5nWydwcm92aWRlcl9zbXMnXSA9ICdTTVMtw5xiZXJwcsO8ZnVuZyc7CiRsYW5nWydzbXNfZGVzY3JpcHRpb24nXSA9ICdCZXN0w6R0aWd1bmdzY29kZXMgcGVyIFRleHRuYWNocmljaHQgZXJoYWx0ZW4nOwokbGFuZ1snc2V0dXBfc21zJ10gPSAnU01TLVZlcmlmaXppZXJ1bmcgZWlucmljaHRlbic7CiRsYW5nWyd0d2lsaW9fc2V0dGluZ3MnXSA9ICdUd2lsaW8gQVBJLUVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sndHdpbGlvX2FwaV9rZXlfc2lkJ10gPSAnVHdpbGlvIEFQSS1TY2hsw7xzc2VsLVNJRCc7CiRsYW5nWyd0d2lsaW9fYXBpX3NlY3JldCddID0gJ1R3aWxpbyBBUEktR2VoZWltbmlzJzsKJGxhbmdbJ3R3aWxpb19zZXJ2aWNlX3NpZCddID0gJ1NJRCBkZXMgVHdpbGlvIFZlcmlmeSBTZXJ2aWNlJzsKJGxhbmdbJ3R3aWxpb19zZXJ2aWNlX3NpZF9oZWxwJ10gPSAnRXJzdGVsbGVuIFNpZSBlaW5lbiBWZXJpZnkgU2VydmljZSBpbiBJaHJlciBUd2lsaW8gQ29uc29sZSB1bmQgZ2ViZW4gU2llIGhpZXIgZGllIFNlcnZpY2UgU0lEIGVpbic7CiRsYW5nWydzYXZlX3NldHRpbmdzJ10gPSAnRWluc3RlbGx1bmdlbiBzcGVpY2hlcm4nOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzX3NhdmVkJ10gPSAnRGllIFR3aWxpby1FaW5zdGVsbHVuZ2VuIHd1cmRlbiBnZXNwZWljaGVydC4nOwokbGFuZ1sndGVzdF9jb25maWd1cmF0aW9uJ10gPSAnS29uZmlndXJhdGlvbiB0ZXN0ZW4nOwokbGFuZ1sndGVzdF9jb25maWd1cmF0aW9uX2luZm8nXSA9ICdWZXJ3ZW5kZW4gU2llIFR3aWxpbyBNYWdpYyBOdW1iZXJzLCB1bSBtaXQgVGVzdGJlcmVjaHRpZ3VuZ2VuIHp1IHRlc3Rlbi4gRGVyIFRlc3QgdmVyd2VuZGV0IGRpZSBwcm9ncmFtbWllcmJhcmUgU01TLUFQSSAobmljaHQgZGllIFZlcmlmaXppZXJ1bmdzLUFQSSkuJzsKJGxhbmdbJ3Rlc3RfcGhvbmVfbnVtYmVyJ10gPSAnVGVsZWZvbm51bW1lciB0ZXN0ZW4nOwokbGFuZ1snbWFnaWNfbnVtYmVyX2hlbHAnXSA9ICdWZXJ3ZW5kZW4gU2llICsxNTAwNTU1MDAwNiAoZXJmb2xncmVpY2gpIG9kZXIgKzE1MDA1NTUwMDAxICh1bmfDvGx0aWdlIFphaGwpIHp1bSBUZXN0ZW4nOwokbGFuZ1snc2VuZF90ZXN0X3NtcyddID0gJ1Rlc3QtU01TIHNlbmRlbic7CiRsYW5nWyd0ZXN0X3Ntc19zZW50J10gPSAnVGVzdC1TTVMgZXJmb2xncmVpY2ggdmVyc2VuZGV0ISBIaW53ZWlzOiBEaWVzIHZlcndlbmRldCBkaWUgcHJvZ3JhbW1pZXJiYXJlIFNNUy1BUEkgenVtIFRlc3Rlbi4nOwokbGFuZ1sndGVzdF9zbXNfZmFpbGVkJ10gPSAnVGVzdC1TTVMgaXN0IGZlaGxnZXNjaGxhZ2VuOiAlcyc7CiRsYW5nWyd0d2lsaW9fbm90X2NvbmZpZ3VyZWQnXSA9ICdCaXR0ZSBrb25maWd1cmllcmVuIFNpZSB6dWVyc3QgZGllIFR3aWxpby1Lb250by1TSUQgdW5kIGRhcyBBdXRoIFRva2VuLic7CiRsYW5nWydjb25maWd1cmVfdHdpbGlvJ10gPSAnVHdpbGlvLUVpbnN0ZWxsdW5nZW4ga29uZmlndXJpZXJlbic7CiRsYW5nWydzbXNfdXNlcl9zZXR0aW5ncyddID0gJ0locmUgU01TLUVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sncGhvbmVfbnVtYmVyJ10gPSAnVGVsZWZvbm51bW1lcic7CiRsYW5nWydwaG9uZV9mb3JtYXRfaGVscCddID0gJ0dlYmVuIFNpZSBpbSBFLjE2NC1Gb3JtYXQgZWluICh6LiBCLiArMTIzNDU2Nzg5MCknOwokbGFuZ1snc21zX3NldHVwX2luZm8nXSA9ICdHZWJlbiBTaWUgSWhyZSBUZWxlZm9ubnVtbWVyIGVpbiwgdW0gQmVzdMOkdGlndW5nc2NvZGVzIHBlciBTTVMgenUgZXJoYWx0ZW4uJzsKJGxhbmdbJ3ZlcmlmaWNhdGlvbl9zZW50J10gPSAnQmVzdMOkdGlndW5nc2NvZGUgZ2VzZW5kZXQhIMOcYmVycHLDvGZlIGRlaW4gVGVsZWZvbi4nOwokbGFuZ1sndmVyaWZpY2F0aW9uX2ZhaWxlZCddID0gJ0Jlc3TDpHRpZ3VuZyBrb25udGUgbmljaHQgZ2VzZW5kZXQgd2VyZGVuOiAlcyc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZV9zZW50J10gPSAnRWluIEJlc3TDpHRpZ3VuZ3Njb2RlIHd1cmRlIGFuICVzIGdlc2VuZGV0JzsKJGxhbmdbJ3ZlcmlmaWNhdGlvbl9jb2RlJ10gPSAnQmVzdMOkdGlndW5nc2NvZGUnOwokbGFuZ1sndmVyaWZ5X3Bob25lJ10gPSAnVGVsZWZvbm51bW1lciB2ZXJpZml6aWVyZW4nOwokbGFuZ1sncmVzZW5kX2NvZGUnXSA9ICdDb2RlIGVybmV1dCBzZW5kZW4nOwokbGFuZ1snY2hhbmdlX3Bob25lJ10gPSAnVGVsZWZvbm51bW1lciDDpG5kZXJuJzsKJGxhbmdbJ3NlbmRfdmVyaWZpY2F0aW9uX2NvZGUnXSA9ICdCZXN0w6R0aWd1bmdzY29kZSBzZW5kZW4nOwokbGFuZ1snc21zX2VuYWJsZWQnXSA9ICdEaWUgU01TLcOcYmVycHLDvGZ1bmcgd3VyZGUgYWt0aXZpZXJ0ISc7CiRsYW5nWydzbXNfZGlzYWJsZWQnXSA9ICdEaWUgU01TLcOcYmVycHLDvGZ1bmcgd3VyZGUgZGVha3RpdmllcnQuJzsKJGxhbmdbJ3Ntc19lbmFibGVkX2luZm8nXSA9ICdEaWUgU01TLcOcYmVycHLDvGZ1bmcgaXN0IGFrdGl2aWVydCBmw7xyOiAlcyc7CiRsYW5nWydlbmFibGVfc21zJ10gPSAnU01TLVZlcmlmaXppZXJ1bmcgYWt0aXZpZXJlbic7CiRsYW5nWydkaXNhYmxlX3NtcyddID0gJ1NNUy1WZXJpZml6aWVydW5nIGRlYWt0aXZpZXJlbic7CiRsYW5nWydzbXNfYm9keSddID0gJ0lociBCZXN0w6R0aWd1bmdzY29kZSBsYXV0ZXQ6ICVzJzsKJGxhbmdbJ3NldHVwX3RvdHAnXSA9ICdBdXRoZW50aWNhdG9yIEFwcCAoVE9UUCkgZWlucmljaHRlbic7CiRsYW5nWydzY2FuX3FyJ10gPSAnU2Nhbm5lbiBTaWUgZGllc2VuIFFSLUNvZGUgbWl0IElocmVyIEF1dGhlbnRpY2F0b3ItQXBwIChHb29nbGUgQXV0aGVudGljYXRvciwgQXV0aHkgdXN3LiknOwokbGFuZ1snbWFudWFsX2VudHJ5J10gPSAnT2RlciBnZWJlbiBTaWUgZGllc2VuIFNjaGzDvHNzZWwgbWFudWVsbCBlaW4nOwokbGFuZ1snZW50ZXJfY29kZV92ZXJpZnknXSA9ICdHZWJlbiBTaWUgenVyIMOcYmVycHLDvGZ1bmcgZGVuIDYtc3RlbGxpZ2VuIENvZGUgYXVzIElocmVyIEFwcCBlaW4nOwokbGFuZ1sndmVyaWZ5J10gPSAnVmVyaWZpemllcmVuJzsKJGxhbmdbJ3RvdHBfZW5hYmxlZCddID0gJ0RpZSBBdXRoZW50aWNhdG9yLUFwcCB3dXJkZSBlcmZvbGdyZWljaCBha3RpdmllcnQhJzsKJGxhbmdbJ3RvdHBfY29uZmlndXJlZCddID0gJ0RpZSBBdXRoZW50aWNhdG9yLUFwcCBpc3Qga29uZmlndXJpZXJ0IHVuZCBha3Rpdi4nOwokbGFuZ1sndG90cF9yZXNldF93YXJuaW5nJ10gPSAnV2VubiBTaWUgZWluZW4gUmVzZXQgdm9ybmVobWVuLCBtw7xzc2VuIFNpZSBkZW4gUVItQ29kZSBhdWYgYWxsIElocmVuIEdlcsOkdGVuIGVybmV1dCBzY2FubmVuLic7CiRsYW5nWydyZXNldF90b3RwJ10gPSAnQXV0aGVudGljYXRvci1BcHAgenVyw7xja3NldHplbic7CiRsYW5nWydjb25maXJtX3Jlc2V0J10gPSAnQmlzdCBkdSBzaWNoZXIsIGRhc3MgZHUgenVyw7xja3NldHplbiBtw7ZjaHRlc3Q/IFNpZSBtw7xzc2VuIGFsbGUgR2Vyw6R0ZSBuZXUga29uZmlndXJpZXJlbi4nOwokbGFuZ1sndG90cF9yZXNldCddID0gJ0RpZSBBdXRoZW50aWNhdG9yLUFwcCB3dXJkZSB6dXLDvGNrZ2VzZXR6dC4nOwokbGFuZ1snYmFjayddID0gJ1p1csO8Y2snOwokbGFuZ1snY2FuY2VsJ10gPSAnU3Rvcm5pZXJlbic7CiRsYW5nWyd0d29fZmFjdG9yX3JlcXVpcmVkJ10gPSAnWndlaS1GYWt0b3ItQXV0aGVudGlmaXppZXJ1bmcgZXJmb3JkZXJsaWNoJzsKJGxhbmdbJ2VudGVyX2NvZGVfZnJvbV9hcHAnXSA9ICdHZWJlbiBTaWUgZGVuIDYtc3RlbGxpZ2VuIENvZGUgYXVzIElocmVyIEF1dGhlbnRpY2F0b3ItQXBwIGVpbic7CiRsYW5nWydhdXRoZW50aWNhdGlvbl9jb2RlJ10gPSAnQXV0aGVudGlmaXppZXJ1bmdzY29kZSc7CiRsYW5nWydpbnZhbGlkX2NvZGUnXSA9ICdVbmfDvGx0aWdlciBDb2RlLiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIGVybmV1dC4nOwokbGFuZ1snY29kZV9yZXNlbnQnXSA9ICdFaW4gbmV1ZXIgQmVzdMOkdGlndW5nc2NvZGUgd3VyZGUgZ2VzZW5kZXQuJzsKJGxhbmdbJ3ZlcmlmeSddID0gJ1ZlcmlmaXppZXJlbic7CiRsYW5nWydwcm92aWRlcl9lbWFpbCddID0gJ0Jlc3TDpHRpZ3VuZyBwZXIgRS1NYWlsJzsKJGxhbmdbJ2VtYWlsX3N1YmplY3QnXSA9ICdJaHIgQmVzdMOkdGlndW5nc2NvZGUnOwokbGFuZ1snZW1haWxfYm9keSddID0gJ0lociBCZXN0w6R0aWd1bmdzY29kZSBsYXV0ZXQ6ICVzXG5cbkRpZXNlciBDb2RlIGzDpHVmdCBpbiAxMCBNaW51dGVuIGFiLic7CiRsYW5nWydlbWFpbF9ub19hZGRyZXNzJ10gPSAnRsO8ciBJaHIgS29udG8gaXN0IGtlaW5lIEUtTWFpbC1BZHJlc3NlIGtvbmZpZ3VyaWVydC4nOwokbGFuZ1snZW1haWxfc2V0dXBfaW5mbyddID0gJ0Jlc3TDpHRpZ3VuZ3Njb2RlcyB3ZXJkZW4gZ2VzZW5kZXQgYW46ICVzJzsKJGxhbmdbJ3NldHVwX2VtYWlsJ10gPSAnRS1NYWlsLVZlcmlmaXppZXJ1bmcgZWlucmljaHRlbic7CiRsYW5nWydlbWFpbF9lbmFibGVkJ10gPSAnRGllIEUtTWFpbC3DnGJlcnByw7xmdW5nIHd1cmRlIGFrdGl2aWVydCEnOwokbGFuZ1snZW1haWxfZGlzYWJsZWQnXSA9ICdEaWUgRS1NYWlsLcOcYmVycHLDvGZ1bmcgd3VyZGUgZGVha3RpdmllcnQuJzsKJGxhbmdbJ2VtYWlsX2VuYWJsZWRfc3RhdHVzJ10gPSAnRGllIEUtTWFpbC3DnGJlcnByw7xmdW5nIGlzdCBha3RpdmllcnQgdW5kIGFrdGl2Lic7CiRsYW5nWydlbmFibGVfZW1haWwnXSA9ICdFLU1haWwtw5xiZXJwcsO8ZnVuZyBha3RpdmllcmVuJzsKJGxhbmdbJ2Rpc2FibGVfZW1haWwnXSA9ICdFLU1haWwtw5xiZXJwcsO8ZnVuZyBkZWFrdGl2aWVyZW4nOwokbGFuZ1sncHJvdmlkZXJfYmFja3VwX2NvZGVzJ10gPSAnRXJzYXR6Y29kZXMnOwokbGFuZ1snc2V0dXBfYmFja3VwX2NvZGVzJ10gPSAnQmFja3VwLUNvZGVzIGVpbnJpY2h0ZW4nOwokbGFuZ1snYmFja3VwX2NvZGVzX3dhcm5pbmcnXSA9ICdCZXdhaHJlbiBTaWUgZGllc2UgQ29kZXMgYW4gZWluZW0gc2ljaGVyZW4gT3J0IGF1ZiEnOwokbGFuZ1snYmFja3VwX2NvZGVzX2luZm8nXSA9ICdKZWRlciBDb2RlIGthbm4gbnVyIGVpbm1hbCB2ZXJ3ZW5kZXQgd2VyZGVuLiBWZXJ3ZW5kZW4gU2llIHNpZSwgd2VubiBTaWUgZGVuIFp1Z3JpZmYgYXVmIElocmUgcHJpbcOkcmUgQXV0aGVudGlmaXppZXJ1bmdzbWV0aG9kZSB2ZXJsaWVyZW4uJzsKJGxhbmdbJ2JhY2t1cF9jb2Rlc19lbmFibGVkX2luZm8nXSA9ICdCYWNrdXAtQ29kZXMgc2luZCBha3RpdmllcnQuIFNpZSBrw7ZubmVuIHNpZSB2ZXJ3ZW5kZW4sIHdlbm4gU2llIGRlbiBadWdyaWZmIGF1ZiBJaHJlIGFuZGVyZW4gQXV0aGVudGlmaXppZXJ1bmdzbWV0aG9kZW4gdmVybGllcmVuLic7CiRsYW5nWydjb2Rlc19yZW1haW5pbmcnXSA9ICdWZXJibGVpYmVuZGUgQ29kZXMnOwokbGFuZ1sncmVnZW5lcmF0ZV9jb2RlcyddID0gJ0NvZGVzIHJlZ2VuZXJpZXJlbic7CiRsYW5nWydjb25maXJtX3JlZ2VuZXJhdGUnXSA9ICdEYWR1cmNoIHdlcmRlbiBhbGxlIHZvcmhhbmRlbmVuIENvZGVzIHVuZ8O8bHRpZy4gRm9ydGZhaHJlbj8nOwokbGFuZ1snZGlzYWJsZV9iYWNrdXBfY29kZXMnXSA9ICdCYWNrdXAtQ29kZXMgZGVha3RpdmllcmVuJzsKJGxhbmdbJ2NvbmZpcm1fZGlzYWJsZSddID0gJ03DtmNodGVuIFNpZSBkaWUgQmFja3VwLUNvZGVzIHdpcmtsaWNoIGRlYWt0aXZpZXJlbj8nOwokbGFuZ1snYmFja3VwX2NvZGVzX2Rpc2FibGVkJ10gPSAnQmFja3VwLUNvZGVzIHd1cmRlbiBkZWFrdGl2aWVydC4nOwokbGFuZ1snYmFja3VwX2NvZGVzX3NldHVwX2luZm8nXSA9ICdHZW5lcmllcmVuIFNpZSBCYWNrdXAtQ29kZXMsIGRpZSBTaWUgYWxzIEZhbGxiYWNrLUF1dGhlbnRpZml6aWVydW5nc21ldGhvZGUgdmVyd2VuZGVuIGvDtm5uZW4uJzsKJGxhbmdbJ2dlbmVyYXRlX2NvZGVzJ10gPSAnR2VuZXJpZXJlbiBTaWUgQmFja3VwLUNvZGVzJzsKJGxhbmdbJ3ByZW1pdW1fdGl0bGUnXSA9ICdUd29GYWN0b3IgUHJvJzsKJGxhbmdbJ2FjdGl2YXRlX3lvdXJfbGljZW5zZSddID0gJ0FrdGl2aWVyZSBkZWluZSBMaXplbnonOwokbGFuZ1sncHJlbWl1bV9kZXNjcmlwdGlvbiddID0gJ051dHplbiBTaWUgZXJ3ZWl0ZXJ0ZSBTaWNoZXJoZWl0c2tvbnRyb2xsZW4sIGVyend1bmdlbmUgMkZBIGbDvHIgYWxsZSBCZW51dHplciwgaW50ZWxsaWdlbnRlIFJhdGVuYmVncmVuenVuZywgdmVydHJhdWVuc3fDvHJkaWdlIEdlcsOkdGUgdW5kIGJldm9yenVndGVuIFN1cHBvcnQsIHNvZGFzcyBTaWUgSWhyZSBDTVMgTWFkZSBTaW1wbGUgLVdlYnNpdGUgdm9sbHN0w6RuZGlnIHNjaMO8dHplbiB1bmQgdmVyd2FsdGVuIGvDtm5uZW4uJzsKJGxhbmdbJ2xpY2Vuc2Vfa2V5J10gPSAnTGl6ZW56c2NobMO8c3NlbCc7CiRsYW5nWyd2ZXJpZnlfbGljZW5zZSddID0gJ0xpemVueiB2YWxpZGllcmVuJzsKJGxhbmdbJ2xpY2Vuc2Vfa2V5X3JlcXVpcmVkJ10gPSAnQml0dGUgZ2ViZW4gU2llIGVpbmVuIExpemVuenNjaGzDvHNzZWwgZWluLic7CiRsYW5nWydsaWNlbnNlX2FjdGl2YXRlZCddID0gJ0RpZSBMaXplbnogd3VyZGUgZXJmb2xncmVpY2ggYWt0aXZpZXJ0ISBEaWUgRnVua3Rpb25lbiB2b24gVHdvRmFjdG9yIFBybyBzaW5kIGpldHp0IGFrdGl2aWVydC4nOwokbGFuZ1snbGljZW5zZV9pbnZhbGlkJ10gPSAnVW5nw7xsdGlnZXIgTGl6ZW56c2NobMO8c3NlbC4gQml0dGUgw7xiZXJwcsO8ZmVuIFNpZSB1bmQgdmVyc3VjaGVuIFNpZSBlcyBlcm5ldXQuJzsKJGxhbmdbJ2xpY2Vuc2VfdmVyaWZpY2F0aW9uX2ZhaWxlZCddID0gJ0RpZSBMaXplbnoga29ubnRlIG5pY2h0IHZlcmlmaXppZXJ0IHdlcmRlbi4gQml0dGUgw7xiZXJwcsO8ZmVuIFNpZSBJaHJlIFZlcmJpbmR1bmcgdW5kIHZlcnN1Y2hlbiBTaWUgZXMgZXJuZXV0Lic7CiRsYW5nWydwcm9fYWN0aXZhdGVkJ10gPSAnVHdvRmFjdG9yIFBybyBha3RpdmllcnQnOwokbGFuZ1sncHJvX2ZlYXR1cmVzX3VubG9ja2VkJ10gPSAnQWxsZSBQcmVtaXVtLUZ1bmt0aW9uZW4gc2luZCBqZXR6dCBmcmVpZ2VzY2hhbHRldC4nOwokbGFuZ1sncHJvX2ZlYXR1cmVzX3RpdGxlJ10gPSAnUHJvZmktRnVua3Rpb25lbic7CiRsYW5nWydwcm9fZmVhdHVyZV9yYXRlX2xpbWl0aW5nJ10gPSAnUmF0ZW5iZWdyZW56dW5nIHVuZCBCcnV0ZS1Gb3JjZS1TY2h1dHonOwokbGFuZ1sncHJvX2ZlYXR1cmVfc2Vzc2lvbl9yZXZhbGlkYXRpb24nXSA9ICdTaXR6dW5nc2VybmV1ZXJ1bmcgZsO8ciBTaWNoZXJoZWl0c2VpbnN0ZWxsdW5nZW4nOwokbGFuZ1sncHJvX2ZlYXR1cmVfdHJ1c3RlZF9kZXZpY2VzJ10gPSAnVmVydHJhdWVuc3fDvHJkaWdlIEdlcsOkdGUgKDMwIFRhZ2UgbGFuZyBzcGVpY2hlcm4pJzsKJGxhbmdbJ3Byb19mZWF0dXJlX3VzZXJfbWFuYWdlbWVudCddID0gJ0JlbnV0emVydmVyd2FsdHVuZ3MtRGFzaGJvYXJkJzsKJGxhbmdbJ3Byb19mZWF0dXJlX2VuZm9yY2VfMmZhJ10gPSAnMkZBIGbDvHIgYWxsZSBBZG1pbi1CZW51dHplciBkdXJjaHNldHplbic7CiRsYW5nWydwcm9fZmVhdHVyZV9hdWRpdF9sb2dzJ10gPSAnRXJ3ZWl0ZXJ0ZSBBdWRpdC1Mb2dzIG1pdCBFeHBvcnQnOwokbGFuZ1sncHJvX2ZlYXR1cmVfZW1haWxfbm90aWZpY2F0aW9ucyddID0gJ0UtTWFpbC1CZW5hY2hyaWNodGlndW5nZW4gYmVpIHZlcmTDpGNodGlnZW4gQWt0aXZpdMOkdGVuJzsKJGxhbmdbJ2dldF9wcm9fbGljZW5zZSddID0gJ1Byby1MaXplbnogZXJ3ZXJiZW4nOwokbGFuZ1sncmF0ZV9saW1pdGluZ19lbmFibGVkJ10gPSAnUmF0ZW5iZWdyZW56dW5nIGFrdGl2aWVyZW4nOwokbGFuZ1sncmF0ZV9saW1pdGluZ19lbmFibGVkX2hlbHAnXSA9ICdTY2jDvHR6ZW4gU2llIHNpY2ggdm9yIEJydXRlLUZvcmNlLUFuZ3JpZmZlbiBtaXQgZXhwb25lbnRpZWxsZW0gQmFja29mZic7CiRsYW5nWydtYXhfYXR0ZW1wdHNfbG9ja291dCddID0gJ01heC4gQW56YWhsIGRlciBWZXJzdWNoZSB2b3IgZGVtIExvY2tvdXQnOwokbGFuZ1snbWF4X2F0dGVtcHRzX2xvY2tvdXRfaGVscCddID0gJ0FuemFobCBkZXIgZmVobGdlc2NobGFnZW5lbiBWZXJzdWNoZSB2b3IgZGVyIHZvcsO8YmVyZ2VoZW5kZW4gU3BlcnJ1bmcgKFN0YW5kYXJkOiA1KSc7CiRsYW5nWydtYXhfYXR0ZW1wdHNfcmVzZXQnXSA9ICdNYXguIFZlcnN1Y2hlIHZvciBkZW0gWnVyw7xja3NldHplbiBkZXMgUGFzc3dvcnRzJzsKJGxhbmdbJ21heF9hdHRlbXB0c19yZXNldF9oZWxwJ10gPSAnQW56YWhsIGRlciBmZWhsZ2VzY2hsYWdlbmVuIFZlcnN1Y2hlLCBiZXZvciBkYXMgWnVyw7xja3NldHplbiBkZXMgUGFzc3dvcnRzIGVyend1bmdlbiB3dXJkZSAoU3RhbmRhcmQ6IDEwKSc7CiRsYW5nWydub3RpZnlfYWRtaW4nXSA9ICdBZG1pbiDDvGJlciB2ZXJkw6RjaHRpZ2UgQWt0aXZpdMOkdGVuIGJlbmFjaHJpY2h0aWdlbic7CiRsYW5nWydub3RpZnlfYWRtaW5faGVscCddID0gJ0UtTWFpbC1CZW5hY2hyaWNodGlndW5nZW4gc2VuZGVuLCB3ZW5uIG1laHJlcmUgZmVobGdlc2NobGFnZW5lIFZlcnN1Y2hlIGVya2FubnQgd2VyZGVuJzsKJGxhbmdbJ3NldHRpbmdzX3NhdmVkJ10gPSAnRGllIEVpbnN0ZWxsdW5nZW4gd3VyZGVuIGVyZm9sZ3JlaWNoIGdlc3BlaWNoZXJ0Lic7CiRsYW5nWydwcm9fcmVxdWlyZWRfc2V0dGluZ3MnXSA9ICdGw7xyIGRpZSBLb25maWd1cmF0aW9uIGRpZXNlciBFaW5zdGVsbHVuZ2VuIGlzdCBlaW5lIFByby1MaXplbnogZXJmb3JkZXJsaWNoLic7CiRsYW5nWydhY2NvdW50X2xvY2tlZCddID0gJ1p1IHZpZWxlIGdlc2NoZWl0ZXJ0ZSBWZXJzdWNoZS4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBpbiAlZCBNaW51dGVuIGVybmV1dC4nOwokbGFuZ1snaXBfYmxhY2tsaXN0J10gPSAnU2Nod2FyemUgSVAtTGlzdGUnOwokbGFuZ1snaXBfYmxhY2tsaXN0X2hlbHAnXSA9ICdLb21tYWdldHJlbm50ZSBMaXN0ZSB2b24gSVAtQWRyZXNzZW4sIGRpZSBkYXVlcmhhZnQgZ2VzcGVycnQgd2VyZGVuIHNvbGxlbiAoei4gQi4gMTkyLjE2OC4xLjEsIDEwLjAuMC41KSc7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZXMnXSA9ICdFLU1haWwtVm9ybGFnZW4nOwokbGFuZ1sncmVzZXRfZW1haWxfc3ViamVjdCddID0gJ1Bhc3N3b3J0IHp1csO8Y2tzZXR6ZW4gRS1NYWlsLUJldHJlZmYnOwokbGFuZ1sncmVzZXRfZW1haWxfYm9keSddID0gJ0UtTWFpbC1UZXh0IHp1bSBadXLDvGNrc2V0emVuIGRlcyBQYXNzd29ydHMnOwokbGFuZ1sncmVzZXRfZW1haWxfcGxhY2Vob2xkZXJzJ10gPSAnVmVyZsO8Z2JhcmUgUGxhdHpoYWx0ZXI6IHt1c2VybmFtZX0sIHtyZXNldF91cmx9JzsKJGxhbmdbJ2FsZXJ0X2VtYWlsX3N1YmplY3QnXSA9ICdCZXRyZWZmIGRlciBBZG1pbi1XYXJubWVsZHVuZyc7CiRsYW5nWydhbGVydF9lbWFpbF9ib2R5J10gPSAnQWRtaW4tQWxlcnQtRS1NYWlsLVRleHQnOwokbGFuZ1snYWxlcnRfZW1haWxfcGxhY2Vob2xkZXJzJ10gPSAnVmVyZsO8Z2JhcmUgUGxhdHpoYWx0ZXI6IHt1c2VybmFtZX0sIHtpcF9hZGRyZXNzfSwge2F0dGVtcHRzfSwge3RpbWV9JzsKJGxhbmdbJ3JhdGVfbGltaXRpbmdfc2V0dGluZ3MnXSA9ICdSYXRlbmJlZ3Jlbnp1bmcgdW5kIEJydXRlLUZvcmNlLVNjaHV0eic7CiRsYW5nWyd0YWJfdGVtcGxhdGVzJ10gPSAnVm9ybGFnZW4nOwokbGFuZ1sndGFiX3Byb19zZXR0aW5ncyddID0gJ0VpbnN0ZWxsdW5nZW4nOwokbGFuZ1sndGFiX3NtcyddID0gJ1NNUy1FaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3RhYl92ZXJpZnlfbG9ncyddID0gJ8OcYmVycHLDvGZ1bmdzcHJvdG9rb2xsZSc7CiRsYW5nWyd0YWJfbGljZW5zZSddID0gJ1Byby1MaXplbnonOwokbGFuZ1sndGFiX3VwZ3JhZGUnXSA9ICdVcGdyYWRlIGF1ZiBQcm8nOwokbGFuZ1sndGFiX2RlYnVnJ10gPSAnRGVidWcnOwokbGFuZ1sncHJvX2FjdGl2ZV9iZXRhJ10gPSAnVHdvRmFjdG9yIFBybyBBa3Rpdic7CiRsYW5nWydwcm9fZmVhdHVyZXNfZW5hYmxlZCddID0gJ1ByZW1pdW0tRnVua3Rpb25lbiBha3RpdmllcnQuJzsKJGxhbmdbJ3Bhc3N3b3JkX3Jlc2V0X2VtYWlsJ10gPSAnRS1NYWlsIHp1bSBadXLDvGNrc2V0emVuIGRlcyBQYXNzd29ydHMnOwokbGFuZ1snYWRtaW5fYWxlcnRfZW1haWwnXSA9ICdBZG1pbi1BbGVydC1FLU1haWwnOwokbGFuZ1sndGFiX3VzZXJfbWFuYWdlbWVudCddID0gJ1ZlcndhbHR1bmcgZGVyIEJlbnV0emVyJzsKJGxhbmdbJ3VzZXJfbWFuYWdlbWVudCddID0gJ0JlbnV0emVydmVyd2FsdHVuZ3MtRGFzaGJvYXJkJzsKJGxhbmdbJ3VzZXJfbWFuYWdlbWVudF9oZWxwJ10gPSAnWmVpZ2VuIFNpZSBkaWUgMkZBLUVpbnN0ZWxsdW5nZW4gZsO8ciBhbGxlIEJlbnV0emVyIGFuIHVuZCB2ZXJ3YWx0ZW4gU2llIHNpZS4gU2llIGvDtm5uZW4gMkZBIGbDvHIgZ2VzcGVycnRlIEJlbnV0emVyIGRlYWt0aXZpZXJlbi4nOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOdXR6ZXJuYW1lJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRS1NYWlsJzsKJGxhbmdbJzJmYV9zdGF0dXMnXSA9ICcyRkEtU3RhdHVzJzsKJGxhbmdbJ2VuYWJsZWRfbWV0aG9kcyddID0gJ0FrdGl2aWVydGUgTWV0aG9kZW4nOwokbGFuZ1snZmFpbGVkX2F0dGVtcHRzJ10gPSAnRmVobGdlc2NobGFnZW5lIFZlcnN1Y2hlJzsKJGxhbmdbJ2Rpc2FibGVfMmZhJ10gPSAnMkZBIGRlYWt0aXZpZXJlbic7CiRsYW5nWydjb25maXJtX2Rpc2FibGVfdXNlcl8yZmEnXSA9ICdTaW5kIFNpZSBzaWNoZXIsIGRhc3MgU2llIDJGQSBmw7xyIGRlbiBCZW51dHplciDigJ4lc+KAnCBkZWFrdGl2aWVyZW4gbcO2Y2h0ZW4/IERhZHVyY2ggd2VyZGVuIGFsbGUgMkZBLUVpbnN0ZWxsdW5nZW4gdW5kIHZlcnRyYXVlbnN3w7xyZGlnZW4gR2Vyw6R0ZSBlbnRmZXJudCB1bmQgZmVobGdlc2NobGFnZW5lIFZlcnN1Y2hlIHdlcmRlbiB6dXLDvGNrZ2VzZXR6dC4nOwokbGFuZ1sndXNlcl8yZmFfZGlzYWJsZWQnXSA9ICcyRkEgd3VyZGUgZsO8ciBCZW51dHplciBkZWFrdGl2aWVydDogJXMnOwokbGFuZ1snbGVnZW5kJ10gPSAnTGVnZW5kZSc7CiRsYW5nWydsZWdlbmRfbG9ja2VkJ10gPSAnUm90ZXIgSGludGVyZ3J1bmQgPSBEZXIgQmVudXR6ZXIgaXN0IGRlcnplaXQgZ2VzcGVycnQnOwokbGFuZ1snbGVnZW5kX2ZhaWxlZF9hdHRlbXB0cyddID0gJ0ZlaGxnZXNjaGxhZ2VuZSBWZXJzdWNoZTogUm90ICg1KyksIE9yYW5nZSAoMy00KSwgU2Nod2FyeiAoMC0yKSc7CiRsYW5nWydsZWdlbmRfZGlzYWJsZSddID0gJ1ZlcndlbmRlbiBTaWUg4oCeMkZBIGRlYWt0aXZpZXJlbuKAnCwgdW0gQmVudXR6ZXIgenUgZW50c3BlcnJlbiBvZGVyIGlocmUgMkZBLUVpbnN0ZWxsdW5nZW4genUgZW50ZmVybmVuJzsKJGxhbmdbJ2RldmljZV9ub3RfZm91bmQnXSA9ICdHZXLDpHQgd3VyZGUgbmljaHQgZ2VmdW5kZW4gb2RlciBnZWjDtnJ0IElobmVuIG5pY2h0Lic7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnQWxsZ2VtZWluZSBFaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ2VuZm9yY2VfMmZhX2FsbCddID0gJzJGQSBmw7xyIGFsbGUgQWRtaW4tQmVudXR6ZXIgZHVyY2hzZXR6ZW4nOwokbGFuZ1snZW5mb3JjZV8yZmFfYWxsX2hlbHAnXSA9ICdXZW5uIGRpZXNlIE9wdGlvbiBha3RpdmllcnQgaXN0LCBtw7xzc2VuIGFsbGUgQWRtaW4tQmVudXR6ZXIgMkZBIGFrdGl2aWVyZW4sIGJldm9yIHNpZSBhdWYgZGFzIEFkbWluLVBhbmVsIHp1Z3JlaWZlbiBrw7ZubmVuLic7CiRsYW5nWycyZmFfcmVxdWlyZWQnXSA9ICcyRkEgZXJmb3JkZXJsaWNoJzsKJGxhbmdbJzJmYV9yZXF1aXJlZF9tZXNzYWdlJ10gPSAnSWhyIEFkbWluaXN0cmF0b3IgaGF0IGRpZSBvYmxpZ2F0b3Jpc2NoZSBad2VpLUZha3Rvci1BdXRoZW50aWZpemllcnVuZyBha3RpdmllcnQuIFNpZSBtw7xzc2VuIG1pbmRlc3RlbnMgZWluZSBkZXIgdW50ZW4gYXVmZ2Vmw7xocnRlbiAyRkEtTWV0aG9kZW4gYWt0aXZpZXJlbiwgdW0gZGFzIEFkbWluLVBhbmVsIHdlaXRlcmhpbiB2ZXJ3ZW5kZW4genUga8O2bm5lbi4nOwokbGFuZ1sncGVybWlzc2lvbl9kZW5pZWQnXSA9ICdFcmxhdWJuaXMgdmVyd2VpZ2VydC4gU2llIGhhYmVuIGtlaW5lbiBadWdyaWZmIGF1ZiBkaWVzZSBGdW5rdGlvbi4nOwokbGFuZ1snc21zX3NldHRpbmdzJ10gPSAnU01TLUVpbnN0ZWxsdW5nZW4nOwokbGFuZ1snc21zX2NyZWRpdHNfb3B0aW9uJ10gPSAnT3B0aW9uIDE6IFNNUy1DcmVkaXRzIHZvbiBQaXhlbCBTb2x1dGlvbnMnOwokbGFuZ1snc21zX2NyZWRpdHNfZGVzY3JpcHRpb24nXSA9ICdLYXVmZW4gU2llIFNNUy1DcmVkaXRzIGluIHVuc2VyZW0gU2hvcCB1bmQgdmVyd2VuZGVuIFNpZSBzaWUgYXVmIGFsbGVuIElocmVuIFdlYnNpdGVzLiBFaW5mYWNoLCBrZWluZSBBUEktS29uZmlndXJhdGlvbiBlcmZvcmRlcmxpY2guJzsKJGxhbmdbJ3Byb2R1Y3Rfa2V5J10gPSAnUHJvZHVrdHNjaGzDvHNzZWwnOwokbGFuZ1sncHJvZHVjdF9rZXlfaGVscCddID0gJ0dlYmVuIFNpZSBkZW4gUHJvZHVrdHNjaGzDvHNzZWwgZWluLCBkZW4gU2llIG5hY2ggZGVtIEthdWYgdm9uIFNNUy1DcmVkaXRzIGVyaGFsdGVuIGhhYmVuJzsKJGxhbmdbJ3NhdmVfcHJvZHVjdF9rZXknXSA9ICdQcm9kdWt0c2NobMO8c3NlbCBzcGVpY2hlcm4nOwokbGFuZ1sncHVyY2hhc2VfY3JlZGl0cyddID0gJ1NNUy1DcmVkaXRzIGthdWZlbic7CiRsYW5nWydzbXNfY3JlZGl0c19zYXZlZCddID0gJ0RlciBQcm9kdWt0c2NobMO8c3NlbCBmw7xyIFNNUy1HdXRoYWJlbiB3dXJkZSBlcmZvbGdyZWljaCBnZXNwZWljaGVydC4nOwokbGFuZ1sndHdpbGlvX2FwaV9vcHRpb24nXSA9ICdPcHRpb24gMjogVmVyd2VuZGVuIFNpZSBJaHIgZWlnZW5lcyBUd2lsaW8tS29udG8nOwokbGFuZ1sndHdpbGlvX2FwaV9kZXNjcmlwdGlvbiddID0gJ0tvbmZpZ3VyaWVyZW4gU2llIElocmUgZWlnZW5lbiBUd2lsaW8tQVBJLUFubWVsZGVpbmZvcm1hdGlvbmVuLCB1bSBTTVMtTmFjaHJpY2h0ZW4gZGlyZWt0IHZvbiBJaHJlbSBLb250byBhdXMgenUgc2VuZGVuLic7CiRsYW5nWydzbXNfc3RhdHVzX2F2YWlsYWJsZSddID0gJ1NNUy3DnGJlcnByw7xmdW5nIHZlcmbDvGdiYXInOwokbGFuZ1snc21zX3N0YXR1c191bmF2YWlsYWJsZSddID0gJ1NNUy3DnGJlcnByw7xmdW5nIG5pY2h0IHZlcmbDvGdiYXInOwokbGFuZ1snc21zX2NvbmZpZ3VyZV9tZXRob2QnXSA9ICdLb25maWd1cmllcmVuIFNpZSBTTVMtQ3JlZGl0cyBvZGVyIGRpZSBUd2lsaW8tQVBJLCB1bSBkaWUgU01TLcOcYmVycHLDvGZ1bmcgenUgYWt0aXZpZXJlbic7CiRsYW5nWydzbXNfYm90aF9tZXRob2RzX2FjdGl2ZSddID0gJ1Nvd29obCBTTVMtQ3JlZGl0cyBhbHMgYXVjaCBkaWUgVHdpbGlvLUFQSSBzaW5kIGtvbmZpZ3VyaWVydCc7CiRsYW5nWydzbXNfY3JlZGl0c19tZXRob2RfYWN0aXZlJ10gPSAnU01TLUNyZWRpdHMgdmVyd2VuZGVuJzsKJGxhbmdbJ3Ntc190d2lsaW9fbWV0aG9kX2FjdGl2ZSddID0gJ1ZlcndlbmRlbiBkZXIgVHdpbGlvLUFQSSc7CiRsYW5nWydzbXNfY3JlZGl0c19wcmlvcml0eSddID0gJ1NNUy1DcmVkaXRzIHdlcmRlbiB6dWVyc3QgdmVyd2VuZGV0JzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FrdGl2JzsKJGxhbmdbJ3JlbW92ZV90d2lsaW8nXSA9ICdEZWFrdGl2aWVyZW4gU2llIGRpZSBUd2lsaW8tQVBJJzsKJGxhbmdbJ2NvbmZpcm1fcmVtb3ZlX3R3aWxpbyddID0gJ03DtmNodGVuIFNpZSBkaWUgVHdpbGlvLUFQSS1Bbm1lbGRlaW5mb3JtYXRpb25lbiB3aXJrbGljaCBlbnRmZXJuZW4/JzsKJGxhbmdbJ3R3aWxpb19yZW1vdmVkJ10gPSAnRGllIFR3aWxpby1BUEktQW5tZWxkZWluZm9ybWF0aW9uZW4gd3VyZGVuIGVyZm9sZ3JlaWNoIGVudGZlcm50Lic7CiRsYW5nWydlcnJvcl9zdWJzY3JpcHRpb25fa2V5X25vdF9zdXBwb3J0ZWQnXSA9ICdEaWVzIGlzdCBlaW4gQWJvbm5lbWVudHNjaGzDvHNzZWwuIEbDvHIgU01TLUNyZWRpdHMgd2VyZGVuIG51ciBndXRoYWJlbmJhc2llcnRlIExpemVuemVuIHVudGVyc3TDvHR6dC4nOwokbGFuZ1sndHJ1c3RlZF9kZXZpY2VzJ10gPSAnVmVydHJhdWVuc3fDvHJkaWdlIEdlcsOkdGUnOwokbGFuZ1sndGFiX21ldGhvZHMnXSA9ICdNZXRob2Rlbic7CiRsYW5nWyd0YWJfdHJ1c3RlZF9kZXZpY2VzJ10gPSAnVmVydHJhdWVuc3fDvHJkaWdlIEdlcsOkdGUnOwokbGFuZ1snYWN0aW9ucyddID0gJ0FrdGlvbmVuJzsKJGxhbmdbJ2VtYWlsX3ZlcmlmaWNhdGlvbl90aXRsZSddID0gJ0Jlc3TDpHRpZ3VuZyBwZXIgRS1NYWlsJzsKJGxhbmdbJ2VtYWlsX3ZlcmlmaWNhdGlvbl9zZW50J10gPSAnRWluIEJlc3TDpHRpZ3VuZ3Njb2RlIHd1cmRlIGFuIElocmUgRS1NYWlsLUFkcmVzc2UgZ2VzZW5kZXQuJzsKJGxhbmdbJ3JlbWVtYmVyX2RldmljZSddID0gJ01lcmtlbiBTaWUgc2ljaCBkaWVzZXMgR2Vyw6R0IDMwIFRhZ2UgbGFuZyc7CiRsYW5nWydhY2NvdW50X2xvY2tlZF9zZWNvbmRzJ10gPSAnWnUgdmllbGUgZ2VzY2hlaXRlcnRlIFZlcnN1Y2hlLiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIGluICVkIFNla3VuZGUlcyBlcm5ldXQuJzsKJGxhbmdbJ2FjY291bnRfbG9ja2VkX21pbnV0ZXMnXSA9ICdadSB2aWVsZSBnZXNjaGVpdGVydGUgVmVyc3VjaGUuIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgaW4gJWQgTWludXRlbiVzIGVybmV1dC4nOwokbGFuZ1sncmVzZW5kX3ZlcmlmaWNhdGlvbl9jb2RlJ10gPSAnQmVzdMOkdGlndW5nc2NvZGUgZXJuZXV0IHNlbmRlbic7CiRsYW5nWyd1c2VfYmFja3VwX2NvZGUnXSA9ICdWZXJ3ZW5kZW4gU2llIGVpbmVuIEJhY2t1cC1Db2RlJzsKJGxhbmdbJ3RvdHBfdmVyaWZpY2F0aW9uX3RpdGxlJ10gPSAnWndlaS1GYWt0b3ItQXV0aGVudGlmaXppZXJ1bmcnOwokbGFuZ1sndmVyaWZpY2F0aW9uX2NvZGVfbGFiZWwnXSA9ICdCZXN0w6R0aWd1bmdzY29kZSc7CiRsYW5nWydzbXNfdmVyaWZpY2F0aW9uX3RpdGxlJ10gPSAnU01TLcOcYmVycHLDvGZ1bmcnOwokbGFuZ1snc21zX3ZlcmlmaWNhdGlvbl9zZW50J10gPSAnRWluIEJlc3TDpHRpZ3VuZ3Njb2RlIHd1cmRlIGFuIElociBUZWxlZm9uIGdlc2VuZGV0Lic7Cg==]]></data>
	</file>
	<file>
		<filename>/lang/ext/es_ES.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3b0ZhY3Rvcic7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnSW5pY2lvIGRlIHNlc2nDs24gc2VndXJvIENNUyBNYWRlIFNpbXBsZSBjb24gYXV0ZW50aWNhY2nDs24gZGUgZG9zIGZhY3RvcmVzICgyRkEpOiBwb3IgUGl4ZWwgU29sdXRpb25zJzsKJGxhbmdbJ3BhcmFtX3VzZXInXSA9ICdQYXLDoW1ldHJvIGRlIHVzdWFyaW8gcGFyYSBsYSBpbnRlZ3JhY2nDs24gZGUgZnJvbnRlbmQnOwokbGFuZ1snYXNrX3VuaW5zdGFsbCddID0gJ8K/RXN0w6Egc2VndXJvIGRlIHF1ZSBkZXNlYSBkZXNpbnN0YWxhciBlbCBtw7NkdWxvIFR3byBGYWN0b3I/IFNlIHBlcmRlcsOhbiB0b2RvcyBsb3MgYWp1c3Rlcy4nOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzJ10gPSAnVHdvRmFjdG9yIC0gQ29uZmlndXJhY2nDs24gZGUgVHdpbGlvJzsKJGxhbmdbJ3R3b19mYWN0b3Jfc2V0dGluZ3MnXSA9ICdDb25maWd1cmFjacOzbiBkZSBhdXRlbnRpY2FjacOzbiBkZSBkb3MgZmFjdG9yZXMnOwokbGFuZ1sndHdvX2ZhY3Rvcl9hY3RpdmUnXSA9ICdMYSBhdXRlbnRpY2FjacOzbiBkZSBkb3MgZmFjdG9yZXMgZXN0w6EgYWN0aXZhIGVuIHR1IGN1ZW50YS4nOwokbGFuZ1sndHdvX2ZhY3Rvcl9pbmFjdGl2ZSddID0gJ0xhIGF1dGVudGljYWNpw7NuIGRlIGRvcyBmYWN0b3JlcyBlc3TDoSBhY3R1YWxtZW50ZSBkZXNoYWJpbGl0YWRhLiBTZWxlY2Npb25hIHVubyBkZSBsb3Mgc2lndWllbnRlcyBtw6l0b2RvcyBwcmluY2lwYWxlcyBwYXJhIGFjdGl2YXJsby4nOwokbGFuZ1snZW5hYmxlZF9tZXRob2RzJ10gPSAnTcOpdG9kb3MgaGFiaWxpdGFkb3MnOwokbGFuZ1snYXZhaWxhYmxlX21ldGhvZHMnXSA9ICdNw6l0b2RvcyBkZSBhdXRlbnRpY2FjacOzbiBkaXNwb25pYmxlcyc7CiRsYW5nWydub19tZXRob2RzX2VuYWJsZWQnXSA9ICdBw7puIG5vIHNlIGhhIGhhYmlsaXRhZG8gbmluZ8O6biBtw6l0b2RvIGRlIGRvcyBmYWN0b3Jlcy4gRWxpZ2UgdW5vIGRlIGxvcyBzaWd1aWVudGVzIG3DqXRvZG9zIHBhcmEgZW1wZXphci4nOwokbGFuZ1sncHJpbWFyeSddID0gJ1ByaW1hcmlhJzsKJGxhbmdbJ3ByaW1hcnlfbWV0aG9kJ10gPSAnTcOpdG9kbyBwcmluY2lwYWwnOwokbGFuZ1sncHJpbWFyeV9tZXRob2RfaW5mbyddID0gJ1NlbGVjY2lvbmUgZWwgbcOpdG9kbyBwcmluY2lwYWwgcXVlIHNlIHV0aWxpemFyw6EgcGFyYSBsYSBhdXRlbnRpY2FjacOzbiBkZSBkb3MgZmFjdG9yZXMgYWwgaW5pY2lhciBzZXNpw7NuIGVuIGVzdGUgc2l0aW8nOwokbGFuZ1sndXBkYXRlJ10gPSAnQWN0dWFsaXphY2nDs24nOwokbGFuZ1sncHJpbWFyeV91cGRhdGVkJ10gPSAnU2UgYWN0dWFsaXrDsyBlbCBtw6l0b2RvIGRlIGF1dGVudGljYWNpw7NuIHByaW5jaXBhbC4nOwokbGFuZ1snbWV0aG9kJ10gPSAnTcOpdG9kbyc7CiRsYW5nWydzdGF0dXMnXSA9ICdFc3RhZG8nOwokbGFuZ1snYWN0aW9uJ10gPSAnQWNjacOzbic7CiRsYW5nWydlbmFibGVkJ10gPSAnSGFiaWxpdGFkbyc7CiRsYW5nWydkaXNhYmxlZCddID0gJ0Rpc2NhcGFjaXRhZG8nOwokbGFuZ1sndmVyaWZpZWQnXSA9ICdWZXJpZmljYWRvJzsKJGxhbmdbJ2NvbmZpZ3VyZSddID0gJ0NvbmZpZ3VyYXInOwokbGFuZ1sndGFiX3NldHRpbmdzJ10gPSAnQWp1c3Rlcyc7CiRsYW5nWyd0YWJfcHJlbWl1bSddID0gJ1ByZW1pdW0nOwokbGFuZ1sndGFiX3Ntc2NyZWRpdCddID0gJ0NvbmZpZ3VyYWNpw7NuIGRlIFNNUyc7CiRsYW5nWydzZXR0aW5nc19pbmZvJ10gPSAnQ29uZmlndXJhY2nDs24gZ2VuZXJhbCBkZWwgbcOzZHVsby4nOwokbGFuZ1sncHJlbWl1bV9pbmZvJ10gPSAnUHLDs3hpbWFtZW50ZSBoYWJyw6EgZnVuY2lvbmVzIHByZW1pdW0uJzsKJGxhbmdbJ3Ntc2NyZWRpdF9pbmZvJ10gPSAnUHLDs3hpbWFtZW50ZSwgbGEgZ2VzdGnDs24gZGUgY3LDqWRpdG9zIHBvciBTTVMuJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3NhdmVkJ10gPSAnTGEgbGljZW5jaWEgZGUgY3LDqWRpdG9zIFNNUyBzZSBndWFyZMOzIHkgdmFsaWTDsyBjb3JyZWN0YW1lbnRlLic7CiRsYW5nWydlcnJvcl9lbXB0eV9saWNlbnNlJ10gPSAnTGEgY2xhdmUgZGUgbGljZW5jaWEgbm8gcHVlZGUgZXN0YXIgdmFjw61hLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2xpY2Vuc2UnXSA9ICdMYSBjbGF2ZSBkZSBsaWNlbmNpYSBubyB2w6FsaWRhIG8gbGEgdmFsaWRhY2nDs24gZmFsbMOzLic7CiRsYW5nWydlcnJvcl90d2lsaW9fZmllbGRzX3JlcXVpcmVkJ10gPSAnVG9kb3MgbG9zIGNhbXBvcyBkZSBUd2lsaW8gc29uIG9ibGlnYXRvcmlvcy4nOwokbGFuZ1snZXJyb3JfdHdpbGlvX2ludmFsaWRfY3JlZGVudGlhbHMnXSA9ICdDcmVkZW5jaWFsZXMgZGUgVHdpbGlvIG5vIHbDoWxpZGFzLiBDb21wcnVlYmUgc3UgY2xhdmUgZGUgQVBJLCBzdSBzZWNyZXRvIHkgc3UgU0lEIGRlIHNlcnZpY2lvLic7CiRsYW5nWydzbXNfY3JlZGl0c19yZW1vdmVkJ10gPSAnTGEgbGljZW5jaWEgZGUgY3LDqWRpdG9zIHBvciBTTVMgc2UgaGEgZWxpbWluYWRvIGNvcnJlY3RhbWVudGUuJzsKJGxhbmdbJ3JlbW92ZV9saWNlbnNlJ10gPSAnRGVzYWN0aXZhciBsaWNlbmNpYSc7CiRsYW5nWydjb25maXJtX3JlbW92ZV9saWNlbnNlJ10gPSAnwr9Fc3TDoSBzZWd1cm8gZGUgcXVlIGRlc2VhIGVsaW1pbmFyIGxhIGxpY2VuY2lhIGRlIGNyw6lkaXRvcyBwb3IgU01TPyc7CiRsYW5nWydsaWNlbnNlX3JlbW92ZWQnXSA9ICdMYSBsaWNlbmNpYSBzZSBoYSBlbGltaW5hZG8gY29ycmVjdGFtZW50ZS4nOwokbGFuZ1snbGljZW5zZV92YWxpZCddID0gJ0xhIGxpY2VuY2lhIGVzIHbDoWxpZGEgeSBlc3TDoSBhY3RpdmEuJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX2FjdGl2ZSddID0gJ0Nyw6lkaXRvcyByZXN0YW50ZXM6ICVzJzsKJGxhbmdbJ3R5cGVfVHdvRmFjdG9yJ10gPSAnRG9zIGZhY3RvcmVzJzsKJGxhbmdbJ3R5cGVfZW1haWxfdmVyaWZpY2F0aW9uJ10gPSAnVmVyaWZpY2FjacOzbiBkZSBjb3JyZW8gZWxlY3Ryw7NuaWNvJzsKJGxhbmdbJ3Byb3ZpZGVyX3RvdHAnXSA9ICdBcGxpY2FjacOzbiBkZSBhdXRlbnRpY2FjacOzbiAoVE9UUCknOwokbGFuZ1sndG90cF9kZXNjcmlwdGlvbiddID0gJ1VzYSBHb29nbGUgQXV0aGVudGljYXRvciwgQXV0aHkgbyBhcGxpY2FjaW9uZXMgc2ltaWxhcmVzJzsKJGxhbmdbJ2VtYWlsX2Rlc2NyaXB0aW9uJ10gPSAnUmVjaWJhIGPDs2RpZ29zIGRlIHZlcmlmaWNhY2nDs24gcG9yIGNvcnJlbyBlbGVjdHLDs25pY28nOwokbGFuZ1snYmFja3VwX2NvZGVzX2Rlc2NyaXB0aW9uJ10gPSAnQ8OzZGlnb3MgZGUgcmVzcGFsZG8gZGUgdW4gc29sbyB1c28gcGFyYSBhY2Nlc28gZGUgZW1lcmdlbmNpYSc7CiRsYW5nWydwcm92aWRlcl9zbXMnXSA9ICdWZXJpZmljYWNpw7NuIHBvciBTTVMnOwokbGFuZ1snc21zX2Rlc2NyaXB0aW9uJ10gPSAnUmVjaWJhIGPDs2RpZ29zIGRlIHZlcmlmaWNhY2nDs24gcG9yIG1lbnNhamUgZGUgdGV4dG8nOwokbGFuZ1snc2V0dXBfc21zJ10gPSAnQ29uZmlndXJhciBsYSB2ZXJpZmljYWNpw7NuIHBvciBTTVMnOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzJ10gPSAnQ29uZmlndXJhY2nDs24gZGUgbGEgQVBJIGRlIFR3aWxpbyc7CiRsYW5nWyd0d2lsaW9fYXBpX2tleV9zaWQnXSA9ICdTSUQgZGUgY2xhdmUgZGUgQVBJIGRlIFR3aWxpbyc7CiRsYW5nWyd0d2lsaW9fYXBpX3NlY3JldCddID0gJ1NlY3JldG8gZGUgbGEgQVBJIGRlIFR3aWxpbyc7CiRsYW5nWyd0d2lsaW9fc2VydmljZV9zaWQnXSA9ICdTSUQgZGVsIHNlcnZpY2lvIGRlIHZlcmlmaWNhY2nDs24gZGUgVHdpbGlvJzsKJGxhbmdbJ3R3aWxpb19zZXJ2aWNlX3NpZF9oZWxwJ10gPSAnQ3JlYSB1biBzZXJ2aWNpbyBkZSB2ZXJpZmljYWNpw7NuIGVuIHR1IGNvbnNvbGEgVHdpbGlvIGUgaW50cm9kdWNlIGVsIFNJRCBkZWwgc2VydmljaW8gYXF1w60nOwokbGFuZ1snc2F2ZV9zZXR0aW5ncyddID0gJ0d1YXJkYXIgY29uZmlndXJhY2nDs24nOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzX3NhdmVkJ10gPSAnU2UgaGEgZ3VhcmRhZG8gbGEgY29uZmlndXJhY2nDs24gZGUgVHdpbGlvLic7CiRsYW5nWyd0ZXN0X2NvbmZpZ3VyYXRpb24nXSA9ICdDb25maWd1cmFjacOzbiBkZSBwcnVlYmEnOwokbGFuZ1sndGVzdF9jb25maWd1cmF0aW9uX2luZm8nXSA9ICdVc2EgbG9zIG7Dum1lcm9zIG3DoWdpY29zIGRlIFR3aWxpbyBwYXJhIHJlYWxpemFyIHBydWViYXMgY29uIGNyZWRlbmNpYWxlcyBkZSBwcnVlYmEuIExhIHBydWViYSB1dGlsaXphIGxhIEFQSSBkZSBTTVMgcHJvZ3JhbWFibGUgKG5vIGxhIEFQSSBWZXJpZnkpLic7CiRsYW5nWyd0ZXN0X3Bob25lX251bWJlciddID0gJ07Dum1lcm8gZGUgdGVsw6lmb25vIGRlIHBydWViYSc7CiRsYW5nWydtYWdpY19udW1iZXJfaGVscCddID0gJ1V0aWxpY2UgKzE1MDA1NTUwMDA2ICjDqXhpdG8pIG8gKzE1MDA1NTUwMDAxIChuw7ptZXJvIG5vIHbDoWxpZG8pIHBhcmEgcmVhbGl6YXIgbGEgcHJ1ZWJhJzsKJGxhbmdbJ3NlbmRfdGVzdF9zbXMnXSA9ICdFbnZpYXIgU01TIGRlIHBydWViYSc7CiRsYW5nWyd0ZXN0X3Ntc19zZW50J10gPSAnwqFFbCBTTVMgZGUgcHJ1ZWJhIHNlIGVudmnDsyBjb3JyZWN0YW1lbnRlISBOb3RhOiBFc3RvIHV0aWxpemEgbGEgQVBJIGRlIFNNUyBwcm9ncmFtYWJsZSBwYXJhIGxhcyBwcnVlYmFzLic7CiRsYW5nWyd0ZXN0X3Ntc19mYWlsZWQnXSA9ICdGYWxsbyBkZSBwcnVlYmEgZGUgU01TOiAlcyc7CiRsYW5nWyd0d2lsaW9fbm90X2NvbmZpZ3VyZWQnXSA9ICdQcmltZXJvIGNvbmZpZ3VyYSBlbCBTSUQgZGUgbGEgY3VlbnRhIGRlIFR3aWxpbyB5IGVsIHRva2VuIGRlIGF1dGVudGljYWNpw7NuLic7CiRsYW5nWydjb25maWd1cmVfdHdpbGlvJ10gPSAnQ29uZmlndXJhciBsb3MgYWp1c3RlcyBkZSBUd2lsaW8nOwokbGFuZ1snc21zX3VzZXJfc2V0dGluZ3MnXSA9ICdUdSBjb25maWd1cmFjacOzbiBkZSBTTVMnOwokbGFuZ1sncGhvbmVfbnVtYmVyJ10gPSAnTsO6bWVybyBkZSB0ZWzDqWZvbm8nOwokbGFuZ1sncGhvbmVfZm9ybWF0X2hlbHAnXSA9ICdJbnRyb2TDunpjYWxvIGVuIGZvcm1hdG8gRS4xNjQgKHAuIGVqLiwgKzEyMzQ1Njc4OTApJzsKJGxhbmdbJ3Ntc19zZXR1cF9pbmZvJ10gPSAnSW50cm9kdWNlIHR1IG7Dum1lcm8gZGUgdGVsw6lmb25vIHBhcmEgcmVjaWJpciBsb3MgY8OzZGlnb3MgZGUgdmVyaWZpY2FjacOzbiBwb3IgU01TLic7CiRsYW5nWyd2ZXJpZmljYXRpb25fc2VudCddID0gJ8KhQ8OzZGlnbyBkZSB2ZXJpZmljYWNpw7NuIGVudmlhZG8hIFJldmlzYSB0dSB0ZWzDqWZvbm8uJzsKJGxhbmdbJ3ZlcmlmaWNhdGlvbl9mYWlsZWQnXSA9ICdObyBzZSBwdWRvIGVudmlhciBsYSB2ZXJpZmljYWNpw7NuOiAlcyc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZV9zZW50J10gPSAnU2UgaGEgZW52aWFkbyB1biBjw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24gYSAlcyc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZSddID0gJ0PDs2RpZ28gZGUgdmVyaWZpY2FjacOzbic7CiRsYW5nWyd2ZXJpZnlfcGhvbmUnXSA9ICdWZXJpZmljYXIgbsO6bWVybyBkZSB0ZWzDqWZvbm8nOwokbGFuZ1sncmVzZW5kX2NvZGUnXSA9ICdSZWVudmlhciBjw7NkaWdvJzsKJGxhbmdbJ2NoYW5nZV9waG9uZSddID0gJ0NhbWJpYXIgbsO6bWVybyBkZSB0ZWzDqWZvbm8nOwokbGFuZ1snc2VuZF92ZXJpZmljYXRpb25fY29kZSddID0gJ0VudmlhciBjw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24nOwokbGFuZ1snc21zX2VuYWJsZWQnXSA9ICfCoVNlIGhhIGhhYmlsaXRhZG8gbGEgdmVyaWZpY2FjacOzbiBwb3IgU01TISc7CiRsYW5nWydzbXNfZGlzYWJsZWQnXSA9ICdTZSBoYSBkZXNhY3RpdmFkbyBsYSB2ZXJpZmljYWNpw7NuIHBvciBTTVMuJzsKJGxhbmdbJ3Ntc19lbmFibGVkX2luZm8nXSA9ICdMYSB2ZXJpZmljYWNpw7NuIHBvciBTTVMgZXN0w6EgaGFiaWxpdGFkYSBwYXJhOiAlcyc7CiRsYW5nWydlbmFibGVfc21zJ10gPSAnSGFiaWxpdGFyIGxhIHZlcmlmaWNhY2nDs24gcG9yIFNNUyc7CiRsYW5nWydkaXNhYmxlX3NtcyddID0gJ0Rlc2FjdGl2YXIgbGEgdmVyaWZpY2FjacOzbiBwb3IgU01TJzsKJGxhbmdbJ3Ntc19ib2R5J10gPSAnVHUgY8OzZGlnbyBkZSB2ZXJpZmljYWNpw7NuIGVzOiAlcyc7CiRsYW5nWydzZXR1cF90b3RwJ10gPSAnQ29uZmlndXJhciBsYSBhcGxpY2FjacOzbiBkZSBhdXRlbnRpY2FjacOzbiAoVE9UUCknOwokbGFuZ1snc2Nhbl9xciddID0gJ0VzY2FuZWEgZXN0ZSBjw7NkaWdvIFFSIGNvbiB0dSBhcGxpY2FjacOzbiBkZSBhdXRlbnRpY2FjacOzbiAoR29vZ2xlIEF1dGhlbnRpY2F0b3IsIEF1dGh5LCBldGMuKSc7CiRsYW5nWydtYW51YWxfZW50cnknXSA9ICdPIGludHJvZHVjZSBlc3RhIGNsYXZlIG1hbnVhbG1lbnRlJzsKJGxhbmdbJ2VudGVyX2NvZGVfdmVyaWZ5J10gPSAnSW5ncmVzYSBlbCBjw7NkaWdvIGRlIDYgZMOtZ2l0b3MgZGUgdHUgYXBsaWNhY2nDs24gcGFyYSB2ZXJpZmljYXInOwokbGFuZ1sndmVyaWZ5J10gPSAnVmVyaWZpY2FyJzsKJGxhbmdbJ3RvdHBfZW5hYmxlZCddID0gJ8KhTGEgYXBsaWNhY2nDs24gZGUgYXV0ZW50aWNhY2nDs24gc2UgaGEgaGFiaWxpdGFkbyBjb3JyZWN0YW1lbnRlISc7CiRsYW5nWyd0b3RwX2NvbmZpZ3VyZWQnXSA9ICdMYSBhcGxpY2FjacOzbiBBdXRoZW50aWNhdG9yIGVzdMOhIGNvbmZpZ3VyYWRhIHkgYWN0aXZhLic7CiRsYW5nWyd0b3RwX3Jlc2V0X3dhcm5pbmcnXSA9ICdTaSByZXN0YWJsZWNlcywgdGVuZHLDoXMgcXVlIHZvbHZlciBhIGVzY2FuZWFyIGVsIGPDs2RpZ28gUVIgZW4gdG9kb3MgdHVzIGRpc3Bvc2l0aXZvcy4nOwokbGFuZ1sncmVzZXRfdG90cCddID0gJ1Jlc3RhYmxlY2VyIGxhIGFwbGljYWNpw7NuIEF1dGhlbnRpY2F0b3InOwokbGFuZ1snY29uZmlybV9yZXNldCddID0gJ8K/RXN0w6FzIHNlZ3VybyBkZSBxdWUgcXVpZXJlcyByZXN0YWJsZWNlcmxvPyBUZW5kcsOhIHF1ZSB2b2x2ZXIgYSBjb25maWd1cmFyIHRvZG9zIGxvcyBkaXNwb3NpdGl2b3MuJzsKJGxhbmdbJ3RvdHBfcmVzZXQnXSA9ICdTZSBoYSByZXN0YWJsZWNpZG8gbGEgYXBsaWNhY2nDs24gQXV0aGVudGljYXRvci4nOwokbGFuZ1snYmFjayddID0gJ0F0csOhcyc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWxhcic7CiRsYW5nWyd0d29fZmFjdG9yX3JlcXVpcmVkJ10gPSAnU2UgcmVxdWllcmUgYXV0ZW50aWNhY2nDs24gZGUgZG9zIGZhY3RvcmVzJzsKJGxhbmdbJ2VudGVyX2NvZGVfZnJvbV9hcHAnXSA9ICdJbnRyb2R1Y2UgZWwgY8OzZGlnbyBkZSA2IGTDrWdpdG9zIGRlIHR1IGFwbGljYWNpw7NuIGRlIGF1dGVudGljYWNpw7NuJzsKJGxhbmdbJ2F1dGhlbnRpY2F0aW9uX2NvZGUnXSA9ICdDw7NkaWdvIGRlIGF1dGVudGljYWNpw7NuJzsKJGxhbmdbJ2ludmFsaWRfY29kZSddID0gJ0PDs2RpZ28gbm8gdsOhbGlkby4gUG9yIGZhdm9yLCBpbnTDqW50ZWxvIGRlIG51ZXZvLic7CiRsYW5nWydjb2RlX3Jlc2VudCddID0gJ1NlIGhhIGVudmlhZG8gdW4gbnVldm8gY8OzZGlnbyBkZSB2ZXJpZmljYWNpw7NuLic7CiRsYW5nWyd2ZXJpZnknXSA9ICdWZXJpZmljYXInOwokbGFuZ1sncHJvdmlkZXJfZW1haWwnXSA9ICdWZXJpZmljYWNpw7NuIGRlIGNvcnJlbyBlbGVjdHLDs25pY28nOwokbGFuZ1snZW1haWxfc3ViamVjdCddID0gJ1R1IGPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbic7CiRsYW5nWydlbWFpbF9ib2R5J10gPSAnVHUgY8OzZGlnbyBkZSB2ZXJpZmljYWNpw7NuIGVzOiAlc1xuXG5Fc3RlIGPDs2RpZ28gY2FkdWNhcsOhIGVuIDEwIG1pbnV0b3MuJzsKJGxhbmdbJ2VtYWlsX25vX2FkZHJlc3MnXSA9ICdObyBoYXkgbmluZ3VuYSBkaXJlY2Npw7NuIGRlIGNvcnJlbyBlbGVjdHLDs25pY28gY29uZmlndXJhZGEgcGFyYSB0dSBjdWVudGEuJzsKJGxhbmdbJ2VtYWlsX3NldHVwX2luZm8nXSA9ICdMb3MgY8OzZGlnb3MgZGUgdmVyaWZpY2FjacOzbiBzZSBlbnZpYXLDoW4gYTogJXMnOwokbGFuZ1snc2V0dXBfZW1haWwnXSA9ICdDb25maWd1cmFyIGxhIHZlcmlmaWNhY2nDs24gZGVsIGNvcnJlbyBlbGVjdHLDs25pY28nOwokbGFuZ1snZW1haWxfZW5hYmxlZCddID0gJ8KhU2UgaGEgaGFiaWxpdGFkbyBsYSB2ZXJpZmljYWNpw7NuIGRlbCBjb3JyZW8gZWxlY3Ryw7NuaWNvISc7CiRsYW5nWydlbWFpbF9kaXNhYmxlZCddID0gJ1NlIGhhIGRlc2FjdGl2YWRvIGxhIHZlcmlmaWNhY2nDs24gZGVsIGNvcnJlbyBlbGVjdHLDs25pY28uJzsKJGxhbmdbJ2VtYWlsX2VuYWJsZWRfc3RhdHVzJ10gPSAnTGEgdmVyaWZpY2FjacOzbiBkZWwgY29ycmVvIGVsZWN0csOzbmljbyBlc3TDoSBoYWJpbGl0YWRhIHkgYWN0aXZhLic7CiRsYW5nWydlbmFibGVfZW1haWwnXSA9ICdIYWJpbGl0YXIgbGEgdmVyaWZpY2FjacOzbiBkZSBjb3JyZW8gZWxlY3Ryw7NuaWNvJzsKJGxhbmdbJ2Rpc2FibGVfZW1haWwnXSA9ICdEZXNhY3RpdmFyIGxhIHZlcmlmaWNhY2nDs24gZGUgY29ycmVvIGVsZWN0csOzbmljbyc7CiRsYW5nWydwcm92aWRlcl9iYWNrdXBfY29kZXMnXSA9ICdDw7NkaWdvcyBkZSByZXNwYWxkbyc7CiRsYW5nWydzZXR1cF9iYWNrdXBfY29kZXMnXSA9ICdDb25maWd1cmFyIGPDs2RpZ29zIGRlIHJlc3BhbGRvJzsKJGxhbmdbJ2JhY2t1cF9jb2Rlc193YXJuaW5nJ10gPSAnwqFHdWFyZGEgZXN0b3MgY8OzZGlnb3MgZW4gdW4gbHVnYXIgc2VndXJvISc7CiRsYW5nWydiYWNrdXBfY29kZXNfaW5mbyddID0gJ0NhZGEgY8OzZGlnbyBzb2xvIHNlIHB1ZWRlIHVzYXIgdW5hIHZlei4gw5pzYWxvcyBzaSBwaWVyZGVzIGVsIGFjY2VzbyBhIHR1IG3DqXRvZG8gZGUgYXV0ZW50aWNhY2nDs24gcHJpbmNpcGFsLic7CiRsYW5nWydiYWNrdXBfY29kZXNfZW5hYmxlZF9pbmZvJ10gPSAnTG9zIGPDs2RpZ29zIGRlIHJlc3BhbGRvIGVzdMOhbiBoYWJpbGl0YWRvcy4gUHVlZGVzIHVzYXJsb3Mgc2kgcGllcmRlcyBlbCBhY2Nlc28gYSB0dXMgb3Ryb3MgbcOpdG9kb3MgZGUgYXV0ZW50aWNhY2nDs24uJzsKJGxhbmdbJ2NvZGVzX3JlbWFpbmluZyddID0gJ0PDs2RpZ29zIHJlc3RhbnRlcyc7CiRsYW5nWydyZWdlbmVyYXRlX2NvZGVzJ10gPSAnUmVnZW5lcmFyIGPDs2RpZ29zJzsKJGxhbmdbJ2NvbmZpcm1fcmVnZW5lcmF0ZSddID0gJ0VzdG8gaW52YWxpZGFyw6EgdG9kb3MgbG9zIGPDs2RpZ29zIGV4aXN0ZW50ZXMuIMK/Q29udGludWFyPyc7CiRsYW5nWydkaXNhYmxlX2JhY2t1cF9jb2RlcyddID0gJ0Rlc2hhYmlsaXRhciBjw7NkaWdvcyBkZSByZXNwYWxkbyc7CiRsYW5nWydjb25maXJtX2Rpc2FibGUnXSA9ICfCv0VzdMOhIHNlZ3VybyBkZSBxdWUgZGVzZWEgZGVzaGFiaWxpdGFyIGxvcyBjw7NkaWdvcyBkZSByZXNwYWxkbz8nOwokbGFuZ1snYmFja3VwX2NvZGVzX2Rpc2FibGVkJ10gPSAnU2UgaGFuIGRlc2FjdGl2YWRvIGxvcyBjw7NkaWdvcyBkZSByZXNwYWxkby4nOwokbGFuZ1snYmFja3VwX2NvZGVzX3NldHVwX2luZm8nXSA9ICdHZW5lcmUgY8OzZGlnb3MgZGUgcmVzcGFsZG8gcGFyYSB1c2FybG9zIGNvbW8gbcOpdG9kbyBkZSBhdXRlbnRpY2FjacOzbiBhbHRlcm5hdGl2by4nOwokbGFuZ1snZ2VuZXJhdGVfY29kZXMnXSA9ICdHZW5lcmFyIGPDs2RpZ29zIGRlIHJlc3BhbGRvJzsKJGxhbmdbJ3ByZW1pdW1fdGl0bGUnXSA9ICdEb2JsZSBmYWN0b3IgUHJvJzsKJGxhbmdbJ2FjdGl2YXRlX3lvdXJfbGljZW5zZSddID0gJ0FjdGl2YSB0dSBsaWNlbmNpYSc7CiRsYW5nWydwcmVtaXVtX2Rlc2NyaXB0aW9uJ10gPSAnRGVzYmxvcXVlZSBsb3MgY29udHJvbGVzIGRlIHNlZ3VyaWRhZCBhdmFuemFkb3MsIGxhIGF1dGVudGljYWNpw7NuIGRlIGRvcyBmYWN0b3JlcyBwYXJhIHRvZG9zIGxvcyB1c3VhcmlvcywgbGEgbGltaXRhY2nDs24gaW50ZWxpZ2VudGUgZGUgdmVsb2NpZGFkLCBsb3MgZGlzcG9zaXRpdm9zIGNvbmZpYWJsZXMgeSBlbCBzb3BvcnRlIHByaW9yaXRhcmlvLCBsbyBxdWUgbGUgYnJpbmRhIHByb3RlY2Npw7NuIHkgc3VwZXJ2aXNpw7NuIGFkbWluaXN0cmF0aXZhIGNvbXBsZXRhcyBwYXJhIHN1IHNpdGlvIENNUyBNYWRlIFNpbXBsZS4nOwokbGFuZ1snbGljZW5zZV9rZXknXSA9ICdDbGF2ZSBkZSBsaWNlbmNpYSc7CiRsYW5nWyd2ZXJpZnlfbGljZW5zZSddID0gJ1ZhbGlkYXIgbGljZW5jaWEnOwokbGFuZ1snbGljZW5zZV9rZXlfcmVxdWlyZWQnXSA9ICdJbnRyb2R1emNhIHVuYSBjbGF2ZSBkZSBsaWNlbmNpYS4nOwokbGFuZ1snbGljZW5zZV9hY3RpdmF0ZWQnXSA9ICfCoUxhIGxpY2VuY2lhIHNlIGFjdGl2w7MgY29ycmVjdGFtZW50ZSEgTGFzIGZ1bmNpb25lcyBkZSBUd29GYWN0b3IgUHJvIGFob3JhIGVzdMOhbiBoYWJpbGl0YWRhcy4nOwokbGFuZ1snbGljZW5zZV9pbnZhbGlkJ10gPSAnQ2xhdmUgZGUgbGljZW5jaWEgbm8gdsOhbGlkYS4gQ29tcHJ1w6liZWxvIHkgdnVlbHZhIGEgaW50ZW50YXJsby4nOwokbGFuZ1snbGljZW5zZV92ZXJpZmljYXRpb25fZmFpbGVkJ10gPSAnTm8gc2UgcHVlZGUgdmVyaWZpY2FyIGxhIGxpY2VuY2lhLiBDb21wcnVlYmEgbGEgY29uZXhpw7NuIGUgaW50w6ludGFsbyBkZSBudWV2by4nOwokbGFuZ1sncHJvX2FjdGl2YXRlZCddID0gJ1R3b0ZhY3RvciBQcm8gYWN0aXZhZG8nOwokbGFuZ1sncHJvX2ZlYXR1cmVzX3VubG9ja2VkJ10gPSAnVG9kYXMgbGFzIGZ1bmNpb25lcyBwcmVtaXVtIHlhIGVzdMOhbiBkZXNibG9xdWVhZGFzLic7CiRsYW5nWydwcm9fZmVhdHVyZXNfdGl0bGUnXSA9ICdDYXJhY3RlcsOtc3RpY2FzIHByb2Zlc2lvbmFsZXMnOwokbGFuZ1sncHJvX2ZlYXR1cmVfcmF0ZV9saW1pdGluZyddID0gJ0xpbWl0YWNpw7NuIGRlIHZlbG9jaWRhZCB5IHByb3RlY2Npw7NuIGNvbnRyYSBsYSBmdWVyemEgYnJ1dGEnOwokbGFuZ1sncHJvX2ZlYXR1cmVfc2Vzc2lvbl9yZXZhbGlkYXRpb24nXSA9ICdSZXZhbGlkYWNpw7NuIGRlIHNlc2nDs24gcGFyYSBsYSBjb25maWd1cmFjacOzbiBkZSBzZWd1cmlkYWQnOwokbGFuZ1sncHJvX2ZlYXR1cmVfdHJ1c3RlZF9kZXZpY2VzJ10gPSAnRGlzcG9zaXRpdm9zIGNvbmZpYWJsZXMgKHJlY3XDqXJkZWxvcyBkdXJhbnRlIDMwIGTDrWFzKSc7CiRsYW5nWydwcm9fZmVhdHVyZV91c2VyX21hbmFnZW1lbnQnXSA9ICdQYW5lbCBkZSBhZG1pbmlzdHJhY2nDs24gZGUgdXN1YXJpb3MnOwokbGFuZ1sncHJvX2ZlYXR1cmVfZW5mb3JjZV8yZmEnXSA9ICdJbXBsZW1lbnRlIGxhIDJGQSBwYXJhIHRvZG9zIGxvcyB1c3VhcmlvcyBhZG1pbmlzdHJhZG9yZXMnOwokbGFuZ1sncHJvX2ZlYXR1cmVfYXVkaXRfbG9ncyddID0gJ1JlZ2lzdHJvcyBkZSBhdWRpdG9yw61hIGF2YW56YWRvcyBjb24gZXhwb3J0YWNpw7NuJzsKJGxhbmdbJ3Byb19mZWF0dXJlX2VtYWlsX25vdGlmaWNhdGlvbnMnXSA9ICdOb3RpZmljYWNpb25lcyBwb3IgY29ycmVvIGVsZWN0csOzbmljbyBwYXJhIGFjdGl2aWRhZGVzIHNvc3BlY2hvc2FzJzsKJGxhbmdbJ2dldF9wcm9fbGljZW5zZSddID0gJ09idGVuZ2EgdW5hIGxpY2VuY2lhIFBybyc7CiRsYW5nWydyYXRlX2xpbWl0aW5nX2VuYWJsZWQnXSA9ICdIYWJpbGl0YXIgbGEgbGltaXRhY2nDs24gZGUgdmVsb2NpZGFkJzsKJGxhbmdbJ3JhdGVfbGltaXRpbmdfZW5hYmxlZF9oZWxwJ10gPSAnUHJvdMOpamFzZSBjb250cmEgbG9zIGF0YXF1ZXMgZGUgZnVlcnphIGJydXRhIGNvbiB1biByZXRyb2Nlc28gZXhwb25lbmNpYWwnOwokbGFuZ1snbWF4X2F0dGVtcHRzX2xvY2tvdXQnXSA9ICdOw7ptZXJvIG3DoXhpbW8gZGUgaW50ZW50b3MgYW50ZXMgZGVsIGNpZXJyZSBwYXRyb25hbCc7CiRsYW5nWydtYXhfYXR0ZW1wdHNfbG9ja291dF9oZWxwJ10gPSAnTsO6bWVybyBkZSBpbnRlbnRvcyBmYWxsaWRvcyBhbnRlcyBkZWwgYmxvcXVlbyB0ZW1wb3JhbCAocHJlZGV0ZXJtaW5hZG86IDUpJzsKJGxhbmdbJ21heF9hdHRlbXB0c19yZXNldCddID0gJ07Dum1lcm8gbcOheGltbyBkZSBpbnRlbnRvcyBhbnRlcyBkZSByZXN0YWJsZWNlciBsYSBjb250cmFzZcOxYSc7CiRsYW5nWydtYXhfYXR0ZW1wdHNfcmVzZXRfaGVscCddID0gJ07Dum1lcm8gZGUgaW50ZW50b3MgZmFsbGlkb3MgYW50ZXMgZGUgZm9yemFyIGVsIHJlc3RhYmxlY2ltaWVudG8gZGUgbGEgY29udHJhc2XDsWEgKHByZWRldGVybWluYWRvOiAxMCknOwokbGFuZ1snbm90aWZ5X2FkbWluJ10gPSAnTm90aWZpY2FyIGFsIGFkbWluaXN0cmFkb3Igc29icmUgYWN0aXZpZGFkZXMgc29zcGVjaG9zYXMnOwokbGFuZ1snbm90aWZ5X2FkbWluX2hlbHAnXSA9ICdFbnZpYXIgYWxlcnRhcyBwb3IgY29ycmVvIGVsZWN0csOzbmljbyBjdWFuZG8gc2UgZGV0ZWN0ZW4gdmFyaW9zIGludGVudG9zIGZhbGxpZG9zJzsKJGxhbmdbJ3NldHRpbmdzX3NhdmVkJ10gPSAnTGEgY29uZmlndXJhY2nDs24gc2UgZ3VhcmTDsyBjb3JyZWN0YW1lbnRlLic7CiRsYW5nWydwcm9fcmVxdWlyZWRfc2V0dGluZ3MnXSA9ICdTZSByZXF1aWVyZSB1bmEgbGljZW5jaWEgUHJvIHBhcmEgY29uZmlndXJhciBlc3RvcyBhanVzdGVzLic7CiRsYW5nWydhY2NvdW50X2xvY2tlZCddID0gJ0RlbWFzaWFkb3MgaW50ZW50b3MgZmFsbGlkb3MuIFZ1ZWx2ZSBhIGludGVudGFybG8gZW4gJWQgbWludXRvcy4nOwokbGFuZ1snaXBfYmxhY2tsaXN0J10gPSAnTGlzdGEgbmVncmEgZGUgSVAnOwokbGFuZ1snaXBfYmxhY2tsaXN0X2hlbHAnXSA9ICdMaXN0YSBkZSBkaXJlY2Npb25lcyBJUCBzZXBhcmFkYXMgcG9yIGNvbWFzIHBhcmEgYmxvcXVlYXIgcGVybWFuZW50ZW1lbnRlIChwLiBlai4sIDE5Mi4xNjguMS4xLCAxMC4wLjAuNSknOwokbGFuZ1snZW1haWxfdGVtcGxhdGVzJ10gPSAnUGxhbnRpbGxhcyBkZSBjb3JyZW8gZWxlY3Ryw7NuaWNvJzsKJGxhbmdbJ3Jlc2V0X2VtYWlsX3N1YmplY3QnXSA9ICdBc3VudG8gZGVsIGNvcnJlbyBlbGVjdHLDs25pY28gcGFyYSByZXN0YWJsZWNlciBsYSBjb250cmFzZcOxYSc7CiRsYW5nWydyZXNldF9lbWFpbF9ib2R5J10gPSAnQ3VlcnBvIGRlbCBjb3JyZW8gZWxlY3Ryw7NuaWNvIHBhcmEgcmVzdGFibGVjZXIgbGEgY29udHJhc2XDsWEnOwokbGFuZ1sncmVzZXRfZW1haWxfcGxhY2Vob2xkZXJzJ10gPSAnTWFyY2Fkb3JlcyBkZSBwb3NpY2nDs24gZGlzcG9uaWJsZXM6IHt1c2VybmFtZX0sIHtyZXNldF91cmx9JzsKJGxhbmdbJ2FsZXJ0X2VtYWlsX3N1YmplY3QnXSA9ICdBc3VudG8gZGVsIGNvcnJlbyBlbGVjdHLDs25pY28gZGUgYWxlcnRhIGRlIGFkbWluaXN0cmFkb3InOwokbGFuZ1snYWxlcnRfZW1haWxfYm9keSddID0gJ0N1ZXJwbyBkZWwgY29ycmVvIGVsZWN0csOzbmljbyBkZSBhbGVydGEgZGUgYWRtaW5pc3RyYWRvcic7CiRsYW5nWydhbGVydF9lbWFpbF9wbGFjZWhvbGRlcnMnXSA9ICdNYXJjYWRvcmVzIGRlIHBvc2ljacOzbiBkaXNwb25pYmxlczoge3VzZXJuYW1lfSwge2lwX2FkZHJlc3N9LCB7YXR0ZW1wdHN9LCB7dGltZX0nOwokbGFuZ1sncmF0ZV9saW1pdGluZ19zZXR0aW5ncyddID0gJ0xpbWl0YWNpw7NuIGRlIHZlbG9jaWRhZCB5IHByb3RlY2Npw7NuIGNvbnRyYSBsYSBmdWVyemEgYnJ1dGEnOwokbGFuZ1sndGFiX3RlbXBsYXRlcyddID0gJ1BsYW50aWxsYXMnOwokbGFuZ1sndGFiX3Byb19zZXR0aW5ncyddID0gJ0FqdXN0ZXMnOwokbGFuZ1sndGFiX3NtcyddID0gJ0NvbmZpZ3VyYWNpw7NuIGRlIFNNUyc7CiRsYW5nWyd0YWJfdmVyaWZ5X2xvZ3MnXSA9ICdSZWdpc3Ryb3MgZGUgdmVyaWZpY2FjacOzbic7CiRsYW5nWyd0YWJfbGljZW5zZSddID0gJ0xpY2VuY2lhIFBybyc7CiRsYW5nWyd0YWJfdXBncmFkZSddID0gJ0FjdHVhbGl6YXIgYSBQcm8nOwokbGFuZ1sndGFiX2RlYnVnJ10gPSAnRGVwdXJhcic7CiRsYW5nWydwcm9fYWN0aXZlX2JldGEnXSA9ICdUd29GYWN0b3IgUHJvIEFjdGl2byc7CiRsYW5nWydwcm9fZmVhdHVyZXNfZW5hYmxlZCddID0gJ0Z1bmNpb25lcyBwcmVtaXVtIGhhYmlsaXRhZGFzLic7CiRsYW5nWydwYXNzd29yZF9yZXNldF9lbWFpbCddID0gJ0NvcnJlbyBlbGVjdHLDs25pY28gZGUgcmVzdGFibGVjaW1pZW50byBkZSBjb250cmFzZcOxYSc7CiRsYW5nWydhZG1pbl9hbGVydF9lbWFpbCddID0gJ0NvcnJlbyBlbGVjdHLDs25pY28gZGUgYWxlcnRhIGRlIGFkbWluaXN0cmFkb3InOwokbGFuZ1sndGFiX3VzZXJfbWFuYWdlbWVudCddID0gJ0FkbWluaXN0cmFjacOzbiBkZSB1c3Vhcmlvcyc7CiRsYW5nWyd1c2VyX21hbmFnZW1lbnQnXSA9ICdQYW5lbCBkZSBhZG1pbmlzdHJhY2nDs24gZGUgdXN1YXJpb3MnOwokbGFuZ1sndXNlcl9tYW5hZ2VtZW50X2hlbHAnXSA9ICdWZWEgeSBhZG1pbmlzdHJlIGxhIGNvbmZpZ3VyYWNpw7NuIGRlIDJGQSBwYXJhIHRvZG9zIGxvcyB1c3Vhcmlvcy4gUHVlZGUgZGVzaGFiaWxpdGFyIGxhIGF1dGVudGljYWNpw7NuIGRlIGRvcyBmYWN0b3JlcyBwYXJhIGxvcyB1c3VhcmlvcyBibG9xdWVhZG9zLic7CiRsYW5nWyd1c2VybmFtZSddID0gJ05vbWJyZSBkZSB1c3VhcmlvJzsKJGxhbmdbJ2VtYWlsJ10gPSAnQ29ycmVvIGVsZWN0csOzbmljbyc7CiRsYW5nWycyZmFfc3RhdHVzJ10gPSAnRXN0YWRvIGRlIDJGQSc7CiRsYW5nWydlbmFibGVkX21ldGhvZHMnXSA9ICdNw6l0b2RvcyBoYWJpbGl0YWRvcyc7CiRsYW5nWydmYWlsZWRfYXR0ZW1wdHMnXSA9ICdJbnRlbnRvcyBmYWxsaWRvcyc7CiRsYW5nWydkaXNhYmxlXzJmYSddID0gJ0Rlc2FjdGl2YXIgMkZBJzsKJGxhbmdbJ2NvbmZpcm1fZGlzYWJsZV91c2VyXzJmYSddID0gJ8K/RXN0w6Egc2VndXJvIGRlIHF1ZSBkZXNlYSBkZXNoYWJpbGl0YXIgbGEgYXV0ZW50aWNhY2nDs24gZGUgZG9zIGZhY3RvcmVzIHBhcmEgZWwgdXN1YXJpbyDCqyVzwrs/IEVzdG8gZWxpbWluYXLDoSB0b2RvcyBzdXMgYWp1c3RlcyBkZSAyRkEgeSBzdXMgZGlzcG9zaXRpdm9zIGRlIGNvbmZpYW56YSB5IHJlc3RhYmxlY2Vyw6EgbG9zIGludGVudG9zIGZhbGxpZG9zLic7CiRsYW5nWyd1c2VyXzJmYV9kaXNhYmxlZCddID0gJ1NlIGhhIGRlc2hhYmlsaXRhZG8gbGEgYXV0ZW50aWNhY2nDs24gZGUgZG9zIGZhY3RvcmVzIHBhcmEgZWwgdXN1YXJpbzogJXMnOwokbGFuZ1snbGVnZW5kJ10gPSAnTGV5ZW5kYSc7CiRsYW5nWydsZWdlbmRfbG9ja2VkJ10gPSAnRm9uZG8gcm9qbyA9IEVsIHVzdWFyaW8gZXN0w6EgYWN0dWFsbWVudGUgYmxvcXVlYWRvJzsKJGxhbmdbJ2xlZ2VuZF9mYWlsZWRfYXR0ZW1wdHMnXSA9ICdJbnRlbnRvcyBmYWxsaWRvczogcm9qbyAoNSspLCBuYXJhbmphICgzLTQpLCBuZWdybyAoMC0yKSc7CiRsYW5nWydsZWdlbmRfZGlzYWJsZSddID0gJ1VzYSDCq0Rlc2FjdGl2YXIgMkZBwrsgcGFyYSBkZXNibG9xdWVhciBhIGxvcyB1c3VhcmlvcyBvIGVsaW1pbmFyIHN1cyBjb25maWd1cmFjaW9uZXMgZGUgMkZBJzsKJGxhbmdbJ2RldmljZV9ub3RfZm91bmQnXSA9ICdObyBzZSBoYSBlbmNvbnRyYWRvIGVsIGRpc3Bvc2l0aXZvIG8gbm8gbGUgcGVydGVuZWNlLic7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnQWp1c3RlcyBnZW5lcmFsZXMnOwokbGFuZ1snZW5mb3JjZV8yZmFfYWxsJ10gPSAnSW1wbGVtZW50ZSBsYSAyRkEgcGFyYSB0b2RvcyBsb3MgdXN1YXJpb3MgYWRtaW5pc3RyYWRvcmVzJzsKJGxhbmdbJ2VuZm9yY2VfMmZhX2FsbF9oZWxwJ10gPSAnQ3VhbmRvIGVzdMOpIGhhYmlsaXRhZGEsIHRvZG9zIGxvcyB1c3VhcmlvcyBhZG1pbmlzdHJhZG9yZXMgZGViZXLDoW4gaGFiaWxpdGFyIGxhIDJGQSBhbnRlcyBkZSBwb2RlciBhY2NlZGVyIGFsIHBhbmVsIGRlIGFkbWluaXN0cmFjacOzbic7CiRsYW5nWycyZmFfcmVxdWlyZWQnXSA9ICdTZSByZXF1aWVyZSAyRkEnOwokbGFuZ1snMmZhX3JlcXVpcmVkX21lc3NhZ2UnXSA9ICdFbCBhZG1pbmlzdHJhZG9yIGhhIGFjdGl2YWRvIGxhIGF1dGVudGljYWNpw7NuIG9ibGlnYXRvcmlhIGRlIGRvcyBmYWN0b3Jlcy4gRGViZXMgaGFiaWxpdGFyIGFsIG1lbm9zIHVubyBkZSBsb3Mgc2lndWllbnRlcyBtw6l0b2RvcyBkZSBhdXRlbnRpY2FjacOzbiBkZSBkb3MgZmFjdG9yZXMgcGFyYSBzZWd1aXIgdXNhbmRvIGVsIHBhbmVsIGRlIGFkbWluaXN0cmFjacOzbi4nOwokbGFuZ1sncGVybWlzc2lvbl9kZW5pZWQnXSA9ICdQZXJtaXNvIGRlbmVnYWRvLiBObyB0aWVuZXMgYWNjZXNvIGEgZXN0YSBmdW5jacOzbi4nOwokbGFuZ1snc21zX3NldHRpbmdzJ10gPSAnQ29uZmlndXJhY2nDs24gZGUgU01TJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX29wdGlvbiddID0gJ09wY2nDs24gMTogQ3LDqWRpdG9zIHBvciBTTVMgZGUgUGl4ZWwgU29sdXRpb25zJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX2Rlc2NyaXB0aW9uJ10gPSAnQ29tcHJhIGNyw6lkaXRvcyBwb3IgU01TIGVuIG51ZXN0cmEgdGllbmRhIHkgw7pzYWxvcyBlbiB0b2RvcyB0dXMgc2l0aW9zLiBTZW5jaWxsbywgc2luIG5lY2VzaWRhZCBkZSBjb25maWd1cmFyIGxhIEFQSS4nOwokbGFuZ1sncHJvZHVjdF9rZXknXSA9ICdDbGF2ZSBkZSBwcm9kdWN0byc7CiRsYW5nWydwcm9kdWN0X2tleV9oZWxwJ10gPSAnSW50cm9kdWNlIGxhIGNsYXZlIGRlIHByb2R1Y3RvIHF1ZSBoYXMgcmVjaWJpZG8gdHJhcyBjb21wcmFyIGxvcyBjcsOpZGl0b3MgcG9yIFNNUyc7CiRsYW5nWydzYXZlX3Byb2R1Y3Rfa2V5J10gPSAnR3VhcmRhciBjbGF2ZSBkZSBwcm9kdWN0byc7CiRsYW5nWydwdXJjaGFzZV9jcmVkaXRzJ10gPSAnQ29tcHJhIGNyw6lkaXRvcyBwb3IgU01TJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3NhdmVkJ10gPSAnTGEgY2xhdmUgZGUgcHJvZHVjdG8gZGUgY3LDqWRpdG9zIFNNUyBzZSBndWFyZMOzIGNvcnJlY3RhbWVudGUuJzsKJGxhbmdbJ3R3aWxpb19hcGlfb3B0aW9uJ10gPSAnT3BjacOzbiAyOiBVc2EgdHUgcHJvcGlhIGN1ZW50YSBkZSBUd2lsaW8nOwokbGFuZ1sndHdpbGlvX2FwaV9kZXNjcmlwdGlvbiddID0gJ0NvbmZpZ3VyYSB0dXMgcHJvcGlhcyBjcmVkZW5jaWFsZXMgZGUgbGEgQVBJIGRlIFR3aWxpbyBwYXJhIGVudmlhciBtZW5zYWplcyBTTVMgZGlyZWN0YW1lbnRlIGRlc2RlIHR1IGN1ZW50YS4nOwokbGFuZ1snc21zX3N0YXR1c19hdmFpbGFibGUnXSA9ICdWZXJpZmljYWNpw7NuIHBvciBTTVMgZGlzcG9uaWJsZSc7CiRsYW5nWydzbXNfc3RhdHVzX3VuYXZhaWxhYmxlJ10gPSAnVmVyaWZpY2FjacOzbiBwb3IgU01TIG5vIGRpc3BvbmlibGUnOwokbGFuZ1snc21zX2NvbmZpZ3VyZV9tZXRob2QnXSA9ICdDb25maWd1cmEgbG9zIGNyw6lkaXRvcyBTTVMgbyBsYSBBUEkgZGUgVHdpbGlvIHBhcmEgaGFiaWxpdGFyIGxhIHZlcmlmaWNhY2nDs24gcG9yIFNNUyc7CiRsYW5nWydzbXNfYm90aF9tZXRob2RzX2FjdGl2ZSddID0gJ1RhbnRvIGxvcyBjcsOpZGl0b3MgU01TIGNvbW8gbGEgQVBJIFR3aWxpbyBlc3TDoW4gY29uZmlndXJhZG9zJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX21ldGhvZF9hY3RpdmUnXSA9ICdVc28gZGUgY3LDqWRpdG9zIHBvciBTTVMnOwokbGFuZ1snc21zX3R3aWxpb19tZXRob2RfYWN0aXZlJ10gPSAnVXNvIGRlIGxhIEFQSSBkZSBUd2lsaW8nOwokbGFuZ1snc21zX2NyZWRpdHNfcHJpb3JpdHknXSA9ICdMb3MgY3LDqWRpdG9zIFNNUyBzZSB1c2Fyw6FuIHByaW1lcm8nOwokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZvJzsKJGxhbmdbJ3JlbW92ZV90d2lsaW8nXSA9ICdEZXNhY3RpdmFyIGxhIEFQSSBkZSBUd2lsaW8nOwokbGFuZ1snY29uZmlybV9yZW1vdmVfdHdpbGlvJ10gPSAnwr9Fc3TDoXMgc2VndXJvIGRlIHF1ZSBxdWllcmVzIGVsaW1pbmFyIGxhcyBjcmVkZW5jaWFsZXMgZGUgbGEgQVBJIGRlIFR3aWxpbz8nOwokbGFuZ1sndHdpbGlvX3JlbW92ZWQnXSA9ICdMYXMgY3JlZGVuY2lhbGVzIGRlIGxhIEFQSSBkZSBUd2lsaW8gc2UgZWxpbWluYXJvbiBjb3JyZWN0YW1lbnRlLic7CiRsYW5nWydlcnJvcl9zdWJzY3JpcHRpb25fa2V5X25vdF9zdXBwb3J0ZWQnXSA9ICdTZSB0cmF0YSBkZSB1bmEgY2xhdmUgZGUgc3VzY3JpcGNpw7NuLiBQYXJhIGxvcyBjcsOpZGl0b3MgcG9yIFNNUyBzb2xvIHNlIGFkbWl0ZW4gbGljZW5jaWFzIGJhc2FkYXMgZW4gY3LDqWRpdG9zLic7CiRsYW5nWyd0cnVzdGVkX2RldmljZXMnXSA9ICdEaXNwb3NpdGl2b3MgZGUgY29uZmlhbnphJzsKJGxhbmdbJ3RhYl9tZXRob2RzJ10gPSAnTcOpdG9kb3MnOwokbGFuZ1sndGFiX3RydXN0ZWRfZGV2aWNlcyddID0gJ0Rpc3Bvc2l0aXZvcyBkZSBjb25maWFuemEnOwokbGFuZ1snYWN0aW9ucyddID0gJ0FjY2lvbmVzJzsKJGxhbmdbJ2VtYWlsX3ZlcmlmaWNhdGlvbl90aXRsZSddID0gJ1ZlcmlmaWNhY2nDs24gZGUgY29ycmVvIGVsZWN0csOzbmljbyc7CiRsYW5nWydlbWFpbF92ZXJpZmljYXRpb25fc2VudCddID0gJ1NlIGhhIGVudmlhZG8gdW4gY8OzZGlnbyBkZSB2ZXJpZmljYWNpw7NuIGEgdHUgZGlyZWNjacOzbiBkZSBjb3JyZW8gZWxlY3Ryw7NuaWNvLic7CiRsYW5nWydyZW1lbWJlcl9kZXZpY2UnXSA9ICdSZWN1ZXJkYSBlc3RlIGRpc3Bvc2l0aXZvIGR1cmFudGUgMzAgZMOtYXMnOwokbGFuZ1snYWNjb3VudF9sb2NrZWRfc2Vjb25kcyddID0gJ0RlbWFzaWFkb3MgaW50ZW50b3MgZmFsbGlkb3MuIFZ1ZWx2ZSBhIGludGVudGFybG8gZW4gJWQgc2VndW5kb3Mlcy4nOwokbGFuZ1snYWNjb3VudF9sb2NrZWRfbWludXRlcyddID0gJ0RlbWFzaWFkb3MgaW50ZW50b3MgZmFsbGlkb3MuIFZ1ZWx2ZSBhIGludGVudGFybG8gZW4gJWQgbWludXRvJXMuJzsKJGxhbmdbJ3Jlc2VuZF92ZXJpZmljYXRpb25fY29kZSddID0gJ1JlZW52aWFyIGVsIGPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbic7CiRsYW5nWyd1c2VfYmFja3VwX2NvZGUnXSA9ICdVc2EgdW4gY8OzZGlnbyBkZSByZXNwYWxkbyc7CiRsYW5nWyd0b3RwX3ZlcmlmaWNhdGlvbl90aXRsZSddID0gJ0F1dGVudGljYWNpw7NuIGRlIGRvcyBmYWN0b3Jlcyc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZV9sYWJlbCddID0gJ0PDs2RpZ28gZGUgdmVyaWZpY2FjacOzbic7CiRsYW5nWydzbXNfdmVyaWZpY2F0aW9uX3RpdGxlJ10gPSAnVmVyaWZpY2FjacOzbiBwb3IgU01TJzsKJGxhbmdbJ3Ntc192ZXJpZmljYXRpb25fc2VudCddID0gJ1NlIGhhIGVudmlhZG8gdW4gY8OzZGlnbyBkZSB2ZXJpZmljYWNpw7NuIGEgdHUgdGVsw6lmb25vLic7Cg==]]></data>
	</file>
	<file>
		<filename>/lang/ext/fi_FI.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0tha3NpIHRla2lqw6TDpCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnU3VvamF0dHUgQ01TIE1hZGUgU2ltcGxlIC1raXJqYXV0dW1pbmVuIGtha3NpdmFpaGVpc2VsbGEgdG9kZW5udWtzZWxsYSAoMkZBKSAtIGtpcmpvaXR0YW51dCBQaXhlbCBTb2x1dGlvbnMnOwokbGFuZ1sncGFyYW1fdXNlciddID0gJ0vDpHl0dMOkasOkcGFyYW1ldHJpIGvDpHl0dMO2bGlpdHR5bcOkbiBpbnRlZ3JhYXRpb3RhIHZhcnRlbic7CiRsYW5nWydhc2tfdW5pbnN0YWxsJ10gPSAnSGFsdWF0a28gdmFybWFzdGkgcG9pc3RhYSBUd28gRmFjdG9yIC1tb2R1dWxpbj8gS2Fpa2tpIGFzZXR1a3NldCBtZW5ldGV0w6TDpG4uJzsKJGxhbmdbJ3R3aWxpb19zZXR0aW5ncyddID0gJ1R3b0ZhY3RvciAtIFR3aWxpby1hc2V0dWtzZXQnOwokbGFuZ1sndHdvX2ZhY3Rvcl9zZXR0aW5ncyddID0gJ0tha3NpdmFpaGVpc2VuIHRvZGVubnVrc2VuIGFzZXR1a3NldCc7CiRsYW5nWyd0d29fZmFjdG9yX2FjdGl2ZSddID0gJ0tha3NpdmFpaGVpbmVuIHRvZGVubnVzIG9uIGFrdGlpdmluZW4gdGlsaWxsw6RzaS4nOwokbGFuZ1sndHdvX2ZhY3Rvcl9pbmFjdGl2ZSddID0gJ0tha3NpdmFpaGVpbmVuIHRvZGVubnVzIG9uIHTDpGxsw6QgaGV0a2VsbMOkIHBvaXN0ZXR0dSBrw6R5dMO2c3TDpC4gVmFsaXRzZSBhbGxhIG9sZXZhIGVuc2lzaWphaW5lbiBtZW5ldGVsbcOkIGFrdGl2b2lkYWtzZXNpIHNlbi4nOwokbGFuZ1snZW5hYmxlZF9tZXRob2RzJ10gPSAnS8OkeXTDtnNzw6Qgb2xldmF0IG1lbmV0ZWxtw6R0JzsKJGxhbmdbJ2F2YWlsYWJsZV9tZXRob2RzJ10gPSAnS8OkeXRldHTDpHZpc3PDpCBvbGV2YXQgdG9kZW5udXNtZW5ldGVsbcOkdCc7CiRsYW5nWydub19tZXRob2RzX2VuYWJsZWQnXSA9ICdLYWhkZW4gdGVraWrDpG4gbWVuZXRlbG1pw6QgZWkgb2xlIHZpZWzDpCBrw6R5dMO2c3PDpC4gVmFsaXRzZSBhbGxhIG9sZXZhIG1lbmV0ZWxtw6QgYWxvaXR0YWFrc2VzaS4nOwokbGFuZ1sncHJpbWFyeSddID0gJ0Vuc2lzaWphaW5lbic7CiRsYW5nWydwcmltYXJ5X21ldGhvZCddID0gJ0Vuc2lzaWphaW5lbiBtZW5ldGVsbcOkJzsKJGxhbmdbJ3ByaW1hcnlfbWV0aG9kX2luZm8nXSA9ICdWYWxpdHNlIGVuc2lzaWphaW5lbiBtZW5ldGVsbcOkLCBqb3RhIGvDpHl0ZXTDpMOkbiBrYWtzaXZhaWhlaXNlc3NhIHRvZGVubnVrc2Vzc2EsIGt1biBraXJqYXVkdXQgdMOkaMOkbiBzaXZ1c3Rvb24nOwokbGFuZ1sndXBkYXRlJ10gPSAnUMOkaXZpdMOkJzsKJGxhbmdbJ3ByaW1hcnlfdXBkYXRlZCddID0gJ0Vuc2lzaWphaW5lbiB0b2Rlbm51c21lbmV0ZWxtw6QgcMOkaXZpdGV0dHkuJzsKJGxhbmdbJ21ldGhvZCddID0gJ01lbmV0ZWxtw6QnOwokbGFuZ1snc3RhdHVzJ10gPSAnVGlsYSc7CiRsYW5nWydhY3Rpb24nXSA9ICdUb2ltaW50YSc7CiRsYW5nWydlbmFibGVkJ10gPSAnS8OkeXTDtnNzw6QnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdWYW1tYWlzZXQnOwokbGFuZ1sndmVyaWZpZWQnXSA9ICdWYWh2aXN0ZXR0dSc7CiRsYW5nWydjb25maWd1cmUnXSA9ICdNw6TDpHJpdMOkJzsKJGxhbmdbJ3RhYl9zZXR0aW5ncyddID0gJ0FzZXR1a3NldCc7CiRsYW5nWyd0YWJfcHJlbWl1bSddID0gJ3BhbGtraW8nOwokbGFuZ1sndGFiX3Ntc2NyZWRpdCddID0gJ1NNUy1hc2V0dWtzZXQnOwokbGFuZ1snc2V0dGluZ3NfaW5mbyddID0gJ01vZHV1bGluIHlsZWlzZXQgYXNldHVrc2V0Lic7CiRsYW5nWydwcmVtaXVtX2luZm8nXSA9ICdFbnNpbHVva2thaXNldCBvbWluYWlzdXVkZXQgdHVsb3NzYSBwaWFuLic7CiRsYW5nWydzbXNjcmVkaXRfaW5mbyddID0gJ1NNUy1sdW90b25oYWxsaW50YSB0dWxvc3NhIHBpYW4uJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3NhdmVkJ10gPSAnU01TLWh5dml0eXN0ZW4gbGlzZW5zc2kgdGFsbGVubmV0dHUgamEgdmFodmlzdGV0dHUgb25uaXN0dW5lZXN0aS4nOwokbGFuZ1snZXJyb3JfZW1wdHlfbGljZW5zZSddID0gJ0xpc2Vuc3NpYXZhaW4gZWkgdm9pIG9sbGEgdHloasOkLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2xpY2Vuc2UnXSA9ICdWaXJoZWVsbGluZW4gbGlzZW5zc2lhdmFpbiB0YWkgdmFodmlzdHVzIGVww6Rvbm5pc3R1aS4nOwokbGFuZ1snZXJyb3JfdHdpbGlvX2ZpZWxkc19yZXF1aXJlZCddID0gJ0thaWtraSBUd2lsaW8ta2VudMOkdCBvdmF0IHBha29sbGlzaWEuJzsKJGxhbmdbJ2Vycm9yX3R3aWxpb19pbnZhbGlkX2NyZWRlbnRpYWxzJ10gPSAnVmlyaGVlbGxpc2V0IFR3aWxpby10dW5uaXN0ZXRpZWRvdC4gVGFya2lzdGEgQVBJLWF2YWluLCBzYWxhaW5lbiBqYSBwYWx2ZWx1biBTSUQuJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3JlbW92ZWQnXSA9ICdTTVMtaHl2aXR5c3RlbiBsaXNlbnNzaSBwb2lzdGV0dGlpbiBvbm5pc3R1bmVlc3RpLic7CiRsYW5nWydyZW1vdmVfbGljZW5zZSddID0gJ1BvaXN0YSBsaXNlbnNzaSBrw6R5dMO2c3TDpCc7CiRsYW5nWydjb25maXJtX3JlbW92ZV9saWNlbnNlJ10gPSAnSGFsdWF0a28gdmFybWFzdGkgcG9pc3RhYSBTTVMtaHl2aXR5c3RlbiBsaXNlbnNzaW4/JzsKJGxhbmdbJ2xpY2Vuc2VfcmVtb3ZlZCddID0gJ0xpc2Vuc3NpIHBvaXN0ZXR0aWluIG9ubmlzdHVuZWVzdGkuJzsKJGxhbmdbJ2xpY2Vuc2VfdmFsaWQnXSA9ICdMaXNlbnNzaSBvbiB2b2ltYXNzYSBqYSBha3RpaXZpbmVuLic7CiRsYW5nWydzbXNfY3JlZGl0c19hY3RpdmUnXSA9ICdKw6RsamVsbMOkIG9sZXZhdCBrcmVkaWl0aXQ6ICVzJzsKJGxhbmdbJ3R5cGVfVHdvRmFjdG9yJ10gPSAnVHdvRmFjdG9yJzsKJGxhbmdbJ3R5cGVfZW1haWxfdmVyaWZpY2F0aW9uJ10gPSAnU8OkaGvDtnBvc3RpbiB2YWh2aXN0dXMnOwokbGFuZ1sncHJvdmlkZXJfdG90cCddID0gJ1RvZGVubnVzc292ZWxsdXMgKFRPVFApJzsKJGxhbmdbJ3RvdHBfZGVzY3JpcHRpb24nXSA9ICdLw6R5dMOkIEdvb2dsZSBBdXRoZW50aWNhdG9yaWEsIEF1dGh5w6QgdGFpIHZhc3RhYXZpYSBzb3ZlbGx1a3NpYSc7CiRsYW5nWydlbWFpbF9kZXNjcmlwdGlvbiddID0gJ1Zhc3RhYW5vdGEgdmFodmlzdHVza29vZGl0IHPDpGhrw7Zwb3N0aXRzZSc7CiRsYW5nWydiYWNrdXBfY29kZXNfZGVzY3JpcHRpb24nXSA9ICdLZXJ0YWx1b250ZWlzZXQgdmFybXV1c2tvcGlva29vZGl0IGjDpHTDpHDDpMOkc3nDpCB2YXJ0ZW4nOwokbGFuZ1sncHJvdmlkZXJfc21zJ10gPSAnU01TLXZhaHZpc3R1cyc7CiRsYW5nWydzbXNfZGVzY3JpcHRpb24nXSA9ICdWYXN0YWFub3RhIHZhaHZpc3R1c2tvb2RpdCB0ZWtzdGl2aWVzdGlsbMOkJzsKJGxhbmdbJ3NldHVwX3NtcyddID0gJ03DpMOkcml0w6QgdGVrc3Rpdmllc3RpdmFodmlzdHVzJzsKJGxhbmdbJ3R3aWxpb19zZXR0aW5ncyddID0gJ1R3aWxpbyBBUEkgLWFzZXR1a3NldCc7CiRsYW5nWyd0d2lsaW9fYXBpX2tleV9zaWQnXSA9ICdUd2lsaW8gQVBJLWF2YWluIFNJRCc7CiRsYW5nWyd0d2lsaW9fYXBpX3NlY3JldCddID0gJ1R3aWxpby1zb3ZlbGx1c2xpaXR0eW3DpG4gc2FsYWlzdXVzJzsKJGxhbmdbJ3R3aWxpb19zZXJ2aWNlX3NpZCddID0gJ1R3aWxpbyBWYWh2aXN0dXNwYWx2ZWx1biBTSUQnOwokbGFuZ1sndHdpbGlvX3NlcnZpY2Vfc2lkX2hlbHAnXSA9ICdMdW8gdmFodmlzdHVzcGFsdmVsdSBUd2lsaW8ta29uc29saWluIGphIGtpcmpvaXRhIHBhbHZlbHVuIFNJRCB0w6Row6RuJzsKJGxhbmdbJ3NhdmVfc2V0dGluZ3MnXSA9ICdUYWxsZW5uYSBhc2V0dWtzZXQnOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzX3NhdmVkJ10gPSAnVHdpbGlvLWFzZXR1a3NldCBvbiB0YWxsZW5uZXR0dS4nOwokbGFuZ1sndGVzdF9jb25maWd1cmF0aW9uJ10gPSAnVGVzdGF1c2tva29vbnBhbm8nOwokbGFuZ1sndGVzdF9jb25maWd1cmF0aW9uX2luZm8nXSA9ICdLw6R5dMOkIFR3aWxpbyBNYWdpYyBOdW1iZXJzIHRlc3RhdGFrc2VzaSB0ZXN0aXR1bm5pc3RldGllZG9pbGxhLiBUZXN0aXNzw6Qga8OkeXRldMOkw6RuIG9oamVsbW9pdGF2YWEgdGVrc3Rpdmllc3Rpc292ZWxsdXNsaWl0dHltw6TDpCAoZWkgVmVyaWZ5IEFQSSkuJzsKJGxhbmdbJ3Rlc3RfcGhvbmVfbnVtYmVyJ10gPSAnVGVzdGFhIHB1aGVsaW5udW1lcm8nOwokbGFuZ1snbWFnaWNfbnVtYmVyX2hlbHAnXSA9ICdLw6R5dMOkICsxNTAwNTU1MDAwNiAob25uaXN0dW51dCkgdGFpICsxNTAwNTU1MDAwMSAodmlyaGVlbGxpbmVuIG51bWVybykgdGVzdGFhbWlzZWVuJzsKJGxhbmdbJ3NlbmRfdGVzdF9zbXMnXSA9ICdMw6RoZXTDpCB0ZXN0aXZpZXN0aSc7CiRsYW5nWyd0ZXN0X3Ntc19zZW50J10gPSAnVGVzdGl2aWVzdGkgbMOkaGV0ZXR0aWluIG9ubmlzdHVuZWVzdGkhIEh1b21hdXR1czogVMOkbcOkIGvDpHl0dMOkw6Qgb2hqZWxtb2l0YXZhYSBTTVMtc292ZWxsdXNsaWl0dHltw6TDpCB0ZXN0YXVrc2Vlbi4nOwokbGFuZ1sndGVzdF9zbXNfZmFpbGVkJ10gPSAnVGVrc3Rpdmllc3RpbiB0ZXN0YXVzIGVww6Rvbm5pc3R1aTogJXMnOwokbGFuZ1sndHdpbGlvX25vdF9jb25maWd1cmVkJ10gPSAnTcOkw6RyaXTDpCBlbnNpbiBUd2lsaW8tdGlsaW4gU0lEIGphIEF1dGggVG9rZW4uJzsKJGxhbmdbJ2NvbmZpZ3VyZV90d2lsaW8nXSA9ICdNw6TDpHJpdMOkIFR3aWxpby1hc2V0dWtzZXQnOwokbGFuZ1snc21zX3VzZXJfc2V0dGluZ3MnXSA9ICdUZWtzdGl2aWVzdGlhc2V0dWtzZXNpJzsKJGxhbmdbJ3Bob25lX251bWJlciddID0gJ1B1aGVsaW5udW1lcm8nOwokbGFuZ1sncGhvbmVfZm9ybWF0X2hlbHAnXSA9ICdLaXJqb2l0YSBFLjE2NC1tdW9kb3NzYSAoZXNpbS4gKzEyMzQ1Njc4OTApJzsKJGxhbmdbJ3Ntc19zZXR1cF9pbmZvJ10gPSAnQW5uYSBwdWhlbGlubnVtZXJvc2kgc2FhZGFrc2VzaSB2YWh2aXN0dXNrb29kaXQgdGVrc3Rpdmllc3RpbGzDpC4nOwokbGFuZ1sndmVyaWZpY2F0aW9uX3NlbnQnXSA9ICdWYWh2aXN0dXNrb29kaSBsw6RoZXRldHR5ISBUYXJraXN0YSBwdWhlbGltZXNpLic7CiRsYW5nWyd2ZXJpZmljYXRpb25fZmFpbGVkJ10gPSAnVmFodmlzdHVrc2VuIGzDpGhldHTDpG1pbmVuIGVww6Rvbm5pc3R1aTogJXMnOwokbGFuZ1sndmVyaWZpY2F0aW9uX2NvZGVfc2VudCddID0gJ1ZhaHZpc3R1c2tvb2RpIG9uIGzDpGhldGV0dHkgb3NvaXR0ZWVzZWVuICVzJzsKJGxhbmdbJ3ZlcmlmaWNhdGlvbl9jb2RlJ10gPSAnVmFodmlzdHVza29vZGknOwokbGFuZ1sndmVyaWZ5X3Bob25lJ10gPSAnVmFodmlzdGEgcHVoZWxpbm51bWVybyc7CiRsYW5nWydyZXNlbmRfY29kZSddID0gJ0zDpGhldMOkIGtvb2RpIHV1ZGVsbGVlbic7CiRsYW5nWydjaGFuZ2VfcGhvbmUnXSA9ICdWYWloZGEgcHVoZWxpbm51bWVybyc7CiRsYW5nWydzZW5kX3ZlcmlmaWNhdGlvbl9jb2RlJ10gPSAnTMOkaGV0w6QgdmFodmlzdHVza29vZGknOwokbGFuZ1snc21zX2VuYWJsZWQnXSA9ICdTTVMtdmFodmlzdHVzIG9uIG90ZXR0dSBrw6R5dHTDtsO2biEnOwokbGFuZ1snc21zX2Rpc2FibGVkJ10gPSAnVGVrc3Rpdmllc3RpZW4gdmFodmlzdHVzIG9uIHBvaXN0ZXR0dSBrw6R5dMO2c3TDpC4nOwokbGFuZ1snc21zX2VuYWJsZWRfaW5mbyddID0gJ1Rla3N0aXZpZXN0aXZhaHZpc3R1cyBvbiBrw6R5dMO2c3PDpCBzZXVyYWF2aWxsZSBrb2h0ZWlsbGU6ICVzJzsKJGxhbmdbJ2VuYWJsZV9zbXMnXSA9ICdPdGEgdGVrc3Rpdmllc3RpdmFodmlzdHVzIGvDpHl0dMO2w7ZuJzsKJGxhbmdbJ2Rpc2FibGVfc21zJ10gPSAnUG9pc3RhIFNNUy12YWh2aXN0dXMga8OkeXTDtnN0w6QnOwokbGFuZ1snc21zX2JvZHknXSA9ICdWYWh2aXN0dXNrb29kaXNpIG9uOiAlcyc7CiRsYW5nWydzZXR1cF90b3RwJ10gPSAnQXNlbm5hIHRvZGVubnVzc292ZWxsdXMgKFRPVFApJzsKJGxhbmdbJ3NjYW5fcXInXSA9ICdTa2FubmFhIHTDpG3DpCBRUi1rb29kaSB0b2Rlbm51c3NvdmVsbHVrc2VsbGFzaSAoR29vZ2xlIEF1dGhlbnRpY2F0b3IsIEF1dGh5IGpuZS4pJzsKJGxhbmdbJ21hbnVhbF9lbnRyeSddID0gJ1RhaSBraXJqb2l0YSB0w6Rtw6QgYXZhaW4gbWFudWFhbGlzZXN0aSc7CiRsYW5nWydlbnRlcl9jb2RlX3ZlcmlmeSddID0gJ1N5w7Z0w6QgNi1udW1lcm9pbmVuIGtvb2RpIHNvdmVsbHVrc2VzdGFzaSB2YWh2aXN0YWFrc2VzaSc7CiRsYW5nWyd2ZXJpZnknXSA9ICdWYWh2aXN0YSc7CiRsYW5nWyd0b3RwX2VuYWJsZWQnXSA9ICdBdXRoZW50aWNhdG9yLXNvdmVsbHVzIG9uIG90ZXR0dSBvbm5pc3R1bmVlc3RpIGvDpHl0dMO2w7ZuISc7CiRsYW5nWyd0b3RwX2NvbmZpZ3VyZWQnXSA9ICdBdXRoZW50aWNhdG9yLXNvdmVsbHVzIG9uIG3DpMOkcml0ZXR0eSBqYSBha3RpaXZpbmVuLic7CiRsYW5nWyd0b3RwX3Jlc2V0X3dhcm5pbmcnXSA9ICdKb3Mgbm9sbGFhdCwgc2ludW4gb24gc2thbm5hdHRhdmEgUVIta29vZGkgdXVkZWxsZWVuIGthaWtpc3NhIGxhaXR0ZWlzc2FzaS4nOwokbGFuZ1sncmVzZXRfdG90cCddID0gJ1BhbGF1dGEgdG9kZW5udXNzb3ZlbGx1cyc7CiRsYW5nWydjb25maXJtX3Jlc2V0J10gPSAnT2xldGtvIHZhcm1hLCBldHTDpCBoYWx1YXQgbm9sbGF0YT8gU2ludW4gb24gbcOkw6RyaXRldHTDpHbDpCBrYWlra2kgbGFpdHRlZXQgdXVkZWxsZWVuLic7CiRsYW5nWyd0b3RwX3Jlc2V0J10gPSAnQXV0aGVudGljYXRvci1zb3ZlbGx1cyBvbiBub2xsYXR0dS4nOwokbGFuZ1snYmFjayddID0gJ1Rha2Fpc2luJzsKJGxhbmdbJ2NhbmNlbCddID0gJ1BlcnV1dGEnOwokbGFuZ1sndHdvX2ZhY3Rvcl9yZXF1aXJlZCddID0gJ0tha3NpdmFpaGVpbmVuIHRvZGVubnVzIHZhYWRpdGFhbic7CiRsYW5nWydlbnRlcl9jb2RlX2Zyb21fYXBwJ10gPSAnQW5uYSA2LW51bWVyb2luZW4ga29vZGkgdG9kZW5udXNzb3ZlbGx1a3Nlc3Rhc2knOwokbGFuZ1snYXV0aGVudGljYXRpb25fY29kZSddID0gJ1RvZGVubnVza29vZGknOwokbGFuZ1snaW52YWxpZF9jb2RlJ10gPSAnVmlyaGVlbGxpbmVuIGtvb2RpLiBZcml0w6QgdXVkZWxsZWVuLic7CiRsYW5nWydjb2RlX3Jlc2VudCddID0gJ1V1c2kgdmFodmlzdHVza29vZGkgb24gbMOkaGV0ZXR0eS4nOwokbGFuZ1sndmVyaWZ5J10gPSAnVmFodmlzdGEnOwokbGFuZ1sncHJvdmlkZXJfZW1haWwnXSA9ICdTw6Roa8O2cG9zdGluIHZhaHZpc3R1cyc7CiRsYW5nWydlbWFpbF9zdWJqZWN0J10gPSAnVmFodmlzdHVza29vZGlzaSc7CiRsYW5nWydlbWFpbF9ib2R5J10gPSAnVmFodmlzdHVza29vZGlzaSBvbjogJXNcIG5cIG4gVMOkbcOkIGtvb2RpIHZhbmhlbmVlIDEwIG1pbnV1dGluIGt1bHV0dHVhLic7CiRsYW5nWydlbWFpbF9ub19hZGRyZXNzJ10gPSAnVGlsaWxsZXNpIGVpIG9sZSBtw6TDpHJpdGV0dHkgc8OkaGvDtnBvc3Rpb3NvaXRldHRhLic7CiRsYW5nWydlbWFpbF9zZXR1cF9pbmZvJ10gPSAnVmFodmlzdHVza29vZGl0IGzDpGhldGV0w6TDpG4gb3NvaXR0ZWVzZWVuOiAlcyc7CiRsYW5nWydzZXR1cF9lbWFpbCddID0gJ1PDpGhrw7Zwb3N0aW4gdmFodmlzdHVrc2VuIG3DpMOkcml0dMOkbWluZW4nOwokbGFuZ1snZW1haWxfZW5hYmxlZCddID0gJ1PDpGhrw7Zwb3N0aW4gdmFodmlzdHVzIG9uIG90ZXR0dSBrw6R5dHTDtsO2biEnOwokbGFuZ1snZW1haWxfZGlzYWJsZWQnXSA9ICdTw6Roa8O2cG9zdGluIHZhaHZpc3R1cyBvbiBwb2lzdGV0dHUga8OkeXTDtnN0w6QuJzsKJGxhbmdbJ2VtYWlsX2VuYWJsZWRfc3RhdHVzJ10gPSAnU8OkaGvDtnBvc3RpbiB2YWh2aXN0dXMgb24ga8OkeXTDtnNzw6QgamEgYWt0aWl2aW5lbi4nOwokbGFuZ1snZW5hYmxlX2VtYWlsJ10gPSAnT3RhIHPDpGhrw7Zwb3N0aW4gdmFodmlzdHVzIGvDpHl0dMO2w7ZuJzsKJGxhbmdbJ2Rpc2FibGVfZW1haWwnXSA9ICdQb2lzdGEgc8OkaGvDtnBvc3RpbiB2YWh2aXN0dXMga8OkeXTDtnN0w6QnOwokbGFuZ1sncHJvdmlkZXJfYmFja3VwX2NvZGVzJ10gPSAnVmFybXV1c2tvb2RpdCc7CiRsYW5nWydzZXR1cF9iYWNrdXBfY29kZXMnXSA9ICdBc2VubmEgdmFybXV1c2tvcGlva29vZGl0JzsKJGxhbmdbJ2JhY2t1cF9jb2Rlc193YXJuaW5nJ10gPSAnVGFsbGVubmEgbsOkbcOkIGtvb2RpdCB0dXJ2YWxsaXNlZW4gcGFpa2thYW4hJzsKJGxhbmdbJ2JhY2t1cF9jb2Rlc19pbmZvJ10gPSAnS3VraW4ga29vZGkgdm9pZGFhbiBrw6R5dHTDpMOkIHZhaW4ga2VycmFuLiBLw6R5dMOkIG5paXTDpCwgam9zIG1lbmV0w6R0IHDDpMOkc3luIGVuc2lzaWphaXNlZW4gdG9kZW5udXNtZW5ldGVsbcOkw6RuLic7CiRsYW5nWydiYWNrdXBfY29kZXNfZW5hYmxlZF9pbmZvJ10gPSAnVmFybXV1c2tvcGlva29vZGl0IG92YXQga8OkeXTDtnNzw6QuIFZvaXQga8OkeXR0w6TDpCBuaWl0w6QsIGpvcyBtZW5ldMOkdCBww6TDpHN5biBtdWloaW4gdG9kZW5udXNtZW5ldGVsbWlpbi4nOwokbGFuZ1snY29kZXNfcmVtYWluaW5nJ10gPSAnSsOkbGplbGzDpCBvbGV2YXQga29vZGl0JzsKJGxhbmdbJ3JlZ2VuZXJhdGVfY29kZXMnXSA9ICdVdWRpc3RhIGtvb2RpdCc7CiRsYW5nWydjb25maXJtX3JlZ2VuZXJhdGUnXSA9ICdUw6Rtw6QgbWl0w6R0w7ZpIGthaWtraSBvbGVtYXNzYSBvbGV2YXQga29vZGl0LiBKYXRrZXRhYW5rbz8nOwokbGFuZ1snZGlzYWJsZV9iYWNrdXBfY29kZXMnXSA9ICdQb2lzdGEgdmFybXV1c2tvcGlva29vZGl0IGvDpHl0w7ZzdMOkJzsKJGxhbmdbJ2NvbmZpcm1fZGlzYWJsZSddID0gJ0hhbHVhdGtvIHZhcm1hc3RpIHBvaXN0YWEgdmFybXV1c2tvcGlva29vZGl0IGvDpHl0w7ZzdMOkPyc7CiRsYW5nWydiYWNrdXBfY29kZXNfZGlzYWJsZWQnXSA9ICdWYXJtdXVza29waW9rb29kaXQgb24gcG9pc3RldHR1IGvDpHl0w7ZzdMOkLic7CiRsYW5nWydiYWNrdXBfY29kZXNfc2V0dXBfaW5mbyddID0gJ0x1byB2YXJtdXVza29waW9rb29kaXQga8OkeXRldHTDpHbDpGtzaSB2YXJhdHVubmlzdHVzbWVuZXRlbG3DpG7DpC4nOwokbGFuZ1snZ2VuZXJhdGVfY29kZXMnXSA9ICdMdW8gdmFybXV1c2tvcGlva29vZGl0JzsKJGxhbmdbJ3ByZW1pdW1fdGl0bGUnXSA9ICdUd29GYWN0b3IgUHJvJzsKJGxhbmdbJ2FjdGl2YXRlX3lvdXJfbGljZW5zZSddID0gJ0FrdGl2b2kgbGlzZW5zc2knOwokbGFuZ1sncHJlbWl1bV9kZXNjcmlwdGlvbiddID0gJ0F2YWEgZWRpc3R5bmVldCBzdW9qYXVzYXNldHVrc2V0LCBwYWtvdGV0dHUgMkZBIGthaWtpbGxlIGvDpHl0dMOkamlsbGUsIMOkbHlrw6RzIG5vcGV1ZGVucmFqb2l0dXMsIGx1b3RldHV0IGxhaXR0ZWV0IGphIHByaW9yaXRlZXR0aXR1a2ksIG1pa8OkIGFudGFhIHNpbnVsbGUgdMOkeWRlbGxpc2VuIHN1b2phdWtzZW4gamEgaGFsbGlubm9sbGlzZW4gdmFsdm9ubmFuIENNUyBNYWRlIFNpbXBsZSAtc2l2dXN0b2xsZXNpLic7CiRsYW5nWydsaWNlbnNlX2tleSddID0gJ0xpc2Vuc3NpYXZhaW4nOwokbGFuZ1sndmVyaWZ5X2xpY2Vuc2UnXSA9ICdWYWh2aXN0YSBsaXNlbnNzaSc7CiRsYW5nWydsaWNlbnNlX2tleV9yZXF1aXJlZCddID0gJ0FubmEgbGlzZW5zc2lhdmFpbi4nOwokbGFuZ1snbGljZW5zZV9hY3RpdmF0ZWQnXSA9ICdMaXNlbnNzaSBha3Rpdm9pdHUgb25uaXN0dW5lZXN0aSEgVHdvRmFjdG9yIFByby1vbWluYWlzdXVkZXQgb3ZhdCBueXQga8OkeXTDtnNzw6QuJzsKJGxhbmdbJ2xpY2Vuc2VfaW52YWxpZCddID0gJ1ZpcmhlZWxsaW5lbiBsaXNlbnNzaWF2YWluLiBUYXJraXN0YSBqYSB5cml0w6QgdXVkZWxsZWVuLic7CiRsYW5nWydsaWNlbnNlX3ZlcmlmaWNhdGlvbl9mYWlsZWQnXSA9ICdMaXNlbnNzacOkIGVpIHZvaSB2YWh2aXN0YWEuIFRhcmtpc3RhIHlodGV5cyBqYSB5cml0w6QgdXVkZWxsZWVuLic7CiRsYW5nWydwcm9fYWN0aXZhdGVkJ10gPSAnVHdvRmFjdG9yIFBybyBha3Rpdm9pdHUnOwokbGFuZ1sncHJvX2ZlYXR1cmVzX3VubG9ja2VkJ10gPSAnS2Fpa2tpIHByZW1pdW0tb21pbmFpc3V1ZGV0IG9uIG55dCBhdmF0dHUuJzsKJGxhbmdbJ3Byb19mZWF0dXJlc190aXRsZSddID0gJ1Byby1vbWluYWlzdXVkZXQnOwokbGFuZ1sncHJvX2ZlYXR1cmVfcmF0ZV9saW1pdGluZyddID0gJ05vcGV1ZGVucmFqb2l0dXMgamEgcmFhXCdhbiB2b2ltYW4gc3VvamF1cyc7CiRsYW5nWydwcm9fZmVhdHVyZV9zZXNzaW9uX3JldmFsaWRhdGlvbiddID0gJ1N1b2phdXNhc2V0dXN0ZW4gaXN0dW5ub24gdXVkZWxsZWVudmFsaWRvaW50aSc7CiRsYW5nWydwcm9fZmVhdHVyZV90cnVzdGVkX2RldmljZXMnXSA9ICdMdW90ZXR1dCBsYWl0dGVldCAoTXVpc3RhIDMwIHDDpGl2w6TDpCknOwokbGFuZ1sncHJvX2ZlYXR1cmVfdXNlcl9tYW5hZ2VtZW50J10gPSAnS8OkeXR0w6Rqw6RoYWxsaW5uYW4gaGFsbGludGFwYW5lZWxpJzsKJGxhbmdbJ3Byb19mZWF0dXJlX2VuZm9yY2VfMmZhJ10gPSAnVMOkeXTDpCAyRkEga2Fpa2lsbGUgasOkcmplc3RlbG3DpG52YWx2b2pha8OkeXR0w6RqaWxsZSc7CiRsYW5nWydwcm9fZmVhdHVyZV9hdWRpdF9sb2dzJ10gPSAnRWRpc3R5bmVldCB0YXJrYXN0dXNsb2tpdCB2aWVubmluIGF2dWxsYSc7CiRsYW5nWydwcm9fZmVhdHVyZV9lbWFpbF9ub3RpZmljYXRpb25zJ10gPSAnU8OkaGvDtnBvc3RpLWlsbW9pdHVrc2V0IGVww6RpbHl0dMOkdsOkc3TDpCB0b2ltaW5uYXN0YSc7CiRsYW5nWydnZXRfcHJvX2xpY2Vuc2UnXSA9ICdIYW5raSBQcm8tbGlzZW5zc2knOwokbGFuZ1sncmF0ZV9saW1pdGluZ19lbmFibGVkJ10gPSAnT3RhIG5vcGV1ZGVuIHJham9pdHRhbWluZW4ga8OkeXR0w7bDtm4nOwokbGFuZ1sncmF0ZV9saW1pdGluZ19lbmFibGVkX2hlbHAnXSA9ICdTdW9qYWEgcmFhXCdpbHRhIHZvaW1haHnDtmtrw6R5a3NpbHTDpCBla3Nwb25lbnRpYWFsaXNlbGxhIHRha2Fpc2t1aWxsYSc7CiRsYW5nWydtYXhfYXR0ZW1wdHNfbG9ja291dCddID0gJ0VuaW1tw6Rpc3lyaXR5a3NldCBlbm5lbiBsdWtpdHVzdGEnOwokbGFuZ1snbWF4X2F0dGVtcHRzX2xvY2tvdXRfaGVscCddID0gJ0Vww6Rvbm5pc3R1bmVpZGVuIHlyaXR5c3RlbiBtw6TDpHLDpCBlbm5lbiB2w6RsaWFpa2Fpc3RhIGx1a2l0dXN0YSAob2xldHVzOiA1KSc7CiRsYW5nWydtYXhfYXR0ZW1wdHNfcmVzZXQnXSA9ICdFbmltbcOkaXNtw6TDpHLDpCB5cml0eWtzacOkIGVubmVuIHNhbGFzYW5hbiBwYWxhdXR0YW1pc3RhJzsKJGxhbmdbJ21heF9hdHRlbXB0c19yZXNldF9oZWxwJ10gPSAnRXDDpG9ubmlzdHVuZWlkZW4geXJpdHlzdGVuIG3DpMOkcsOkIGVubmVuIHNhbGFzYW5hbiBwYWxhdXR0YW1pc2VuIHBha290dGFtaXN0YSAob2xldHVzOiAxMCknOwokbGFuZ1snbm90aWZ5X2FkbWluJ10gPSAnSWxtb2l0YSBqw6RyamVzdGVsbcOkbnZhbHZvamFsbGUgZXDDpGlseXR0w6R2w6RzdMOkIHRvaW1pbm5hc3RhJzsKJGxhbmdbJ25vdGlmeV9hZG1pbl9oZWxwJ10gPSAnTMOkaGV0w6Qgc8OkaGvDtnBvc3RpaMOkbHl0eWtzacOkLCBrdW4gdXNlaXRhIGVww6Rvbm5pc3R1bmVpdGEgeXJpdHlrc2nDpCBoYXZhaXRhYW4nOwokbGFuZ1snc2V0dGluZ3Nfc2F2ZWQnXSA9ICdBc2V0dWtzZXQgdGFsbGVubmV0dGlpbiBvbm5pc3R1bmVlc3RpLic7CiRsYW5nWydwcm9fcmVxdWlyZWRfc2V0dGluZ3MnXSA9ICdOw6RpZGVuIGFzZXR1c3RlbiBtw6TDpHJpdHTDpG1pc2VlbiB0YXJ2aXRhYW4gUHJvLWxpc2Vuc3NpLic7CiRsYW5nWydhY2NvdW50X2xvY2tlZCddID0gJ0xpaWFuIG1vbnRhIGVww6Rvbm5pc3R1bnV0dGEgeXJpdHlzdMOkLiBZcml0w6QgdXVkZWxsZWVuICVkIG1pbnV1dGluIGt1bHV0dHVhLic7CiRsYW5nWydpcF9ibGFja2xpc3QnXSA9ICdJUC1tdXN0YSBsaXN0YSc7CiRsYW5nWydpcF9ibGFja2xpc3RfaGVscCddID0gJ1BpbGt1aWxsYSBlcm90ZXR0dSBsdWV0dGVsbyBweXN5dsOkc3RpIGVzdGV0dMOkdmlzdMOkIElQLW9zb2l0dGVpc3RhIChlc2ltLiAxOTIuMTY4LjEuMSwgMTAuMC4wLjUpJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlcyddID0gJ1PDpGhrw7Zwb3N0aW1hbGxpdCc7CiRsYW5nWydyZXNldF9lbWFpbF9zdWJqZWN0J10gPSAnU2FsYXNhbmFuIHBhbGF1dHRhbWluZW4gU8OkaGvDtnBvc3RpbiBhaWhlJzsKJGxhbmdbJ3Jlc2V0X2VtYWlsX2JvZHknXSA9ICdTYWxhc2FuYW4gcGFsYXV0dXNzw6Roa8O2cG9zdGluIHJ1bmtvJzsKJGxhbmdbJ3Jlc2V0X2VtYWlsX3BsYWNlaG9sZGVycyddID0gJ0vDpHl0ZXR0w6R2aXNzw6Qgb2xldmF0IHBhaWtrYW1lcmtpdDoge3VzZXJuYW1lfSwge3Jlc2V0X3VybH0nOwokbGFuZ1snYWxlcnRfZW1haWxfc3ViamVjdCddID0gJ0rDpHJqZXN0ZWxtw6RudmFsdm9qYW4gaMOkbHl0eWtzZW4gc8OkaGvDtnBvc3RpbiBhaWhlJzsKJGxhbmdbJ2FsZXJ0X2VtYWlsX2JvZHknXSA9ICdKw6RyamVzdGVsbcOkbnZhbHZvamFuIGjDpGx5dHlrc2VuIHPDpGhrw7Zwb3N0aW4gcnVua28nOwokbGFuZ1snYWxlcnRfZW1haWxfcGxhY2Vob2xkZXJzJ10gPSAnS8OkeXRldHTDpHZpc3PDpCBvbGV2YXQgcGFpa2thbWVya2l0OiB7dXNlcm5hbWV9LCB7aXBfYWRkcmVzc30sIHt9LCB7dGltZX0nOwokbGFuZ1sncmF0ZV9saW1pdGluZ19zZXR0aW5ncyddID0gJ05vcGV1ZGVucmFqb2l0dXMgamEgcmFhXCdhbiB2b2ltYW4gc3VvamF1cyc7CiRsYW5nWyd0YWJfdGVtcGxhdGVzJ10gPSAnTWFsbGl0JzsKJGxhbmdbJ3RhYl9wcm9fc2V0dGluZ3MnXSA9ICdBc2V0dWtzZXQnOwokbGFuZ1sndGFiX3NtcyddID0gJ1NNUy1hc2V0dWtzZXQnOwokbGFuZ1sndGFiX3ZlcmlmeV9sb2dzJ10gPSAnVGFya2lzdGEgbG9raXQnOwokbGFuZ1sndGFiX2xpY2Vuc2UnXSA9ICdQcm8tbGlzZW5zc2knOwokbGFuZ1sndGFiX3VwZ3JhZGUnXSA9ICdQw6Rpdml0w6QgUHJvLXZlcnNpb29uJzsKJGxhbmdbJ3RhYl9kZWJ1ZyddID0gJ1ZpcmhlZW5rb3JqYXVzJzsKJGxhbmdbJ3Byb19hY3RpdmVfYmV0YSddID0gJ1R3b0ZhY3RvciBQcm8gQWt0aWl2aW5lbic7CiRsYW5nWydwcm9fZmVhdHVyZXNfZW5hYmxlZCddID0gJ1ByZW1pdW0tb21pbmFpc3V1ZGV0IGvDpHl0w7Zzc8OkLic7CiRsYW5nWydwYXNzd29yZF9yZXNldF9lbWFpbCddID0gJ1NhbGFzYW5hbiBwYWxhdXR1c3PDpGhrw7Zwb3N0aSc7CiRsYW5nWydhZG1pbl9hbGVydF9lbWFpbCddID0gJ0rDpHJqZXN0ZWxtw6RudmFsdm9qYW4gaMOkbHl0eXNzw6Roa8O2cG9zdGknOwokbGFuZ1sndGFiX3VzZXJfbWFuYWdlbWVudCddID0gJ0vDpHl0dMOkamllbiBoYWxsaW50YSc7CiRsYW5nWyd1c2VyX21hbmFnZW1lbnQnXSA9ICdLw6R5dHTDpGrDpGhhbGxpbm5hbiBoYWxsaW50YXBhbmVlbGknOwokbGFuZ1sndXNlcl9tYW5hZ2VtZW50X2hlbHAnXSA9ICdUYXJrYXN0ZWxlIGphIGhhbGxpdHNlIGthaWtraWVuIGvDpHl0dMOkamllbiAyRkEtYXNldHVrc2lhLiBWb2l0IHBvaXN0YWEgbHVraXR0dWplbiBrw6R5dHTDpGppZW4gMkZBIGvDpHl0w7ZzdMOkLic7CiRsYW5nWyd1c2VybmFtZSddID0gJ0vDpHl0dMOkasOkdHVubnVzJzsKJGxhbmdbJ2VtYWlsJ10gPSAnU8OkaGvDtnBvc3RpJzsKJGxhbmdbJzJmYV9zdGF0dXMnXSA9ICcyRkEtdGlsYSc7CiRsYW5nWydlbmFibGVkX21ldGhvZHMnXSA9ICdLw6R5dMO2c3PDpCBvbGV2YXQgbWVuZXRlbG3DpHQnOwokbGFuZ1snZmFpbGVkX2F0dGVtcHRzJ10gPSAnRXDDpG9ubmlzdHVuZWV0IHlyaXR5a3NldCc7CiRsYW5nWydkaXNhYmxlXzJmYSddID0gJ1BvaXN0YSAyRkEga8OkeXTDtnN0w6QnOwokbGFuZ1snY29uZmlybV9kaXNhYmxlX3VzZXJfMmZhJ10gPSAnSGFsdWF0a28gdmFybWFzdGkgcG9pc3RhYSBrw6R5dHTDpGrDpG4g4oCdJXPigJ0ga2Frc2l2YWloZWlzZW4gdHVubmlzdGVlbiBrw6R5dMO2c3TDpD8gVMOkbcOkIHBvaXN0YWEga2Fpa2tpIDJGQS1hc2V0dWtzZXQsIGx1b3RldHV0IGxhaXR0ZWV0IGphIG5vbGxhYSBlcMOkb25uaXN0dW5lZXQgeXJpdHlrc2V0Lic7CiRsYW5nWyd1c2VyXzJmYV9kaXNhYmxlZCddID0gJzJGQSBvbiBwb2lzdGV0dHUga8OkeXTDtnN0w6Qga8OkeXR0w6Rqw6RsbGU6ICVzJzsKJGxhbmdbJ2xlZ2VuZCddID0gJ0xlZ2VuZGEnOwokbGFuZ1snbGVnZW5kX2xvY2tlZCddID0gJ1B1bmFpbmVuIHRhdXN0YSA9IEvDpHl0dMOkasOkIG9uIHTDpGxsw6QgaGV0a2VsbMOkIGx1a2l0dHUnOwokbGFuZ1snbGVnZW5kX2ZhaWxlZF9hdHRlbXB0cyddID0gJ0Vww6Rvbm5pc3R1bmVldCB5cml0eWtzZXQ6IHB1bmFpbmVuICg1KyksIG9yYW5zc2kgKDMtNCksIG11c3RhICgwLTIpJzsKJGxhbmdbJ2xlZ2VuZF9kaXNhYmxlJ10gPSAnS8OkeXTDpCBQb2lzdGEgMkZBIGvDpHl0w7ZzdMOkIHBvaXN0YWFrc2VzaSBrw6R5dHTDpGppZW4gbHVraXR1a3NlbiB0YWkgcG9pc3RhYWtzZXNpIGhlaWTDpG4gMkZBLWFzZXR1a3NlbnNhJzsKJGxhbmdbJ2RldmljZV9ub3RfZm91bmQnXSA9ICdMYWl0ZXR0YSBlaSBsw7Z5ZHkgdGFpIHNlIGVpIGt1dWx1IHNpbnVsbGUuJzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdZbGVpc2V0IGFzZXR1a3NldCc7CiRsYW5nWydlbmZvcmNlXzJmYV9hbGwnXSA9ICdUw6R5dMOkIDJGQSBrYWlraWxsZSBqw6RyamVzdGVsbcOkbnZhbHZvamFrw6R5dHTDpGppbGxlJzsKJGxhbmdbJ2VuZm9yY2VfMmZhX2FsbF9oZWxwJ10gPSAnS3VuIHTDpG3DpCBvbiBrw6R5dMO2c3PDpCwga2Fpa2tpZW4gasOkcmplc3RlbG3DpG52YWx2b2phbiBrw6R5dHTDpGppZW4gb24gb3RldHRhdmEga8OkeXR0w7bDtm4gMkZBIGVubmVuIGt1aW4gaGUgdm9pdmF0IGvDpHl0dMOkw6QgaGFsbGludGFwYW5lZWxpYSc7CiRsYW5nWycyZmFfcmVxdWlyZWQnXSA9ICcyRkEgdmFhZGl0YWFuJzsKJGxhbmdbJzJmYV9yZXF1aXJlZF9tZXNzYWdlJ10gPSAnSsOkcmplc3RlbG3DpG52YWx2b2phIG9uIG90dGFudXQga8OkeXR0w7bDtm4gcGFrb2xsaXNlbiBrYWtzaXZhaWhlaXNlbiB0b2Rlbm51a3Nlbi4gU2ludW4gb24gb3RldHRhdmEga8OkeXR0w7bDtm4gdsOkaGludMOkw6RuIHlrc2kgYWxsYSBvbGV2YSAyRkEtbWVuZXRlbG3DpCBqYXRrYWFrc2VzaSBoYWxsaW50YXBhbmVlbGluIGvDpHl0dMO2w6QuJzsKJGxhbmdbJ3Blcm1pc3Npb25fZGVuaWVkJ10gPSAnTHVwYSBldsOkdHR5LiBTaW51bGxhIGVpIG9sZSBww6TDpHN5w6QgdMOkaMOkbiBvbWluYWlzdXV0ZWVuLic7CiRsYW5nWydzbXNfc2V0dGluZ3MnXSA9ICdTTVMtYXNldHVrc2V0JzsKJGxhbmdbJ3Ntc19jcmVkaXRzX29wdGlvbiddID0gJ1ZhaWh0b2VodG8gMTogU01TLWh5dml0eWtzZXQgb3NvaXR0ZWVzdGEgUGl4ZWwgU29sdXRpb25zJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX2Rlc2NyaXB0aW9uJ10gPSAnT3N0YSB0ZWtzdGl2aWVzdGloeXZpdHlrc2nDpCBrYXVwYXN0YW1tZSBqYSBrw6R5dMOkIG5paXTDpCBrYWlraWxsYSBzaXZ1c3RvaWxsYXNpLiBZa3NpbmtlcnRhaW5lbiwgQVBJLWtva29vbnBhbm9hIGVpIHRhcnZpdGEuJzsKJGxhbmdbJ3Byb2R1Y3Rfa2V5J10gPSAnVHVvdGVhdmFpbic7CiRsYW5nWydwcm9kdWN0X2tleV9oZWxwJ10gPSAnQW5uYSB0dW90ZWF2YWluLCBqb25rYSBzYWl0IG9zdGV0dHVhc2kgdGVrc3Rpdmllc3RpaHl2aXR5a3NldCc7CiRsYW5nWydzYXZlX3Byb2R1Y3Rfa2V5J10gPSAnVGFsbGVubmEgdHVvdGVhdmFpbic7CiRsYW5nWydwdXJjaGFzZV9jcmVkaXRzJ10gPSAnT3N0YSB0ZWtzdGl2aWVzdGlrcmVkaWl0dGVqw6QnOwokbGFuZ1snc21zX2NyZWRpdHNfc2F2ZWQnXSA9ICdTTVMtaHl2aXR5c3RlbiB0dW90ZWF2YWluIHRhbGxlbm5ldHR1IG9ubmlzdHVuZWVzdGkuJzsKJGxhbmdbJ3R3aWxpb19hcGlfb3B0aW9uJ10gPSAnVmFpaHRvZWh0byAyOiBLw6R5dMOkIG9tYWEgVHdpbGlvLXRpbGnDpHNpJzsKJGxhbmdbJ3R3aWxpb19hcGlfZGVzY3JpcHRpb24nXSA9ICdNw6TDpHJpdMOkIG9tYXQgVHdpbGlvIEFQSSAtdHVubmlzdGV0aWVkb3QgbMOkaGV0dMOkw6Rrc2VzaSB0ZWtzdGl2aWVzdGVqw6Qgc3VvcmFhbiB0aWxpbHTDpHNpLic7CiRsYW5nWydzbXNfc3RhdHVzX2F2YWlsYWJsZSddID0gJ1NNUy12YWh2aXN0dXMga8OkeXRldHTDpHZpc3PDpCc7CiRsYW5nWydzbXNfc3RhdHVzX3VuYXZhaWxhYmxlJ10gPSAnU01TLXZhaHZpc3R1cyBlaSBvbGUga8OkeXRldHTDpHZpc3PDpCc7CiRsYW5nWydzbXNfY29uZmlndXJlX21ldGhvZCddID0gJ03DpMOkcml0w6QgU01TLWtyZWRpaXRpdCB0YWkgVHdpbGlvLXNvdmVsbHVzbGlpdHR5bcOkIFNNUy12YWh2aXN0dWtzZW4gb3R0YW1pc2Vrc2kga8OkeXR0w7bDtm4nOwokbGFuZ1snc21zX2JvdGhfbWV0aG9kc19hY3RpdmUnXSA9ICdTZWvDpCBTTVMta3JlZGlpdGl0IGV0dMOkIFR3aWxpby1zb3ZlbGx1c2xpaXR0eW3DpCBvbiBtw6TDpHJpdGV0dHknOwokbGFuZ1snc21zX2NyZWRpdHNfbWV0aG9kX2FjdGl2ZSddID0gJ1NNUy1oeXZpdHlzdGVuIGvDpHl0dMOkbWluZW4nOwokbGFuZ1snc21zX3R3aWxpb19tZXRob2RfYWN0aXZlJ10gPSAnVHdpbGlvLXNvdmVsbHVzbGlpdHR5bcOkbiBrw6R5dHTDpG1pbmVuJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3ByaW9yaXR5J10gPSAnVGVrc3Rpdmllc3RpaHl2aXR5a3NldCBrw6R5dGV0w6TDpG4gZW5zaW4nOwokbGFuZ1snYWN0aXZlJ10gPSAnQWt0aWl2aW5lbic7CiRsYW5nWydyZW1vdmVfdHdpbGlvJ10gPSAnUG9pc3RhIFR3aWxpbyBBUEkga8OkeXTDtnN0w6QnOwokbGFuZ1snY29uZmlybV9yZW1vdmVfdHdpbGlvJ10gPSAnSGFsdWF0a28gdmFybWFzdGkgcG9pc3RhYSBUd2lsaW8gQVBJIC10dW5uaXN0ZXRpZWRvdD8nOwokbGFuZ1sndHdpbGlvX3JlbW92ZWQnXSA9ICdUd2lsaW8gQVBJIC10dW5uaXN0ZXRpZWRvdCBwb2lzdGV0dGlpbiBvbm5pc3R1bmVlc3RpLic7CiRsYW5nWydlcnJvcl9zdWJzY3JpcHRpb25fa2V5X25vdF9zdXBwb3J0ZWQnXSA9ICdUw6Rtw6Qgb24gdGlsYXVzYXZhaW4uIFRla3N0aXZpZXN0aWh5dml0eWtzaWxsZSB0dWV0YWFuIHZhaW4gbHVvdHRvcG9oamFpc2lhIGxpc2Vuc3NlasOkLic7CiRsYW5nWyd0cnVzdGVkX2RldmljZXMnXSA9ICdMdW90ZXR1dCBsYWl0dGVldCc7CiRsYW5nWyd0YWJfbWV0aG9kcyddID0gJ01lbmV0ZWxtw6R0JzsKJGxhbmdbJ3RhYl90cnVzdGVkX2RldmljZXMnXSA9ICdMdW90ZXR1dCBsYWl0dGVldCc7CiRsYW5nWydhY3Rpb25zJ10gPSAnVG9pbWV0JzsKJGxhbmdbJ2VtYWlsX3ZlcmlmaWNhdGlvbl90aXRsZSddID0gJ1PDpGhrw7Zwb3N0aW4gdmFodmlzdHVzJzsKJGxhbmdbJ2VtYWlsX3ZlcmlmaWNhdGlvbl9zZW50J10gPSAnVmFodmlzdHVza29vZGkgb24gbMOkaGV0ZXR0eSBzw6Roa8O2cG9zdGlvc29pdHRlZXNlZXNpLic7CiRsYW5nWydyZW1lbWJlcl9kZXZpY2UnXSA9ICdNdWlzdGEgdMOkbcOkIGxhaXRlIDMwIHDDpGl2w6RuIGFqYW4nOwokbGFuZ1snYWNjb3VudF9sb2NrZWRfc2Vjb25kcyddID0gJ0xpaWFuIG1vbnRhIGVww6Rvbm5pc3R1bnV0dGEgeXJpdHlzdMOkLiBZcml0w6QgdXVkZWxsZWVuICVkIHNla3VubmluIGt1bHV0dHVhICVzLic7CiRsYW5nWydhY2NvdW50X2xvY2tlZF9taW51dGVzJ10gPSAnTGlpYW4gbW9udGEgZXDDpG9ubmlzdHVudXR0YSB5cml0eXN0w6QuIFlyaXTDpCB1dWRlbGxlZW4gJWQgbWludXV0aW4ga3VsdXR0dWEgJXMuJzsKJGxhbmdbJ3Jlc2VuZF92ZXJpZmljYXRpb25fY29kZSddID0gJ0zDpGhldMOkIHZhaHZpc3R1c2tvb2RpIHV1ZGVsbGVlbic7CiRsYW5nWyd1c2VfYmFja3VwX2NvZGUnXSA9ICdLw6R5dMOkIHZhcmFrb29kaWEnOwokbGFuZ1sndG90cF92ZXJpZmljYXRpb25fdGl0bGUnXSA9ICdLYWtzaXZhaWhlaW5lbiB0b2Rlbm51cyc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZV9sYWJlbCddID0gJ1ZhaHZpc3R1c2tvb2RpJzsKJGxhbmdbJ3Ntc192ZXJpZmljYXRpb25fdGl0bGUnXSA9ICdTTVMtdmFodmlzdHVzJzsKJGxhbmdbJ3Ntc192ZXJpZmljYXRpb25fc2VudCddID0gJ1B1aGVsaW1lZXNpIG9uIGzDpGhldGV0dHkgdmFodmlzdHVza29vZGkuJzsK]]></data>
	</file>
	<file>
		<filename>/lang/ext/fr_FR.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3b0ZhY3Rvcic7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnQ29ubmV4aW9uIHPDqWN1cmlzw6llIENNUyBNYWRlIFNpbXBsZSBhdmVjIGF1dGhlbnRpZmljYXRpb24gw6AgZGV1eCBmYWN0ZXVycyAoMkZBKSAtIHBhciBQaXhlbCBTb2x1dGlvbnMnOwokbGFuZ1sncGFyYW1fdXNlciddID0gJ1BhcmFtw6h0cmUgdXRpbGlzYXRldXIgcG91ciBsXCdpbnTDqWdyYXRpb24gZnJvbnRlbmQnOwokbGFuZ1snYXNrX3VuaW5zdGFsbCddID0gJ8OKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIGTDqXNpbnN0YWxsZXIgbGUgbW9kdWxlIFR3byBGYWN0b3LCoD8gVG91cyBsZXMgcGFyYW3DqHRyZXMgc2Vyb250IHBlcmR1cy4nOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzJ10gPSAnVHdvRmFjdG9yIC0gUGFyYW3DqHRyZXMgVHdpbGlvJzsKJGxhbmdbJ3R3b19mYWN0b3Jfc2V0dGluZ3MnXSA9ICdQYXJhbcOodHJlcyBkXCdhdXRoZW50aWZpY2F0aW9uIMOgIGRldXggZmFjdGV1cnMnOwokbGFuZ1sndHdvX2ZhY3Rvcl9hY3RpdmUnXSA9ICdMXCdhdXRoZW50aWZpY2F0aW9uIMOgIGRldXggZmFjdGV1cnMgZXN0IGFjdGl2ZSBzdXIgdm90cmUgY29tcHRlLic7CiRsYW5nWyd0d29fZmFjdG9yX2luYWN0aXZlJ10gPSAnTFwnYXV0aGVudGlmaWNhdGlvbiDDoCBkZXV4IGZhY3RldXJzIGVzdCBhY3R1ZWxsZW1lbnQgZMOpc2FjdGl2w6llLiBTw6lsZWN0aW9ubmV6IHVuZSBtw6l0aG9kZSBwcmluY2lwYWxlIGNpLWRlc3NvdXMgcG91ciBsXCdhY3RpdmVyLic7CiRsYW5nWydlbmFibGVkX21ldGhvZHMnXSA9ICdNw6l0aG9kZXMgYWN0aXbDqWVzJzsKJGxhbmdbJ2F2YWlsYWJsZV9tZXRob2RzJ10gPSAnTcOpdGhvZGVzIGRcJ2F1dGhlbnRpZmljYXRpb24gZGlzcG9uaWJsZXMnOwokbGFuZ1snbm9fbWV0aG9kc19lbmFibGVkJ10gPSAnQXVjdW5lIG3DqXRob2RlIMOgIGRldXggZmFjdGV1cnMgblwnZXN0IGVuY29yZSBhY3RpdsOpZS4gQ2hvaXNpc3NleiB1bmUgbcOpdGhvZGUgY2ktZGVzc291cyBwb3VyIGNvbW1lbmNlci4nOwokbGFuZ1sncHJpbWFyeSddID0gJ1ByaW1haXJlJzsKJGxhbmdbJ3ByaW1hcnlfbWV0aG9kJ10gPSAnTcOpdGhvZGUgcHJpbmNpcGFsZSc7CiRsYW5nWydwcmltYXJ5X21ldGhvZF9pbmZvJ10gPSAnU8OpbGVjdGlvbm5leiBsYSBtw6l0aG9kZSBwcmluY2lwYWxlIMOgIHV0aWxpc2VyIHBvdXIgbFwnYXV0aGVudGlmaWNhdGlvbiDDoCBkZXV4IGZhY3RldXJzIGxvcnMgZGUgbGEgY29ubmV4aW9uIMOgIGNlIHNpdGUnOwokbGFuZ1sndXBkYXRlJ10gPSAnTWV0dHJlIMOgIGpvdXInOwokbGFuZ1sncHJpbWFyeV91cGRhdGVkJ10gPSAnTcOpdGhvZGUgZFwnYXV0aGVudGlmaWNhdGlvbiBwcmluY2lwYWxlIG1pc2Ugw6Agam91ci4nOwokbGFuZ1snbWV0aG9kJ10gPSAnTcOpdGhvZGUnOwokbGFuZ1snc3RhdHVzJ10gPSAnw4l0YXQnOwokbGFuZ1snYWN0aW9uJ10gPSAnQWN0aW9uJzsKJGxhbmdbJ2VuYWJsZWQnXSA9ICdBY3RpdsOpJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnRMOpc2FjdGl2w6knOwokbGFuZ1sndmVyaWZpZWQnXSA9ICdWw6lyaWZpw6knOwokbGFuZ1snY29uZmlndXJlJ10gPSAnQ29uZmlndXJleic7CiRsYW5nWyd0YWJfc2V0dGluZ3MnXSA9ICdSw6lnbGFnZXMnOwokbGFuZ1sndGFiX3ByZW1pdW0nXSA9ICdQcmltZSc7CiRsYW5nWyd0YWJfc21zY3JlZGl0J10gPSAnUsOpZ2xhZ2VzIGRlcyBTTVMnOwokbGFuZ1snc2V0dGluZ3NfaW5mbyddID0gJ1BhcmFtw6h0cmVzIGfDqW7DqXJhdXggZHUgbW9kdWxlLic7CiRsYW5nWydwcmVtaXVtX2luZm8nXSA9ICdEZXMgZm9uY3Rpb25uYWxpdMOpcyBwcmVtaXVtIHNlcm9udCBiaWVudMO0dCBkaXNwb25pYmxlcy4nOwokbGFuZ1snc21zY3JlZGl0X2luZm8nXSA9ICdMYSBnZXN0aW9uIGR1IGNyw6lkaXQgcGFyIFNNUyBzZXJhIGJpZW50w7R0IGRpc3BvbmlibGUuJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3NhdmVkJ10gPSAnTGljZW5jZSBkZSBjcsOpZGl0cyBTTVMgZW5yZWdpc3Ryw6llIGV0IHZhbGlkw6llIGF2ZWMgc3VjY8Oocy4nOwokbGFuZ1snZXJyb3JfZW1wdHlfbGljZW5zZSddID0gJ0xhIGNsw6kgZGUgbGljZW5jZSBuZSBwZXV0IHBhcyDDqnRyZSB2aWRlLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2xpY2Vuc2UnXSA9ICdDbMOpIGRlIGxpY2VuY2Ugbm9uIHZhbGlkZSBvdSDDqWNoZWMgZGUgdmFsaWRhdGlvbi4nOwokbGFuZ1snZXJyb3JfdHdpbGlvX2ZpZWxkc19yZXF1aXJlZCddID0gJ1RvdXMgbGVzIGNoYW1wcyBUd2lsaW8gc29udCBvYmxpZ2F0b2lyZXMuJzsKJGxhbmdbJ2Vycm9yX3R3aWxpb19pbnZhbGlkX2NyZWRlbnRpYWxzJ10gPSAnSW5mb3JtYXRpb25zIGRcJ2lkZW50aWZpY2F0aW9uIFR3aWxpbyBub24gdmFsaWRlcy4gVsOpcmlmaWV6IHZvdHJlIGNsw6kgQVBJLCB2b3RyZSBjb2RlIHNlY3JldCBldCB2b3RyZSBTSUQgZGUgc2VydmljZS4nOwokbGFuZ1snc21zX2NyZWRpdHNfcmVtb3ZlZCddID0gJ0xhIGxpY2VuY2UgZGUgY3LDqWRpdHMgU01TIGEgw6l0w6kgc3VwcHJpbcOpZSBhdmVjIHN1Y2PDqHMuJzsKJGxhbmdbJ3JlbW92ZV9saWNlbnNlJ10gPSAnRMOpc2FjdGl2ZXIgbGEgbGljZW5jZSc7CiRsYW5nWydjb25maXJtX3JlbW92ZV9saWNlbnNlJ10gPSAnw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGxhIGxpY2VuY2UgZGUgY3LDqWRpdHMgU01TwqA/JzsKJGxhbmdbJ2xpY2Vuc2VfcmVtb3ZlZCddID0gJ0xpY2VuY2Ugc3VwcHJpbcOpZSBhdmVjIHN1Y2PDqHMuJzsKJGxhbmdbJ2xpY2Vuc2VfdmFsaWQnXSA9ICdMYSBsaWNlbmNlIGVzdCB2YWxpZGUgZXQgYWN0aXZlLic7CiRsYW5nWydzbXNfY3JlZGl0c19hY3RpdmUnXSA9ICdDcsOpZGl0cyByZXN0YW50c8KgOiAlcyc7CiRsYW5nWyd0eXBlX1R3b0ZhY3RvciddID0gJ0RldXggZmFjdGV1cnMnOwokbGFuZ1sndHlwZV9lbWFpbF92ZXJpZmljYXRpb24nXSA9ICdWw6lyaWZpY2F0aW9uIGRlcyBlLW1haWxzJzsKJGxhbmdbJ3Byb3ZpZGVyX3RvdHAnXSA9ICdBcHBsaWNhdGlvbiBkXCdhdXRoZW50aWZpY2F0aW9uIChUT1RQKSc7CiRsYW5nWyd0b3RwX2Rlc2NyaXB0aW9uJ10gPSAnVXRpbGlzZXogR29vZ2xlIEF1dGhlbnRpY2F0b3IsIEF1dGh5IG91IGRlcyBhcHBsaWNhdGlvbnMgc2ltaWxhaXJlcyc7CiRsYW5nWydlbWFpbF9kZXNjcmlwdGlvbiddID0gJ1JlY2V2ZXogbGVzIGNvZGVzIGRlIHbDqXJpZmljYXRpb24gcGFyIGUtbWFpbCc7CiRsYW5nWydiYWNrdXBfY29kZXNfZGVzY3JpcHRpb24nXSA9ICdDb2RlcyBkZSBzZWNvdXJzIMOgIHVzYWdlIHVuaXF1ZSBwb3VyIGxcJ2FjY8OocyBkXCd1cmdlbmNlJzsKJGxhbmdbJ3Byb3ZpZGVyX3NtcyddID0gJ1bDqXJpZmljYXRpb24gcGFyIFNNUyc7CiRsYW5nWydzbXNfZGVzY3JpcHRpb24nXSA9ICdSZWNldmV6IGRlcyBjb2RlcyBkZSB2w6lyaWZpY2F0aW9uIHBhciBTTVMnOwokbGFuZ1snc2V0dXBfc21zJ10gPSAnQ29uZmlndXJlciBsYSB2w6lyaWZpY2F0aW9uIHBhciBTTVMnOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzJ10gPSAnUGFyYW3DqHRyZXMgZGUgbFwnQVBJIFR3aWxpbyc7CiRsYW5nWyd0d2lsaW9fYXBpX2tleV9zaWQnXSA9ICdTSUQgZGUgY2zDqSBkXCdBUEkgVHdpbGlvJzsKJGxhbmdbJ3R3aWxpb19hcGlfc2VjcmV0J10gPSAnU2VjcmV0IGRlIGxcJ0FQSSBUd2lsaW8nOwokbGFuZ1sndHdpbGlvX3NlcnZpY2Vfc2lkJ10gPSAnU0lEIGR1IHNlcnZpY2UgVHdpbGlvIFZlcmlmeSc7CiRsYW5nWyd0d2lsaW9fc2VydmljZV9zaWRfaGVscCddID0gJ0Nyw6lleiB1biBzZXJ2aWNlIGRlIHbDqXJpZmljYXRpb24gZGFucyB2b3RyZSBjb25zb2xlIFR3aWxpbyBldCBlbnRyZXogbGUgU0lEIGR1IHNlcnZpY2UgaWNpJzsKJGxhbmdbJ3NhdmVfc2V0dGluZ3MnXSA9ICdFbnJlZ2lzdHJlciBsZXMgcGFyYW3DqHRyZXMnOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzX3NhdmVkJ10gPSAnTGVzIHBhcmFtw6h0cmVzIGRlIFR3aWxpbyBvbnQgw6l0w6kgZW5yZWdpc3Ryw6lzLic7CiRsYW5nWyd0ZXN0X2NvbmZpZ3VyYXRpb24nXSA9ICdDb25maWd1cmF0aW9uIGRlcyB0ZXN0cyc7CiRsYW5nWyd0ZXN0X2NvbmZpZ3VyYXRpb25faW5mbyddID0gJ1V0aWxpc2V6IFR3aWxpbyBNYWdpYyBOdW1iZXJzIHBvdXIgdGVzdGVyIGF2ZWMgZGVzIGluZm9ybWF0aW9ucyBkXCdpZGVudGlmaWNhdGlvbiBkZSB0ZXN0LiBMZSB0ZXN0IHV0aWxpc2UgbFwnQVBJIFNNUyBwcm9ncmFtbWFibGUgKGV0IG5vbiBsXCdBUEkgVmVyaWZ5KS4nOwokbGFuZ1sndGVzdF9waG9uZV9udW1iZXInXSA9ICdOdW3DqXJvIGRlIHTDqWzDqXBob25lIGR1IHRlc3QnOwokbGFuZ1snbWFnaWNfbnVtYmVyX2hlbHAnXSA9ICdVdGlsaXNleiArMTUwMDU1NTAwMDYgKHN1Y2PDqHMpIG91ICsxNTAwNTU1MDAwMSAobnVtw6lybyBub24gdmFsaWRlKSBwb3VyIHRlc3Rlcic7CiRsYW5nWydzZW5kX3Rlc3Rfc21zJ10gPSAnRW52b3llciB1biBTTVMgZGUgdGVzdCc7CiRsYW5nWyd0ZXN0X3Ntc19zZW50J10gPSAnU01TIGRlIHRlc3QgZW52b3nDqSBhdmVjIHN1Y2PDqHPCoCEgUmVtYXJxdWXCoDogQ2VsYSB1dGlsaXNlIGxcJ0FQSSBTTVMgcHJvZ3JhbW1hYmxlIHBvdXIgbGVzIHRlc3RzLic7CiRsYW5nWyd0ZXN0X3Ntc19mYWlsZWQnXSA9ICdMZSBTTVMgZGUgdGVzdCBhIMOpY2hvdcOpwqA6ICVzJzsKJGxhbmdbJ3R3aWxpb19ub3RfY29uZmlndXJlZCddID0gJ1ZldWlsbGV6IGRcJ2Fib3JkIGNvbmZpZ3VyZXIgbGUgU0lEIGR1IGNvbXB0ZSBUd2lsaW8gZXQgbGUgamV0b24gZFwnYXV0aGVudGlmaWNhdGlvbi4nOwokbGFuZ1snY29uZmlndXJlX3R3aWxpbyddID0gJ0NvbmZpZ3VyZXIgbGVzIHBhcmFtw6h0cmVzIGRlIFR3aWxpbyc7CiRsYW5nWydzbXNfdXNlcl9zZXR0aW5ncyddID0gJ1ZvcyBwYXJhbcOodHJlcyBTTVMnOwokbGFuZ1sncGhvbmVfbnVtYmVyJ10gPSAnTnVtw6lybyBkZSB0w6lsw6lwaG9uZSc7CiRsYW5nWydwaG9uZV9mb3JtYXRfaGVscCddID0gJ0VudHJleiBhdSBmb3JtYXQgRS4xNjQgKHBhciBleGVtcGxlLCArMTIzNDU2Nzg5MCknOwokbGFuZ1snc21zX3NldHVwX2luZm8nXSA9ICdFbnRyZXogdm90cmUgbnVtw6lybyBkZSB0w6lsw6lwaG9uZSBwb3VyIHJlY2V2b2lyIGxlcyBjb2RlcyBkZSB2w6lyaWZpY2F0aW9uIHBhciBTTVMuJzsKJGxhbmdbJ3ZlcmlmaWNhdGlvbl9zZW50J10gPSAnQ29kZSBkZSB2w6lyaWZpY2F0aW9uIGVudm95w6nCoCEgVsOpcmlmaWV6IHZvdHJlIHTDqWzDqXBob25lLic7CiRsYW5nWyd2ZXJpZmljYXRpb25fZmFpbGVkJ10gPSAnSW1wb3NzaWJsZSBkXCdlbnZveWVyIGxhIHbDqXJpZmljYXRpb27CoDogJXMnOwokbGFuZ1sndmVyaWZpY2F0aW9uX2NvZGVfc2VudCddID0gJ1VuIGNvZGUgZGUgdsOpcmlmaWNhdGlvbiBhIMOpdMOpIGVudm95w6kgw6AgJXMnOwokbGFuZ1sndmVyaWZpY2F0aW9uX2NvZGUnXSA9ICdDb2RlIGRlIHbDqXJpZmljYXRpb24nOwokbGFuZ1sndmVyaWZ5X3Bob25lJ10gPSAnVsOpcmlmaWVyIGxlIG51bcOpcm8gZGUgdMOpbMOpcGhvbmUnOwokbGFuZ1sncmVzZW5kX2NvZGUnXSA9ICdSZW52b3llciBsZSBjb2RlJzsKJGxhbmdbJ2NoYW5nZV9waG9uZSddID0gJ01vZGlmaWVyIGxlIG51bcOpcm8gZGUgdMOpbMOpcGhvbmUnOwokbGFuZ1snc2VuZF92ZXJpZmljYXRpb25fY29kZSddID0gJ0Vudm95ZXIgbGUgY29kZSBkZSB2w6lyaWZpY2F0aW9uJzsKJGxhbmdbJ3Ntc19lbmFibGVkJ10gPSAnTGEgdsOpcmlmaWNhdGlvbiBwYXIgU01TIGEgw6l0w6kgYWN0aXbDqWXCoCEnOwokbGFuZ1snc21zX2Rpc2FibGVkJ10gPSAnTGEgdsOpcmlmaWNhdGlvbiBwYXIgU01TIGEgw6l0w6kgZMOpc2FjdGl2w6llLic7CiRsYW5nWydzbXNfZW5hYmxlZF9pbmZvJ10gPSAnTGEgdsOpcmlmaWNhdGlvbiBwYXIgU01TIGVzdCBhY3RpdsOpZSBwb3VywqA6ICVzJzsKJGxhbmdbJ2VuYWJsZV9zbXMnXSA9ICdBY3RpdmVyIGxhIHbDqXJpZmljYXRpb24gcGFyIFNNUyc7CiRsYW5nWydkaXNhYmxlX3NtcyddID0gJ0TDqXNhY3RpdmVyIGxhIHbDqXJpZmljYXRpb24gcGFyIFNNUyc7CiRsYW5nWydzbXNfYm9keSddID0gJ1ZvdHJlIGNvZGUgZGUgdsOpcmlmaWNhdGlvbiBlc3TCoDogJXMnOwokbGFuZ1snc2V0dXBfdG90cCddID0gJ0NvbmZpZ3VyYXRpb24gZGUgbFwnYXBwbGljYXRpb24gZFwnYXV0aGVudGlmaWNhdGlvbiAoVE9UUCknOwokbGFuZ1snc2Nhbl9xciddID0gJ1NjYW5uZXogY2UgY29kZSBRUiBhdmVjIHZvdHJlIGFwcGxpY2F0aW9uIGRcJ2F1dGhlbnRpZmljYXRpb24gKEdvb2dsZSBBdXRoZW50aWNhdG9yLCBBdXRoeSwgZXRjLiknOwokbGFuZ1snbWFudWFsX2VudHJ5J10gPSAnT3UgZW50cmV6IGNldHRlIGNsw6kgbWFudWVsbGVtZW50JzsKJGxhbmdbJ2VudGVyX2NvZGVfdmVyaWZ5J10gPSAnRW50cmV6IGxlIGNvZGUgw6AgNiBjaGlmZnJlcyBkZSB2b3RyZSBhcHBsaWNhdGlvbiBwb3VyIHbDqXJpZmllcic7CiRsYW5nWyd2ZXJpZnknXSA9ICdWw6lyaWZpZXonOwokbGFuZ1sndG90cF9lbmFibGVkJ10gPSAnTFwnYXBwbGljYXRpb24gQXV0aGVudGljYXRvciBhIMOpdMOpIGFjdGl2w6llIGF2ZWMgc3VjY8Ooc8KgISc7CiRsYW5nWyd0b3RwX2NvbmZpZ3VyZWQnXSA9ICdMXCdhcHBsaWNhdGlvbiBBdXRoZW50aWNhdG9yIGVzdCBjb25maWd1csOpZSBldCBhY3RpdmUuJzsKJGxhbmdbJ3RvdHBfcmVzZXRfd2FybmluZyddID0gJ0VuIGNhcyBkZSByw6lpbml0aWFsaXNhdGlvbiwgdm91cyBkZXZyZXogc2Nhbm5lciDDoCBub3V2ZWF1IGxlIGNvZGUgUVIgc3VyIHRvdXMgdm9zIGFwcGFyZWlscy4nOwokbGFuZ1sncmVzZXRfdG90cCddID0gJ1LDqWluaXRpYWxpc2VyIGxcJ2FwcGxpY2F0aW9uIEF1dGhlbnRpY2F0b3InOwokbGFuZ1snY29uZmlybV9yZXNldCddID0gJ8OKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIGxlIHLDqWluaXRpYWxpc2VywqA/IFZvdXMgZGV2cmV6IHJlY29uZmlndXJlciB0b3VzIGxlcyBhcHBhcmVpbHMuJzsKJGxhbmdbJ3RvdHBfcmVzZXQnXSA9ICdMXCdhcHBsaWNhdGlvbiBBdXRoZW50aWNhdG9yIGEgw6l0w6kgcsOpaW5pdGlhbGlzw6llLic7CiRsYW5nWydiYWNrJ10gPSAnUmV0b3VyJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZXInOwokbGFuZ1sndHdvX2ZhY3Rvcl9yZXF1aXJlZCddID0gJ0F1dGhlbnRpZmljYXRpb24gw6AgZGV1eCBmYWN0ZXVycyByZXF1aXNlJzsKJGxhbmdbJ2VudGVyX2NvZGVfZnJvbV9hcHAnXSA9ICdFbnRyZXogbGUgY29kZSDDoCA2IGNoaWZmcmVzIGRlcHVpcyB2b3RyZSBhcHBsaWNhdGlvbiBkXCdhdXRoZW50aWZpY2F0aW9uJzsKJGxhbmdbJ2F1dGhlbnRpY2F0aW9uX2NvZGUnXSA9ICdDb2RlIGRcJ2F1dGhlbnRpZmljYXRpb24nOwokbGFuZ1snaW52YWxpZF9jb2RlJ10gPSAnQ29kZSBub24gdmFsaWRlLiBWZXVpbGxleiByw6llc3NheWVyLic7CiRsYW5nWydjb2RlX3Jlc2VudCddID0gJ1VuIG5vdXZlYXUgY29kZSBkZSB2w6lyaWZpY2F0aW9uIGEgw6l0w6kgZW52b3nDqS4nOwokbGFuZ1sndmVyaWZ5J10gPSAnVsOpcmlmaWV6JzsKJGxhbmdbJ3Byb3ZpZGVyX2VtYWlsJ10gPSAnVsOpcmlmaWNhdGlvbiBkZXMgZS1tYWlscyc7CiRsYW5nWydlbWFpbF9zdWJqZWN0J10gPSAnVm90cmUgY29kZSBkZSB2w6lyaWZpY2F0aW9uJzsKJGxhbmdbJ2VtYWlsX2JvZHknXSA9ICdWb3RyZSBjb2RlIGRlIHbDqXJpZmljYXRpb24gZXN0wqA6ICVzXG5cbkNlIGNvZGUgZXhwaXJlcmEgZGFucyAxMCBtaW51dGVzLic7CiRsYW5nWydlbWFpbF9ub19hZGRyZXNzJ10gPSAnQXVjdW5lIGFkcmVzc2UgZS1tYWlsIG5cJ2Egw6l0w6kgY29uZmlndXLDqWUgcG91ciB2b3RyZSBjb21wdGUuJzsKJGxhbmdbJ2VtYWlsX3NldHVwX2luZm8nXSA9ICdMZXMgY29kZXMgZGUgdsOpcmlmaWNhdGlvbiBzZXJvbnQgZW52b3nDqXMgw6DCoDogJXMnOwokbGFuZ1snc2V0dXBfZW1haWwnXSA9ICdDb25maWd1cmVyIGxhIHbDqXJpZmljYXRpb24gZGVzIGUtbWFpbHMnOwokbGFuZ1snZW1haWxfZW5hYmxlZCddID0gJ0xhIHbDqXJpZmljYXRpb24gZGVzIGUtbWFpbHMgYSDDqXTDqSBhY3RpdsOpZcKgISc7CiRsYW5nWydlbWFpbF9kaXNhYmxlZCddID0gJ0xhIHbDqXJpZmljYXRpb24gZGVzIGUtbWFpbHMgYSDDqXTDqSBkw6lzYWN0aXbDqWUuJzsKJGxhbmdbJ2VtYWlsX2VuYWJsZWRfc3RhdHVzJ10gPSAnTGEgdsOpcmlmaWNhdGlvbiBkZXMgZS1tYWlscyBlc3QgYWN0aXbDqWUgZXQgYWN0aXZlLic7CiRsYW5nWydlbmFibGVfZW1haWwnXSA9ICdBY3RpdmVyIGxhIHbDqXJpZmljYXRpb24gZGVzIGUtbWFpbHMnOwokbGFuZ1snZGlzYWJsZV9lbWFpbCddID0gJ0TDqXNhY3RpdmVyIGxhIHbDqXJpZmljYXRpb24gZGVzIGUtbWFpbHMnOwokbGFuZ1sncHJvdmlkZXJfYmFja3VwX2NvZGVzJ10gPSAnQ29kZXMgZGUgc2F1dmVnYXJkZSc7CiRsYW5nWydzZXR1cF9iYWNrdXBfY29kZXMnXSA9ICdDb25maWd1cmVyIGxlcyBjb2RlcyBkZSBzYXV2ZWdhcmRlJzsKJGxhbmdbJ2JhY2t1cF9jb2Rlc193YXJuaW5nJ10gPSAnQ29uc2VydmV6IGNlcyBjb2RlcyBlbiBsaWV1IHPDu3LCoCEnOwokbGFuZ1snYmFja3VwX2NvZGVzX2luZm8nXSA9ICdDaGFxdWUgY29kZSBuZSBwZXV0IMOqdHJlIHV0aWxpc8OpIHF1XCd1bmUgc2V1bGUgZm9pcy4gVXRpbGlzZXotbGVzIHNpIHZvdXMgcGVyZGV6IGxcJ2FjY8OocyDDoCB2b3RyZSBtw6l0aG9kZSBkXCdhdXRoZW50aWZpY2F0aW9uIHByaW5jaXBhbGUuJzsKJGxhbmdbJ2JhY2t1cF9jb2Rlc19lbmFibGVkX2luZm8nXSA9ICdMZXMgY29kZXMgZGUgc2F1dmVnYXJkZSBzb250IGFjdGl2w6lzLiBWb3VzIHBvdXZleiBsZXMgdXRpbGlzZXIgc2kgdm91cyBwZXJkZXogbFwnYWNjw6hzIMOgIHZvcyBhdXRyZXMgbcOpdGhvZGVzIGRcJ2F1dGhlbnRpZmljYXRpb24uJzsKJGxhbmdbJ2NvZGVzX3JlbWFpbmluZyddID0gJ0NvZGVzIHJlc3RhbnRzJzsKJGxhbmdbJ3JlZ2VuZXJhdGVfY29kZXMnXSA9ICdSw6lnw6luw6lyZXIgbGVzIGNvZGVzJzsKJGxhbmdbJ2NvbmZpcm1fcmVnZW5lcmF0ZSddID0gJ0NlbGEgYW5udWxlcmEgdG91cyBsZXMgY29kZXMgZXhpc3RhbnRzLiBDb250aW51ZXLCoD8nOwokbGFuZ1snZGlzYWJsZV9iYWNrdXBfY29kZXMnXSA9ICdEw6lzYWN0aXZlciBsZXMgY29kZXMgZGUgc2F1dmVnYXJkZSc7CiRsYW5nWydjb25maXJtX2Rpc2FibGUnXSA9ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBkw6lzYWN0aXZlciBsZXMgY29kZXMgZGUgc2Vjb3Vyc8KgPyc7CiRsYW5nWydiYWNrdXBfY29kZXNfZGlzYWJsZWQnXSA9ICdMZXMgY29kZXMgZGUgc2F1dmVnYXJkZSBvbnQgw6l0w6kgZMOpc2FjdGl2w6lzLic7CiRsYW5nWydiYWNrdXBfY29kZXNfc2V0dXBfaW5mbyddID0gJ0fDqW7DqXJleiBkZXMgY29kZXMgZGUgc2F1dmVnYXJkZSDDoCB1dGlsaXNlciBjb21tZSBtw6l0aG9kZSBkXCdhdXRoZW50aWZpY2F0aW9uIGRlIHNlY291cnMuJzsKJGxhbmdbJ2dlbmVyYXRlX2NvZGVzJ10gPSAnR8OpbsOpcmVyIGRlcyBjb2RlcyBkZSBzYXV2ZWdhcmRlJzsKJGxhbmdbJ3ByZW1pdW1fdGl0bGUnXSA9ICdUd29GYWN0b3IgUHJvJzsKJGxhbmdbJ2FjdGl2YXRlX3lvdXJfbGljZW5zZSddID0gJ0FjdGl2ZXogdm90cmUgbGljZW5jZSc7CiRsYW5nWydwcmVtaXVtX2Rlc2NyaXB0aW9uJ10gPSAnRMOpYmxvcXVleiBkZXMgY29udHLDtGxlcyBkZSBzw6ljdXJpdMOpIGF2YW5jw6lzLCB1bmUgYXV0aGVudGlmaWNhdGlvbiDDoCBkZXV4IGZhY3RldXJzIGFwcGxpcXXDqWUgcG91ciB0b3VzIGxlcyB1dGlsaXNhdGV1cnMsIHVuZSBsaW1pdGF0aW9uIGludGVsbGlnZW50ZSBkdSBkw6liaXQsIGRlcyBhcHBhcmVpbHMgZmlhYmxlcyBldCB1bmUgYXNzaXN0YW5jZSBwcmlvcml0YWlyZSwgcG91ciB1bmUgcHJvdGVjdGlvbiBjb21wbMOodGUgZXQgdW5lIHN1cGVydmlzaW9uIGFkbWluaXN0cmF0aXZlIGRlIHZvdHJlIHNpdGUgQ01TIE1hZGUgU2ltcGxlLic7CiRsYW5nWydsaWNlbnNlX2tleSddID0gJ0Nsw6kgZGUgbGljZW5jZSc7CiRsYW5nWyd2ZXJpZnlfbGljZW5zZSddID0gJ1ZhbGlkZXIgbGEgbGljZW5jZSc7CiRsYW5nWydsaWNlbnNlX2tleV9yZXF1aXJlZCddID0gJ0VudHJleiB1bmUgY2zDqSBkZSBsaWNlbmNlLic7CiRsYW5nWydsaWNlbnNlX2FjdGl2YXRlZCddID0gJ0xpY2VuY2UgYWN0aXbDqWUgYXZlYyBzdWNjw6hzwqAhIExlcyBmb25jdGlvbm5hbGl0w6lzIGRlIFR3b0ZhY3RvciBQcm8gc29udCBkw6lzb3JtYWlzIGFjdGl2w6llcy4nOwokbGFuZ1snbGljZW5zZV9pbnZhbGlkJ10gPSAnQ2zDqSBkZSBsaWNlbmNlIG5vbiB2YWxpZGUuIFZldWlsbGV6IHbDqXJpZmllciBldCByw6llc3NheWVyLic7CiRsYW5nWydsaWNlbnNlX3ZlcmlmaWNhdGlvbl9mYWlsZWQnXSA9ICdJbXBvc3NpYmxlIGRlIHbDqXJpZmllciBsYSBsaWNlbmNlLiBWw6lyaWZpZXogdm90cmUgY29ubmV4aW9uIGV0IHLDqWVzc2F5ZXouJzsKJGxhbmdbJ3Byb19hY3RpdmF0ZWQnXSA9ICdUd29GYWN0b3IgUHJvIGFjdGl2w6knOwokbGFuZ1sncHJvX2ZlYXR1cmVzX3VubG9ja2VkJ10gPSAnVG91dGVzIGxlcyBmb25jdGlvbm5hbGl0w6lzIHByZW1pdW0gc29udCBkw6lzb3JtYWlzIGTDqWJsb3F1w6llcy4nOwokbGFuZ1sncHJvX2ZlYXR1cmVzX3RpdGxlJ10gPSAnRm9uY3Rpb25uYWxpdMOpcyBQcm8nOwokbGFuZ1sncHJvX2ZlYXR1cmVfcmF0ZV9saW1pdGluZyddID0gJ0xpbWl0YXRpb24gZGUgZMOpYml0IGV0IHByb3RlY3Rpb24gY29udHJlIGxhIGZvcmNlIGJydXRlJzsKJGxhbmdbJ3Byb19mZWF0dXJlX3Nlc3Npb25fcmV2YWxpZGF0aW9uJ10gPSAnUmV2YWxpZGF0aW9uIGRlIHNlc3Npb24gcG91ciBsZXMgcGFyYW3DqHRyZXMgZGUgc8OpY3VyaXTDqSc7CiRsYW5nWydwcm9fZmVhdHVyZV90cnVzdGVkX2RldmljZXMnXSA9ICdBcHBhcmVpbHMgZmlhYmxlcyAobcOpbW9yaXNhdGlvbiBkZSAzMCBqb3VycyknOwokbGFuZ1sncHJvX2ZlYXR1cmVfdXNlcl9tYW5hZ2VtZW50J10gPSAnVGFibGVhdSBkZSBib3JkIGRlIGdlc3Rpb24gZGVzIHV0aWxpc2F0ZXVycyc7CiRsYW5nWydwcm9fZmVhdHVyZV9lbmZvcmNlXzJmYSddID0gJ0FwcGxpcXVleiBsXCdhdXRoZW50aWZpY2F0aW9uIMOgIGRldXggZmFjdGV1cnMgcG91ciB0b3VzIGxlcyB1dGlsaXNhdGV1cnMgYWRtaW5pc3RyYXRldXJzJzsKJGxhbmdbJ3Byb19mZWF0dXJlX2F1ZGl0X2xvZ3MnXSA9ICdKb3VybmF1eCBkXCdhdWRpdCBhdmFuY8OpcyBhdmVjIGV4cG9ydGF0aW9uJzsKJGxhbmdbJ3Byb19mZWF0dXJlX2VtYWlsX25vdGlmaWNhdGlvbnMnXSA9ICdOb3RpZmljYXRpb25zIHBhciBlLW1haWwgZW4gY2FzIGRcJ2FjdGl2aXTDqSBzdXNwZWN0ZSc7CiRsYW5nWydnZXRfcHJvX2xpY2Vuc2UnXSA9ICdPYnRlbmlyIHVuZSBsaWNlbmNlIFBybyc7CiRsYW5nWydyYXRlX2xpbWl0aW5nX2VuYWJsZWQnXSA9ICdBY3RpdmVyIGxhIGxpbWl0YXRpb24gZGUgZMOpYml0JzsKJGxhbmdbJ3JhdGVfbGltaXRpbmdfZW5hYmxlZF9oZWxwJ10gPSAnUHJvdMOpZ2V6LXZvdXMgY29udHJlIGxlcyBhdHRhcXVlcyBwYXIgZm9yY2UgYnJ1dGUgZ3LDomNlIMOgIHVuIGJhY2tvZmYgZXhwb25lbnRpZWwnOwokbGFuZ1snbWF4X2F0dGVtcHRzX2xvY2tvdXQnXSA9ICdOb21icmUgbWF4aW11bSBkZSB0ZW50YXRpdmVzIGF2YW50IGxlIGxvY2stb3V0JzsKJGxhbmdbJ21heF9hdHRlbXB0c19sb2Nrb3V0X2hlbHAnXSA9ICdOb21icmUgZGUgdGVudGF0aXZlcyBpbmZydWN0dWV1c2VzIGF2YW50IGxlIHZlcnJvdWlsbGFnZSB0ZW1wb3JhaXJlIChwYXIgZMOpZmF1dMKgOiA1KSc7CiRsYW5nWydtYXhfYXR0ZW1wdHNfcmVzZXQnXSA9ICdOb21icmUgbWF4aW11bSBkZSB0ZW50YXRpdmVzIGF2YW50IGRlIHLDqWluaXRpYWxpc2VyIGxlIG1vdCBkZSBwYXNzZSc7CiRsYW5nWydtYXhfYXR0ZW1wdHNfcmVzZXRfaGVscCddID0gJ05vbWJyZSBkZSB0ZW50YXRpdmVzIGluZnJ1Y3R1ZXVzZXMgYXZhbnQgZGUgZm9yY2VyIGxhIHLDqWluaXRpYWxpc2F0aW9uIGR1IG1vdCBkZSBwYXNzZSAocGFyIGTDqWZhdXTCoDogMTApJzsKJGxhbmdbJ25vdGlmeV9hZG1pbiddID0gJ0F2ZXJ0aXIgbFwnYWRtaW5pc3RyYXRldXIgZFwndW5lIGFjdGl2aXTDqSBzdXNwZWN0ZSc7CiRsYW5nWydub3RpZnlfYWRtaW5faGVscCddID0gJ0Vudm95ZXIgZGVzIGFsZXJ0ZXMgcGFyIGUtbWFpbCBsb3JzcXVlIHBsdXNpZXVycyB0ZW50YXRpdmVzIGluZnJ1Y3R1ZXVzZXMgc29udCBkw6l0ZWN0w6llcyc7CiRsYW5nWydzZXR0aW5nc19zYXZlZCddID0gJ0xlcyBwYXJhbcOodHJlcyBvbnQgw6l0w6kgZW5yZWdpc3Ryw6lzIGF2ZWMgc3VjY8Oocy4nOwokbGFuZ1sncHJvX3JlcXVpcmVkX3NldHRpbmdzJ10gPSAnVW5lIGxpY2VuY2UgUHJvIGVzdCByZXF1aXNlIHBvdXIgY29uZmlndXJlciBjZXMgcGFyYW3DqHRyZXMuJzsKJGxhbmdbJ2FjY291bnRfbG9ja2VkJ10gPSAnVHJvcCBkZSB0ZW50YXRpdmVzIGluZnJ1Y3R1ZXVzZXMuIFZldWlsbGV6IHLDqWVzc2F5ZXIgZGFucyAlZCBtaW51dGVzLic7CiRsYW5nWydpcF9ibGFja2xpc3QnXSA9ICdMaXN0ZSBub2lyZSBkXCdhZHJlc3NlcyBJUCc7CiRsYW5nWydpcF9ibGFja2xpc3RfaGVscCddID0gJ0xpc3RlIGRcJ2FkcmVzc2VzIElQIHPDqXBhcsOpZXMgcGFyIGRlcyB2aXJndWxlcyDDoCBibG9xdWVyIGTDqWZpbml0aXZlbWVudCAocGFyIGV4ZW1wbGUsIDE5Mi4xNjguMS4xLCAxMC4wLjAuNSknOwokbGFuZ1snZW1haWxfdGVtcGxhdGVzJ10gPSAnTW9kw6hsZXMgZGUgY291cnJpZXIgw6lsZWN0cm9uaXF1ZSc7CiRsYW5nWydyZXNldF9lbWFpbF9zdWJqZWN0J10gPSAnT2JqZXQgZGUgbFwnZS1tYWlsIGRlIHLDqWluaXRpYWxpc2F0aW9uIGR1IG1vdCc7CiRsYW5nWydyZXNldF9lbWFpbF9ib2R5J10gPSAnUsOpaW5pdGlhbGlzYXRpb24gZHUgbW90IGRlIHBhc3NlwqA6IGNvcnBzJzsKJGxhbmdbJ3Jlc2V0X2VtYWlsX3BsYWNlaG9sZGVycyddID0gJ0VzcGFjZXMgcsOpc2VydsOpcyBkaXNwb25pYmxlc8KgOiB7dXNlcm5hbWV9LCB7cmVzZXRfdXJsfSc7CiRsYW5nWydhbGVydF9lbWFpbF9zdWJqZWN0J10gPSAnT2JqZXQgZGUgbFwnZS1tYWlsIGRcJ2FsZXJ0ZSBkZSBsXCdhZG1pbmlzdHJhdGV1cic7CiRsYW5nWydhbGVydF9lbWFpbF9ib2R5J10gPSAnQ29ycHMgZGUgbFwnZS1tYWlsIGRcJ2FsZXJ0ZSBkXCdhZG1pbmlzdHJhdGV1cic7CiRsYW5nWydhbGVydF9lbWFpbF9wbGFjZWhvbGRlcnMnXSA9ICdFc3BhY2VzIHLDqXNlcnbDqXMgZGlzcG9uaWJsZXPCoDoge25vbSBkXCd1dGlsaXNhdGV1cn0sIHtpcF9hZGRyZXNzfSwge2F0dGVtcHRzfSwge3RpbWV9JzsKJGxhbmdbJ3JhdGVfbGltaXRpbmdfc2V0dGluZ3MnXSA9ICdMaW1pdGF0aW9uIGRlIGTDqWJpdCBldCBwcm90ZWN0aW9uIGNvbnRyZSBsYSBmb3JjZSBicnV0ZSc7CiRsYW5nWyd0YWJfdGVtcGxhdGVzJ10gPSAnTW9kw6hsZXMnOwokbGFuZ1sndGFiX3Byb19zZXR0aW5ncyddID0gJ1LDqWdsYWdlcyc7CiRsYW5nWyd0YWJfc21zJ10gPSAnUsOpZ2xhZ2VzIGRlcyBTTVMnOwokbGFuZ1sndGFiX3ZlcmlmeV9sb2dzJ10gPSAnSm91cm5hdXggZGUgdsOpcmlmaWNhdGlvbic7CiRsYW5nWyd0YWJfbGljZW5zZSddID0gJ0xpY2VuY2UgUHJvJzsKJGxhbmdbJ3RhYl91cGdyYWRlJ10gPSAnUGFzc2VyIMOgIFBybyc7CiRsYW5nWyd0YWJfZGVidWcnXSA9ICdEw6lib2d1ZXInOwokbGFuZ1sncHJvX2FjdGl2ZV9iZXRhJ10gPSAnVHdvRmFjdG9yIFBybyBBY3RpZic7CiRsYW5nWydwcm9fZmVhdHVyZXNfZW5hYmxlZCddID0gJ0ZvbmN0aW9ubmFsaXTDqXMgcHJlbWl1bSBhY3RpdsOpZXMuJzsKJGxhbmdbJ3Bhc3N3b3JkX3Jlc2V0X2VtYWlsJ10gPSAnRS1tYWlsIGRlIHLDqWluaXRpYWxpc2F0aW9uIGR1IG1vdCc7CiRsYW5nWydhZG1pbl9hbGVydF9lbWFpbCddID0gJ0UtbWFpbCBkXCdhbGVydGUgZGUgbFwnYWRtaW5pc3RyYXRldXInOwokbGFuZ1sndGFiX3VzZXJfbWFuYWdlbWVudCddID0gJ0dlc3Rpb24gZGVzIHV0aWxpc2F0ZXVycyc7CiRsYW5nWyd1c2VyX21hbmFnZW1lbnQnXSA9ICdUYWJsZWF1IGRlIGJvcmQgZGUgZ2VzdGlvbiBkZXMgdXRpbGlzYXRldXJzJzsKJGxhbmdbJ3VzZXJfbWFuYWdlbWVudF9oZWxwJ10gPSAnQ29uc3VsdGV6IGV0IGfDqXJleiBsZXMgcGFyYW3DqHRyZXMgMkZBIHBvdXIgdG91cyBsZXMgdXRpbGlzYXRldXJzLiBWb3VzIHBvdXZleiBkw6lzYWN0aXZlciBsXCdhdXRoZW50aWZpY2F0aW9uIMOgIGRldXggZmFjdGV1cnMgcG91ciBsZXMgdXRpbGlzYXRldXJzIHZlcnJvdWlsbMOpcy4nOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOb20gZFwndXRpbGlzYXRldXInOwokbGFuZ1snZW1haWwnXSA9ICdDb3VycmllciDDqWxlY3Ryb25pcXVlJzsKJGxhbmdbJzJmYV9zdGF0dXMnXSA9ICfDiXRhdCBkZSBsYSAyRkEnOwokbGFuZ1snZW5hYmxlZF9tZXRob2RzJ10gPSAnTcOpdGhvZGVzIGFjdGl2w6llcyc7CiRsYW5nWydmYWlsZWRfYXR0ZW1wdHMnXSA9ICdUZW50YXRpdmVzIMOpY2hvdcOpZXMnOwokbGFuZ1snZGlzYWJsZV8yZmEnXSA9ICdEw6lzYWN0aXZlciBsXCdhdXRoZW50aWZpY2F0aW9uIMOgIGRldXggZmFjdGV1cnMnOwokbGFuZ1snY29uZmlybV9kaXNhYmxlX3VzZXJfMmZhJ10gPSAnw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgZMOpc2FjdGl2ZXIgbFwnYXV0aGVudGlmaWNhdGlvbiDDoCBkZXV4IGZhY3RldXJzIHBvdXIgbFwndXRpbGlzYXRldXIgwqvCoCVzwqDCu8KgPyBDZWxhIHN1cHByaW1lcmEgdG91cyBsZXVycyBwYXJhbcOodHJlcyAyRkEsIGxldXJzIGFwcGFyZWlscyBmaWFibGVzIGV0IHLDqWluaXRpYWxpc2VyYSBsZXMgdGVudGF0aXZlcyBpbmZydWN0dWV1c2VzLic7CiRsYW5nWyd1c2VyXzJmYV9kaXNhYmxlZCddID0gJ0xcJ2F1dGhlbnRpZmljYXRpb24gw6AgZGV1eCBmYWN0ZXVycyBhIMOpdMOpIGTDqXNhY3RpdsOpZSBwb3VyIGxcJ3V0aWxpc2F0ZXVywqA6ICVzJzsKJGxhbmdbJ2xlZ2VuZCddID0gJ0zDqWdlbmRlJzsKJGxhbmdbJ2xlZ2VuZF9sb2NrZWQnXSA9ICdGb25kIHJvdWdlID0gTFwndXRpbGlzYXRldXIgZXN0IGFjdHVlbGxlbWVudCBibG9xdcOpJzsKJGxhbmdbJ2xlZ2VuZF9mYWlsZWRfYXR0ZW1wdHMnXSA9ICdUZW50YXRpdmVzIGluZnJ1Y3R1ZXVzZXPCoDogcm91Z2UgKDUrKSwgb3JhbmdlICgzLTQpLCBub2lyICgwLTIpJzsKJGxhbmdbJ2xlZ2VuZF9kaXNhYmxlJ10gPSAnVXRpbGlzZXogwqvCoETDqXNhY3RpdmVyIGxcJ2F1dGhlbnRpZmljYXRpb24gw6AgZGV1eCBmYWN0ZXVyc8KgwrsgcG91ciBkw6l2ZXJyb3VpbGxlciBsZXMgdXRpbGlzYXRldXJzIG91IHN1cHByaW1lciBsZXVycyBwYXJhbcOodHJlcyDDoCBkZXV4IGZhY3RldXJzJzsKJGxhbmdbJ2RldmljZV9ub3RfZm91bmQnXSA9ICdMXCdhcHBhcmVpbCBlc3QgaW50cm91dmFibGUgb3UgbmUgdm91cyBhcHBhcnRpZW50IHBhcy4nOwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ1LDqWdsYWdlcyBnw6luw6lyYXV4JzsKJGxhbmdbJ2VuZm9yY2VfMmZhX2FsbCddID0gJ0FwcGxpcXVleiBsXCdhdXRoZW50aWZpY2F0aW9uIMOgIGRldXggZmFjdGV1cnMgcG91ciB0b3VzIGxlcyB1dGlsaXNhdGV1cnMgYWRtaW5pc3RyYXRldXJzJzsKJGxhbmdbJ2VuZm9yY2VfMmZhX2FsbF9oZWxwJ10gPSAnTG9yc3F1ZSBjZXR0ZSBvcHRpb24gZXN0IGFjdGl2w6llLCB0b3VzIGxlcyB1dGlsaXNhdGV1cnMgYWRtaW5pc3RyYXRldXJzIGRldnJvbnQgYWN0aXZlciBsXCdhdXRoZW50aWZpY2F0aW9uIMOgIGRldXggZmFjdGV1cnMgYXZhbnQgZGUgcG91dm9pciBhY2PDqWRlciBhdSBwYW5uZWF1IGRcJ2FkbWluaXN0cmF0aW9uJzsKJGxhbmdbJzJmYV9yZXF1aXJlZCddID0gJzJGQSByZXF1aXMnOwokbGFuZ1snMmZhX3JlcXVpcmVkX21lc3NhZ2UnXSA9ICdWb3RyZSBhZG1pbmlzdHJhdGV1ciBhIGFjdGl2w6kgbFwnYXV0aGVudGlmaWNhdGlvbiDDoCBkZXV4IGZhY3RldXJzIG9ibGlnYXRvaXJlLiBWb3VzIGRldmV6IGFjdGl2ZXIgYXUgbW9pbnMgdW5lIG3DqXRob2RlIDJGQSBjaS1kZXNzb3VzIHBvdXIgY29udGludWVyIMOgIHV0aWxpc2VyIGxlIHBhbm5lYXUgZFwnYWRtaW5pc3RyYXRpb24uJzsKJGxhbmdbJ3Blcm1pc3Npb25fZGVuaWVkJ10gPSAnQXV0b3Jpc2F0aW9uIHJlZnVzw6llLiBWb3VzIG5cJ2F2ZXogcGFzIGFjY8OocyDDoCBjZXR0ZSBmb25jdGlvbm5hbGl0w6kuJzsKJGxhbmdbJ3Ntc19zZXR0aW5ncyddID0gJ1LDqWdsYWdlcyBkZXMgU01TJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX29wdGlvbiddID0gJ09wdGlvbiAxwqA6IGNyw6lkaXRzIFNNUyBwcm92ZW5hbnQgZGUgUGl4ZWwgU29sdXRpb25zJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX2Rlc2NyaXB0aW9uJ10gPSAnQWNoZXRleiBkZXMgY3LDqWRpdHMgU01TIGRhbnMgbm90cmUgYm91dGlxdWUgZXQgdXRpbGlzZXotbGVzIHN1ciB0b3VzIHZvcyBzaXRlcy4gU2ltcGxlLCBhdWN1bmUgY29uZmlndXJhdGlvbiBkXCdBUEkgblwnZXN0IG7DqWNlc3NhaXJlLic7CiRsYW5nWydwcm9kdWN0X2tleSddID0gJ0Nsw6kgZGUgcHJvZHVpdCc7CiRsYW5nWydwcm9kdWN0X2tleV9oZWxwJ10gPSAnRW50cmV6IGxhIGNsw6kgZGUgcHJvZHVpdCBxdWUgdm91cyBhdmV6IHJlw6d1ZSBhcHLDqHMgYXZvaXIgYWNoZXTDqSBkZXMgY3LDqWRpdHMgU01TJzsKJGxhbmdbJ3NhdmVfcHJvZHVjdF9rZXknXSA9ICdFbnJlZ2lzdHJlciBsYSBjbMOpIGRlIHByb2R1aXQnOwokbGFuZ1sncHVyY2hhc2VfY3JlZGl0cyddID0gJ0FjaGV0ZXIgZGVzIGNyw6lkaXRzIFNNUyc7CiRsYW5nWydzbXNfY3JlZGl0c19zYXZlZCddID0gJ0xhIGNsw6kgZGUgcHJvZHVpdCBkZXMgY3LDqWRpdHMgU01TIGEgw6l0w6kgZW5yZWdpc3Ryw6llIGF2ZWMgc3VjY8Oocy4nOwokbGFuZ1sndHdpbGlvX2FwaV9vcHRpb24nXSA9ICdPcHRpb24gMsKgOiB1dGlsaXNleiB2b3RyZSBwcm9wcmUgY29tcHRlIFR3aWxpbyc7CiRsYW5nWyd0d2lsaW9fYXBpX2Rlc2NyaXB0aW9uJ10gPSAnQ29uZmlndXJleiB2b3MgcHJvcHJlcyBpbmZvcm1hdGlvbnMgZFwnaWRlbnRpZmljYXRpb24gZGUgbFwnQVBJIFR3aWxpbyBwb3VyIGVudm95ZXIgZGVzIFNNUyBkaXJlY3RlbWVudCBkZXB1aXMgdm90cmUgY29tcHRlLic7CiRsYW5nWydzbXNfc3RhdHVzX2F2YWlsYWJsZSddID0gJ1bDqXJpZmljYXRpb24gcGFyIFNNUyBkaXNwb25pYmxlJzsKJGxhbmdbJ3Ntc19zdGF0dXNfdW5hdmFpbGFibGUnXSA9ICdWw6lyaWZpY2F0aW9uIHBhciBTTVMgbm9uIGRpc3BvbmlibGUnOwokbGFuZ1snc21zX2NvbmZpZ3VyZV9tZXRob2QnXSA9ICdDb25maWd1cmVyIGxlcyBjcsOpZGl0cyBTTVMgb3UgbFwnQVBJIFR3aWxpbyBwb3VyIGFjdGl2ZXIgbGEgdsOpcmlmaWNhdGlvbiBwYXIgU01TJzsKJGxhbmdbJ3Ntc19ib3RoX21ldGhvZHNfYWN0aXZlJ10gPSAnTGVzIGNyw6lkaXRzIFNNUyBldCBsXCdBUEkgVHdpbGlvIHNvbnQgY29uZmlndXLDqXMnOwokbGFuZ1snc21zX2NyZWRpdHNfbWV0aG9kX2FjdGl2ZSddID0gJ1V0aWxpc2F0aW9uIGRlIGNyw6lkaXRzIFNNUyc7CiRsYW5nWydzbXNfdHdpbGlvX21ldGhvZF9hY3RpdmUnXSA9ICdVdGlsaXNhdGlvbiBkZSBsXCdBUEkgVHdpbGlvJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3ByaW9yaXR5J10gPSAnTGVzIGNyw6lkaXRzIFNNUyBzZXJvbnQgdXRpbGlzw6lzIGVuIHByZW1pZXInOwokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aWYnOwokbGFuZ1sncmVtb3ZlX3R3aWxpbyddID0gJ0TDqXNhY3RpdmVyIGxcJ0FQSSBUd2lsaW8nOwokbGFuZ1snY29uZmlybV9yZW1vdmVfdHdpbGlvJ10gPSAnw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGxlcyBpbmZvcm1hdGlvbnMgZFwnaWRlbnRpZmljYXRpb24gZGUgbFwnQVBJIFR3aWxpb8KgPyc7CiRsYW5nWyd0d2lsaW9fcmVtb3ZlZCddID0gJ0xlcyBpbmZvcm1hdGlvbnMgZFwnaWRlbnRpZmljYXRpb24gZGUgbFwnQVBJIFR3aWxpbyBvbnQgw6l0w6kgc3VwcHJpbcOpZXMgYXZlYyBzdWNjw6hzLic7CiRsYW5nWydlcnJvcl9zdWJzY3JpcHRpb25fa2V5X25vdF9zdXBwb3J0ZWQnXSA9ICdJbCBzXCdhZ2l0IGRcJ3VuZSBjbMOpIGRcJ2Fib25uZW1lbnQuIFNldWxlcyBsZXMgbGljZW5jZXMgYmFzw6llcyBzdXIgZGVzIGNyw6lkaXRzIHNvbnQgcHJpc2VzIGVuIGNoYXJnZSBwb3VyIGxlcyBjcsOpZGl0cyBTTVMuJzsKJGxhbmdbJ3RydXN0ZWRfZGV2aWNlcyddID0gJ0FwcGFyZWlscyBmaWFibGVzJzsKJGxhbmdbJ3RhYl9tZXRob2RzJ10gPSAnTcOpdGhvZGVzJzsKJGxhbmdbJ3RhYl90cnVzdGVkX2RldmljZXMnXSA9ICdBcHBhcmVpbHMgZmlhYmxlcyc7CiRsYW5nWydhY3Rpb25zJ10gPSAnQWN0aW9ucyc7CiRsYW5nWydlbWFpbF92ZXJpZmljYXRpb25fdGl0bGUnXSA9ICdWw6lyaWZpY2F0aW9uIGRlcyBlLW1haWxzJzsKJGxhbmdbJ2VtYWlsX3ZlcmlmaWNhdGlvbl9zZW50J10gPSAnVW4gY29kZSBkZSB2w6lyaWZpY2F0aW9uIGEgw6l0w6kgZW52b3nDqSDDoCB2b3RyZSBhZHJlc3NlIGUtbWFpbC4nOwokbGFuZ1sncmVtZW1iZXJfZGV2aWNlJ10gPSAnTcOpbW9yaXNlciBjZXQgYXBwYXJlaWwgcGVuZGFudCAzMCBqb3Vycyc7CiRsYW5nWydhY2NvdW50X2xvY2tlZF9zZWNvbmRzJ10gPSAnVHJvcCBkZSB0ZW50YXRpdmVzIGluZnJ1Y3R1ZXVzZXMuIFZldWlsbGV6IHLDqWVzc2F5ZXIgZGFucyAlZCBzZWNvbmRlJXMuJzsKJGxhbmdbJ2FjY291bnRfbG9ja2VkX21pbnV0ZXMnXSA9ICdUcm9wIGRlIHRlbnRhdGl2ZXMgaW5mcnVjdHVldXNlcy4gVmV1aWxsZXogcsOpZXNzYXllciBkYW5zICVkIG1pbnV0ZSVzLic7CiRsYW5nWydyZXNlbmRfdmVyaWZpY2F0aW9uX2NvZGUnXSA9ICdSZW52b3llciBsZSBjb2RlIGRlIHbDqXJpZmljYXRpb24nOwokbGFuZ1sndXNlX2JhY2t1cF9jb2RlJ10gPSAnVXRpbGlzZXIgdW4gY29kZSBkZSBzZWNvdXJzJzsKJGxhbmdbJ3RvdHBfdmVyaWZpY2F0aW9uX3RpdGxlJ10gPSAnQXV0aGVudGlmaWNhdGlvbiDDoCBkZXV4IGZhY3RldXJzJzsKJGxhbmdbJ3ZlcmlmaWNhdGlvbl9jb2RlX2xhYmVsJ10gPSAnQ29kZSBkZSB2w6lyaWZpY2F0aW9uJzsKJGxhbmdbJ3Ntc192ZXJpZmljYXRpb25fdGl0bGUnXSA9ICdWw6lyaWZpY2F0aW9uIHBhciBTTVMnOwokbGFuZ1snc21zX3ZlcmlmaWNhdGlvbl9zZW50J10gPSAnVW4gY29kZSBkZSB2w6lyaWZpY2F0aW9uIGEgw6l0w6kgZW52b3nDqSBzdXIgdm90cmUgdMOpbMOpcGhvbmUuJzsK]]></data>
	</file>
	<file>
		<filename>/lang/ext/he_IL.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3b0ZhY3Rvcic7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAn15vXoNeZ16HXlCDXnteQ15XXkdeY15fXqiBDTVMgTWFkZSBTaW1wbGUg16LXnSDXkNeZ157XldeqINeT15Ut15LXldeo157XmSAoMkZBKSAtINei15wg15nXk9eZIFBpeGVsIFNvbHV0aW9ucyc7CiRsYW5nWydwYXJhbV91c2VyJ10gPSAn16TXqNee15jXqCDXntep16rXntepINec15DXmdeg15jXkteo16bXmdeUINen15PXnteZ16onOwokbGFuZ1snYXNrX3VuaW5zdGFsbCddID0gJ9eU15DXnSDXkNeq15Qg15HXmNeV15cg16nXkdeo16bXldeg15og15zXlNeh15nXqCDXkNeqINee15XXk9eV15wg16nXoNeZINeS15XXqNee15nXnT8g15vXnCDXlNeU15LXk9eo15XXqiDXmdeQ15HXk9eVLic7CiRsYW5nWyd0d2lsaW9fc2V0dGluZ3MnXSA9ICfXmNeV15XXpNen15jXldeoIC0g15TXkteT16jXldeqINeY15XXldeZ15zXmdeVJzsKJGxhbmdbJ3R3b19mYWN0b3Jfc2V0dGluZ3MnXSA9ICfXlNeS15PXqNeV16og15DXmdee15XXqiDXk9eVLdeS15XXqNee15knOwokbGFuZ1sndHdvX2ZhY3Rvcl9hY3RpdmUnXSA9ICfXkNeZ157XldeqINeT15Ut15LXldeo157XmSDXpNei15nXnCDXkdeX16nXkdeV16DXmi4nOwokbGFuZ1sndHdvX2ZhY3Rvcl9pbmFjdGl2ZSddID0gJ9eQ15nXnteV16og15PXlS3XkteV16jXnteZINee15XXqdeR16og15vXoteqLiDXkdeX16gg16nXmdeY15Qg16jXkNep15nXqiDXnNee15jXlCDXm9eT15kg15zXlNek16LXmdecINeQ15XXqteULic7CiRsYW5nWydlbmFibGVkX21ldGhvZHMnXSA9ICfXqdeZ15jXldeqINee15XXpNei15zXldeqJzsKJGxhbmdbJ2F2YWlsYWJsZV9tZXRob2RzJ10gPSAn16nXmdeY15XXqiDXkNeZ157XldeqINeW157Xmdeg15XXqic7CiRsYW5nWydub19tZXRob2RzX2VuYWJsZWQnXSA9ICfXoteT15nXmdefINec15Ag157Xldek16LXnNeV16og16nXmdeY15XXqiDXk9eVLdeS15XXqNee15nXldeqLiDXkdeX16gg16nXmdeY15Qg15zXnteY15Qg15vXk9eZINec15TXqteX15nXnC4nOwokbGFuZ1sncHJpbWFyeSddID0gJ9eo15DXqdeV16DXmSc7CiRsYW5nWydwcmltYXJ5X21ldGhvZCddID0gJ9ep15nXmNeUINeo15DXqdeV16DXmdeqJzsKJGxhbmdbJ3ByaW1hcnlfbWV0aG9kX2luZm8nXSA9ICfXkdeX16gg15DXqiDXlNep15nXmNeUINeU16LXmden16jXmdeqINec16nXmdee15XXqSDXnNeQ15nXnteV16og15PXlS3XkteV16jXnteZINeR16LXqiDXm9eg15nXodeUINec15DXqteoINeW15QnOwokbGFuZ1sndXBkYXRlJ10gPSAn16LXk9eb15XXnyc7CiRsYW5nWydwcmltYXJ5X3VwZGF0ZWQnXSA9ICfXqdeZ15jXqiDXlNeQ15nXnteV16og15TXqNeQ16nXmdeqINei15XXk9eb16DXlC4nOwokbGFuZ1snbWV0aG9kJ10gPSAn16nXmdeY15QnOwokbGFuZ1snc3RhdHVzJ10gPSAn16HXmNeY15XXoSc7CiRsYW5nWydhY3Rpb24nXSA9ICfXpNei15XXnNeUJzsKJGxhbmdbJ2VuYWJsZWQnXSA9ICfXnteV16TXotecJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAn16DXm9eUJzsKJGxhbmdbJ3ZlcmlmaWVkJ10gPSAn157XkNeV157Xqic7CiRsYW5nWydjb25maWd1cmUnXSA9ICfXp9eR15nXoteqINeq16bXldeo15QnOwokbGFuZ1sndGFiX3NldHRpbmdzJ10gPSAn15TXkteT16jXldeqJzsKJGxhbmdbJ3RhYl9wcmVtaXVtJ10gPSAn16TXqNeZ157XmdeV150nOwokbGFuZ1sndGFiX3Ntc2NyZWRpdCddID0gJ9eU15LXk9eo15XXqiBTTVMnOwokbGFuZ1snc2V0dGluZ3NfaW5mbyddID0gJ9eU15LXk9eo15XXqiDXnteV15PXldecINeb15zXnNeZ15XXqi4nOwokbGFuZ1sncHJlbWl1bV9pbmZvJ10gPSAn16rXm9eV16DXldeqINek16jXmdee15nXldedINeZ15LXmdei15Ug15HXp9eo15XXkS4nOwokbGFuZ1snc21zY3JlZGl0X2luZm8nXSA9ICfXoNeZ15TXldecINeQ16nXqNeQ15kgU01TINeR16fXqNeV15EuJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3NhdmVkJ10gPSAn16jXmdep15nXldefINeW15nXm9eV15nXmSBTTVMg16DXqdee16gg15XXkNeV157XqiDXkdeU16bXnNeX15QuJzsKJGxhbmdbJ2Vycm9yX2VtcHR5X2xpY2Vuc2UnXSA9ICfXntek16rXlyDXlNeo15nXqdeZ15XXnyDXnNeQINeZ15vXldecINec15TXmdeV16og16jXmdenLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2xpY2Vuc2UnXSA9ICfXntek16rXlyDXqNeZ16nXmdeV158g15zXkCDXl9eV16fXmSDXkNeVINeQ15nXnteV16og16DXm9ep15wuJzsKJGxhbmdbJ2Vycm9yX3R3aWxpb19maWVsZHNfcmVxdWlyZWQnXSA9ICfXm9ecINep15PXldeqIFR3aWxpbyDXoNeT16jXqdeZ150uJzsKJGxhbmdbJ2Vycm9yX3R3aWxpb19pbnZhbGlkX2NyZWRlbnRpYWxzJ10gPSAn15DXmdep15XXqNeZIFR3aWxpbyDXnNeQINeX15XXp9eZ15nXnS4g15DXoNeQINeR15PXldenINeQ16og157XpNeq15cg15QtIEFQSSwg15TXodeV15Mg15XXlNep15nXqNeV16og16nXnNeaLic7CiRsYW5nWydzbXNfY3JlZGl0c19yZW1vdmVkJ10gPSAn16jXmdep15nXldefINeW15nXm9eV15nXmSBTTVMg15TXldeh16gg15HXlNem15zXl9eULic7CiRsYW5nWydyZW1vdmVfbGljZW5zZSddID0gJ9eU16nXkdeqINeo15nXqdeZ15XXnyc7CiRsYW5nWydjb25maXJtX3JlbW92ZV9saWNlbnNlJ10gPSAn15TXkNedINeQ16rXlCDXkdeY15XXlyDXqdeR16jXpteV16DXmiDXnNeU16HXmdeoINeQ16og16jXmdep15nXldefINeW15nXm9eV15nXmSDXlC0gU01TPyc7CiRsYW5nWydsaWNlbnNlX3JlbW92ZWQnXSA9ICfXlNeo15nXqdeZ15XXnyDXlNeV16HXqCDXkdeU16bXnNeX15QuJzsKJGxhbmdbJ2xpY2Vuc2VfdmFsaWQnXSA9ICfXlNeo15nXqdeZ15XXnyDXqten16Mg15XXpNei15nXnC4nOwokbGFuZ1snc21zX2NyZWRpdHNfYWN0aXZlJ10gPSAn16DXp9eV15PXldeqINeW15vXldeqINep16DXldeq16jXlTogJXMnOwokbGFuZ1sndHlwZV9Ud29GYWN0b3InXSA9ICfXk9eVLdek16fXmNeV16gnOwokbGFuZ1sndHlwZV9lbWFpbF92ZXJpZmljYXRpb24nXSA9ICfXkNeZ157XldeqINeT15XXkCLXnCc7CiRsYW5nWydwcm92aWRlcl90b3RwJ10gPSAn15DXpNec15nXp9em15nXmdeqINeQ15nXnteV16ogKFRPVFApJzsKJGxhbmdbJ3RvdHBfZGVzY3JpcHRpb24nXSA9ICfXqdeZ157XldepINeR15DXpNec15nXp9em15nXldeqINep15wgR29vZ2xlIEF1dGhlbnRpY2F0b3IsIEF1dGh5INeQ15Ug15DXpNec15nXp9em15nXldeqINeT15XXnteV16onOwokbGFuZ1snZW1haWxfZGVzY3JpcHRpb24nXSA9ICfXp9eR15wg16fXldeT15kg15DXmdee15XXqiDXkdeT15XXkCLXnCc7CiRsYW5nWydiYWNrdXBfY29kZXNfZGVzY3JpcHRpb24nXSA9ICfXp9eV15PXmSDXkteZ15HXldeZINeX15Mg16TXotee15nXmdedINec15LXmdep15Qg15fXmdeo15XXnSc7CiRsYW5nWydwcm92aWRlcl9zbXMnXSA9ICfXkNeZ157XldeqIFNNUyc7CiRsYW5nWydzbXNfZGVzY3JpcHRpb24nXSA9ICfXp9eR15wg16fXldeT15kg15DXmdee15XXqiDXkdeQ157Xptei15XXqiDXlNeV15PXoteqINeY16fXodeYJzsKJGxhbmdbJ3NldHVwX3NtcyddID0gJ9eU15LXk9eo16og15DXmdee15XXqiBTTVMnOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzJ10gPSAn15TXkteT16jXldeqINee157XqdenINeULSBBUEkg16nXnCBUd2lsaW8nOwokbGFuZ1sndHdpbGlvX2FwaV9rZXlfc2lkJ10gPSAn157XpNeq15cg157Xntep16cg15QtIEFQSSDXqdecINeY15XXldeZ15zXmdeVINeh15nXkyc7CiRsYW5nWyd0d2lsaW9fYXBpX3NlY3JldCddID0gJ9eh15XXkyDXntee16nXpyBBUEkg16nXnCDXmNeV15XXmdec15nXlSc7CiRsYW5nWyd0d2lsaW9fc2VydmljZV9zaWQnXSA9ICfXqdeZ16jXldeqINeQ15nXnteV16ogVHdpbGlvIFNJRCc7CiRsYW5nWyd0d2lsaW9fc2VydmljZV9zaWRfaGVscCddID0gJ9em15XXqCDXqdeZ16jXldeqINeQ15nXnteV16og15HXnteh15XXoyBUd2lsaW8g16nXnNeaINeV15TXltefINeQ16ogU0lEINeU16nXmdeo15XXqiDXm9eQ158nOwokbGFuZ1snc2F2ZV9zZXR0aW5ncyddID0gJ9ep157XldeoINeU15LXk9eo15XXqic7CiRsYW5nWyd0d2lsaW9fc2V0dGluZ3Nfc2F2ZWQnXSA9ICfXlNeS15PXqNeV16ogVHdpbGlvINeg16nXnteo15UuJzsKJGxhbmdbJ3Rlc3RfY29uZmlndXJhdGlvbiddID0gJ9eq16bXldeo16og157XkdeX158nOwokbGFuZ1sndGVzdF9jb25maWd1cmF0aW9uX2luZm8nXSA9ICfXlNep16rXntepINeR157Xodek16jXmSDXp9eh150g16nXnCBUd2lsaW8g15vXk9eZINec15HXk9eV16cg16LXnSDXkNeZ16nXldeo15kg15HXk9eZ16fXlC4g15TXkdeT15nXp9eUINee16nXqtee16nXqiDXkS0gQVBJINec16rXm9eg15XXqiBTTVMgKNec15Ag15DXmdee15XXqiBBUEkpLic7CiRsYW5nWyd0ZXN0X3Bob25lX251bWJlciddID0gJ9eR15PXmden16og157Xodek16gg15jXnNek15XXnyc7CiRsYW5nWydtYWdpY19udW1iZXJfaGVscCddID0gJ9eU16nXqtee16kgKzE1MDA1NTUwMDA2ICjXlNem15zXl9eUKSDXkNeVICsxNTAwNTU1MDAwMSAo157Xodek16gg15zXkCDXl9eV16fXmSkg15zXkdeT15nXp9eUJzsKJGxhbmdbJ3NlbmRfdGVzdF9zbXMnXSA9ICfXqdec15cgU01TINec15HXk9eZ16fXlCc7CiRsYW5nWyd0ZXN0X3Ntc19zZW50J10gPSAn15HXk9eZ16fXqiBTTVMg16DXqdec15fXlCDXkdeU16bXnNeX15QhINeU16LXqNeUOiDXlteUINee16nXqtee16kg15EtIEFQSSDXnNeq15vXoNeV16ogU01TINec15HXk9eZ16fXlC4nOwokbGFuZ1sndGVzdF9zbXNfZmFpbGVkJ10gPSAn15HXk9eZ16fXqiDXlNeV15PXoteqINeU15TXldeT16LXlCDXoNeb16nXnNeUOiAlcyc7CiRsYW5nWyd0d2lsaW9fbm90X2NvbmZpZ3VyZWQnXSA9ICfXkNeg15Ag15TXkteT16gg16rXl9eZ15zXlCDXkNeqINeULSBTSUQg16nXnCDXl9ep15HXldefIFR3aWxpbyDXldeQ16og15DXodeZ157XldefINeU15DXmdep15XXqC4nOwokbGFuZ1snY29uZmlndXJlX3R3aWxpbyddID0gJ9eU15LXk9eoINeU15LXk9eo15XXqiBUd2lsaW8nOwokbGFuZ1snc21zX3VzZXJfc2V0dGluZ3MnXSA9ICfXlNeS15PXqNeV16og15QtIFNNUyDXqdec15onOwokbGFuZ1sncGhvbmVfbnVtYmVyJ10gPSAn157Xodek16gg15jXnNek15XXnyc7CiRsYW5nWydwaG9uZV9mb3JtYXRfaGVscCddID0gJ9eU15bXnyDXkdek15XXqNee15ggRS4xNjQgKNec157XqdecLCArMTIzNDU2Nzg5MCknOwokbGFuZ1snc21zX3NldHVwX2luZm8nXSA9ICfXlNeW158g15DXqiDXnteh16TXqCDXlNeY15zXpNeV158g16nXnNeaINeb15PXmSDXnNen15HXnCDXp9eV15PXmSDXkNeZ157XldeqINeR15DXntem16LXldeqIFNNUy4nOwokbGFuZ1sndmVyaWZpY2F0aW9uX3NlbnQnXSA9ICfXp9eV15Mg15DXmdee15XXqiDXoNep15zXlyEg16rXkdeT15XXpyDXkNeqINeU15jXnNek15XXnyDXqdec15ouJzsKJGxhbmdbJ3ZlcmlmaWNhdGlvbl9mYWlsZWQnXSA9ICfXqdec15nXl9eqINeU15DXmdee15XXqiDXoNeb16nXnNeUOiAlcyc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZV9zZW50J10gPSAn16fXldeTINeQ15nXnteV16og16DXqdec15cg15DXnCAlcyc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZSddID0gJ9en15XXkyDXkNeZ157XldeqJzsKJGxhbmdbJ3ZlcmlmeV9waG9uZSddID0gJ9eQ15nXnteV16og157Xodek16gg15jXnNek15XXnyc7CiRsYW5nWydyZXNlbmRfY29kZSddID0gJ9ep15zXlyDXp9eV15Mg157Xl9eT16knOwokbGFuZ1snY2hhbmdlX3Bob25lJ10gPSAn16nXmdeg15XXmSDXnteh16TXqCDXmNec16TXldefJzsKJGxhbmdbJ3NlbmRfdmVyaWZpY2F0aW9uX2NvZGUnXSA9ICfXqdec15cg16fXldeTINeQ15nXnteV16onOwokbGFuZ1snc21zX2VuYWJsZWQnXSA9ICfXkNeZ157XldeqIFNNUyDXlNeV16TXotecISc7CiRsYW5nWydzbXNfZGlzYWJsZWQnXSA9ICfXkNeZ157XldeqINeULSBTTVMg15TXldep15HXqi4nOwokbGFuZ1snc21zX2VuYWJsZWRfaW5mbyddID0gJ9eQ15nXnteV16og15TXldeT16LXqiBTTVMg157Xldek16LXnCDXoteR15XXqDogJXMnOwokbGFuZ1snZW5hYmxlX3NtcyddID0gJ9eU16TXotecINeQ15nXnteV16ogU01TJzsKJGxhbmdbJ2Rpc2FibGVfc21zJ10gPSAn15TXqdeR16og15DXmdee15XXqiBTTVMnOwokbGFuZ1snc21zX2JvZHknXSA9ICfXp9eV15Mg15TXkNeZ157XldeqINep15zXmiDXlNeV15A6ICVzJzsKJGxhbmdbJ3NldHVwX3RvdHAnXSA9ICfXlNeS15PXqNeqINeQ16TXnNeZ16fXpteZ15nXqiDXkNeZ157XldeqIChUT1RQKSc7CiRsYW5nWydzY2FuX3FyJ10gPSAn16HXqNeV16cg15DXqiDXp9eV15Mg15QtIFFSINeU15bXlCDXkdeQ157Xptei15XXqiDXkNek15zXmden16bXmdeZ16og15TXkNeZ157XldeqINep15zXmiAoR29vZ2xlIEF1dGhlbnRpY2F0b3IsIEF1dGh5INeV15vXlVwnKSc7CiRsYW5nWydtYW51YWxfZW50cnknXSA9ICfXkNeVINeU15bXnyDXntek16rXlyDXlteUINeR15DXldek158g15nXk9eg15knOwokbGFuZ1snZW50ZXJfY29kZV92ZXJpZnknXSA9ICfXlNeW158g15DXqiDXlNen15XXkyDXkdefIDYg15TXodek16jXldeqINee15TXkNek15zXmden16bXmdeUINep15zXmiDXm9eT15kg15zXkNee16onOwokbGFuZ1sndmVyaWZ5J10gPSAn15zXkNee16onOwokbGFuZ1sndG90cF9lbmFibGVkJ10gPSAn15DXpNec15nXp9em15nXmdeqINeU157XkNee16og15TXldek16LXnNeUINeR15TXptec15fXlCEnOwokbGFuZ1sndG90cF9jb25maWd1cmVkJ10gPSAn15DXpNec15nXp9em15nXmdeqINeU157XkNee16og157XldeS15PXqNeqINeV16TXoteZ15zXlC4nOwokbGFuZ1sndG90cF9yZXNldF93YXJuaW5nJ10gPSAn15DXnSDXqteQ16TXoSwg15nXlNeZ15Qg16LXnNeZ15og15zXodeo15XXpyDXnteX15PXqSDXkNeqINen15XXkyDXlC0gUVIg15HXm9ecINeU157Xm9ep15nXqNeZ150g16nXnNeaLic7CiRsYW5nWydyZXNldF90b3RwJ10gPSAn15DXpNehINeQ16og15DXpNec15nXp9em15nXmdeqINeU157XkNee16onOwokbGFuZ1snY29uZmlybV9yZXNldCddID0gJ9eU15DXnSDXkNeq15Qg15HXmNeV15cg16nXkNeq15Qg16jXldem15Qg15zXkNek16E/INeZ15TXmdeUINei15zXmdeaINec15TXkteT15nXqCDXnteX15PXqSDXkNeqINeb15wg15TXnteb16nXmdeo15nXnS4nOwokbGFuZ1sndG90cF9yZXNldCddID0gJ9eQ16TXnNeZ16fXpteZ15nXqiDXlNee15DXnteqINeQ15XXpNeh15QuJzsKJGxhbmdbJ2JhY2snXSA9ICfXkdeX15bXqNeUJzsKJGxhbmdbJ2NhbmNlbCddID0gJ9eR15jXnCc7CiRsYW5nWyd0d29fZmFjdG9yX3JlcXVpcmVkJ10gPSAn16DXk9eo16kg15DXmdee15XXqiDXk9eVLdeS15XXqNee15knOwokbGFuZ1snZW50ZXJfY29kZV9mcm9tX2FwcCddID0gJ9eU15bXnyDXkNeqINeU16fXldeTINeR158gNiDXlNeh16TXqNeV16og157XkNek15zXmden16bXmdeZ16og15TXkNeZ157XldeqINep15zXmic7CiRsYW5nWydhdXRoZW50aWNhdGlvbl9jb2RlJ10gPSAn16fXldeTINeQ15nXnteV16onOwokbGFuZ1snaW52YWxpZF9jb2RlJ10gPSAn16fXldeTINec15Ag15fXlden15kuINeQ16DXkCDXoNeh15Qg16nXldeRLic7CiRsYW5nWydjb2RlX3Jlc2VudCddID0gJ9en15XXkyDXkNeZ157XldeqINeX15PXqSDXoNep15zXly4nOwokbGFuZ1sndmVyaWZ5J10gPSAn15zXkNee16onOwokbGFuZ1sncHJvdmlkZXJfZW1haWwnXSA9ICfXkNeZ157XldeqINeT15XXkCLXnCc7CiRsYW5nWydlbWFpbF9zdWJqZWN0J10gPSAn16fXldeTINeU15DXmdee15XXqiDXqdec15onOwokbGFuZ1snZW1haWxfYm9keSddID0gJ9en15XXkyDXlNeQ15nXnteV16og16nXnNeaINeU15XXkDogJXNcIG5cIG4g16fXldeTINeW15Qg15nXpNeV15Ig15HXoteV15MgMTAg15PXp9eV16ouJzsKJGxhbmdbJ2VtYWlsX25vX2FkZHJlc3MnXSA9ICfXkNeZ158g15vXqteV15HXqiDXk9eV15Ai15wg16nXlNeV15LXk9eo15Qg16LXkdeV16gg15TXl9ep15HXldefINep15zXmi4nOwokbGFuZ1snZW1haWxfc2V0dXBfaW5mbyddID0gJ9en15XXk9eZINeQ15nXnteV16og15nXmdep15zXl9eVINeQ15w6ICVzJzsKJGxhbmdbJ3NldHVwX2VtYWlsJ10gPSAn15TXkteT16jXqiDXkNeZ157XldeqINeT15XXkCLXnCc7CiRsYW5nWydlbWFpbF9lbmFibGVkJ10gPSAn15DXmdee15XXqiDXk9eV15Ai15wg15TXldek16LXnCEnOwokbGFuZ1snZW1haWxfZGlzYWJsZWQnXSA9ICfXkNeZ157XldeqINeU15PXldeQItecINeU15XXqdeR16ouJzsKJGxhbmdbJ2VtYWlsX2VuYWJsZWRfc3RhdHVzJ10gPSAn15DXmdee15XXqiDXk9eV15Ai15wg157Xldek16LXnCDXldek16LXmdecLic7CiRsYW5nWydlbmFibGVfZW1haWwnXSA9ICfXlNek16LXnCDXkNeZ157XldeqINeT15XXkCLXnCc7CiRsYW5nWydkaXNhYmxlX2VtYWlsJ10gPSAn15TXqdeR16og15DXmdee15XXqiDXk9eV15Ai15wnOwokbGFuZ1sncHJvdmlkZXJfYmFja3VwX2NvZGVzJ10gPSAn16fXldeT15kg15LXmdeR15XXmSc7CiRsYW5nWydzZXR1cF9iYWNrdXBfY29kZXMnXSA9ICfXlNeS15PXqNeqINen15XXk9eZINeS15nXkdeV15knOwokbGFuZ1snYmFja3VwX2NvZGVzX3dhcm5pbmcnXSA9ICfXqdee15XXqCDXkNeqINeU16fXldeT15nXnSDXlNeQ15zXlCDXkdee16fXldedINeR15jXldeXISc7CiRsYW5nWydiYWNrdXBfY29kZXNfaW5mbyddID0gJ9eg15nXqtefINec15TXqdeq157XqSDXkdeb15wg16fXldeTINek16LXnSDXkNeX16og15HXnNeR15MuINeU16nXqtee16kg15HXlNedINeQ150g15DXqteUINee15DXkdeTINeS15nXqdeUINec16nXmdeY16og15TXkNeZ157XldeqINeU16jXkNep15nXqiDXqdec15ouJzsKJGxhbmdbJ2JhY2t1cF9jb2Rlc19lbmFibGVkX2luZm8nXSA9ICfXp9eV15PXmSDXkteZ15HXldeZINee15XXpNei15zXmdedLiDXkdeQ16TXqdeo15XXqteaINec15TXqdeq157XqSDXkdeU150g15DXnSDXqteQ15HXkyDXkteZ16nXlCDXnNep15nXmNeV16og15TXkNeZ157XldeqINeU15DXl9eo15XXqiDXqdec15ouJzsKJGxhbmdbJ2NvZGVzX3JlbWFpbmluZyddID0gJ9eU16fXldeT15nXnSDXqdeg15XXqteo15UnOwokbGFuZ1sncmVnZW5lcmF0ZV9jb2RlcyddID0gJ9eX15nXk9eV16kg16fXldeT15nXnSc7CiRsYW5nWydjb25maXJtX3JlZ2VuZXJhdGUnXSA9ICfXpNei15XXnNeUINeW15Ug16rXkdeY15wg15DXqiDXm9ecINeU16fXldeT15nXnSDXlNen15nXmdee15nXnS4g15zXlNee16nXmdeaPyc7CiRsYW5nWydkaXNhYmxlX2JhY2t1cF9jb2RlcyddID0gJ9eU16nXkdeqINen15XXk9eZINeS15nXkdeV15knOwokbGFuZ1snY29uZmlybV9kaXNhYmxlJ10gPSAn15TXkNedINeQ16rXlCDXkdeY15XXlyDXqdeQ16rXlCDXqNeV16bXlCDXnNeU16nXkdeZ16og16fXldeT15kg15LXmdeR15XXmT8nOwokbGFuZ1snYmFja3VwX2NvZGVzX2Rpc2FibGVkJ10gPSAn16fXldeT15kg15TXkteZ15HXldeZINeU15XXqdeR16rXlS4nOwokbGFuZ1snYmFja3VwX2NvZGVzX3NldHVwX2luZm8nXSA9ICfXpteV16gg16fXldeT15kg15LXmdeR15XXmSDXnNep15nXnteV16kg15vXqdeZ15jXqiDXkNeZ157XldeqINeX15bXqNeULic7CiRsYW5nWydnZW5lcmF0ZV9jb2RlcyddID0gJ9em15XXqCDXp9eV15PXmSDXkteZ15HXldeZJzsKJGxhbmdbJ3ByZW1pdW1fdGl0bGUnXSA9ICfXk9eVLdek16fXmNeV16gg16TXqNeVJzsKJGxhbmdbJ2FjdGl2YXRlX3lvdXJfbGljZW5zZSddID0gJ9eU16TXotecINeQ16og15TXqNeZ16nXmdeV158g16nXnNeaJzsKJGxhbmdbJ3ByZW1pdW1fZGVzY3JpcHRpb24nXSA9ICfXkdeY15wg16TXp9eT15kg15DXkdeY15fXlCDXnteq16fXk9ee15nXnSwg16rXlden16MgMkZBINec15vXnCDXlNee16nXqtee16nXmdedLCDXlNeS15HXnNeqINen16bXkSDXl9eb150sINee15vXqdeZ16jXmdedINee15TXmdee16DXmdedINeV16rXnteZ15vXlCDXkdei15PXmdek15XXqiwg15TXntei16DXmden15nXnSDXnNeaINeU15LXoNeUINee15zXkNeUINeV16TXmden15XXlyDXoNeZ15TXldec15kg16LXnCDXkNeq16ggQ01TIE1hZGUgU2ltcGxlINep15zXmi4nOwokbGFuZ1snbGljZW5zZV9rZXknXSA9ICfXntek16rXlyDXqNeZ16nXmdeV158nOwokbGFuZ1sndmVyaWZ5X2xpY2Vuc2UnXSA9ICfXkNeZ157XldeqINeo15nXqdeZ15XXnyc7CiRsYW5nWydsaWNlbnNlX2tleV9yZXF1aXJlZCddID0gJ9eQ16DXkCDXlNeW158g157XpNeq15cg16jXmdep15nXldefLic7CiRsYW5nWydsaWNlbnNlX2FjdGl2YXRlZCddID0gJ9eU16jXmdep15nXldefINeU15XXpNei15wg15HXlNem15zXl9eUISDXqteb15XXoNeV16ogVHdvRmFjdG9yIFBybyDXnteV16TXotec15XXqiDXm9ei16ouJzsKJGxhbmdbJ2xpY2Vuc2VfaW52YWxpZCddID0gJ9ee16TXqteXINeo15nXqdeZ15XXnyDXnNeQINeX15XXp9eZLiDXkNeg15Ag15HXk9eV16cg15XXoNeh15Qg16nXldeRLic7CiRsYW5nWydsaWNlbnNlX3ZlcmlmaWNhdGlvbl9mYWlsZWQnXSA9ICfXnNeQINeg15nXqtefINec15DXnteqINeQ16og15TXqNeZ16nXmdeV158uINeQ16DXkCDXkdeT15XXpyDXkNeqINeU15fXmdeR15XXqCDXqdec15og15XXoNeh15Qg16nXldeRLic7CiRsYW5nWydwcm9fYWN0aXZhdGVkJ10gPSAn15PXlS3XpNen15jXldeoINek16jXlSDXnteV16TXotecJzsKJGxhbmdbJ3Byb19mZWF0dXJlc191bmxvY2tlZCddID0gJ9eb15wg16rXm9eV16DXldeqINeU16TXqNeZ157XmdeV150g15DXmdeg158g16DXoteV15zXldeqINeb16LXqi4nOwokbGFuZ1sncHJvX2ZlYXR1cmVzX3RpdGxlJ10gPSAn16rXm9eV16DXldeqINek16jXlSc7CiRsYW5nWydwcm9fZmVhdHVyZV9yYXRlX2xpbWl0aW5nJ10gPSAn15TXkteR15zXqiDXqtei16jXmdek15nXnSDXldeU15LXoNeUINei15wg15vXldeXINeQ15vXlteo15knOwokbGFuZ1sncHJvX2ZlYXR1cmVfc2Vzc2lvbl9yZXZhbGlkYXRpb24nXSA9ICfXkNeZ157XldeqINeU16TXotec15Qg157Xl9eT16kg16LXkdeV16gg15TXkteT16jXldeqINeQ15HXmNeX15QnOwokbGFuZ1sncHJvX2ZlYXR1cmVfdHJ1c3RlZF9kZXZpY2VzJ10gPSAn157Xm9ep15nXqNeZ150g157XlNeZ157XoNeZ150gKNeW15vXqNeVINec157XqdeaIDMwINeZ15XXnSknOwokbGFuZ1sncHJvX2ZlYXR1cmVfdXNlcl9tYW5hZ2VtZW50J10gPSAn15zXldeXINee15fXldeV16DXmdedINec16DXmdeU15XXnCDXntep16rXntep15nXnSc7CiRsYW5nWydwcm9fZmVhdHVyZV9lbmZvcmNlXzJmYSddID0gJ9eQ15vXmdek16ogMkZBINei15HXldeoINeb15wg157Xqdeq157XqdeZINeU16DXmdeU15XXnCc7CiRsYW5nWydwcm9fZmVhdHVyZV9hdWRpdF9sb2dzJ10gPSAn15nXldee16DXmSDXkdeZ16fXldeo16og157Xqten15PXnteZ150g16LXnSDXmdeZ16bXldeQJzsKJGxhbmdbJ3Byb19mZWF0dXJlX2VtYWlsX25vdGlmaWNhdGlvbnMnXSA9ICfXlNeV15PXoteV16og15PXldeQItecINei15wg16TXoteZ15zXldeqINeX16nXldeT15QnOwokbGFuZ1snZ2V0X3Byb19saWNlbnNlJ10gPSAn16fXkdecINeo15nXqdeZ15XXnyDXpNeo15UnOwokbGFuZ1sncmF0ZV9saW1pdGluZ19lbmFibGVkJ10gPSAn15TXpNei15wg15TXkteR15zXqiDXp9em15EnOwokbGFuZ1sncmF0ZV9saW1pdGluZ19lbmFibGVkX2hlbHAnXSA9ICfXlNeS158g157XpNeg15kg15TXqten16TXldeqINeb15XXlyDXkNeb15bXqNeZINei150g15fXlteo15Qg157Xoteo15nXm9eZ16onOwokbGFuZ1snbWF4X2F0dGVtcHRzX2xvY2tvdXQnXSA9ICfXnten16HXmdee15XXnSDXoNeZ16HXmdeV16DXldeqINec16TXoNeZINeU16DXoteZ15zXlCc7CiRsYW5nWydtYXhfYXR0ZW1wdHNfbG9ja291dF9oZWxwJ10gPSAn157Xodek16gg15TXoNeZ16HXmdeV16DXldeqINep16DXm9ep15zXlSDXnNek16DXmSDXoNei15nXnNeUINeW157XoNeZ16ogKNeR16jXmdeo16og157Xl9eT15w6IDUpJzsKJGxhbmdbJ21heF9hdHRlbXB0c19yZXNldCddID0gJ9ee16fXodeZ157XldedINeg15nXodeZ15XXoNeV16og15zXpNeg15kg15DXmdek15XXoSDXlNeh15nXodee15QnOwokbGFuZ1snbWF4X2F0dGVtcHRzX3Jlc2V0X2hlbHAnXSA9ICfXnteh16TXqCDXlNeg15nXodeZ15XXoNeV16og16nXoNeb16nXnNeVINec16TXoNeZINeQ15nXnNeV16Ug15DXmdek15XXoSDXodeZ16HXnteUICjXkdeo15nXqNeqINee15fXk9ecOiAxMCknOwokbGFuZ1snbm90aWZ5X2FkbWluJ10gPSAn15TXldeT16Ig15zXnteg15TXnCDXotecINek16LXmdec15XXqiDXl9ep15XXk9eUJzsKJGxhbmdbJ25vdGlmeV9hZG1pbl9oZWxwJ10gPSAn16nXnNeXINeU16rXqNeQ15XXqiDXkdeT15XXkCLXnCDXm9eQ16nXqCDXnteq15LXnNeZ150g157Xodek16gg16DXmdeh15nXldeg15XXqiDXm9eV16nXnNeZ150nOwokbGFuZ1snc2V0dGluZ3Nfc2F2ZWQnXSA9ICfXlNeU15LXk9eo15XXqiDXoNep157XqNeVINeR15TXptec15fXlC4nOwokbGFuZ1sncHJvX3JlcXVpcmVkX3NldHRpbmdzJ10gPSAn16DXk9eo16kg16jXmdep15nXldefIFBybyDXnNeU15LXk9eo16og15TXkteT16jXldeqINeQ15zXlC4nOwokbGFuZ1snYWNjb3VudF9sb2NrZWQnXSA9ICfXmdeV16rXqCDXnteT15kg16DXmdeh15nXldeg15XXqiDXm9eV16nXnNeZ150uINeQ16DXkCDXoNeh15Qg16nXldeRINeR16LXldeTICVkINeT16fXldeqLic7CiRsYW5nWydpcF9ibGFja2xpc3QnXSA9ICfXqNep15nXnteUINep15fXldeo15Qg16nXnCBJUCc7CiRsYW5nWydpcF9ibGFja2xpc3RfaGVscCddID0gJ9eo16nXmdee15Qg157Xldek16jXk9eqINeR16TXodeZ16fXmdedINep15wg15vXqteV15HXldeqIElQINec15fXodeZ157XlCDXnNem157Xmdeq15XXqiAo15zXntep15wsIDE5Mi4xNjguMS4xLCAxMC4wLjAuNSknOwokbGFuZ1snZW1haWxfdGVtcGxhdGVzJ10gPSAn16rXkdeg15nXldeqINeT15XXkCLXnCc7CiRsYW5nWydyZXNldF9lbWFpbF9zdWJqZWN0J10gPSAn15DXmdek15XXoSDXodeZ16HXnteUINeg15XXqdeQINeT15XXkCLXnCc7CiRsYW5nWydyZXNldF9lbWFpbF9ib2R5J10gPSAn15DXmdek15XXoSDXodeZ16HXnteUINeS15XXoyDXk9eV15Ai15wnOwokbGFuZ1sncmVzZXRfZW1haWxfcGxhY2Vob2xkZXJzJ10gPSAn157XpteZ15nXoNeZINee15nXp9eV150g15bXnteZ16DXmdedOiB716nXnSDXntep16rXntepfSwge3Jlc2V0X3VybH0nOwokbGFuZ1snYWxlcnRfZW1haWxfc3ViamVjdCddID0gJ9eg15XXqdeQINeU15PXldeQItecINep15wg15TXqteo15DXqiDXnteg15TXnCc7CiRsYW5nWydhbGVydF9lbWFpbF9ib2R5J10gPSAn15LXldejINeU15PXldeQItecINep15wg15TXqteo15DXqiDXnteg15TXnCc7CiRsYW5nWydhbGVydF9lbWFpbF9wbGFjZWhvbGRlcnMnXSA9ICfXntem15nXmdeg15kg157Xmden15XXnSDXltee15nXoNeZ1506IHvXqdedINee16nXqtee16l9LCB7aXBfYWRkcmVzc30sIHvXoNeZ16HXmdeV16DXldeqfSwge9eW157Xn30nOwokbGFuZ1sncmF0ZV9saW1pdGluZ19zZXR0aW5ncyddID0gJ9eU15LXkdec16og16rXoteo15nXpNeZ150g15XXlNeS16DXlCDXotecINeb15XXlyDXkNeb15bXqNeZJzsKJGxhbmdbJ3RhYl90ZW1wbGF0ZXMnXSA9ICfXqteR16DXmdeV16onOwokbGFuZ1sndGFiX3Byb19zZXR0aW5ncyddID0gJ9eU15LXk9eo15XXqic7CiRsYW5nWyd0YWJfc21zJ10gPSAn15TXkteT16jXldeqIFNNUyc7CiRsYW5nWyd0YWJfdmVyaWZ5X2xvZ3MnXSA9ICfXmdeV157XoNeZINeQ15nXnteV16onOwokbGFuZ1sndGFiX2xpY2Vuc2UnXSA9ICfXqNeZ16nXmdeV158g16TXqNeVJzsKJGxhbmdbJ3RhYl91cGdyYWRlJ10gPSAn16nXk9eo15Ig15wtUHJvJzsKJGxhbmdbJ3RhYl9kZWJ1ZyddID0gJ9eg15nXpNeV15kg15HXkNeS15nXnSc7CiRsYW5nWydwcm9fYWN0aXZlX2JldGEnXSA9ICdUd29GYWN0b3IgUHJvINek16LXmdecJzsKJGxhbmdbJ3Byb19mZWF0dXJlc19lbmFibGVkJ10gPSAn16rXm9eV16DXldeqINek16jXnteZ15XXnSDXnteV16TXotec15XXqi4nOwokbGFuZ1sncGFzc3dvcmRfcmVzZXRfZW1haWwnXSA9ICfXkNeZ157XmdeZ15wg15zXkNeZ16TXldehINeh15nXodee15QnOwokbGFuZ1snYWRtaW5fYWxlcnRfZW1haWwnXSA9ICfXk9eV15Ai15wg15TXqteo15DXqiDXnteg15TXnCc7CiRsYW5nWyd0YWJfdXNlcl9tYW5hZ2VtZW50J10gPSAn16DXmdeU15XXnCDXntep16rXntep15nXnSc7CiRsYW5nWyd1c2VyX21hbmFnZW1lbnQnXSA9ICfXnNeV15cg157Xl9eV15XXoNeZ150g15zXoNeZ15TXldecINee16nXqtee16nXmdedJzsKJGxhbmdbJ3VzZXJfbWFuYWdlbWVudF9oZWxwJ10gPSAn15TXpteSINeV15zXoNeU15wg15TXkteT16jXldeqIDJGQSDXoteR15XXqCDXm9ecINeU157Xqdeq157XqdeZ150uINeQ16rXlCDXmdeb15XXnCDXnNeU16nXkdeZ16ogMkZBINei15HXldeoINee16nXqtee16nXmdedINeg16LXldec15nXnS4nOwokbGFuZ1sndXNlcm5hbWUnXSA9ICfXqdedINee16nXqtee16knOwokbGFuZ1snZW1haWwnXSA9ICfXk9eV15Ai15wnOwokbGFuZ1snMmZhX3N0YXR1cyddID0gJ9eh15jXmNeV16EgMkZBJzsKJGxhbmdbJ2VuYWJsZWRfbWV0aG9kcyddID0gJ9ep15nXmNeV16og157Xldek16LXnNeV16onOwokbGFuZ1snZmFpbGVkX2F0dGVtcHRzJ10gPSAn16DXmdeh15nXldeg15XXqiDXm9eV16nXnNeZ150nOwokbGFuZ1snZGlzYWJsZV8yZmEnXSA9ICfXlNep15HXqiAyRkEnOwokbGFuZ1snY29uZmlybV9kaXNhYmxlX3VzZXJfMmZhJ10gPSAn15TXkNedINeQ16rXlCDXkdeY15XXlyDXqdeR16jXpteV16DXmiDXnNeU16nXkdeZ16ogMkZBINei15HXldeoINeU157Xqdeq157XqSAiJXMiPyDXpNei15XXnNeUINeW15Ug16rXodeZ16gg15DXqiDXm9ecINeU15LXk9eo15XXqiDXlC0gMkZBINep15zXlNedLCDXlNee15vXqdeZ16jXmdedINeU157XlNeZ157XoNeZ150g15XXqteQ16TXoSDXoNeZ16HXmdeV16DXldeqINeb15XXqdec15nXnS4nOwokbGFuZ1sndXNlcl8yZmFfZGlzYWJsZWQnXSA9ICcyRkEg15TXldep15HXqiDXoteR15XXqCDXntep16rXntepOiAlcyc7CiRsYW5nWydsZWdlbmQnXSA9ICfXkNeS15PXlCc7CiRsYW5nWydsZWdlbmRfbG9ja2VkJ10gPSAn16jXp9eiINeQ15PXldedID0g15TXntep16rXntepINeg16LXldecINeb16jXkteiJzsKJGxhbmdbJ2xlZ2VuZF9mYWlsZWRfYXR0ZW1wdHMnXSA9ICfXoNeZ16HXmdeV16DXldeqINeb15XXqdec15nXnTog15DXk9eV150gKDUrKSwg15vXqteV150gKDMtNCksINep15fXldeoICgwLTIpJzsKJGxhbmdbJ2xlZ2VuZF9kaXNhYmxlJ10gPSAn15TXqdeq157XqSDXkSLXlNep15HXqiAyRkEiINeb15PXmSDXnNeR15jXnCDXkNeqINeg16LXmdec16og15TXntep16rXntep15nXnSDXkNeVINec15TXodeZ16gg15DXqiDXlNeS15PXqNeV16og15QtIDJGQSDXqdec15TXnSc7CiRsYW5nWydkZXZpY2Vfbm90X2ZvdW5kJ10gPSAn15TXnteb16nXmdeoINec15Ag16DXntem15Ag15DXlSDXkNeZ16DXlSDXqdeZ15nXmiDXnNeaLic7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAn15TXkteT16jXldeqINeb15zXnNeZ15XXqic7CiRsYW5nWydlbmZvcmNlXzJmYV9hbGwnXSA9ICfXkNeb15nXpNeqIDJGQSDXoteR15XXqCDXm9ecINee16nXqtee16nXmSDXlNeg15nXlNeV15wnOwokbGFuZ1snZW5mb3JjZV8yZmFfYWxsX2hlbHAnXSA9ICfXm9eQ16nXqCDXnteV16TXotecLCDXm9ecINee16nXqtee16nXmSDXlNeg15nXlNeV15wg15nXmdeT16jXqdeVINec15TXpNei15nXnCAyRkEg15zXpNeg15kg16nXlNedINeZ15vXldec15nXnSDXnNeS16nXqiDXnNec15XXlyDXlNeg15nXlNeV15wnOwokbGFuZ1snMmZhX3JlcXVpcmVkJ10gPSAn15PXqNeV16kgMkZBJzsKJGxhbmdbJzJmYV9yZXF1aXJlZF9tZXNzYWdlJ10gPSAn157XoNeU15wg15TXntei16jXm9eqINep15zXmiDXlNek16LXmdecINeQ15nXnteV16og15PXlS3XkteV16jXnteZINeX15XXkdeULiDXotec15nXmiDXnNeU16TXoteZ15wg15zXpNeX15XXqiDXqdeZ15jXqiAyRkEg15DXl9eqINec15TXnNefINeb15PXmSDXnNeU157XqdeZ15og15zXlNep16rXntepINeR15zXldeXINeU16DXmdeU15XXnC4nOwokbGFuZ1sncGVybWlzc2lvbl9kZW5pZWQnXSA9ICfXlNeo16nXkNeUINeg15PXl9eq15QuINeQ15nXnyDXnNeaINeS15nXqdeUINec16rXm9eV16DXlCDXlteVLic7CiRsYW5nWydzbXNfc2V0dGluZ3MnXSA9ICfXlNeS15PXqNeV16ogU01TJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX29wdGlvbiddID0gJ9eQ16TXqdeo15XXqiAxOiDXoNen15XXk9eV16og15bXm9eV16ogU01TINeeLSBQaXhlbCBTb2x1dGlvbnMnOwokbGFuZ1snc21zX2NyZWRpdHNfZGVzY3JpcHRpb24nXSA9ICfXqNeb16nXlSDXoNen15XXk9eV16og15bXm9eV16ogU01TINee15TXl9eg15XXqiDXqdec16DXlSDXldeU16nXqtee16nXlSDXkdeU150g15HXm9ecINeU15DXqteo15nXnSDXqdec15vXnS4g16TXqdeV15gsINeQ15nXnyDXpteV16jXmiDXkdeq16bXldeo16ogQVBJLic7CiRsYW5nWydwcm9kdWN0X2tleSddID0gJ9ee16TXqteXINee15XXpteoJzsKJGxhbmdbJ3Byb2R1Y3Rfa2V5X2hlbHAnXSA9ICfXlNeW158g15DXqiDXntek16rXlyDXlNee15XXpteoINep16fXmdeR15zXqiDXnNeQ15fXqCDXqNeb15nXqdeqINeg16fXldeT15XXqiDXlteb15XXqiBTTVMnOwokbGFuZ1snc2F2ZV9wcm9kdWN0X2tleSddID0gJ9ep157XldeoINee16TXqteXINee15XXpteoJzsKJGxhbmdbJ3B1cmNoYXNlX2NyZWRpdHMnXSA9ICfXqNeb15nXqdeqINeg16fXldeT15XXqiDXlteb15XXqiBTTVMnOwokbGFuZ1snc21zX2NyZWRpdHNfc2F2ZWQnXSA9ICfXntek16rXlyDXlNee15XXpteoINep15wg15bXmdeb15XXmdeZIFNNUyDXoNep157XqCDXkdeU16bXnNeX15QuJzsKJGxhbmdbJ3R3aWxpb19hcGlfb3B0aW9uJ10gPSAn15DXpNep16jXldeqIDI6INeU16nXqtee16kg15HXl9ep15HXldefIFR3aWxpbyDXntep15zXmic7CiRsYW5nWyd0d2lsaW9fYXBpX2Rlc2NyaXB0aW9uJ10gPSAn15TXkteT16gg15DXqiDXkNeZ16nXldeo15kg15QtIEFQSSDXqdecIFR3aWxpbyDXntep15zXmiDXnNep15zXmdeX16og15TXldeT16LXldeqIFNNUyDXmdep15nXqNeV16og157XlNeX16nXkdeV158g16nXnNeaLic7CiRsYW5nWydzbXNfc3RhdHVzX2F2YWlsYWJsZSddID0gJ9eQ15nXnteV16ogU01TINeW157XmdefJzsKJGxhbmdbJ3Ntc19zdGF0dXNfdW5hdmFpbGFibGUnXSA9ICfXkNeZ157XldeqIFNNUyDXkNeZ16DXlSDXltee15nXnyc7CiRsYW5nWydzbXNfY29uZmlndXJlX21ldGhvZCddID0gJ9eU15LXk9eoINeg16fXldeT15XXqiDXlteb15XXqiBTTVMg15DXlSDXntee16nXpyBBUEkg16nXnCBUd2lsaW8g15vXk9eZINec15DXpNep16gg15DXmdee15XXqiBTTVMnOwokbGFuZ1snc21zX2JvdGhfbWV0aG9kc19hY3RpdmUnXSA9ICfXqdeg15kg16DXp9eV15PXldeqINeW15vXldeqINeULSBTTVMg15XXktedINee157XqdenINeULSBBUEkg16nXnCBUd2lsaW8g157XldeS15PXqNeZ150nOwokbGFuZ1snc21zX2NyZWRpdHNfbWV0aG9kX2FjdGl2ZSddID0gJ9ep15nXnteV16kg15HXp9eo15PXmdeY15nXnSDXkS0gU01TJzsKJGxhbmdbJ3Ntc190d2lsaW9fbWV0aG9kX2FjdGl2ZSddID0gJ9ep15nXnteV16kg15HXntee16nXpyBBUEkg16nXnCDXmNeV15XXmdec15nXlSc7CiRsYW5nWydzbXNfY3JlZGl0c19wcmlvcml0eSddID0gJ9eq15fXmdec15Qg15nXqdee16nXlSDXoNen15XXk9eV16og15bXm9eV16ogU01TJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ9ek16LXmdecJzsKJGxhbmdbJ3JlbW92ZV90d2lsaW8nXSA9ICfXlNep15HXqiDXntee16nXpyDXlC0gQVBJINep15wg15jXldeV15nXnNeZ15UnOwokbGFuZ1snY29uZmlybV9yZW1vdmVfdHdpbGlvJ10gPSAn15TXkNedINeQ16rXlCDXkdeY15XXlyDXqdeR16jXpteV16DXmiDXnNeU16HXmdeoINeQ15nXqdeV16jXmSDXntee16nXpyBBUEkg16nXnCBUd2lsaW8/JzsKJGxhbmdbJ3R3aWxpb19yZW1vdmVkJ10gPSAn15DXmdep15XXqNeZINee157XqdenIEFQSSDXqdecIFR3aWxpbyDXlNeV16HXqNeVINeR15TXptec15fXlC4nOwokbGFuZ1snZXJyb3Jfc3Vic2NyaXB0aW9uX2tleV9ub3Rfc3VwcG9ydGVkJ10gPSAn15bXlNeVINee16TXqteXINee16DXldeZLiDXqNenINeo15nXqdeZ15XXoNeV16og157XkdeV16HXodeZINeQ16nXqNeQ15kg16DXqtee15vXmdedINei15HXldeoINeW15nXm9eV15nXmSBTTVMuJzsKJGxhbmdbJ3RydXN0ZWRfZGV2aWNlcyddID0gJ9ee15vXqdeZ16jXmdedINee15TXmdee16DXmdedJzsKJGxhbmdbJ3RhYl9tZXRob2RzJ10gPSAn16nXmdeY15XXqic7CiRsYW5nWyd0YWJfdHJ1c3RlZF9kZXZpY2VzJ10gPSAn157Xm9ep15nXqNeZ150g157XlNeZ157XoNeZ150nOwokbGFuZ1snYWN0aW9ucyddID0gJ9ek16LXldec15XXqic7CiRsYW5nWydlbWFpbF92ZXJpZmljYXRpb25fdGl0bGUnXSA9ICfXkNeZ157XldeqINeT15XXkCLXnCc7CiRsYW5nWydlbWFpbF92ZXJpZmljYXRpb25fc2VudCddID0gJ9en15XXkyDXkNeZ157XldeqINeg16nXnNeXINec15vXqteV15HXqiDXlNeT15XXkCLXnCDXqdec15ouJzsKJGxhbmdbJ3JlbWVtYmVyX2RldmljZSddID0gJ9eW15vXldeoINeQ16og15TXnteb16nXmdeoINeU15bXlCDXnNee16nXmiAzMCDXmdeV150nOwokbGFuZ1snYWNjb3VudF9sb2NrZWRfc2Vjb25kcyddID0gJ9eZ15XXqteoINee15PXmSDXoNeZ16HXmdeV16DXldeqINeb15XXqdec15nXnS4g15DXoNeQINeg16HXlCDXqdeV15Eg15HXoteV15MgJWQg16nXoNeZ15nXlCVzLic7CiRsYW5nWydhY2NvdW50X2xvY2tlZF9taW51dGVzJ10gPSAn15nXldeq16gg157Xk9eZINeg15nXodeZ15XXoNeV16og15vXldep15zXmdedLiDXkNeg15Ag16DXodeUINep15XXkSDXkdei15XXkyAlZCDXk9en15XXqiVzLic7CiRsYW5nWydyZXNlbmRfdmVyaWZpY2F0aW9uX2NvZGUnXSA9ICfXqdec15cg16nXldeRINeQ16og16fXldeTINeU15DXmdee15XXqic7CiRsYW5nWyd1c2VfYmFja3VwX2NvZGUnXSA9ICfXlNep16rXntepINeR16fXldeTINeS15nXkdeV15knOwokbGFuZ1sndG90cF92ZXJpZmljYXRpb25fdGl0bGUnXSA9ICfXkNeZ157XldeqINeT15Ut15LXldeo157XmSc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZV9sYWJlbCddID0gJ9en15XXkyDXkNeZ157XldeqJzsKJGxhbmdbJ3Ntc192ZXJpZmljYXRpb25fdGl0bGUnXSA9ICfXkNeZ157XldeqIFNNUyc7CiRsYW5nWydzbXNfdmVyaWZpY2F0aW9uX3NlbnQnXSA9ICfXp9eV15Mg15DXmdee15XXqiDXoNep15zXlyDXnNeY15zXpNeV158g16nXnNeaLic7Cg==]]></data>
	</file>
	<file>
		<filename>/lang/ext/it_IT.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1R3b0ZhY3Rvcic7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnQWNjZXNzbyBzaWN1cm8gQ01TIE1hZGUgU2ltcGxlIGNvbiBhdXRlbnRpY2F6aW9uZSBhIGR1ZSBmYXR0b3JpICgyRkEpIC0gZGkgUGl4ZWwgU29sdXRpb25zJzsKJGxhbmdbJ3BhcmFtX3VzZXInXSA9ICdQYXJhbWV0cm8gdXRlbnRlIHBlciBsXCdpbnRlZ3JhemlvbmUgZnJvbnRlbmQnOwokbGFuZ1snYXNrX3VuaW5zdGFsbCddID0gJ1NlaSBzaWN1cm8gZGkgdm9sZXIgZGlzaW5zdGFsbGFyZSBpbCBtb2R1bG8gVHdvIEZhY3Rvcj8gVHV0dGUgbGUgaW1wb3N0YXppb25pIGFuZHJhbm5vIHBlcnNlLic7CiRsYW5nWyd0d2lsaW9fc2V0dGluZ3MnXSA9ICdUd29GYWN0b3IgLSBJbXBvc3RhemlvbmkgVHdpbGlvJzsKJGxhbmdbJ3R3b19mYWN0b3Jfc2V0dGluZ3MnXSA9ICdJbXBvc3RhemlvbmkgZGkgYXV0ZW50aWNhemlvbmUgYSBkdWUgZmF0dG9yaSc7CiRsYW5nWyd0d29fZmFjdG9yX2FjdGl2ZSddID0gJ0xcJ2F1dGVudGljYXppb25lIGEgZHVlIGZhdHRvcmkgw6ggYXR0aXZhIHN1bCB0dW8gYWNjb3VudC4nOwokbGFuZ1sndHdvX2ZhY3Rvcl9pbmFjdGl2ZSddID0gJ0xcJ2F1dGVudGljYXppb25lIGEgZHVlIGZhdHRvcmkgw6ggYXR0dWFsbWVudGUgZGlzYWJpbGl0YXRhLiBTZWxlemlvbmEgdW4gbWV0b2RvIHByaW5jaXBhbGUgcXVpIHNvdHRvIHBlciBhdHRpdmFybG8uJzsKJGxhbmdbJ2VuYWJsZWRfbWV0aG9kcyddID0gJ01ldG9kaSBhYmlsaXRhdGknOwokbGFuZ1snYXZhaWxhYmxlX21ldGhvZHMnXSA9ICdNZXRvZGkgZGkgYXV0ZW50aWNhemlvbmUgZGlzcG9uaWJpbGknOwokbGFuZ1snbm9fbWV0aG9kc19lbmFibGVkJ10gPSAnTmVzc3VuIG1ldG9kbyBhIGR1ZSBmYXR0b3JpIMOoIGFuY29yYSBhYmlsaXRhdG8uIFNjZWdsaSB1biBtZXRvZG8gcXVpIHNvdHRvIHBlciBpbml6aWFyZS4nOwokbGFuZ1sncHJpbWFyeSddID0gJ1ByaW1hcmlhJzsKJGxhbmdbJ3ByaW1hcnlfbWV0aG9kJ10gPSAnTWV0b2RvIHByaW1hcmlvJzsKJGxhbmdbJ3ByaW1hcnlfbWV0aG9kX2luZm8nXSA9ICdTZWxlemlvbmEgaWwgbWV0b2RvIHByaW5jaXBhbGUgZGEgdXRpbGl6emFyZSBwZXIgbFwnYXV0ZW50aWNhemlvbmUgYSBkdWUgZmF0dG9yaSBxdWFuZG8gYWNjZWRpIGEgcXVlc3RvIHNpdG8nOwokbGFuZ1sndXBkYXRlJ10gPSAnQWdnaW9ybmFtZW50byc7CiRsYW5nWydwcmltYXJ5X3VwZGF0ZWQnXSA9ICdNZXRvZG8gZGkgYXV0ZW50aWNhemlvbmUgcHJpbmNpcGFsZSBhZ2dpb3JuYXRvLic7CiRsYW5nWydtZXRob2QnXSA9ICdNZXRvZG8nOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2FjdGlvbiddID0gJ0F6aW9uZSc7CiRsYW5nWydlbmFibGVkJ10gPSAnQWJpbGl0YXRvJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnRGlzYWJpbGknOwokbGFuZ1sndmVyaWZpZWQnXSA9ICdWZXJpZmljYXRvJzsKJGxhbmdbJ2NvbmZpZ3VyZSddID0gJ0NvbmZpZ3VyYSc7CiRsYW5nWyd0YWJfc2V0dGluZ3MnXSA9ICdJbXBvc3RhemlvbmknOwokbGFuZ1sndGFiX3ByZW1pdW0nXSA9ICdwcmVtaW8nOwokbGFuZ1sndGFiX3Ntc2NyZWRpdCddID0gJ0ltcG9zdGF6aW9uaSBTTVMnOwokbGFuZ1snc2V0dGluZ3NfaW5mbyddID0gJ0ltcG9zdGF6aW9uaSBnZW5lcmFsaSBkZWwgbW9kdWxvLic7CiRsYW5nWydwcmVtaXVtX2luZm8nXSA9ICdGdW56aW9uYWxpdMOgIHByZW1pdW0gaW4gYXJyaXZvLic7CiRsYW5nWydzbXNjcmVkaXRfaW5mbyddID0gJ0xhIGdlc3Rpb25lIGRlbCBjcmVkaXRvIHZpYSBTTVMgc2Fyw6AgcHJlc3RvIGRpc3BvbmliaWxlLic7CiRsYW5nWydzbXNfY3JlZGl0c19zYXZlZCddID0gJ0xpY2VuemEgZGkgY3JlZGl0aSBTTVMgc2FsdmF0YSBlIGNvbnZhbGlkYXRhIGNvbiBzdWNjZXNzby4nOwokbGFuZ1snZXJyb3JfZW1wdHlfbGljZW5zZSddID0gJ0xhIGNoaWF2ZSBkaSBsaWNlbnphIG5vbiBwdcOyIGVzc2VyZSB2dW90YS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZF9saWNlbnNlJ10gPSAnQ2hpYXZlIGRpIGxpY2VuemEgbm9uIHZhbGlkYSBvIGNvbnZhbGlkYSBub24gcml1c2NpdGEuJzsKJGxhbmdbJ2Vycm9yX3R3aWxpb19maWVsZHNfcmVxdWlyZWQnXSA9ICdUdXR0aSBpIGNhbXBpIGRpIFR3aWxpbyBzb25vIG9iYmxpZ2F0b3JpLic7CiRsYW5nWydlcnJvcl90d2lsaW9faW52YWxpZF9jcmVkZW50aWFscyddID0gJ0NyZWRlbnppYWxpIFR3aWxpbyBub24gdmFsaWRlLiBDb250cm9sbGEgbGEgY2hpYXZlIEFQSSwgaWwgc2VncmV0byBlIGlsIFNJRCBkaSBzZXJ2aXppby4nOwokbGFuZ1snc21zX2NyZWRpdHNfcmVtb3ZlZCddID0gJ0xpY2VuemEgcGVyIGkgY3JlZGl0aSBTTVMgcmltb3NzYSBjb24gc3VjY2Vzc28uJzsKJGxhbmdbJ3JlbW92ZV9saWNlbnNlJ10gPSAnRGlzYXR0aXZhIGxpY2VuemEnOwokbGFuZ1snY29uZmlybV9yZW1vdmVfbGljZW5zZSddID0gJ1NlaSBzaWN1cm8gZGkgdm9sZXIgcmltdW92ZXJlIGxhIGxpY2VuemEgZGVpIGNyZWRpdGkgU01TPyc7CiRsYW5nWydsaWNlbnNlX3JlbW92ZWQnXSA9ICdMaWNlbnphIHJpbW9zc2EgY29uIHN1Y2Nlc3NvLic7CiRsYW5nWydsaWNlbnNlX3ZhbGlkJ10gPSAnTGEgbGljZW56YSDDqCB2YWxpZGEgZSBhdHRpdmEuJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX2FjdGl2ZSddID0gJ0NyZWRpdGkgcmltYW5lbnRpOiAlcyc7CiRsYW5nWyd0eXBlX1R3b0ZhY3RvciddID0gJ0R1ZSBmYXR0b3JpJzsKJGxhbmdbJ3R5cGVfZW1haWxfdmVyaWZpY2F0aW9uJ10gPSAnVmVyaWZpY2EgZS1tYWlsJzsKJGxhbmdbJ3Byb3ZpZGVyX3RvdHAnXSA9ICdBcHAgZGkgYXV0ZW50aWNhemlvbmUgKFRPVFApJzsKJGxhbmdbJ3RvdHBfZGVzY3JpcHRpb24nXSA9ICdVc2EgR29vZ2xlIEF1dGhlbnRpY2F0b3IsIEF1dGh5IG8gYXBwIHNpbWlsaSc7CiRsYW5nWydlbWFpbF9kZXNjcmlwdGlvbiddID0gJ1JpY2V2aSBpIGNvZGljaSBkaSB2ZXJpZmljYSB2aWEgZW1haWwnOwokbGFuZ1snYmFja3VwX2NvZGVzX2Rlc2NyaXB0aW9uJ10gPSAnQ29kaWNpIGRpIGJhY2t1cCBtb25vdXNvIHBlciBsXCdhY2Nlc3NvIGRpIGVtZXJnZW56YSc7CiRsYW5nWydwcm92aWRlcl9zbXMnXSA9ICdWZXJpZmljYSB0cmFtaXRlIFNNUyc7CiRsYW5nWydzbXNfZGVzY3JpcHRpb24nXSA9ICdSaWNldmkgaSBjb2RpY2kgZGkgdmVyaWZpY2EgdHJhbWl0ZSBTTVMnOwokbGFuZ1snc2V0dXBfc21zJ10gPSAnQ29uZmlndXJhemlvbmUgZGVsbGEgdmVyaWZpY2EgdHJhbWl0ZSBTTVMnOwokbGFuZ1sndHdpbGlvX3NldHRpbmdzJ10gPSAnSW1wb3N0YXppb25pIEFQSSBUd2lsaW8nOwokbGFuZ1sndHdpbGlvX2FwaV9rZXlfc2lkJ10gPSAnU0lEIGNoaWF2ZSBBUEkgVHdpbGlvJzsKJGxhbmdbJ3R3aWxpb19hcGlfc2VjcmV0J10gPSAnU2VncmV0byBkZWxsXCdBUEkgVHdpbGlvJzsKJGxhbmdbJ3R3aWxpb19zZXJ2aWNlX3NpZCddID0gJ1NJRCBkZWwgc2Vydml6aW8gZGkgdmVyaWZpY2EgVHdpbGlvJzsKJGxhbmdbJ3R3aWxpb19zZXJ2aWNlX3NpZF9oZWxwJ10gPSAnQ3JlYSB1biBzZXJ2aXppbyBkaSB2ZXJpZmljYSBuZWxsYSB0dWEgY29uc29sZSBUd2lsaW8gZSBpbnNlcmlzY2kgcXVpIGlsIFNJRCBkZWwgc2Vydml6aW8nOwokbGFuZ1snc2F2ZV9zZXR0aW5ncyddID0gJ1NhbHZhIGltcG9zdGF6aW9uaSc7CiRsYW5nWyd0d2lsaW9fc2V0dGluZ3Nfc2F2ZWQnXSA9ICdMZSBpbXBvc3RhemlvbmkgZGkgVHdpbGlvIHNvbm8gc3RhdGUgc2FsdmF0ZS4nOwokbGFuZ1sndGVzdF9jb25maWd1cmF0aW9uJ10gPSAnQ29uZmlndXJhemlvbmUgZGVsIHRlc3QnOwokbGFuZ1sndGVzdF9jb25maWd1cmF0aW9uX2luZm8nXSA9ICdVc2EgVHdpbGlvIE1hZ2ljIE51bWJlcnMgcGVyIHRlc3RhcmUgY29uIGxlIGNyZWRlbnppYWxpIGRpIHRlc3QuIElsIHRlc3QgdXRpbGl6emEgbFwnQVBJIFNNUyBwcm9ncmFtbWFiaWxlIChub24gbFwnQVBJIGRpIHZlcmlmaWNhKS4nOwokbGFuZ1sndGVzdF9waG9uZV9udW1iZXInXSA9ICdOdW1lcm8gZGkgdGVsZWZvbm8gZGkgcHJvdmEnOwokbGFuZ1snbWFnaWNfbnVtYmVyX2hlbHAnXSA9ICdVc2EgKzE1MDA1NTUwMDA2IChzdWNjZXNzbykgbyArMTUwMDU1NTAwMDEgKG51bWVybyBub24gdmFsaWRvKSBwZXIgdGVzdGFyZSc7CiRsYW5nWydzZW5kX3Rlc3Rfc21zJ10gPSAnSW52aWEgU01TIGRpIHByb3ZhJzsKJGxhbmdbJ3Rlc3Rfc21zX3NlbnQnXSA9ICdTTVMgZGkgcHJvdmEgaW52aWF0byBjb24gc3VjY2Vzc28hIE5vdGE6IHF1ZXN0byB1dGlsaXp6YSBsXCdBUEkgU01TIHByb2dyYW1tYWJpbGUgcGVyIGkgdGVzdC4nOwokbGFuZ1sndGVzdF9zbXNfZmFpbGVkJ10gPSAnU01TIGRpIHByb3ZhIG5vbiByaXVzY2l0bzogJXMnOwokbGFuZ1sndHdpbGlvX25vdF9jb25maWd1cmVkJ10gPSAnQ29uZmlndXJhIHByaW1hIGlsIFNJRCBkZWxsXCdhY2NvdW50IFR3aWxpbyBlIGlsIHRva2VuIGRpIGF1dGVudGljYXppb25lLic7CiRsYW5nWydjb25maWd1cmVfdHdpbGlvJ10gPSAnQ29uZmlndXJhemlvbmUgZGVsbGUgaW1wb3N0YXppb25pIGRpIFR3aWxpbyc7CiRsYW5nWydzbXNfdXNlcl9zZXR0aW5ncyddID0gJ0xlIHR1ZSBpbXBvc3RhemlvbmkgU01TJzsKJGxhbmdbJ3Bob25lX251bWJlciddID0gJ051bWVybyBkaSB0ZWxlZm9ubyc7CiRsYW5nWydwaG9uZV9mb3JtYXRfaGVscCddID0gJ0luc2VyaXNjaSBuZWwgZm9ybWF0byBFLjE2NCAoYWQgZXMuICsxMjM0NTY3ODkwKSc7CiRsYW5nWydzbXNfc2V0dXBfaW5mbyddID0gJ0luc2VyaXNjaSBpbCB0dW8gbnVtZXJvIGRpIHRlbGVmb25vIHBlciByaWNldmVyZSBpIGNvZGljaSBkaSB2ZXJpZmljYSB2aWEgU01TLic7CiRsYW5nWyd2ZXJpZmljYXRpb25fc2VudCddID0gJ0NvZGljZSBkaSB2ZXJpZmljYSBpbnZpYXRvISBDb250cm9sbGEgaWwgdHVvIHRlbGVmb25vLic7CiRsYW5nWyd2ZXJpZmljYXRpb25fZmFpbGVkJ10gPSAnSW52aW8gZGVsbGEgdmVyaWZpY2Egbm9uIHJpdXNjaXRvOiAlcyc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZV9zZW50J10gPSAnVW4gY29kaWNlIGRpIHZlcmlmaWNhIMOoIHN0YXRvIGludmlhdG8gYSAlcyc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZSddID0gJ0NvZGljZSBkaSB2ZXJpZmljYSc7CiRsYW5nWyd2ZXJpZnlfcGhvbmUnXSA9ICdWZXJpZmljYSBpbCBudW1lcm8gZGkgdGVsZWZvbm8nOwokbGFuZ1sncmVzZW5kX2NvZGUnXSA9ICdSZWludmlhIGNvZGljZSc7CiRsYW5nWydjaGFuZ2VfcGhvbmUnXSA9ICdDYW1iaWEgbnVtZXJvIGRpIHRlbGVmb25vJzsKJGxhbmdbJ3NlbmRfdmVyaWZpY2F0aW9uX2NvZGUnXSA9ICdJbnZpYSBjb2RpY2UgZGkgdmVyaWZpY2EnOwokbGFuZ1snc21zX2VuYWJsZWQnXSA9ICdMYSB2ZXJpZmljYSB2aWEgU01TIMOoIHN0YXRhIGFiaWxpdGF0YSEnOwokbGFuZ1snc21zX2Rpc2FibGVkJ10gPSAnTGEgdmVyaWZpY2EgdmlhIFNNUyDDqCBzdGF0YSBkaXNhdHRpdmF0YS4nOwokbGFuZ1snc21zX2VuYWJsZWRfaW5mbyddID0gJ0xhIHZlcmlmaWNhIHZpYSBTTVMgw6ggYWJpbGl0YXRhIHBlcjogJXMnOwokbGFuZ1snZW5hYmxlX3NtcyddID0gJ0FiaWxpdGEgbGEgdmVyaWZpY2EgdHJhbWl0ZSBTTVMnOwokbGFuZ1snZGlzYWJsZV9zbXMnXSA9ICdEaXNhdHRpdmEgbGEgdmVyaWZpY2EgdHJhbWl0ZSBTTVMnOwokbGFuZ1snc21zX2JvZHknXSA9ICdJbCB0dW8gY29kaWNlIGRpIHZlcmlmaWNhIMOoOiAlcyc7CiRsYW5nWydzZXR1cF90b3RwJ10gPSAnQ29uZmlndXJhemlvbmUgZGVsbFwnYXBwIEF1dGhlbnRpY2F0b3IgKFRPVFApJzsKJGxhbmdbJ3NjYW5fcXInXSA9ICdTY2Fuc2lvbmEgcXVlc3RvIGNvZGljZSBRUiBjb24gbGEgdHVhIGFwcCBkaSBhdXRlbnRpY2F6aW9uZSAoR29vZ2xlIEF1dGhlbnRpY2F0b3IsIEF1dGh5LCBlY2MuKSc7CiRsYW5nWydtYW51YWxfZW50cnknXSA9ICdPcHB1cmUgaW5zZXJpc2NpIHF1ZXN0YSBjaGlhdmUgbWFudWFsbWVudGUnOwokbGFuZ1snZW50ZXJfY29kZV92ZXJpZnknXSA9ICdJbnNlcmlzY2kgaWwgY29kaWNlIGEgNiBjaWZyZSBkYWxsYSB0dWEgYXBwIHBlciB2ZXJpZmljYXJlJzsKJGxhbmdbJ3ZlcmlmeSddID0gJ1ZlcmlmaWNhJzsKJGxhbmdbJ3RvdHBfZW5hYmxlZCddID0gJ0xcJ2FwcCBBdXRoZW50aWNhdG9yIMOoIHN0YXRhIGFiaWxpdGF0YSBjb24gc3VjY2Vzc28hJzsKJGxhbmdbJ3RvdHBfY29uZmlndXJlZCddID0gJ0xcJ2FwcCBBdXRoZW50aWNhdG9yIMOoIGNvbmZpZ3VyYXRhIGUgYXR0aXZhLic7CiRsYW5nWyd0b3RwX3Jlc2V0X3dhcm5pbmcnXSA9ICdTZSBlZmZldHR1aSBpbCByaXByaXN0aW5vLCBkb3ZyYWkgc2NhbnNpb25hcmUgbnVvdmFtZW50ZSBpbCBjb2RpY2UgUVIgc3UgdHV0dGkgaSB0dW9pIGRpc3Bvc2l0aXZpLic7CiRsYW5nWydyZXNldF90b3RwJ10gPSAnUmVpbXBvc3RhIGxcJ2FwcCBBdXRoZW50aWNhdG9yJzsKJGxhbmdbJ2NvbmZpcm1fcmVzZXQnXSA9ICdTZWkgc2ljdXJvIGRpIHZvbGVyIHJlc2V0dGFyZT8gRG92cmFpIHJpY29uZmlndXJhcmUgdHV0dGkgaSBkaXNwb3NpdGl2aS4nOwokbGFuZ1sndG90cF9yZXNldCddID0gJ0xcJ2FwcCBBdXRoZW50aWNhdG9yIMOoIHN0YXRhIHJpcHJpc3RpbmF0YS4nOwokbGFuZ1snYmFjayddID0gJ0luZGlldHJvJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsbGEnOwokbGFuZ1sndHdvX2ZhY3Rvcl9yZXF1aXJlZCddID0gJ0F1dGVudGljYXppb25lIGEgZHVlIGZhdHRvcmkgcmljaGllc3RhJzsKJGxhbmdbJ2VudGVyX2NvZGVfZnJvbV9hcHAnXSA9ICdJbnNlcmlzY2kgaWwgY29kaWNlIGEgNiBjaWZyZSBkYWxsYSB0dWEgYXBwIGRpIGF1dGVudGljYXppb25lJzsKJGxhbmdbJ2F1dGhlbnRpY2F0aW9uX2NvZGUnXSA9ICdDb2RpY2UgZGkgYXV0ZW50aWNhemlvbmUnOwokbGFuZ1snaW52YWxpZF9jb2RlJ10gPSAnQ29kaWNlIG5vbiB2YWxpZG8uIFBlciBmYXZvcmUgcmlwcm92YS4nOwokbGFuZ1snY29kZV9yZXNlbnQnXSA9ICfDiCBzdGF0byBpbnZpYXRvIHVuIG51b3ZvIGNvZGljZSBkaSB2ZXJpZmljYS4nOwokbGFuZ1sndmVyaWZ5J10gPSAnVmVyaWZpY2EnOwokbGFuZ1sncHJvdmlkZXJfZW1haWwnXSA9ICdWZXJpZmljYSBlLW1haWwnOwokbGFuZ1snZW1haWxfc3ViamVjdCddID0gJ0lsIHR1byBjb2RpY2UgZGkgdmVyaWZpY2EnOwokbGFuZ1snZW1haWxfYm9keSddID0gJ0lsIHR1byBjb2RpY2UgZGkgdmVyaWZpY2Egw6g6ICVzXG5cblF1ZXN0byBjb2RpY2Ugc2NhZHLDoCB0cmEgMTAgbWludXRpLic7CiRsYW5nWydlbWFpbF9ub19hZGRyZXNzJ10gPSAnTmVzc3VuIGluZGlyaXp6byBlbWFpbCBjb25maWd1cmF0byBwZXIgaWwgdHVvIGFjY291bnQuJzsKJGxhbmdbJ2VtYWlsX3NldHVwX2luZm8nXSA9ICdJIGNvZGljaSBkaSB2ZXJpZmljYSB2ZXJyYW5ubyBpbnZpYXRpIGE6ICVzJzsKJGxhbmdbJ3NldHVwX2VtYWlsJ10gPSAnQ29uZmlndXJhemlvbmUgZGVsbGEgdmVyaWZpY2EgdmlhIGVtYWlsJzsKJGxhbmdbJ2VtYWlsX2VuYWJsZWQnXSA9ICdMYSB2ZXJpZmljYSBkZWxsXCdlbWFpbCDDqCBzdGF0YSBhYmlsaXRhdGEhJzsKJGxhbmdbJ2VtYWlsX2Rpc2FibGVkJ10gPSAnTGEgdmVyaWZpY2EgZGVsbFwnZW1haWwgw6ggc3RhdGEgZGlzYXR0aXZhdGEuJzsKJGxhbmdbJ2VtYWlsX2VuYWJsZWRfc3RhdHVzJ10gPSAnTGEgdmVyaWZpY2EgdmlhIGVtYWlsIMOoIGFiaWxpdGF0YSBlIGF0dGl2YS4nOwokbGFuZ1snZW5hYmxlX2VtYWlsJ10gPSAnQWJpbGl0YSBsYSB2ZXJpZmljYSB2aWEgZW1haWwnOwokbGFuZ1snZGlzYWJsZV9lbWFpbCddID0gJ0Rpc2F0dGl2YSBsYSB2ZXJpZmljYSB2aWEgZW1haWwnOwokbGFuZ1sncHJvdmlkZXJfYmFja3VwX2NvZGVzJ10gPSAnQ29kaWNpIGRpIGJhY2t1cCc7CiRsYW5nWydzZXR1cF9iYWNrdXBfY29kZXMnXSA9ICdDb25maWd1cmF6aW9uZSBkZWkgY29kaWNpIGRpIGJhY2t1cCc7CiRsYW5nWydiYWNrdXBfY29kZXNfd2FybmluZyddID0gJ1NhbHZhIHF1ZXN0aSBjb2RpY2kgaW4gdW4gcG9zdG8gc2ljdXJvISc7CiRsYW5nWydiYWNrdXBfY29kZXNfaW5mbyddID0gJ09nbmkgY29kaWNlIHB1w7IgZXNzZXJlIHV0aWxpenphdG8gdW5hIHNvbGEgdm9sdGEuIFVzYWxpIHNlIHBlcmRpIGxcJ2FjY2Vzc28gYWwgdHVvIG1ldG9kbyBkaSBhdXRlbnRpY2F6aW9uZSBwcmluY2lwYWxlLic7CiRsYW5nWydiYWNrdXBfY29kZXNfZW5hYmxlZF9pbmZvJ10gPSAnSSBjb2RpY2kgZGkgYmFja3VwIHNvbm8gYWJpbGl0YXRpLiBQdW9pIHV0aWxpenphcmxpIHNlIHBlcmRpIGxcJ2FjY2Vzc28gYWdsaSBhbHRyaSBtZXRvZGkgZGkgYXV0ZW50aWNhemlvbmUuJzsKJGxhbmdbJ2NvZGVzX3JlbWFpbmluZyddID0gJ0NvZGljaSByaW1hbmVudGknOwokbGFuZ1sncmVnZW5lcmF0ZV9jb2RlcyddID0gJ1JpZ2VuZXJhIGkgY29kaWNpJzsKJGxhbmdbJ2NvbmZpcm1fcmVnZW5lcmF0ZSddID0gJ0Npw7IgaW52YWxpZGVyw6AgdHV0dGkgaSBjb2RpY2kgZXNpc3RlbnRpLiBDb250aW51YXJlPyc7CiRsYW5nWydkaXNhYmxlX2JhY2t1cF9jb2RlcyddID0gJ0Rpc2F0dGl2YSBpIGNvZGljaSBkaSBiYWNrdXAnOwokbGFuZ1snY29uZmlybV9kaXNhYmxlJ10gPSAnU2VpIHNpY3VybyBkaSB2b2xlciBkaXNhdHRpdmFyZSBpIGNvZGljaSBkaSBiYWNrdXA/JzsKJGxhbmdbJ2JhY2t1cF9jb2Rlc19kaXNhYmxlZCddID0gJ0kgY29kaWNpIGRpIGJhY2t1cCBzb25vIHN0YXRpIGRpc2FiaWxpdGF0aS4nOwokbGFuZ1snYmFja3VwX2NvZGVzX3NldHVwX2luZm8nXSA9ICdHZW5lcmEgY29kaWNpIGRpIGJhY2t1cCBkYSB1dGlsaXp6YXJlIGNvbWUgbWV0b2RvIGRpIGF1dGVudGljYXppb25lIGFsdGVybmF0aXZhLic7CiRsYW5nWydnZW5lcmF0ZV9jb2RlcyddID0gJ0dlbmVyYSBjb2RpY2kgZGkgYmFja3VwJzsKJGxhbmdbJ3ByZW1pdW1fdGl0bGUnXSA9ICdUd29GYWN0b3IgUHJvJzsKJGxhbmdbJ2FjdGl2YXRlX3lvdXJfbGljZW5zZSddID0gJ0F0dGl2YSBsYSB0dWEgbGljZW56YSc7CiRsYW5nWydwcmVtaXVtX2Rlc2NyaXB0aW9uJ10gPSAnU2Jsb2NjYSBjb250cm9sbGkgZGkgc2ljdXJlenphIGF2YW56YXRpLCAyRkEgYXBwbGljYXRvIHBlciB0dXR0aSBnbGkgdXRlbnRpLCBsaW1pdGF6aW9uZSBpbnRlbGxpZ2VudGUgZGVsbGEgdmVsb2NpdMOgLCBkaXNwb3NpdGl2aSBhZmZpZGFiaWxpIGUgc3VwcG9ydG8gcHJpb3JpdGFyaW8sIG9mZnJlbmRvdGkgcHJvdGV6aW9uZSBjb21wbGV0YSBlIHN1cGVydmlzaW9uZSBhbW1pbmlzdHJhdGl2YSBwZXIgaWwgdHVvIHNpdG8gQ01TIE1hZGUgU2ltcGxlLic7CiRsYW5nWydsaWNlbnNlX2tleSddID0gJ0NoaWF2ZSBkaSBsaWNlbnphJzsKJGxhbmdbJ3ZlcmlmeV9saWNlbnNlJ10gPSAnQ29udmFsaWRhIGRlbGxhIGxpY2VuemEnOwokbGFuZ1snbGljZW5zZV9rZXlfcmVxdWlyZWQnXSA9ICdJbnNlcmlzY2kgdW5hIGNoaWF2ZSBkaSBsaWNlbnphLic7CiRsYW5nWydsaWNlbnNlX2FjdGl2YXRlZCddID0gJ0xpY2VuemEgYXR0aXZhdGEgY29uIHN1Y2Nlc3NvISBMZSBmdW56aW9uYWxpdMOgIGRpIFR3b0ZhY3RvciBQcm8gc29ubyBvcmEgYWJpbGl0YXRlLic7CiRsYW5nWydsaWNlbnNlX2ludmFsaWQnXSA9ICdDaGlhdmUgZGkgbGljZW56YSBub24gdmFsaWRhLiBDb250cm9sbGEgZSByaXByb3ZhLic7CiRsYW5nWydsaWNlbnNlX3ZlcmlmaWNhdGlvbl9mYWlsZWQnXSA9ICdJbXBvc3NpYmlsZSB2ZXJpZmljYXJlIGxhIGxpY2VuemEuIENvbnRyb2xsYSBsYSB0dWEgY29ubmVzc2lvbmUgZSByaXByb3ZhLic7CiRsYW5nWydwcm9fYWN0aXZhdGVkJ10gPSAnVHdvRmFjdG9yIFBybyBhdHRpdmF0byc7CiRsYW5nWydwcm9fZmVhdHVyZXNfdW5sb2NrZWQnXSA9ICdUdXR0ZSBsZSBmdW56aW9uYWxpdMOgIHByZW1pdW0gc29ubyBvcmEgc2Jsb2NjYXRlLic7CiRsYW5nWydwcm9fZmVhdHVyZXNfdGl0bGUnXSA9ICdGdW56aW9uYWxpdMOgIFBybyc7CiRsYW5nWydwcm9fZmVhdHVyZV9yYXRlX2xpbWl0aW5nJ10gPSAnTGltaXRhemlvbmUgZGVsbGEgdmVsb2NpdMOgIGUgcHJvdGV6aW9uZSBkYWxsYSBmb3J6YSBicnV0YSc7CiRsYW5nWydwcm9fZmVhdHVyZV9zZXNzaW9uX3JldmFsaWRhdGlvbiddID0gJ1Jpbm5vdm8gZGVsbGEgc2Vzc2lvbmUgcGVyIGxlIGltcG9zdGF6aW9uaSBkaSBzaWN1cmV6emEnOwokbGFuZ1sncHJvX2ZlYXR1cmVfdHJ1c3RlZF9kZXZpY2VzJ10gPSAnRGlzcG9zaXRpdmkgYWZmaWRhYmlsaSAoZGEgcmljb3JkYXJlIHBlciAzMCBnaW9ybmkpJzsKJGxhbmdbJ3Byb19mZWF0dXJlX3VzZXJfbWFuYWdlbWVudCddID0gJ0Rhc2hib2FyZCBkaSBnZXN0aW9uZSBkZWdsaSB1dGVudGknOwokbGFuZ1sncHJvX2ZlYXR1cmVfZW5mb3JjZV8yZmEnXSA9ICdBcHBsaWNhIGxcJ2F1dGVudGljYXppb25lIGEgZHVlIGZhdHRvcmkgcGVyIHR1dHRpIGdsaSB1dGVudGkgYW1taW5pc3RyYXRvcmknOwokbGFuZ1sncHJvX2ZlYXR1cmVfYXVkaXRfbG9ncyddID0gJ1JlZ2lzdHJpIGRpIGNvbnRyb2xsbyBhdmFuemF0aSBjb24gZXNwb3J0YXppb25lJzsKJGxhbmdbJ3Byb19mZWF0dXJlX2VtYWlsX25vdGlmaWNhdGlvbnMnXSA9ICdOb3RpZmljaGUgZS1tYWlsIHBlciBhdHRpdml0w6Agc29zcGV0dGUnOwokbGFuZ1snZ2V0X3Byb19saWNlbnNlJ10gPSAnT3R0aWVuaSBsYSBsaWNlbnphIFBybyc7CiRsYW5nWydyYXRlX2xpbWl0aW5nX2VuYWJsZWQnXSA9ICdBYmlsaXRhIGxpbWl0YXppb25lIGRlbGxhIHZlbG9jaXTDoCc7CiRsYW5nWydyYXRlX2xpbWl0aW5nX2VuYWJsZWRfaGVscCddID0gJ1Byb3RlZ2dpdGkgZGFnbGkgYXR0YWNjaGkgZGkgZm9yemEgYnJ1dGEgY29uIHVuIGJhY2tvZmYgZXNwb25lbnppYWxlJzsKJGxhbmdbJ21heF9hdHRlbXB0c19sb2Nrb3V0J10gPSAnTnVtZXJvIG1hc3NpbW8gZGkgdGVudGF0aXZpIHByaW1hIGRlbCBibG9jY28nOwokbGFuZ1snbWF4X2F0dGVtcHRzX2xvY2tvdXRfaGVscCddID0gJ051bWVybyBkaSB0ZW50YXRpdmkgZmFsbGl0aSBwcmltYSBkZWwgYmxvY2NvIHRlbXBvcmFuZW8gKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YTogNSknOwokbGFuZ1snbWF4X2F0dGVtcHRzX3Jlc2V0J10gPSAnTnVtZXJvIG1hc3NpbW8gZGkgdGVudGF0aXZpIHByaW1hIGRlbGxhIHJlaW1wb3N0YXppb25lIGRlbGxhIHBhc3N3b3JkJzsKJGxhbmdbJ21heF9hdHRlbXB0c19yZXNldF9oZWxwJ10gPSAnTnVtZXJvIGRpIHRlbnRhdGl2aSBmYWxsaXRpIHByaW1hIGRlbGxhIHJlaW1wb3N0YXppb25lIGZvcnphdGEgZGVsbGEgcGFzc3dvcmQgKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YTogMTApJzsKJGxhbmdbJ25vdGlmeV9hZG1pbiddID0gJ05vdGlmaWNhIGFsbFwnYW1taW5pc3RyYXRvcmUgZGkgYXR0aXZpdMOgIHNvc3BldHRlJzsKJGxhbmdbJ25vdGlmeV9hZG1pbl9oZWxwJ10gPSAnSW52aWEgYXZ2aXNpIHZpYSBlbWFpbCBxdWFuZG8gdmVuZ29ubyByaWxldmF0aSBwacO5IHRlbnRhdGl2aSBmYWxsaXRpJzsKJGxhbmdbJ3NldHRpbmdzX3NhdmVkJ10gPSAnSW1wb3N0YXppb25pIHNhbHZhdGUgY29uIHN1Y2Nlc3NvLic7CiRsYW5nWydwcm9fcmVxdWlyZWRfc2V0dGluZ3MnXSA9ICfDiCBuZWNlc3NhcmlhIHVuYSBsaWNlbnphIFBybyBwZXIgY29uZmlndXJhcmUgcXVlc3RlIGltcG9zdGF6aW9uaS4nOwokbGFuZ1snYWNjb3VudF9sb2NrZWQnXSA9ICdUcm9wcGkgdGVudGF0aXZpIGZhbGxpdGkuIFJpcHJvdmEgdHJhICVkIG1pbnV0aS4nOwokbGFuZ1snaXBfYmxhY2tsaXN0J10gPSAnTGlzdGEgbmVyYSBJUCc7CiRsYW5nWydpcF9ibGFja2xpc3RfaGVscCddID0gJ0VsZW5jbyBzZXBhcmF0byBkYSB2aXJnb2xlIGRpIGluZGlyaXp6aSBJUCBkYSBibG9jY2FyZSBwZXJtYW5lbnRlbWVudGUgKGFkIGVzZW1waW8sIDE5Mi4xNjguMS4xLCAxMC4wLjAuNSknOwokbGFuZ1snZW1haWxfdGVtcGxhdGVzJ10gPSAnTW9kZWxsaSBkaSBlbWFpbCc7CiRsYW5nWydyZXNldF9lbWFpbF9zdWJqZWN0J10gPSAnT2dnZXR0byBkZWxsXCdlbWFpbCBkaSByZWltcG9zdGF6aW9uZSBkZWxsYSBwYXNzd29yZCc7CiRsYW5nWydyZXNldF9lbWFpbF9ib2R5J10gPSAnQ29ycG8gZGVsbFwnZW1haWwgZGkgcmVpbXBvc3RhemlvbmUgZGVsbGEgcGFzc3dvcmQnOwokbGFuZ1sncmVzZXRfZW1haWxfcGxhY2Vob2xkZXJzJ10gPSAnU2VnbmFwb3N0byBkaXNwb25pYmlsaToge3VzZXJuYW1lfSwge3Jlc2V0X3VybH0nOwokbGFuZ1snYWxlcnRfZW1haWxfc3ViamVjdCddID0gJ09nZ2V0dG8gZGVsbFwnZW1haWwgZGVsbFwnYXZ2aXNvIGRlbGxcJ2FtbWluaXN0cmF0b3JlJzsKJGxhbmdbJ2FsZXJ0X2VtYWlsX2JvZHknXSA9ICdDb3JwbyBkZWxsXCdlbWFpbCBkaSBhdnZpc28gZGVsbFwnYW1taW5pc3RyYXRvcmUnOwokbGFuZ1snYWxlcnRfZW1haWxfcGxhY2Vob2xkZXJzJ10gPSAnU2VnbmFwb3N0aSBkaXNwb25pYmlsaToge3VzZXJuYW1lfSwge2lwX2FkZHJlc3N9LCB7YXR0ZW1wdHN9LCB7dGltZX0nOwokbGFuZ1sncmF0ZV9saW1pdGluZ19zZXR0aW5ncyddID0gJ0xpbWl0YXppb25lIGRlbGxhIHZlbG9jaXTDoCBlIHByb3RlemlvbmUgZGFsbGEgZm9yemEgYnJ1dGEnOwokbGFuZ1sndGFiX3RlbXBsYXRlcyddID0gJ01vZGVsbGknOwokbGFuZ1sndGFiX3Byb19zZXR0aW5ncyddID0gJ0ltcG9zdGF6aW9uaSc7CiRsYW5nWyd0YWJfc21zJ10gPSAnSW1wb3N0YXppb25pIFNNUyc7CiRsYW5nWyd0YWJfdmVyaWZ5X2xvZ3MnXSA9ICdSZWdpc3RyaSBkaSB2ZXJpZmljYSc7CiRsYW5nWyd0YWJfbGljZW5zZSddID0gJ0xpY2VuemEgUHJvJzsKJGxhbmdbJ3RhYl91cGdyYWRlJ10gPSAnQWdnaW9ybmEgYSBQcm8nOwokbGFuZ1sndGFiX2RlYnVnJ10gPSAnRGVidWcnOwokbGFuZ1sncHJvX2FjdGl2ZV9iZXRhJ10gPSAnVHdvRmFjdG9yIFBybyBBdHRpdm8nOwokbGFuZ1sncHJvX2ZlYXR1cmVzX2VuYWJsZWQnXSA9ICdGdW56aW9uYWxpdMOgIHByZW1pdW0gYWJpbGl0YXRlLic7CiRsYW5nWydwYXNzd29yZF9yZXNldF9lbWFpbCddID0gJ0VtYWlsIGRpIHJlaW1wb3N0YXppb25lIGRlbGxhIHBhc3N3b3JkJzsKJGxhbmdbJ2FkbWluX2FsZXJ0X2VtYWlsJ10gPSAnRW1haWwgZGkgYXZ2aXNvIHBlciBsXCdhbW1pbmlzdHJhdG9yZSc7CiRsYW5nWyd0YWJfdXNlcl9tYW5hZ2VtZW50J10gPSAnR2VzdGlvbmUgZGVnbGkgdXRlbnRpJzsKJGxhbmdbJ3VzZXJfbWFuYWdlbWVudCddID0gJ0Rhc2hib2FyZCBkaSBnZXN0aW9uZSBkZWdsaSB1dGVudGknOwokbGFuZ1sndXNlcl9tYW5hZ2VtZW50X2hlbHAnXSA9ICdWaXN1YWxpenphIGUgZ2VzdGlzY2kgbGUgaW1wb3N0YXppb25pIDJGQSBwZXIgdHV0dGkgZ2xpIHV0ZW50aS4gUHVvaSBkaXNhdHRpdmFyZSBsYSAyRkEgcGVyIGdsaSB1dGVudGkgYmxvY2NhdGkuJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTm9tZSB1dGVudGUnOwokbGFuZ1snZW1haWwnXSA9ICdFLW1haWwnOwokbGFuZ1snMmZhX3N0YXR1cyddID0gJ1N0YXRvIDJGQSc7CiRsYW5nWydlbmFibGVkX21ldGhvZHMnXSA9ICdNZXRvZGkgYWJpbGl0YXRpJzsKJGxhbmdbJ2ZhaWxlZF9hdHRlbXB0cyddID0gJ1RlbnRhdGl2aSBmYWxsaXRpJzsKJGxhbmdbJ2Rpc2FibGVfMmZhJ10gPSAnRGlzYXR0aXZhIDJGQSc7CiRsYW5nWydjb25maXJtX2Rpc2FibGVfdXNlcl8yZmEnXSA9ICdTZWkgc2ljdXJvIGRpIHZvbGVyIGRpc2F0dGl2YXJlIGxcJ2F1dGVudGljYXppb25lIGEgZHVlIGZhdHRvcmkgcGVyIGxcJ3V0ZW50ZSDCqyVzwrs/IENpw7IgcmltdW92ZXLDoCB0dXR0ZSBsZSBsb3JvIGltcG9zdGF6aW9uaSAyRkEgZSBpIGRpc3Bvc2l0aXZpIGFmZmlkYWJpbGkgZSByaXByaXN0aW5lcsOgIGkgdGVudGF0aXZpIGZhbGxpdGkuJzsKJGxhbmdbJ3VzZXJfMmZhX2Rpc2FibGVkJ10gPSAnTGEgMkZBIMOoIHN0YXRhIGRpc2F0dGl2YXRhIHBlciBsXCd1dGVudGU6ICVzJzsKJGxhbmdbJ2xlZ2VuZCddID0gJ0xlZ2dlbmRhJzsKJGxhbmdbJ2xlZ2VuZF9sb2NrZWQnXSA9ICdTZm9uZG8gcm9zc28gPSBMXCd1dGVudGUgw6ggYXR0dWFsbWVudGUgYmxvY2NhdG8nOwokbGFuZ1snbGVnZW5kX2ZhaWxlZF9hdHRlbXB0cyddID0gJ1RlbnRhdGl2aSBmYWxsaXRpOiByb3NzbyAoNSspLCBhcmFuY2lvbmUgKDMtNCksIG5lcm8gKDAtMiknOwokbGFuZ1snbGVnZW5kX2Rpc2FibGUnXSA9ICdVc2EgwqtEaXNhYmlsaXRhIDJGQcK7IHBlciBzYmxvY2NhcmUgZ2xpIHV0ZW50aSBvIHJpbXVvdmVyZSBsZSBsb3JvIGltcG9zdGF6aW9uaSAyRkEnOwokbGFuZ1snZGV2aWNlX25vdF9mb3VuZCddID0gJ0lsIGRpc3Bvc2l0aXZvIG5vbiDDqCBzdGF0byB0cm92YXRvIG8gbm9uIHRpIGFwcGFydGllbmUuJzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdJbXBvc3RhemlvbmkgZ2VuZXJhbGknOwokbGFuZ1snZW5mb3JjZV8yZmFfYWxsJ10gPSAnQXBwbGljYSBsXCdhdXRlbnRpY2F6aW9uZSBhIGR1ZSBmYXR0b3JpIHBlciB0dXR0aSBnbGkgdXRlbnRpIGFtbWluaXN0cmF0b3JpJzsKJGxhbmdbJ2VuZm9yY2VfMmZhX2FsbF9oZWxwJ10gPSAnU2UgYWJpbGl0YXRvLCBhIHR1dHRpIGdsaSB1dGVudGkgYW1taW5pc3RyYXRvcmkgdmVycsOgIHJpY2hpZXN0byBkaSBhYmlsaXRhcmUgbGEgMkZBIHByaW1hIGRpIHBvdGVyIGFjY2VkZXJlIGFsIHBhbm5lbGxvIGRpIGFtbWluaXN0cmF6aW9uZSc7CiRsYW5nWycyZmFfcmVxdWlyZWQnXSA9ICcyRkEgcmljaGllc3RvJzsKJGxhbmdbJzJmYV9yZXF1aXJlZF9tZXNzYWdlJ10gPSAnTFwnYW1taW5pc3RyYXRvcmUgaGEgYWJpbGl0YXRvIGxcJ2F1dGVudGljYXppb25lIGEgZHVlIGZhdHRvcmkgb2JibGlnYXRvcmlhLiBEZXZpIGFiaWxpdGFyZSBhbG1lbm8gdW4gbWV0b2RvIDJGQSBxdWkgc290dG8gcGVyIGNvbnRpbnVhcmUgYSB1dGlsaXp6YXJlIGlsIHBhbm5lbGxvIGRpIGFtbWluaXN0cmF6aW9uZS4nOwokbGFuZ1sncGVybWlzc2lvbl9kZW5pZWQnXSA9ICdBdXRvcml6emF6aW9uZSBuZWdhdGEuIE5vbiBoYWkgYWNjZXNzbyBhIHF1ZXN0YSBmdW56aW9uYWxpdMOgLic7CiRsYW5nWydzbXNfc2V0dGluZ3MnXSA9ICdJbXBvc3RhemlvbmkgU01TJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX29wdGlvbiddID0gJ09wemlvbmUgMTogY3JlZGl0aSBTTVMgZGEgUGl4ZWwgU29sdXRpb25zJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX2Rlc2NyaXB0aW9uJ10gPSAnQWNxdWlzdGEgY3JlZGl0aSBTTVMgZGFsIG5vc3RybyBuZWdvemlvIGUgdXNhbGkgc3UgdHV0dGkgaSB0dW9pIHNpdGkuIFNlbXBsaWNlLCBub24gw6ggbmVjZXNzYXJpYSBhbGN1bmEgY29uZmlndXJhemlvbmUgQVBJLic7CiRsYW5nWydwcm9kdWN0X2tleSddID0gJ0NoaWF2ZSBkZWwgcHJvZG90dG8nOwokbGFuZ1sncHJvZHVjdF9rZXlfaGVscCddID0gJ0luc2VyaXNjaSBpbCBjb2RpY2UgcHJvZG90dG8gY2hlIGhhaSByaWNldnV0byBkb3BvIGF2ZXIgYWNxdWlzdGF0byBpIGNyZWRpdGkgU01TJzsKJGxhbmdbJ3NhdmVfcHJvZHVjdF9rZXknXSA9ICdTYWx2YSBjb2RpY2UgcHJvZG90dG8nOwokbGFuZ1sncHVyY2hhc2VfY3JlZGl0cyddID0gJ0FjcXVpc3RhIGNyZWRpdGkgU01TJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3NhdmVkJ10gPSAnQ29kaWNlIHByb2RvdHRvIFNNUyBjcmVkaXRzIHNhbHZhdG8gY29uIHN1Y2Nlc3NvLic7CiRsYW5nWyd0d2lsaW9fYXBpX29wdGlvbiddID0gJ09wemlvbmUgMjogdXNhIGlsIHR1byBhY2NvdW50IFR3aWxpbyc7CiRsYW5nWyd0d2lsaW9fYXBpX2Rlc2NyaXB0aW9uJ10gPSAnQ29uZmlndXJhIGxlIHR1ZSBjcmVkZW56aWFsaSBBUEkgVHdpbGlvIHBlciBpbnZpYXJlIG1lc3NhZ2dpIFNNUyBkaXJldHRhbWVudGUgZGFsIHR1byBhY2NvdW50Lic7CiRsYW5nWydzbXNfc3RhdHVzX2F2YWlsYWJsZSddID0gJ1ZlcmlmaWNhIHZpYSBTTVMgZGlzcG9uaWJpbGUnOwokbGFuZ1snc21zX3N0YXR1c191bmF2YWlsYWJsZSddID0gJ1ZlcmlmaWNhIFNNUyBub24gZGlzcG9uaWJpbGUnOwokbGFuZ1snc21zX2NvbmZpZ3VyZV9tZXRob2QnXSA9ICdDb25maWd1cmEgU01TIENyZWRpdHMgbyBUd2lsaW8gQVBJIHBlciBhYmlsaXRhcmUgbGEgdmVyaWZpY2EgU01TJzsKJGxhbmdbJ3Ntc19ib3RoX21ldGhvZHNfYWN0aXZlJ10gPSAnU2lhIFNNUyBDcmVkaXRzIGNoZSBUd2lsaW8gQVBJIHNvbm8gY29uZmlndXJhdGknOwokbGFuZ1snc21zX2NyZWRpdHNfbWV0aG9kX2FjdGl2ZSddID0gJ1V0aWxpenpvIGRlaSBjcmVkaXRpIFNNUyc7CiRsYW5nWydzbXNfdHdpbGlvX21ldGhvZF9hY3RpdmUnXSA9ICdVdGlsaXp6byBkZWxsXCdBUEkgVHdpbGlvJzsKJGxhbmdbJ3Ntc19jcmVkaXRzX3ByaW9yaXR5J10gPSAnSSBjcmVkaXRpIFNNUyB2ZXJyYW5ubyB1dGlsaXp6YXRpIHBlciBwcmltaSc7CiRsYW5nWydhY3RpdmUnXSA9ICdBdHRpdm8nOwokbGFuZ1sncmVtb3ZlX3R3aWxpbyddID0gJ0Rpc2F0dGl2YSBsXCdBUEkgVHdpbGlvJzsKJGxhbmdbJ2NvbmZpcm1fcmVtb3ZlX3R3aWxpbyddID0gJ1NlaSBzaWN1cm8gZGkgdm9sZXIgcmltdW92ZXJlIGxlIGNyZWRlbnppYWxpIEFQSSBkaSBUd2lsaW8/JzsKJGxhbmdbJ3R3aWxpb19yZW1vdmVkJ10gPSAnTGUgY3JlZGVuemlhbGkgQVBJIFR3aWxpbyBzb25vIHN0YXRlIHJpbW9zc2UgY29uIHN1Y2Nlc3NvLic7CiRsYW5nWydlcnJvcl9zdWJzY3JpcHRpb25fa2V5X25vdF9zdXBwb3J0ZWQnXSA9ICdTaSB0cmF0dGEgZGkgdW5hIGNoaWF2ZSBkaSBhYmJvbmFtZW50by4gUGVyIGkgY3JlZGl0aSBTTVMgc29ubyBzdXBwb3J0YXRlIHNvbG8gbGUgbGljZW56ZSBiYXNhdGUgc3VsIGNyZWRpdG8uJzsKJGxhbmdbJ3RydXN0ZWRfZGV2aWNlcyddID0gJ0Rpc3Bvc2l0aXZpIGFmZmlkYWJpbGknOwokbGFuZ1sndGFiX21ldGhvZHMnXSA9ICdNZXRvZGknOwokbGFuZ1sndGFiX3RydXN0ZWRfZGV2aWNlcyddID0gJ0Rpc3Bvc2l0aXZpIGFmZmlkYWJpbGknOwokbGFuZ1snYWN0aW9ucyddID0gJ0F6aW9uaSc7CiRsYW5nWydlbWFpbF92ZXJpZmljYXRpb25fdGl0bGUnXSA9ICdWZXJpZmljYSBlLW1haWwnOwokbGFuZ1snZW1haWxfdmVyaWZpY2F0aW9uX3NlbnQnXSA9ICdVbiBjb2RpY2UgZGkgdmVyaWZpY2Egw6ggc3RhdG8gaW52aWF0byBhbCB0dW8gaW5kaXJpenpvIGVtYWlsLic7CiRsYW5nWydyZW1lbWJlcl9kZXZpY2UnXSA9ICdSaWNvcmRhIHF1ZXN0byBkaXNwb3NpdGl2byBwZXIgMzAgZ2lvcm5pJzsKJGxhbmdbJ2FjY291bnRfbG9ja2VkX3NlY29uZHMnXSA9ICdUcm9wcGkgdGVudGF0aXZpIGZhbGxpdGkuIFJpcHJvdmEgdHJhICVkIHNlY29uZG8lcy4nOwokbGFuZ1snYWNjb3VudF9sb2NrZWRfbWludXRlcyddID0gJ1Ryb3BwaSB0ZW50YXRpdmkgZmFsbGl0aS4gUmlwcm92YSB0cmEgJWQgbWludXRvJXMuJzsKJGxhbmdbJ3Jlc2VuZF92ZXJpZmljYXRpb25fY29kZSddID0gJ1JlaW52aWEgaWwgY29kaWNlIGRpIHZlcmlmaWNhJzsKJGxhbmdbJ3VzZV9iYWNrdXBfY29kZSddID0gJ1VzYSB1biBjb2RpY2UgZGkgYmFja3VwJzsKJGxhbmdbJ3RvdHBfdmVyaWZpY2F0aW9uX3RpdGxlJ10gPSAnQXV0ZW50aWNhemlvbmUgYSBkdWUgZmF0dG9yaSc7CiRsYW5nWyd2ZXJpZmljYXRpb25fY29kZV9sYWJlbCddID0gJ0NvZGljZSBkaSB2ZXJpZmljYSc7CiRsYW5nWydzbXNfdmVyaWZpY2F0aW9uX3RpdGxlJ10gPSAnVmVyaWZpY2EgdHJhbWl0ZSBTTVMnOwokbGFuZ1snc21zX3ZlcmlmaWNhdGlvbl9zZW50J10gPSAnVW4gY29kaWNlIGRpIHZlcmlmaWNhIMOoIHN0YXRvIGludmlhdG8gYWwgdHVvIHRlbGVmb25vLic7Cg==]]></data>
	</file>
	<file>
		<filename>/lib</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/lib/WebAuthn</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/lib/WebAuthn/CborDecoder.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKLyoqCiAqIE1pbmltYWwgQ0JPUiBkZWNvZGVyIGZvciBXZWJBdXRobiBhdHRlc3RhdGlvbi9DT1NFIGtleSBwYXJzaW5nLgogKiBTdXBwb3J0cyB0aGUgc3Vic2V0IG9mIENCT1IgbmVlZGVkIGZvciBGSURPMi4KICogCiAqIEBsaWNlbnNlIE1JVAogKi8KCm5hbWVzcGFjZSBUd29GYWN0b3JcV2ViQXV0aG47CgpjbGFzcyBDYm9yRGVjb2Rlcgp7CiAgICAvKioKICAgICAqIERlY29kZSBhIENCT1IgYmluYXJ5IHN0cmluZy4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGRhdGEKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWNvZGUoJGRhdGEpCiAgICB7CiAgICAgICAgJG9mZnNldCA9IDA7CiAgICAgICAgcmV0dXJuIHNlbGY6OnBhcnNlSXRlbSgkZGF0YSwgJG9mZnNldCk7CiAgICB9CgogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gcGFyc2VJdGVtKCRkYXRhLCAmJG9mZnNldCkKICAgIHsKICAgICAgICBpZiAoJG9mZnNldCA+PSBzdHJsZW4oJGRhdGEpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uKCdDQk9SOiB1bmV4cGVjdGVkIGVuZCBvZiBkYXRhJyk7CiAgICAgICAgfQoKICAgICAgICAkaW5pdGlhbCA9IG9yZCgkZGF0YVskb2Zmc2V0XSk7CiAgICAgICAgJG1ham9yVHlwZSA9ICRpbml0aWFsID4+IDU7CiAgICAgICAgJGFkZGl0aW9uYWxJbmZvID0gJGluaXRpYWwgJiAweDFGOwogICAgICAgICRvZmZzZXQrKzsKCiAgICAgICAgJHZhbHVlID0gc2VsZjo6cGFyc2VBZGRpdGlvbmFsSW5mbygkZGF0YSwgJG9mZnNldCwgJGFkZGl0aW9uYWxJbmZvKTsKCiAgICAgICAgc3dpdGNoICgkbWFqb3JUeXBlKSB7CiAgICAgICAgICAgIGNhc2UgMDogLy8gdW5zaWduZWQgaW50ZWdlcgogICAgICAgICAgICAgICAgcmV0dXJuICR2YWx1ZTsKCiAgICAgICAgICAgIGNhc2UgMTogLy8gbmVnYXRpdmUgaW50ZWdlcgogICAgICAgICAgICAgICAgcmV0dXJuIC0xIC0gJHZhbHVlOwoKICAgICAgICAgICAgY2FzZSAyOiAvLyBieXRlIHN0cmluZwogICAgICAgICAgICAgICAgJGJ5dGVzID0gc3Vic3RyKCRkYXRhLCAkb2Zmc2V0LCAkdmFsdWUpOwogICAgICAgICAgICAgICAgJG9mZnNldCArPSAkdmFsdWU7CiAgICAgICAgICAgICAgICByZXR1cm4gJGJ5dGVzOwoKICAgICAgICAgICAgY2FzZSAzOiAvLyB0ZXh0IHN0cmluZwogICAgICAgICAgICAgICAgJHRleHQgPSBzdWJzdHIoJGRhdGEsICRvZmZzZXQsICR2YWx1ZSk7CiAgICAgICAgICAgICAgICAkb2Zmc2V0ICs9ICR2YWx1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAkdGV4dDsKCiAgICAgICAgICAgIGNhc2UgNDogLy8gYXJyYXkKICAgICAgICAgICAgICAgICRhcnIgPSBbXTsKICAgICAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8ICR2YWx1ZTsgJGkrKykgewogICAgICAgICAgICAgICAgICAgICRhcnJbXSA9IHNlbGY6OnBhcnNlSXRlbSgkZGF0YSwgJG9mZnNldCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gJGFycjsKCiAgICAgICAgICAgIGNhc2UgNTogLy8gbWFwCiAgICAgICAgICAgICAgICAkbWFwID0gW107CiAgICAgICAgICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAkdmFsdWU7ICRpKyspIHsKICAgICAgICAgICAgICAgICAgICAka2V5ID0gc2VsZjo6cGFyc2VJdGVtKCRkYXRhLCAkb2Zmc2V0KTsKICAgICAgICAgICAgICAgICAgICAkdmFsID0gc2VsZjo6cGFyc2VJdGVtKCRkYXRhLCAkb2Zmc2V0KTsKICAgICAgICAgICAgICAgICAgICAkbWFwWyRrZXldID0gJHZhbDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiAkbWFwOwoKICAgICAgICAgICAgY2FzZSA2OiAvLyB0YWdnZWQgdmFsdWUgKGlnbm9yZSB0YWcsIHJldHVybiB2YWx1ZSkKICAgICAgICAgICAgICAgIHJldHVybiBzZWxmOjpwYXJzZUl0ZW0oJGRhdGEsICRvZmZzZXQpOwoKICAgICAgICAgICAgY2FzZSA3OiAvLyBzaW1wbGUvZmxvYXQKICAgICAgICAgICAgICAgIGlmICgkYWRkaXRpb25hbEluZm8gPT09IDIwKSByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICBpZiAoJGFkZGl0aW9uYWxJbmZvID09PSAyMSkgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICBpZiAoJGFkZGl0aW9uYWxJbmZvID09PSAyMikgcmV0dXJuIG51bGw7CiAgICAgICAgICAgICAgICByZXR1cm4gJHZhbHVlOwoKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uKCdDQk9SOiB1bnN1cHBvcnRlZCBtYWpvciB0eXBlICcgLiAkbWFqb3JUeXBlKTsKICAgICAgICB9CiAgICB9CgogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gcGFyc2VBZGRpdGlvbmFsSW5mbygkZGF0YSwgJiRvZmZzZXQsICRpbmZvKQogICAgewogICAgICAgIGlmICgkaW5mbyA8IDI0KSByZXR1cm4gJGluZm87CiAgICAgICAgaWYgKCRpbmZvID09PSAyNCkgewogICAgICAgICAgICAkdmFsID0gb3JkKCRkYXRhWyRvZmZzZXRdKTsKICAgICAgICAgICAgJG9mZnNldCsrOwogICAgICAgICAgICByZXR1cm4gJHZhbDsKICAgICAgICB9CiAgICAgICAgaWYgKCRpbmZvID09PSAyNSkgewogICAgICAgICAgICAkdmFsID0gdW5wYWNrKCduJywgc3Vic3RyKCRkYXRhLCAkb2Zmc2V0LCAyKSlbMV07CiAgICAgICAgICAgICRvZmZzZXQgKz0gMjsKICAgICAgICAgICAgcmV0dXJuICR2YWw7CiAgICAgICAgfQogICAgICAgIGlmICgkaW5mbyA9PT0gMjYpIHsKICAgICAgICAgICAgJHZhbCA9IHVucGFjaygnTicsIHN1YnN0cigkZGF0YSwgJG9mZnNldCwgNCkpWzFdOwogICAgICAgICAgICAkb2Zmc2V0ICs9IDQ7CiAgICAgICAgICAgIHJldHVybiAkdmFsOwogICAgICAgIH0KICAgICAgICBpZiAoJGluZm8gPT09IDI3KSB7CiAgICAgICAgICAgICRoaWdoID0gdW5wYWNrKCdOJywgc3Vic3RyKCRkYXRhLCAkb2Zmc2V0LCA0KSlbMV07CiAgICAgICAgICAgICRsb3cgPSB1bnBhY2soJ04nLCBzdWJzdHIoJGRhdGEsICRvZmZzZXQgKyA0LCA0KSlbMV07CiAgICAgICAgICAgICRvZmZzZXQgKz0gODsKICAgICAgICAgICAgcmV0dXJuICgkaGlnaCA8PCAzMikgfCAkbG93OwogICAgICAgIH0KICAgICAgICByZXR1cm4gMDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/lib/WebAuthn/WebAuthn.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKLyoqCiAqIFdlYkF1dGhuIFNlcnZlciBMaWJyYXJ5CiAqIE1pbmltYWwgaW1wbGVtZW50YXRpb24gZm9yIEZJRE8yL1dlYkF1dGhuIHBhc3NrZXkgYW5kIHNlY3VyaXR5IGtleSBzdXBwb3J0LgogKiBCYXNlZCBvbiBXM0MgV2ViIEF1dGhlbnRpY2F0aW9uIHNwZWNpZmljYXRpb24uCiAqIAogKiBAbGljZW5zZSBNSVQKICovCgpuYW1lc3BhY2UgVHdvRmFjdG9yXFdlYkF1dGhuOwoKY2xhc3MgV2ViQXV0aG4KewogICAgcHJpdmF0ZSAkcnBOYW1lOwogICAgcHJpdmF0ZSAkcnBJZDsKICAgIHByaXZhdGUgJHJwSWRIYXNoOwoKICAgIC8qKgogICAgICogQHBhcmFtIHN0cmluZyAkcnBOYW1lIFJlbHlpbmcgUGFydHkgZGlzcGxheSBuYW1lCiAgICAgKiBAcGFyYW0gc3RyaW5nICRycElkICAgUmVseWluZyBQYXJ0eSBJRCAoZG9tYWluLCBlLmcuICJleGFtcGxlLmNvbSIpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcnBOYW1lLCAkcnBJZCkKICAgIHsKICAgICAgICAkdGhpcy0+cnBOYW1lID0gJHJwTmFtZTsKICAgICAgICAkdGhpcy0+cnBJZCA9ICRycElkOwogICAgICAgICR0aGlzLT5ycElkSGFzaCA9IGhhc2goJ3NoYTI1NicsICRycElkLCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdlbmVyYXRlIGEgcmFuZG9tIGNoYWxsZW5nZSBmb3IgcmVnaXN0cmF0aW9uIG9yIGF1dGhlbnRpY2F0aW9uLgogICAgICogQHBhcmFtIGludCAkbGVuZ3RoCiAgICAgKiBAcmV0dXJuIHN0cmluZyBCYXNlNjR1cmwtZW5jb2RlZCBjaGFsbGVuZ2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJwSWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cnBJZDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JlYXRlQ2hhbGxlbmdlKCRsZW5ndGggPSAzMikKICAgIHsKICAgICAgICAkY2hhbGxlbmdlID0gcmFuZG9tX2J5dGVzKCRsZW5ndGgpOwogICAgICAgIHJldHVybiBzZWxmOjpiYXNlNjRVcmxFbmNvZGUoJGNoYWxsZW5nZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBCdWlsZCB0aGUgb3B0aW9ucyBvYmplY3QgZm9yIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVzZXJJZCAgICAgICAgVW5pcXVlIHVzZXIgaWRlbnRpZmllcgogICAgICogQHBhcmFtIHN0cmluZyAkdXNlck5hbWUgICAgICBVc2VybmFtZSAvIGRpc3BsYXkgbmFtZQogICAgICogQHBhcmFtIHN0cmluZyAkY2hhbGxlbmdlICAgICBCYXNlNjR1cmwgY2hhbGxlbmdlIGZyb20gY3JlYXRlQ2hhbGxlbmdlKCkKICAgICAqIEBwYXJhbSBhcnJheSAgJGV4Y2x1ZGVDcmVkZW50aWFsSWRzICBBcnJheSBvZiBiYXNlNjR1cmwgY3JlZGVudGlhbCBJRHMgdG8gZXhjbHVkZQogICAgICogQHBhcmFtIHN0cmluZyAkYXV0aGVudGljYXRvckF0dGFjaG1lbnQgJ3BsYXRmb3JtJ3wnY3Jvc3MtcGxhdGZvcm0nfG51bGwKICAgICAqIEBwYXJhbSBzdHJpbmcgJHJlc2lkZW50S2V5ICAgJ3JlcXVpcmVkJ3wncHJlZmVycmVkJ3wnZGlzY291cmFnZWQnCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VyVmVyaWZpY2F0aW9uICdyZXF1aXJlZCd8J3ByZWZlcnJlZCd8J2Rpc2NvdXJhZ2VkJwogICAgICogQHJldHVybiBhcnJheSBPcHRpb25zIGFycmF5IChKU09OLWVuY29kZSBmb3IgSlMpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDcmVhdGVBcmdzKCR1c2VySWQsICR1c2VyTmFtZSwgJGNoYWxsZW5nZSwgJGV4Y2x1ZGVDcmVkZW50aWFsSWRzID0gW10sICRhdXRoZW50aWNhdG9yQXR0YWNobWVudCA9IG51bGwsICRyZXNpZGVudEtleSA9ICdwcmVmZXJyZWQnLCAkdXNlclZlcmlmaWNhdGlvbiA9ICdwcmVmZXJyZWQnKQogICAgewogICAgICAgICRhcmdzID0gWwogICAgICAgICAgICAncnAnID0+IFsKICAgICAgICAgICAgICAgICduYW1lJyA9PiAkdGhpcy0+cnBOYW1lLAogICAgICAgICAgICAgICAgJ2lkJyAgID0+ICR0aGlzLT5ycElkLAogICAgICAgICAgICBdLAogICAgICAgICAgICAndXNlcicgPT4gWwogICAgICAgICAgICAgICAgJ2lkJyAgICAgICAgICA9PiBzZWxmOjpiYXNlNjRVcmxFbmNvZGUoJHVzZXJJZCksCiAgICAgICAgICAgICAgICAnbmFtZScgICAgICAgID0+ICR1c2VyTmFtZSwKICAgICAgICAgICAgICAgICdkaXNwbGF5TmFtZScgPT4gJHVzZXJOYW1lLAogICAgICAgICAgICBdLAogICAgICAgICAgICAnY2hhbGxlbmdlJyA9PiAkY2hhbGxlbmdlLAogICAgICAgICAgICAncHViS2V5Q3JlZFBhcmFtcycgPT4gWwogICAgICAgICAgICAgICAgWyd0eXBlJyA9PiAncHVibGljLWtleScsICdhbGcnID0+IC03XSwgICAvLyBFUzI1NgogICAgICAgICAgICAgICAgWyd0eXBlJyA9PiAncHVibGljLWtleScsICdhbGcnID0+IC0yNTddLCAgLy8gUlMyNTYKICAgICAgICAgICAgXSwKICAgICAgICAgICAgJ3RpbWVvdXQnID0+IDYwMDAwLAogICAgICAgICAgICAnYXR0ZXN0YXRpb24nID0+ICdkaXJlY3QnLAogICAgICAgICAgICAnYXV0aGVudGljYXRvclNlbGVjdGlvbicgPT4gWwogICAgICAgICAgICAgICAgJ3Jlc2lkZW50S2V5JyAgICAgID0+ICRyZXNpZGVudEtleSwKICAgICAgICAgICAgICAgICd1c2VyVmVyaWZpY2F0aW9uJyA9PiAkdXNlclZlcmlmaWNhdGlvbiwKICAgICAgICAgICAgXSwKICAgICAgICBdOwoKICAgICAgICBpZiAoJGF1dGhlbnRpY2F0b3JBdHRhY2htZW50KSB7CiAgICAgICAgICAgICRhcmdzWydhdXRoZW50aWNhdG9yU2VsZWN0aW9uJ11bJ2F1dGhlbnRpY2F0b3JBdHRhY2htZW50J10gPSAkYXV0aGVudGljYXRvckF0dGFjaG1lbnQ7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWVtcHR5KCRleGNsdWRlQ3JlZGVudGlhbElkcykpIHsKICAgICAgICAgICAgJGFyZ3NbJ2V4Y2x1ZGVDcmVkZW50aWFscyddID0gW107CiAgICAgICAgICAgIGZvcmVhY2ggKCRleGNsdWRlQ3JlZGVudGlhbElkcyBhcyAkY3JlZElkKSB7CiAgICAgICAgICAgICAgICAkYXJnc1snZXhjbHVkZUNyZWRlbnRpYWxzJ11bXSA9IFsKICAgICAgICAgICAgICAgICAgICAndHlwZScgPT4gJ3B1YmxpYy1rZXknLAogICAgICAgICAgICAgICAgICAgICdpZCcgICA9PiAkY3JlZElkLAogICAgICAgICAgICAgICAgXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRhcmdzOwogICAgfQoKICAgIC8qKgogICAgICogQnVpbGQgdGhlIG9wdGlvbnMgb2JqZWN0IGZvciBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KCkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjaGFsbGVuZ2UgICAgICAgICAgIEJhc2U2NHVybCBjaGFsbGVuZ2UKICAgICAqIEBwYXJhbSBhcnJheSAgJGFsbG93Q3JlZGVudGlhbElkcyAgQXJyYXkgb2YgYmFzZTY0dXJsIGNyZWRlbnRpYWwgSURzCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VyVmVyaWZpY2F0aW9uICAgICdyZXF1aXJlZCd8J3ByZWZlcnJlZCd8J2Rpc2NvdXJhZ2VkJwogICAgICogQHJldHVybiBhcnJheSBPcHRpb25zIGFycmF5IChKU09OLWVuY29kZSBmb3IgSlMpCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRHZXRBcmdzKCRjaGFsbGVuZ2UsICRhbGxvd0NyZWRlbnRpYWxJZHMgPSBbXSwgJHVzZXJWZXJpZmljYXRpb24gPSAncHJlZmVycmVkJykKICAgIHsKICAgICAgICAkYXJncyA9IFsKICAgICAgICAgICAgJ2NoYWxsZW5nZScgICAgICAgID0+ICRjaGFsbGVuZ2UsCiAgICAgICAgICAgICdycElkJyAgICAgICAgICAgICA9PiAkdGhpcy0+cnBJZCwKICAgICAgICAgICAgJ3RpbWVvdXQnICAgICAgICAgID0+IDYwMDAwLAogICAgICAgICAgICAndXNlclZlcmlmaWNhdGlvbicgPT4gJHVzZXJWZXJpZmljYXRpb24sCiAgICAgICAgXTsKCiAgICAgICAgaWYgKCFlbXB0eSgkYWxsb3dDcmVkZW50aWFsSWRzKSkgewogICAgICAgICAgICAkYXJnc1snYWxsb3dDcmVkZW50aWFscyddID0gW107CiAgICAgICAgICAgIGZvcmVhY2ggKCRhbGxvd0NyZWRlbnRpYWxJZHMgYXMgJGNyZWRJZCkgewogICAgICAgICAgICAgICAgaWYgKCRjcmVkSWQgPT09IG51bGwgfHwgJGNyZWRJZCA9PT0gJycpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgJGFyZ3NbJ2FsbG93Q3JlZGVudGlhbHMnXVtdID0gWwogICAgICAgICAgICAgICAgICAgICd0eXBlJyA9PiAncHVibGljLWtleScsCiAgICAgICAgICAgICAgICAgICAgJ2lkJyAgID0+ICRjcmVkSWQsCiAgICAgICAgICAgICAgICAgICAgJ3RyYW5zcG9ydHMnID0+IFsnaW50ZXJuYWwnLCAnaHlicmlkJywgJ3VzYicsICduZmMnLCAnYmxlJ10sCiAgICAgICAgICAgICAgICBdOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGFyZ3M7CiAgICB9CgogICAgLyoqCiAgICAgKiBQcm9jZXNzIGFuZCB2YWxpZGF0ZSBhIHJlZ2lzdHJhdGlvbiAoYXR0ZXN0YXRpb24pIHJlc3BvbnNlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNsaWVudERhdGFKU09OICAgIEJhc2U2NHVybC1lbmNvZGVkIGNsaWVudERhdGFKU09OCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhdHRlc3RhdGlvbk9iamVjdCBCYXNlNjR1cmwtZW5jb2RlZCBhdHRlc3RhdGlvbk9iamVjdAogICAgICogQHBhcmFtIHN0cmluZyAkY2hhbGxlbmdlICAgICAgICAgVGhlIG9yaWdpbmFsIGNoYWxsZW5nZSAoYmFzZTY0dXJsKQogICAgICogQHJldHVybiBvYmplY3QgeyBjcmVkZW50aWFsSWQsIGNyZWRlbnRpYWxQdWJsaWNLZXksIHNpZ25Db3VudCB9CiAgICAgKiBAdGhyb3dzIFxFeGNlcHRpb24gb24gdmFsaWRhdGlvbiBmYWlsdXJlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwcm9jZXNzQ3JlYXRlKCRjbGllbnREYXRhSlNPTiwgJGF0dGVzdGF0aW9uT2JqZWN0LCAkY2hhbGxlbmdlKQogICAgewogICAgICAgIC8vIDEuIERlY29kZSBhbmQgdmFsaWRhdGUgY2xpZW50RGF0YUpTT04KICAgICAgICAkY2xpZW50RGF0YVJhdyA9IHNlbGY6OmJhc2U2NFVybERlY29kZSgkY2xpZW50RGF0YUpTT04pOwogICAgICAgICRjbGllbnREYXRhID0ganNvbl9kZWNvZGUoJGNsaWVudERhdGFSYXcpOwogICAgICAgIGlmICghJGNsaWVudERhdGEpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ0ludmFsaWQgY2xpZW50RGF0YUpTT04nKTsKICAgICAgICB9CiAgICAgICAgaWYgKCRjbGllbnREYXRhLT50eXBlICE9PSAnd2ViYXV0aG4uY3JlYXRlJykgewogICAgICAgICAgICB0aHJvdyBuZXcgXEV4Y2VwdGlvbignSW52YWxpZCB0eXBlIGluIGNsaWVudERhdGFKU09OJyk7CiAgICAgICAgfQogICAgICAgIGlmICgkY2xpZW50RGF0YS0+Y2hhbGxlbmdlICE9PSAkY2hhbGxlbmdlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uKCdDaGFsbGVuZ2UgbWlzbWF0Y2gnKTsKICAgICAgICB9CgogICAgICAgIC8vIDIuIERlY29kZSBhdHRlc3RhdGlvbk9iamVjdCAoQ0JPUikKICAgICAgICAkYXR0ZXN0YXRpb25SYXcgPSBzZWxmOjpiYXNlNjRVcmxEZWNvZGUoJGF0dGVzdGF0aW9uT2JqZWN0KTsKICAgICAgICAkYXR0ZXN0YXRpb24gPSBDYm9yRGVjb2Rlcjo6ZGVjb2RlKCRhdHRlc3RhdGlvblJhdyk7CiAgICAgICAgaWYgKCFpc3NldCgkYXR0ZXN0YXRpb25bJ2F1dGhEYXRhJ10pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uKCdNaXNzaW5nIGF1dGhEYXRhIGluIGF0dGVzdGF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICAvLyAzLiBQYXJzZSBhdXRoZW50aWNhdG9yIGRhdGEKICAgICAgICAkYXV0aERhdGEgPSAkYXR0ZXN0YXRpb25bJ2F1dGhEYXRhJ107CiAgICAgICAgaWYgKGlzX3N0cmluZygkYXV0aERhdGEpKSB7CiAgICAgICAgICAgICRhdXRoRGF0YUJpbiA9ICRhdXRoRGF0YTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aHJvdyBuZXcgXEV4Y2VwdGlvbignSW52YWxpZCBhdXRoRGF0YSBmb3JtYXQnKTsKICAgICAgICB9CgogICAgICAgICRwYXJzZWQgPSAkdGhpcy0+cGFyc2VBdXRoRGF0YSgkYXV0aERhdGFCaW4pOwoKICAgICAgICAvLyA0LiBWZXJpZnkgUlAgSUQgaGFzaAogICAgICAgIGlmICgkcGFyc2VkWydycElkSGFzaCddICE9PSAkdGhpcy0+cnBJZEhhc2gpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ1JQIElEIGhhc2ggbWlzbWF0Y2gnKTsKICAgICAgICB9CgogICAgICAgIC8vIDUuIENoZWNrIHVzZXIgcHJlc2VudCBmbGFnCiAgICAgICAgaWYgKCEoJHBhcnNlZFsnZmxhZ3MnXSAmIDB4MDEpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uKCdVc2VyIG5vdCBwcmVzZW50Jyk7CiAgICAgICAgfQoKICAgICAgICAvLyA2LiBFeHRyYWN0IGNyZWRlbnRpYWwgZGF0YQogICAgICAgIGlmICghJHBhcnNlZFsnY3JlZGVudGlhbElkJ10gfHwgISRwYXJzZWRbJ2NyZWRlbnRpYWxQdWJsaWNLZXknXSkgewogICAgICAgICAgICB0aHJvdyBuZXcgXEV4Y2VwdGlvbignTWlzc2luZyBjcmVkZW50aWFsIGRhdGEgaW4gYXV0aERhdGEnKTsKICAgICAgICB9CgogICAgICAgIC8vIDcuIERlY29kZSB0aGUgQ09TRSBwdWJsaWMga2V5IGFuZCBjb252ZXJ0IHRvIFBFTQogICAgICAgICRwdWJsaWNLZXlQZW0gPSAkdGhpcy0+Y29zZUtleVRvUGVtKCRwYXJzZWRbJ2NyZWRlbnRpYWxQdWJsaWNLZXknXSk7CgogICAgICAgIHJldHVybiAob2JqZWN0KVsKICAgICAgICAgICAgJ2NyZWRlbnRpYWxJZCcgICAgICAgID0+IHNlbGY6OmJhc2U2NFVybEVuY29kZSgkcGFyc2VkWydjcmVkZW50aWFsSWQnXSksCiAgICAgICAgICAgICdjcmVkZW50aWFsUHVibGljS2V5JyA9PiAkcHVibGljS2V5UGVtLAogICAgICAgICAgICAnc2lnbkNvdW50JyAgICAgICAgICAgPT4gJHBhcnNlZFsnc2lnbkNvdW50J10sCiAgICAgICAgICAgICdhYWd1aWQnICAgICAgICAgICAgICA9PiAkcGFyc2VkWydhYWd1aWQnXSwKICAgICAgICBdOwogICAgfQoKICAgIC8qKgogICAgICogUHJvY2VzcyBhbmQgdmFsaWRhdGUgYW4gYXV0aGVudGljYXRpb24gKGFzc2VydGlvbikgcmVzcG9uc2UuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkY2xpZW50RGF0YUpTT04gICAgQmFzZTY0dXJsLWVuY29kZWQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGF1dGhlbnRpY2F0b3JEYXRhIEJhc2U2NHVybC1lbmNvZGVkCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzaWduYXR1cmUgICAgICAgICBCYXNlNjR1cmwtZW5jb2RlZAogICAgICogQHBhcmFtIHN0cmluZyAkY3JlZGVudGlhbFB1YmxpY0tleSBQRU0gcHVibGljIGtleQogICAgICogQHBhcmFtIHN0cmluZyAkY2hhbGxlbmdlICAgICAgICAgT3JpZ2luYWwgY2hhbGxlbmdlIChiYXNlNjR1cmwpCiAgICAgKiBAcGFyYW0gaW50ICAgICRwcmV2U2lnbkNvdW50ICAgICBQcmV2aW91cyBzaWduIGNvdW50CiAgICAgKiBAcmV0dXJuIG9iamVjdCB7IHNpZ25Db3VudCB9CiAgICAgKiBAdGhyb3dzIFxFeGNlcHRpb24gb24gdmFsaWRhdGlvbiBmYWlsdXJlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwcm9jZXNzR2V0KCRjbGllbnREYXRhSlNPTiwgJGF1dGhlbnRpY2F0b3JEYXRhLCAkc2lnbmF0dXJlLCAkY3JlZGVudGlhbFB1YmxpY0tleSwgJGNoYWxsZW5nZSwgJHByZXZTaWduQ291bnQgPSAwKQogICAgewogICAgICAgIC8vIDEuIERlY29kZSBhbmQgdmFsaWRhdGUgY2xpZW50RGF0YUpTT04KICAgICAgICAkY2xpZW50RGF0YVJhdyA9IHNlbGY6OmJhc2U2NFVybERlY29kZSgkY2xpZW50RGF0YUpTT04pOwogICAgICAgICRjbGllbnREYXRhID0ganNvbl9kZWNvZGUoJGNsaWVudERhdGFSYXcpOwogICAgICAgIGlmICghJGNsaWVudERhdGEpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ0ludmFsaWQgY2xpZW50RGF0YUpTT04nKTsKICAgICAgICB9CiAgICAgICAgaWYgKCRjbGllbnREYXRhLT50eXBlICE9PSAnd2ViYXV0aG4uZ2V0JykgewogICAgICAgICAgICB0aHJvdyBuZXcgXEV4Y2VwdGlvbignSW52YWxpZCB0eXBlIGluIGNsaWVudERhdGFKU09OJyk7CiAgICAgICAgfQogICAgICAgIGlmICgkY2xpZW50RGF0YS0+Y2hhbGxlbmdlICE9PSAkY2hhbGxlbmdlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uKCdDaGFsbGVuZ2UgbWlzbWF0Y2gnKTsKICAgICAgICB9CgogICAgICAgIC8vIDIuIFBhcnNlIGF1dGhlbnRpY2F0b3IgZGF0YQogICAgICAgICRhdXRoRGF0YUJpbiA9IHNlbGY6OmJhc2U2NFVybERlY29kZSgkYXV0aGVudGljYXRvckRhdGEpOwogICAgICAgICRwYXJzZWQgPSAkdGhpcy0+cGFyc2VBdXRoRGF0YSgkYXV0aERhdGFCaW4pOwoKICAgICAgICAvLyAzLiBWZXJpZnkgUlAgSUQgaGFzaAogICAgICAgIGlmICgkcGFyc2VkWydycElkSGFzaCddICE9PSAkdGhpcy0+cnBJZEhhc2gpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ1JQIElEIGhhc2ggbWlzbWF0Y2gnKTsKICAgICAgICB9CgogICAgICAgIC8vIDQuIENoZWNrIHVzZXIgcHJlc2VudCBmbGFnCiAgICAgICAgaWYgKCEoJHBhcnNlZFsnZmxhZ3MnXSAmIDB4MDEpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uKCdVc2VyIG5vdCBwcmVzZW50Jyk7CiAgICAgICAgfQoKICAgICAgICAvLyA1LiBWZXJpZnkgc2lnbmF0dXJlCiAgICAgICAgJGNsaWVudERhdGFIYXNoID0gaGFzaCgnc2hhMjU2JywgJGNsaWVudERhdGFSYXcsIHRydWUpOwogICAgICAgICRzaWduZWREYXRhID0gJGF1dGhEYXRhQmluIC4gJGNsaWVudERhdGFIYXNoOwogICAgICAgICRzaWdCaW4gPSBzZWxmOjpiYXNlNjRVcmxEZWNvZGUoJHNpZ25hdHVyZSk7CgogICAgICAgICR2YWxpZCA9IG9wZW5zc2xfdmVyaWZ5KCRzaWduZWREYXRhLCAkc2lnQmluLCAkY3JlZGVudGlhbFB1YmxpY0tleSwgT1BFTlNTTF9BTEdPX1NIQTI1Nik7CiAgICAgICAgaWYgKCR2YWxpZCAhPT0gMSkgewogICAgICAgICAgICB0aHJvdyBuZXcgXEV4Y2VwdGlvbignU2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBmYWlsZWQnKTsKICAgICAgICB9CgogICAgICAgIC8vIDYuIENoZWNrIHNpZ24gY291bnQKICAgICAgICBpZiAoJHBhcnNlZFsnc2lnbkNvdW50J10gPiAwICYmICRwYXJzZWRbJ3NpZ25Db3VudCddIDw9ICRwcmV2U2lnbkNvdW50KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uKCdTaWduIGNvdW50IG5vdCBpbmNyZW1lbnRlZCAtIHBvc3NpYmxlIGNsb25lZCBhdXRoZW50aWNhdG9yJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gKG9iamVjdClbCiAgICAgICAgICAgICdzaWduQ291bnQnID0+ICRwYXJzZWRbJ3NpZ25Db3VudCddLAogICAgICAgIF07CiAgICB9CgogICAgLyoqCiAgICAgKiBQYXJzZSBhdXRoZW50aWNhdG9yIGRhdGEgYmluYXJ5LgogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIHBhcnNlQXV0aERhdGEoJGF1dGhEYXRhKQogICAgewogICAgICAgIGlmIChzdHJsZW4oJGF1dGhEYXRhKSA8IDM3KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uKCdBdXRoRGF0YSB0b28gc2hvcnQnKTsKICAgICAgICB9CgogICAgICAgICRycElkSGFzaCA9IHN1YnN0cigkYXV0aERhdGEsIDAsIDMyKTsKICAgICAgICAkZmxhZ3MgPSBvcmQoJGF1dGhEYXRhWzMyXSk7CiAgICAgICAgJHNpZ25Db3VudCA9IHVucGFjaygnTicsIHN1YnN0cigkYXV0aERhdGEsIDMzLCA0KSlbMV07CgogICAgICAgICRjcmVkZW50aWFsSWQgPSBudWxsOwogICAgICAgICRjcmVkZW50aWFsUHVibGljS2V5ID0gbnVsbDsKCiAgICAgICAgLy8gQXR0ZXN0ZWQgY3JlZGVudGlhbCBkYXRhIHByZXNlbnQgKGJpdCA2KQogICAgICAgIGlmICgkZmxhZ3MgJiAweDQwKSB7CiAgICAgICAgICAgICRvZmZzZXQgPSAzNzsKICAgICAgICAgICAgLy8gQUFHVUlEICgxNiBieXRlcykKICAgICAgICAgICAgJGFhZ3VpZCA9IHN1YnN0cigkYXV0aERhdGEsICRvZmZzZXQsIDE2KTsKICAgICAgICAgICAgJG9mZnNldCArPSAxNjsKICAgICAgICAgICAgLy8gQ3JlZGVudGlhbCBJRCBsZW5ndGggKDIgYnl0ZXMsIGJpZy1lbmRpYW4pCiAgICAgICAgICAgICRjcmVkSWRMZW4gPSB1bnBhY2soJ24nLCBzdWJzdHIoJGF1dGhEYXRhLCAkb2Zmc2V0LCAyKSlbMV07CiAgICAgICAgICAgICRvZmZzZXQgKz0gMjsKICAgICAgICAgICAgLy8gQ3JlZGVudGlhbCBJRAogICAgICAgICAgICAkY3JlZGVudGlhbElkID0gc3Vic3RyKCRhdXRoRGF0YSwgJG9mZnNldCwgJGNyZWRJZExlbik7CiAgICAgICAgICAgICRvZmZzZXQgKz0gJGNyZWRJZExlbjsKICAgICAgICAgICAgLy8gQ09TRSBwdWJsaWMga2V5IChyZW1haW5pbmcgYnl0ZXMsIENCT1ItZW5jb2RlZCkKICAgICAgICAgICAgJGNyZWRlbnRpYWxQdWJsaWNLZXkgPSBDYm9yRGVjb2Rlcjo6ZGVjb2RlKHN1YnN0cigkYXV0aERhdGEsICRvZmZzZXQpKTsKICAgICAgICB9CgogICAgICAgIC8vIEZvcm1hdCBBQUdVSUQgYXMgVVVJRCBzdHJpbmcKICAgICAgICAkYWFndWlkSGV4ID0gaXNzZXQoJGFhZ3VpZCkgPyBiaW4yaGV4KCRhYWd1aWQpIDogc3RyX3JlcGVhdCgnMCcsIDMyKTsKICAgICAgICAkYWFndWlkRm9ybWF0dGVkID0gc3ByaW50ZignJXMtJXMtJXMtJXMtJXMnLAogICAgICAgICAgICBzdWJzdHIoJGFhZ3VpZEhleCwgMCwgOCksCiAgICAgICAgICAgIHN1YnN0cigkYWFndWlkSGV4LCA4LCA0KSwKICAgICAgICAgICAgc3Vic3RyKCRhYWd1aWRIZXgsIDEyLCA0KSwKICAgICAgICAgICAgc3Vic3RyKCRhYWd1aWRIZXgsIDE2LCA0KSwKICAgICAgICAgICAgc3Vic3RyKCRhYWd1aWRIZXgsIDIwLCAxMikKICAgICAgICApOwoKICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAncnBJZEhhc2gnICAgICAgICAgICAgPT4gJHJwSWRIYXNoLAogICAgICAgICAgICAnZmxhZ3MnICAgICAgICAgICAgICAgPT4gJGZsYWdzLAogICAgICAgICAgICAnc2lnbkNvdW50JyAgICAgICAgICAgPT4gJHNpZ25Db3VudCwKICAgICAgICAgICAgJ2NyZWRlbnRpYWxJZCcgICAgICAgID0+ICRjcmVkZW50aWFsSWQsCiAgICAgICAgICAgICdjcmVkZW50aWFsUHVibGljS2V5JyA9PiAkY3JlZGVudGlhbFB1YmxpY0tleSwKICAgICAgICAgICAgJ2FhZ3VpZCcgICAgICAgICAgICAgID0+ICRhYWd1aWRGb3JtYXR0ZWQsCiAgICAgICAgXTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnQgYSBDT1NFIGtleSAoZGVjb2RlZCBmcm9tIENCT1IpIHRvIFBFTSBmb3JtYXQuCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gY29zZUtleVRvUGVtKCRjb3NlS2V5KQogICAgewogICAgICAgICRrdHkgPSAkY29zZUtleVsxXSA/PyBudWxsOyAvLyAxID0ga2V5IHR5cGUKICAgICAgICAkYWxnID0gJGNvc2VLZXlbM10gPz8gbnVsbDsgLy8gMyA9IGFsZ29yaXRobQoKICAgICAgICAvLyBFQzIga2V5IHR5cGUgKGt0eT0yKSwgRVMyNTYgKGFsZz0tNykKICAgICAgICBpZiAoJGt0eSA9PSAyKSB7CiAgICAgICAgICAgICR4ID0gJGNvc2VLZXlbLTJdID8/IG51bGw7CiAgICAgICAgICAgICR5ID0gJGNvc2VLZXlbLTNdID8/IG51bGw7CiAgICAgICAgICAgIGlmICghJHggfHwgISR5KSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXEV4Y2VwdGlvbignTWlzc2luZyBFQyBrZXkgY29vcmRpbmF0ZXMnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBCdWlsZCB1bmNvbXByZXNzZWQgRUMgcG9pbnQ6IDB4MDQgfHwgeCB8fCB5CiAgICAgICAgICAgICRwb2ludCA9ICJceDA0IiAuICR4IC4gJHk7CiAgICAgICAgICAgIC8vIFdyYXAgaW4gQVNOLjEgU3ViamVjdFB1YmxpY0tleUluZm8gZm9yIFAtMjU2CiAgICAgICAgICAgICRkZXIgPSAkdGhpcy0+ZWNQb2ludFRvRGVyKCRwb2ludCk7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+ZGVyVG9QZW0oJGRlciwgJ1BVQkxJQyBLRVknKTsKICAgICAgICB9CgogICAgICAgIC8vIFJTQSBrZXkgdHlwZSAoa3R5PTMpLCBSUzI1NiAoYWxnPS0yNTcpCiAgICAgICAgaWYgKCRrdHkgPT0gMykgewogICAgICAgICAgICAkbiA9ICRjb3NlS2V5Wy0xXSA/PyBudWxsOwogICAgICAgICAgICAkZSA9ICRjb3NlS2V5Wy0yXSA/PyBudWxsOwogICAgICAgICAgICBpZiAoISRuIHx8ICEkZSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ01pc3NpbmcgUlNBIGtleSBjb21wb25lbnRzJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGRlciA9ICR0aGlzLT5yc2FQdWJsaWNLZXlUb0RlcigkbiwgJGUpOwogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmRlclRvUGVtKCRkZXIsICdQVUJMSUMgS0VZJyk7CiAgICAgICAgfQoKICAgICAgICB0aHJvdyBuZXcgXEV4Y2VwdGlvbignVW5zdXBwb3J0ZWQga2V5IHR5cGU6ICcgLiAka3R5KTsKICAgIH0KCiAgICAvKioKICAgICAqIFdyYXAgYW4gRUMgUC0yNTYgdW5jb21wcmVzc2VkIHBvaW50IGluIEFTTi4xIERFUiBTdWJqZWN0UHVibGljS2V5SW5mby4KICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBlY1BvaW50VG9EZXIoJHBvaW50KQogICAgewogICAgICAgIC8vIE9JRCBmb3IgRUMgcHVibGljIGtleSArIFAtMjU2IGN1cnZlCiAgICAgICAgJGVjT2lkID0gaGV4MmJpbignMDYwNzJhODY0OGNlM2QwMjAxJyk7ICAgICAgIC8vIDEuMi44NDAuMTAwNDUuMi4xCiAgICAgICAgJHAyNTZPaWQgPSBoZXgyYmluKCcwNjA4MmE4NjQ4Y2UzZDAzMDEwNycpOyAgICAvLyAxLjIuODQwLjEwMDQ1LjMuMS43CiAgICAgICAgJGFsZ0lkID0gJHRoaXMtPmFzbjFTZXF1ZW5jZSgkZWNPaWQgLiAkcDI1Nk9pZCk7CiAgICAgICAgJGJpdFN0cmluZyA9ICJceDAwIiAuICRwb2ludDsgLy8gcHJlcGVuZCB1bnVzZWQtYml0cyBieXRlCiAgICAgICAgJGJpdFN0cmluZ0RlciA9ICJceDAzIiAuICR0aGlzLT5hc24xTGVuZ3RoKHN0cmxlbigkYml0U3RyaW5nKSkgLiAkYml0U3RyaW5nOwogICAgICAgIHJldHVybiAkdGhpcy0+YXNuMVNlcXVlbmNlKCRhbGdJZCAuICRiaXRTdHJpbmdEZXIpOwogICAgfQoKICAgIC8qKgogICAgICogQnVpbGQgUlNBIFN1YmplY3RQdWJsaWNLZXlJbmZvIERFUiBmcm9tIG4gYW5kIGUuCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gcnNhUHVibGljS2V5VG9EZXIoJG4sICRlKQogICAgewogICAgICAgICRuSW50ID0gJHRoaXMtPmFzbjFVbnNpZ25lZEludGVnZXIoJG4pOwogICAgICAgICRlSW50ID0gJHRoaXMtPmFzbjFVbnNpZ25lZEludGVnZXIoJGUpOwogICAgICAgICRyc2FLZXkgPSAkdGhpcy0+YXNuMVNlcXVlbmNlKCRuSW50IC4gJGVJbnQpOwogICAgICAgICRyc2FPaWQgPSBoZXgyYmluKCcwNjA5MmE4NjQ4ODZmNzBkMDEwMTAxJyk7IC8vIDEuMi44NDAuMTEzNTQ5LjEuMS4xCiAgICAgICAgJG51bGxQYXJhbSA9IGhleDJiaW4oJzA1MDAnKTsKICAgICAgICAkYWxnSWQgPSAkdGhpcy0+YXNuMVNlcXVlbmNlKCRyc2FPaWQgLiAkbnVsbFBhcmFtKTsKICAgICAgICAkYml0U3RyaW5nID0gIlx4MDAiIC4gJHJzYUtleTsKICAgICAgICAkYml0U3RyaW5nRGVyID0gIlx4MDMiIC4gJHRoaXMtPmFzbjFMZW5ndGgoc3RybGVuKCRiaXRTdHJpbmcpKSAuICRiaXRTdHJpbmc7CiAgICAgICAgcmV0dXJuICR0aGlzLT5hc24xU2VxdWVuY2UoJGFsZ0lkIC4gJGJpdFN0cmluZ0Rlcik7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBhc24xU2VxdWVuY2UoJGRhdGEpCiAgICB7CiAgICAgICAgcmV0dXJuICJceDMwIiAuICR0aGlzLT5hc24xTGVuZ3RoKHN0cmxlbigkZGF0YSkpIC4gJGRhdGE7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBhc24xTGVuZ3RoKCRsZW5ndGgpCiAgICB7CiAgICAgICAgaWYgKCRsZW5ndGggPCAxMjgpIHJldHVybiBjaHIoJGxlbmd0aCk7CiAgICAgICAgaWYgKCRsZW5ndGggPCAyNTYpIHJldHVybiAiXHg4MSIgLiBjaHIoJGxlbmd0aCk7CiAgICAgICAgcmV0dXJuICJceDgyIiAuIHBhY2soJ24nLCAkbGVuZ3RoKTsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGFzbjFVbnNpZ25lZEludGVnZXIoJGRhdGEpCiAgICB7CiAgICAgICAgLy8gRW5zdXJlIHBvc2l0aXZlIGludGVnZXIgKHByZXBlbmQgMHgwMCBpZiBoaWdoIGJpdCBzZXQpCiAgICAgICAgaWYgKG9yZCgkZGF0YVswXSkgJiAweDgwKSB7CiAgICAgICAgICAgICRkYXRhID0gIlx4MDAiIC4gJGRhdGE7CiAgICAgICAgfQogICAgICAgIHJldHVybiAiXHgwMiIgLiAkdGhpcy0+YXNuMUxlbmd0aChzdHJsZW4oJGRhdGEpKSAuICRkYXRhOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gZGVyVG9QZW0oJGRlciwgJHR5cGUpCiAgICB7CiAgICAgICAgcmV0dXJuICItLS0tLUJFR0lOIHskdHlwZX0tLS0tLVxuIiAuCiAgICAgICAgICAgICAgIGNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUoJGRlciksIDY0LCAiXG4iKSAuCiAgICAgICAgICAgICAgICItLS0tLUVORCB7JHR5cGV9LS0tLS1cbiI7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBiYXNlNjRVcmxFbmNvZGUoJGRhdGEpCiAgICB7CiAgICAgICAgcmV0dXJuIHJ0cmltKHN0cnRyKGJhc2U2NF9lbmNvZGUoJGRhdGEpLCAnKy8nLCAnLV8nKSwgJz0nKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGJhc2U2NFVybERlY29kZSgkZGF0YSkKICAgIHsKICAgICAgICBpZiAoJGRhdGEgPT09IG51bGwgfHwgJGRhdGEgPT09ICcnKSByZXR1cm4gJyc7CiAgICAgICAgcmV0dXJuIGJhc2U2NF9kZWNvZGUoc3RydHIoJGRhdGEsICctXycsICcrLycpIC4gc3RyX3JlcGVhdCgnPScsICg0IC0gc3RybGVuKCRkYXRhKSAlIDQpICUgNCkpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/lib/class.TwoFactorAPI.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmNsYXNzIFR3b0ZhY3RvckFQSQp7CiAgICBjb25zdCBBUElfQkFTRV9VUkwgPSAnaHR0cHM6Ly9hcGkucGl4ZWxzb2x1dGlvbnMuYml6JzsKICAgIAogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB2YWxpZGF0ZV9saWNlbnNlKCRsaWNlbnNlX2tleSwgJGRvbWFpbikKICAgIHsKICAgICAgICBpZiAoZW1wdHkoJGxpY2Vuc2Vfa2V5KSB8fCBzdHJsZW4oJGxpY2Vuc2Vfa2V5KSA8IDEwKSB7CiAgICAgICAgICAgIHJldHVybiBbJ3ZhbGlkJyA9PiBmYWxzZSwgJ2Vycm9yJyA9PiAnSW52YWxpZCBsaWNlbnNlIGtleSBmb3JtYXQnXTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJGFwaV91cmwgPSBzZWxmOjpBUElfQkFTRV9VUkwgLiAnL2xpY2Vuc2VzL3ZhbGlkYXRlJzsKICAgICAgICAKICAgICAgICAkZGF0YSA9IGpzb25fZW5jb2RlKFsKICAgICAgICAgICAgJ2xpY2Vuc2Vfa2V5JyA9PiAkbGljZW5zZV9rZXksCiAgICAgICAgICAgICdkb21haW4nID0+IHNlbGY6Om5vcm1hbGl6ZV9kb21haW4oJGRvbWFpbiksCiAgICAgICAgICAgICdtb2R1bGUnID0+ICdUd29GYWN0b3JQcm8nLAogICAgICAgIF0pOwoKICAgICAgICAkY2ggPSBjdXJsX2luaXQoKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkYXBpX3VybCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAkZGF0YSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVElNRU9VVCwgMTApOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IVFRQSEVBREVSLCBbJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiddKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgMik7CiAgICAgICAgCiAgICAgICAgJHJlc3BvbnNlID0gY3VybF9leGVjKCRjaCk7CiAgICAgICAgJGh0dHBfY29kZSA9IGN1cmxfZ2V0aW5mbygkY2gsIENVUkxJTkZPX0hUVFBfQ09ERSk7CiAgICAgICAgJGN1cmxfZXJyb3IgPSBjdXJsX2Vycm9yKCRjaCk7CiAgICAgICAgY3VybF9jbG9zZSgkY2gpOwogICAgICAgIAogICAgICAgIGlmICgkY3VybF9lcnJvcikgewogICAgICAgICAgICByZXR1cm4gWyd2YWxpZCcgPT4gZmFsc2UsICdlcnJvcicgPT4gJ0Nvbm5lY3Rpb24gZXJyb3I6ICcgLiAkY3VybF9lcnJvcl07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmICgkaHR0cF9jb2RlICE9PSAyMDApIHsKICAgICAgICAgICAgJGVycm9yX3Jlc3VsdCA9IGpzb25fZGVjb2RlKCRyZXNwb25zZSwgdHJ1ZSk7CiAgICAgICAgICAgIGlmICgkZXJyb3JfcmVzdWx0ICYmIGlzc2V0KCRlcnJvcl9yZXN1bHRbJ2Vycm9yJ10pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJGVycm9yX3Jlc3VsdDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gWyd2YWxpZCcgPT4gZmFsc2UsICdlcnJvcicgPT4gJ0FQSSBlcnJvcjogJyAuICRodHRwX2NvZGVdOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAoJHJlc3BvbnNlKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBqc29uX2RlY29kZSgkcmVzcG9uc2UsIHRydWUpOwogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHJlc3VsdCkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiBbJ3ZhbGlkJyA9PiBmYWxzZSwgJ2Vycm9yJyA9PiAnSW52YWxpZCBBUEkgcmVzcG9uc2UnXTsKICAgIH0KICAgIAogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZW5kX3ZlcmlmaWNhdGlvbigkbGljZW5zZV9rZXksICRkb21haW4sICRwaG9uZSwgJGNvdW50cnkgPSBudWxsKQogICAgewogICAgICAgICRhcGlfdXJsID0gc2VsZjo6QVBJX0JBU0VfVVJMIC4gJy92ZXJpZmljYXRpb24vc2VuZCc7CiAgICAgICAgCiAgICAgICAgJG5vcm1hbGl6ZWRfcGhvbmUgPSBzZWxmOjpub3JtYWxpemVfcGhvbmUoJHBob25lKTsKICAgICAgICAKICAgICAgICBpZiAoIXNlbGY6OnZhbGlkYXRlX3Bob25lX2Zvcm1hdCgkbm9ybWFsaXplZF9waG9uZSkpIHsKICAgICAgICAgICAgcmV0dXJuIFsnc3VjY2VzcycgPT4gZmFsc2UsICdlcnJvcicgPT4gJ0ludmFsaWQgcGhvbmUgbnVtYmVyIGZvcm1hdCddOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAoISRjb3VudHJ5KSB7CiAgICAgICAgICAgICRjb3VudHJ5ID0gc2VsZjo6Z2V0X2NvdW50cnlfZnJvbV9waG9uZSgkbm9ybWFsaXplZF9waG9uZSk7CiAgICAgICAgICAgIGlmICghJGNvdW50cnkpIHsKICAgICAgICAgICAgICAgIHJldHVybiBbJ3N1Y2Nlc3MnID0+IGZhbHNlLCAnZXJyb3InID0+ICdDb3VudHJ5IG5vdCBzdXBwb3J0ZWQnXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAkZGF0YSA9IGpzb25fZW5jb2RlKFsKICAgICAgICAgICAgJ2xpY2Vuc2Vfa2V5JyA9PiAkbGljZW5zZV9rZXksCiAgICAgICAgICAgICdkb21haW4nID0+IHNlbGY6Om5vcm1hbGl6ZV9kb21haW4oJGRvbWFpbiksCiAgICAgICAgICAgICdwaG9uZScgPT4gJG5vcm1hbGl6ZWRfcGhvbmUsCiAgICAgICAgICAgICdjb3VudHJ5JyA9PiAkY291bnRyeQogICAgICAgIF0pOwogICAgICAgIAogICAgICAgICRjaCA9IGN1cmxfaW5pdCgpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICRhcGlfdXJsKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICRkYXRhKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCAxMCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBIRUFERVIsIFsnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uJ10pOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAyKTsKICAgICAgICAKICAgICAgICAkcmVzcG9uc2UgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAkaHR0cF9jb2RlID0gY3VybF9nZXRpbmZvKCRjaCwgQ1VSTElORk9fSFRUUF9DT0RFKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgCiAgICAgICAgaWYgKCRyZXNwb25zZSkgewogICAgICAgICAgICByZXR1cm4ganNvbl9kZWNvZGUoJHJlc3BvbnNlLCB0cnVlKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcmV0dXJuIFsnc3VjY2VzcycgPT4gZmFsc2UsICdlcnJvcicgPT4gJ0FQSSByZXF1ZXN0IGZhaWxlZCddOwogICAgfQogICAgCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG5vcm1hbGl6ZV9waG9uZSgkcGhvbmUpCiAgICB7CiAgICAgICAgJHBob25lID0gcHJlZ19yZXBsYWNlKCcvXHMrLycsICcnLCAkcGhvbmUpOwogICAgICAgICRwaG9uZSA9IHByZWdfcmVwbGFjZSgnL1teMC05K10vJywgJycsICRwaG9uZSk7CiAgICAgICAgCiAgICAgICAgaWYgKHN0cnBvcygkcGhvbmUsICcrJykgIT09IDApIHsKICAgICAgICAgICAgJHBob25lID0gJysnIC4gJHBob25lOwogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gJHBob25lOwogICAgfQogICAgCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHZhbGlkYXRlX3Bob25lX2Zvcm1hdCgkcGhvbmUpCiAgICB7CiAgICAgICAgcmV0dXJuIHByZWdfbWF0Y2goJy9eXCtbMS05XVxkezEsMTR9JC8nLCAkcGhvbmUpID09PSAxOwogICAgfQogICAgCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jb3VudHJ5X2Zyb21fcGhvbmUoJHBob25lKQogICAgewogICAgICAgICRwaG9uZSA9IHNlbGY6Om5vcm1hbGl6ZV9waG9uZSgkcGhvbmUpOwogICAgICAgICRjb3VudHJ5X2NvZGVzID0gWwogICAgICAgICAgICAnKzEnID0+ICdVUycsCiAgICAgICAgICAgICcrNDQnID0+ICdHQicsCiAgICAgICAgICAgICcrMzMnID0+ICdGUicsCiAgICAgICAgICAgICcrNDknID0+ICdERScsCiAgICAgICAgICAgICcrMzknID0+ICdJVCcsCiAgICAgICAgICAgICcrMzQnID0+ICdFUycsCiAgICAgICAgICAgICcrMzUxJyA9PiAnUFQnLAogICAgICAgICAgICAnKzMxJyA9PiAnTkwnLAogICAgICAgICAgICAnKzMyJyA9PiAnQkUnLAogICAgICAgICAgICAnKzQxJyA9PiAnQ0gnLAogICAgICAgICAgICAnKzQzJyA9PiAnQVQnLAogICAgICAgICAgICAnKzQ1JyA9PiAnREsnLAogICAgICAgICAgICAnKzQ2JyA9PiAnU0UnLAogICAgICAgICAgICAnKzQ3JyA9PiAnTk8nLAogICAgICAgICAgICAnKzM1OCcgPT4gJ0ZJJywKICAgICAgICAgICAgJyszNTMnID0+ICdJRScsCiAgICAgICAgICAgICcrNDgnID0+ICdQTCcsCiAgICAgICAgICAgICcrNDIwJyA9PiAnQ1onLAogICAgICAgICAgICAnKzM2JyA9PiAnSFUnLAogICAgICAgICAgICAnKzMwJyA9PiAnR1InLAogICAgICAgICAgICAnKzk3MicgPT4gJ0lMJywKICAgICAgICAgICAgJys5NzEnID0+ICdBRScsCiAgICAgICAgICAgICcrOTY2JyA9PiAnU0EnLAogICAgICAgICAgICAnKzkxJyA9PiAnSU4nLAogICAgICAgICAgICAnKzg2JyA9PiAnQ04nLAogICAgICAgICAgICAnKzgxJyA9PiAnSlAnLAogICAgICAgICAgICAnKzgyJyA9PiAnS1InLAogICAgICAgICAgICAnKzYxJyA9PiAnQVUnLAogICAgICAgICAgICAnKzY0JyA9PiAnTlonLAogICAgICAgICAgICAnKzU1JyA9PiAnQlInLAogICAgICAgICAgICAnKzUyJyA9PiAnTVgnLAogICAgICAgICAgICAnKzU0JyA9PiAnQVInLAogICAgICAgICAgICAnKzI3JyA9PiAnWkEnCiAgICAgICAgXTsKICAgICAgICAKICAgICAgICBmb3JlYWNoICgkY291bnRyeV9jb2RlcyBhcyAkY29kZSA9PiAkY291bnRyeSkgewogICAgICAgICAgICBpZiAoc3RycG9zKCRwaG9uZSwgJGNvZGUpID09PSAwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJGNvdW50cnk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgICAKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbm9ybWFsaXplX2RvbWFpbigkZG9tYWluKQogICAgewogICAgICAgICRkb21haW4gPSBzdHJ0b2xvd2VyKHRyaW0oJGRvbWFpbikpOwogICAgICAgICRkb21haW4gPSBwcmVnX3JlcGxhY2UoJyNeaHR0cHM/Oi8vIycsICcnLCAkZG9tYWluKTsKICAgICAgICAkZG9tYWluID0gcHJlZ19yZXBsYWNlKCcjXnd3d1wuIycsICcnLCAkZG9tYWluKTsKICAgICAgICAkZG9tYWluID0gcnRyaW0oJGRvbWFpbiwgJy8nKTsKICAgICAgICByZXR1cm4gJGRvbWFpbjsKICAgIH0KICAgIAogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB2ZXJpZnlfY29kZSgkbGljZW5zZV9rZXksICRkb21haW4sICRwaG9uZSwgJGNvZGUpCiAgICB7CiAgICAgICAgJGFwaV91cmwgPSBzZWxmOjpBUElfQkFTRV9VUkwgLiAnL3ZlcmlmaWNhdGlvbi9jaGVjayc7CiAgICAgICAgCiAgICAgICAgJG5vcm1hbGl6ZWRfcGhvbmUgPSBzZWxmOjpub3JtYWxpemVfcGhvbmUoJHBob25lKTsKICAgICAgICAkY291bnRyeSA9IHNlbGY6OmdldF9jb3VudHJ5X2Zyb21fcGhvbmUoJG5vcm1hbGl6ZWRfcGhvbmUpOwogICAgICAgIAogICAgICAgIGlmICghJGNvdW50cnkpIHsKICAgICAgICAgICAgcmV0dXJuIFsndmFsaWQnID0+IGZhbHNlLCAnZXJyb3InID0+ICdDb3VudHJ5IG5vdCBzdXBwb3J0ZWQnXTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJGRhdGEgPSBqc29uX2VuY29kZShbCiAgICAgICAgICAgICdsaWNlbnNlX2tleScgPT4gJGxpY2Vuc2Vfa2V5LAogICAgICAgICAgICAnZG9tYWluJyA9PiBzZWxmOjpub3JtYWxpemVfZG9tYWluKCRkb21haW4pLAogICAgICAgICAgICAncGhvbmUnID0+ICRub3JtYWxpemVkX3Bob25lLAogICAgICAgICAgICAnY291bnRyeScgPT4gJGNvdW50cnksCiAgICAgICAgICAgICdjb2RlJyA9PiAkY29kZQogICAgICAgIF0pOwogICAgICAgIAogICAgICAgICRjaCA9IGN1cmxfaW5pdCgpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICRhcGlfdXJsKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICRkYXRhKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCAxMCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBIRUFERVIsIFsnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uJ10pOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAyKTsKICAgICAgICAKICAgICAgICAkcmVzcG9uc2UgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgCiAgICAgICAgaWYgKCRyZXNwb25zZSkgewogICAgICAgICAgICByZXR1cm4ganNvbl9kZWNvZGUoJHJlc3BvbnNlLCB0cnVlKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcmV0dXJuIFsndmFsaWQnID0+IGZhbHNlLCAnZXJyb3InID0+ICdBUEkgcmVxdWVzdCBmYWlsZWQnXTsKICAgIH0KICAgIAogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfdmVyaWZpY2F0aW9uX2xvZ3MoJGxpY2Vuc2Vfa2V5KQogICAgewogICAgICAgICRhcGlfdXJsID0gc2VsZjo6QVBJX0JBU0VfVVJMIC4gJy9saWNlbnNlcy8nIC4gdXJsZW5jb2RlKCRsaWNlbnNlX2tleSkgLiAnL2xvZ3MnOwogICAgICAgIAogICAgICAgICRjaCA9IGN1cmxfaW5pdCgpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICRhcGlfdXJsKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCAxMCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBIRUFERVIsIFsnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uJ10pOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAyKTsKICAgICAgICAKICAgICAgICAkcmVzcG9uc2UgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAkaHR0cF9jb2RlID0gY3VybF9nZXRpbmZvKCRjaCwgQ1VSTElORk9fSFRUUF9DT0RFKTsKICAgICAgICAkY3VybF9lcnJvciA9IGN1cmxfZXJyb3IoJGNoKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgCiAgICAgICAgaWYgKCRjdXJsX2Vycm9yKSB7CiAgICAgICAgICAgIHJldHVybiBbJ3N1Y2Nlc3MnID0+IGZhbHNlLCAnZXJyb3InID0+ICdDb25uZWN0aW9uIGVycm9yOiAnIC4gJGN1cmxfZXJyb3JdOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAoJGh0dHBfY29kZSAhPT0gMjAwKSB7CiAgICAgICAgICAgICRlcnJvcl9yZXN1bHQgPSBqc29uX2RlY29kZSgkcmVzcG9uc2UsIHRydWUpOwogICAgICAgICAgICBpZiAoJGVycm9yX3Jlc3VsdCAmJiBpc3NldCgkZXJyb3JfcmVzdWx0WydlcnJvciddKSkgewogICAgICAgICAgICAgICAgcmV0dXJuICRlcnJvcl9yZXN1bHQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIFsnc3VjY2VzcycgPT4gZmFsc2UsICdlcnJvcicgPT4gJ0FQSSBlcnJvcjogJyAuICRodHRwX2NvZGVdOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAoJHJlc3BvbnNlKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBqc29uX2RlY29kZSgkcmVzcG9uc2UsIHRydWUpOwogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHJlc3VsdCkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiBbJ3N1Y2Nlc3MnID0+IGZhbHNlLCAnZXJyb3InID0+ICdJbnZhbGlkIEFQSSByZXNwb25zZSddOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/lib/class.TwoFactorCore.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmNsYXNzIFR3b0ZhY3RvckNvcmUKewogICAgcHJpdmF0ZSBzdGF0aWMgJHByb3ZpZGVycyA9IFtdOwoKICAgIC8qKgogICAgICogUmVzb2x2ZSB0aGUgc2l0ZSdzIGJhc2UgVVJMIHJvYnVzdGx5LiBDTVNfUk9PVF9VUkwgaXMgYWx3YXlzIHBvcHVsYXRlZAogICAgICogaW4gYSB3ZWIgcmVxdWVzdDsgJGNvbmZpZ1sncm9vdF91cmwnXSBjYW4gYmUgZW1wdHkgd2hlbiB0aGUgc2l0ZSByZWxpZXMKICAgICAqIG9uIGF1dG8tZGV0ZWN0aW9uLCB3aGljaCBwcmV2aW91c2x5IHByb2R1Y2VkIGEgYmxhbmsgZG9tYWluL3JwSWQuCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2l0ZV91cmwoKQogICAgewogICAgICAgIGlmIChkZWZpbmVkKCdDTVNfUk9PVF9VUkwnKSAmJiBDTVNfUk9PVF9VUkwpIHsKICAgICAgICAgICAgcmV0dXJuIENNU19ST09UX1VSTDsKICAgICAgICB9CiAgICAgICAgJGNvbmZpZyA9IFxjbXNfdXRpbHM6OmdldF9jb25maWcoKTsKICAgICAgICByZXR1cm4gJGNvbmZpZ1sncm9vdF91cmwnXSA/PyAnJzsKICAgIH0KCiAgICAvKioKICAgICAqIFRoZSBzaXRlJ3MgaG9zdC9kb21haW4gKGUuZy4gImV4YW1wbGUuY29tIiksIHJlc29sdmVkIHJvYnVzdGx5LgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNpdGVfZG9tYWluKCkKICAgIHsKICAgICAgICAkaG9zdCA9IHBhcnNlX3VybChzZWxmOjpzaXRlX3VybCgpLCBQSFBfVVJMX0hPU1QpOwogICAgICAgIHJldHVybiAkaG9zdCA/OiAnJzsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJlZ2lzdGVyX3Byb3ZpZGVycygpCiAgICB7CiAgICAgICAgc2VsZjo6JHByb3ZpZGVycyA9IFsKICAgICAgICAgICAgJ1R3b0ZhY3RvclByb3ZpZGVyVE9UUCcgPT4gZGlybmFtZShfX0ZJTEVfXykgLiAnL2NsYXNzLlR3b0ZhY3RvclByb3ZpZGVyVE9UUC5waHAnLAogICAgICAgICAgICAnVHdvRmFjdG9yUHJvdmlkZXJFbWFpbCcgPT4gZGlybmFtZShfX0ZJTEVfXykgLiAnL2NsYXNzLlR3b0ZhY3RvclByb3ZpZGVyRW1haWwucGhwJywKICAgICAgICAgICAgJ1R3b0ZhY3RvclByb3ZpZGVyU01TJyA9PiBkaXJuYW1lKF9fRklMRV9fKSAuICcvY2xhc3MuVHdvRmFjdG9yUHJvdmlkZXJTTVMucGhwJywKICAgICAgICAgICAgJ1R3b0ZhY3RvclByb3ZpZGVyUGFzc2tleScgPT4gZGlybmFtZShfX0ZJTEVfXykgLiAnL2NsYXNzLlR3b0ZhY3RvclByb3ZpZGVyUGFzc2tleS5waHAnLAogICAgICAgICAgICAnVHdvRmFjdG9yUHJvdmlkZXJCYWNrdXBDb2RlcycgPT4gZGlybmFtZShfX0ZJTEVfXykgLiAnL2NsYXNzLlR3b0ZhY3RvclByb3ZpZGVyQmFja3VwQ29kZXMucGhwJywKICAgICAgICBdOwoKICAgICAgICAvLyBQcm86IHJlZ2lzdGVyIFNlY3VyaXR5IEtleSBwcm92aWRlcgogICAgICAgIGlmIChcVHdvRmFjdG9yOjpJc1Byb0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICRwcm9fcGF0aCA9IGRpcm5hbWUoZGlybmFtZShfX0ZJTEVfXykpIC4gJy8uLi9Ud29GYWN0b3JQcm8vbGliL2NsYXNzLlR3b0ZhY3RvclByb3ZpZGVyU2VjdXJpdHlLZXkucGhwJzsKICAgICAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRwcm9fcGF0aCkpIHsKICAgICAgICAgICAgICAgIHNlbGY6OiRwcm92aWRlcnNbJ1R3b0ZhY3RvclByb3ZpZGVyU2VjdXJpdHlLZXknXSA9ICRwcm9fcGF0aDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBmb3JlYWNoIChzZWxmOjokcHJvdmlkZXJzIGFzICRjbGFzcyA9PiAkcGF0aCkgewogICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoJHBhdGgpKSB7CiAgICAgICAgICAgICAgICByZXF1aXJlX29uY2UgJHBhdGg7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfcHJvdmlkZXJzKCkKICAgIHsKICAgICAgICBpZiAoZW1wdHkoc2VsZjo6JHByb3ZpZGVycykpIHsKICAgICAgICAgICAgc2VsZjo6cmVnaXN0ZXJfcHJvdmlkZXJzKCk7CiAgICAgICAgfQoKICAgICAgICAkaW5zdGFuY2VzID0gW107CiAgICAgICAgZm9yZWFjaCAoc2VsZjo6JHByb3ZpZGVycyBhcyAkY2xhc3MgPT4gJHBhdGgpIHsKICAgICAgICAgICAgaWYgKGNsYXNzX2V4aXN0cygkY2xhc3MpKSB7CiAgICAgICAgICAgICAgICAkaW5zdGFuY2VzWyRjbGFzc10gPSBjYWxsX3VzZXJfZnVuYyhbJGNsYXNzLCAnZ2V0X2luc3RhbmNlJ10pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkaW5zdGFuY2VzOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2F2YWlsYWJsZV9wcm92aWRlcnNfZm9yX3VzZXIoJHVzZXJfaWQpCiAgICB7CiAgICAgICAgJGFsbF9wcm92aWRlcnMgPSBzZWxmOjpnZXRfcHJvdmlkZXJzKCk7CiAgICAgICAgJGVuYWJsZWQgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0X2VuYWJsZWRfcHJvdmlkZXJzKCR1c2VyX2lkKTsKICAgICAgICAkYXZhaWxhYmxlID0gW107CgogICAgICAgIGZvcmVhY2ggKCRhbGxfcHJvdmlkZXJzIGFzICRrZXkgPT4gJHByb3ZpZGVyKSB7CiAgICAgICAgICAgIGlmIChpbl9hcnJheSgka2V5LCAkZW5hYmxlZCkgJiYgJHByb3ZpZGVyLT5pc19hdmFpbGFibGVfZm9yX3VzZXIoJHVzZXJfaWQpKSB7CiAgICAgICAgICAgICAgICAkYXZhaWxhYmxlWyRrZXldID0gJHByb3ZpZGVyOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGF2YWlsYWJsZTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9wcmltYXJ5X3Byb3ZpZGVyX2Zvcl91c2VyKCR1c2VyX2lkKQogICAgewogICAgICAgICRwcmltYXJ5X2tleSA9IFR3b0ZhY3RvclVzZXJNZXRhOjpnZXRfcHJpbWFyeV9wcm92aWRlcigkdXNlcl9pZCk7CiAgICAgICAgJGF2YWlsYWJsZSA9IHNlbGY6OmdldF9hdmFpbGFibGVfcHJvdmlkZXJzX2Zvcl91c2VyKCR1c2VyX2lkKTsKCiAgICAgICAgaWYgKCRwcmltYXJ5X2tleSAmJiBpc3NldCgkYXZhaWxhYmxlWyRwcmltYXJ5X2tleV0pKSB7CiAgICAgICAgICAgIHJldHVybiAkYXZhaWxhYmxlWyRwcmltYXJ5X2tleV07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gIWVtcHR5KCRhdmFpbGFibGUpID8gcmVzZXQoJGF2YWlsYWJsZSkgOiBudWxsOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfdXNlcl91c2luZ190d29fZmFjdG9yKCR1c2VyX2lkKQogICAgewogICAgICAgICRjb25maWcgPSBcY21zX3V0aWxzOjpnZXRfY29uZmlnKCk7CiAgICAgICAgaWYgKGlzc2V0KCRjb25maWdbJ3R3b2ZhY3Rvcl9ieXBhc3MnXSApICYmICRjb25maWdbJ3R3b2ZhY3Rvcl9ieXBhc3MnXSAgPT09IHRydWUpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkcHJpbWFyeSA9IFR3b0ZhY3RvclVzZXJNZXRhOjpnZXRfcHJpbWFyeV9wcm92aWRlcigkdXNlcl9pZCk7CiAgICAgICAgCiAgICAgICAgLy8gVXNlciBtdXN0IGV4cGxpY2l0bHkgc2V0IGEgcHJpbWFyeSBwcm92aWRlciAobm90ICdkaXNhYmxlZCcgYW5kIG5vdCBudWxsKQogICAgICAgIGlmICghJHByaW1hcnkgfHwgJHByaW1hcnkgPT09ICdkaXNhYmxlZCcpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBWZXJpZnkgdGhlIHByaW1hcnkgcHJvdmlkZXIgaXMgYWN0dWFsbHkgYXZhaWxhYmxlCiAgICAgICAgcmV0dXJuIHNlbGY6OmdldF9wcmltYXJ5X3Byb3ZpZGVyX2Zvcl91c2VyKCR1c2VyX2lkKSAhPT0gbnVsbDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGVuYWJsZV9wcm92aWRlcl9mb3JfdXNlcigkdXNlcl9pZCwgJHByb3ZpZGVyX2tleSkKICAgIHsKICAgICAgICAkZW5hYmxlZCA9IFR3b0ZhY3RvclVzZXJNZXRhOjpnZXRfZW5hYmxlZF9wcm92aWRlcnMoJHVzZXJfaWQpOwogICAgICAgIGlmICghaW5fYXJyYXkoJHByb3ZpZGVyX2tleSwgJGVuYWJsZWQpKSB7CiAgICAgICAgICAgICRlbmFibGVkW10gPSAkcHJvdmlkZXJfa2V5OwogICAgICAgICAgICByZXR1cm4gVHdvRmFjdG9yVXNlck1ldGE6OnNldF9lbmFibGVkX3Byb3ZpZGVycygkdXNlcl9pZCwgJGVuYWJsZWQpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRpc2FibGVfcHJvdmlkZXJfZm9yX3VzZXIoJHVzZXJfaWQsICRwcm92aWRlcl9rZXkpCiAgICB7CiAgICAgICAgJGVuYWJsZWQgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0X2VuYWJsZWRfcHJvdmlkZXJzKCR1c2VyX2lkKTsKICAgICAgICAkZW5hYmxlZCA9IGFycmF5X2RpZmYoJGVuYWJsZWQsIFskcHJvdmlkZXJfa2V5XSk7CiAgICAgICAgcmV0dXJuIFR3b0ZhY3RvclVzZXJNZXRhOjpzZXRfZW5hYmxlZF9wcm92aWRlcnMoJHVzZXJfaWQsIGFycmF5X3ZhbHVlcygkZW5hYmxlZCkpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2V0X3ByaW1hcnlfcHJvdmlkZXIoJHVzZXJfaWQsICRwcm92aWRlcl9rZXkpCiAgICB7CiAgICAgICAgcmV0dXJuIFR3b0ZhY3RvclVzZXJNZXRhOjpzZXRfcHJpbWFyeV9wcm92aWRlcigkdXNlcl9pZCwgJHByb3ZpZGVyX2tleSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfdGVtcGxhdGUoJHBhcmFtcywgJGtleSwgJHR5cGVuYW1lKQogICAgewogICAgICAgIGlmKCRrZXkpCiAgICAgICAgewogICAgICAgICR0cGwgPSBceHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywgJGtleSk7CiAgICAgICAgaWYoJHRwbCkgeyByZXR1cm4gJHRwbDsgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAkdHBsID0gXENtc0xheW91dFRlbXBsYXRlOjpsb2FkX2RmbHRfYnlfdHlwZSgkdHlwZW5hbWUpOwogICAgICAgIAogICAgICAgIGlmKCR0cGwpIHsgcmV0dXJuICR0cGwtPmdldF9uYW1lKCk7IH0KICAgICAgICAKICAgICAgICBcYXVkaXQoJycsICdUd29GYWN0b3InLCAnTm8gZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0eXBlICcgLiAkdHlwZW5hbWUgLiAnIGZvdW5kJyk7CiAgICAgICAgCiAgICAgICAgcmV0dXJuICcnOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/lib/class.TwoFactorProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmFic3RyYWN0IGNsYXNzIFR3b0ZhY3RvclByb3ZpZGVyCnsKICAgIHByb3RlY3RlZCBzdGF0aWMgJGluc3RhbmNlcyA9IFtdOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2luc3RhbmNlKCkKICAgIHsKICAgICAgICAkY2xhc3MgPSBnZXRfY2FsbGVkX2NsYXNzKCk7CiAgICAgICAgaWYgKCFpc3NldChzZWxmOjokaW5zdGFuY2VzWyRjbGFzc10pKSB7CiAgICAgICAgICAgIHNlbGY6OiRpbnN0YW5jZXNbJGNsYXNzXSA9IG5ldyAkY2xhc3MoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHNlbGY6OiRpbnN0YW5jZXNbJGNsYXNzXTsKICAgIH0KCiAgICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X2tleSgpOwogICAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF9sYWJlbCgpOwogICAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGF1dGhlbnRpY2F0aW9uX3BhZ2UoJHVzZXIpOwogICAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlX2F1dGhlbnRpY2F0aW9uKCR1c2VyLCAkcGFyYW1zID0gW10pOwogICAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGlzX2F2YWlsYWJsZV9mb3JfdXNlcigkdXNlcik7CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9hbHRlcm5hdGl2ZV9sYWJlbCgpCiAgICB7CiAgICAgICAgcmV0dXJuIHNwcmludGYoJ1VzZSAlcycsICR0aGlzLT5nZXRfbGFiZWwoKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHByZV9wcm9jZXNzX2F1dGhlbnRpY2F0aW9uKCR1c2VyKQogICAgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2NvZGUoJGxlbmd0aCA9IDgsICRjaGFycyA9ICcxMjM0NTY3ODkwJykKICAgIHsKICAgICAgICAkY29kZSA9ICcnOwogICAgICAgIGZvciAoJGkgPSAwOyAkaSA8ICRsZW5ndGg7ICRpKyspIHsKICAgICAgICAgICAgJGNvZGUgLj0gJGNoYXJzW3JhbmQoMCwgc3RybGVuKCRjaGFycykgLSAxKV07CiAgICAgICAgfQogICAgICAgIHJldHVybiAkY29kZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2FuaXRpemVfY29kZV9mcm9tX3JlcXVlc3QoJGZpZWxkLCAkbGVuZ3RoID0gMCkKICAgIHsKICAgICAgICBpZiAoZW1wdHkoJF9SRVFVRVNUWyRmaWVsZF0pKSByZXR1cm4gZmFsc2U7CiAgICAgICAgJGNvZGUgPSBwcmVnX3JlcGxhY2UoJy9ccysvJywgJycsICRfUkVRVUVTVFskZmllbGRdKTsKICAgICAgICBpZiAoJGxlbmd0aCAmJiBzdHJsZW4oJGNvZGUpICE9PSAkbGVuZ3RoKSByZXR1cm4gZmFsc2U7CiAgICAgICAgcmV0dXJuICRjb2RlOwogICAgfQogICAgCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2FuaXRpemVfY29kZSgkdmFsdWUsICRsZW5ndGggPSAwKQogICAgewogICAgICAgIGlmIChlbXB0eSgkdmFsdWUpKSByZXR1cm4gZmFsc2U7CiAgICAgICAgJGNvZGUgPSBwcmVnX3JlcGxhY2UoJy9ccysvJywgJycsICR2YWx1ZSk7CiAgICAgICAgaWYgKCRsZW5ndGggJiYgc3RybGVuKCRjb2RlKSAhPT0gJGxlbmd0aCkgcmV0dXJuIGZhbHNlOwogICAgICAgIHJldHVybiAkY29kZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/lib/class.TwoFactorProviderBackupCodes.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmNsYXNzIFR3b0ZhY3RvclByb3ZpZGVyQmFja3VwQ29kZXMgZXh0ZW5kcyBUd29GYWN0b3JQcm92aWRlcgp7CiAgICBwcml2YXRlIHN0YXRpYyAkaW5zdGFuY2U7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfaW5zdGFuY2UoKQogICAgewogICAgICAgIGlmICghc2VsZjo6JGluc3RhbmNlKSB7CiAgICAgICAgICAgIHNlbGY6OiRpbnN0YW5jZSA9IG5ldyBzZWxmKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzZWxmOjokaW5zdGFuY2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9rZXkoKQogICAgewogICAgICAgIHJldHVybiAnVHdvRmFjdG9yUHJvdmlkZXJCYWNrdXBDb2Rlcyc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9sYWJlbCgpCiAgICB7CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVHdvRmFjdG9yJyk7CiAgICAgICAgcmV0dXJuICRtb2QtPkxhbmcoJ3Byb3ZpZGVyX2JhY2t1cF9jb2RlcycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc19hdmFpbGFibGVfZm9yX3VzZXIoJHVzZXJfaWQpCiAgICB7CiAgICAgICAgJGNvZGVzID0gJHRoaXMtPmdldF9jb2RlcygkdXNlcl9pZCk7CiAgICAgICAgcmV0dXJuICFlbXB0eSgkY29kZXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5lcmF0ZV9jb2RlcygkY291bnQgPSAxMCkKICAgIHsKICAgICAgICAkY29kZXMgPSBbXTsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAkY291bnQ7ICRpKyspIHsKICAgICAgICAgICAgJGNvZGVzW10gPSBzdHJ0b2xvd2VyKGJpbjJoZXgocmFuZG9tX2J5dGVzKDQpKSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkY29kZXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9jb2RlcygkdXNlcl9pZCkKICAgIHsKICAgICAgICAkY29kZXMgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1c2VyX2lkLCAnYmFja3VwX2NvZGVzJyk7CiAgICAgICAgcmV0dXJuIGlzX2FycmF5KCRjb2RlcykgPyAkY29kZXMgOiBbXTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2NvZGVzKCR1c2VyX2lkLCAkY29kZXMpCiAgICB7CiAgICAgICAgcmV0dXJuIFR3b0ZhY3RvclVzZXJNZXRhOjp1cGRhdGUoJHVzZXJfaWQsICdiYWNrdXBfY29kZXMnLCAkY29kZXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZV9hdXRoZW50aWNhdGlvbigkdXNlcl9pZCwgJHBhcmFtcyA9IFtdKQogICAgewogICAgICAgICRzdWJtaXR0ZWRfY29kZSA9IHN0cnRvbG93ZXIocHJlZ19yZXBsYWNlKCcvXHMrLycsICcnLCAkcGFyYW1zWydhdXRoY29kZSddID8/ICcnKSk7CiAgICAgICAgJGNvZGVzID0gJHRoaXMtPmdldF9jb2RlcygkdXNlcl9pZCk7CiAgICAgICAgCiAgICAgICAgaWYgKGluX2FycmF5KCRzdWJtaXR0ZWRfY29kZSwgJGNvZGVzKSkgewogICAgICAgICAgICAkY29kZXMgPSBhcnJheV9kaWZmKCRjb2RlcywgWyRzdWJtaXR0ZWRfY29kZV0pOwogICAgICAgICAgICAkdGhpcy0+c2V0X2NvZGVzKCR1c2VyX2lkLCBhcnJheV92YWx1ZXMoJGNvZGVzKSk7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJfc2V0dXBfZm9ybSgkdXNlcl9pZCkKICAgIHsKICAgICAgICByZXR1cm4gJyc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGF1dGhlbnRpY2F0aW9uX3BhZ2UoJHVzZXJfaWQpCiAgICB7CiAgICAgICAgcmV0dXJuICcnOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/lib/class.TwoFactorProviderEmail.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmNsYXNzIFR3b0ZhY3RvclByb3ZpZGVyRW1haWwgZXh0ZW5kcyBUd29GYWN0b3JQcm92aWRlcgp7CiAgICBwcml2YXRlIHN0YXRpYyAkaW5zdGFuY2U7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfaW5zdGFuY2UoKQogICAgewogICAgICAgIGlmICghc2VsZjo6JGluc3RhbmNlKSB7CiAgICAgICAgICAgIHNlbGY6OiRpbnN0YW5jZSA9IG5ldyBzZWxmKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzZWxmOjokaW5zdGFuY2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9rZXkoKQogICAgewogICAgICAgIHJldHVybiAnVHdvRmFjdG9yUHJvdmlkZXJFbWFpbCc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9sYWJlbCgpCiAgICB7CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVHdvRmFjdG9yJyk7CiAgICAgICAgcmV0dXJuICRtb2QtPkxhbmcoJ3Byb3ZpZGVyX2VtYWlsJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzX2F2YWlsYWJsZV9mb3JfdXNlcigkdXNlcl9pZCkKICAgIHsKICAgICAgICAkdXNlciA9IFVzZXJPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+TG9hZFVzZXJCeUlEKCR1c2VyX2lkKTsKICAgICAgICByZXR1cm4gJHVzZXIgJiYgIWVtcHR5KCR1c2VyLT5lbWFpbCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdlbmVyYXRlX2FuZF9zZW5kX2NvZGUoJHVzZXJfaWQpCiAgICB7CiAgICAgICAgJGNvZGUgPSBzcHJpbnRmKCclMDZkJywgbXRfcmFuZCgwLCA5OTk5OTkpKTsKICAgICAgICAkZXhwaXJ5ID0gdGltZSgpICsgMTgwMDsgLy8gMzAgbWludXRlcyAoaW5jcmVhc2VkIGZyb20gMTApCiAgICAgICAgCiAgICAgICAgVHdvRmFjdG9yVXNlck1ldGE6OnVwZGF0ZSgkdXNlcl9pZCwgJ2VtYWlsX2NvZGUnLCAkY29kZSk7CiAgICAgICAgVHdvRmFjdG9yVXNlck1ldGE6OnVwZGF0ZSgkdXNlcl9pZCwgJ2VtYWlsX2NvZGVfZXhwaXJ5JywgJGV4cGlyeSk7CiAgICAgICAgCiAgICAgICAgJHVzZXIgPSBVc2VyT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPkxvYWRVc2VyQnlJRCgkdXNlcl9pZCk7CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVHdvRmFjdG9yJyk7CiAgICAgICAgCiAgICAgICAgJHRoZXRlbXBsYXRlID0gVHdvRmFjdG9yQ29yZTo6Z2V0X3RlbXBsYXRlKFtdLCAnJywgJ1R3b0ZhY3Rvcjo6ZW1haWxfdmVyaWZpY2F0aW9uJyk7CiAgICAgICAgaWYgKCEkdGhldGVtcGxhdGUpIHsKICAgICAgICAgICAgZXJyb3JfbG9nKCdUd29GYWN0b3JQcm92aWRlckVtYWlsOiBFbWFpbCB2ZXJpZmljYXRpb24gdGVtcGxhdGUgbm90IGZvdW5kLicpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICAgICAkdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJG1vZC0+R2V0VGVtcGxhdGVSZXNvdXJjZSgkdGhldGVtcGxhdGUpLCBudWxsLCBudWxsLCAkc21hcnR5KTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2NvZGUnLCAkY29kZSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCd1c2VyJywgJHVzZXIpOwogICAgICAgICRib2R5ID0gJHRwbC0+ZmV0Y2goKTsKICAgICAgICAKICAgICAgICAkbWFpbGVyID0gbmV3IGNtc19tYWlsZXIoKTsKICAgICAgICAkbWFpbGVyLT5BZGRBZGRyZXNzKCR1c2VyLT5lbWFpbCk7CiAgICAgICAgJG1haWxlci0+U2V0U3ViamVjdCgkbW9kLT5MYW5nKCdlbWFpbF9zdWJqZWN0JykpOwogICAgICAgICRtYWlsZXItPklzSFRNTCh0cnVlKTsKICAgICAgICAkbWFpbGVyLT5TZXRCb2R5KCRib2R5KTsKICAgICAgICAKICAgICAgICB0cnkgewogICAgICAgICAgICAkc2VudCA9ICRtYWlsZXItPlNlbmQoKTsKICAgICAgICB9IGNhdGNoIChcVGhyb3dhYmxlICRlKSB7CiAgICAgICAgICAgIGVycm9yX2xvZygnVHdvRmFjdG9yUHJvdmlkZXJFbWFpbDogbWFpbCBzZW5kIGZhaWxlZDogJyAuICRlLT5nZXRNZXNzYWdlKCkpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIHJldHVybiAoYm9vbCkgJHNlbnQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlX2F1dGhlbnRpY2F0aW9uKCR1c2VyX2lkLCAkcGFyYW1zID0gW10pCiAgICB7CiAgICAgICAgJHN1Ym1pdHRlZF9jb2RlID0gcHJlZ19yZXBsYWNlKCcvXHMrLycsICcnLCAkcGFyYW1zWydhdXRoY29kZSddID8/ICcnKTsKICAgICAgICAkc3RvcmVkX2NvZGUgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1c2VyX2lkLCAnZW1haWxfY29kZScpOwogICAgICAgICRleHBpcnkgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1c2VyX2lkLCAnZW1haWxfY29kZV9leHBpcnknKTsKICAgICAgICAKICAgICAgICBpZiAoISRzdG9yZWRfY29kZSB8fCAhJGV4cGlyeSB8fCB0aW1lKCkgPiAkZXhwaXJ5KSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYgKHN0cnZhbCgkc3VibWl0dGVkX2NvZGUpID09PSBzdHJ2YWwoJHN0b3JlZF9jb2RlKSkgewogICAgICAgICAgICBUd29GYWN0b3JVc2VyTWV0YTo6ZGVsZXRlKCR1c2VyX2lkLCAnZW1haWxfY29kZScpOwogICAgICAgICAgICBUd29GYWN0b3JVc2VyTWV0YTo6ZGVsZXRlKCR1c2VyX2lkLCAnZW1haWxfY29kZV9leHBpcnknKTsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlcl9zZXR1cF9mb3JtKCR1c2VyX2lkKQogICAgewogICAgICAgICR1c2VyID0gVXNlck9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5Mb2FkVXNlckJ5SUQoJHVzZXJfaWQpOwogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1R3b0ZhY3RvcicpOwogICAgICAgIAogICAgICAgIGlmICghJHVzZXIgfHwgISR1c2VyLT5lbWFpbCkgewogICAgICAgICAgICByZXR1cm4gJzxwPicgLiAkbW9kLT5MYW5nKCdlbWFpbF9ub19hZGRyZXNzJykgLiAnPC9wPic7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiAnPHA+JyAuICRtb2QtPkxhbmcoJ2VtYWlsX3NldHVwX2luZm8nLCAkdXNlci0+ZW1haWwpIC4gJzwvcD4nOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhdXRoZW50aWNhdGlvbl9wYWdlKCR1c2VyX2lkKQogICAgewogICAgICAgIHJldHVybiAnJzsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/lib/class.TwoFactorProviderPasskey.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CgpyZXF1aXJlX29uY2UgX19ESVJfXyAuICcvV2ViQXV0aG4vV2ViQXV0aG4ucGhwJzsKcmVxdWlyZV9vbmNlIF9fRElSX18gLiAnL1dlYkF1dGhuL0Nib3JEZWNvZGVyLnBocCc7Cgp1c2UgVHdvRmFjdG9yXFdlYkF1dGhuXFdlYkF1dGhuOwoKY2xhc3MgVHdvRmFjdG9yUHJvdmlkZXJQYXNza2V5IGV4dGVuZHMgVHdvRmFjdG9yUHJvdmlkZXIKewogICAgY29uc3QgQ1JFREVOVElBTF9NRVRBX0tFWSA9ICdfdHdvX2ZhY3Rvcl9wYXNza2V5X2NyZWRlbnRpYWwnOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfa2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ1R3b0ZhY3RvclByb3ZpZGVyUGFzc2tleSc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9sYWJlbCgpCiAgICB7CiAgICAgICAgcmV0dXJuICdQYXNza2V5JzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FsdGVybmF0aXZlX2xhYmVsKCkKICAgIHsKICAgICAgICByZXR1cm4gJ1VzZSB5b3VyIHBhc3NrZXkgKGJpb21ldHJpY3MgLyBkZXZpY2UpJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNfYXZhaWxhYmxlX2Zvcl91c2VyKCR1c2VyX2lkKQogICAgewogICAgICAgIHJldHVybiAhZW1wdHkoJHRoaXMtPmdldF9jcmVkZW50aWFsKCR1c2VyX2lkKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGF1dGhlbnRpY2F0aW9uX3BhZ2UoJHVzZXIpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1R3b0ZhY3RvcicpOwogICAgICAgICRzbWFydHkgPSBcY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAgICAgJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCRtb2QtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ3ZlcmlmeV9wYXNza2V5X2ZpZWxkLnRwbCcpLCBudWxsLCBudWxsLCAkc21hcnR5KTsKICAgICAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlX2F1dGhlbnRpY2F0aW9uKCR1c2VyX2lkLCAkcGFyYW1zID0gW10pCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gJHBhcmFtc1snd2ViYXV0aG5fcmVzcG9uc2UnXSA/PyAnJzsKICAgICAgICBpZiAoZW1wdHkoJHJlc3BvbnNlKSkgcmV0dXJuIGZhbHNlOwoKICAgICAgICAvLyBDTVNNUyBmb3JtIHByb2Nlc3NpbmcgSFRNTC1lbmNvZGVzIHZhbHVlcyDigJQgZGVjb2RlIGJlZm9yZSBKU09OIHBhcnNlCiAgICAgICAgJHJlc3BvbnNlID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRyZXNwb25zZSwgRU5UX1FVT1RFUywgJ1VURi04Jyk7CgogICAgICAgICRjaGFsbGVuZ2UgPSAkX1NFU1NJT05bJ3R3b2ZhY3Rvcl93ZWJhdXRobl9jaGFsbGVuZ2UnXSA/PyAnJzsKICAgICAgICBpZiAoZW1wdHkoJGNoYWxsZW5nZSkpIHJldHVybiBmYWxzZTsKCiAgICAgICAgJGRlY29kZWQgPSBqc29uX2RlY29kZSgkcmVzcG9uc2UsIHRydWUpOwogICAgICAgIGlmICghJGRlY29kZWQgfHwgIWlzc2V0KCRkZWNvZGVkWydjbGllbnREYXRhSlNPTiddLCAkZGVjb2RlZFsnYXV0aGVudGljYXRvckRhdGEnXSwgJGRlY29kZWRbJ3NpZ25hdHVyZSddKSkgcmV0dXJuIGZhbHNlOwoKICAgICAgICAvLyBUcnkgYmFzZSBjcmVkZW50aWFsIGZpcnN0CiAgICAgICAgJGNyZWQgPSAkdGhpcy0+Z2V0X2NyZWRlbnRpYWwoJHVzZXJfaWQpOwogICAgICAgIGlmICgkY3JlZCkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgJHdlYmF1dGhuID0gc2VsZjo6Z2V0X3dlYmF1dGhuX2luc3RhbmNlKCk7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJHdlYmF1dGhuLT5wcm9jZXNzR2V0KAogICAgICAgICAgICAgICAgICAgICRkZWNvZGVkWydjbGllbnREYXRhSlNPTiddLAogICAgICAgICAgICAgICAgICAgICRkZWNvZGVkWydhdXRoZW50aWNhdG9yRGF0YSddLAogICAgICAgICAgICAgICAgICAgICRkZWNvZGVkWydzaWduYXR1cmUnXSwKICAgICAgICAgICAgICAgICAgICAkY3JlZFsncHVibGljX2tleSddLAogICAgICAgICAgICAgICAgICAgICRjaGFsbGVuZ2UsCiAgICAgICAgICAgICAgICAgICAgJGNyZWRbJ3NpZ25fY291bnQnXSA/PyAwCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgJGNyZWRbJ3NpZ25fY291bnQnXSA9ICRyZXN1bHQtPnNpZ25Db3VudDsKICAgICAgICAgICAgICAgICRjcmVkWydsYXN0X3VzZWRfYXQnXSA9IHRpbWUoKTsKICAgICAgICAgICAgICAgICR0aGlzLT5zYXZlX2NyZWRlbnRpYWwoJHVzZXJfaWQsICRjcmVkKTsKICAgICAgICAgICAgICAgIHVuc2V0KCRfU0VTU0lPTlsndHdvZmFjdG9yX3dlYmF1dGhuX2NoYWxsZW5nZSddKTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICBlcnJvcl9sb2coJ1R3b0ZhY3RvciBQYXNza2V5OiBiYXNlIGNyZWRlbnRpYWwgdmFsaWRhdGlvbiBmYWlsZWQ6ICcgLiAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICAgICAgICAgIC8vIEZhbGwgdGhyb3VnaCB0byBQcm8gY3JlZGVudGlhbHMKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gVHJ5IFBybyBjcmVkZW50aWFscyAobXVsdGkta2V5KQogICAgICAgIGlmIChcVHdvRmFjdG9yOjpJc1Byb0FjdGl2ZSgpICYmIGNsYXNzX2V4aXN0cygnVHdvRmFjdG9yV2ViQXV0aG5Qcm8nKSkgewogICAgICAgICAgICAkbWF0Y2hlZCA9IFR3b0ZhY3RvcldlYkF1dGhuUHJvOjp2YWxpZGF0ZV9hdXRoZW50aWNhdGlvbigkdXNlcl9pZCwgJHJlc3BvbnNlLCAkY2hhbGxlbmdlKTsKICAgICAgICAgICAgaWYgKCRtYXRjaGVkKSB7CiAgICAgICAgICAgICAgICB1bnNldCgkX1NFU1NJT05bJ3R3b2ZhY3Rvcl93ZWJhdXRobl9jaGFsbGVuZ2UnXSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwcmVfcHJvY2Vzc19hdXRoZW50aWNhdGlvbigkdXNlcikKICAgIHsKICAgICAgICAvLyBHZW5lcmF0ZSBjaGFsbGVuZ2UgZm9yIHRoZSBhdXRoZW50aWNhdGlvbiBjZXJlbW9ueQogICAgICAgICR3ZWJhdXRobiA9IHNlbGY6OmdldF93ZWJhdXRobl9pbnN0YW5jZSgpOwogICAgICAgICRjaGFsbGVuZ2UgPSAkd2ViYXV0aG4tPmNyZWF0ZUNoYWxsZW5nZSgpOwogICAgICAgICRfU0VTU0lPTlsndHdvZmFjdG9yX3dlYmF1dGhuX2NoYWxsZW5nZSddID0gJGNoYWxsZW5nZTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICAvLyAtLS0gQ3JlZGVudGlhbCBzdG9yYWdlIChzaW5nbGUga2V5IGZvciBmcmVlIHRpZXIpIC0tLQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfY3JlZGVudGlhbCgkdXNlcl9pZCkKICAgIHsKICAgICAgICByZXR1cm4gVHdvRmFjdG9yVXNlck1ldGE6OmdldCgkdXNlcl9pZCwgc2VsZjo6Q1JFREVOVElBTF9NRVRBX0tFWSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNhdmVfY3JlZGVudGlhbCgkdXNlcl9pZCwgJGNyZWRlbnRpYWwpCiAgICB7CiAgICAgICAgcmV0dXJuIFR3b0ZhY3RvclVzZXJNZXRhOjp1cGRhdGUoJHVzZXJfaWQsIHNlbGY6OkNSRURFTlRJQUxfTUVUQV9LRVksICRjcmVkZW50aWFsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlX2NyZWRlbnRpYWwoJHVzZXJfaWQpCiAgICB7CiAgICAgICAgcmV0dXJuIFR3b0ZhY3RvclVzZXJNZXRhOjpkZWxldGUoJHVzZXJfaWQsIHNlbGY6OkNSRURFTlRJQUxfTUVUQV9LRVkpOwogICAgfQoKICAgIC8vIC0tLSBSZWdpc3RyYXRpb24gaGVscGVycyAtLS0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3JlZ2lzdHJhdGlvbl9vcHRpb25zKCR1c2VyX2lkLCAkdXNlcm5hbWUpCiAgICB7CiAgICAgICAgJHdlYmF1dGhuID0gc2VsZjo6Z2V0X3dlYmF1dGhuX2luc3RhbmNlKCk7CiAgICAgICAgJGNoYWxsZW5nZSA9ICR3ZWJhdXRobi0+Y3JlYXRlQ2hhbGxlbmdlKCk7CiAgICAgICAgJF9TRVNTSU9OWyd0d29mYWN0b3Jfd2ViYXV0aG5fcmVnX2NoYWxsZW5nZSddID0gJGNoYWxsZW5nZTsKCiAgICAgICAgJGV4Y2x1ZGUgPSBbXTsKICAgICAgICAkY3JlZCA9ICR0aGlzLT5nZXRfY3JlZGVudGlhbCgkdXNlcl9pZCk7CiAgICAgICAgaWYgKCRjcmVkKSB7CiAgICAgICAgICAgICRleGNsdWRlW10gPSAkY3JlZFsnY3JlZGVudGlhbF9pZCddOwogICAgICAgIH0KCiAgICAgICAgLy8gUHJvOiBhbHNvIGV4Y2x1ZGUgY3JlZGVudGlhbHMgZnJvbSB0aGUgbXVsdGkta2V5IHRhYmxlCiAgICAgICAgaWYgKFxUd29GYWN0b3I6OklzUHJvQWN0aXZlKCkgJiYgY2xhc3NfZXhpc3RzKCdUd29GYWN0b3JXZWJBdXRoblBybycpKSB7CiAgICAgICAgICAgICRwcm9LZXlzID0gVHdvRmFjdG9yV2ViQXV0aG5Qcm86OmdldF9jcmVkZW50aWFscygkdXNlcl9pZCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRwcm9LZXlzIGFzICRrKSB7CiAgICAgICAgICAgICAgICAkZXhjbHVkZVtdID0gJGtbJ2NyZWRlbnRpYWxfaWQnXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR3ZWJhdXRobi0+Z2V0Q3JlYXRlQXJncygKICAgICAgICAgICAgKHN0cmluZykkdXNlcl9pZCwKICAgICAgICAgICAgJHVzZXJuYW1lLAogICAgICAgICAgICAkY2hhbGxlbmdlLAogICAgICAgICAgICAkZXhjbHVkZSwKICAgICAgICAgICAgJ3BsYXRmb3JtJywgICAgICAgLy8gRnJlZSB0aWVyOiBwbGF0Zm9ybSBhdXRoZW50aWNhdG9ycyBvbmx5IChwYXNza2V5cykKICAgICAgICAgICAgJ3ByZWZlcnJlZCcsCiAgICAgICAgICAgICdwcmVmZXJyZWQnCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcHJvY2Vzc19yZWdpc3RyYXRpb24oJHVzZXJfaWQsICRyZXNwb25zZV9qc29uKQogICAgewogICAgICAgICRkYXRhID0ganNvbl9kZWNvZGUoJHJlc3BvbnNlX2pzb24sIHRydWUpOwogICAgICAgIGlmICghJGRhdGEpIHRocm93IG5ldyBcRXhjZXB0aW9uKCdJbnZhbGlkIHJlZ2lzdHJhdGlvbiByZXNwb25zZScpOwoKICAgICAgICAkY2hhbGxlbmdlID0gJF9TRVNTSU9OWyd0d29mYWN0b3Jfd2ViYXV0aG5fcmVnX2NoYWxsZW5nZSddID8/ICcnOwogICAgICAgIGlmIChlbXB0eSgkY2hhbGxlbmdlKSkgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ05vIHJlZ2lzdHJhdGlvbiBjaGFsbGVuZ2UgZm91bmQnKTsKCiAgICAgICAgJHdlYmF1dGhuID0gc2VsZjo6Z2V0X3dlYmF1dGhuX2luc3RhbmNlKCk7CiAgICAgICAgJHJlc3VsdCA9ICR3ZWJhdXRobi0+cHJvY2Vzc0NyZWF0ZSgKICAgICAgICAgICAgJGRhdGFbJ2NsaWVudERhdGFKU09OJ10sCiAgICAgICAgICAgICRkYXRhWydhdHRlc3RhdGlvbk9iamVjdCddLAogICAgICAgICAgICAkY2hhbGxlbmdlCiAgICAgICAgKTsKCiAgICAgICAgJGNyZWRlbnRpYWwgPSBbCiAgICAgICAgICAgICdjcmVkZW50aWFsX2lkJyA9PiAkcmVzdWx0LT5jcmVkZW50aWFsSWQsCiAgICAgICAgICAgICdwdWJsaWNfa2V5JyAgICA9PiAkcmVzdWx0LT5jcmVkZW50aWFsUHVibGljS2V5LAogICAgICAgICAgICAnc2lnbl9jb3VudCcgICAgPT4gJHJlc3VsdC0+c2lnbkNvdW50LAogICAgICAgICAgICAnYWFndWlkJyAgICAgICAgPT4gJHJlc3VsdC0+YWFndWlkID8/IG51bGwsCiAgICAgICAgICAgICd0eXBlJyAgICAgICAgICA9PiAncGxhdGZvcm0nLAogICAgICAgICAgICAnbmFtZScgICAgICAgICAgPT4gc2VsZjo6Z2V0X2F1dGhlbnRpY2F0b3JfbmFtZSgkcmVzdWx0LT5hYWd1aWQgPz8gJycpID86ICdQYXNza2V5JywKICAgICAgICAgICAgJ2NyZWF0ZWRfYXQnICAgID0+IHRpbWUoKSwKICAgICAgICAgICAgJ2xhc3RfdXNlZF9hdCcgID0+IDAsCiAgICAgICAgXTsKCiAgICAgICAgJHRoaXMtPnNhdmVfY3JlZGVudGlhbCgkdXNlcl9pZCwgJGNyZWRlbnRpYWwpOwogICAgICAgIHVuc2V0KCRfU0VTU0lPTlsndHdvZmFjdG9yX3dlYmF1dGhuX3JlZ19jaGFsbGVuZ2UnXSk7CgogICAgICAgIHJldHVybiAkY3JlZGVudGlhbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2F1dGhlbnRpY2F0aW9uX29wdGlvbnMoJHVzZXJfaWQpCiAgICB7CiAgICAgICAgJHdlYmF1dGhuID0gc2VsZjo6Z2V0X3dlYmF1dGhuX2luc3RhbmNlKCk7CiAgICAgICAgJGNoYWxsZW5nZSA9ICR3ZWJhdXRobi0+Y3JlYXRlQ2hhbGxlbmdlKCk7CiAgICAgICAgJF9TRVNTSU9OWyd0d29mYWN0b3Jfd2ViYXV0aG5fY2hhbGxlbmdlJ10gPSAkY2hhbGxlbmdlOwoKICAgICAgICAkYWxsb3cgPSBbXTsKICAgICAgICAkY3JlZCA9ICR0aGlzLT5nZXRfY3JlZGVudGlhbCgkdXNlcl9pZCk7CiAgICAgICAgaWYgKCRjcmVkKSB7CiAgICAgICAgICAgICRhbGxvd1tdID0gJGNyZWRbJ2NyZWRlbnRpYWxfaWQnXTsKICAgICAgICB9CgogICAgICAgIC8vIFBybzogYWxzbyBpbmNsdWRlIGNyZWRlbnRpYWxzIGZyb20gdGhlIG11bHRpLWtleSB0YWJsZQogICAgICAgIGlmIChcVHdvRmFjdG9yOjpJc1Byb0FjdGl2ZSgpICYmIGNsYXNzX2V4aXN0cygnVHdvRmFjdG9yV2ViQXV0aG5Qcm8nKSkgewogICAgICAgICAgICAkcHJvS2V5cyA9IFR3b0ZhY3RvcldlYkF1dGhuUHJvOjpnZXRfY3JlZGVudGlhbHMoJHVzZXJfaWQpOwogICAgICAgICAgICBmb3JlYWNoICgkcHJvS2V5cyBhcyAkaykgewogICAgICAgICAgICAgICAgJGFsbG93W10gPSAka1snY3JlZGVudGlhbF9pZCddOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHdlYmF1dGhuLT5nZXRHZXRBcmdzKCRjaGFsbGVuZ2UsICRhbGxvdywgJ3ByZWZlcnJlZCcpOwogICAgfQoKICAgIC8vIC0tLSBVdGlsaXR5IC0tLQoKICAgIC8qKgogICAgICogS25vd24gQUFHVUlEIHRvIGF1dGhlbnRpY2F0b3IgbmFtZSBtYXBwaW5nLgogICAgICogU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vbmljbGFzLW5pY2xhcy9hYWd1aWQKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgJEFBR1VJRF9NQVAgPSBbCiAgICAgICAgLy8gQXBwbGUKICAgICAgICAnZmJmYzMwMDctMTU0ZS00ZWNjLThjMGItNmUwMjA1NTdkN2JkJyA9PiAnaUNsb3VkIEtleWNoYWluJywKICAgICAgICAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwJyA9PiBudWxsLCAvLyBObyBBQUdVSUQgKGF0dGVzdGF0aW9uPW5vbmUpCiAgICAgICAgLy8gR29vZ2xlCiAgICAgICAgJ2VhOWI4ZDY2LTRkMDEtMWQyMS0zY2U0LWI2YjQ4Y2I1NzVkNCcgPT4gJ0dvb2dsZSBQYXNzd29yZCBNYW5hZ2VyJywKICAgICAgICAnYWRjZTAwMDItMzViYy1jNjBhLTY0OGItMGIyNWYxZjA1NTAzJyA9PiAnR29vZ2xlIFBhc3N3b3JkIE1hbmFnZXInLAogICAgICAgICdiNTM5NzcyMy0zMWIxLTRhNWQtOGFmNy0zOWZkYWMyYmM5ZGUnID0+ICdHb29nbGUgUGFzc3dvcmQgTWFuYWdlcicsCiAgICAgICAgLy8gTWljcm9zb2Z0CiAgICAgICAgJzA4OTg3MDU4LWNhZGMtNGI4MS1iNmUxLTMwZGU1MGRjYmU5NicgPT4gJ1dpbmRvd3MgSGVsbG8nLAogICAgICAgICc5ZGRkMTgxNy1hZjVhLTQ2NzItYTJiOS0zZTNkZDk1MDAwYTknID0+ICdXaW5kb3dzIEhlbGxvJywKICAgICAgICAnNjAyOGIwMTctYjFkNC00YzAyLWI0YjMtYWZjZGFmYzk2YmIyJyA9PiAnV2luZG93cyBIZWxsbycsCiAgICAgICAgLy8gMVBhc3N3b3JkCiAgICAgICAgJ2JhZGE1NTY2LWE3YWEtNDAxZi1iZDk2LTQ1NjE5YTU1MTIwZCcgPT4gJzFQYXNzd29yZCcsCiAgICAgICAgJ2Q1NDg4MjZlLTc5YjQtZGI0MC1hM2Q4LTExMTE2ZjdlODM0OScgPT4gJzFQYXNzd29yZCcsCiAgICAgICAgLy8gQml0d2FyZGVuCiAgICAgICAgJ2Q1NDg4MjZlLTc5YjQtZGI0MC1hM2Q4LTExMTE2ZjdlODM0OScgPT4gJ0JpdHdhcmRlbicsCiAgICAgICAgJ2FhZ3VpZGFhLWJiY2MtZGRlZS0xMTIyLTMzNDQ1NTY2Nzc4OCcgPT4gJ0JpdHdhcmRlbicsCiAgICAgICAgLy8gRGFzaGxhbmUKICAgICAgICAnNTMxMTI2ZDYtZTcxNy00MTVjLTkzMjAtM2Q5YWE2OTgxMjM5JyA9PiAnRGFzaGxhbmUnLAogICAgICAgIC8vIFNhbXN1bmcKICAgICAgICAnNTM0MTRkNTMtNTU0ZS00NzAwLTAwMDAtMDAwMDAwMDAwMDAwJyA9PiAnU2Ftc3VuZyBQYXNzJywKICAgICAgICAvLyBZdWJpS2V5CiAgICAgICAgJzJmYzA1NzlmLTgxMTMtNDdlYS1iMTE2LWJiNWE4ZGI5MjAyYScgPT4gJ1l1YmlLZXkgNSBORkMnLAogICAgICAgICdmYTJiOTlkYy05ZTM5LTQyNTctOGY5Mi00YTMwZDIzYzQxMTgnID0+ICdZdWJpS2V5IDUgTkZDIEZJUFMnLAogICAgICAgICdjYjY5NDgxZS04ZmY3LTQwMzktOTNlYy0wYTI3MjlhMTU0YTgnID0+ICdZdWJpS2V5IDUgTmFubycsCiAgICAgICAgJ2VlODgyODc5LTcyMWMtNDkxMy05Nzc1LTNkZmNlZTk3NjE3YScgPT4gJ1l1YmlLZXkgNSBOYW5vJywKICAgICAgICAnYzVlZjU1ZmYtYWQ5YS00YjlmLWI1ODAtYWRlYmFmZTAyNmQwJyA9PiAnWXViaUtleSA1Q2knLAogICAgICAgICdkODUyMmQ5Zi01NzViLTQ4NjYtODhhOS1iYTk5ZmEwMmYzNWInID0+ICdZdWJpS2V5IEJpbycsCiAgICAgICAgJzczYmIwY2Q0LWU1MDItNDliOC05YzZmLWI1OTQ0NWJmNzIwYicgPT4gJ1l1YmlLZXkgNSBGSVBTJywKICAgICAgICAnYzFmOWEwYmMtMWRkMi00MDRhLWIyN2YtOGUyOTA0N2E0M2ZkJyA9PiAnWXViaUtleSA1IE5GQyBGSVBTJywKICAgICAgICAnYjkyYzNmOWEtYzAxNC00MDU2LTg4N2YtMTQwYTI1MDExNjNiJyA9PiAnU2VjdXJpdHkgS2V5IGJ5IFl1YmljbycsCiAgICAgICAgJ2Y4YTAxMWYzLThjMGEtNGQxNS04MDA2LTE3MTExZjllZGM3ZCcgPT4gJ1NlY3VyaXR5IEtleSBORkMgYnkgWXViaWNvJywKICAgICAgICAvLyBUaXRhbgogICAgICAgICc0MmI0ZmI0YS0yODY2LTQzYjItOWJmNy02YzY2NjljMmU1ZDMnID0+ICdHb29nbGUgVGl0YW4gU2VjdXJpdHkgS2V5JywKICAgICAgICAvLyBGZWl0aWFuCiAgICAgICAgJzc3MDEwYmQ3LTIxMmEtNGZjOS1iMjM2LWQyY2E1ZTlkNDA4NCcgPT4gJ0ZlaXRpYW4gQmlvUGFzcyBGSURPMicsCiAgICAgICAgLy8gU29sb0tleXMKICAgICAgICAnODg3NjYzMWItZDRhMC00MjdmLTU3NzMtMGVjNzFjOWUwMjc5JyA9PiAnU29sb0tleXMgU29sbyAyJywKICAgIF07CgogICAgLyoqCiAgICAgKiBSZXNvbHZlIEFBR1VJRCB0byBhIGh1bWFuLXJlYWRhYmxlIGF1dGhlbnRpY2F0b3IgbmFtZS4KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYXV0aGVudGljYXRvcl9uYW1lKCRhYWd1aWQpCiAgICB7CiAgICAgICAgaWYgKCEkYWFndWlkKSByZXR1cm4gbnVsbDsKICAgICAgICAkYWFndWlkID0gc3RydG9sb3dlcigkYWFndWlkKTsKICAgICAgICByZXR1cm4gc2VsZjo6JEFBR1VJRF9NQVBbJGFhZ3VpZF0gPz8gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJlc29sdmUgdGhlIHNpdGUncyBiYXNlIFVSTCByb2J1c3RseS4gQ01TX1JPT1RfVVJMIGlzIGFsd2F5cyBwb3B1bGF0ZWQKICAgICAqIGluIGEgd2ViIHJlcXVlc3Q7ICRjb25maWdbJ3Jvb3RfdXJsJ10gY2FuIGJlIGVtcHR5IHdoZW4gdGhlIHNpdGUgcmVsaWVzCiAgICAgKiBvbiBhdXRvLWRldGVjdGlvbi4gQW4gZW1wdHkgdmFsdWUgaGVyZSBwcmV2aW91c2x5IGNhdXNlZCB0aGUgV2ViQXV0aG4KICAgICAqIHJwSWQgdG8gZmFsbCBiYWNrIHRvICdsb2NhbGhvc3QnLCBicmVha2luZyBwYXNza2V5cyBvbiByZWFsIGRvbWFpbnMuCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGdldF9zaXRlX3VybCgpCiAgICB7CiAgICAgICAgaWYgKGRlZmluZWQoJ0NNU19ST09UX1VSTCcpICYmIENNU19ST09UX1VSTCkgewogICAgICAgICAgICByZXR1cm4gQ01TX1JPT1RfVVJMOwogICAgICAgIH0KICAgICAgICAkY29uZmlnID0gXGNtc191dGlsczo6Z2V0X2NvbmZpZygpOwogICAgICAgIHJldHVybiAkY29uZmlnWydyb290X3VybCddID8/ICcnOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3dlYmF1dGhuX2luc3RhbmNlKCkKICAgIHsKICAgICAgICAkcm9vdFVybCA9IHNlbGY6OmdldF9zaXRlX3VybCgpOwogICAgICAgICRwYXJzZWQgPSBwYXJzZV91cmwoJHJvb3RVcmwpOwogICAgICAgICRycElkID0gJHBhcnNlZFsnaG9zdCddID8/ICdsb2NhbGhvc3QnOwogICAgICAgICRzaXRlbmFtZSA9IGdldF9zaXRlX3ByZWZlcmVuY2UoJ3NpdGVuYW1lJywgJ0NNUyBNYWRlIFNpbXBsZScpOwoKICAgICAgICByZXR1cm4gbmV3IFdlYkF1dGhuKCRzaXRlbmFtZSwgJHJwSWQpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfd2ViYXV0aG5fc3VwcG9ydGVkKCkKICAgIHsKICAgICAgICAvLyBTZXJ2ZXItc2lkZTogbmVlZCBPcGVuU1NMCiAgICAgICAgaWYgKCFmdW5jdGlvbl9leGlzdHMoJ29wZW5zc2xfdmVyaWZ5JykpIHJldHVybiBmYWxzZTsKICAgICAgICAvLyBIVFRQUyBjaGVjayAoV2ViQXV0aG4gcmVxdWlyZXMgc2VjdXJlIGNvbnRleHQpCiAgICAgICAgJHJvb3RVcmwgPSBzZWxmOjpnZXRfc2l0ZV91cmwoKTsKICAgICAgICAvLyBXZWJBdXRobiBzcGVjIHJlcXVpcmVzIHNlY3VyZSBjb250ZXh0IChIVFRQUyBvciBsb29wYmFjayBmb3IgZGV2ZWxvcG1lbnQpCiAgICAgICAgJGlzU2VjdXJlID0gKHN0cnBvcygkcm9vdFVybCwgJ2h0dHBzOi8vJykgPT09IDApOwogICAgICAgIGlmICghJGlzU2VjdXJlKSB7CiAgICAgICAgICAgICRwYXJzZWQgPSBwYXJzZV91cmwoJHJvb3RVcmwpOwogICAgICAgICAgICAkaG9zdCA9ICRwYXJzZWRbJ2hvc3QnXSA/PyAnJzsKICAgICAgICAgICAgJGlzU2VjdXJlID0gaW5fYXJyYXkoJGhvc3QsIFsnbG9jYWxob3N0JywgJzEyNy4wLjAuMScsICc6OjEnXSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkaXNTZWN1cmU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
		<filename>/lib/class.TwoFactorProviderSMS.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmNsYXNzIFR3b0ZhY3RvclByb3ZpZGVyU01TIGV4dGVuZHMgVHdvRmFjdG9yUHJvdmlkZXIKewogICAgcHJpdmF0ZSBzdGF0aWMgJGluc3RhbmNlOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2luc3RhbmNlKCkKICAgIHsKICAgICAgICBpZiAoIXNlbGY6OiRpbnN0YW5jZSkgewogICAgICAgICAgICBzZWxmOjokaW5zdGFuY2UgPSBuZXcgc2VsZigpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gc2VsZjo6JGluc3RhbmNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfa2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJ1R3b0ZhY3RvclByb3ZpZGVyU01TJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2xhYmVsKCkKICAgIHsKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUd29GYWN0b3InKTsKICAgICAgICByZXR1cm4gJG1vZC0+TGFuZygncHJvdmlkZXJfc21zJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzX2F2YWlsYWJsZV9mb3JfdXNlcigkdXNlcl9pZCkKICAgIHsKICAgICAgICAkcGhvbmUgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1c2VyX2lkLCAnc21zX3Bob25lJyk7CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVHdvRmFjdG9yJyk7CiAgICAgICAgJHNtc19hdmFpbGFibGUgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCd0d29mYWN0b3Jfc21zX2F2YWlsYWJsZScsIGZhbHNlKTsKICAgICAgICAKICAgICAgICByZXR1cm4gIWVtcHR5KCRwaG9uZSkgJiYgJHNtc19hdmFpbGFibGUgPT0gdHJ1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuZXJhdGVfYW5kX3NlbmRfY29kZSgkdXNlcl9pZCkKICAgIHsKICAgICAgICAkcGhvbmUgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1c2VyX2lkLCAnc21zX3Bob25lJyk7CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVHdvRmFjdG9yJyk7CiAgICAgICAgJHNtc2NyZWRpdF9lbmFibGVkID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc2NyZWRpdF9lbmFibGVkJywgZmFsc2UpOwogICAgICAgIAogICAgICAgIC8vIFByaW9yaXRpemUgU01TIGNyZWRpdHMgaWYgZW5hYmxlZAogICAgICAgIGlmICgkc21zY3JlZGl0X2VuYWJsZWQpIHsKICAgICAgICAgICAgJGxpY2Vuc2Vfa2V5ID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc19wcm9kdWN0X2tleScsICcnKTsKICAgICAgICAgICAgJGRvbWFpbiA9IFR3b0ZhY3RvckNvcmU6OnNpdGVfZG9tYWluKCk7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoJGxpY2Vuc2Vfa2V5KSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gVHdvRmFjdG9yQVBJOjpzZW5kX3ZlcmlmaWNhdGlvbigkbGljZW5zZV9rZXksICRkb21haW4sICRwaG9uZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gaXNzZXQoJHJlc3VsdFsnc3VjY2VzcyddKSAmJiAkcmVzdWx0WydzdWNjZXNzJ107CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gRmFsbCBiYWNrIHRvIFR3aWxpbyBBUEkKICAgICAgICAkYXBpX2tleV9zaWQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCd0d29mYWN0b3JfdHdpbGlvX2FwaV9rZXknKTsKICAgICAgICAkYXBpX3NlY3JldCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fYXBpX3NlY3JldCcpOwogICAgICAgICRzZXJ2aWNlX3NpZCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fc2VydmljZV9zaWQnKTsKICAgICAgICAKICAgICAgICAkdXJsID0gImh0dHBzOi8vdmVyaWZ5LnR3aWxpby5jb20vdjIvU2VydmljZXMveyRzZXJ2aWNlX3NpZH0vVmVyaWZpY2F0aW9ucyI7CiAgICAgICAgCiAgICAgICAgJGRhdGEgPSBbCiAgICAgICAgICAgICdUbycgPT4gJHBob25lLAogICAgICAgICAgICAnQ2hhbm5lbCcgPT4gJ3NtcycKICAgICAgICBdOwogICAgICAgIAogICAgICAgICRjaCA9IGN1cmxfaW5pdCgkdXJsKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsIGh0dHBfYnVpbGRfcXVlcnkoJGRhdGEpKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSUFdELCAieyRhcGlfa2V5X3NpZH06eyRhcGlfc2VjcmV0fSIpOwogICAgICAgIAogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAkaHR0cF9jb2RlID0gY3VybF9nZXRpbmZvKCRjaCwgQ1VSTElORk9fSFRUUF9DT0RFKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgCiAgICAgICAgcmV0dXJuICRodHRwX2NvZGUgPj0gMjAwICYmICRodHRwX2NvZGUgPCAzMDA7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlX2F1dGhlbnRpY2F0aW9uKCR1c2VyX2lkLCAkcGFyYW1zID0gW10pCiAgICB7CiAgICAgICAgJHN1Ym1pdHRlZF9jb2RlID0gJHRoaXMtPnNhbml0aXplX2NvZGUoJHBhcmFtc1snYXV0aGNvZGUnXSA/PyAnJywgNik7CiAgICAgICAgaWYgKCEkc3VibWl0dGVkX2NvZGUpIHJldHVybiBmYWxzZTsKICAgICAgICAKICAgICAgICAkcGhvbmUgPSBUd29GYWN0b3JVc2VyTWV0YTo6Z2V0KCR1c2VyX2lkLCAnc21zX3Bob25lJyk7CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVHdvRmFjdG9yJyk7CiAgICAgICAgJHNtc2NyZWRpdF9lbmFibGVkID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc2NyZWRpdF9lbmFibGVkJywgZmFsc2UpOwogICAgICAgIAogICAgICAgIC8vIFByaW9yaXRpemUgU01TIGNyZWRpdHMgaWYgZW5hYmxlZAogICAgICAgIGlmICgkc21zY3JlZGl0X2VuYWJsZWQpIHsKICAgICAgICAgICAgJGxpY2Vuc2Vfa2V5ID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc19wcm9kdWN0X2tleScsICcnKTsKICAgICAgICAgICAgJGRvbWFpbiA9IFR3b0ZhY3RvckNvcmU6OnNpdGVfZG9tYWluKCk7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoJGxpY2Vuc2Vfa2V5KSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gVHdvRmFjdG9yQVBJOjp2ZXJpZnlfY29kZSgkbGljZW5zZV9rZXksICRkb21haW4sICRwaG9uZSwgJHN1Ym1pdHRlZF9jb2RlKTsKICAgICAgICAgICAgICAgIHJldHVybiBpc3NldCgkcmVzdWx0WydhcHByb3ZlZCddKSAmJiAkcmVzdWx0WydhcHByb3ZlZCddID09PSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIEZhbGwgYmFjayB0byBUd2lsaW8gQVBJCiAgICAgICAgJGFwaV9rZXlfc2lkID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19hcGlfa2V5Jyk7CiAgICAgICAgJGFwaV9zZWNyZXQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCd0d29mYWN0b3JfdHdpbGlvX2FwaV9zZWNyZXQnKTsKICAgICAgICAkc2VydmljZV9zaWQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCd0d29mYWN0b3JfdHdpbGlvX3NlcnZpY2Vfc2lkJyk7CiAgICAgICAgCiAgICAgICAgJHVybCA9ICJodHRwczovL3ZlcmlmeS50d2lsaW8uY29tL3YyL1NlcnZpY2VzL3skc2VydmljZV9zaWR9L1ZlcmlmaWNhdGlvbkNoZWNrIjsKICAgICAgICAKICAgICAgICAkZGF0YSA9IFsKICAgICAgICAgICAgJ1RvJyA9PiAkcGhvbmUsCiAgICAgICAgICAgICdDb2RlJyA9PiAkc3VibWl0dGVkX2NvZGUKICAgICAgICBdOwogICAgICAgIAogICAgICAgICRjaCA9IGN1cmxfaW5pdCgkdXJsKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsIGh0dHBfYnVpbGRfcXVlcnkoJGRhdGEpKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSUFdELCAieyRhcGlfa2V5X3NpZH06eyRhcGlfc2VjcmV0fSIpOwogICAgICAgIAogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAkaHR0cF9jb2RlID0gY3VybF9nZXRpbmZvKCRjaCwgQ1VSTElORk9fSFRUUF9DT0RFKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgCiAgICAgICAgaWYgKCRodHRwX2NvZGUgPj0gMjAwICYmICRodHRwX2NvZGUgPCAzMDApIHsKICAgICAgICAgICAgJHJlc3BvbnNlID0ganNvbl9kZWNvZGUoJHJlc3VsdCwgdHJ1ZSk7CiAgICAgICAgICAgIHJldHVybiBpc3NldCgkcmVzcG9uc2VbJ3N0YXR1cyddKSAmJiAkcmVzcG9uc2VbJ3N0YXR1cyddID09PSAnYXBwcm92ZWQnOwogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJfc2V0dXBfZm9ybSgkdXNlcl9pZCkKICAgIHsKICAgICAgICByZXR1cm4gJyc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGF1dGhlbnRpY2F0aW9uX3BhZ2UoJHVzZXJfaWQpCiAgICB7CiAgICAgICAgcmV0dXJuICcnOwogICAgfQogICAgCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHZlcmlmeV90d2lsaW9fY3JlZGVudGlhbHMoJGFwaV9rZXksICRhcGlfc2VjcmV0LCAkc2VydmljZV9zaWQpCiAgICB7CiAgICAgICAgJHVybCA9ICJodHRwczovL3ZlcmlmeS50d2lsaW8uY29tL3YyL1NlcnZpY2VzL3skc2VydmljZV9zaWR9IjsKICAgICAgICAKICAgICAgICAkY2ggPSBjdXJsX2luaXQoJHVybCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgInskYXBpX2tleX06eyRhcGlfc2VjcmV0fSIpOwogICAgICAgIAogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAkaHR0cF9jb2RlID0gY3VybF9nZXRpbmZvKCRjaCwgQ1VSTElORk9fSFRUUF9DT0RFKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgCiAgICAgICAgcmV0dXJuICRodHRwX2NvZGUgPT0gMjAwOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/lib/class.TwoFactorProviderTOTP.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmNsYXNzIFR3b0ZhY3RvclByb3ZpZGVyVE9UUCBleHRlbmRzIFR3b0ZhY3RvclByb3ZpZGVyCnsKICAgIGNvbnN0IFNFQ1JFVF9NRVRBX0tFWSA9ICdfdHdvX2ZhY3Rvcl90b3RwX2tleSc7CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9rZXkoKQogICAgewogICAgICAgIHJldHVybiAnVHdvRmFjdG9yUHJvdmlkZXJUT1RQJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2xhYmVsKCkKICAgIHsKICAgICAgICByZXR1cm4gJ0F1dGhlbnRpY2F0b3IgQXBwJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FsdGVybmF0aXZlX2xhYmVsKCkKICAgIHsKICAgICAgICByZXR1cm4gJ1VzZSB5b3VyIGF1dGhlbnRpY2F0b3IgYXBwIChUT1RQKSc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzX2F2YWlsYWJsZV9mb3JfdXNlcigkdXNlcl9pZCkKICAgIHsKICAgICAgICAka2V5ID0gJHRoaXMtPmdldF91c2VyX3RvdHBfa2V5KCR1c2VyX2lkKTsKICAgICAgICByZXR1cm4gIWVtcHR5KCRrZXkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhdXRoZW50aWNhdGlvbl9wYWdlKCR1c2VyKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUd29GYWN0b3InKTsKICAgICAgICAkc21hcnR5ID0gXGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgICAgICR0cGwgPSAkc21hcnR5LT5DcmVhdGVUZW1wbGF0ZSgkbW9kLT5HZXRUZW1wbGF0ZVJlc291cmNlKCd2ZXJpZnlfdG90cF9maWVsZC50cGwnKSwgbnVsbCwgbnVsbCwgJHNtYXJ0eSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdtb2QnLCAkbW9kKTsKICAgICAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlX2F1dGhlbnRpY2F0aW9uKCR1c2VyX2lkLCAkcGFyYW1zID0gW10pCiAgICB7CiAgICAgICAgJGNvZGUgPSAkdGhpcy0+c2FuaXRpemVfY29kZSgkcGFyYW1zWydhdXRoY29kZSddID8/ICcnLCA2KTsKCiAgICAgICAgJGtleSA9ICR0aGlzLT5nZXRfdXNlcl90b3RwX2tleSgkdXNlcl9pZCk7CiAgICAgICAgCiAgICAgICAgaWYgKCEka2V5KSByZXR1cm4gZmFsc2U7CgogICAgICAgICR0ZmEgPSBuZXcgXFJvYlRocmVlXEF1dGhcVHdvRmFjdG9yQXV0aCgpOwogICAgICAgICRyZXN1bHQgPSAkdGZhLT52ZXJpZnlDb2RlKCRrZXksICRjb2RlLCAyKTsKICAgICAgICAKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3VzZXJfdG90cF9rZXkoJHVzZXJfaWQpCiAgICB7CiAgICAgICAgcmV0dXJuIFR3b0ZhY3RvclVzZXJNZXRhOjpnZXQoJHVzZXJfaWQsIHNlbGY6OlNFQ1JFVF9NRVRBX0tFWSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF91c2VyX3RvdHBfa2V5KCR1c2VyX2lkLCAka2V5KQogICAgewogICAgICAgIHJldHVybiBUd29GYWN0b3JVc2VyTWV0YTo6dXBkYXRlKCR1c2VyX2lkLCBzZWxmOjpTRUNSRVRfTUVUQV9LRVksICRrZXkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfdXNlcl90b3RwX2tleSgkdXNlcl9pZCkKICAgIHsKICAgICAgICByZXR1cm4gVHdvRmFjdG9yVXNlck1ldGE6OmRlbGV0ZSgkdXNlcl9pZCwgc2VsZjo6U0VDUkVUX01FVEFfS0VZKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuZXJhdGVfa2V5KCkKICAgIHsKICAgICAgICAkdGZhID0gbmV3IFxSb2JUaHJlZVxBdXRoXFR3b0ZhY3RvckF1dGgoKTsKICAgICAgICByZXR1cm4gJHRmYS0+Y3JlYXRlU2VjcmV0KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9xcl9jb2RlX3VybCgkdXNlcm5hbWUsICRzZWNyZXQpCiAgICB7CiAgICAgICAgJHNpdGVuYW1lID0gZ2V0X3NpdGVfcHJlZmVyZW5jZSgnc2l0ZW5hbWUnLCAnTXkgV2Vic2l0ZScpOwogICAgICAgICR0ZmEgPSBuZXcgXFJvYlRocmVlXEF1dGhcVHdvRmFjdG9yQXV0aCgkc2l0ZW5hbWUpOwogICAgICAgIHJldHVybiAkdGZhLT5nZXRRUkNvZGVJbWFnZUFzRGF0YVVyaSgkdXNlcm5hbWUsICRzZWNyZXQpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/lib/class.TwoFactorSmarty.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7DQoNCmZpbmFsIGNsYXNzIFR3b0ZhY3RvclNtYXJ0eQ0Kew0KICAgIHByaXZhdGUgc3RhdGljICRfbW9kdWxlOw0KICAgIHByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQ0KDQogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX2dldF9tb2R1bGUoKQ0KICAgIHsNCiAgICAgICAgaWYgKCFzZWxmOjokX21vZHVsZSkgc2VsZjo6JF9tb2R1bGUgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUd29GYWN0b3InKTsNCiAgICAgICAgcmV0dXJuIHNlbGY6OiRfbW9kdWxlOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENvbnZlcnQgbWFya2Rvd24gdG8gSFRNTA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGlucHV0IElucHV0IE1hcmtkb3duDQogICAgICogQHBhcmFtIHN0cmluZyAkc3VidGl0bGVFbGVtVHlwZSBIVE1MIFRhZyBuYW1lIHRvIHVzZSBmb3Igc2Vjb25kLWxldmVsIGhlYWRpbmdzDQogICAgICogQHJldHVybiBzdHJpbmcgSFRNTCBvdXRwdXQNCiAgICAgKi8NCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG1kVG9IVE1MKCRpbnB1dCwgJHN1YnRpdGxlRWxlbVR5cGUgPSAnaDInKQ0KICAgIHsNCiAgICAgICAgJGh0bWwgPSBwcmVnX3JlcGxhY2UoJy9eIyMjICguKykkL20nLCAnPGgzPiQxPC9oMz4nLCAkaW5wdXQpOw0KICAgICAgICAkaHRtbCA9IHByZWdfcmVwbGFjZSgnL14jIyAoLispJC9tJywgJzwnIC4gJHN1YnRpdGxlRWxlbVR5cGUgLiAnPiQxPC8nIC4gJHN1YnRpdGxlRWxlbVR5cGUgLiAnPicsICRodG1sKTsNCiAgICAgICAgJGh0bWwgPSBwcmVnX3JlcGxhY2UoJy9eIyAoLispJC9tJywgJzxoMT4kMTwvaDE+JywgJGh0bWwpOw0KDQogICAgICAgICRodG1sID0gcHJlZ19yZXBsYWNlKCcvXCpcKiguKz8pXCpcKi9zJywgJzxzdHJvbmc+JDE8L3N0cm9uZz4nLCAkaHRtbCk7DQogICAgICAgICRodG1sID0gcHJlZ19yZXBsYWNlKCcvXCooLis/KVwqL3MnLCAnPGVtPiQxPC9lbT4nLCAkaHRtbCk7DQoNCiAgICAgICAgJGh0bWwgPSBwcmVnX3JlcGxhY2UoJy9gKC4rPylgLycsICc8Y29kZT4kMTwvY29kZT4nLCAkaHRtbCk7DQoNCiAgICAgICAgJGh0bWwgPSBwcmVnX3JlcGxhY2UoJy9eLSAoLispJC9tJywgJzxsaT4kMTwvbGk+JywgJGh0bWwpOw0KICAgICAgICAkaHRtbCA9IHByZWdfcmVwbGFjZSgnLygoPzo8bGk+Lio8XC9saT5cbj8pKykvJywgJzx1bD4kMTwvdWw+JywgJGh0bWwpOw0KDQogICAgICAgICRodG1sID0gcHJlZ19yZXBsYWNlKCcvXlxkK1wuICguKykkL20nLCAnPGxpPiQxPC9saT4nLCAkaHRtbCk7DQogICAgICAgICRodG1sID0gcHJlZ19yZXBsYWNlKCcvKCg/OjxsaT4uKjxcL2xpPlxuPykrKS8nLCAnPG9sPiQxPC9vbD4nLCAkaHRtbCk7DQoNCiAgICAgICAgJGh0bWwgPSBwcmVnX3JlcGxhY2UoJy9cWyguKz8pXF1cKCguKz8pXCkvJywgJzxhIGhyZWY9IiQyIj4kMTwvYT4nLCAkaHRtbCk7DQoNCiAgICAgICAgJGh0bWwgPSBwcmVnX3JlcGxhY2UoJy9eKD8hPFtob2x1XXw8bGkpKC4rKSQvbScsICc8cD4kMTwvcD4nLCAkaHRtbCk7DQogICAgICAgICRodG1sID0gcHJlZ19yZXBsYWNlKCcvPHA+XHMqPFwvcD4vJywgJycsICRodG1sKTsNCg0KICAgICAgICByZXR1cm4gJGh0bWw7DQogICAgfQ0KfQ0K]]></data>
	</file>
	<file>
		<filename>/lib/class.TwoFactorUserMeta.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiAoIWRlZmluZWQoJ0NNU19WRVJTSU9OJykpIGV4aXQ7CmNsYXNzIFR3b0ZhY3RvclVzZXJNZXRhCnsKICAgIGNvbnN0IEVOQUJMRURfUFJPVklERVJTX0tFWSA9ICdfdHdvX2ZhY3Rvcl9lbmFibGVkX3Byb3ZpZGVycyc7CiAgICBjb25zdCBQUklNQVJZX1BST1ZJREVSX0tFWSA9ICdfdHdvX2ZhY3Rvcl9wcmltYXJ5X3Byb3ZpZGVyJzsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldCgkdXNlcl9pZCwgJGtleSwgJHNpbmdsZSA9IHRydWUpCiAgICB7CiAgICAgICAgJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKICAgICAgICAkc3FsID0gJ1NFTEVDVCBtZXRhX3ZhbHVlIEZST00gJy5DTVNfREJfUFJFRklYLidtb2R1bGVfdHdvZmFjdG9yX3VzZXJtZXRhIAogICAgICAgICAgICAgICAgV0hFUkUgdXNlcl9pZCA9ID8gQU5EIG1ldGFfa2V5ID0gPyc7CiAgICAgICAgCiAgICAgICAgaWYgKCRzaW5nbGUpIHsKICAgICAgICAgICAgJHZhbHVlID0gJGRiLT5HZXRPbmUoJHNxbCwgWyR1c2VyX2lkLCAka2V5XSk7CiAgICAgICAgICAgIHJldHVybiAkdmFsdWUgPyB1bnNlcmlhbGl6ZSgkdmFsdWUsIFsnYWxsb3dlZF9jbGFzc2VzJyA9PiBmYWxzZV0pIDogbnVsbDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJHJvd3MgPSAkZGItPkdldENvbCgkc3FsLCBbJHVzZXJfaWQsICRrZXldKTsKICAgICAgICByZXR1cm4gYXJyYXlfbWFwKGZ1bmN0aW9uKCR2KSB7IHJldHVybiB1bnNlcmlhbGl6ZSgkdiwgWydhbGxvd2VkX2NsYXNzZXMnID0+IGZhbHNlXSk7IH0sICRyb3dzKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHVwZGF0ZSgkdXNlcl9pZCwgJGtleSwgJHZhbHVlKQogICAgewogICAgICAgICRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CiAgICAgICAgJHNlcmlhbGl6ZWQgPSBzZXJpYWxpemUoJHZhbHVlKTsKICAgICAgICAKICAgICAgICAkZXhpc3RzID0gJGRiLT5HZXRPbmUoCiAgICAgICAgICAgICdTRUxFQ1QgaWQgRlJPTSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV90d29mYWN0b3JfdXNlcm1ldGEgCiAgICAgICAgICAgICBXSEVSRSB1c2VyX2lkID0gPyBBTkQgbWV0YV9rZXkgPSA/JywKICAgICAgICAgICAgWyR1c2VyX2lkLCAka2V5XQogICAgICAgICk7CgogICAgICAgIGlmICgkZXhpc3RzKSB7CiAgICAgICAgICAgIHJldHVybiAkZGItPkV4ZWN1dGUoCiAgICAgICAgICAgICAgICAnVVBEQVRFICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3R3b2ZhY3Rvcl91c2VybWV0YSAKICAgICAgICAgICAgICAgICBTRVQgbWV0YV92YWx1ZSA9ID8gV0hFUkUgdXNlcl9pZCA9ID8gQU5EIG1ldGFfa2V5ID0gPycsCiAgICAgICAgICAgICAgICBbJHNlcmlhbGl6ZWQsICR1c2VyX2lkLCAka2V5XQogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRkYi0+RXhlY3V0ZSgKICAgICAgICAgICAgJ0lOU0VSVCBJTlRPICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3R3b2ZhY3Rvcl91c2VybWV0YSAKICAgICAgICAgICAgICh1c2VyX2lkLCBtZXRhX2tleSwgbWV0YV92YWx1ZSkgVkFMVUVTICg/LCA/LCA/KScsCiAgICAgICAgICAgIFskdXNlcl9pZCwgJGtleSwgJHNlcmlhbGl6ZWRdCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZSgkdXNlcl9pZCwgJGtleSkKICAgIHsKICAgICAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwogICAgICAgIHJldHVybiAkZGItPkV4ZWN1dGUoCiAgICAgICAgICAgICdERUxFVEUgRlJPTSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV90d29mYWN0b3JfdXNlcm1ldGEgCiAgICAgICAgICAgICBXSEVSRSB1c2VyX2lkID0gPyBBTkQgbWV0YV9rZXkgPSA/JywKICAgICAgICAgICAgWyR1c2VyX2lkLCAka2V5XQogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZW5hYmxlZF9wcm92aWRlcnMoJHVzZXJfaWQpCiAgICB7CiAgICAgICAgJHByb3ZpZGVycyA9IHNlbGY6OmdldCgkdXNlcl9pZCwgc2VsZjo6RU5BQkxFRF9QUk9WSURFUlNfS0VZKTsKICAgICAgICByZXR1cm4gaXNfYXJyYXkoJHByb3ZpZGVycykgPyAkcHJvdmlkZXJzIDogW107CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRfZW5hYmxlZF9wcm92aWRlcnMoJHVzZXJfaWQsIGFycmF5ICRwcm92aWRlcnMpCiAgICB7CiAgICAgICAgcmV0dXJuIHNlbGY6OnVwZGF0ZSgkdXNlcl9pZCwgc2VsZjo6RU5BQkxFRF9QUk9WSURFUlNfS0VZLCAkcHJvdmlkZXJzKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9wcmltYXJ5X3Byb3ZpZGVyKCR1c2VyX2lkKQogICAgewogICAgICAgIHJldHVybiBzZWxmOjpnZXQoJHVzZXJfaWQsIHNlbGY6OlBSSU1BUllfUFJPVklERVJfS0VZKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldF9wcmltYXJ5X3Byb3ZpZGVyKCR1c2VyX2lkLCAkcHJvdmlkZXJfa2V5KQogICAgewogICAgICAgIHJldHVybiBzZWxmOjp1cGRhdGUoJHVzZXJfaWQsIHNlbGY6OlBSSU1BUllfUFJPVklERVJfS0VZLCAkcHJvdmlkZXJfa2V5KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/lib/plugins</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/method.install.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oVHdvRmFjdG9yOjpNQU5BR0VfUEVSTSwgJ01hbmFnZSBUd29GYWN0b3InKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oVHdvRmFjdG9yOjpVU0VfUEVSTSwgJ1VzZSBUd29GYWN0b3InKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oVHdvRmFjdG9yOjpNQU5BR0VfU01TX1BFUk0sICdNYW5hZ2UgVHdvRmFjdG9yIFNNUycpOwoKJHVpZCA9IG51bGw7CmlmKCBjbXNtcygpLT50ZXN0X3N0YXRlKENtc0FwcDo6U1RBVEVfSU5TVEFMTCkgKSB7CiAgJHVpZCA9IDE7IC8vIGhhcmRjb2RlIHRvIGZpcnN0IHVzZXIKfSBlbHNlIHsKICAkdWlkID0gZ2V0X3VzZXJpZCgpOwp9CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokdGFib3B0YXJyYXkgPSBbJ215c3FsJyA9PiAnRU5HSU5FPUlubm9EQiddOwoKJGZsZHMgPSAiCiAgICBpZCBJIEtFWSBBVVRPLAogICAgdXNlcl9pZCBJIE5PVE5VTEwsCiAgICBtZXRhX2tleSBDKDI1NSkgTk9UTlVMTCwKICAgIG1ldGFfdmFsdWUgWAoiOwoKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuJ21vZHVsZV90d29mYWN0b3JfdXNlcm1ldGEnLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHRoaXMtPlJlZ2lzdGVyRXZlbnRzKCk7CgokZW1haWxfdHlwZSA9IG5ldyBDbXNMYXlvdXRUZW1wbGF0ZVR5cGUoKTsKJGVtYWlsX3R5cGUtPnNldF9vcmlnaW5hdG9yKCR0aGlzLT5HZXROYW1lKCkpOwokZW1haWxfdHlwZS0+c2V0X25hbWUoJ2VtYWlsX3ZlcmlmaWNhdGlvbicpOwokZW1haWxfdHlwZS0+c2V0X2RmbHRfZmxhZyhUUlVFKTsKJGVtYWlsX3R5cGUtPnNldF9sYW5nX2NhbGxiYWNrKCdUd29GYWN0b3I6OnBhZ2VfdHlwZV9sYW5nX2NhbGxiYWNrJyk7CiRlbWFpbF90eXBlLT5zZXRfY29udGVudF9jYWxsYmFjaygnVHdvRmFjdG9yOjpyZXNldF9wYWdlX3R5cGVfZGVmYXVsdHMnKTsKJGVtYWlsX3R5cGUtPnJlc2V0X2NvbnRlbnRfdG9fZmFjdG9yeSgpOwokZW1haWxfdHlwZS0+c2F2ZSgpOwoKJHRwbCA9IG5ldyBDbXNMYXlvdXRUZW1wbGF0ZSgpOwokdHBsLT5zZXRfbmFtZSgnRW1haWwgVmVyaWZpY2F0aW9uJyk7CiR0cGwtPnNldF9vd25lcigkdWlkKTsKJHRwbC0+c2V0X3R5cGUoJGVtYWlsX3R5cGUpOwokdHBsLT5zZXRfY29udGVudCgkZW1haWxfdHlwZS0+Z2V0X2RmbHRfY29udGVudHMoKSk7CiR0cGwtPnNldF90eXBlX2RmbHQoVFJVRSk7CiR0cGwtPnNhdmUoKTs=]]></data>
	</file>
	<file>
		<filename>/method.uninstall.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oVHdvRmFjdG9yOjpNQU5BR0VfUEVSTSk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKFR3b0ZhY3Rvcjo6VVNFX1BFUk0pOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbihUd29GYWN0b3I6Ok1BTkFHRV9TTVNfUEVSTSk7CgokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc19wcm9kdWN0X2tleScpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgndHdvZmFjdG9yX3Ntc2NyZWRpdF9lbmFibGVkJyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCd0d29mYWN0b3Jfc21zX2F2YWlsYWJsZScpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgndHdvZmFjdG9yX3R3aWxpb19hcGlfa2V5Jyk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCd0d29mYWN0b3JfdHdpbGlvX2FwaV9zZWNyZXQnKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fc2VydmljZV9zaWQnKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3R3b2ZhY3Rvcl90d2lsaW9fZW5hYmxlZCcpOwoKJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlcignVHdvRmFjdG9yJywgJ0JlZm9yZVZlcmlmaWNhdGlvbicpOwokdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdUd29GYWN0b3InLCAnQWZ0ZXJWZXJpZmljYXRpb25TdWNjZXNzJyk7CiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ1R3b0ZhY3RvcicsICdBZnRlclZlcmlmaWNhdGlvbkZhaWwnKTsKCi8vIFJlbW92ZSB0aGUgbGVnYWN5IHByZS00LjAuMCBsb2dpbiBpbnRlcmNlcHRvciBoYW5kbGVyIGlmIGEgc2l0ZSB3YXMKLy8gdXBncmFkZWQgZnJvbSBhbiBvbGQgdmVyc2lvbiB0aGF0IGhvb2tlZCBDb3JlOjpMb2dpblBvc3QuCiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCAnTG9naW5Qb3N0Jyk7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChDTVNfREJfUFJFRklYLidtb2R1bGVfdHdvZmFjdG9yX3VzZXJtZXRhJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRjb25maWcgPSBjbXNfY29uZmlnOjpnZXRfaW5zdGFuY2UoKTsKJHR3b2ZhY3Rvcl9maWxlID0gY21zX2pvaW5fcGF0aChDTVNfUk9PVF9QQVRILCAkY29uZmlnWydhZG1pbl9kaXInXSwgJ3R3b2ZhY3Rvci5waHAnKTsKaWYgKGlzX2ZpbGUoJHR3b2ZhY3Rvcl9maWxlKSkgewogICAgdW5saW5rKCR0d29mYWN0b3JfZmlsZSk7Cn0KCnRyeSB7CiAgJHR5cGVzID0gQ21zTGF5b3V0VGVtcGxhdGVUeXBlOjpsb2FkX2FsbF9ieV9vcmlnaW5hdG9yKCR0aGlzLT5HZXROYW1lKCkpOwogIGlmKCBpc19hcnJheSgkdHlwZXMpICYmIGNvdW50KCR0eXBlcykgKSB7CiAgICBmb3JlYWNoKCAkdHlwZXMgYXMgJHR5cGUgKSB7CiAgICAgICR0ZW1wbGF0ZXMgPSAkdHlwZS0+Z2V0X3RlbXBsYXRlX2xpc3QoKTsKICAgICAgaWYoIGlzX2FycmF5KCR0ZW1wbGF0ZXMpICYmIGNvdW50KCR0ZW1wbGF0ZXMpICkgewoJZm9yZWFjaCggJHRlbXBsYXRlcyBhcyAkdGVtcGxhdGUgKSB7CgkgICR0ZW1wbGF0ZS0+ZGVsZXRlKCk7Cgl9CiAgICAgIH0KICAgICAgJHR5cGUtPmRlbGV0ZSgpOwogICAgfQogIH0KfQpjYXRjaCggRXhjZXB0aW9uICRlICkgewogIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ1VuaW5zdGFsbCBFcnJvcjogJy4kZS0+R2V0TWVzc2FnZSgpKTsKfQ==]]></data>
	</file>
	<file>
		<filename>/method.upgrade.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKIyBTZWUgTElDRU5TRSBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLgppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKJGRiID0gJHRoaXMtPkdldERiKCk7CiRvbGR2ZXIgPSAkb2xkdmVyc2lvbjsKJG5ld3ZlciA9ICR0aGlzLT5HZXRWZXJzaW9uKCk7CgppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXIsICcyLjAuMCcpIDwgMCApIHsKICAgICR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKFR3b0ZhY3Rvcjo6VVNFX1BFUk0sICdVc2UgVHdvRmFjdG9yJyk7CiAgICAkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbihUd29GYWN0b3I6Ok1BTkFHRV9TTVNfUEVSTSwgJ01hbmFnZSBUd29GYWN0b3IgU01TJyk7CgogICAgJHRoaXMtPlJlZ2lzdGVyRXZlbnRzKCk7CgogICAgJG9sZF90YWJsZSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2RfdHdvZmFjdG9yX3VzZXJtZXRhJzsKICAgICRuZXdfdGFibGUgPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX3R3b2ZhY3Rvcl91c2VybWV0YSc7CiAgICAKICAgICRxdWVyeSA9ICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIFdIRVJFIHRhYmxlX3NjaGVtYSA9IERBVEFCQVNFKCkgQU5EIHRhYmxlX25hbWUgPSA/IjsKICAgICRvbGRfZXhpc3RzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBbJG9sZF90YWJsZV0pOwogICAgJG5ld19leGlzdHMgPSAkZGItPkdldE9uZSgkcXVlcnksIFskbmV3X3RhYmxlXSk7CiAgICAKICAgIGlmKCAkb2xkX2V4aXN0cyAmJiAhJG5ld19leGlzdHMgKSB7CiAgICAgICAgJGRiLT5FeGVjdXRlKCJSRU5BTUUgVEFCTEUgJG9sZF90YWJsZSBUTyAkbmV3X3RhYmxlIik7CiAgICB9CgogICAgJHVpZCA9IGdldF91c2VyaWQoKTsKCiAgICAkZW1haWxfdHlwZSA9IG5ldyBDbXNMYXlvdXRUZW1wbGF0ZVR5cGUoKTsKICAgICRlbWFpbF90eXBlLT5zZXRfb3JpZ2luYXRvcigkdGhpcy0+R2V0TmFtZSgpKTsKICAgICRlbWFpbF90eXBlLT5zZXRfbmFtZSgnZW1haWxfdmVyaWZpY2F0aW9uJyk7CiAgICAkZW1haWxfdHlwZS0+c2V0X2RmbHRfZmxhZyhUUlVFKTsKICAgICRlbWFpbF90eXBlLT5zZXRfbGFuZ19jYWxsYmFjaygnVHdvRmFjdG9yOjpwYWdlX3R5cGVfbGFuZ19jYWxsYmFjaycpOwogICAgJGVtYWlsX3R5cGUtPnNldF9jb250ZW50X2NhbGxiYWNrKCdUd29GYWN0b3I6OnJlc2V0X3BhZ2VfdHlwZV9kZWZhdWx0cycpOwogICAgJGVtYWlsX3R5cGUtPnJlc2V0X2NvbnRlbnRfdG9fZmFjdG9yeSgpOwogICAgJGVtYWlsX3R5cGUtPnNhdmUoKTsKCiAgICAkdHBsID0gbmV3IENtc0xheW91dFRlbXBsYXRlKCk7CiAgICAkdHBsLT5zZXRfbmFtZSgnRW1haWwgVmVyaWZpY2F0aW9uJyk7CiAgICAkdHBsLT5zZXRfb3duZXIoJHVpZCk7CiAgICAkdHBsLT5zZXRfdHlwZSgkZW1haWxfdHlwZSk7CiAgICAkdHBsLT5zZXRfY29udGVudCgkZW1haWxfdHlwZS0+Z2V0X2RmbHRfY29udGVudHMoKSk7CiAgICAkdHBsLT5zZXRfdHlwZV9kZmx0KFRSVUUpOwogICAgJHRwbC0+c2F2ZSgpOwp9CgppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXIsICcyLjEuMCcpIDwgMCApIHsKICAgIC8vIFJlbW92ZSBsZWdhY3kgdHdvZmFjdG9yLnBocCBmaWxlIGlmIGl0IGV4aXN0cwogICAgJGNvbmZpZyA9IGNtc19jb25maWc6OmdldF9pbnN0YW5jZSgpOwogICAgJGRlc3QgPSBjbXNfam9pbl9wYXRoKENNU19ST09UX1BBVEgsICRjb25maWdbJ2FkbWluX2RpciddLCAndHdvZmFjdG9yLnBocCcpOwogICAgaWYgKGlzX2ZpbGUoJGRlc3QpKSB7CiAgICAgICAgdW5saW5rKCRkZXN0KTsKICAgIH0KfQoKaWYoIHZlcnNpb25fY29tcGFyZSgkb2xkdmVyLCAnMy4wLjAnKSA8IDAgKSB7CiAgICAvLyBQYXNza2V5L1dlYkF1dGhuIHN1cHBvcnQgLSBubyBzY2hlbWEgY2hhbmdlcyBuZWVkZWQgZm9yIGZyZWUgdGllcgogICAgLy8gRnJlZSB0aWVyIHN0b3JlcyBzaW5nbGUgcGFzc2tleSBjcmVkZW50aWFsIGluIHVzZXJtZXRhIHRhYmxlCiAgICAvLyBQcm8gdGllciBjcmVhdGVzIG1vZHVsZV90d29mYWN0b3Jfd2ViYXV0aG5fY3JlZGVudGlhbHMgdGFibGUgaW4gaXRzIG93biB1cGdyYWRlCn0KCmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlciwgJzQuMC4wJykgPCAwICkgewogICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyBMb2dpbi1mbG93IG1pZ3JhdGlvbjogbGVnYWN5IENvcmU6OkxvZ2luUG9zdCAtPiBDb3JlOjpMb2dpblZlcmlmaWVkCiAgICAvLwogICAgLy8gVmVyc2lvbnMgcHJpb3IgdG8gNC4wLjAgaW50ZXJjZXB0ZWQgdGhlIGFkbWluIGxvZ2luIGJ5IHJlZ2lzdGVyaW5nIGEKICAgIC8vIFBFUlNJU1RFRCBoYW5kbGVyIG9uIHRoZSBjb3JlICJMb2dpblBvc3QiIGV2ZW50IChSZWdpc3RlckV2ZW50cygpIGNhbGxlZAogICAgLy8gQWRkRXZlbnRIYW5kbGVyKCdDb3JlJywnTG9naW5Qb3N0JyksIHdoaWNoIHdyaXRlcyBhIHJvdyBpbnRvIHRoZQogICAgLy8gY21zX2V2ZW50X2hhbmRsZXJzIHRhYmxlKS4gQmVjYXVzZSBMb2dpblBvc3QgZmlyZXMgQUZURVIgYSBmdWxsIHNlc3Npb24KICAgIC8vIGlzIGVzdGFibGlzaGVkLCB0aGUgbW9kdWxlJ3MgRG9FdmVudCgpIHRoZW4gcmFuIGEgZGVhdXRoZW50aWNhdGUoKSArCiAgICAvLyByZWRpcmVjdCBjeWNsZSB0byBmb3JjZSB0aGUgMkZBIGNoYWxsZW5nZSwgYSBoYWNreSAibG9nIGluLCB0aGVuIGxvZwogICAgLy8gYmFjayBvdXQiIHdvcmthcm91bmQuCiAgICAvLwogICAgLy8gQ01TTVMgMi4yLjIzIChjb3JlIFBSICMxNSkgaW50cm9kdWNlZCBhIHByb3BlciB0d28tc3RhZ2UgYXV0aCBsaWZlY3ljbGUKICAgIC8vIHdpdGggdGhlIGNhbmNlbGxhYmxlICJDb3JlOjpMb2dpblZlcmlmaWVkIiBob29rLCB3aGljaCBmaXJlcyBCRUZPUkUgdGhlCiAgICAvLyBzZXNzaW9uIGlzIGZpbmFsaXplZC4gVmVyc2lvbiA0LjAuMCB1c2VzIHRoYXQgaG9vayBhdCBydW50aW1lIChzZWUKICAgIC8vIEluaXRpYWxpemVBZG1pbigpKSBhbmQgbm8gbG9uZ2VyIHJlZ2lzdGVycyBhbnkgTG9naW5Qb3N0IGhhbmRsZXIuCiAgICAvLwogICAgLy8gVGhlIG9sZCBwZXJzaXN0ZWQgTG9naW5Qb3N0IGhhbmRsZXIgcm93IGlzIE5PVCByZW1vdmVkIGF1dG9tYXRpY2FsbHkKICAgIC8vIHdoZW4gdGhlIG1vZHVsZSBmaWxlcyBhcmUgc3dhcHBlZCwgc28gaXQgbGluZ2VycyBpbiB0aGUgZGF0YWJhc2UgYW5kCiAgICAvLyB3b3VsZCBrZWVwIGludm9raW5nIHRoZSBsZWdhY3kgZGVhdXRoIHBhdGguIFJlbW92ZSBpdCBoZXJlLgogICAgLy8KICAgIC8vIFJlbW92ZUV2ZW50SGFuZGxlcigpIGlzIG1vZHVsZS1zY29wZWQ6IGl0IGRlbGV0ZXMgb25seSBUSElTIG1vZHVsZSdzCiAgICAvLyBoYW5kbGVyIHJvdyBmb3IgdGhlIGdpdmVuIChvcmlnaW5hdG9yLCBldmVudCksIGxlYXZpbmcgaGFuZGxlcnMgdGhhdAogICAgLy8gYmVsb25nIHRvIG90aGVyIG1vZHVsZXMgKGFuZCB0aGUgY29yZSBldmVudCBpdHNlbGYpIHVudG91Y2hlZC4KICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlcignQ29yZScsICdMb2dpblBvc3QnKTsKCiAgICAvLyBSZW1vdmUgdGhlIGxlZ2FjeSBzdGFuZGFsb25lIGludGVyY2VwdG9yIHBhZ2UgaWYgYSBzdGFsZSBjb3B5IHN1cnZpdmVkLgogICAgLy8gKFByZS0yLjEuMCBzaGlwcGVkIGFkbWluL3R3b2ZhY3Rvci5waHA7IG5vcm1hbGx5IGhhbmRsZWQgaW4gdGhlIDwgMi4xLjAKICAgIC8vIHN0ZXAsIHJlcGVhdGVkIGhlcmUgZGVmZW5zaXZlbHkgZm9yIHNpdGVzIHRoYXQganVtcGVkIHN0cmFpZ2h0IHRvIDQuMC4wCiAgICAvLyBmcm9tIGEgdmVyeSBvbGQgcmVsZWFzZS4gTm8gLmh0YWNjZXNzIG9yIGNvcmUgbG9naW4ucGhwIHdhcyBldmVyIHBhdGNoZWQKICAgIC8vIGJ5IHRoaXMgbW9kdWxlLCBzbyB0aGVyZSBpcyBub3RoaW5nIGVsc2Ugb24gZGlzayB0byByZXZlcnQuKQogICAgJGNvbmZpZyA9IGNtc19jb25maWc6OmdldF9pbnN0YW5jZSgpOwogICAgJGxlZ2FjeSA9IGNtc19qb2luX3BhdGgoQ01TX1JPT1RfUEFUSCwgJGNvbmZpZ1snYWRtaW5fZGlyJ10sICd0d29mYWN0b3IucGhwJyk7CiAgICBpZiggaXNfZmlsZSgkbGVnYWN5KSApIHsKICAgICAgICBAdW5saW5rKCRsZWdhY3kpOwogICAgfQoKICAgIGF1ZGl0KCcnLCAkdGhpcy0+R2V0TmFtZSgpLCAnTWlncmF0ZWQgbG9naW4gaW50ZXJjZXB0aW9uIGZyb20gQ29yZTo6TG9naW5Qb3N0IHRvIENvcmU6OkxvZ2luVmVyaWZpZWQgKDIuMi4yMysgZmxvdyknKTsKfQ==]]></data>
	</file>
	<file>
		<filename>/moduleinfo.ini</filename>
		<isdir>0</isdir>
		<data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJUd29GYWN0b3IiCnZlcnNpb24gPSAiNC4wLjAiCmF1dGhvciA9ICJQaXhlbCBTb2x1dGlvbnMiCmF1dGhvcmVtYWlsID0gImluZm9AcGl4ZWxzb2x1dGlvbnMuYml6IgptaW5jbXN2ZXJzaW9uID0gIjIuMi4yMyIKbGF6eWxvYWRhZG1pbiA9IDAKbGF6eWxvYWRmcm9udGVuZCA9IDAKW2RlcGVuZHNdCkNNU01TRXh0ID0gIjEuNS4yIgo=]]></data>
	</file>
	<file>
		<filename>/templates</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/templates/admin_debug.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGg0PkRlYnVnIEluZm88L2g0Pgo8cD48c3Ryb25nPiRpc19wcm9faW5zdGFsbGVkOjwvc3Ryb25nPiB7aWYgJGlzX3Byb19pbnN0YWxsZWR9dHJ1ZXtlbHNlfWZhbHNley9pZn08L3A+CjxwPjxzdHJvbmc+JGlzX3Byb19hY3RpdmU6PC9zdHJvbmc+IHtpZiAkaXNfcHJvX2FjdGl2ZX10cnVle2Vsc2V9ZmFsc2V7L2lmfTwvcD4Ke2lmICRpc19wcm9faW5zdGFsbGVkICYmICRtb2RfcHJvfQo8cD48c3Ryb25nPiRtb2RfcHJvLT5Jc1Byb0VuYWJsZWQoKTo8L3N0cm9uZz4ge2lmICRtb2RfcHJvLT5Jc1Byb0VuYWJsZWQoKX10cnVle2Vsc2V9ZmFsc2V7L2lmfTwvcD4Key9pZn0KCjxoND5CYXNpYyBQcmVmZXJlbmNlcyAoVHdvRmFjdG9yKTwvaDQ+Cjx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD5QcmVmZXJlbmNlPC90aD4KICAgICAgPHRoPlZhbHVlPC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGJvZHk+CiAgICB7Zm9yZWFjaCAkYmFzaWNfcHJlZnMgYXMgJHByZWZ9CiAgICA8dHI+CiAgICAgIDx0ZD57JHByZWYubmFtZXxlc2NhcGV9PC90ZD4KICAgICAgPHRkPnskcHJlZi52YWx1ZXxlc2NhcGV9PC90ZD4KICAgIDwvdHI+CiAgICB7L2ZvcmVhY2h9CiAgPC90Ym9keT4KPC90YWJsZT4KCntpZiAkbW9kX3Byb30KPGg0PlBybyBQcmVmZXJlbmNlcyAoVHdvRmFjdG9yUHJvKTwvaDQ+Cjx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD5QcmVmZXJlbmNlPC90aD4KICAgICAgPHRoPlZhbHVlPC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGJvZHk+CiAgICB7Zm9yZWFjaCAkcHJvX3ByZWZzIGFzICRwcmVmfQogICAgPHRyPgogICAgICA8dGQ+eyRwcmVmLm5hbWV8ZXNjYXBlfTwvdGQ+CiAgICAgIDx0ZD57JHByZWYudmFsdWV8ZXNjYXBlfTwvdGQ+CiAgICA8L3RyPgogICAgey9mb3JlYWNofQogIDwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo8cD48YSBocmVmPSJ7JGNsZWFyX3VybH0iIG9uY2xpY2s9InJldHVybiBjb25maXJtKCdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xlYXIgYWxsIHByZWZlcmVuY2VzPycpOyI+Q2xlYXIgQWxsIFByZWZlcmVuY2VzPC9hPjwvcD4K]]></data>
	</file>
	<file>
		<filename>/templates/admin_upgrade.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGRpdiBjbGFzcz0icGFnZWNvbnRhaW5lciI+CjxzZWN0aW9uIGNsYXNzPSJwcmVtaXVtIiBzdHlsZT0ibWFyZ2luLXRvcDogMjBweDsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMWU4OGU1OyI+CiAgICA8ZGl2IGNsYXNzPSJsaWZ0ZWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImN0YV9fdG9wIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3RhX19zdW1tYXJ5Ij4KICAgICAgICAgICAgICAgIDxoMiBpZD0icHJlbWl1bS11cGdyYWRlLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgVHdvRmFjdG9yIDxzdHJvbmc+UHJvPC9zdHJvbmc+CiAgICAgICAgICAgICAgICA8L2gyPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkZXNjcmlwdGlvbl9saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0ieyRwcm9kdWN0X3VybH0iIHRhcmdldD0iX2JsYW5rIj5WaWV3IGZ1bGwgUHJvIGZlYXR1cmUgbGlzdDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3BpeGVsc29sdXRpb25zLmJpei9jb250YWN0IiB0YXJnZXQ9Il9ibGFuayI+UHJvZmVzc2lvbmFsIHN1cHBvcnQgb3B0aW9uczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3BpeGVsc29sdXRpb25zLmJpei9kb2N1bWVudGF0aW9uL3R3b2ZhY3RvciIgdGFyZ2V0PSJfYmxhbmsiPlRlY2huaWNhbCBkb2N1bWVudGF0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3RhX19hY3Rpb24iPgogICAgICAgICAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJjdGEgeGxhcmdlIiBkYXRhLWljb249Im15LWljb24tc3RhciIgaHJlZj0ieyRwcm9kdWN0X3VybH0iPkdldCBpdCBoZXJlPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjdGFfX2JvdHRvbSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcmVtaXVtLXVwZ3JhZGUtcHJvbXB0Ij4KICAgICAgICAgICAgICAgIFlvdSBhcmUgY3VycmVudGx5IHVzaW5nIHRoZSBGcmVlIHZlcnNpb24gb2YgVHdvRmFjdG9yLiAKICAgICAgICAgICAgICAgIFVwZ3JhZGUgdG8gUHJvIGZvciBlbmZvcmNlZCAyRkEsIHJhdGUgbGltaXRpbmcsIHRydXN0ZWQgZGV2aWNlcywgdXNlciBtYW5hZ2VtZW50LCBhbmQgc2VjdXJpdHkgYWxlcnRzLgogICAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKPGgzPlVubG9jayBFbnRlcnByaXNlLUdyYWRlIFNlY3VyaXR5IEZlYXR1cmVzPC9oMz4KPHA+VHdvRmFjdG9yIFBybyBleHRlbmRzIHRoZSBmcmVlIHZlcnNpb24gd2l0aCBhZHZhbmNlZCBzZWN1cml0eSBjb250cm9sczo8L3A+CiAgICAKICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiAyMHB4OyBtYXJnaW46IDIwcHggMDsiPgogICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDVweDsiPgogICAgICAgICAgICA8aDQ+8J+UkiBFbmZvcmNlIDJGQTwvaDQ+CiAgICAgICAgICAgIDxwPlJlcXVpcmUgYWxsIGFkbWluIHVzZXJzIHRvIGVuYWJsZSB0d28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIGFkbWluIHBhbmVsLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCAjZGRkOyBwYWRkaW5nOiAxNXB4OyBib3JkZXItcmFkaXVzOiA1cHg7Ij4KICAgICAgICAgICAgPGg0PvCfm6HvuI8gUmF0ZSBMaW1pdGluZzwvaDQ+CiAgICAgICAgICAgIDxwPlByb3RlY3QgYWdhaW5zdCBicnV0ZS1mb3JjZSBhdHRhY2tzIHdpdGggZXhwb25lbnRpYWwgYmFja29mZiBhbmQgYXV0b21hdGljIGxvY2tvdXRzLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCAjZGRkOyBwYWRkaW5nOiAxNXB4OyBib3JkZXItcmFkaXVzOiA1cHg7Ij4KICAgICAgICAgICAgPGg0PvCfkrsgVHJ1c3RlZCBEZXZpY2VzPC9oND4KICAgICAgICAgICAgPHA+UmVtZW1iZXIgdHJ1c3RlZCBkZXZpY2VzIGZvciAzMCBkYXlzIHdpdGggZGV2aWNlIGZpbmdlcnByaW50aW5nIGZvciBlbmhhbmNlZCBzZWN1cml0eS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgI2RkZDsgcGFkZGluZzogMTVweDsgYm9yZGVyLXJhZGl1czogNXB4OyI+CiAgICAgICAgICAgIDxoND7wn5GlIFVzZXIgTWFuYWdlbWVudDwvaDQ+CiAgICAgICAgICAgIDxwPkFkbWluIGRhc2hib2FyZCB0byB2aWV3IGFsbCB1c2VycywgdGhlaXIgMkZBIHN0YXR1cywgYW5kIG1hbmFnZSBzZXR0aW5ncyBjZW50cmFsbHkuPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDVweDsiPgogICAgICAgICAgICA8aDQ+8J+TpyBTZWN1cml0eSBBbGVydHM8L2g0PgogICAgICAgICAgICA8cD5SZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbnMgd2hlbiBzdXNwaWNpb3VzIGFjdGl2aXR5IG9yIG11bHRpcGxlIGZhaWxlZCBhdHRlbXB0cyBhcmUgZGV0ZWN0ZWQuPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDVweDsiPgogICAgICAgICAgICA8aDQ+8J+aqyBJUCBCbGFja2xpc3Rpbmc8L2g0PgogICAgICAgICAgICA8cD5CbG9jayBtYWxpY2lvdXMgSVAgYWRkcmVzc2VzIHBlcm1hbmVudGx5IGFuZCBwcmV2ZW50IGF1dG9tYXRlZCBhdHRhY2tzLjwvcD4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiAjZjBmOGZmOyBib3JkZXI6IDJweCBzb2xpZCAjNGE5MGUyOyBwYWRkaW5nOiAyMHB4OyBib3JkZXItcmFkaXVzOiA1cHg7IG1hcmdpbjogMjBweCAwOyI+CiAgICAgICAgPGg0IHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+SG93IHRvIFVwZ3JhZGU8L2g0PgogICAgICAgIDxvbD4KICAgICAgICAgICAgPGxpPlB1cmNoYXNlIFR3b0ZhY3RvciBQcm8gbGljZW5zZSBhdCA8YSBocmVmPSJ7JHByb2R1Y3RfdXJsfSIgdGFyZ2V0PSJfYmxhbmsiPnBpeGVsc29sdXRpb25zLmJpejwvYT48L2xpPgogICAgICAgICAgICA8bGk+RG93bmxvYWQgYW5kIGluc3RhbGwgdGhlIFR3b0ZhY3RvclBybyBtb2R1bGU8L2xpPgogICAgICAgICAgICA8bGk+RW50ZXIgeW91ciBsaWNlbnNlIGtleSBpbiB0aGUgUHJvIFNldHRpbmdzPC9saT4KICAgICAgICAgICAgPGxpPkFsbCBwcmVtaXVtIGZlYXR1cmVzIHdpbGwgYmUgdW5sb2NrZWQgYXV0b21hdGljYWxseSBpbiB0aGlzIGludGVyZmFjZTwvbGk+CiAgICAgICAgPC9vbD4KICAgIDwvZGl2PgogICAgCiAgICA8cCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOiAzMHB4OyI+CiAgICAgICAgPGEgaHJlZj0ieyRwcm9kdWN0X3VybH0iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iY3RhIiBkYXRhLWljb249Im15LWljb24tc3RhciIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAxMHB4OyI+R2V0IFR3b0ZhY3RvciBQcm88L2E+CiAgICA8L3A+CgogICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogMzBweDsiPgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGl4ZWxzb2x1dGlvbnMuYml6IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vcGl4ZWxzb2x1dGlvbi5zMy5ldS1zb3V0aC0xLmFtYXpvbmF3cy5jb20vbG9nb3MvTE9HT18zX0NPTE9SXzMwMC5wbmciIGFsdD0iUGl4ZWwgU29sdXRpb25zIiBzdHlsZT0iaGVpZ2h0OjQwcHg7IiAvPgogICAgICAgIDwvYT4KICAgIDwvcD4KPC9kaXY+Cjwvc2VjdGlvbj4K]]></data>
	</file>
	<file>
		<filename>/templates/admin_verify_logs.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGRpdiBjbGFzcz0icGFnZWNvbnRhaW5lciI+CiAgICA8aDM+U01TIFZlcmlmaWNhdGlvbiBMb2dzPC9oMz4KICAgIAogICAge2lmICRlcnJvcn0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPgogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWVycm9yIj57JGVycm9yfTwvcD4KICAgICAgICA8L2Rpdj4KICAgIHsvaWZ9CiAgICAKICAgIHtpZiAkbG9ncyAmJiBjb3VudCgkbG9ncykgPiAwfQogICAgICAgIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0aD5EYXRlL1RpbWU8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aD5QaG9uZSBOdW1iZXI8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aD5Db3VudHJ5PC90aD4KICAgICAgICAgICAgICAgICAgICA8dGg+U3RhdHVzPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGg+Q3JlZGl0cyBVc2VkPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGg+VHlwZTwvdGg+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICB7Zm9yZWFjaCAkbG9ncyBhcyAkbG9nfQogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnskbG9nLnRpbWVzdGFtcHxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnskbG9nLnBob25lfGRlZmF1bHQ6Jy0nfTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57JGxvZy5jb3VudHJ5fGRlZmF1bHQ6Jy0nfTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkbG9nLnN0YXR1cykgJiYgKCRsb2cuc3RhdHVzID09ICdzdWNjZXNzJyB8fCAkbG9nLnN0YXR1cyA9PSAnYXBwcm92ZWQnKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6IGdyZWVuOyI+4pyTIFN1Y2Nlc3M8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZWxzZWlmIGlzc2V0KCRsb2cuc3RhdHVzKSAmJiAkbG9nLnN0YXR1cyA9PSAnZmFpbGVkJ30KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPuKclyBGYWlsZWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZWxzZX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7JGxvZy5zdGF0dXN8ZGVmYXVsdDonLSd9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+eyRsb2cuYW1vdW50fGRlZmF1bHQ6JzAnfTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57JGxvZy50eXBlfGRlZmF1bHQ6Jy0nfTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIHsvZm9yZWFjaH0KICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICA8L3RhYmxlPgogICAgICAgIAogICAgICAgIHtpZiAkdG90YWxfcGFnZXMgPiAxfQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyIgc3R5bGU9Im1hcmdpbi10b3A6IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICAgICAgICAgICAge2lmICRwYWdlID4gMX0KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWRlZmF1bHRhZG1pbiBfX2FjdGl2ZXRhYj12ZXJpZnlfbG9ncyBwYWdlPSRwYWdlLTF9IiBjbGFzcz0icGFnZW9wdGlvbiI+JmxhcXVvOyBQcmV2aW91czwvYT4KICAgICAgICAgICAgICAgIHsvaWZ9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJtYXJnaW46IDAgMTVweDsiPlBhZ2UgeyRwYWdlfSBvZiB7JHRvdGFsX3BhZ2VzfSAoeyR0b3RhbF9sb2dzfSB0b3RhbCBsb2dzKTwvc3Bhbj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAge2lmICRwYWdlIDwgJHRvdGFsX3BhZ2VzfQogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249ZGVmYXVsdGFkbWluIF9fYWN0aXZldGFiPXZlcmlmeV9sb2dzIHBhZ2U9JHBhZ2UrMX0iIGNsYXNzPSJwYWdlb3B0aW9uIj5OZXh0ICZyYXF1bzs8L2E+CiAgICAgICAgICAgICAgICB7L2lmfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICB7L2lmfQogICAge2Vsc2V9CiAgICAgICAgPHAgY2xhc3M9ImluZm9ybWF0aW9uIj5ObyB2ZXJpZmljYXRpb24gbG9ncyBmb3VuZC48L3A+CiAgICB7L2lmfQo8L2Rpdj4K]]></data>
	</file>
	<file>
		<filename>/templates/defaultadmin.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[e2lmICRpc19wcm9fYWN0aXZlfQogICAgPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPgogICAgICAgIDxwPjxzdHJvbmc+4pyTIHskbW9kLT5MYW5nKCdwcm9fYWN0aXZlX2JldGEnKX08L3N0cm9uZz4gLSB7JG1vZC0+TGFuZygncHJvX2ZlYXR1cmVzX2VuYWJsZWQnKX08L3A+CiAgICA8L2Rpdj4Key9pZn0K]]></data>
	</file>
	<file>
		<filename>/templates/help.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[DQoNCjxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCg0KPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iIHN0eWxlPSJtYXJnaW4tdG9wOiAyMHB4OyBwYWRkaW5nOiAxNXB4OyBiYWNrZ3JvdW5kOiAjZThmNGY4OyBib3JkZXItbGVmdDogNHB4IHNvbGlkICMyMTk2RjM7Ij4NCiAgPHAgc3R5bGU9Im1hcmdpbjogMDsiPjxzdHJvbmc+TmVlZCBtb3JlIGhlbHA/PC9zdHJvbmc+IFZpc2l0IG91ciBjb21wbGV0ZSBkb2N1bWVudGF0aW9uIGF0IDxhIGhyZWY9Imh0dHBzOi8vcGl4ZWxzb2x1dGlvbnMuYml6L2RvY3VtZW50YXRpb24vdHdvZmFjdG9yLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vcGl4ZWxzb2x1dGlvbnMuYml6L2RvY3VtZW50YXRpb24vdHdvZmFjdG9yLzwvYT48L3A+DQo8L2Rpdj4NCg0KPGRpdiBpZD0icGFnZV90YWJzIj4NCg0KICA8ZGl2ICBpZD0iZ2VuZXJhbCI+DQogICAgR2VuZXJhbA0KICA8L2Rpdj4NCiAgPGRpdiBpZD0idXNpbmciPg0KICAgIEhvdyBEbyBJIFVzZSBJdA0KICA8L2Rpdj4NCiAgPGRpdiBpZD0iY3VzdG9taXphdGlvbiI+DQogICAgQ3VzdG9taXphdGlvbg0KICA8L2Rpdj4NCiAge2lmICRoYXZlXzJmcHJvfQ0KICA8ZGl2IGlkPSJwcm9fc2V0dGluZ3MiPg0KICAgIFBybyBTZXR0aW5ncw0KICA8L2Rpdj4NCiAge2Vsc2V9DQogICAgPGRpdiBpZD0idXBncmFkZSI+DQogICAgSG93IHRvIFVwZ3JhZGUNCiAgICA8L2Rpdj4NCiAgey9pZn0NCiAgPGRpdiBpZD0iaG9va3MiPg0KICAgIEhvb2tzDQogIDwvZGl2Pg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9ImNsZWFyYiI+PC9kaXY+DQo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPg0KDQogIDxkaXYgaWQ9ImdlbmVyYWxfYyI+DQogICAge2luY2x1ZGUgZmlsZT0nbW9kdWxlX2ZpbGVfdHBsOlR3b0ZhY3RvcjtoZWxwX2dlbmVyYWxfdGFiLnRwbCd9DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJ1c2luZ19jIj4NCiAgICB7aW5jbHVkZSBmaWxlPSdtb2R1bGVfZmlsZV90cGw6VHdvRmFjdG9yO2hlbHBfdXNpbmdfdGFiLnRwbCd9DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJjdXN0b21pemF0aW9uX2MiPg0KICAgIHtpbmNsdWRlIGZpbGU9J21vZHVsZV9maWxlX3RwbDpUd29GYWN0b3I7aGVscF9jdXN0b21pemF0aW9uX3RhYi50cGwnfQ0KICA8L2Rpdj4NCg0KICB7aWYgJGhhdmVfMmZwcm99DQogICAgPGRpdiBpZD0icHJvX3NldHRpbmdzX2MiPg0KICAgICAge2luY2x1ZGUgZmlsZT0nbW9kdWxlX2ZpbGVfdHBsOlR3b0ZhY3RvcjtoZWxwX3Byb19zZXR0aW5nc190YWIudHBsJ30NCiAgICA8L2Rpdj4NCiAge2Vsc2V9DQogIDxkaXYgaWQ9InVwZ3JhZGVfYyI+DQogICAge2luY2x1ZGUgZmlsZT0nbW9kdWxlX2ZpbGVfdHBsOlR3b0ZhY3RvcjtoZWxwX3VwZ3JhZGVfdGFiLnRwbCd9DQogIDwvZGl2Pg0KICB7L2lmfQ0KICAgIDxkaXYgaWQ9Imhvb2tzX2MiPg0KICAgIHtpbmNsdWRlIGZpbGU9J21vZHVsZV9maWxlX3RwbDpUd29GYWN0b3I7aGVscF9ob29rc190YWIudHBsJ30NCiAgPC9kaXY+DQoNCg0KICA8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pg0KPC9kaXY+]]></data>
	</file>
	<file>
		<filename>/templates/help_customization_tab.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPlRlbXBsYXRlIEN1c3RvbWl6YXRpb248L2gzPgoKPHA+VHdvRmFjdG9yIGNyZWF0ZXMgZW1haWwgdGVtcGxhdGVzIHRoYXQgeW91IGNhbiBjdXN0b21pemUgaW4gPHN0cm9uZz5MYXlvdXQgPiBEZXNpZ24gTWFuYWdlcjwvc3Ryb25nPi48L3A+Cgo8aDM+RW1haWwgVGVtcGxhdGVzPC9oMz4KCjxoND5FbWFpbCBWZXJpZmljYXRpb248L2g0Pgo8cD48c3Ryb25nPlRlbXBsYXRlIFR5cGU6PC9zdHJvbmc+IFR3b0ZhY3Rvcjo6RW1haWwgVmVyaWZpY2F0aW9uPC9wPgo8cD5DdXN0b21pemUgdGhlIGVtYWlsIGRlc2lnbiBzZW50IHRvIHVzZXJzIHdoZW4gdGhleSByZXF1ZXN0IGFuIGVtYWlsIHZlcmlmaWNhdGlvbiBjb2RlLjwvcD4KPHA+RmluZCB0aGlzIHRlbXBsYXRlIGluIDxzdHJvbmc+TGF5b3V0ID4gRGVzaWduIE1hbmFnZXI8L3N0cm9uZz4gdW5kZXIgdGhlICJUd29GYWN0b3I6OkVtYWlsIFZlcmlmaWNhdGlvbiIgdHlwZS48L3A+Cgo8aDM+Q1NTIEN1c3RvbWl6YXRpb248L2gzPgo8cD5Zb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGFkbWluIHN0eWxlcyBieSBjcmVhdGluZyBhIGN1c3RvbSBDU1MgZmlsZSBhdDo8L3A+CjxwcmUgc3R5bGU9ImJhY2tncm91bmQ6ICNmNWY1ZjU7IHBhZGRpbmc6IDEwcHg7IG1hcmdpbjogMTBweCAwOyI+YXNzZXRzL21vZHVsZV9jdXN0b20vVHdvRmFjdG9yL3R3b2ZhY3Rvcl9hZG1pbi5jc3M8L3ByZT4KPHA+VGhpcyBmaWxlIHdpbGwgYmUgbG9hZGVkIGFmdGVyIHRoZSBkZWZhdWx0IHN0eWxlcywgYWxsb3dpbmcgeW91IHRvIGN1c3RvbWl6ZSB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgMkZBIGFkbWluIGludGVyZmFjZSBhbmQgdmVyaWZpY2F0aW9uIHBhZ2VzLjwvcD4KCjxoMz5WZXJpZmljYXRpb24gUGFnZSBUZW1wbGF0ZXM8L2gzPgo8cD5UaGUgZm9sbG93aW5nIHZlcmlmaWNhdGlvbiBwYWdlIHRlbXBsYXRlcyBhcmUgdXNlZCBkdXJpbmcgbG9naW46PC9wPgo8dWw+CiAgPGxpPjxjb2RlPnZlcmlmeV90b3RwLnRwbDwvY29kZT4gJm1kYXNoOyBUT1RQIGNvZGUgZW50cnkgcGFnZTwvbGk+CiAgPGxpPjxjb2RlPnZlcmlmeV9lbWFpbC50cGw8L2NvZGU+ICZtZGFzaDsgRW1haWwgY29kZSBlbnRyeSBwYWdlPC9saT4KICA8bGk+PGNvZGU+dmVyaWZ5X3Ntcy50cGw8L2NvZGU+ICZtZGFzaDsgU01TIGNvZGUgZW50cnkgcGFnZTwvbGk+CiAgPGxpPjxjb2RlPnZlcmlmeV9wYXNza2V5LnRwbDwvY29kZT4gJm1kYXNoOyBQYXNza2V5L1dlYkF1dGhuIGF1dGhlbnRpY2F0aW9uIHBhZ2UgKGF1dG8tdHJpZ2dlcnMgYnJvd3NlciBwcm9tcHQpPC9saT4KICA8bGk+PGNvZGU+dmVyaWZ5X2JhY2t1cF9jb2Rlcy50cGw8L2NvZGU+ICZtZGFzaDsgQmFja3VwIGNvZGUgZW50cnkgcGFnZTwvbGk+CjwvdWw+Cgp7aWYgJGhhdmVfMmZwcm99CjxoMz5Ud29GYWN0b3IgUHJvIEVtYWlsIFRlbXBsYXRlczwvaDM+Cgo8cD5Ud29GYWN0b3IgUHJvIGFkZHMgYWRkaXRpb25hbCBjdXN0b21pemFibGUgZW1haWwgdGVtcGxhdGVzLiBDb25maWd1cmUgdGhlc2UgaW4gPHN0cm9uZz5Ud29GYWN0b3IgU2V0dGluZ3MgPiBUZW1wbGF0ZXM8L3N0cm9uZz4gdGFiOjwvcD4KCjxoND5QYXNzd29yZCBSZXNldCBFbWFpbDwvaDQ+CjxwPlNlbnQgd2hlbiBhIHVzZXIgaXMgZm9yY2VkIHRvIHJlc2V0IHRoZWlyIHBhc3N3b3JkIGFmdGVyIGV4Y2Vzc2l2ZSBmYWlsZWQgYXR0ZW1wdHMuPC9wPgo8cD48c3Ryb25nPkF2YWlsYWJsZSBwbGFjZWhvbGRlcnM6PC9zdHJvbmc+IDxjb2RlPntsaXRlcmFsfXt1c2VybmFtZX0sIHtyZXNldF91cmx9ey9saXRlcmFsfTwvY29kZT48L3A+Cgo8aDQ+QWRtaW4gQWxlcnQgRW1haWw8L2g0Pgo8cD5TZW50IHRvIGFkbWluaXN0cmF0b3JzIHdoZW4gc3VzcGljaW91cyBhY3Rpdml0eSBpcyBkZXRlY3RlZC48L3A+CjxwPjxzdHJvbmc+QXZhaWxhYmxlIHBsYWNlaG9sZGVyczo8L3N0cm9uZz4gPGNvZGU+e2xpdGVyYWx9e3VzZXJuYW1lfSwge2lwX2FkZHJlc3N9LCB7YXR0ZW1wdHN9LCB7dGltZX17L2xpdGVyYWx9PC9jb2RlPjwvcD4Key9pZn0K]]></data>
	</file>
	<file>
		<filename>/templates/help_general_tab.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIE1vZHVsZSBEbz88L2gzPgo8cD5Ud29GYWN0b3IgYWRkcyB0d28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uICgyRkEpIHNlY3VyaXR5IHRvIHlvdXIgQ01TIE1hZGUgU2ltcGxlIGluc3RhbGxhdGlvbi4gSXQgcmVxdWlyZXMgdXNlcnMgdG8gdmVyaWZ5IHRoZWlyIGlkZW50aXR5IHVzaW5nIGEgc2Vjb25kIGZhY3RvciBhZnRlciBlbnRlcmluZyB0aGVpciB1c2VybmFtZSBhbmQgcGFzc3dvcmQuPC9wPgoKPGgzPkZlYXR1cmVzPC9oMz4KPHVsPgogIDxsaT48c3Ryb25nPk11bHRpcGxlIEF1dGhlbnRpY2F0aW9uIE1ldGhvZHM6PC9zdHJvbmc+IFRPVFAgKEF1dGhlbnRpY2F0b3IgYXBwcyksIFBhc3NrZXlzIChiaW9tZXRyaWNzL2RldmljZSksIEVtYWlsLCBTTVMsIGFuZCBCYWNrdXAgQ29kZXM8L2xpPgogIDxsaT48c3Ryb25nPlBhc3NrZXkgLyBXZWJBdXRobiBTdXBwb3J0Ojwvc3Ryb25nPiBVc2UgVG91Y2ggSUQsIFdpbmRvd3MgSGVsbG8sIEZhY2UgSUQsIG9yIG90aGVyIHBsYXRmb3JtIGF1dGhlbnRpY2F0b3JzPC9saT4KICA8bGk+PHN0cm9uZz5GbGV4aWJsZSBDb25maWd1cmF0aW9uOjwvc3Ryb25nPiBVc2VycyBjaG9vc2UgdGhlaXIgcHJlZmVycmVkIHByaW1hcnkgbWV0aG9kIHdpdGggZmFsbGJhY2sgb3B0aW9uczwvbGk+CiAgPGxpPjxzdHJvbmc+U01TIE9wdGlvbnM6PC9zdHJvbmc+IFVzZSBNYW5hZ2VkIFNNUyBDcmVkaXRzIGZyb20gUGl4ZWwgU29sdXRpb25zIG9yIHlvdXIgb3duIFR3aWxpbyBhY2NvdW50PC9saT4KICA8bGk+PHN0cm9uZz5TZWN1cml0eSBMb2dnaW5nOjwvc3Ryb25nPiBBdWRpdCB0cmFpbCBvZiBhbGwgMkZBIGV2ZW50czwvbGk+CiAgPGxpPjxzdHJvbmc+VXNlci1GcmllbmRseTo8L3N0cm9uZz4gU2ltcGxlIHNldHVwIHByb2Nlc3MgZm9yIGJvdGggYWRtaW5zIGFuZCB1c2VyczwvbGk+CiAgPGxpPjxzdHJvbmc+Tm8gRXh0ZXJuYWwgRGVwZW5kZW5jaWVzOjwvc3Ryb25nPiBCdWlsdC1pbiBXZWJBdXRobiBzZXJ2ZXIgbGlicmFyeSwgVE9UUCB2aWEgYnVuZGxlZCBSb2JUaHJlZSBsaWJyYXJ5PC9saT4KPC91bD4KCjxoMz5VcGdyYWRlIHRvIFR3b0ZhY3RvciBQcm88L2gzPgo8cD5VbmxvY2sgZW50ZXJwcmlzZS1ncmFkZSBzZWN1cml0eSBmZWF0dXJlczo8L3A+Cjx1bD4KICA8bGk+RW5mb3JjZSAyRkEgZm9yIGFsbCBhZG1pbiB1c2VyczwvbGk+CiAgPGxpPlJhdGUgbGltaXRpbmcgYW5kIGJydXRlLWZvcmNlIHByb3RlY3Rpb248L2xpPgogIDxsaT5UcnVzdGVkIGRldmljZXMgKHJlbWVtYmVyIGZvciAzMCBkYXlzKTwvbGk+CiAgPGxpPlVubGltaXRlZCBwYXNza2V5cyBwZXIgdXNlciAoZnJlZSB0aWVyIGFsbG93cyBvbmUpPC9saT4KICA8bGk+UGh5c2ljYWwgc2VjdXJpdHkga2V5cyBhcyBhIHN0YW5kYWxvbmUgbG9naW4gbWV0aG9kIChZdWJpS2V5LCBUaXRhbiBLZXkpPC9saT4KICA8bGk+QUFHVUlELWJhc2VkIGF1dGhlbnRpY2F0b3IgZGV0ZWN0aW9uIChhdXRvLWlkZW50aWZpZXMga2V5IG1ha2UvbW9kZWwpPC9saT4KICA8bGk+U2VjdXJpdHkga2V5IG1hbmFnZW1lbnQgZGFzaGJvYXJkPC9saT4KICA8bGk+QWRtaW4gdXNlciBtYW5hZ2VtZW50IGRhc2hib2FyZDwvbGk+CiAgPGxpPkVtYWlsIHNlY3VyaXR5IGFsZXJ0czwvbGk+CiAgPGxpPklQIGJsYWNrbGlzdGluZzwvbGk+CjwvdWw+Cg==]]></data>
	</file>
	<file>
		<filename>/templates/help_hooks_tab.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPkhvb2tzPC9oMz4KPHA+VGhpcyBtb2R1bGUgdXNlcyBIb29rcyB0byB0aWUgaW4gZXh0ZXJuYWwgZnVuY3Rpb25hbGl0eS4gVGhlIGZvbGxvd2luZyBob29rcyBhcmUgYXZhaWxhYmxlOjwvcD4KPHVsPgogICAgPGxpPjxjb2RlPlR3b0ZhY3Rvcjo6QmVmb3JlVmVyaWZpY2F0aW9uPC9jb2RlPgogICAgICAgIDxwPlNlbnQgYmVmb3JlIHZlcmlmaWNhdGlvbiBjb2RlIGlzIGNoZWNrZWQuPC9wPgogICAgICAgIDxwPlBhcmFtZXRlcnMgKGFzIGFuIGFzc29jaWF0aXZlIGFycmF5KTwvcD4KICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48Y29kZT51c2VyX2lkPC9jb2RlPiA6IGludCAtIFRoZSB1c2VyIGlkIGF0dGVtcHRpbmcgdmVyaWZpY2F0aW9uPC9saT4KICAgICAgICAgICAgPGxpPjxjb2RlPnByb3ZpZGVyPC9jb2RlPiA6IHN0cmluZyAtIFByb3ZpZGVyIGtleTwvbGk+CiAgICAgICAgICAgIDxsaT48Y29kZT5jb2RlPC9jb2RlPiA6IHN0cmluZyAtIFRoZSB2ZXJpZmljYXRpb24gY29kZSBlbnRlcmVkPC9saT4KICAgICAgICA8L3VsPgogICAgPC9saT4KICAgIDxsaT48Y29kZT5Ud29GYWN0b3I6OkFmdGVyVmVyaWZpY2F0aW9uU3VjY2VzczwvY29kZT4KICAgICAgICA8cD5TZW50IGFmdGVyIHN1Y2Nlc3NmdWwgdmVyaWZpY2F0aW9uLjwvcD4KICAgICAgICA8cD5QYXJhbWV0ZXJzIChhcyBhbiBhc3NvY2lhdGl2ZSBhcnJheSk8L3A+CiAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGNvZGU+dXNlcl9pZDwvY29kZT4gOiBpbnQgLSBUaGUgdXNlciBpZCB3aG8gdmVyaWZpZWQgc3VjY2Vzc2Z1bGx5PC9saT4KICAgICAgICAgICAgPGxpPjxjb2RlPnByb3ZpZGVyPC9jb2RlPiA6IHN0cmluZyAtIFByb3ZpZGVyIGtleSB1c2VkIGZvciB2ZXJpZmljYXRpb248L2xpPgogICAgICAgIDwvdWw+CiAgICA8L2xpPgogICAgPGxpPjxjb2RlPlR3b0ZhY3Rvcjo6QWZ0ZXJWZXJpZmljYXRpb25GYWlsPC9jb2RlPgogICAgICAgIDxwPlNlbnQgYWZ0ZXIgZmFpbGVkIHZlcmlmaWNhdGlvbiBhdHRlbXB0LjwvcD4KICAgICAgICA8cD5QYXJhbWV0ZXJzIChhcyBhbiBhc3NvY2lhdGl2ZSBhcnJheSk8L3A+CiAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGNvZGU+dXNlcl9pZDwvY29kZT4gOiBpbnQgLSBUaGUgdXNlciBpZCB3aG8gZmFpbGVkIHZlcmlmaWNhdGlvbjwvbGk+CiAgICAgICAgICAgIDxsaT48Y29kZT5wcm92aWRlcjwvY29kZT4gOiBzdHJpbmcgLSBQcm92aWRlciBrZXkgYXR0ZW1wdGVkPC9saT4KICAgICAgICAgICAgPGxpPjxjb2RlPmNvZGU8L2NvZGU+IDogc3RyaW5nIC0gVGhlIGluY29ycmVjdCBjb2RlIGVudGVyZWQ8L2xpPgogICAgICAgIDwvdWw+CiAgICA8L2xpPgo8L3VsPgoKPGgzPlBlcm1pc3Npb25zPC9oMz4KPHVsPgogICAgPGxpPjxzdHJvbmc+TWFuYWdlIFR3b0ZhY3Rvcjo8L3N0cm9uZz4gQWNjZXNzIHRvIFR3b0ZhY3RvciBzZXR0aW5ncyBhbmQgY29uZmlndXJhdGlvbjwvbGk+CiAgICA8bGk+PHN0cm9uZz5Vc2UgVHdvRmFjdG9yOjwvc3Ryb25nPiBBY2Nlc3MgdG8gVHdvRmFjdG9yIHVzZXIgcHJlZmVyZW5jZXMgKGVuYWJsZS9jb25maWd1cmUgMkZBIG1ldGhvZHMpPC9saT4KICAgIDxsaT48c3Ryb25nPk1hbmFnZSBUd29GYWN0b3IgU01TOjwvc3Ryb25nPiBBY2Nlc3MgdG8gU01TIHNldHRpbmdzIGNvbmZpZ3VyYXRpb248L2xpPgogICAgPGxpPjxzdHJvbmc+TWFuYWdlIFR3b0ZhY3RvciBQcm86PC9zdHJvbmc+IEFjY2VzcyB0byBUd29GYWN0b3IgUHJvIHNldHRpbmdzIChyZXF1aXJlcyBQcm8gbW9kdWxlKTwvbGk+CjwvdWw+Cgo8aDM+QXZhaWxhYmxlIFByb3ZpZGVyczwvaDM+Cjx1bD4KICAgIDxsaT48Y29kZT5Ud29GYWN0b3JQcm92aWRlclRPVFA8L2NvZGU+ICZtZGFzaDsgQXV0aGVudGljYXRvciBhcHAgKEdvb2dsZSBBdXRoZW50aWNhdG9yLCBBdXRoeSwgZXRjLik8L2xpPgogICAgPGxpPjxjb2RlPlR3b0ZhY3RvclByb3ZpZGVyRW1haWw8L2NvZGU+ICZtZGFzaDsgRW1haWwgdmVyaWZpY2F0aW9uIGNvZGVzPC9saT4KICAgIDxsaT48Y29kZT5Ud29GYWN0b3JQcm92aWRlclNNUzwvY29kZT4gJm1kYXNoOyBTTVMgdmVyaWZpY2F0aW9uIGNvZGVzIChUd2lsaW8gLyBNYW5hZ2VkIENyZWRpdHMpPC9saT4KICAgIDxsaT48Y29kZT5Ud29GYWN0b3JQcm92aWRlclBhc3NrZXk8L2NvZGU+ICZtZGFzaDsgUGFzc2tleXMgYW5kIHNlY3VyaXR5IGtleXMgKFdlYkF1dGhuL0ZJRE8yKTwvbGk+CiAgICA8bGk+PGNvZGU+VHdvRmFjdG9yUHJvdmlkZXJCYWNrdXBDb2RlczwvY29kZT4gJm1kYXNoOyBPbmUtdGltZSBiYWNrdXAgY29kZXM8L2xpPgo8L3VsPgoKPGgzPldlYkF1dGhuIC8gUGFzc2tleSBOb3RlczwvaDM+CjxwPlRoZSBQYXNza2V5IHByb3ZpZGVyIHVzZXMgdGhlIFdlYkF1dGhuIChGSURPMikgc3RhbmRhcmQuIEtleSB0ZWNobmljYWwgZGV0YWlsczo8L3A+Cjx1bD4KICAgIDxsaT48c3Ryb25nPkhUVFBTIHJlcXVpcmVkOjwvc3Ryb25nPiBXZWJBdXRobiBvbmx5IHdvcmtzIG92ZXIgc2VjdXJlIGNvbm5lY3Rpb25zIChIVFRQUyBvciBsb2NhbGhvc3QpPC9saT4KICAgIDxsaT48c3Ryb25nPkJyb3dzZXIgc3VwcG9ydDo8L3N0cm9uZz4gQWxsIG1vZGVybiBicm93c2VycyBzdXBwb3J0IFdlYkF1dGhuIChDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSk8L2xpPgogICAgPGxpPjxzdHJvbmc+UmVseWluZyBQYXJ0eSBJRDo8L3N0cm9uZz4gQXV0b21hdGljYWxseSBzZXQgdG8geW91ciBzaXRlJ3MgZG9tYWluIGZyb20gPGNvZGU+cm9vdF91cmw8L2NvZGU+IGluIGNvbmZpZzwvbGk+CiAgICA8bGk+PHN0cm9uZz5BdHRlc3RhdGlvbjo8L3N0cm9uZz4gU2V0IHRvICJub25lIiAobm8gYXR0ZXN0YXRpb24gdmVyaWZpY2F0aW9uKSBmb3IgbWF4aW11bSBjb21wYXRpYmlsaXR5PC9saT4KICAgIDxsaT48c3Ryb25nPkZyZWUgdGllcjo8L3N0cm9uZz4gUGxhdGZvcm0gYXV0aGVudGljYXRvcnMgb25seSwgc2luZ2xlIGNyZWRlbnRpYWwgcGVyIHVzZXIgKHN0b3JlZCBpbiB1c2VybWV0YSk8L2xpPgogICAgPGxpPjxzdHJvbmc+UHJvIHRpZXI6PC9zdHJvbmc+IEFsbCBhdXRoZW50aWNhdG9yIHR5cGVzLCBtdWx0aXBsZSBjcmVkZW50aWFscyBwZXIgdXNlciAoc3RvcmVkIGluIGRlZGljYXRlZCBEQiB0YWJsZSk8L2xpPgogICAgPGxpPkF1dGhlbnRpY2F0aW9uIHRyaWVzIHRoZSBiYXNlIGNyZWRlbnRpYWwgZmlyc3QsIHRoZW4gYWxsIFBybyBjcmVkZW50aWFsczwvbGk+CjwvdWw+Cg==]]></data>
	</file>
	<file>
		<filename>/templates/help_pro_settings_tab.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPlR3b0ZhY3RvciBQcm8gU2V0dGluZ3M8L2gzPgoKPHA+VHdvRmFjdG9yIFBybyBleHRlbmRzIHRoZSBmcmVlIHZlcnNpb24gd2l0aCBlbnRlcnByaXNlLWdyYWRlIHNlY3VyaXR5IGZlYXR1cmVzLjwvcD4KCjxoMz5MaWNlbnNlIEFjdGl2YXRpb248L2gzPgo8b2w+CiAgPGxpPkdvIHRvIDxzdHJvbmc+VHdvRmFjdG9yIFNldHRpbmdzID4gTGljZW5zZTwvc3Ryb25nPiB0YWI8L2xpPgogIDxsaT5FbnRlciB5b3VyIGxpY2Vuc2Uga2V5PC9saT4KICA8bGk+Q2xpY2sgIlZlcmlmeSBMaWNlbnNlIjwvbGk+Cjwvb2w+Cgo8aDM+UHJvIEZlYXR1cmVzIENvbmZpZ3VyYXRpb248L2gzPgoKPGg0PkVuZm9yY2UgMkZBPC9oND4KPHA+Rm9yY2UgYWxsIGFkbWluIHVzZXJzIHRvIGVuYWJsZSB0d28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIGFkbWluIHBhbmVsLjwvcD4KPHVsPgogIDxsaT5Vc2VycyB3aXRob3V0IDJGQSBlbmFibGVkIHdpbGwgYmUgcmVkaXJlY3RlZCB0byBzZXR1cCBwYWdlPC9saT4KICA8bGk+Q2Fubm90IGJlIGJ5cGFzc2VkIG9uY2UgZW5hYmxlZDwvbGk+CjwvdWw+Cgo8aDQ+UmF0ZSBMaW1pdGluZzwvaDQ+CjxwPlByb3RlY3QgYWdhaW5zdCBicnV0ZS1mb3JjZSBhdHRhY2tzIHdpdGggZXhwb25lbnRpYWwgYmFja29mZi48L3A+Cjx1bD4KICA8bGk+PHN0cm9uZz5NYXggQXR0ZW1wdHMgQmVmb3JlIExvY2tvdXQ6PC9zdHJvbmc+IE51bWJlciBvZiBmYWlsZWQgYXR0ZW1wdHMgYmVmb3JlIGFjY291bnQgaXMgbG9ja2VkPC9saT4KICA8bGk+PHN0cm9uZz5NYXggQXR0ZW1wdHMgQmVmb3JlIFBhc3N3b3JkIFJlc2V0Ojwvc3Ryb25nPiBOdW1iZXIgb2YgZmFpbGVkIGF0dGVtcHRzIGJlZm9yZSBwYXNzd29yZCByZXNldCBpcyByZXF1aXJlZDwvbGk+CiAgPGxpPkF1dG9tYXRpYyBleHBvbmVudGlhbCBiYWNrb2ZmIGRlbGF5cyBiZXR3ZWVuIGF0dGVtcHRzPC9saT4KPC91bD4KCjxoND5UcnVzdGVkIERldmljZXM8L2g0Pgo8cD5BbGxvdyB1c2VycyB0byByZW1lbWJlciB0cnVzdGVkIGRldmljZXMgZm9yIDMwIGRheXMuPC9wPgo8dWw+CiAgPGxpPlVzZXJzIGNhbiBjaGVjayAiUmVtZW1iZXIgdGhpcyBkZXZpY2UgZm9yIDMwIGRheXMiIGR1cmluZyB2ZXJpZmljYXRpb248L2xpPgogIDxsaT5EZXZpY2UgZmluZ2VycHJpbnRpbmcgZm9yIGVuaGFuY2VkIHNlY3VyaXR5PC9saT4KICA8bGk+VXNlcnMgY2FuIG1hbmFnZSB0cnVzdGVkIGRldmljZXMgaW4gTXkgUHJlZmVyZW5jZXM8L2xpPgogIDxsaT5BdXRvbWF0aWMgY2xlYW51cCBvZiBleHBpcmVkIGRldmljZXM8L2xpPgo8L3VsPgoKPGg0PkFkbWluIE5vdGlmaWNhdGlvbnM8L2g0Pgo8cD5SZWNlaXZlIGVtYWlsIGFsZXJ0cyBmb3Igc2VjdXJpdHkgZXZlbnRzOjwvcD4KPHVsPgogIDxsaT5NdWx0aXBsZSBmYWlsZWQgdmVyaWZpY2F0aW9uIGF0dGVtcHRzPC9saT4KICA8bGk+QWNjb3VudCBsb2Nrb3V0czwvbGk+CiAgPGxpPlN1c3BpY2lvdXMgYWN0aXZpdHkgZGV0ZWN0aW9uPC9saT4KPC91bD4KCjxoND5JUCBCbGFja2xpc3Q8L2g0Pgo8cD5CbG9jayBtYWxpY2lvdXMgSVAgYWRkcmVzc2VzIGZyb20gYWNjZXNzaW5nIDJGQSB2ZXJpZmljYXRpb24uPC9wPgo8dWw+CiAgPGxpPkVudGVyIG9uZSBJUCBhZGRyZXNzIHBlciBsaW5lPC9saT4KICA8bGk+U3VwcG9ydHMgQ0lEUiBub3RhdGlvbiAoZS5nLiwgMTkyLjE2OC4xLjAvMjQpPC9saT4KICA8bGk+QmxvY2tlZCBJUHMgY2Fubm90IGF0dGVtcHQgdmVyaWZpY2F0aW9uPC9saT4KPC91bD4KCjxoMz5Vc2VyIE1hbmFnZW1lbnQ8L2gzPgoKPHA+VmlldyBhbmQgbWFuYWdlIGFsbCB1c2VycycgMkZBIHN0YXR1cyBmcm9tIDxzdHJvbmc+VHdvRmFjdG9yIFNldHRpbmdzID4gVXNlciBNYW5hZ2VtZW50PC9zdHJvbmc+IHRhYjo8L3A+Cjx1bD4KICA8bGk+U2VlIHdoaWNoIHVzZXJzIGhhdmUgMkZBIGVuYWJsZWQ8L2xpPgogIDxsaT5WaWV3IHByaW1hcnkgYXV0aGVudGljYXRpb24gbWV0aG9kIGZvciBlYWNoIHVzZXI8L2xpPgogIDxsaT5SZXNldCB1c2VyIDJGQSBzZXR0aW5ncyBpZiBuZWVkZWQ8L2xpPgogIDxsaT5Gb3JjZSBlbmFibGUvZGlzYWJsZSAyRkEgZm9yIHNwZWNpZmljIHVzZXJzPC9saT4KPC91bD4KCjxoMz5QYXNza2V5cyAmYW1wOyBTZWN1cml0eSBLZXlzIChQcm8pPC9oMz4KCjxwPlR3b0ZhY3RvciBQcm8gYWRkcyBmdWxsIFdlYkF1dGhuIHN1cHBvcnQgd2l0aCB0d28gc2VwYXJhdGUgYXV0aGVudGljYXRpb24gbWV0aG9kczo8L3A+Cgo8aDQ+UGFzc2tleSB2cyBTZWN1cml0eSBLZXk8L2g0Pgo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPjx0aD5GZWF0dXJlPC90aD48dGg+UGFzc2tleSAoRnJlZSArIFBybyk8L3RoPjx0aD5TZWN1cml0eSBLZXkgKFBybyBvbmx5KTwvdGg+PC90cj4KICA8L3RoZWFkPgogIDx0Ym9keT4KICAgIDx0cj48dGQ+QXV0aGVudGljYXRvciB0eXBlPC90ZD48dGQ+UGxhdGZvcm0gKGJ1aWx0IGludG8gZGV2aWNlKTwvdGQ+PHRkPkNyb3NzLXBsYXRmb3JtIChleHRlcm5hbCBoYXJkd2FyZSk8L3RkPjwvdHI+CiAgICA8dHIgY2xhc3M9InJvdzIiPjx0ZD5FeGFtcGxlczwvdGQ+PHRkPldpbmRvd3MgSGVsbG8sIFRvdWNoIElELCBGYWNlIElEPC90ZD48dGQ+WXViaUtleSwgR29vZ2xlIFRpdGFuIEtleSwgRmVpdGlhbiwgU29sb0tleXM8L3RkPjwvdHI+CiAgICA8dHI+PHRkPktleXMgcGVyIHVzZXIgKEZyZWUpPC90ZD48dGQ+MTwvdGQ+PHRkPuKAlDwvdGQ+PC90cj4KICAgIDx0ciBjbGFzcz0icm93MiI+PHRkPktleXMgcGVyIHVzZXIgKFBybyk8L3RkPjx0ZD5VbmxpbWl0ZWQ8L3RkPjx0ZD5VbmxpbWl0ZWQ8L3RkPjwvdHI+CiAgICA8dHI+PHRkPlNlbGVjdGFibGUgYXMgcHJpbWFyeSBtZXRob2Q8L3RkPjx0ZD5ZZXM8L3RkPjx0ZD5ZZXMgKFBybyBvbmx5KTwvdGQ+PC90cj4KICAgIDx0ciBjbGFzcz0icm93MiI+PHRkPkxvZ2luIHByb21wdDwvdGQ+PHRkPkJpb21ldHJpYyAvIGRldmljZSBQSU48L3RkPjx0ZD5JbnNlcnQga2V5IGFuZCB0YXA8L3RkPjwvdHI+CiAgPC90Ym9keT4KPC90YWJsZT4KCjxwPjxzdHJvbmc+U2VjdXJpdHkgS2V5PC9zdHJvbmc+IGFwcGVhcnMgYXMgYSBzZXBhcmF0ZSBzZWxlY3RhYmxlIHByaW1hcnkgbWV0aG9kIGluIHRoZSB1c2VyJ3MgbWV0aG9kIGxpc3Qgd2hlbiBQcm8gaXMgYWN0aXZlIGFuZCB0aGUgdXNlciBoYXMgcmVnaXN0ZXJlZCBhdCBsZWFzdCBvbmUgcGh5c2ljYWwga2V5LiBUaGlzIG1lYW5zIHVzZXJzIGNhbiBjaG9vc2UgdG8gYWx3YXlzIGxvZyBpbiB3aXRoIHRoZWlyIFl1YmlLZXkgd2l0aG91dCBiZWluZyBwcm9tcHRlZCBmb3IgYmlvbWV0cmljcy48L3A+Cgo8aDQ+TXVsdGlwbGUgS2V5cyBQZXIgVXNlcjwvaDQ+CjxwPlBybyB1c2VycyBjYW4gcmVnaXN0ZXIgbXVsdGlwbGUgcGFzc2tleXMgYW5kIHNlY3VyaXR5IGtleXMgZnJvbSA8c3Ryb25nPk15IFByZWZlcmVuY2VzICZndDsgVHdvRmFjdG9yICZndDsgU2VjdXJpdHkgS2V5czwvc3Ryb25nPiB0YWIuIFRoaXMgaXMgcmVjb21tZW5kZWQgZm9yOjwvcD4KPHVsPgogIDxsaT5IYXZpbmcgYSBiYWNrdXAga2V5IGluIGNhc2UgdGhlIHByaW1hcnkgaXMgbG9zdDwvbGk+CiAgPGxpPlVzaW5nIGRpZmZlcmVudCBrZXlzIG9uIGRpZmZlcmVudCBkZXZpY2VzIChlLmcuLCBsYXB0b3AgZmluZ2VycHJpbnQgKyBVU0Iga2V5KTwvbGk+CiAgPGxpPktlZXBpbmcgYSBwaHlzaWNhbCBiYWNrdXAga2V5IGluIGEgc2VjdXJlIGxvY2F0aW9uPC9saT4KPC91bD4KCjxoND5LZXkgTWFuYWdlbWVudCBEYXNoYm9hcmQ8L2g0Pgo8cD5BZG1pbnMgY2FuIHZpZXcgYW5kIG1hbmFnZSBhbGwgdXNlcnMnIHJlZ2lzdGVyZWQga2V5cyBmcm9tIDxzdHJvbmc+VHdvRmFjdG9yIFNldHRpbmdzICZndDsgVXNlciBNYW5hZ2VtZW50PC9zdHJvbmc+OjwvcD4KPHVsPgogIDxsaT5TZWUgYWxsIHJlZ2lzdGVyZWQga2V5cyBhY3Jvc3MgYWxsIHVzZXJzPC9saT4KICA8bGk+VmlldyBrZXkgdHlwZSwgYXV0aGVudGljYXRvciBuYW1lIChhdXRvLWRldGVjdGVkIHZpYSBBQUdVSUQpLCByZWdpc3RyYXRpb24gZGF0ZSwgYW5kIGxhc3QgdXNlZCBkYXRlPC9saT4KICA8bGk+RGVsZXRlIGluZGl2aWR1YWwga2V5cyBmb3IgYW55IHVzZXI8L2xpPgogIDxsaT5SZW1vdmUgYWxsIGtleXMgZm9yIGEgc3BlY2lmaWMgdXNlcjwvbGk+CjwvdWw+Cgo8aDQ+U3VwcG9ydGVkIFBoeXNpY2FsIFNlY3VyaXR5IEtleXM8L2g0Pgo8dWw+CiAgPGxpPjxzdHJvbmc+VVNCOjwvc3Ryb25nPiBZdWJpS2V5IDUgc2VyaWVzLCBHb29nbGUgVGl0YW4gVVNCLUEvVVNCLUMsIEZlaXRpYW4sIFNvbG9LZXlzPC9saT4KICA8bGk+PHN0cm9uZz5ORkM6PC9zdHJvbmc+IFl1YmlLZXkgNSBORkMsIEdvb2dsZSBUaXRhbiBLZXk8L2xpPgogIDxsaT48c3Ryb25nPkJsdWV0b290aDo8L3N0cm9uZz4gVGl0YW4gU2VjdXJpdHkgS2V5IChCTEUpPC9saT4KPC91bD4KCjxoMz5FbWFpbCBUZW1wbGF0ZXM8L2gzPgoKPHA+Q3VzdG9taXplIHNlY3VyaXR5IG5vdGlmaWNhdGlvbiBlbWFpbHMgZnJvbSA8c3Ryb25nPlR3b0ZhY3RvciBTZXR0aW5ncyA+IEVtYWlsIFRlbXBsYXRlczwvc3Ryb25nPiB0YWI6PC9wPgo8dWw+CiAgPGxpPjxzdHJvbmc+QWNjb3VudCBMb2NrZWQ6PC9zdHJvbmc+IFNlbnQgd2hlbiB1c2VyIGlzIGxvY2tlZCBvdXQ8L2xpPgogIDxsaT48c3Ryb25nPlBhc3N3b3JkIFJlc2V0IFJlcXVpcmVkOjwvc3Ryb25nPiBTZW50IHdoZW4gcGFzc3dvcmQgcmVzZXQgaXMgdHJpZ2dlcmVkPC9saT4KICA8bGk+PHN0cm9uZz5TdXNwaWNpb3VzIEFjdGl2aXR5Ojwvc3Ryb25nPiBTZW50IHdoZW4gdW51c3VhbCBhY3Rpdml0eSBpcyBkZXRlY3RlZDwvbGk+CjwvdWw+Cgo8cD5BdmFpbGFibGUgdGVtcGxhdGUgdmFyaWFibGVzOjwvcD4KPHVsPgogIDxsaT48Y29kZT57JHVzZXJuYW1lfTwvY29kZT4gLSBUaGUgdXNlcm5hbWU8L2xpPgogIDxsaT48Y29kZT57JGlwX2FkZHJlc3N9PC9jb2RlPiAtIElQIGFkZHJlc3Mgb2YgdGhlIGF0dGVtcHQ8L2xpPgogIDxsaT48Y29kZT57JHRpbWVzdGFtcH08L2NvZGU+IC0gVGltZSBvZiB0aGUgZXZlbnQ8L2xpPgogIDxsaT48Y29kZT57JGZhaWxlZF9hdHRlbXB0c308L2NvZGU+IC0gTnVtYmVyIG9mIGZhaWxlZCBhdHRlbXB0czwvbGk+CjwvdWw+Cg==]]></data>
	</file>
	<file>
		<filename>/templates/help_upgrade_tab.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPkhvdyB0byBJbnN0YWxsIFR3b0ZhY3RvciBQcm88L2gzPgoKPHAgY2xhc3M9ImxlYWQiPlR3b0ZhY3RvciBQcm8gZXh0ZW5kcyB0aGUgZnJlZSBUd29GYWN0b3IgbW9kdWxlIHdpdGggZW50ZXJwcmlzZS1ncmFkZSBzZWN1cml0eSBmZWF0dXJlcy4gWW91IG11c3QgaGF2ZSBUd29GYWN0b3IgaW5zdGFsbGVkIGZpcnN0LjwvcD4KCjxoMj4xLiBJbnN0YWxsIFR3b0ZhY3RvciAoRnJlZSBWZXJzaW9uKTwvaDI+CjxwPlR3b0ZhY3RvciBQcm8gcmVxdWlyZXMgdGhlIGZyZWUgVHdvRmFjdG9yIG1vZHVsZSB0byBiZSBpbnN0YWxsZWQgZmlyc3QuIDxhIGhyZWY9Imh0dHBzOi8vcGl4ZWxzb2x1dGlvbnMuYml6L2RvY3VtZW50YXRpb24vdHdvZmFjdG9yL2hvdy10by1pbnN0YWxsLXR3b2ZhY3Rvci1mcmVlLXZlcnNpb24vIiB0YXJnZXQ9Il9ibGFuayI+VmlldyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGZvciBUd29GYWN0b3I8L2E+LjwvcD4KCjxoMj4yLiBQdXJjaGFzZSBMaWNlbnNlPC9oMj4KPHA+UHVyY2hhc2UgVHdvRmFjdG9yIFBybyBsaWNlbnNlIGZyb20gPGEgaHJlZj0iaHR0cHM6Ly9waXhlbHNvbHV0aW9ucy5iaXovZW4vcGx1Z2lucy90d29mYWN0b3IvIiB0YXJnZXQ9Il9ibGFuayI+UGl4ZWwgU29sdXRpb25zPC9hPi48L3A+Cgo8aDI+My4gRG93bmxvYWQgVHdvRmFjdG9yIFBybzwvaDI+CjxwPkRvd25sb2FkIHRoZSBUd29GYWN0b3IgUHJvIG1vZHVsZSBmcm9tIDxhIGhyZWY9Imh0dHBzOi8vcGl4ZWxzb2x1dGlvbnMuYml6L2FjY291bnQvZG93bmxvYWRzLyIgdGFyZ2V0PSJfYmxhbmsiPnlvdXIgYWNjb3VudCBkb3dubG9hZHM8L2E+LjwvcD4KCjxoMj40LiBJbnN0YWxsIE1vZHVsZTwvaDI+Cjx1bD4KICA8bGk+VW5wYWNrIHRoZSBaSVAgZmlsZSB5b3UgZG93bmxvYWRlZCBpbiB5b3VyIENNUyBNYWRlIFNpbXBsZSBpbnN0YWxsYXRpb24ncyBgbW9kdWxlc2AgZGlyZWN0b3J5PC9saT4KICA8bGk+R28gdG8gPHN0cm9uZz5TaXRlIEFkbWluICZndDsmZ3Q7IE1vZHVsZSBNYW5hZ2VyPC9zdHJvbmc+PC9saT4KICA8bGk+Q2xpY2sgPHN0cm9uZz5JbnN0YWxsPC9zdHJvbmc+IG5leHQgdG8gdGhlIFR3b0ZhY3RvclBybyBtb2R1bGU8L2xpPgo8L3VsPgoKPGgyPjUuIEFjdGl2YXRlIFlvdXIgTGljZW5zZTwvaDI+Cjx1bD4KICA8bGk+R28gdG8gPHN0cm9uZz5TaXRlIEFkbWluICZndDsmZ3Q7IFR3b0ZhY3RvciBQcm8gU2V0dGluZ3M8L3N0cm9uZz48L2xpPgogIDxsaT5DbGljayB0aGUgPHN0cm9uZz5MaWNlbnNlPC9zdHJvbmc+IHRhYjwvbGk+CiAgPGxpPkVudGVyIHlvdXIgbGljZW5zZSBrZXk8L2xpPgogIDxsaT5DbGljayA8c3Ryb25nPlZlcmlmeSBMaWNlbnNlPC9zdHJvbmc+PC9saT4KPC91bD4KCjxwPllvdXIgQ01TIE1hZGUgU2ltcGxlIGluc3RhbGxhdGlvbiBpcyBub3cgcHJvdGVjdGVkIHdpdGggZW50ZXJwcmlzZS1ncmFkZSB0d28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uLiBDb25maWd1cmUgUHJvIGZlYXR1cmVzIGluIHRoZSA8c3Ryb25nPlNldHRpbmdzPC9zdHJvbmc+IHRhYi48L3A+Cgo8aDI+UHJvIEZlYXR1cmVzIE92ZXJ2aWV3PC9oMj4KPHVsPgogIDxsaT48c3Ryb25nPk11bHRpcGxlIFBhc3NrZXlzOjwvc3Ryb25nPiBSZWdpc3RlciB1bmxpbWl0ZWQgcGFzc2tleXMgcGVyIHVzZXIgKGZyZWUgdGllciBhbGxvd3Mgb25lKTwvbGk+CiAgPGxpPjxzdHJvbmc+UGh5c2ljYWwgU2VjdXJpdHkgS2V5czo8L3N0cm9uZz4gVXNlIFl1YmlLZXksIFRpdGFuIEtleSwgb3Igb3RoZXIgRklETzIgaGFyZHdhcmUga2V5cyBhcyBhIHN0YW5kYWxvbmUgbG9naW4gbWV0aG9kPC9saT4KICA8bGk+PHN0cm9uZz5TZWN1cml0eSBLZXkgYXMgUHJpbWFyeSBNZXRob2Q6PC9zdHJvbmc+IFVzZXJzIGNhbiBzZWxlY3QgIlNlY3VyaXR5IEtleSIgYXMgdGhlaXIgcHJpbWFyeSAyRkEgbWV0aG9kLCBzZXBhcmF0ZSBmcm9tIFBhc3NrZXk8L2xpPgogIDxsaT48c3Ryb25nPkFBR1VJRCBEZXRlY3Rpb246PC9zdHJvbmc+IEF1dG9tYXRpY2FsbHkgaWRlbnRpZmllcyBhdXRoZW50aWNhdG9yIG1ha2UvbW9kZWwgKGUuZy4sICJZdWJpS2V5IDUgTkZDIik8L2xpPgogIDxsaT48c3Ryb25nPktleSBNYW5hZ2VtZW50IERhc2hib2FyZDo8L3N0cm9uZz4gQWRtaW4gb3ZlcnZpZXcgb2YgYWxsIHJlZ2lzdGVyZWQga2V5cyBhY3Jvc3MgYWxsIHVzZXJzPC9saT4KICA8bGk+PHN0cm9uZz5FbmZvcmNlIDJGQTo8L3N0cm9uZz4gUmVxdWlyZSBhbGwgYWRtaW4gdXNlcnMgdG8gZW5hYmxlIDJGQTwvbGk+CiAgPGxpPjxzdHJvbmc+UmF0ZSBMaW1pdGluZzo8L3N0cm9uZz4gQnJ1dGUtZm9yY2UgcHJvdGVjdGlvbiB3aXRoIGV4cG9uZW50aWFsIGJhY2tvZmY8L2xpPgogIDxsaT48c3Ryb25nPlRydXN0ZWQgRGV2aWNlczo8L3N0cm9uZz4gUmVtZW1iZXIgZGV2aWNlcyBmb3IgMzAgZGF5czwvbGk+CiAgPGxpPjxzdHJvbmc+VXNlciBNYW5hZ2VtZW50Ojwvc3Ryb25nPiBWaWV3IGFuZCBtYW5hZ2UgYWxsIHVzZXJzJyAyRkEgc3RhdHVzPC9saT4KICA8bGk+PHN0cm9uZz5TZWN1cml0eSBBbGVydHM6PC9zdHJvbmc+IEVtYWlsIG5vdGlmaWNhdGlvbnMgZm9yIHN1c3BpY2lvdXMgYWN0aXZpdHk8L2xpPgogIDxsaT48c3Ryb25nPklQIEJsYWNrbGlzdGluZzo8L3N0cm9uZz4gQmxvY2sgbWFsaWNpb3VzIElQIGFkZHJlc3NlczwvbGk+CjwvdWw+Cg==]]></data>
	</file>
	<file>
		<filename>/templates/help_using_tab.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPkZvciBBZG1pbmlzdHJhdG9yczwvaDM+Cgo8aDQ+MS4gQ29uZmlndXJlIFNNUyBTZXR0aW5ncyAoT3B0aW9uYWwpPC9oND4KPHA+R28gdG8gPHN0cm9uZz5Ud29GYWN0b3IgU2V0dGluZ3MgPiBTTVMgU2V0dGluZ3M8L3N0cm9uZz4gdGFiOjwvcD4KCjxwPjxzdHJvbmc+T3B0aW9uIEE6IFNNUyBDcmVkaXRzIGZyb20gUGl4ZWwgU29sdXRpb25zPC9zdHJvbmc+PC9wPgo8b2w+CiAgPGxpPlB1cmNoYXNlIFNNUyBjcmVkaXRzIGZyb20gPGEgaHJlZj0iaHR0cHM6Ly9waXhlbHNvbHV0aW9ucy5iaXovZW4vcGx1Z2lucy90d29mYWN0b3IvIiB0YXJnZXQ9Il9ibGFuayI+cGl4ZWxzb2x1dGlvbnMuYml6PC9hPjwvbGk+CiAgPGxpPkVudGVyIHlvdXIgcHJvZHVjdCBrZXk8L2xpPgogIDxsaT5DbGljayAiU2F2ZSBQcm9kdWN0IEtleSI8L2xpPgo8L29sPgoKPHA+PHN0cm9uZz5PcHRpb24gQjogVXNlIFlvdXIgT3duIFR3aWxpbyBBY2NvdW50PC9zdHJvbmc+PC9wPgo8b2w+CiAgPGxpPkNyZWF0ZSBhIFR3aWxpbyBhY2NvdW50IGFuZCBWZXJpZnkgU2VydmljZTwvbGk+CiAgPGxpPkdlbmVyYXRlIEFQSSBLZXkgYW5kIFNlY3JldCBpbiBUd2lsaW8gQ29uc29sZTwvbGk+CiAgPGxpPkVudGVyIGNyZWRlbnRpYWxzIChBUEkgS2V5IFNJRCwgQVBJIFNlY3JldCwgVmVyaWZ5IFNlcnZpY2UgU0lEKTwvbGk+CiAgPGxpPkNsaWNrICJTYXZlIFR3aWxpbyBTZXR0aW5ncyI8L2xpPgo8L29sPgoKPGgzPkZvciBVc2VyczwvaDM+Cgo8aDQ+RW5hYmxlIFR3by1GYWN0b3IgQXV0aGVudGljYXRpb248L2g0Pgo8cD5HbyB0byA8c3Ryb25nPk15IFByZWZlcmVuY2VzID4gVHdvRmFjdG9yPC9zdHJvbmc+OjwvcD4KCjxoNT5UT1RQIChBdXRoZW50aWNhdG9yIEFwcCk8L2g1Pgo8b2w+CiAgPGxpPkNsaWNrICJDb25maWd1cmUiIGZvciBBdXRoZW50aWNhdG9yIEFwcDwvbGk+CiAgPGxpPlNjYW4gdGhlIFFSIGNvZGUgd2l0aCB5b3VyIGF1dGhlbnRpY2F0b3IgYXBwIChHb29nbGUgQXV0aGVudGljYXRvciwgQXV0aHksIGV0Yy4pPC9saT4KICA8bGk+RW50ZXIgdGhlIDYtZGlnaXQgY29kZSB0byB2ZXJpZnk8L2xpPgogIDxsaT5TZWxlY3QgYXMgcHJpbWFyeSBtZXRob2QgYW5kIHNhdmU8L2xpPgo8L29sPgoKPGg1PkVtYWlsIFZlcmlmaWNhdGlvbjwvaDU+CjxvbD4KICA8bGk+Q2xpY2sgIkNvbmZpZ3VyZSIgZm9yIEVtYWlsIFZlcmlmaWNhdGlvbjwvbGk+CiAgPGxpPkNsaWNrICJFbmFibGUgRW1haWwgVmVyaWZpY2F0aW9uIjwvbGk+CiAgPGxpPlNlbGVjdCBhcyBwcmltYXJ5IG1ldGhvZCBhbmQgc2F2ZTwvbGk+Cjwvb2w+Cgo8aDU+U01TIFZlcmlmaWNhdGlvbjwvaDU+CjxvbD4KICA8bGk+Q2xpY2sgIkNvbmZpZ3VyZSIgZm9yIFNNUyBWZXJpZmljYXRpb248L2xpPgogIDxsaT5FbnRlciBwaG9uZSBudW1iZXIgaW4gRS4xNjQgZm9ybWF0IChlLmcuLCArMTIzNDU2Nzg5MCk8L2xpPgogIDxsaT5WZXJpZnkgdGhlIGNvZGUgc2VudCB0byB5b3VyIHBob25lPC9saT4KICA8bGk+U2VsZWN0IGFzIHByaW1hcnkgbWV0aG9kIGFuZCBzYXZlPC9saT4KPC9vbD4KCjxoNT5CYWNrdXAgQ29kZXM8L2g1Pgo8b2w+CiAgPGxpPkNsaWNrICJDb25maWd1cmUiIGZvciBCYWNrdXAgQ29kZXM8L2xpPgogIDxsaT5DbGljayAiR2VuZXJhdGUgQmFja3VwIENvZGVzIjwvbGk+CiAgPGxpPlNhdmUgY29kZXMgaW4gYSBzZWN1cmUgbG9jYXRpb24gKGVhY2ggY29kZSB3b3JrcyBvbmx5IG9uY2UpPC9saT4KPC9vbD4KCjxoNT5QYXNza2V5IChCaW9tZXRyaWNzIC8gRGV2aWNlKTwvaDU+CjxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIiBzdHlsZT0icGFkZGluZzogMTBweDsgYmFja2dyb3VuZDogI2U4ZjRmODsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMjE5NkYzOyBtYXJnaW46IDE1cHggMDsiPgogIDxwPjxzdHJvbmc+4oS577iPIFJlcXVpcmVzIEhUVFBTPC9zdHJvbmc+IOKAlCBQYXNza2V5cyB1c2UgdGhlIFdlYkF1dGhuIHN0YW5kYXJkIHdoaWNoIG9ubHkgd29ya3Mgb3ZlciBzZWN1cmUgY29ubmVjdGlvbnMgKEhUVFBTIG9yIGxvY2FsaG9zdCkuPC9wPgo8L2Rpdj4KPG9sPgogIDxsaT5DbGljayAiQ29uZmlndXJlIiBmb3IgUGFzc2tleTwvbGk+CiAgPGxpPkNsaWNrICJSZWdpc3RlciBQYXNza2V5IjwvbGk+CiAgPGxpPllvdXIgYnJvd3NlciB3aWxsIHByb21wdCB5b3UgdG8gdXNlIHlvdXIgZGV2aWNlIGJpb21ldHJpY3MgKGZpbmdlcnByaW50LCBmYWNlIHJlY29nbml0aW9uKSBvciBkZXZpY2UgUElOPC9saT4KICA8bGk+T25jZSByZWdpc3RlcmVkLCBzZWxlY3QgUGFzc2tleSBhcyB5b3VyIHByaW1hcnkgbWV0aG9kIGFuZCBzYXZlPC9saT4KPC9vbD4KPHA+PHN0cm9uZz5Ib3cgaXQgd29ya3M6PC9zdHJvbmc+IFdoZW4gbG9nZ2luZyBpbiwgaW5zdGVhZCBvZiBlbnRlcmluZyBhIGNvZGUsIHlvdXIgYnJvd3NlciB3aWxsIGF1dG9tYXRpY2FsbHkgcHJvbXB0IHlvdSB0byB2ZXJpZnkgdXNpbmcgeW91ciBkZXZpY2UncyBiaW9tZXRyaWMgc2Vuc29yIG9yIFBJTi4gVGhpcyBpcyB0aGUgbW9zdCBjb252ZW5pZW50IGFuZCBzZWN1cmUgMkZBIG1ldGhvZCBhdmFpbGFibGUuPC9wPgo8cD48c3Ryb25nPlN1cHBvcnRlZCBhdXRoZW50aWNhdG9yczo8L3N0cm9uZz4gVG91Y2ggSUQgKG1hY09TKSwgV2luZG93cyBIZWxsbyAoV2luZG93cyksIEZhY2UgSUQgLyBUb3VjaCBJRCAoaU9TL2lQYWRPUyksIEFuZHJvaWQgYmlvbWV0cmljczwvcD4KCntpZiAkaGF2ZV8yZnByb30KPGg1PlNlY3VyaXR5IEtleXMgJmFtcDsgTXVsdGlwbGUgUGFzc2tleXMgKFBybyk8L2g1Pgo8cD5XaXRoIFR3b0ZhY3RvciBQcm8sIHlvdSBjYW4gYWxzbzo8L3A+Cjx1bD4KICA8bGk+UmVnaXN0ZXIgPHN0cm9uZz5tdWx0aXBsZSBwYXNza2V5czwvc3Ryb25nPiAoZS5nLiwgbGFwdG9wICsgcGhvbmUpPC9saT4KICA8bGk+UmVnaXN0ZXIgPHN0cm9uZz5waHlzaWNhbCBzZWN1cml0eSBrZXlzPC9zdHJvbmc+IChZdWJpS2V5LCBHb29nbGUgVGl0YW4gS2V5LCBGZWl0aWFuLCBldGMuKTwvbGk+CiAgPGxpPk1hbmFnZSBhbGwgeW91ciBrZXlzIGZyb20gdGhlIDxzdHJvbmc+U2VjdXJpdHkgS2V5czwvc3Ryb25nPiB0YWIgaW4gTXkgUHJlZmVyZW5jZXM8L2xpPgogIDxsaT5OYW1lIGVhY2gga2V5IGZvciBlYXN5IGlkZW50aWZpY2F0aW9uPC9saT4KPC91bD4KPHA+R28gdG8gPHN0cm9uZz5NeSBQcmVmZXJlbmNlcyA+IFR3b0ZhY3RvciA+IFNlY3VyaXR5IEtleXM8L3N0cm9uZz4gdGFiIHRvIHJlZ2lzdGVyIGFkZGl0aW9uYWwga2V5cy48L3A+CnsvaWZ9Cgo8aDM+TG9naW4gRmxvdzwvaDM+CjxvbD4KICA8bGk+RW50ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFzIG5vcm1hbDwvbGk+CiAgPGxpPkFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24sIHlvdSdsbCBiZSByZWRpcmVjdGVkIHRvIDJGQSB2ZXJpZmljYXRpb248L2xpPgogIDxsaT5EZXBlbmRpbmcgb24geW91ciBwcmltYXJ5IG1ldGhvZDoKICAgIDx1bD4KICAgICAgPGxpPjxzdHJvbmc+VE9UUCAvIEVtYWlsIC8gU01TOjwvc3Ryb25nPiBFbnRlciB0aGUgdmVyaWZpY2F0aW9uIGNvZGU8L2xpPgogICAgICA8bGk+PHN0cm9uZz5QYXNza2V5Ojwvc3Ryb25nPiBZb3VyIGJyb3dzZXIgd2lsbCBhdXRvbWF0aWNhbGx5IHByb21wdCBmb3IgYmlvbWV0cmljIHZlcmlmaWNhdGlvbiBvciBzZWN1cml0eSBrZXkgdG91Y2g8L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5DbGljayAiVXNlIGEgYmFja3VwIGNvZGUiIGlmIG5lZWRlZCB0byBzd2l0Y2ggbWV0aG9kczwvbGk+Cjwvb2w+Cgo8aDM+RW1lcmdlbmN5IEJ5cGFzczwvaDM+CjxkaXYgY2xhc3M9Indhcm5pbmciIHN0eWxlPSJwYWRkaW5nOiAxMHB4OyBiYWNrZ3JvdW5kOiAjZmZmM2NkOyBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmZmMxMDc7IG1hcmdpbjogMTVweCAwOyI+CiAgPHA+PHN0cm9uZz7imqDvuI8gRm9yIEVtZXJnZW5jeSBVc2UgT25seTwvc3Ryb25nPjwvcD4KICA8cD5JZiB5b3UgYXJlIGxvY2tlZCBvdXQgYW5kIG5lZWQgdG8gYnlwYXNzIDJGQSB0ZW1wb3JhcmlseSwgYWRkIHRoaXMgdG8geW91ciA8Y29kZT5jb25maWcucGhwPC9jb2RlPiBmaWxlOjwvcD4KICA8cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiAjZjVmNWY1OyBwYWRkaW5nOiAxMHB4OyBtYXJnaW46IDEwcHggMDsiPiRjb25maWdbJ3R3b2ZhY3Rvcl9ieXBhc3MnXSA9IHRydWU7PC9wcmU+CiAgPHA+PHN0cm9uZz5JbXBvcnRhbnQ6PC9zdHJvbmc+IFJlbW92ZSB0aGlzIHNldHRpbmcgaW1tZWRpYXRlbHkgYWZ0ZXIgcmVnYWluaW5nIGFjY2Vzcy4gTGVhdmluZyBpdCBlbmFibGVkIGRpc2FibGVzIGFsbCAyRkEgc2VjdXJpdHkuPC9wPgo8L2Rpdj4K]]></data>
	</file>
	<file>
		<filename>/templates/orig_email_verification.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KICAgIDx0aXRsZT5WZXJpZmljYXRpb24gQ29kZTwvdGl0bGU+CjwvaGVhZD4KPGJvZHkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MDtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2JhY2tncm91bmQtY29sb3I6I2Y0ZjRmNDsiPgogICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2Y0ZjRmNDtwYWRkaW5nOjIwcHggMDsiPgogICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPgogICAgICAgICAgICAgICAgPHRhYmxlIHdpZHRoPSI2MDAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2JvcmRlci1yYWRpdXM6OHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHJnYmEoMCwwLDAsMC4xKTsiPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOjQwcHggMzBweDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiM0Q0FGNTA7Ym9yZGVyLXJhZGl1czo4cHggOHB4IDAgMDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxIHN0eWxlPSJtYXJnaW46MDtjb2xvcjojZmZmZmZmO2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Ij5Ud28tRmFjdG9yIEF1dGhlbnRpY2F0aW9uPC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOjQwcHggMzBweDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjowIDAgMjBweDtjb2xvcjojMzMzMzMzO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNTsiPkhlbGxvIHskdXNlci0+dXNlcm5hbWV9LDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46MCAwIDMwcHg7Y29sb3I6IzMzMzMzMztmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxLjU7Ij5Zb3VyIHZlcmlmaWNhdGlvbiBjb2RlIGlzOjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2Y4ZjlmYTtib3JkZXI6MnB4IGRhc2hlZCAjNENBRjUwO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCAwIDMwcHg7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjMycHg7Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojNENBRjUwO2xldHRlci1zcGFjaW5nOjhweDsiPnskY29kZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46MCAwIDIwcHg7Y29sb3I6IzY2NjY2Njtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjU7Ij5UaGlzIGNvZGUgd2lsbCBleHBpcmUgaW4gPHN0cm9uZz4xMCBtaW51dGVzPC9zdHJvbmc+LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46MDtjb2xvcjojOTk5OTk5O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNTsiPklmIHlvdSBkaWRuJ3QgcmVxdWVzdCB0aGlzIGNvZGUsIHBsZWFzZSBpZ25vcmUgdGhpcyBlbWFpbC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT0icGFkZGluZzoyMHB4IDMwcHg7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlci1yYWRpdXM6MCAwIDhweCA4cHg7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46MDtjb2xvcjojOTk5OTk5O2ZvbnQtc2l6ZToxMnB4OyI+VGhpcyBpcyBhbiBhdXRvbWF0ZWQgbWVzc2FnZSwgcGxlYXNlIGRvIG5vdCByZXBseS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgPC90cj4KICAgIDwvdGFibGU+CjwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
		<filename>/templates/setup_backup_codes.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdzZXR1cF9iYWNrdXBfY29kZXMnKX08L2gzPgoKe2lmICRuZXdfY29kZXN9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJ3YXJuaW5nIj4KICAgICAgPHN0cm9uZz57JG1vZC0+TGFuZygnYmFja3VwX2NvZGVzX3dhcm5pbmcnKX08L3N0cm9uZz48YnIvPgogICAgICB7JG1vZC0+TGFuZygnYmFja3VwX2NvZGVzX2luZm8nKX0KICAgIDwvcD4KICA8L2Rpdj4KICAKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2Y1ZjVmNTtwYWRkaW5nOjIwcHg7Zm9udC1mYW1pbHk6bW9ub3NwYWNlO2ZvbnQtc2l6ZToxNHB4OyI+CiAgICAgICAge2ZvcmVhY2ggJGNvZGVzIGFzICRjb2RlfQogICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzo1cHg7Ij57JGNvZGV9PC9kaXY+CiAgICAgICAgey9mb3JlYWNofQogICAgICA8L2Rpdj4KICAgIDwvcD4KICA8L2Rpdj4KICAKICB7Zm9ybV9zdGFydCBhY3Rpb249J3NldHVwX2JhY2t1cF9jb2Rlcyd9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdiYWNrJyl9IiAvPgogICAgICA8L3A+CiAgICA8L2Rpdj4KICB7Zm9ybV9lbmR9CiAgCntlbHNlaWYgJGlzX2VuYWJsZWR9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJpbmZvcm1hdGlvbiI+eyRtb2QtPkxhbmcoJ2JhY2t1cF9jb2Rlc19lbmFibGVkX2luZm8nKX08L3A+CiAgPC9kaXY+CiAgCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PHN0cm9uZz57JG1vZC0+TGFuZygnY29kZXNfcmVtYWluaW5nJyl9Ojwvc3Ryb25nPiB7Y291bnQoJGNvZGVzKX08L3A+CiAgPC9kaXY+CiAgCiAge2Zvcm1fc3RhcnQgYWN0aW9uPSdzZXR1cF9iYWNrdXBfY29kZXMnfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1nZW5lcmF0ZSIgdmFsdWU9InskbW9kLT5MYW5nKCdyZWdlbmVyYXRlX2NvZGVzJyl9IiAKICAgICAgICAgICAgICAgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdjb25maXJtX3JlZ2VuZXJhdGUnKX0nKTsiIC8+CiAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1kaXNhYmxlIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2Rpc2FibGVfYmFja3VwX2NvZGVzJyl9IiAKICAgICAgICAgICAgICAgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdjb25maXJtX2Rpc2FibGUnKX0nKTsiIC8+CiAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiAvPgogICAgICA8L3A+CiAgICA8L2Rpdj4KICB7Zm9ybV9lbmR9CiAgCntlbHNlfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdiYWNrdXBfY29kZXNfc2V0dXBfaW5mbycpfTwvcD4KICA8L2Rpdj4KICAKICB7Zm9ybV9zdGFydCBhY3Rpb249J3NldHVwX2JhY2t1cF9jb2Rlcyd9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWdlbmVyYXRlIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2dlbmVyYXRlX2NvZGVzJyl9IiAvPgogICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgLz4KICAgICAgPC9wPgogICAgPC9kaXY+CiAge2Zvcm1fZW5kfQogIAp7L2lmfQo=]]></data>
	</file>
	<file>
		<filename>/templates/setup_email.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdzZXR1cF9lbWFpbCcpfTwvaDM+Cgp7Zm9ybV9zdGFydH0Ke2lmICR1c2VyX2VtYWlsfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdlbWFpbF9zZXR1cF9pbmZvJywgJHVzZXJfZW1haWwpfTwvcD4KICA8L2Rpdj4KICAKICB7aWYgJGlzX2VuYWJsZWR9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8c3BhbiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdlbWFpbF9lbmFibGVkX3N0YXR1cycpfTwvc3Bhbj4KICAgICAgPC9wPgogICAgPC9kaXY+CiAgey9pZn0KICAKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIHtpZiAkaXNfZW5hYmxlZH0KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWRpc2FibGUiIHZhbHVlPSJ7JG1vZC0+TGFuZygnZGlzYWJsZV9lbWFpbCcpfSIgLz4KICAgICAge2Vsc2V9CiAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1lbmFibGUiIHZhbHVlPSJ7JG1vZC0+TGFuZygnZW5hYmxlX2VtYWlsJyl9IiAvPgogICAgICB7L2lmfQogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIC8+CiAgICA8L3A+CiAgPC9kaXY+CntlbHNlfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiIHN0eWxlPSJjb2xvcjpyZWQ7Ij57JG1vZC0+TGFuZygnZW1haWxfbm9fYWRkcmVzcycpfTwvcD4KICA8L2Rpdj4KICAKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgLz4KICAgIDwvcD4KICA8L2Rpdj4Key9pZn0Ke2Zvcm1fZW5kfQ==]]></data>
	</file>
	<file>
		<filename>/templates/setup_passkey.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdzZXR1cF9wYXNza2V5Jyl9PC9oMz4KCntpZiAhJHdlYmF1dGhuX3N1cHBvcnRlZH0KICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj4KICAgIDxwPnskbW9kLT5MYW5nKCdwYXNza2V5X3JlcXVpcmVzX2h0dHBzJyl9PC9wPgogIDwvZGl2Pgp7ZWxzZX0KCiAge2lmICRlcnJvcn0KICAgIDxkaXYgY2xhc3M9Indhcm5pbmciPgogICAgICA8cD57JGVycm9yfTwvcD4KICAgIDwvZGl2PgogIHsvaWZ9CgogIHtpZiAkaXNfY29uZmlndXJlZH0KCiAgICB7Zm9yZWFjaCAkcGFzc2tleV9jYXJkcyBhcyAkY2FyZH0KICAgIDxkaXYgY2xhc3M9InBhc3NrZXktY2FyZCIgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IGJvcmRlci1yYWRpdXM6IDZweDsgcGFkZGluZzogMTJweCAxNXB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBiYWNrZ3JvdW5kOiAjZmFmYWZhOyI+CiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsiPgogICAgICAgIHtpZiAkY2FyZC5hdXRoZW50aWNhdG9yID09PSAnV2luZG93cyBIZWxsbyd9CiAgICAgICAgPGltZyBzcmM9InskbW9kX3VybH0vYXNzZXRzL2Nhbm9uaWNhbC1wYXNza2V5LWljb24taGVsbG8uc3ZnIiBhbHQ9IiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiAvPgogICAgICAgIHtlbHNlfQogICAgICAgIDxpbWcgc3JjPSJ7JG1vZF91cmx9L2Fzc2V0cy9jYW5vbmljYWwtcGFzc2tleS1pY29uLnN2ZyIgYWx0PSIiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgLz4KICAgICAgICB7L2lmfQogICAgICAgIDxkaXYgc3R5bGU9ImZsZXg6IDE7Ij4KICAgICAgICAgIDxzdHJvbmc+eyRjYXJkLm5hbWV9PC9zdHJvbmc+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNjY2OyBtYXJnaW4tdG9wOiAycHg7Ij4KICAgICAgICAgICAge2lmICRjYXJkLmF1dGhlbnRpY2F0b3J9eyRjYXJkLmF1dGhlbnRpY2F0b3J9e2Vsc2V9e2lmICRjYXJkLnR5cGUgPT09ICdjcm9zcy1wbGF0Zm9ybSd9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfdHlwZV9jcm9zc19wbGF0Zm9ybScpfXtlbHNlfXskbW9kLT5MYW5nKCdwYXNza2V5X3R5cGVfcGxhdGZvcm0nKX17L2lmfXsvaWZ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0icGFzc2tleS1yZW1vdmUiIGRhdGEtc291cmNlPSJ7JGNhcmQuc291cmNlfSIgZGF0YS1pZD0ieyRjYXJkLmlkfSIgdGl0bGU9InskbW9kLT5MYW5nKCdwYXNza2V5X3JlbW92ZV9rZXknKX0iIHN0eWxlPSJjb2xvcjogI2MwMDsgZm9udC1zaXplOiAxMnB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij57YWRtaW5faWNvbiBpY29uPSdkZWxldGUuZ2lmJ30geyRtb2QtPkxhbmcoJ3Bhc3NrZXlfcmVtb3ZlX2tleScpfTwvYT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICM4ODg7IG1hcmdpbi10b3A6IDhweDsgcGFkZGluZy1sZWZ0OiA0NHB4OyI+CiAgICAgICAgeyRtb2QtPkxhbmcoJ3Bhc3NrZXlfY3JlYXRlZCcpfTogeyRjYXJkLmNyZWF0ZWRfYXR8ZGF0ZV9mb3JtYXQ6JyViICVkLCAlWSd9CiAgICAgICAgJm5ic3A7Jm1pZGRvdDsmbmJzcDsKICAgICAgICB7JG1vZC0+TGFuZygncGFzc2tleV9sYXN0X3VzZWQnKX06IHtpZiAkY2FyZC5sYXN0X3VzZWRfYXQgPiAwfXskY2FyZC5sYXN0X3VzZWRfYXR8ZGF0ZV9mb3JtYXQ6JyViICVkLCAlWSd9e2Vsc2V9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfbmV2ZXJfdXNlZCcpfXsvaWZ9CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICB7L2ZvcmVhY2h9CgogICAge2lmICRpc19wcm99CiAgICAgIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj4KICAgICAgICA8cD57JG1vZC0+TGFuZygncGFzc2tleV9wcm9fbXVsdGlfa2V5Jyl9PC9wPgogICAgICA8L2Rpdj4KICAgIHsvaWZ9CgogICAge2Zvcm1fc3RhcnQgYWN0aW9uPSdzZXR1cF9wYXNza2V5J30KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgIHtpZiAkaXNfcHJvfQogICAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0iYnRuLWFkZC1wYXNza2V5IiBuYW1lPSJ7JGFjdGlvbmlkfWFkZF9rZXkiIHZhbHVlPSJ7JG1vZC0+TGFuZygncGFzc2tleV9hZGRfa2V5Jyl9IiAvPgogICAgICAgICAgey9pZn0KICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgLz4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAge2Zvcm1fZW5kfQoKICAgIDxzY3JpcHQ+CiAgICB7bGl0ZXJhbH0KICAgICQoZnVuY3Rpb24oKSB7CiAgICAgIHZhciBmcmVlQWpheFVybCA9ICd7L2xpdGVyYWx9e2Ntc19hY3Rpb25fdXJsIGFjdGlvbj0iYWpheF9wYXNza2V5IiBmb3Jqcz0xfXtsaXRlcmFsfSc7CiAgICAgIHZhciBwcm9BamF4VXJsID0gJ3svbGl0ZXJhbH17aWYgJGlzX3Byb317Y21zX2FjdGlvbl91cmwgYWN0aW9uPSJhamF4X3Byb19wYXNza2V5IiBtb2R1bGU9IlR3b0ZhY3RvclBybyIgZm9yanM9MX17L2lmfXtsaXRlcmFsfSc7CiAgICAgIHZhciBhY3Rpb25JZCA9ICd7L2xpdGVyYWx9eyRhY3Rpb25pZH17bGl0ZXJhbH0nOwoKICAgICAgJCgnYS5wYXNza2V5LXJlbW92ZScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgaWYgKCFjb25maXJtKCd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ2NvbmZpcm1fcmVtb3ZlX2tleScpfXtsaXRlcmFsfScpKSByZXR1cm47CgogICAgICAgIHZhciAkbGluayA9ICQodGhpcyk7CiAgICAgICAgdmFyIHNvdXJjZSA9ICRsaW5rLmRhdGEoJ3NvdXJjZScpOwogICAgICAgIHZhciBpZCA9ICRsaW5rLmRhdGEoJ2lkJyk7CiAgICAgICAgdmFyIHVybCA9IChzb3VyY2UgPT09ICdwcm8nKSA/IHByb0FqYXhVcmwgOiBmcmVlQWpheFVybDsKICAgICAgICB2YXIgZGF0YSA9IHt9OwogICAgICAgIGRhdGFbYWN0aW9uSWQgKyAnb3AnXSA9ICdyZW1vdmUnOwogICAgICAgIGlmIChzb3VyY2UgPT09ICdwcm8nKSBkYXRhW2FjdGlvbklkICsgJ2tleV9pZCddID0gaWQ7CgogICAgICAgICRsaW5rLnRleHQoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygncGFzc2tleV9yZW1vdmluZycpfXtsaXRlcmFsfScpOwoKICAgICAgICAkLmFqYXgoewogICAgICAgICAgdXJsOiB1cmwsCiAgICAgICAgICB0eXBlOiAnUE9TVCcsCiAgICAgICAgICBkYXRhOiBkYXRhLAogICAgICAgICAgZGF0YVR5cGU6ICdqc29uJwogICAgICAgIH0pLmRvbmUoZnVuY3Rpb24ocmVzdWx0KSB7CiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpIHsKICAgICAgICAgICAgJGxpbmsuY2xvc2VzdCgnLnBhc3NrZXktY2FyZCcpLmZhZGVPdXQoMzAwLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZSgpOwogICAgICAgICAgICAgIGlmICgkKCcucGFzc2tleS1jYXJkJykubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFsZXJ0KHJlc3VsdC5lcnJvciB8fCAney9saXRlcmFsfXskbW9kLT5MYW5nKCdwYXNza2V5X3JlbW92ZV9mYWlsZWQnKX17bGl0ZXJhbH0nKTsKICAgICAgICAgICAgJGxpbmsuaHRtbCgney9saXRlcmFsfXthZG1pbl9pY29uIGljb249ImRlbGV0ZS5naWYifSB7JG1vZC0+TGFuZygicGFzc2tleV9yZW1vdmVfa2V5Iil9e2xpdGVyYWx9Jyk7CiAgICAgICAgICB9CiAgICAgICAgfSkuZmFpbChmdW5jdGlvbigpIHsKICAgICAgICAgIGFsZXJ0KCd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfcmVtb3ZlX2ZhaWxlZCcpfXtsaXRlcmFsfScpOwogICAgICAgICAgJGxpbmsuaHRtbCgney9saXRlcmFsfXthZG1pbl9pY29uIGljb249ImRlbGV0ZS5naWYifSB7JG1vZC0+TGFuZygicGFzc2tleV9yZW1vdmVfa2V5Iil9e2xpdGVyYWx9Jyk7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CiAgICB7L2xpdGVyYWx9CiAgICA8L3NjcmlwdD4KCiAgICB7aWYgJGlzX3Byb30KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgaWQ9ImFkZC1rZXktc3RhdHVzLXJvdyIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8c3BhbiBpZD0iYWRkLWtleS1zdGF0dXMiPjwvc3Bhbj4KICAgICAgPC9wPgogICAgPC9kaXY+CgogICAgPHNjcmlwdD4KICAgIHtsaXRlcmFsfQogICAgJChmdW5jdGlvbigpIHsKICAgICAgdmFyIHByb1JlZ1VybCA9ICd7L2xpdGVyYWx9e2Ntc19hY3Rpb25fdXJsIGFjdGlvbj0iYWpheF9wcm9fcGFzc2tleSIgbW9kdWxlPSJUd29GYWN0b3JQcm8iIGZvcmpzPTF9e2xpdGVyYWx9JzsKICAgICAgdmFyIGFjdGlvbklkID0gJ3svbGl0ZXJhbH17JGFjdGlvbmlkfXtsaXRlcmFsfSc7CiAgICAgIHZhciAkYnRuID0gJCgnI2J0bi1hZGQtcGFzc2tleScpOwogICAgICBpZiAoISRidG4ubGVuZ3RoKSByZXR1cm47CgogICAgICBmdW5jdGlvbiBiYXNlNjRVcmxUb0J1ZmZlcihiKSB7CiAgICAgICAgdmFyIHMgPSBiLnJlcGxhY2UoLy0vZywgJysnKS5yZXBsYWNlKC9fL2csICcvJyk7ICAKICAgICAgICB3aGlsZSAocy5sZW5ndGggJSA0KSBzICs9ICc9JzsKICAgICAgICB2YXIgYmluID0gYXRvYihzKSwgYXJyID0gbmV3IFVpbnQ4QXJyYXkoYmluLmxlbmd0aCk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiaW4ubGVuZ3RoOyBpKyspIGFycltpXSA9IGJpbi5jaGFyQ29kZUF0KGkpOwogICAgICAgIHJldHVybiBhcnIuYnVmZmVyOwogICAgICB9CgogICAgICBmdW5jdGlvbiBidWZmZXJUb0Jhc2U2NFVybChidWYpIHsKICAgICAgICB2YXIgYXJyID0gbmV3IFVpbnQ4QXJyYXkoYnVmKSwgcyA9ICcnOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSBzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYXJyW2ldKTsKICAgICAgICByZXR1cm4gYnRvYShzKS5yZXBsYWNlKC9cKy9nLCAnLScpLnJlcGxhY2UoL1wvL2csICdfJykucmVwbGFjZSgvPSskLywgJycpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBzZXRBZGRTdGF0dXMobXNnKSB7CiAgICAgICAgJCgnI2FkZC1rZXktc3RhdHVzLXJvdycpLnNob3coKTsKICAgICAgICAkKCcjYWRkLWtleS1zdGF0dXMnKS50ZXh0KG1zZyk7CiAgICAgIH0KCiAgICAgICRidG4ub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAkYnRuLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7CgogICAgICAgIHZhciBrZXlUeXBlID0gJCgnI3Byb19rZXlfdHlwZScpLnZhbCgpOwogICAgICAgIHZhciByZWdEYXRhID0ge307CiAgICAgICAgcmVnRGF0YVthY3Rpb25JZCArICdvcCddID0gJ2dldF9yZWdfb3B0aW9ucyc7CiAgICAgICAgcmVnRGF0YVthY3Rpb25JZCArICdrZXlfdHlwZSddID0ga2V5VHlwZTsKCiAgICAgICAgJC5hamF4KHsKICAgICAgICAgIHVybDogcHJvUmVnVXJsLAogICAgICAgICAgdHlwZTogJ1BPU1QnLAogICAgICAgICAgZGF0YTogcmVnRGF0YSwKICAgICAgICAgIGRhdGFUeXBlOiAnanNvbicKICAgICAgICB9KS5kb25lKGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgICAgICAgIG9wdGlvbnMuY2hhbGxlbmdlID0gYmFzZTY0VXJsVG9CdWZmZXIob3B0aW9ucy5jaGFsbGVuZ2UpOwogICAgICAgICAgb3B0aW9ucy51c2VyLmlkID0gYmFzZTY0VXJsVG9CdWZmZXIob3B0aW9ucy51c2VyLmlkKTsKICAgICAgICAgIGlmIChvcHRpb25zLmV4Y2x1ZGVDcmVkZW50aWFscykgewogICAgICAgICAgICAkLmVhY2gob3B0aW9ucy5leGNsdWRlQ3JlZGVudGlhbHMsIGZ1bmN0aW9uKGksIGMpIHsKICAgICAgICAgICAgICBjLmlkID0gYmFzZTY0VXJsVG9CdWZmZXIoYy5pZCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQoKICAgICAgICAgIHNldEFkZFN0YXR1cygney9saXRlcmFsfXskbW9kLT5MYW5nKCdwYXNza2V5X3JlZ193YWl0aW5nJyl9e2xpdGVyYWx9Jyk7CgogICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSh7IHB1YmxpY0tleTogb3B0aW9ucyB9KS50aGVuKGZ1bmN0aW9uKGNyZWRlbnRpYWwpIHsKICAgICAgICAgICAgdmFyIHJlc3BvbnNlID0gSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAgIGNsaWVudERhdGFKU09OOiBidWZmZXJUb0Jhc2U2NFVybChjcmVkZW50aWFsLnJlc3BvbnNlLmNsaWVudERhdGFKU09OKSwKICAgICAgICAgICAgICBhdHRlc3RhdGlvbk9iamVjdDogYnVmZmVyVG9CYXNlNjRVcmwoY3JlZGVudGlhbC5yZXNwb25zZS5hdHRlc3RhdGlvbk9iamVjdCkKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBzZXRBZGRTdGF0dXMoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygncGFzc2tleV9yZWdfc2F2aW5nJyl9e2xpdGVyYWx9Jyk7CgogICAgICAgICAgICB2YXIgc2F2ZURhdGEgPSB7fTsKICAgICAgICAgICAgc2F2ZURhdGFbYWN0aW9uSWQgKyAnb3AnXSA9ICdyZWdpc3Rlcic7CiAgICAgICAgICAgIHNhdmVEYXRhW2FjdGlvbklkICsgJ2tleV90eXBlJ10gPSBrZXlUeXBlOwogICAgICAgICAgICBzYXZlRGF0YVthY3Rpb25JZCArICd3ZWJhdXRobl9yZXNwb25zZSddID0gcmVzcG9uc2U7CgogICAgICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAgIHVybDogcHJvUmVnVXJsLAogICAgICAgICAgICAgIHR5cGU6ICdQT1NUJywKICAgICAgICAgICAgICBkYXRhOiBzYXZlRGF0YSwKICAgICAgICAgICAgICBkYXRhVHlwZTogJ2pzb24nCiAgICAgICAgICAgIH0pLmRvbmUoZnVuY3Rpb24ocmVzdWx0KSB7CiAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzKSB7CiAgICAgICAgICAgICAgICBzZXRBZGRTdGF0dXMoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygncGFzc2tleV9yZWdfc3VjY2VzcycpfXtsaXRlcmFsfScpOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOyB9LCA4MDApOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzZXRBZGRTdGF0dXMocmVzdWx0LmVycm9yIHx8ICd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfcmVnX2ZhaWxlZCcpfXtsaXRlcmFsfScpOwogICAgICAgICAgICAgICAgJGJ0bi5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLmZhaWwoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgc2V0QWRkU3RhdHVzKCd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfcmVnX2ZhaWxlZCcpfXtsaXRlcmFsfScpOwogICAgICAgICAgICAgICRidG4ucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgIH0sIGZ1bmN0aW9uKGVycikgewogICAgICAgICAgICBzZXRBZGRTdGF0dXMoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygncGFzc2tleV9yZWdfY2FuY2VsbGVkJyl9e2xpdGVyYWx9Jyk7CiAgICAgICAgICAgICRidG4ucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7CiAgICAgICAgICB9KTsKCiAgICAgICAgfSkuZmFpbChmdW5jdGlvbigpIHsKICAgICAgICAgIHNldEFkZFN0YXR1cygney9saXRlcmFsfXskbW9kLT5MYW5nKCdwYXNza2V5X3JlZ19mYWlsZWQnKX17bGl0ZXJhbH0nKTsKICAgICAgICAgICRidG4ucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CiAgICB7L2xpdGVyYWx9CiAgICA8L3NjcmlwdD4KICAgIHsvaWZ9CgogIHtlbHNlfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0icGFkZGluZzogMTBweCAwOyI+CiAgICAgIDxpbWcgc3JjPSJ7JG1vZF91cmx9L2Fzc2V0cy9jYW5vbmljYWwtcGFzc2tleS1pY29uLnN2ZyIgYWx0PSJQYXNza2V5IiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIC8+CiAgICAgIDxwPnskbW9kLT5MYW5nKCdwYXNza2V5X3NldHVwX2luZm8nKX08L3A+CiAgICA8L2Rpdj4KCiAgICB7Zm9ybV9zdGFydCBhY3Rpb249J3NldHVwX3Bhc3NrZXknfQogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9ImJ0bi1yZWdpc3Rlci1wYXNza2V5IiBuYW1lPSJ7JGFjdGlvbmlkfXJlZ2lzdGVyIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3JlZ2lzdGVyX3Bhc3NrZXknKX0iIC8+CiAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIC8+CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgIHtmb3JtX2VuZH0KCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIGlkPSJwYXNza2V5LXN0YXR1cy1yb3ciIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgPHNwYW4gaWQ9InBhc3NrZXktc3RhdHVzIj48L3NwYW4+CiAgICAgIDwvcD4KICAgIDwvZGl2PgoKICAgIDxzY3JpcHQ+CiAgICB7bGl0ZXJhbH0KICAgICQoZnVuY3Rpb24oKSB7CiAgICAgIHZhciByZWdVcmwgPSAney9saXRlcmFsfXtjbXNfYWN0aW9uX3VybCBhY3Rpb249ImFqYXhfcGFzc2tleSIgZm9yanM9MX17bGl0ZXJhbH0nOwogICAgICB2YXIgYWN0aW9uSWQgPSAney9saXRlcmFsfXskYWN0aW9uaWR9e2xpdGVyYWx9JzsKICAgICAgdmFyIHN1Y2Nlc3NVcmwgPSAney9saXRlcmFsfXtjbXNfYWN0aW9uX3VybCBhY3Rpb249InVzZXJfcHJlZnMiIGZvcmpzPTF9e2xpdGVyYWx9JzsKICAgICAgdmFyICRidG4gPSAkKCcjYnRuLXJlZ2lzdGVyLXBhc3NrZXknKTsKCiAgICAgIGZ1bmN0aW9uIGJhc2U2NFVybFRvQnVmZmVyKGIpIHsKICAgICAgICB2YXIgcyA9IGIucmVwbGFjZSgvLS9nLCAnKycpLnJlcGxhY2UoL18vZywgJy8nKTsKICAgICAgICB3aGlsZSAocy5sZW5ndGggJSA0KSBzICs9ICc9JzsKICAgICAgICB2YXIgYmluID0gYXRvYihzKSwgYXJyID0gbmV3IFVpbnQ4QXJyYXkoYmluLmxlbmd0aCk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiaW4ubGVuZ3RoOyBpKyspIGFycltpXSA9IGJpbi5jaGFyQ29kZUF0KGkpOwogICAgICAgIHJldHVybiBhcnIuYnVmZmVyOwogICAgICB9CgogICAgICBmdW5jdGlvbiBidWZmZXJUb0Jhc2U2NFVybChidWYpIHsKICAgICAgICB2YXIgYXJyID0gbmV3IFVpbnQ4QXJyYXkoYnVmKSwgcyA9ICcnOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSBzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYXJyW2ldKTsKICAgICAgICByZXR1cm4gYnRvYShzKS5yZXBsYWNlKC9cKy9nLCAnLScpLnJlcGxhY2UoL1wvL2csICdfJykucmVwbGFjZSgvPSskLywgJycpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBzZXRSZWdTdGF0dXMobXNnKSB7CiAgICAgICAgJCgnI3Bhc3NrZXktc3RhdHVzLXJvdycpLnNob3coKTsKICAgICAgICAkKCcjcGFzc2tleS1zdGF0dXMnKS50ZXh0KG1zZyk7CiAgICAgIH0KCiAgICAgIGlmICghd2luZG93LlB1YmxpY0tleUNyZWRlbnRpYWwpIHsKICAgICAgICAkYnRuLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7CiAgICAgICAgc2V0UmVnU3RhdHVzKCd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfdW5zdXBwb3J0ZWQnKX17bGl0ZXJhbH0nKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgICRidG4ub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAkYnRuLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7CgogICAgICAgIHZhciBpbml0RGF0YSA9IHt9OwogICAgICAgIGluaXREYXRhW2FjdGlvbklkICsgJ29wJ10gPSAnZ2V0X3JlZ19vcHRpb25zJzsKCiAgICAgICAgJC5hamF4KHsKICAgICAgICAgIHVybDogcmVnVXJsLAogICAgICAgICAgdHlwZTogJ1BPU1QnLAogICAgICAgICAgZGF0YTogaW5pdERhdGEsCiAgICAgICAgICBkYXRhVHlwZTogJ2pzb24nCiAgICAgICAgfSkuZG9uZShmdW5jdGlvbihvcHRpb25zKSB7CiAgICAgICAgICBvcHRpb25zLmNoYWxsZW5nZSA9IGJhc2U2NFVybFRvQnVmZmVyKG9wdGlvbnMuY2hhbGxlbmdlKTsKICAgICAgICAgIG9wdGlvbnMudXNlci5pZCA9IGJhc2U2NFVybFRvQnVmZmVyKG9wdGlvbnMudXNlci5pZCk7CiAgICAgICAgICBpZiAob3B0aW9ucy5leGNsdWRlQ3JlZGVudGlhbHMpIHsKICAgICAgICAgICAgJC5lYWNoKG9wdGlvbnMuZXhjbHVkZUNyZWRlbnRpYWxzLCBmdW5jdGlvbihpLCBjKSB7CiAgICAgICAgICAgICAgYy5pZCA9IGJhc2U2NFVybFRvQnVmZmVyKGMuaWQpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KCiAgICAgICAgICBzZXRSZWdTdGF0dXMoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygncGFzc2tleV9yZWdfd2FpdGluZycpfXtsaXRlcmFsfScpOwoKICAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoeyBwdWJsaWNLZXk6IG9wdGlvbnMgfSkudGhlbihmdW5jdGlvbihjcmVkZW50aWFsKSB7CiAgICAgICAgICAgIHZhciByZXNwb25zZSA9IEpTT04uc3RyaW5naWZ5KHsKICAgICAgICAgICAgICBjbGllbnREYXRhSlNPTjogYnVmZmVyVG9CYXNlNjRVcmwoY3JlZGVudGlhbC5yZXNwb25zZS5jbGllbnREYXRhSlNPTiksCiAgICAgICAgICAgICAgYXR0ZXN0YXRpb25PYmplY3Q6IGJ1ZmZlclRvQmFzZTY0VXJsKGNyZWRlbnRpYWwucmVzcG9uc2UuYXR0ZXN0YXRpb25PYmplY3QpCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgc2V0UmVnU3RhdHVzKCd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfcmVnX3NhdmluZycpfXtsaXRlcmFsfScpOwoKICAgICAgICAgICAgdmFyIHNhdmVEYXRhID0ge307CiAgICAgICAgICAgIHNhdmVEYXRhW2FjdGlvbklkICsgJ29wJ10gPSAncmVnaXN0ZXInOwogICAgICAgICAgICBzYXZlRGF0YVthY3Rpb25JZCArICd3ZWJhdXRobl9yZXNwb25zZSddID0gcmVzcG9uc2U7CgogICAgICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAgIHVybDogcmVnVXJsLAogICAgICAgICAgICAgIHR5cGU6ICdQT1NUJywKICAgICAgICAgICAgICBkYXRhOiBzYXZlRGF0YSwKICAgICAgICAgICAgICBkYXRhVHlwZTogJ2pzb24nCiAgICAgICAgICAgIH0pLmRvbmUoZnVuY3Rpb24ocmVzdWx0KSB7CiAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzKSB7CiAgICAgICAgICAgICAgICBzZXRSZWdTdGF0dXMoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygncGFzc2tleV9yZWdfc3VjY2VzcycpfXtsaXRlcmFsfScpOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBzdWNjZXNzVXJsOyB9LCA4MDApOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzZXRSZWdTdGF0dXMocmVzdWx0LmVycm9yIHx8ICd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfcmVnX2ZhaWxlZCcpfXtsaXRlcmFsfScpOwogICAgICAgICAgICAgICAgJGJ0bi5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLmZhaWwoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgc2V0UmVnU3RhdHVzKCd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfcmVnX2ZhaWxlZCcpfXtsaXRlcmFsfScpOwogICAgICAgICAgICAgICRidG4ucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgIH0sIGZ1bmN0aW9uKGVycikgewogICAgICAgICAgICBzZXRSZWdTdGF0dXMoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygncGFzc2tleV9yZWdfY2FuY2VsbGVkJyl9e2xpdGVyYWx9Jyk7CiAgICAgICAgICAgICRidG4ucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7CiAgICAgICAgICB9KTsKCiAgICAgICAgfSkuZmFpbChmdW5jdGlvbigpIHsKICAgICAgICAgIHNldFJlZ1N0YXR1cygney9saXRlcmFsfXskbW9kLT5MYW5nKCdwYXNza2V5X3JlZ19mYWlsZWQnKX17bGl0ZXJhbH0nKTsKICAgICAgICAgICRidG4ucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CiAgICB7L2xpdGVyYWx9CiAgICA8L3NjcmlwdD4KICB7L2lmfQp7L2lmfQo=]]></data>
	</file>
	<file>
		<filename>/templates/setup_sms.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdzZXR1cF9zbXMnKX08L2gzPgoKe2lmICRtZXNzYWdlICE9ICcnfTxkaXYgY2xhc3M9InskbWVzc2FnZS5jbGFzc30iPjxwIGNsYXNzPSJwYWdlbWVzc2FnZSI+eyRtZXNzYWdlLnRleHR9PC9wPjwvZGl2PnsvaWZ9Cgp7aWYgISR0d2lsaW9fY29uZmlndXJlZH0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9Indhcm5pbmciPnskbW9kLT5MYW5nKCd0d2lsaW9fbm90X2NvbmZpZ3VyZWQnKX08L3A+CiAgPC9kaXY+CiAgCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPSdkZWZhdWx0YWRtaW4nfSI+eyRtb2QtPkxhbmcoJ2NvbmZpZ3VyZV90d2lsaW8nKX08L2E+CiAgICA8L3A+CiAgPC9kaXY+CntlbHNlfQogIHtmb3JtX3N0YXJ0IGFjdGlvbj0nc2V0dXBfc21zJ30KICAgIHtpZiAkcGVuZGluZ19waG9uZSAmJiAhJGlzX2VuYWJsZWR9CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndmVyaWZpY2F0aW9uX2NvZGVfc2VudCcsICRwZW5kaW5nX3Bob25lKX08L3A+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd2ZXJpZmljYXRpb25fY29kZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jb2RlIiB2YWx1ZT0iIiBzaXplPSIxMCIgcGxhY2Vob2xkZXI9IjEyMzQ1NiIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXZlcmlmeV9jb2RlIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3ZlcmlmeV9waG9uZScpfSIgLz4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVzZW5kX2NvZGUiIHZhbHVlPSJ7JG1vZC0+TGFuZygncmVzZW5kX2NvZGUnKX0iIC8+CiAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNoYW5nZV9waG9uZSIgdmFsdWU9InskbW9kLT5MYW5nKCdjaGFuZ2VfcGhvbmUnKX0iIC8+CiAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIC8+CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICAgCiAgICB7ZWxzZWlmICRpc19lbmFibGVkfQogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJpbmZvcm1hdGlvbiI+PHN0cm9uZz57JG1vZC0+TGFuZygndmVyaWZpZWQnKX08L3N0cm9uZz48L3A+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzbXNfZW5hYmxlZF9pbmZvJywgJHBob25lKX08L3A+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9ZGlzYWJsZSIgdmFsdWU9InskbW9kLT5MYW5nKCdkaXNhYmxlX3NtcycpfSIgLz4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgLz4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgICAKICAgIHtlbHNlfQogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Ntc19zZXR1cF9pbmZvJyl9PC9wPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncGhvbmVfbnVtYmVyJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZWwiIG5hbWU9InskYWN0aW9uaWR9cGhvbmUiIHZhbHVlPSIiIHNpemU9IjIwIiBwbGFjZWhvbGRlcj0iKzEyMzQ1Njc4OTAiIC8+CiAgICAgICAgICA8YnIvPjxzbWFsbD57JG1vZC0+TGFuZygncGhvbmVfZm9ybWF0X2hlbHAnKX08L3NtYWxsPgogICAgICAgIDwvcD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zZW5kX3ZlcmlmaWNhdGlvbiIgdmFsdWU9InskbW9kLT5MYW5nKCdzZW5kX3ZlcmlmaWNhdGlvbl9jb2RlJyl9IiAvPgogICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiAvPgogICAgICAgIDwvcD4KICAgICAgPC9kaXY+CiAgICB7L2lmfQogIHtmb3JtX2VuZH0Key9pZn0=]]></data>
	</file>
	<file>
		<filename>/templates/setup_sms_credit_enabled.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdzZXR1cF9zbXMnKX08L2gzPgoKe2lmICRtZXNzYWdlICE9ICcnfTxkaXYgY2xhc3M9InskbWVzc2FnZS5jbGFzc30iPjxwIGNsYXNzPSJwYWdlbWVzc2FnZSI+eyRtZXNzYWdlLnRleHR9PC9wPjwvZGl2PnsvaWZ9Cgp7aWYgISRjcmVkaXRzX2NvbmZpZ3VyZWR9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJ3YXJuaW5nIj5TTVMgY3JlZGl0cyBub3QgY29uZmlndXJlZC4gUGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLjwvcD4KICA8L2Rpdj4KICAKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249J2RlZmF1bHRhZG1pbicgYWN0aXZlX3RhYj0nc21zY3JlZGl0J30iPnskbW9kLT5MYW5nKCdjb25maWd1cmVfdHdpbGlvJyl9PC9hPgogICAgPC9wPgogIDwvZGl2Pgp7ZWxzZX0KCiAge2Zvcm1fc3RhcnQgYWN0aW9uPSdzZXR1cF9zbXNfY3JlZGl0X2VuYWJsZWQnfQogICAge2lmICRwZW5kaW5nX3Bob25lICYmICEkaXNfZW5hYmxlZH0KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd2ZXJpZmljYXRpb25fY29kZV9zZW50JywgJHBlbmRpbmdfcGhvbmUpfTwvcD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ZlcmlmaWNhdGlvbl9jb2RlJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNvZGUiIHZhbHVlPSIiIHNpemU9IjEwIiBwbGFjZWhvbGRlcj0iMTIzNDU2IiBhdXRvY29tcGxldGU9Im9mZiIgLz4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9dmVyaWZ5X2NvZGUiIHZhbHVlPSJ7JG1vZC0+TGFuZygndmVyaWZ5X3Bob25lJyl9IiAvPgogICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1yZXNlbmRfY29kZSIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNlbmRfY29kZScpfSIgLz4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2hhbmdlX3Bob25lIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NoYW5nZV9waG9uZScpfSIgLz4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgLz4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgICAKICAgIHtlbHNlaWYgJGlzX2VuYWJsZWR9CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9ImluZm9ybWF0aW9uIj48c3Ryb25nPnskbW9kLT5MYW5nKCd2ZXJpZmllZCcpfTwvc3Ryb25nPjwvcD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Ntc19lbmFibGVkX2luZm8nLCAkcGhvbmUpfTwvcD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1kaXNhYmxlIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2Rpc2FibGVfc21zJyl9IiAvPgogICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiAvPgogICAgICAgIDwvcD4KICAgICAgPC9kaXY+CiAgICAgIAogICAge2Vsc2V9CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc21zX3NldHVwX2luZm8nKX08L3A+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwaG9uZV9udW1iZXInKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgPGlucHV0IHR5cGU9InRlbCIgbmFtZT0ieyRhY3Rpb25pZH1waG9uZSIgdmFsdWU9IiIgc2l6ZT0iMjAiIHBsYWNlaG9sZGVyPSIrMTIzNDU2Nzg5MCIgLz4KICAgICAgICAgIDxici8+PHNtYWxsPnskbW9kLT5MYW5nKCdwaG9uZV9mb3JtYXRfaGVscCcpfTwvc21hbGw+CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXNlbmRfdmVyaWZpY2F0aW9uIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3NlbmRfdmVyaWZpY2F0aW9uX2NvZGUnKX0iIC8+CiAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIC8+CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgIHsvaWZ9CiAge2Zvcm1fZW5kfQp7L2lmfQo=]]></data>
	</file>
	<file>
		<filename>/templates/setup_totp.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdzZXR1cF90b3RwJyl9PC9oMz4KCntpZiAkZXJyb3J9CiAgPGRpdiBjbGFzcz0id2FybmluZyI+eyRlcnJvcn08L2Rpdj4Key9pZn0KCntpZiAkaXNfY29uZmlndXJlZH0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9ImluZm9ybWF0aW9uIj4KICAgICAg4pyTIHskbW9kLT5MYW5nKCd0b3RwX2NvbmZpZ3VyZWQnKX0KICAgIDwvcD4KICA8L2Rpdj4KICAKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndG90cF9yZXNldF93YXJuaW5nJyl9PC9wPgogIDwvZGl2PgogIAogIHtmb3JtX3N0YXJ0IGFjdGlvbj0nc2V0dXBfdG90cCd9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2V0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0X3RvdHAnKX0iIAogICAgICAgICAgICAgICBvbmNsaWNrPSJyZXR1cm4gY29uZmlybSgneyRtb2QtPkxhbmcoJ2NvbmZpcm1fcmVzZXQnKX0nKTsiIC8+CiAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiAvPgogICAgICA8L3A+CiAgICA8L2Rpdj4KICB7Zm9ybV9lbmR9CntlbHNlfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzY2FuX3FyJyl9PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbWcgc3JjPSJ7JHFyX2NvZGV9IiBhbHQ9IlFSIENvZGUiIC8+CiAgICA8L3A+CiAgPC9kaXY+CiAgCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ21hbnVhbF9lbnRyeScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGNvZGU+eyRzZWNyZXR9PC9jb2RlPgogICAgPC9wPgogIDwvZGl2PgogIAogIHtmb3JtX3N0YXJ0IGFjdGlvbj0nc2V0dXBfdG90cCd9CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfXRvdHBfa2V5IiB2YWx1ZT0ieyRzZWNyZXR9IiAvPgogICAgCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdlbnRlcl9jb2RlX3ZlcmlmeScpfTo8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpbnB1dG1vZGU9Im51bWVyaWMiIG5hbWU9InskYWN0aW9uaWR9YXV0aGNvZGUiIAogICAgICAgICAgICAgICB2YWx1ZT0iIiBzaXplPSIxMCIgcGxhY2Vob2xkZXI9IjEyMzQ1NiIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXZlcmlmeSIgdmFsdWU9InskbW9kLT5MYW5nKCd2ZXJpZnknKX0iIC8+CiAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiAvPgogICAgICA8L3A+CiAgICA8L2Rpdj4KICB7Zm9ybV9lbmR9CnsvaWZ9]]></data>
	</file>
	<file>
		<filename>/templates/smssettings.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdzbXNfc2V0dGluZ3MnKX08L2gzPgoKe2lmICRzbXNfYXZhaWxhYmxlfQo8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiI+CiAgICA8c3Ryb25nPuKckyB7JG1vZC0+TGFuZygnc21zX3N0YXR1c19hdmFpbGFibGUnKX08L3N0cm9uZz4KICAgIHtpZiAkc21zY3JlZGl0X2VuYWJsZWQgJiYgJHR3aWxpb19lbmFibGVkfQogICAgICAgIC0geyRtb2QtPkxhbmcoJ3Ntc19ib3RoX21ldGhvZHNfYWN0aXZlJyl9ICh7JG1vZC0+TGFuZygnc21zX2NyZWRpdHNfcHJpb3JpdHknKX0pCiAgICB7ZWxzZWlmICRzbXNjcmVkaXRfZW5hYmxlZH0KICAgICAgICAtIHskbW9kLT5MYW5nKCdzbXNfY3JlZGl0c19tZXRob2RfYWN0aXZlJyl9CiAgICB7ZWxzZWlmICR0d2lsaW9fZW5hYmxlZH0KICAgICAgICAtIHskbW9kLT5MYW5nKCdzbXNfdHdpbGlvX21ldGhvZF9hY3RpdmUnKX0KICAgIHsvaWZ9CjwvZGl2Pgp7ZWxzZX0KPGRpdiBjbGFzcz0id2FybmluZyI+CiAgICA8c3Ryb25nPnskbW9kLT5MYW5nKCdzbXNfc3RhdHVzX3VuYXZhaWxhYmxlJyl9PC9zdHJvbmc+IC0geyRtb2QtPkxhbmcoJ3Ntc19jb25maWd1cmVfbWV0aG9kJyl9CjwvZGl2Pgp7L2lmfQoKPGZpZWxkc2V0IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAzMHB4OyI+CiAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCdzbXNfY3JlZGl0c19vcHRpb24nKX0ge2lmICRzbXNjcmVkaXRfZW5hYmxlZH08c3BhbiBzdHlsZT0iY29sb3I6ICMyOGE3NDU7Ij7inJMgeyRtb2QtPkxhbmcoJ2FjdGl2ZScpfTwvc3Bhbj57L2lmfTwvbGVnZW5kPgogICAgPHAgc3R5bGU9Im1hcmdpbi1ib3R0b206IDVweDsiPnskbW9kLT5MYW5nKCdzbXNfY3JlZGl0c19kZXNjcmlwdGlvbicpfTwvcD4KICAgIHtmb3JtX3N0YXJ0fQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9kdWN0X2tleScpfSB7aWYgJHNtc2NyZWRpdF9lbmFibGVkfXskbW9kLT5MYW5nKCdzbXNfY3JlZGl0c19hY3RpdmUnLCAkY3JlZGl0c19yZW1haW5pbmcpfXsvaWZ9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9cHJvZHVjdF9rZXkiIHZhbHVlPSJ7JHByb2R1Y3Rfa2V5fSIgc2l6ZT0iNTAiIHBsYWNlaG9sZGVyPSJYWFhYLVhYWFgtWFhYWC1YWFhYIiAvPgogICAgICAgICAgICA8YnIvPjxzcGFuIGNsYXNzPSJoZWxwIj57JG1vZC0+TGFuZygncHJvZHVjdF9rZXlfaGVscCcpfTwvc3Bhbj4KICAgICAgICA8L3A+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXRfY3JlZGl0cyIgdmFsdWU9InskbW9kLT5MYW5nKCdzYXZlX3Byb2R1Y3Rfa2V5Jyl9IiBjbGFzcz0icGFnZWJ1dHRvbiIgLz4KICAgICAgICAgICAge2lmICRwcm9kdWN0X2tleX0KICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1yZW1vdmVfY3JlZGl0cyIgdmFsdWU9InskbW9kLT5MYW5nKCdyZW1vdmVfbGljZW5zZScpfSIgY2xhc3M9InBhZ2VidXR0b24iIG9uY2xpY2s9InJldHVybiBjb25maXJtKCd7JG1vZC0+TGFuZygnY29uZmlybV9yZW1vdmVfbGljZW5zZScpfScpOyIgLz4KICAgICAgICAgICAgey9pZn0KICAgICAgICAgICAgCiAgICAgICAgICAgIDxhIGhyZWY9InskcHJvZHVjdF91cmx9IiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImN0YSIgZGF0YS1pY29uPSJteS1pY29uLXN0YXIiIHN0eWxlPSJtYXJnaW4tbGVmdDogMTBweDsiPnskbW9kLT5MYW5nKCdwdXJjaGFzZV9jcmVkaXRzJyl9PC9hPgogICAgICAgIDwvcD4KICAgIDwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwPkRvbid0IGhhdmUgVHdpbGlvPyBQdXJjaGFzZSBwcmVwYWlkIFNNUyBjcmVkaXRzOjwvcD4KICA8dWw+CiAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9waXhlbHNvbHV0aW9ucy5iaXovaW5kZXgucGhwP21hY3Q9Q01TTVNTdHJpcGUsY250bnQwMSxjcmVhdGUtY2hlY2tvdXQtc2Vzc2lvbiwwJmFtcDtjbnRudDAxcHJpY2VfaWQ9cHJpY2VfMVN5eVg2RU9nemw0SmZ4bUFianZkRlVNJmNudG50MDFyZXR1cm5pZD04MiIgdGFyZ2V0PSJfYmxhbmsiPlN0YXJ0ZXIgLSA1MDAgY3JlZGl0cyAoJDkuOTkpPC9hPiAtIENvdmVycyDiiYggNzAgVVMgdmVyaWZpY2F0aW9uczwvbGk+CiAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9waXhlbHNvbHV0aW9ucy5iaXovaW5kZXgucGhwP21hY3Q9Q01TTVNTdHJpcGUsY250bnQwMSxjcmVhdGUtY2hlY2tvdXQtc2Vzc2lvbiwwJmFtcDtjbnRudDAxcHJpY2VfaWQ9cHJpY2VfMVN4VVNHRU9nemw0SmZ4bUllcTR2TXk1JmNudG50MDFyZXR1cm5pZD04MiIgdGFyZ2V0PSJfYmxhbmsiPkdyb3d0aCAtIDIwMDAgY3JlZGl0cyAoJDI5Ljk5KTwvYT4gLSBDb3ZlcnMg4omIIDI4NSBVUyB2ZXJpZmljYXRpb25zPC9saT4KICAgIDxsaT48YSBocmVmPSJodHRwczovL3BpeGVsc29sdXRpb25zLmJpei9pbmRleC5waHA/bWFjdD1DTVNNU1N0cmlwZSxjbnRudDAxLGNyZWF0ZS1jaGVja291dC1zZXNzaW9uLDAmYW1wO2NudG50MDFwcmljZV9pZD1wcmljZV8xU3l5WTZFT2d6bDRKZnhtZ0h0OGxTTHQmY250bnQwMXJldHVybmlkPTgyIiB0YXJnZXQ9Il9ibGFuayI+PHN0cm9uZz5Qcm8gLSA1MDAwIGNyZWRpdHMgKCQ1OS45OSk8L3N0cm9uZz48L2E+IC0gQ292ZXJzIOKJiCA3MTQgVVMgdmVyaWZpY2F0aW9uczwvbGk+CiAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9waXhlbHNvbHV0aW9ucy5iaXovaW5kZXgucGhwP21hY3Q9Q01TTVNTdHJpcGUsY250bnQwMSxjcmVhdGUtY2hlY2tvdXQtc2Vzc2lvbiwwJmFtcDtjbnRudDAxcHJpY2VfaWQ9cHJpY2VfMVN5eVlVRU9nemw0SmZ4bU5PWEdRb3VmJmNudG50MDFyZXR1cm5pZD04MiIgdGFyZ2V0PSJfYmxhbmsiPkFnZW5jeSAtIDIwMDAwIGNyZWRpdHMgKCQxOTkpPC9hPiAtIENvdmVycyDiiYggMiw4NTcgVVMgdmVyaWZpY2F0aW9uczwvbGk+CiAgPC91bD4KPC9kaXY+CiAgICB7Zm9ybV9lbmR9CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CiAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCd0d2lsaW9fYXBpX29wdGlvbicpfSB7aWYgJHR3aWxpb19lbmFibGVkfTxzcGFuIHN0eWxlPSJjb2xvcjogIzI4YTc0NTsiPuKckyB7JG1vZC0+TGFuZygnYWN0aXZlJyl9PC9zcGFuPnsvaWZ9PC9sZWdlbmQ+CiAgICA8cCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTVweDsiPnskbW9kLT5MYW5nKCd0d2lsaW9fYXBpX2Rlc2NyaXB0aW9uJyl9PC9wPgogICAgCiAgICB7Zm9ybV9zdGFydH0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndHdpbGlvX2FwaV9rZXlfc2lkJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9YXBpX2tleSIgdmFsdWU9InskYXBpX2tleX0iIHNpemU9IjUwIiAvPgogICAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3R3aWxpb19hcGlfc2VjcmV0Jyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9YXBpX3NlY3JldCIgdmFsdWU9InskYXBpX3NlY3JldH0iIHNpemU9IjUwIiAvPgogICAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3R3aWxpb19zZXJ2aWNlX3NpZCcpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXNlcnZpY2Vfc2lkIiB2YWx1ZT0ieyRzZXJ2aWNlX3NpZH0iIHNpemU9IjUwIiAvPgogICAgICAgICAgICA8YnIvPjxzcGFuIGNsYXNzPSJoZWxwIj57JG1vZC0+TGFuZygndHdpbGlvX3NlcnZpY2Vfc2lkX2hlbHAnKX08L3NwYW4+CiAgICAgICAgPC9wPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0X3R3aWxpbyIgdmFsdWU9InskbW9kLT5MYW5nKCdzYXZlX3NldHRpbmdzJyl9IiBjbGFzcz0icGFnZWJ1dHRvbiIgLz4KICAgICAgICAgICAge2lmICR0d2lsaW9fZW5hYmxlZH0KICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1yZW1vdmVfdHdpbGlvIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3JlbW92ZV90d2lsaW8nKX0iIGNsYXNzPSJwYWdlYnV0dG9uIiBvbmNsaWNrPSJyZXR1cm4gY29uZmlybSgneyRtb2QtPkxhbmcoJ2NvbmZpcm1fcmVtb3ZlX3R3aWxpbycpfScpOyIgLz4KICAgICAgICAgICAgey9pZn0KICAgICAgICA8L3A+CiAgICA8L2Rpdj4KICAgIHtmb3JtX2VuZH0KPC9maWVsZHNldD4K]]></data>
	</file>
	<file>
		<filename>/templates/user_methods.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[CntpZiAkZW5hYmxlZF9wcm92aWRlcnN9Cgp7aWYgJGlzXzJmYV9hY3RpdmV9CiAgPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPgogICAgPHA+eyRtb2QtPkxhbmcoJ3R3b19mYWN0b3JfYWN0aXZlJyl9PC9wPgogIDwvZGl2PgogIHtlbHNlfQogIDxkaXYgY2xhc3M9Indhcm5pbmciPgogICAgPHA+eyRtb2QtPkxhbmcoJ3R3b19mYWN0b3JfaW5hY3RpdmUnKX08L3A+CiAgPC9kaXY+CnsvaWZ9CgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByaW1hcnlfbWV0aG9kX2luZm8nKX06PC9wPgogIHtmb3JtX3N0YXJ0IGFjdGlvbj0ndXNlcl9wcmVmcycgYWN0aXZlX3RhYj0nbWV0aG9kcyd9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9c2V0X3ByaW1hcnkiIGlkPSJwcmltYXJ5X21ldGhvZCI+CiAgICAgICAgICB7eHRfaHRtbF9vcHRpb25zIG9wdGlvbnM9JHByaW1hcnlfb3B0aW9ucyBzZWxlY3RlZD0kcHJpbWFyeV9wcm92aWRlcn0KICAgICAgICA8L3NlbGVjdD4KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3VwZGF0ZScpfSIgY2xhc3M9InBhZ2VidXR0b24iIC8+CiAgICAgIDwvcD4KICAgIDwvZGl2PgogIHtmb3JtX2VuZH0Ke2Vsc2V9CiAgPGRpdiBjbGFzcz0id2FybmluZyI+CiAgICA8cD57JG1vZC0+TGFuZygnbm9fbWV0aG9kc19lbmFibGVkJyl9PC9wPgogIDwvZGl2Pgp7L2lmfQoKPGg0PnskbW9kLT5MYW5nKCdhdmFpbGFibGVfbWV0aG9kcycpfTwvaDQ+Cjx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnbWV0aG9kJyl9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogZWRpdCBpY29uICp9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogZWRpdCBpY29uICp9PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGJvZHk+CiAgICA8dHIgPgogICAgICA8dGQgY2xhc3M9InBfdG9wXzEwIHBfYm90dG9tXzEwIj48c3Ryb25nPnskbW9kLT5MYW5nKCdwcm92aWRlcl90b3RwJyl9PC9zdHJvbmc+PGJyLz48c21hbGw+eyRtb2QtPkxhbmcoJ3RvdHBfZGVzY3JpcHRpb24nKX08L3NtYWxsPjwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICB7aWYgaW5fYXJyYXkoJ1R3b0ZhY3RvclByb3ZpZGVyVE9UUCcsICRlbmFibGVkX3Byb3ZpZGVycyl9CiAgICAgICAgICB7YWRtaW5faWNvbiB0aXRsZT0nRW5hYmxlZCcgaWNvbj0ndHJ1ZS5naWYnfQogICAgICAgIHtlbHNlfQogICAgICAgICAge2FkbWluX2ljb24gdGl0bGU9J0Rpc2FibGVkJyBpY29uPSdmYWxzZS5naWYnfQogICAgICAgIHsvaWZ9CiAgICAgIDwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPSdzZXR1cF90b3RwJ30iPnthZG1pbl9pY29uIGljb249J2VkaXQuZ2lmJ308L2E+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogICAgPHRyIGNsYXNzPSJyb3cyIj4KICAgICAgPHRkIGNsYXNzPSJwX3RvcF8xMCBwX2JvdHRvbV8xMCI+PHN0cm9uZz57JG1vZC0+TGFuZygncHJvdmlkZXJfZW1haWwnKX08L3N0cm9uZz48YnIvPjxzbWFsbD57JG1vZC0+TGFuZygnZW1haWxfZGVzY3JpcHRpb24nKX08L3NtYWxsPjwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICB7aWYgaW5fYXJyYXkoJ1R3b0ZhY3RvclByb3ZpZGVyRW1haWwnLCAkZW5hYmxlZF9wcm92aWRlcnMpfQogICAgICAgICAge2FkbWluX2ljb24gdGl0bGU9J0VuYWJsZWQnIGljb249J3RydWUuZ2lmJ30KICAgICAgICB7ZWxzZX0KICAgICAgICAgIHthZG1pbl9pY29uIHRpdGxlPSdEaXNhYmxlZCcgaWNvbj0nZmFsc2UuZ2lmJ30KICAgICAgICB7L2lmfQogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj0nc2V0dXBfZW1haWwnfSI+e2FkbWluX2ljb24gaWNvbj0nZWRpdC5naWYnfTwvYT4KICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICB7aWYgJHNtc19hdmFpbGFibGV9CiAgICA8dHI+CiAgICB7ZWxzZX0KICAgIDx0ciBzdHlsZT0ib3BhY2l0eTogMC41OyI+CiAgICB7L2lmfQogICAgICA8dGQgY2xhc3M9InBfdG9wXzEwIHBfYm90dG9tXzEwIj48c3Ryb25nPnskbW9kLT5MYW5nKCdwcm92aWRlcl9zbXMnKX08L3N0cm9uZz48YnIvPjxzbWFsbD57JG1vZC0+TGFuZygnc21zX2Rlc2NyaXB0aW9uJyl9PC9zbWFsbD48L3RkPgogICAgICA8dGQ+CiAgICAgICAge2lmIGluX2FycmF5KCdUd29GYWN0b3JQcm92aWRlclNNUycsICRlbmFibGVkX3Byb3ZpZGVycyl9CiAgICAgICAgICB7YWRtaW5faWNvbiB0aXRsZT0nRW5hYmxlZCcgaWNvbj0ndHJ1ZS5naWYnfQogICAgICAgIHtlbHNlfQogICAgICAgICAge2FkbWluX2ljb24gdGl0bGU9J0Rpc2FibGVkJyBpY29uPSdmYWxzZS5naWYnfQogICAgICAgIHsvaWZ9CiAgICAgIDwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICB7aWYgJHNtc19hdmFpbGFibGV9CiAgICAgICAgICB7aWYgJHNtc2NyZWRpdF9lbmFibGVkID09ICcxJ30KICAgICAgICAgICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj0nc2V0dXBfc21zX2NyZWRpdF9lbmFibGVkJ30iPnthZG1pbl9pY29uIGljb249J2VkaXQuZ2lmJ308L2E+CiAgICAgICAgICB7ZWxzZX0KICAgICAgICAgICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj0nc2V0dXBfc21zJ30iPnthZG1pbl9pY29uIGljb249J2VkaXQuZ2lmJ308L2E+CiAgICAgICAgICB7L2lmfQogICAgICAgIHtlbHNlfQogICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjOTk5OyI+PC9zcGFuPgogICAgICAgIHsvaWZ9CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogICAge2lmICRwYXNza2V5X3N1cHBvcnRlZH0KICAgIDx0ciBjbGFzcz0icm93MiI+CiAgICAgIDx0ZCBjbGFzcz0icF90b3BfMTAgcF9ib3R0b21fMTAiPjxzdHJvbmc+eyRtb2QtPkxhbmcoJ3Byb3ZpZGVyX3Bhc3NrZXknKX08L3N0cm9uZz48YnIvPjxzbWFsbD57JG1vZC0+TGFuZygncGFzc2tleV9kZXNjcmlwdGlvbicpfTwvc21hbGw+PC90ZD4KICAgICAgPHRkPgogICAgICAgIHtpZiBpbl9hcnJheSgnVHdvRmFjdG9yUHJvdmlkZXJQYXNza2V5JywgJGVuYWJsZWRfcHJvdmlkZXJzKX0KICAgICAgICAgIHthZG1pbl9pY29uIHRpdGxlPSdFbmFibGVkJyBpY29uPSd0cnVlLmdpZid9CiAgICAgICAge2Vsc2V9CiAgICAgICAgICB7YWRtaW5faWNvbiB0aXRsZT0nRGlzYWJsZWQnIGljb249J2ZhbHNlLmdpZid9CiAgICAgICAgey9pZn0KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249J3NldHVwX3Bhc3NrZXknfSI+e2FkbWluX2ljb24gaWNvbj0nZWRpdC5naWYnfTwvYT4KICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICB7L2lmfQogICAge2lmICRpc19wcm8gJiYgJHBhc3NrZXlfc3VwcG9ydGVkfQogICAgPHRyPgogICAgICA8dGQgY2xhc3M9InBfdG9wXzEwIHBfYm90dG9tXzEwIj48c3Ryb25nPnskbW9kLT5MYW5nKCdwcm92aWRlcl9zZWN1cml0eV9rZXknKX08L3N0cm9uZz48YnIvPjxzbWFsbD57JG1vZC0+TGFuZygnc2VjdXJpdHlfa2V5X2Rlc2NyaXB0aW9uJyl9PC9zbWFsbD48L3RkPgogICAgICA8dGQ+CiAgICAgICAge2lmIGluX2FycmF5KCdUd29GYWN0b3JQcm92aWRlclNlY3VyaXR5S2V5JywgJGVuYWJsZWRfcHJvdmlkZXJzKX0KICAgICAgICAgIHthZG1pbl9pY29uIHRpdGxlPSdFbmFibGVkJyBpY29uPSd0cnVlLmdpZid9CiAgICAgICAge2Vsc2V9CiAgICAgICAgICB7YWRtaW5faWNvbiB0aXRsZT0nRGlzYWJsZWQnIGljb249J2ZhbHNlLmdpZid9CiAgICAgICAgey9pZn0KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249J3NldHVwX3NlY3VyaXR5X2tleSd9Ij57YWRtaW5faWNvbiBpY29uPSdlZGl0LmdpZid9PC9hPgogICAgICA8L3RkPgogICAgPC90cj4KICAgIHsvaWZ9CiAgICA8dHIgY2xhc3M9InJvdzIiPgogICAgICA8dGQgY2xhc3M9InBfdG9wXzEwIHBfYm90dG9tXzEwIj48c3Ryb25nPnskbW9kLT5MYW5nKCdwcm92aWRlcl9iYWNrdXBfY29kZXMnKX08L3N0cm9uZz48YnIvPjxzbWFsbD57JG1vZC0+TGFuZygnYmFja3VwX2NvZGVzX2Rlc2NyaXB0aW9uJyl9PC9zbWFsbD48L3RkPgogICAgICA8dGQ+CiAgICAgICAge2lmIGluX2FycmF5KCdUd29GYWN0b3JQcm92aWRlckJhY2t1cENvZGVzJywgJGVuYWJsZWRfcHJvdmlkZXJzKX0KICAgICAgICAgIHthZG1pbl9pY29uIHRpdGxlPSdFbmFibGVkJyBpY29uPSd0cnVlLmdpZid9CiAgICAgICAge2Vsc2V9CiAgICAgICAgICB7YWRtaW5faWNvbiB0aXRsZT0nRGlzYWJsZWQnIGljb249J2ZhbHNlLmdpZid9CiAgICAgICAgey9pZn0KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249J3NldHVwX2JhY2t1cF9jb2Rlcyd9Ij57YWRtaW5faWNvbiBpY29uPSdlZGl0LmdpZid9PC9hPgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3Rib2R5Pgo8L3RhYmxlPgo=]]></data>
	</file>
	<file>
		<filename>/templates/user_prefs.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjttYXJnaW4tYm90dG9tOjBweDsiPgogIDxoMyBzdHlsZT0ibWFyZ2luOjA7Ij57JG1vZC0+TGFuZygndHdvX2ZhY3Rvcl9zZXR0aW5ncycpfTwvaDM+CiAgPGEgaHJlZj0iaHR0cHM6Ly9waXhlbHNvbHV0aW9ucy5iaXoiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPgogICAgPGltZyBzcmM9Imh0dHBzOi8vcGl4ZWxzb2x1dGlvbi5zMy5ldS1zb3V0aC0xLmFtYXpvbmF3cy5jb20vbG9nb3MvTE9HT18zX0NPTE9SXzMwMC5wbmciIGFsdD0iUGl4ZWwgU29sdXRpb25zIiBzdHlsZT0iaGVpZ2h0OjQwcHg7IiAvPgogIDwvYT4KPC9kaXY+Cgp7aWYgJGVuZm9yY2VfMmZhICYmICEkdXNlcl9oYXNfMmZhfSAKICAgIDxkaXYgY2xhc3M9Indhcm5pbmciIHN0eWxlPSJtYXJnaW46IDIwcHggMDsgcGFkZGluZzogMTVweDsgYmFja2dyb3VuZDogI2ZmZjNjZDsgYm9yZGVyOiAxcHggc29saWQgI2ZmYzEwNzsiPgogICAgICAgIDxoMyBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPnskbW9kLT5MYW5nKCcyZmFfcmVxdWlyZWQnKX08L2gzPgogICAgICAgIDxwPnskbW9kLT5MYW5nKCcyZmFfcmVxdWlyZWRfbWVzc2FnZScpfTwvcD4KICAgIDwvZGl2Pgp7L2lmfQo=]]></data>
	</file>
	<file>
		<filename>/templates/verify_alt_methods.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[eyogVHdvRmFjdG9yOiBzaGFyZWQgImFsdGVybmF0aXZlIG1ldGhvZHMiIGJsb2NrIGZvciB2ZXJpZmljYXRpb24gcGFnZXMuCiAgIEV4cGVjdHM6ICRhbHRfbWV0aG9kcyAoZWFjaCB3aXRoIC5sYWJlbCwgLnVybCwgLnNsdWcpLCAkaGFzX2JhY2t1cF9jb2RlcywKICAgJHVzaW5nX2JhY2t1cCwgJGJhY2t1cF91cmwsICRwcmltYXJ5X3VybCwgJG1vZC4gKn0Ke2lmICFlbXB0eSgkYWx0X21ldGhvZHMpIHx8ICgkaGFzX2JhY2t1cF9jb2RlcyAmJiAhJHVzaW5nX2JhY2t1cCkgfHwgJHVzaW5nX2JhY2t1cH0KPGRpdiBjbGFzcz0idGZhLWFsdCI+Cgk8c3BhbiBjbGFzcz0idGZhLWFsdF9fbGFiZWwiPnskbW9kLT5MYW5nKCd1c2Vfb3RoZXJfbWV0aG9kJyl9PC9zcGFuPgoJPGRpdiBjbGFzcz0idGZhLWFsdF9fbGlzdCI+CgkJe2ZvcmVhY2ggJGFsdF9tZXRob2RzIGFzICRhbHR9CgkJCTxhIGNsYXNzPSJ0ZmEtbWV0aG9kIiBocmVmPSJ7JGFsdC51cmx9Ij4KCQkJCTxzcGFuIGNsYXNzPSJ0ZmEtbWV0aG9kX19pY29uIj4KCQkJCQl7aWYgJGFsdC5zbHVnID09ICd0b3RwJ30KCQkJCQkJPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiPjxyZWN0IHg9IjUiIHk9IjIiIHdpZHRoPSIxNCIgaGVpZ2h0PSIyMCIgcng9IjIiLz48bGluZSB4MT0iOSIgeTE9IjE4IiB4Mj0iMTUiIHkyPSIxOCIvPjwvc3ZnPgoJCQkJCXtlbHNlaWYgJGFsdC5zbHVnID09ICdlbWFpbCd9CgkJCQkJCTxzdmcgdmlld0JveD0iMCAwIDI0IDI0Ij48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHJ4PSIyIi8+PHBhdGggZD0iTTMgN2w5IDYgOS02Ii8+PC9zdmc+CgkJCQkJe2Vsc2VpZiAkYWx0LnNsdWcgPT0gJ3Ntcyd9CgkJCQkJCTxzdmcgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMjEgMTVhMiAyIDAgMCAxLTIgMkg3bC00IDRWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ6Ii8+PC9zdmc+CgkJCQkJe2Vsc2VpZiAkYWx0LnNsdWcgPT0gJ3Bhc3NrZXknfQoJCQkJCQk8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTAiIGN5PSI4IiByPSI0Ii8+PHBhdGggZD0iTTEwLjUgMTJBNiA2IDAgMCAwIDUgMTh2Mmg3Ii8+PGNpcmNsZSBjeD0iMTgiIGN5PSIxNSIgcj0iMiIvPjxwYXRoIGQ9Ik0xOCAxN3Y0bDEuNS0xLjVNMTggMTdsLTEuNS0xLjUiLz48L3N2Zz4KCQkJCQl7ZWxzZWlmICRhbHQuc2x1ZyA9PSAnc2VjdXJpdHkta2V5J30KCQkJCQkJPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiPjxjaXJjbGUgY3g9IjgiIGN5PSIxMiIgcj0iNCIvPjxwYXRoIGQ9Ik0xMiAxMmg5TTE4IDEydjRNMTUgMTJ2MyIvPjwvc3ZnPgoJCQkJCXtlbHNlfQoJCQkJCQk8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSIvPjxwYXRoIGQ9Ik05LjUgOWEyLjUgMi41IDAgMSAxIDMuNSAyLjNjLS44LjQtMSAuOS0xIDEuNyIvPjxsaW5lIHgxPSIxMiIgeTE9IjE3IiB4Mj0iMTIiIHkyPSIxNyIvPjwvc3ZnPgoJCQkJCXsvaWZ9CgkJCQk8L3NwYW4+CgkJCQk8c3BhbiBjbGFzcz0idGZhLW1ldGhvZF9fbGFiZWwiPnskYWx0LmxhYmVsfTwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ0ZmEtbWV0aG9kX19jaGV2cm9uIj4KCQkJCQk8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDE4bDYtNi02LTYiLz48L3N2Zz4KCQkJCTwvc3Bhbj4KCQkJPC9hPgoJCXsvZm9yZWFjaH0KCgkJe2lmICRoYXNfYmFja3VwX2NvZGVzICYmICEkdXNpbmdfYmFja3VwfQoJCQk8YSBjbGFzcz0idGZhLW1ldGhvZCB0ZmEtbWV0aG9kLS1iYWNrdXAiIGhyZWY9InskYmFja3VwX3VybH0iPgoJCQkJPHNwYW4gY2xhc3M9InRmYS1tZXRob2RfX2ljb24iPgoJCQkJCTxzdmcgdmlld0JveD0iMCAwIDI0IDI0Ij48cmVjdCB4PSIzIiB5PSI0IiB3aWR0aD0iMTgiIGhlaWdodD0iMTYiIHJ4PSIyIi8+PGxpbmUgeDE9IjciIHkxPSI5IiB4Mj0iMTciIHkyPSI5Ii8+PGxpbmUgeDE9IjciIHkxPSIxMyIgeDI9IjE3IiB5Mj0iMTMiLz48bGluZSB4MT0iNyIgeTE9IjE3IiB4Mj0iMTMiIHkyPSIxNyIvPjwvc3ZnPgoJCQkJPC9zcGFuPgoJCQkJPHNwYW4gY2xhc3M9InRmYS1tZXRob2RfX2xhYmVsIj57JG1vZC0+TGFuZygndXNlX2JhY2t1cF9jb2RlJyl9PC9zcGFuPgoJCQkJPHNwYW4gY2xhc3M9InRmYS1tZXRob2RfX2NoZXZyb24iPgoJCQkJCTxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTkgMThsNi02LTYtNiIvPjwvc3ZnPgoJCQkJPC9zcGFuPgoJCQk8L2E+CgkJey9pZn0KCgkJe2lmICR1c2luZ19iYWNrdXAgJiYgaXNzZXQoJHByaW1hcnlfdXJsKX0KCQkJPGEgY2xhc3M9InRmYS1tZXRob2QiIGhyZWY9InskcHJpbWFyeV91cmx9Ij4KCQkJCTxzcGFuIGNsYXNzPSJ0ZmEtbWV0aG9kX19pY29uIj4KCQkJCQk8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTkgMTRsLTQtNCA0LTQiLz48cGF0aCBkPSJNNSAxMGgxMWE0IDQgMCAwIDEgMCA4aC0xIi8+PC9zdmc+CgkJCQk8L3NwYW4+CgkJCQk8c3BhbiBjbGFzcz0idGZhLW1ldGhvZF9fbGFiZWwiPnskbW9kLT5MYW5nKCdiYWNrX3RvX3ByaW1hcnknKX08L3NwYW4+CgkJCQk8c3BhbiBjbGFzcz0idGZhLW1ldGhvZF9fY2hldnJvbiI+CgkJCQkJPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNOSAxOGw2LTYtNi02Ii8+PC9zdmc+CgkJCQk8L3NwYW4+CgkJCTwvYT4KCQl7L2lmfQoJPC9kaXY+CjwvZGl2Pgp7L2lmfQo=]]></data>
	</file>
	<file>
		<filename>/templates/verify_backup_codes.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PCFkb2N0eXBlIGh0bWw+CjxodG1sPgoJPGhlYWQ+CgkJPG1ldGEgY2hhcnNldD0ieyRlbmNvZGluZ30iIC8+CgkJPHRpdGxlPlR3by1GYWN0b3IgQXV0aGVudGljYXRpb24gLSB7c2l0ZW5hbWV9PC90aXRsZT4KCQk8YmFzZSBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9LyIgLz4KCQk8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgsIG5vZm9sbG93IiAvPgoJCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTEuMCBtYXhpbXVtLXNjYWxlPTEuMCB1c2VyLXNjYWxhYmxlPW5vIiAvPgoJCTxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9mYXZpY29uL2Ntc21zLWZhdmljb24uaWNvIi8+CgkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9L2xvZ2luc3R5bGUucGhwIiAvPgoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRtb2RfdXJsfS9hc3NldHMvdHdvZmFjdG9yX3ZlcmlmeS5jc3MiIC8+CgkJe2Ntc19qcXVlcnl9Cgk8L2hlYWQ+Cgk8Ym9keSBpZD0ibG9naW4iPgoJCTxkaXYgaWQ9IndyYXBwZXIiPgoJCQk8ZGl2IGNsYXNzPSJsb2dpbi1jb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0ibG9naW4tYm94IGNmIntpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSAnJ30gaWQ9ImVycm9yInsvaWZ9PgoJCQkJCTxkaXYgY2xhc3M9ImxvZ28iPgoJCQkJCQk8aW1nIHNyYz0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9sYXlvdXQvY21zbXNfbG9naW5fbG9nby5wbmciIHdpZHRoPSIxODAiIGhlaWdodD0iMzYiIGFsdD0iQ01TIE1hZGUgU2ltcGxlJnRyYWRlOyIgLz4KCQkJCQk8L2Rpdj4KCQkJCQk8aGVhZGVyPgoJCQkJCQk8aDE+QmFja3VwIENvZGU8L2gxPgoJCQkJCTwvaGVhZGVyPgoJCQkJCTxwPkVudGVyIG9uZSBvZiB5b3VyIGJhY2t1cCBjb2Rlcy48L3A+CgkJCQkJe2Zvcm1fc3RhcnQgbW9kdWxlPSJUd29GYWN0b3IiIGFjdGlvbj0iZGVmYXVsdCIgdXJsPSRmb3JtX2FjdGlvbn0KCQkJCQkJe3h0X2Zvcm1fY3NyZn0KCQkJCQkJPGZpZWxkc2V0PgoJCQkJCQkJPGxhYmVsIGZvcj0iYXV0aGNvZGUiPkJhY2t1cCBDb2RlPC9sYWJlbD4KCQkJCQkJCTxpbnB1dCBpZD0iYXV0aGNvZGUiIGNsYXNzPSJmb2N1cyIgcGxhY2Vob2xkZXI9Inh4eHh4eHh4IiBuYW1lPSJ7JGFjdGlvbmlkfWF1dGhjb2RlIiB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgdmFsdWU9IiIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9mb2N1c3tpZiBpc3NldCgkbG9ja2VkX3NlY29uZHMpICYmICRsb2NrZWRfc2Vjb25kcyAhPT0gZmFsc2V9IGRpc2FibGVkey9pZn0gLz4KCQkJCQkJCXtpZiAkaXNfcHJvX2FjdGl2ZX0KCQkJCQkJCTxkaXYgc3R5bGU9Im1hcmdpbjogMTBweCAwOyI+CgkJCQkJCQkJPGxhYmVsIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEzcHg7Ij4KCQkJCQkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfXRydXN0X2RldmljZSIgdmFsdWU9IjEie2lmIGlzc2V0KCRsb2NrZWRfc2Vjb25kcykgJiYgJGxvY2tlZF9zZWNvbmRzICE9PSBmYWxzZX0gZGlzYWJsZWR7L2lmfSAvPiBSZW1lbWJlciB0aGlzIGRldmljZSBmb3IgMzAgZGF5cwoJCQkJCQkJCTwvbGFiZWw+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCXsvaWZ9CgkJCQkJCQk8aW5wdXQgY2xhc3M9ImxvZ2luc3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVmVyaWZ5IntpZiBpc3NldCgkbG9ja2VkX3NlY29uZHMpICYmICRsb2NrZWRfc2Vjb25kcyAhPT0gZmFsc2V9IGRpc2FibGVkey9pZn0gLz4KCQkJCQkJPC9maWVsZHNldD4KCQkJCQkJe2lmIGlzc2V0KCRlcnJvcikgJiYgJGVycm9yICE9ICcnfQoJCQkJCQk8ZGl2IGNsYXNzPSJtZXNzYWdlIGVycm9yIiBpZD0iZXJyb3ItbWVzc2FnZSI+CgkJCQkJCQl7JGVycm9yfQoJCQkJCQk8L2Rpdj4KCQkJCQl7L2lmfQoJCQkJCXtmb3JtX2VuZH0KCQkJCQkKCQkJCQl7aWYgaXNzZXQoJGxvY2tlZF9zZWNvbmRzKSAmJiAkbG9ja2VkX3NlY29uZHMgIT09IGZhbHNlfQoJCQkJCQk8c2NyaXB0PgoJCQkJCQl2YXIgY291bnRkb3duID0geyRsb2NrZWRfc2Vjb25kc307CgkJCQkJCXZhciB0aW1lciA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewoJCQkJCQkJY291bnRkb3duLS07CgkJCQkJCQlpZiAoY291bnRkb3duIDw9IDApIHsKCQkJCQkJCQl3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CgkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCXZhciBtaW51dGVzID0gTWF0aC5jZWlsKGNvdW50ZG93biAvIDYwKTsKCQkJCQkJCQl2YXIgc2Vjb25kcyA9IGNvdW50ZG93biAlIDYwOwoJCQkJCQkJCWlmIChjb3VudGRvd24gPCA2MCkgewoJCQkJCQkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItbWVzc2FnZScpLmlubmVySFRNTCA9ICdUb28gbWFueSBmYWlsZWQgYXR0ZW1wdHMuIFBsZWFzZSB0cnkgYWdhaW4gaW4gJyArIGNvdW50ZG93biArICcgc2Vjb25kJyArIChjb3VudGRvd24gPiAxID8gJ3MnIDogJycpICsgJy4nOwoJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlcnJvci1tZXNzYWdlJykuaW5uZXJIVE1MID0gJ1RvbyBtYW55IGZhaWxlZCBhdHRlbXB0cy4gUGxlYXNlIHRyeSBhZ2FpbiBpbiAnICsgbWludXRlcyArICcgbWludXRlJyArIChtaW51dGVzID4gMSA/ICdzJyA6ICcnKSArICcuJzsKCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCX0sIDEwMDApOwoJCQkJCQk8L3NjcmlwdD4KCQkJCQl7L2lmfQoJCQkJCXtpbmNsdWRlIGZpbGU9JG1vZC0+R2V0VGVtcGxhdGVSZXNvdXJjZSgndmVyaWZ5X2FsdF9tZXRob2RzLnRwbCcpfQoJCQkJPC9kaXY+CgkJCQk8Zm9vdGVyPgoJCQkJCTxzbWFsbCBjbGFzcz0iY29weXJpZ2h0Ij5Db3B5cmlnaHQgJmNvcHk7IDxhIHJlbD0iZXh0ZXJuYWwiIGhyZWY9Imh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSZ0cmFkZTs8L2E+PC9zbWFsbD4KCQkJCTwvZm9vdGVyPgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
		<filename>/templates/verify_email.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PCFkb2N0eXBlIGh0bWw+CjxodG1sPgoJPGhlYWQ+CgkJPG1ldGEgY2hhcnNldD0ieyRlbmNvZGluZ30iIC8+CgkJPHRpdGxlPlR3by1GYWN0b3IgQXV0aGVudGljYXRpb24gLSB7c2l0ZW5hbWV9PC90aXRsZT4KCQk8YmFzZSBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9LyIgLz4KCQk8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgsIG5vZm9sbG93IiAvPgoJCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTEuMCBtYXhpbXVtLXNjYWxlPTEuMCB1c2VyLXNjYWxhYmxlPW5vIiAvPgoJCTxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9mYXZpY29uL2Ntc21zLWZhdmljb24uaWNvIi8+CgkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9L2xvZ2luc3R5bGUucGhwIiAvPgoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRtb2RfdXJsfS9hc3NldHMvdHdvZmFjdG9yX3ZlcmlmeS5jc3MiIC8+CgkJe2Ntc19qcXVlcnl9Cgk8L2hlYWQ+Cgk8Ym9keSBpZD0ibG9naW4iPgoJCTxkaXYgaWQ9IndyYXBwZXIiPgoJCQk8ZGl2IGNsYXNzPSJsb2dpbi1jb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0ibG9naW4tYm94IGNmIntpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSAnJ30gaWQ9ImVycm9yInsvaWZ9PgoJCQkJCTxkaXYgY2xhc3M9ImxvZ28iPgoJCQkJCQk8aW1nIHNyYz0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9sYXlvdXQvY21zbXNfbG9naW5fbG9nby5wbmciIHdpZHRoPSIxODAiIGhlaWdodD0iMzYiIGFsdD0iQ01TIE1hZGUgU2ltcGxlJnRyYWRlOyIgLz4KCQkJCQk8L2Rpdj4KCQkJCQk8aGVhZGVyPgoJCQkJCQk8aDE+eyRtb2QtPkxhbmcoJ2VtYWlsX3ZlcmlmaWNhdGlvbl90aXRsZScpfTwvaDE+CgkJCQkJPC9oZWFkZXI+CgkJCQkJPHA+eyRtb2QtPkxhbmcoJ2VtYWlsX3ZlcmlmaWNhdGlvbl9zZW50Jyl9PC9wPgoJCQkJCXtmb3JtX3N0YXJ0IGFjdGlvbj0nZGVmYXVsdCcgbW9kdWxlPSdUd29GYWN0b3InIHVybD0kZm9ybV9hY3Rpb259CgkJCQkJCXt4dF9mb3JtX2NzcmZ9CgkJCQkJCTxmaWVsZHNldD4KCQkJCQkJCTxsYWJlbCBmb3I9ImF1dGhjb2RlIj5WZXJpZmljYXRpb24gQ29kZTwvbGFiZWw+CgkJCQkJCQk8aW5wdXQgaWQ9ImF1dGhjb2RlIiBjbGFzcz0iZm9jdXMiIHBsYWNlaG9sZGVyPSIxMjM0NTYiIG5hbWU9InskYWN0aW9uaWR9YXV0aGNvZGUiIHR5cGU9InRleHQiIGlucHV0bW9kZT0ibnVtZXJpYyIgcGF0dGVybj0iWzAtOV0qIiBzaXplPSIxNSIgdmFsdWU9IiIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9mb2N1c3tpZiBpc3NldCgkbG9ja2VkX3NlY29uZHMpICYmICRsb2NrZWRfc2Vjb25kcyAhPT0gZmFsc2V9IGRpc2FibGVkey9pZn0gLz4KCQkJCQkJCXtpZiAkaXNfcHJvX2FjdGl2ZX0KCQkJCQkJCTxkaXYgc3R5bGU9Im1hcmdpbjogMTBweCAwOyI+CgkJCQkJCQkJPGxhYmVsIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEzcHg7Ij4KCQkJCQkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfXRydXN0X2RldmljZSIgdmFsdWU9IjEie2lmIGlzc2V0KCRsb2NrZWRfc2Vjb25kcykgJiYgJGxvY2tlZF9zZWNvbmRzICE9PSBmYWxzZX0gZGlzYWJsZWR7L2lmfSAvPiB7JG1vZC0+TGFuZygncmVtZW1iZXJfZGV2aWNlJyl9CgkJCQkJCQkJPC9sYWJlbD4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJey9pZn0KCQkJCQkJCTxpbnB1dCBjbGFzcz0ibG9naW5zdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJWZXJpZnkie2lmIGlzc2V0KCRsb2NrZWRfc2Vjb25kcykgJiYgJGxvY2tlZF9zZWNvbmRzICE9PSBmYWxzZX0gZGlzYWJsZWR7L2lmfSAvPgoJCQkJCQk8L2ZpZWxkc2V0PgoJCQkJCXtmb3JtX2VuZH0KCQkJCQkKCQkJCQl7aWYgaXNzZXQoJG1lc3NhZ2UpICYmICRtZXNzYWdlICE9ICcnfQoJCQkJCQk8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiI+CgkJCQkJCQl7JG1lc3NhZ2V9CgkJCQkJCTwvZGl2PgoJCQkJCXsvaWZ9CgkJCQkJe2lmIGlzc2V0KCRlcnJvcikgJiYgJGVycm9yICE9ICcnfQoJCQkJCQk8ZGl2IGNsYXNzPSJtZXNzYWdlIGVycm9yIiBpZD0iZXJyb3ItbWVzc2FnZSI+CgkJCQkJCQl7JGVycm9yfQoJCQkJCQk8L2Rpdj4KCQkJCQl7L2lmfQoJCQkJCXtpZiBpc3NldCgkbG9ja2VkX3NlY29uZHMpICYmICRsb2NrZWRfc2Vjb25kcyAhPT0gZmFsc2V9CgkJCQkJCTxzY3JpcHQ+CgkJCQkJCXtsaXRlcmFsfQoJCQkJCQl2YXIgY291bnRkb3duID0gey9saXRlcmFsfXskbG9ja2VkX3NlY29uZHN9e2xpdGVyYWx9OwoJCQkJCQl2YXIgbXNnU2Vjb25kcyA9ICd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ2FjY291bnRfbG9ja2VkX3NlY29uZHMnKX17bGl0ZXJhbH0nOwoJCQkJCQl2YXIgbXNnTWludXRlcyA9ICd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ2FjY291bnRfbG9ja2VkX21pbnV0ZXMnKX17bGl0ZXJhbH0nOwoJCQkJCQl2YXIgdGltZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKCQkJCQkJCWNvdW50ZG93bi0tOwoJCQkJCQkJaWYgKGNvdW50ZG93biA8PSAwKSB7CgkJCQkJCQkJd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQl2YXIgbWludXRlcyA9IE1hdGguY2VpbChjb3VudGRvd24gLyA2MCk7CgkJCQkJCQkJdmFyIG1zZzsKCQkJCQkJCQlpZiAoY291bnRkb3duIDwgNjApIHsKCQkJCQkJCQkJbXNnID0gbXNnU2Vjb25kcy5yZXBsYWNlKCclZCcsIGNvdW50ZG93bikucmVwbGFjZSgnJXMnLCBjb3VudGRvd24gPiAxID8gJ3MnIDogJycpOwoJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCW1zZyA9IG1zZ01pbnV0ZXMucmVwbGFjZSgnJWQnLCBtaW51dGVzKS5yZXBsYWNlKCclcycsIG1pbnV0ZXMgPiAxID8gJ3MnIDogJycpOwoJCQkJCQkJCX0KCQkJCQkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItbWVzc2FnZScpLmlubmVySFRNTCA9IG1zZzsKCQkJCQkJCX0KCQkJCQkJfSwgMTAwMCk7CgkJCQkJCXsvbGl0ZXJhbH0KCQkJCQkJPC9zY3JpcHQ+CgkJCQkJey9pZn0KCQkJCQl7aWYgIWlzc2V0KCRsb2NrZWRfc2Vjb25kcykgfHwgJGxvY2tlZF9zZWNvbmRzID09PSBmYWxzZX0KCQkJCQkJPHAgY2xhc3M9ImZvcmdvdHB3Ij4KCQkJCQkJCTxhIGhyZWY9InskcmVzZW5kX3VybH0iPnskbW9kLT5MYW5nKCdyZXNlbmRfdmVyaWZpY2F0aW9uX2NvZGUnKX08L2E+ICZuYnNwOwoJCQkJCQk8L3A+CgkJCQkJey9pZn0KCQkJCQl7aW5jbHVkZSBmaWxlPSRtb2QtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ3ZlcmlmeV9hbHRfbWV0aG9kcy50cGwnKX0KCQkJCTwvZGl2PgoJCQkJPGZvb3Rlcj4KCQkJCQk8c21hbGwgY2xhc3M9ImNvcHlyaWdodCI+Q29weXJpZ2h0ICZjb3B5OyA8YSByZWw9ImV4dGVybmFsIiBocmVmPSJodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUmdHJhZGU7PC9hPjwvc21hbGw+CgkJCQk8L2Zvb3Rlcj4KCQkJPC9kaXY+CgkJPC9kaXY+Cgk8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
		<filename>/templates/verify_passkey.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PCFkb2N0eXBlIGh0bWw+CjxodG1sPgoJPGhlYWQ+CgkJPG1ldGEgY2hhcnNldD0ieyRlbmNvZGluZ30iIC8+CgkJPHRpdGxlPlR3by1GYWN0b3IgQXV0aGVudGljYXRpb24gLSB7c2l0ZW5hbWV9PC90aXRsZT4KCQk8YmFzZSBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9LyIgLz4KCQk8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgsIG5vZm9sbG93IiAvPgoJCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTEuMCBtYXhpbXVtLXNjYWxlPTEuMCB1c2VyLXNjYWxhYmxlPW5vIiAvPgoJCTxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9mYXZpY29uL2Ntc21zLWZhdmljb24uaWNvIi8+CgkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9L2xvZ2luc3R5bGUucGhwIiAvPgoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRtb2RfdXJsfS9hc3NldHMvdHdvZmFjdG9yX3ZlcmlmeS5jc3MiIC8+CgkJe2Ntc19qcXVlcnl9CgkJPHN0eWxlPgoJCQkucGFzc2tleS1pY29uIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCBhdXRvIDEwcHg7IH0KCQkJI3Bhc3NrZXktcHJvbXB0IHsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAxNXB4IDA7IH0KCQkJI3Bhc3NrZXktc3RhdHVzIHsgY29sb3I6ICM2NjY7IGZvbnQtc2l6ZTogMTNweDsgbWluLWhlaWdodDogMjBweDsgfQoJCQkjcGFzc2tleS1zdGF0dXMuc3RhdHVzLWVycm9yIHsgY29sb3I6ICNjMDA7IH0KCQkJI2J0bi1yZXRyeS1wYXNza2V5IHsgbWFyZ2luLXRvcDogMTBweDsgfQoJCTwvc3R5bGU+Cgk8L2hlYWQ+Cgk8Ym9keSBpZD0ibG9naW4iPgoJCTxkaXYgaWQ9IndyYXBwZXIiPgoJCQk8ZGl2IGNsYXNzPSJsb2dpbi1jb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0ibG9naW4tYm94IGNmIntpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSAnJ30gaWQ9ImVycm9yInsvaWZ9PgoJCQkJCTxkaXYgY2xhc3M9ImxvZ28iPgoJCQkJCQk8aW1nIHNyYz0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9sYXlvdXQvY21zbXNfbG9naW5fbG9nby5wbmciIHdpZHRoPSIxODAiIGhlaWdodD0iMzYiIGFsdD0iQ01TIE1hZGUgU2ltcGxlJnRyYWRlOyIgLz4KCQkJCQk8L2Rpdj4KCQkJCQk8aGVhZGVyPgoJCQkJCQk8aDE+eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfdmVyaWZpY2F0aW9uX3RpdGxlJyl9PC9oMT4KCQkJCQk8L2hlYWRlcj4KCgkJCQkJe2Zvcm1fc3RhcnQgYWN0aW9uPSdkZWZhdWx0JyBtb2R1bGU9J1R3b0ZhY3RvcicgdXJsPSRmb3JtX2FjdGlvbn0KCQkJCQkJe3h0X2Zvcm1fY3NyZn0KCQkJCQkJPGZpZWxkc2V0PgoJCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH13ZWJhdXRobl9yZXNwb25zZSIgaWQ9IndlYmF1dGhuX3Jlc3BvbnNlIiB2YWx1ZT0iIiAvPgoJCQkJCQkJPGRpdiBpZD0icGFzc2tleS1wcm9tcHQiPgoJCQkJCQkJCTxpbWcgY2xhc3M9InBhc3NrZXktaWNvbiIgc3JjPSJ7JG1vZF91cmx9L2Fzc2V0cy9jYW5vbmljYWwtcGFzc2tleS1pY29uLnN2ZyIgYWx0PSJQYXNza2V5IiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIC8+CgkJCQkJCQkJPHA+eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfdG91Y2hfcHJvbXB0Jyl9PC9wPgoJCQkJCQkJCTxwIGlkPSJwYXNza2V5LXN0YXR1cyI+PC9wPgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJidG4tcmV0cnktcGFzc2tleSIgY2xhc3M9ImxvZ2luc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Bhc3NrZXlfcmV0cnknKX0iIHN0eWxlPSJkaXNwbGF5Om5vbmU7IiAvPgoJCQkJCQkJPC9kaXY+CgkJCQkJCQl7aWYgJGlzX3Byb19hY3RpdmV9CgkJCQkJCQk8ZGl2IHN0eWxlPSJtYXJnaW46IDEwcHggMDsiPgoJCQkJCQkJCTxsYWJlbCBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxM3B4OyI+CgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH10cnVzdF9kZXZpY2UiIHZhbHVlPSIxIiAvPiB7JG1vZC0+TGFuZygncmVtZW1iZXJfZGV2aWNlJyl9CgkJCQkJCQkJPC9sYWJlbD4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJey9pZn0KCQkJCQkJCTxpbnB1dCBjbGFzcz0ibG9naW5zdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiBpZD0icGFzc2tleS1zdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlZlcmlmeSIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiIC8+CgkJCQkJCTwvZmllbGRzZXQ+CgkJCQkJe2Zvcm1fZW5kfQoKCQkJCQl7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gJyd9CgkJCQkJCTxkaXYgY2xhc3M9Im1lc3NhZ2UgZXJyb3IiIGlkPSJlcnJvci1tZXNzYWdlIj4KCQkJCQkJCXskZXJyb3J9CgkJCQkJCTwvZGl2PgoJCQkJCXsvaWZ9CgoJCQkJCXtpbmNsdWRlIGZpbGU9JG1vZC0+R2V0VGVtcGxhdGVSZXNvdXJjZSgndmVyaWZ5X2FsdF9tZXRob2RzLnRwbCcpfQoJCQkJPC9kaXY+CgkJCQk8Zm9vdGVyPgoJCQkJCTxzbWFsbCBjbGFzcz0iY29weXJpZ2h0Ij5Db3B5cmlnaHQgJmNvcHk7IDxhIHJlbD0iZXh0ZXJuYWwiIGhyZWY9Imh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSZ0cmFkZTs8L2E+PC9zbWFsbD4KCQkJCTwvZm9vdGVyPgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCgkJPHNjcmlwdD4KCQl7bGl0ZXJhbH0KCQkoZnVuY3Rpb24oKSB7CgkJCXZhciB3ZWJhdXRobk9wdGlvbnMgPSB7L2xpdGVyYWx9eyR3ZWJhdXRobl9vcHRpb25zX2pzb259e2xpdGVyYWx9OwoJCQl2YXIgYWN0aW9uSWQgPSAney9saXRlcmFsfXskYWN0aW9uaWR9e2xpdGVyYWx9JzsKCQkJdmFyIHN0YXR1c0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bhc3NrZXktc3RhdHVzJyk7CgkJCXZhciByZXRyeUJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tcmV0cnktcGFzc2tleScpOwoKCQkJZnVuY3Rpb24gYmFzZTY0VXJsVG9CdWZmZXIoYmFzZTY0dXJsKSB7CgkJCQl2YXIgYmFzZTY0ID0gYmFzZTY0dXJsLnJlcGxhY2UoLy0vZywgJysnKS5yZXBsYWNlKC9fL2csICcvJyk7CgkJCQl3aGlsZSAoYmFzZTY0Lmxlbmd0aCAlIDQpIGJhc2U2NCArPSAnPSc7CgkJCQl2YXIgYmluYXJ5ID0gYXRvYihiYXNlNjQpOwoJCQkJdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYmluYXJ5Lmxlbmd0aCk7CgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IGJpbmFyeS5sZW5ndGg7IGkrKykgYnl0ZXNbaV0gPSBiaW5hcnkuY2hhckNvZGVBdChpKTsKCQkJCXJldHVybiBieXRlcy5idWZmZXI7CgkJCX0KCgkJCWZ1bmN0aW9uIGJ1ZmZlclRvQmFzZTY0VXJsKGJ1ZmZlcikgewoJCQkJdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTsKCQkJCXZhciBiaW5hcnkgPSAnJzsKCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBpKyspIGJpbmFyeSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ5dGVzW2ldKTsKCQkJCXJldHVybiBidG9hKGJpbmFyeSkucmVwbGFjZSgvXCsvZywgJy0nKS5yZXBsYWNlKC9cLy9nLCAnXycpLnJlcGxhY2UoLz0rJC8sICcnKTsKCQkJfQoKCQkJZnVuY3Rpb24gc2hvd0Vycm9yKG1zZykgewoJCQkJc3RhdHVzRWwudGV4dENvbnRlbnQgPSBtc2c7CgkJCQlzdGF0dXNFbC5jbGFzc05hbWUgPSAnc3RhdHVzLWVycm9yJzsKCQkJCXJldHJ5QnRuLnN0eWxlLmRpc3BsYXkgPSAnJzsKCQkJfQoKCQkJZnVuY3Rpb24gZG9BdXRoZW50aWNhdGlvbigpIHsKCQkJCXN0YXR1c0VsLnRleHRDb250ZW50ID0gJyc7CgkJCQlzdGF0dXNFbC5jbGFzc05hbWUgPSAnJzsKCQkJCXJldHJ5QnRuLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgoJCQkJdmFyIG9wdHMgPSB7CgkJCQkJY2hhbGxlbmdlOiBiYXNlNjRVcmxUb0J1ZmZlcih3ZWJhdXRobk9wdGlvbnMuY2hhbGxlbmdlKSwKCQkJCQlycElkOiB3ZWJhdXRobk9wdGlvbnMucnBJZCwKCQkJCQl0aW1lb3V0OiB3ZWJhdXRobk9wdGlvbnMudGltZW91dCwKCQkJCQl1c2VyVmVyaWZpY2F0aW9uOiB3ZWJhdXRobk9wdGlvbnMudXNlclZlcmlmaWNhdGlvbgoJCQkJfTsKCgkJCQlpZiAod2ViYXV0aG5PcHRpb25zLmFsbG93Q3JlZGVudGlhbHMpIHsKCQkJCQlvcHRzLmFsbG93Q3JlZGVudGlhbHMgPSBbXTsKCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHdlYmF1dGhuT3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzLmxlbmd0aDsgaSsrKSB7CgkJCQkJCXZhciBjID0gd2ViYXV0aG5PcHRpb25zLmFsbG93Q3JlZGVudGlhbHNbaV07CgkJCQkJCW9wdHMuYWxsb3dDcmVkZW50aWFscy5wdXNoKHsKCQkJCQkJCXR5cGU6IGMudHlwZSwKCQkJCQkJCWlkOiBiYXNlNjRVcmxUb0J1ZmZlcihjLmlkKQoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9CgoJCQkJbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldCh7IHB1YmxpY0tleTogb3B0cyB9KQoJCQkJCS50aGVuKGZ1bmN0aW9uKGFzc2VydGlvbikgewoJCQkJCQlzdGF0dXNFbC50ZXh0Q29udGVudCA9ICd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfdmVyaWZ5aW5nJyl9e2xpdGVyYWx9JzsKCgkJCQkJCXZhciByZXNwb25zZSA9IHsKCQkJCQkJCWlkOiBhc3NlcnRpb24uaWQsCgkJCQkJCQljbGllbnREYXRhSlNPTjogYnVmZmVyVG9CYXNlNjRVcmwoYXNzZXJ0aW9uLnJlc3BvbnNlLmNsaWVudERhdGFKU09OKSwKCQkJCQkJCWF1dGhlbnRpY2F0b3JEYXRhOiBidWZmZXJUb0Jhc2U2NFVybChhc3NlcnRpb24ucmVzcG9uc2UuYXV0aGVudGljYXRvckRhdGEpLAoJCQkJCQkJc2lnbmF0dXJlOiBidWZmZXJUb0Jhc2U2NFVybChhc3NlcnRpb24ucmVzcG9uc2Uuc2lnbmF0dXJlKQoJCQkJCQl9OwoKCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dlYmF1dGhuX3Jlc3BvbnNlJykudmFsdWUgPSBKU09OLnN0cmluZ2lmeShyZXNwb25zZSk7CgkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXNza2V5LXN1Ym1pdCcpLmNsaWNrKCk7CgkJCQkJfSwgZnVuY3Rpb24oZXJyKSB7CgkJCQkJCWlmIChlcnIubmFtZSA9PT0gJ05vdEFsbG93ZWRFcnJvcicpIHsKCQkJCQkJCXNob3dFcnJvcigney9saXRlcmFsfXskbW9kLT5MYW5nKCdwYXNza2V5X2NhbmNlbGxlZCcpfXtsaXRlcmFsfScpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJc2hvd0Vycm9yKCd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfZmFpbGVkJyl9e2xpdGVyYWx9Jyk7CgkJCQkJCX0KCQkJCQl9KTsKCQkJfQoKCQkJaWYgKHdpbmRvdy5QdWJsaWNLZXlDcmVkZW50aWFsKSB7CgkJCQlzZXRUaW1lb3V0KGRvQXV0aGVudGljYXRpb24sIDUwMCk7CgkJCX0gZWxzZSB7CgkJCQlzaG93RXJyb3IoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygncGFzc2tleV91bnN1cHBvcnRlZCcpfXtsaXRlcmFsfScpOwoJCQl9CgoJCQlyZXRyeUJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGRvQXV0aGVudGljYXRpb24pOwoJCX0pKCk7CgkJey9saXRlcmFsfQoJCTwvc2NyaXB0PgoJPC9ib2R5Pgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
		<filename>/templates/verify_passkey_field.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PHAgY2xhc3M9InBhZ2V0ZXh0Ij5Vc2UgeW91ciBwYXNza2V5IHRvIHZlcmlmeSB5b3VyIGlkZW50aXR5LjwvcD4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IndlYmF1dGhuX3Jlc3BvbnNlIiBpZD0id2ViYXV0aG5fcmVzcG9uc2UiIHZhbHVlPSIiIC8+DQo=]]></data>
	</file>
	<file>
		<filename>/templates/verify_security_key.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PCFkb2N0eXBlIGh0bWw+CjxodG1sPgoJPGhlYWQ+CgkJPG1ldGEgY2hhcnNldD0ieyRlbmNvZGluZ30iIC8+CgkJPHRpdGxlPlR3by1GYWN0b3IgQXV0aGVudGljYXRpb24gLSB7c2l0ZW5hbWV9PC90aXRsZT4KCQk8YmFzZSBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9LyIgLz4KCQk8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgsIG5vZm9sbG93IiAvPgoJCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTEuMCBtYXhpbXVtLXNjYWxlPTEuMCB1c2VyLXNjYWxhYmxlPW5vIiAvPgoJCTxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9mYXZpY29uL2Ntc21zLWZhdmljb24uaWNvIi8+CgkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9L2xvZ2luc3R5bGUucGhwIiAvPgoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRtb2RfdXJsfS9hc3NldHMvdHdvZmFjdG9yX3ZlcmlmeS5jc3MiIC8+CgkJe2Ntc19qcXVlcnl9CgkJPHN0eWxlPgoJCQkuc2VjdXJpdHkta2V5LWljb24geyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAwIGF1dG8gMTBweDsgfQoJCQkjc2VjdXJpdHkta2V5LXByb21wdCB7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMTVweCAwOyB9CgkJCSNzZWN1cml0eS1rZXktc3RhdHVzIHsgY29sb3I6ICM2NjY7IGZvbnQtc2l6ZTogMTNweDsgbWluLWhlaWdodDogMjBweDsgfQoJCQkjc2VjdXJpdHkta2V5LXN0YXR1cy5zdGF0dXMtZXJyb3IgeyBjb2xvcjogI2MwMDsgfQoJCQkjYnRuLXJldHJ5LXNlY3VyaXR5LWtleSB7IG1hcmdpbi10b3A6IDEwcHg7IH0KCQk8L3N0eWxlPgoJPC9oZWFkPgoJPGJvZHkgaWQ9ImxvZ2luIj4KCQk8ZGl2IGlkPSJ3cmFwcGVyIj4KCQkJPGRpdiBjbGFzcz0ibG9naW4tY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9ImxvZ2luLWJveCBjZiJ7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gJyd9IGlkPSJlcnJvciJ7L2lmfT4KCQkJCQk8ZGl2IGNsYXNzPSJsb2dvIj4KCQkJCQkJPGltZyBzcmM9InskY29uZmlnLmFkbWluX3VybH0vdGhlbWVzL09uZUVsZXZlbi9pbWFnZXMvbGF5b3V0L2Ntc21zX2xvZ2luX2xvZ28ucG5nIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjM2IiBhbHQ9IkNNUyBNYWRlIFNpbXBsZSZ0cmFkZTsiIC8+CgkJCQkJPC9kaXY+CgkJCQkJPGhlYWRlcj4KCQkJCQkJPGgxPnskbW9kLT5MYW5nKCdzZWN1cml0eV9rZXlfdmVyaWZpY2F0aW9uX3RpdGxlJyl9PC9oMT4KCQkJCQk8L2hlYWRlcj4KCgkJCQkJe2Zvcm1fc3RhcnQgYWN0aW9uPSdkZWZhdWx0JyBtb2R1bGU9J1R3b0ZhY3RvcicgdXJsPSRmb3JtX2FjdGlvbn0KCQkJCQkJe3h0X2Zvcm1fY3NyZn0KCQkJCQkJPGZpZWxkc2V0PgoJCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH13ZWJhdXRobl9yZXNwb25zZSIgaWQ9IndlYmF1dGhuX3Jlc3BvbnNlIiB2YWx1ZT0iIiAvPgoJCQkJCQkJPGRpdiBpZD0ic2VjdXJpdHkta2V5LXByb21wdCI+CgkJCQkJCQkJPGltZyBjbGFzcz0ic2VjdXJpdHkta2V5LWljb24iIHNyYz0ieyRtb2RfdXJsfS9hc3NldHMvY2Fub25pY2FsLXBhc3NrZXktaWNvbi5zdmciIGFsdD0iU2VjdXJpdHkgS2V5IiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIC8+CgkJCQkJCQkJPHA+eyRtb2QtPkxhbmcoJ3NlY3VyaXR5X2tleV90b3VjaF9wcm9tcHQnKX08L3A+CgkJCQkJCQkJPHAgaWQ9InNlY3VyaXR5LWtleS1zdGF0dXMiPjwvcD4KCQkJCQkJCQk8aW5wdXQgdHlwZT0iYnV0dG9uIiBpZD0iYnRuLXJldHJ5LXNlY3VyaXR5LWtleSIgY2xhc3M9ImxvZ2luc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Bhc3NrZXlfcmV0cnknKX0iIHN0eWxlPSJkaXNwbGF5Om5vbmU7IiAvPgoJCQkJCQkJPC9kaXY+CgkJCQkJCQl7aWYgJGlzX3Byb19hY3RpdmV9CgkJCQkJCQk8ZGl2IHN0eWxlPSJtYXJnaW46IDEwcHggMDsiPgoJCQkJCQkJCTxsYWJlbCBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxM3B4OyI+CgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH10cnVzdF9kZXZpY2UiIHZhbHVlPSIxIiAvPiB7JG1vZC0+TGFuZygncmVtZW1iZXJfZGV2aWNlJyl9CgkJCQkJCQkJPC9sYWJlbD4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJey9pZn0KCQkJCQkJCTxpbnB1dCBjbGFzcz0ibG9naW5zdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiBpZD0ic2VjdXJpdHkta2V5LXN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVmVyaWZ5IiBzdHlsZT0iZGlzcGxheTpub25lOyIgLz4KCQkJCQkJPC9maWVsZHNldD4KCQkJCQl7Zm9ybV9lbmR9CgoJCQkJCXtpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSAnJ30KCQkJCQkJPGRpdiBjbGFzcz0ibWVzc2FnZSBlcnJvciIgaWQ9ImVycm9yLW1lc3NhZ2UiPgoJCQkJCQkJeyRlcnJvcn0KCQkJCQkJPC9kaXY+CgkJCQkJey9pZn0KCgkJCQkJe2luY2x1ZGUgZmlsZT0kbW9kLT5HZXRUZW1wbGF0ZVJlc291cmNlKCd2ZXJpZnlfYWx0X21ldGhvZHMudHBsJyl9CgkJCQk8L2Rpdj4KCQkJCTxmb290ZXI+CgkJCQkJPHNtYWxsIGNsYXNzPSJjb3B5cmlnaHQiPkNvcHlyaWdodCAmY29weTsgPGEgcmVsPSJleHRlcm5hbCIgaHJlZj0iaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlJnRyYWRlOzwvYT48L3NtYWxsPgoJCQkJPC9mb290ZXI+CgkJCTwvZGl2PgoJCTwvZGl2PgoKCQk8c2NyaXB0PgoJCXtsaXRlcmFsfQoJCShmdW5jdGlvbigpIHsKCQkJdmFyIHdlYmF1dGhuT3B0aW9ucyA9IHsvbGl0ZXJhbH17JHdlYmF1dGhuX29wdGlvbnNfanNvbn17bGl0ZXJhbH07CgkJCXZhciBhY3Rpb25JZCA9ICd7L2xpdGVyYWx9eyRhY3Rpb25pZH17bGl0ZXJhbH0nOwoJCQl2YXIgc3RhdHVzRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VjdXJpdHkta2V5LXN0YXR1cycpOwoJCQl2YXIgcmV0cnlCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLXJldHJ5LXNlY3VyaXR5LWtleScpOwoKCQkJZnVuY3Rpb24gYmFzZTY0VXJsVG9CdWZmZXIoYmFzZTY0dXJsKSB7CgkJCQl2YXIgYmFzZTY0ID0gYmFzZTY0dXJsLnJlcGxhY2UoLy0vZywgJysnKS5yZXBsYWNlKC9fL2csICcvJyk7CgkJCQl3aGlsZSAoYmFzZTY0Lmxlbmd0aCAlIDQpIGJhc2U2NCArPSAnPSc7CgkJCQl2YXIgYmluYXJ5ID0gYXRvYihiYXNlNjQpOwoJCQkJdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYmluYXJ5Lmxlbmd0aCk7CgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IGJpbmFyeS5sZW5ndGg7IGkrKykgYnl0ZXNbaV0gPSBiaW5hcnkuY2hhckNvZGVBdChpKTsKCQkJCXJldHVybiBieXRlcy5idWZmZXI7CgkJCX0KCgkJCWZ1bmN0aW9uIGJ1ZmZlclRvQmFzZTY0VXJsKGJ1ZmZlcikgewoJCQkJdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTsKCQkJCXZhciBiaW5hcnkgPSAnJzsKCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBpKyspIGJpbmFyeSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ5dGVzW2ldKTsKCQkJCXJldHVybiBidG9hKGJpbmFyeSkucmVwbGFjZSgvXCsvZywgJy0nKS5yZXBsYWNlKC9cLy9nLCAnXycpLnJlcGxhY2UoLz0rJC8sICcnKTsKCQkJfQoKCQkJZnVuY3Rpb24gc2hvd0Vycm9yKG1zZykgewoJCQkJc3RhdHVzRWwudGV4dENvbnRlbnQgPSBtc2c7CgkJCQlzdGF0dXNFbC5jbGFzc05hbWUgPSAnc3RhdHVzLWVycm9yJzsKCQkJCXJldHJ5QnRuLnN0eWxlLmRpc3BsYXkgPSAnJzsKCQkJfQoKCQkJZnVuY3Rpb24gZG9BdXRoZW50aWNhdGlvbigpIHsKCQkJCXN0YXR1c0VsLnRleHRDb250ZW50ID0gJyc7CgkJCQlzdGF0dXNFbC5jbGFzc05hbWUgPSAnJzsKCQkJCXJldHJ5QnRuLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgoJCQkJdmFyIG9wdHMgPSB7CgkJCQkJY2hhbGxlbmdlOiBiYXNlNjRVcmxUb0J1ZmZlcih3ZWJhdXRobk9wdGlvbnMuY2hhbGxlbmdlKSwKCQkJCQlycElkOiB3ZWJhdXRobk9wdGlvbnMucnBJZCwKCQkJCQl0aW1lb3V0OiB3ZWJhdXRobk9wdGlvbnMudGltZW91dCwKCQkJCQl1c2VyVmVyaWZpY2F0aW9uOiB3ZWJhdXRobk9wdGlvbnMudXNlclZlcmlmaWNhdGlvbgoJCQkJfTsKCgkJCQlpZiAod2ViYXV0aG5PcHRpb25zLmFsbG93Q3JlZGVudGlhbHMpIHsKCQkJCQlvcHRzLmFsbG93Q3JlZGVudGlhbHMgPSBbXTsKCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHdlYmF1dGhuT3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzLmxlbmd0aDsgaSsrKSB7CgkJCQkJCXZhciBjID0gd2ViYXV0aG5PcHRpb25zLmFsbG93Q3JlZGVudGlhbHNbaV07CgkJCQkJCW9wdHMuYWxsb3dDcmVkZW50aWFscy5wdXNoKHsKCQkJCQkJCXR5cGU6IGMudHlwZSwKCQkJCQkJCWlkOiBiYXNlNjRVcmxUb0J1ZmZlcihjLmlkKSwKCQkJCQkJCXRyYW5zcG9ydHM6IGMudHJhbnNwb3J0cyB8fCBbJ3VzYicsICduZmMnLCAnYmxlJ10KCQkJCQkJfSk7CgkJCQkJfQoJCQkJfQoKCQkJCW5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoeyBwdWJsaWNLZXk6IG9wdHMgfSkKCQkJCQkudGhlbihmdW5jdGlvbihhc3NlcnRpb24pIHsKCQkJCQkJc3RhdHVzRWwudGV4dENvbnRlbnQgPSAney9saXRlcmFsfXskbW9kLT5MYW5nKCdwYXNza2V5X3ZlcmlmeWluZycpfXtsaXRlcmFsfSc7CgoJCQkJCQl2YXIgcmVzcG9uc2UgPSB7CgkJCQkJCQlpZDogYXNzZXJ0aW9uLmlkLAoJCQkJCQkJY2xpZW50RGF0YUpTT046IGJ1ZmZlclRvQmFzZTY0VXJsKGFzc2VydGlvbi5yZXNwb25zZS5jbGllbnREYXRhSlNPTiksCgkJCQkJCQlhdXRoZW50aWNhdG9yRGF0YTogYnVmZmVyVG9CYXNlNjRVcmwoYXNzZXJ0aW9uLnJlc3BvbnNlLmF1dGhlbnRpY2F0b3JEYXRhKSwKCQkJCQkJCXNpZ25hdHVyZTogYnVmZmVyVG9CYXNlNjRVcmwoYXNzZXJ0aW9uLnJlc3BvbnNlLnNpZ25hdHVyZSkKCQkJCQkJfTsKCgkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3ZWJhdXRobl9yZXNwb25zZScpLnZhbHVlID0gSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpOwoJCQkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VjdXJpdHkta2V5LXN1Ym1pdCcpLmNsaWNrKCk7CgkJCQkJfSwgZnVuY3Rpb24oZXJyKSB7CgkJCQkJCWlmIChlcnIubmFtZSA9PT0gJ05vdEFsbG93ZWRFcnJvcicpIHsKCQkJCQkJCXNob3dFcnJvcigney9saXRlcmFsfXskbW9kLT5MYW5nKCdzZWN1cml0eV9rZXlfY2FuY2VsbGVkJyl9e2xpdGVyYWx9Jyk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlzaG93RXJyb3IoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygnc2VjdXJpdHlfa2V5X2ZhaWxlZCcpfXtsaXRlcmFsfScpOwoJCQkJCQl9CgkJCQkJfSk7CgkJCX0KCgkJCWlmICh3aW5kb3cuUHVibGljS2V5Q3JlZGVudGlhbCkgewoJCQkJc2V0VGltZW91dChkb0F1dGhlbnRpY2F0aW9uLCA1MDApOwoJCQl9IGVsc2UgewoJCQkJc2hvd0Vycm9yKCd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ3Bhc3NrZXlfdW5zdXBwb3J0ZWQnKX17bGl0ZXJhbH0nKTsKCQkJfQoKCQkJcmV0cnlCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBkb0F1dGhlbnRpY2F0aW9uKTsKCQl9KSgpOwoJCXsvbGl0ZXJhbH0KCQk8L3NjcmlwdD4KCTwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
		<filename>/templates/verify_sms.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PCFkb2N0eXBlIGh0bWw+CjxodG1sPgoJPGhlYWQ+CgkJPG1ldGEgY2hhcnNldD0ieyRlbmNvZGluZ30iIC8+CgkJPHRpdGxlPlR3by1GYWN0b3IgQXV0aGVudGljYXRpb24gLSB7c2l0ZW5hbWV9PC90aXRsZT4KCQk8YmFzZSBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9LyIgLz4KCQk8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgsIG5vZm9sbG93IiAvPgoJCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTEuMCBtYXhpbXVtLXNjYWxlPTEuMCB1c2VyLXNjYWxhYmxlPW5vIiAvPgoJCTxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9mYXZpY29uL2Ntc21zLWZhdmljb24uaWNvIi8+CgkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9L2xvZ2luc3R5bGUucGhwIiAvPgoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRtb2RfdXJsfS9hc3NldHMvdHdvZmFjdG9yX3ZlcmlmeS5jc3MiIC8+CgkJe2Ntc19qcXVlcnl9Cgk8L2hlYWQ+Cgk8Ym9keSBpZD0ibG9naW4iPgoJCTxkaXYgaWQ9IndyYXBwZXIiPgoJCQk8ZGl2IGNsYXNzPSJsb2dpbi1jb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0ibG9naW4tYm94IGNmIntpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSAnJ30gaWQ9ImVycm9yInsvaWZ9PgoJCQkJCTxkaXYgY2xhc3M9ImxvZ28iPgoJCQkJCQk8aW1nIHNyYz0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9sYXlvdXQvY21zbXNfbG9naW5fbG9nby5wbmciIHdpZHRoPSIxODAiIGhlaWdodD0iMzYiIGFsdD0iQ01TIE1hZGUgU2ltcGxlJnRyYWRlOyIgLz4KCQkJCQk8L2Rpdj4KCQkJCQk8aGVhZGVyPgoJCQkJCQk8aDE+eyRtb2QtPkxhbmcoJ3Ntc192ZXJpZmljYXRpb25fdGl0bGUnKX08L2gxPgoJCQkJCTwvaGVhZGVyPgoJCQkJCTxwPnskbW9kLT5MYW5nKCdzbXNfdmVyaWZpY2F0aW9uX3NlbnQnKX08L3A+CgkJCQkJe2Zvcm1fc3RhcnQgYWN0aW9uPSdkZWZhdWx0JyBtb2R1bGU9J1R3b0ZhY3RvcicgdXJsPSRmb3JtX2FjdGlvbn0KCQkJCQkJe3h0X2Zvcm1fY3NyZn0KCQkJCQkJPGZpZWxkc2V0PgoJCQkJCQkJPGxhYmVsIGZvcj0iYXV0aGNvZGUiPnskbW9kLT5MYW5nKCd2ZXJpZmljYXRpb25fY29kZV9sYWJlbCcpfTwvbGFiZWw+CgkJCQkJCQk8aW5wdXQgaWQ9ImF1dGhjb2RlIiBjbGFzcz0iZm9jdXMiIHBsYWNlaG9sZGVyPSIxMjM0NTYiIG5hbWU9InskYWN0aW9uaWR9YXV0aGNvZGUiIHR5cGU9InRleHQiIGlucHV0bW9kZT0ibnVtZXJpYyIgcGF0dGVybj0iWzAtOV0qIiBzaXplPSIxNSIgdmFsdWU9IiIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9mb2N1c3tpZiBpc3NldCgkbG9ja2VkX3NlY29uZHMpICYmICRsb2NrZWRfc2Vjb25kcyAhPT0gZmFsc2V9IGRpc2FibGVkey9pZn0gLz4KCQkJCQkJCXtpZiAkaXNfcHJvX2FjdGl2ZX0KCQkJCQkJCTxkaXYgc3R5bGU9Im1hcmdpbjogMTBweCAwOyI+CgkJCQkJCQkJPGxhYmVsIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDEzcHg7Ij4KCQkJCQkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfXRydXN0X2RldmljZSIgdmFsdWU9IjEie2lmIGlzc2V0KCRsb2NrZWRfc2Vjb25kcykgJiYgJGxvY2tlZF9zZWNvbmRzICE9PSBmYWxzZX0gZGlzYWJsZWR7L2lmfSAvPiB7JG1vZC0+TGFuZygncmVtZW1iZXJfZGV2aWNlJyl9CgkJCQkJCQkJPC9sYWJlbD4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJey9pZn0KCQkJCQkJCTxpbnB1dCBjbGFzcz0ibG9naW5zdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJWZXJpZnkie2lmIGlzc2V0KCRsb2NrZWRfc2Vjb25kcykgJiYgJGxvY2tlZF9zZWNvbmRzICE9PSBmYWxzZX0gZGlzYWJsZWR7L2lmfSAvPgoJCQkJCQk8L2ZpZWxkc2V0PgoJCQkJCXtmb3JtX2VuZH0KCQkJCQl7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gJyd9CgkJCQkJCTxkaXYgY2xhc3M9Im1lc3NhZ2UgZXJyb3IiIGlkPSJlcnJvci1tZXNzYWdlIj4KCQkJCQkJCXskZXJyb3J9CgkJCQkJCTwvZGl2PgoJCQkJCXsvaWZ9CgkJCQkJe2lmIGlzc2V0KCRsb2NrZWRfc2Vjb25kcykgJiYgJGxvY2tlZF9zZWNvbmRzICE9PSBmYWxzZX0KCQkJCQkJPHNjcmlwdD4KCQkJCQkJe2xpdGVyYWx9CgkJCQkJCXZhciBjb3VudGRvd24gPSB7L2xpdGVyYWx9eyRsb2NrZWRfc2Vjb25kc317bGl0ZXJhbH07CgkJCQkJCXZhciBtc2dTZWNvbmRzID0gJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygnYWNjb3VudF9sb2NrZWRfc2Vjb25kcycpfXtsaXRlcmFsfSc7CgkJCQkJCXZhciBtc2dNaW51dGVzID0gJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygnYWNjb3VudF9sb2NrZWRfbWludXRlcycpfXtsaXRlcmFsfSc7CgkJCQkJCXZhciB0aW1lciA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewoJCQkJCQkJY291bnRkb3duLS07CgkJCQkJCQlpZiAoY291bnRkb3duIDw9IDApIHsKCQkJCQkJCQl3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CgkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCXZhciBtaW51dGVzID0gTWF0aC5jZWlsKGNvdW50ZG93biAvIDYwKTsKCQkJCQkJCQl2YXIgbXNnOwoJCQkJCQkJCWlmIChjb3VudGRvd24gPCA2MCkgewoJCQkJCQkJCQltc2cgPSBtc2dTZWNvbmRzLnJlcGxhY2UoJyVkJywgY291bnRkb3duKS5yZXBsYWNlKCclcycsIGNvdW50ZG93biA+IDEgPyAncycgOiAnJyk7CgkJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQkJbXNnID0gbXNnTWludXRlcy5yZXBsYWNlKCclZCcsIG1pbnV0ZXMpLnJlcGxhY2UoJyVzJywgbWludXRlcyA+IDEgPyAncycgOiAnJyk7CgkJCQkJCQkJfQoJCQkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlcnJvci1tZXNzYWdlJykuaW5uZXJIVE1MID0gbXNnOwoJCQkJCQkJfQoJCQkJCQl9LCAxMDAwKTsKCQkJCQkJey9saXRlcmFsfQoJCQkJCQk8L3NjcmlwdD4KCQkJCQl7L2lmfQoJCQkJCXtpZiAhaXNzZXQoJGxvY2tlZF9zZWNvbmRzKSB8fCAkbG9ja2VkX3NlY29uZHMgPT09IGZhbHNlfQoJCQkJCQk8cCBjbGFzcz0iZm9yZ290cHciPgoJCQkJCQkJPGEgaHJlZj0ieyRyZXNlbmRfdXJsfSI+eyRtb2QtPkxhbmcoJ3Jlc2VuZF92ZXJpZmljYXRpb25fY29kZScpfTwvYT4gJm5ic3A7CgkJCQkJCTwvcD4KCQkJCQl7L2lmfQoJCQkJCXtpbmNsdWRlIGZpbGU9JG1vZC0+R2V0VGVtcGxhdGVSZXNvdXJjZSgndmVyaWZ5X2FsdF9tZXRob2RzLnRwbCcpfQoJCQkJPC9kaXY+CgkJCQk8Zm9vdGVyPgoJCQkJCTxzbWFsbCBjbGFzcz0iY29weXJpZ2h0Ij5Db3B5cmlnaHQgJmNvcHk7IDxhIHJlbD0iZXh0ZXJuYWwiIGhyZWY9Imh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSZ0cmFkZTs8L2E+PC9zbWFsbD4KCQkJCTwvZm9vdGVyPgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
		<filename>/templates/verify_totp.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[PCFkb2N0eXBlIGh0bWw+CjxodG1sPgoJPGhlYWQ+CgkJPG1ldGEgY2hhcnNldD0ieyRlbmNvZGluZ30iIC8+CgkJPHRpdGxlPlR3by1GYWN0b3IgQXV0aGVudGljYXRpb24gLSB7c2l0ZW5hbWV9PC90aXRsZT4KCQk8YmFzZSBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9LyIgLz4KCQk8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgsIG5vZm9sbG93IiAvPgoJCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTEuMCBtYXhpbXVtLXNjYWxlPTEuMCB1c2VyLXNjYWxhYmxlPW5vIiAvPgoJCTxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9mYXZpY29uL2Ntc21zLWZhdmljb24uaWNvIi8+CgkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JGNvbmZpZy5hZG1pbl91cmx9L2xvZ2luc3R5bGUucGhwIiAvPgoJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRtb2RfdXJsfS9hc3NldHMvdHdvZmFjdG9yX3ZlcmlmeS5jc3MiIC8+CgkJe2Ntc19qcXVlcnl9Cgk8L2hlYWQ+Cgk8Ym9keSBpZD0ibG9naW4iPgoJCTxkaXYgaWQ9IndyYXBwZXIiPgoJCQk8ZGl2IGNsYXNzPSJsb2dpbi1jb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0ibG9naW4tYm94IGNmIntpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSAnJ30gaWQ9ImVycm9yInsvaWZ9PgoJCQkJCTxkaXYgY2xhc3M9ImxvZ28iPgoJCQkJCQk8aW1nIHNyYz0ieyRjb25maWcuYWRtaW5fdXJsfS90aGVtZXMvT25lRWxldmVuL2ltYWdlcy9sYXlvdXQvY21zbXNfbG9naW5fbG9nby5wbmciIHdpZHRoPSIxODAiIGhlaWdodD0iMzYiIGFsdD0iQ01TIE1hZGUgU2ltcGxlJnRyYWRlOyIgLz4KCQkJCQk8L2Rpdj4KCQkJCQk8aGVhZGVyPgoJCQkJCQk8aDE+eyRtb2QtPkxhbmcoJ3RvdHBfdmVyaWZpY2F0aW9uX3RpdGxlJyl9PC9oMT4KCQkJCQk8L2hlYWRlcj4KCQkJCQl7Zm9ybV9zdGFydCBhY3Rpb249J2RlZmF1bHQnIG1vZHVsZT0nVHdvRmFjdG9yJyB1cmw9JGZvcm1fYWN0aW9ufQoJCQkJCQl7eHRfZm9ybV9jc3JmfQoJCQkJCQk8ZmllbGRzZXQ+CgkJCQkJCQk8bGFiZWwgZm9yPSJhdXRoY29kZSI+eyRtb2QtPkxhbmcoJ3ZlcmlmaWNhdGlvbl9jb2RlX2xhYmVsJyl9PC9sYWJlbD4KCQkJCQkJCTxpbnB1dCBpZD0iYXV0aGNvZGUiIGNsYXNzPSJmb2N1cyIgcGxhY2Vob2xkZXI9IjEyMyA0NTYiIG5hbWU9InskYWN0aW9uaWR9YXV0aGNvZGUiIHR5cGU9InRleHQiIGlucHV0bW9kZT0ibnVtZXJpYyIgcGF0dGVybj0iWzAtOSBdKiIgc2l6ZT0iMTUiIHZhbHVlPSIiIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvZm9jdXN7aWYgaXNzZXQoJGxvY2tlZF9zZWNvbmRzKSAmJiAkbG9ja2VkX3NlY29uZHMgIT09IGZhbHNlfSBkaXNhYmxlZHsvaWZ9IC8+CgkJCQkJCQl7aWYgJGlzX3Byb19hY3RpdmV9CgkJCQkJCQk8ZGl2IHN0eWxlPSJtYXJnaW46IDEwcHggMDsiPgoJCQkJCQkJCTxsYWJlbCBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiAxM3B4OyI+CgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH10cnVzdF9kZXZpY2UiIHZhbHVlPSIxIntpZiBpc3NldCgkbG9ja2VkX3NlY29uZHMpICYmICRsb2NrZWRfc2Vjb25kcyAhPT0gZmFsc2V9IGRpc2FibGVkey9pZn0gLz4geyRtb2QtPkxhbmcoJ3JlbWVtYmVyX2RldmljZScpfQoJCQkJCQkJCTwvbGFiZWw+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCXsvaWZ9CgkJCQkJCQk8aW5wdXQgY2xhc3M9ImxvZ2luc3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVmVyaWZ5IntpZiBpc3NldCgkbG9ja2VkX3NlY29uZHMpICYmICRsb2NrZWRfc2Vjb25kcyAhPT0gZmFsc2V9IGRpc2FibGVkey9pZn0gLz4KCQkJCQkJPC9maWVsZHNldD4KCQkJCQl7Zm9ybV9lbmR9CgkJCQkJe2lmIGlzc2V0KCRlcnJvcikgJiYgJGVycm9yICE9ICcnfQoJCQkJCQk8ZGl2IGNsYXNzPSJtZXNzYWdlIGVycm9yIiBpZD0iZXJyb3ItbWVzc2FnZSI+CgkJCQkJCQl7JGVycm9yfQoJCQkJCQk8L2Rpdj4KCQkJCQl7L2lmfQoJCQkJCXtpZiBpc3NldCgkbG9ja2VkX3NlY29uZHMpICYmICRsb2NrZWRfc2Vjb25kcyAhPT0gZmFsc2V9CgkJCQkJCTxzY3JpcHQ+CgkJCQkJCXtsaXRlcmFsfQoJCQkJCQl2YXIgY291bnRkb3duID0gey9saXRlcmFsfXskbG9ja2VkX3NlY29uZHN9e2xpdGVyYWx9OwoJCQkJCQl2YXIgbXNnU2Vjb25kcyA9ICd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ2FjY291bnRfbG9ja2VkX3NlY29uZHMnKX17bGl0ZXJhbH0nOwoJCQkJCQl2YXIgbXNnTWludXRlcyA9ICd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ2FjY291bnRfbG9ja2VkX21pbnV0ZXMnKX17bGl0ZXJhbH0nOwoJCQkJCQl2YXIgdGltZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKCQkJCQkJCWNvdW50ZG93bi0tOwoJCQkJCQkJaWYgKGNvdW50ZG93biA8PSAwKSB7CgkJCQkJCQkJd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQl2YXIgbWludXRlcyA9IE1hdGguY2VpbChjb3VudGRvd24gLyA2MCk7CgkJCQkJCQkJdmFyIG1zZzsKCQkJCQkJCQlpZiAoY291bnRkb3duIDwgNjApIHsKCQkJCQkJCQkJbXNnID0gbXNnU2Vjb25kcy5yZXBsYWNlKCclZCcsIGNvdW50ZG93bikucmVwbGFjZSgnJXMnLCBjb3VudGRvd24gPiAxID8gJ3MnIDogJycpOwoJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCW1zZyA9IG1zZ01pbnV0ZXMucmVwbGFjZSgnJWQnLCBtaW51dGVzKS5yZXBsYWNlKCclcycsIG1pbnV0ZXMgPiAxID8gJ3MnIDogJycpOwoJCQkJCQkJCX0KCQkJCQkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItbWVzc2FnZScpLmlubmVySFRNTCA9IG1zZzsKCQkJCQkJCX0KCQkJCQkJfSwgMTAwMCk7CgkJCQkJCXsvbGl0ZXJhbH0KCQkJCQkJPC9zY3JpcHQ+CgkJCQkJey9pZn0KCQkJCQl7aW5jbHVkZSBmaWxlPSRtb2QtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ3ZlcmlmeV9hbHRfbWV0aG9kcy50cGwnKX0KCQkJCTwvZGl2PgoJCQkJPGZvb3Rlcj4KCQkJCQk8c21hbGwgY2xhc3M9ImNvcHlyaWdodCI+Q29weXJpZ2h0ICZjb3B5OyA8YSByZWw9ImV4dGVybmFsIiBocmVmPSJodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUmdHJhZGU7PC9hPjwvc21hbGw+CgkJCQk8L2Zvb3Rlcj4KCQkJPC9kaXY+CgkJPC9kaXY+Cgk8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
		<filename>/templates/verify_totp_field.tpl</filename>
		<isdir>0</isdir>
		<data><![CDATA[eyogVHdvRmFjdG9yOiBUT1RQIGF1dGhlbnRpY2F0aW9uIGlucHV0IGZpZWxkLCByZW5kZXJlZCBmcm9tIHRoZSBwcm92aWRlcidzCiAgIGF1dGhlbnRpY2F0aW9uX3BhZ2UoKSBpbnN0ZWFkIG9mIGVjaG9pbmcgSFRNTCBkaXJlY3RseS4gKn0KPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW50ZXJfYXV0aGVudGljYXRvcl9jb2RlJyl9PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij4KCTxsYWJlbCBmb3I9ImF1dGhjb2RlIj57JG1vZC0+TGFuZygnYXV0aGVudGljYXRpb25fY29kZScpfTo8L2xhYmVsPjxici8+Cgk8aW5wdXQgdHlwZT0idGV4dCIgaW5wdXRtb2RlPSJudW1lcmljIiBuYW1lPSJhdXRoY29kZSIgaWQ9ImF1dGhjb2RlIgoJCWNsYXNzPSJpbnB1dCIgdmFsdWU9IiIgc2l6ZT0iMjAiIHBhdHRlcm49IlswLTkgXSoiCgkJcGxhY2Vob2xkZXI9IjEyMyA0NTYiIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvZm9jdXMgLz4KPC9wPgo=]]></data>
	</file>
	<file>
		<filename>/vendor</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/vendor/robthree</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/LICENSE</filename>
		<isdir>0</isdir>
		<data><![CDATA[VGhlIE1JVCBMaWNlbnNlIChNSVQpCgpDb3B5cmlnaHQgKGMpIDIwMTQtMjAyMSBSb2IgSmFuc3NlbiBhbmQgY29udHJpYnV0b3JzCgpQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5Cm9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsCmluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbApjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbApjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCkZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQpBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCk9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFClNPRlRXQVJFLgoK]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Algorithm.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGg7CgovKioKICogTGlzdCBvZiBzdXBwb3J0ZWQgY3J5cHRvZ3JhcGhpYyBhbGdvcml0aG1zCiAqLwplbnVtIEFsZ29yaXRobTogc3RyaW5nCnsKICAgIGNhc2UgTWQ1ID0gJ21kNSc7CiAgICBjYXNlIFNoYTEgPSAnc2hhMSc7CiAgICBjYXNlIFNoYTI1NiA9ICdzaGEyNTYnOwogICAgY2FzZSBTaGE1MTIgPSAnc2hhNTEyJzsKfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/BaconQrCodeProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKdXNlIEJhY29uUXJDb2RlXFJlbmRlcmVyXENvbG9yXFJnYjsKdXNlIEJhY29uUXJDb2RlXFJlbmRlcmVyXEltYWdlXEVwc0ltYWdlQmFja0VuZDsKdXNlIEJhY29uUXJDb2RlXFJlbmRlcmVyXEltYWdlXEltYWdlQmFja0VuZEludGVyZmFjZTsKdXNlIEJhY29uUXJDb2RlXFJlbmRlcmVyXEltYWdlXEltYWdpY2tJbWFnZUJhY2tFbmQ7CnVzZSBCYWNvblFyQ29kZVxSZW5kZXJlclxJbWFnZVxTdmdJbWFnZUJhY2tFbmQ7CnVzZSBCYWNvblFyQ29kZVxSZW5kZXJlclxJbWFnZVJlbmRlcmVyOwp1c2UgQmFjb25RckNvZGVcUmVuZGVyZXJcUmVuZGVyZXJTdHlsZVxFeWVGaWxsOwp1c2UgQmFjb25RckNvZGVcUmVuZGVyZXJcUmVuZGVyZXJTdHlsZVxGaWxsOwp1c2UgQmFjb25RckNvZGVcUmVuZGVyZXJcUmVuZGVyZXJTdHlsZVxSZW5kZXJlclN0eWxlOwp1c2UgQmFjb25RckNvZGVcV3JpdGVyOwp1c2UgUnVudGltZUV4Y2VwdGlvbjsKCmNsYXNzIEJhY29uUXJDb2RlUHJvdmlkZXIgaW1wbGVtZW50cyBJUVJDb2RlUHJvdmlkZXIKewogICAgLyoqCiAgICAgKiBFbnN1cmUgd2UgdXNpbmcgdGhlIGxhdGVzdCBCYWNvbiBRUiBDb2RlIGFuZCBzcGVjaWZ5IGRlZmF1bHQgb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoCiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnQgJGJvcmRlcldpZHRoID0gNCwKICAgICAgICBwcml2YXRlIHN0cmluZ3xhcnJheSAkYmFja2dyb3VuZENvbG91ciA9ICcjZmZmZmZmJywKICAgICAgICBwcml2YXRlIHN0cmluZ3xhcnJheSAkZm9yZWdyb3VuZENvbG91ciA9ICcjMDAwMDAwJywKICAgICAgICBwcml2YXRlIHN0cmluZyAgICAgICAkZm9ybWF0ID0gJ3BuZycsCiAgICApIHsKICAgICAgICAkdGhpcy0+YmFja2dyb3VuZENvbG91ciA9ICR0aGlzLT5oYW5kbGVDb2xvdXIoJHRoaXMtPmJhY2tncm91bmRDb2xvdXIpOwogICAgICAgICR0aGlzLT5mb3JlZ3JvdW5kQ29sb3VyID0gJHRoaXMtPmhhbmRsZUNvbG91cigkdGhpcy0+Zm9yZWdyb3VuZENvbG91cik7CiAgICAgICAgJHRoaXMtPmZvcm1hdCA9IHN0cnRvbG93ZXIoJHRoaXMtPmZvcm1hdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldE1pbWVUeXBlKCk6IHN0cmluZwogICAgewogICAgICAgIHN3aXRjaCAoJHRoaXMtPmZvcm1hdCkgewogICAgICAgICAgICBjYXNlICdwbmcnOgogICAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZS9wbmcnOwogICAgICAgICAgICBjYXNlICdnaWYnOgogICAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZS9naWYnOwogICAgICAgICAgICBjYXNlICdqcGcnOgogICAgICAgICAgICBjYXNlICdqcGVnJzoKICAgICAgICAgICAgICAgIHJldHVybiAnaW1hZ2UvanBlZyc7CiAgICAgICAgICAgIGNhc2UgJ3N2Zyc6CiAgICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlL3N2Zyt4bWwnOwogICAgICAgICAgICBjYXNlICdlcHMnOgogICAgICAgICAgICAgICAgcmV0dXJuICdhcHBsaWNhdGlvbi9wb3N0c2NyaXB0JzsKICAgICAgICB9CgogICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKHNwcmludGYoJ1Vua25vd24gTUlNRS10eXBlOiAlcycsICR0aGlzLT5mb3JtYXQpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UVJDb2RlSW1hZ2Uoc3RyaW5nICRxclRleHQsIGludCAkc2l6ZSk6IHN0cmluZwogICAgewogICAgICAgICRiYWNrZW5kID0gbWF0Y2ggKCR0aGlzLT5mb3JtYXQpIHsKICAgICAgICAgICAgJ3N2ZycgPT4gbmV3IFN2Z0ltYWdlQmFja0VuZCgpLAogICAgICAgICAgICAnZXBzJyA9PiBuZXcgRXBzSW1hZ2VCYWNrRW5kKCksCiAgICAgICAgICAgIGRlZmF1bHQgPT4gbmV3IEltYWdpY2tJbWFnZUJhY2tFbmQoJHRoaXMtPmZvcm1hdCksCiAgICAgICAgfTsKCiAgICAgICAgJG91dHB1dCA9ICR0aGlzLT5nZXRRUkNvZGVCeUJhY2tlbmQoJHFyVGV4dCwgJHNpemUsICRiYWNrZW5kKTsKCiAgICAgICAgaWYgKCR0aGlzLT5mb3JtYXQgPT09ICdzdmcnKSB7CiAgICAgICAgICAgICRzdmcgPSBleHBsb2RlKCJcbiIsICRvdXRwdXQpOwogICAgICAgICAgICByZXR1cm4gJHN2Z1sxXTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkb3V0cHV0OwogICAgfQoKICAgIC8qKgogICAgICogQWJzdHJhY3QgUVIgY29kZSBnZW5lcmF0aW9uIGZ1bmN0aW9uCiAgICAgKiBwcm92aWRpbmcgY29sb3VyIGNoYW5naW5nIHN1cHBvcnQKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRRUkNvZGVCeUJhY2tlbmQoJHFyVGV4dCwgJHNpemUsIEltYWdlQmFja0VuZEludGVyZmFjZSAkYmFja2VuZCkKICAgIHsKICAgICAgICAkcmVuZGVyZXJTdHlsZUFyZ3MgPSBhcnJheSgkc2l6ZSwgJHRoaXMtPmJvcmRlcldpZHRoKTsKCiAgICAgICAgaWYgKGlzX2FycmF5KCR0aGlzLT5mb3JlZ3JvdW5kQ29sb3VyKSAmJiBpc19hcnJheSgkdGhpcy0+YmFja2dyb3VuZENvbG91cikpIHsKICAgICAgICAgICAgJHJlbmRlcmVyU3R5bGVBcmdzID0gYXJyYXkoLi4uJHJlbmRlcmVyU3R5bGVBcmdzLCAuLi5hcnJheSgKICAgICAgICAgICAgICAgIG51bGwsCiAgICAgICAgICAgICAgICBudWxsLAogICAgICAgICAgICAgICAgRmlsbDo6d2l0aEZvcmVncm91bmRDb2xvcigKICAgICAgICAgICAgICAgICAgICBuZXcgUmdiKC4uLiR0aGlzLT5iYWNrZ3JvdW5kQ29sb3VyKSwKICAgICAgICAgICAgICAgICAgICBuZXcgUmdiKC4uLiR0aGlzLT5mb3JlZ3JvdW5kQ29sb3VyKSwKICAgICAgICAgICAgICAgICAgICBuZXcgRXllRmlsbChudWxsLCBudWxsKSwKICAgICAgICAgICAgICAgICAgICBuZXcgRXllRmlsbChudWxsLCBudWxsKSwKICAgICAgICAgICAgICAgICAgICBuZXcgRXllRmlsbChudWxsLCBudWxsKQogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKSk7CiAgICAgICAgfQoKICAgICAgICAkd3JpdGVyID0gbmV3IFdyaXRlcihuZXcgSW1hZ2VSZW5kZXJlcigKICAgICAgICAgICAgbmV3IFJlbmRlcmVyU3R5bGUoLi4uJHJlbmRlcmVyU3R5bGVBcmdzKSwKICAgICAgICAgICAgJGJhY2tlbmQKICAgICAgICApKTsKCiAgICAgICAgcmV0dXJuICR3cml0ZXItPndyaXRlU3RyaW5nKCRxclRleHQpOwogICAgfQoKICAgIC8qKgogICAgICogRW5zdXJlIGNvbG91ciBpcyBhbiBhcnJheSBvZiB0aHJlZSB2YWx1ZXMgYnV0IGFsc28KICAgICAqIGFjY2VwdCBhIHN0cmluZyBhbmQgYXNzdW1lIGl0cyBhIDMgb3IgNiBjaGFyYWN0ZXIgaGV4CiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gaGFuZGxlQ29sb3VyKGFycmF5fHN0cmluZyAkY29sb3VyKTogYXJyYXl8c3RyaW5nCiAgICB7CiAgICAgICAgaWYgKGlzX3N0cmluZygkY29sb3VyKSAmJiAkY29sb3VyWzBdID09ICcjJykgewogICAgICAgICAgICAkaGV4VG9SR0IgPSBzdGF0aWMgZnVuY3Rpb24gKCRpbnB1dCkgewogICAgICAgICAgICAgICAgLy8gZW5zdXJlIGlucHV0IG5vIGxvbmdlciBoYXMgYSAjIGZvciBtb3JlIHByZWRpY3RhYmxlIGRpdmlzaW9uCiAgICAgICAgICAgICAgICAvLyBQSFAgOC4xIGRvZXMgbm90IGxpa2UgaW1wbGljaXRseSBjYXN0aW5nIGEgZmxvYXQgdG8gYW4gaW50CiAgICAgICAgICAgICAgICAkaW5wdXQgPSB0cmltKCRpbnB1dCwgJyMnKTsKCiAgICAgICAgICAgICAgICBpZiAoc3RybGVuKCRpbnB1dCkgIT0gMyAmJiBzdHJsZW4oJGlucHV0KSAhPSA2KSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oJ0NvbG91ciBzaG91bGQgYmUgYSAzIG9yIDYgY2hhcmFjdGVyIHZhbHVlIGFmdGVyIHRoZSAjJyk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gc3BsaXQgdGhlIGFycmF5IGludG8gdGhyZWUgY2h1bmtzCiAgICAgICAgICAgICAgICAkc3BsaXQgPSBzdHJfc3BsaXQoJGlucHV0LCBzdHJsZW4oJGlucHV0KSAvIDMpOwoKICAgICAgICAgICAgICAgIC8vIGNvcGUgd2l0aCB0aHJlZSBjaGFyYWN0ZXIgaGV4IHJlZmVyZW5jZQogICAgICAgICAgICAgICAgaWYgKHN0cmxlbigkaW5wdXQpID09IDMpIHsKICAgICAgICAgICAgICAgICAgICBhcnJheV93YWxrKCRzcGxpdCwgc3RhdGljIGZ1bmN0aW9uICgmJGNoYXJhY3RlcikgewogICAgICAgICAgICAgICAgICAgICAgICAkY2hhcmFjdGVyID0gc3RyX3JlcGVhdCgkY2hhcmFjdGVyLCAyKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBjb252ZXJ0IGhleCB0byByZ2IKICAgICAgICAgICAgICAgIHJldHVybiBhcnJheV9tYXAoJ2hleGRlYycsICRzcGxpdCk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICByZXR1cm4gJGhleFRvUkdCKCRjb2xvdXIpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGlzX2FycmF5KCRjb2xvdXIpICYmIGNvdW50KCRjb2xvdXIpID09IDMpIHsKICAgICAgICAgICAgcmV0dXJuICRjb2xvdXI7CiAgICAgICAgfQoKICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbignSW52YWxpZCBjb2xvdXIgdmFsdWUnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/BaseHTTPQRCodeProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKYWJzdHJhY3QgY2xhc3MgQmFzZUhUVFBRUkNvZGVQcm92aWRlciBpbXBsZW1lbnRzIElRUkNvZGVQcm92aWRlcgp7CiAgICBwcm90ZWN0ZWQgYm9vbCAkdmVyaWZ5c3NsOwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRDb250ZW50KHN0cmluZyAkdXJsKTogc3RyaW5nfGJvb2wKICAgIHsKICAgICAgICAkY3VybGhhbmRsZSA9IGN1cmxfaW5pdCgpOwoKICAgICAgICBjdXJsX3NldG9wdF9hcnJheSgkY3VybGhhbmRsZSwgYXJyYXkoCiAgICAgICAgICAgIENVUkxPUFRfVVJMID0+ICR1cmwsCiAgICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gdHJ1ZSwKICAgICAgICAgICAgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCA9PiAxMCwKICAgICAgICAgICAgQ1VSTE9QVF9ETlNfQ0FDSEVfVElNRU9VVCA9PiAxMCwKICAgICAgICAgICAgQ1VSTE9QVF9USU1FT1VUID0+IDEwLAogICAgICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllQRUVSID0+ICR0aGlzLT52ZXJpZnlzc2wsCiAgICAgICAgICAgIENVUkxPUFRfVVNFUkFHRU5UID0+ICdUd29GYWN0b3JBdXRoJywKICAgICAgICApKTsKICAgICAgICAkZGF0YSA9IGN1cmxfZXhlYygkY3VybGhhbmRsZSk7CgogICAgICAgIGN1cmxfY2xvc2UoJGN1cmxoYW5kbGUpOwogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/EndroidQrCodeProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKdXNlIEVuZHJvaWRcUXJDb2RlXENvbG9yXENvbG9yOwp1c2UgRW5kcm9pZFxRckNvZGVcRXJyb3JDb3JyZWN0aW9uTGV2ZWw7CnVzZSBFbmRyb2lkXFFyQ29kZVxFcnJvckNvcnJlY3Rpb25MZXZlbFxFcnJvckNvcnJlY3Rpb25MZXZlbEhpZ2g7CnVzZSBFbmRyb2lkXFFyQ29kZVxFcnJvckNvcnJlY3Rpb25MZXZlbFxFcnJvckNvcnJlY3Rpb25MZXZlbEludGVyZmFjZTsKdXNlIEVuZHJvaWRcUXJDb2RlXEVycm9yQ29ycmVjdGlvbkxldmVsXEVycm9yQ29ycmVjdGlvbkxldmVsTG93Owp1c2UgRW5kcm9pZFxRckNvZGVcRXJyb3JDb3JyZWN0aW9uTGV2ZWxcRXJyb3JDb3JyZWN0aW9uTGV2ZWxNZWRpdW07CnVzZSBFbmRyb2lkXFFyQ29kZVxFcnJvckNvcnJlY3Rpb25MZXZlbFxFcnJvckNvcnJlY3Rpb25MZXZlbFF1YXJ0aWxlOwp1c2UgRW5kcm9pZFxRckNvZGVcUXJDb2RlOwp1c2UgRW5kcm9pZFxRckNvZGVcV3JpdGVyXFBuZ1dyaXRlcjsKCmNsYXNzIEVuZHJvaWRRckNvZGVQcm92aWRlciBpbXBsZW1lbnRzIElRUkNvZGVQcm92aWRlcgp7CiAgICBwdWJsaWMgJGJnY29sb3I7CgogICAgcHVibGljICRjb2xvcjsKCiAgICBwdWJsaWMgJG1hcmdpbjsKCiAgICBwdWJsaWMgJGVycm9yY29ycmVjdGlvbmxldmVsOwoKICAgIHByb3RlY3RlZCAkZW5kcm9pZDQgPSBmYWxzZTsKCiAgICBwcm90ZWN0ZWQgJGVuZHJvaWQ1ID0gZmFsc2U7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRiZ2NvbG9yID0gJ2ZmZmZmZicsICRjb2xvciA9ICcwMDAwMDAnLCAkbWFyZ2luID0gMCwgJGVycm9yY29ycmVjdGlvbmxldmVsID0gJ0gnKQogICAgewogICAgICAgICR0aGlzLT5lbmRyb2lkNCA9IG1ldGhvZF9leGlzdHMoUXJDb2RlOjpjbGFzcywgJ2NyZWF0ZScpOwogICAgICAgICR0aGlzLT5lbmRyb2lkNSA9IGVudW1fZXhpc3RzKEVycm9yQ29ycmVjdGlvbkxldmVsOjpjbGFzcyk7CgogICAgICAgICR0aGlzLT5iZ2NvbG9yID0gJHRoaXMtPmhhbmRsZUNvbG9yKCRiZ2NvbG9yKTsKICAgICAgICAkdGhpcy0+Y29sb3IgPSAkdGhpcy0+aGFuZGxlQ29sb3IoJGNvbG9yKTsKICAgICAgICAkdGhpcy0+bWFyZ2luID0gJG1hcmdpbjsKICAgICAgICAkdGhpcy0+ZXJyb3Jjb3JyZWN0aW9ubGV2ZWwgPSAkdGhpcy0+aGFuZGxlRXJyb3JDb3JyZWN0aW9uTGV2ZWwoJGVycm9yY29ycmVjdGlvbmxldmVsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWltZVR5cGUoKTogc3RyaW5nCiAgICB7CiAgICAgICAgcmV0dXJuICdpbWFnZS9wbmcnOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRRUkNvZGVJbWFnZShzdHJpbmcgJHFyVGV4dCwgaW50ICRzaXplKTogc3RyaW5nCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+ZW5kcm9pZDQpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5xckNvZGVJbnN0YW5jZSgkcXJUZXh0LCAkc2l6ZSktPndyaXRlU3RyaW5nKCk7CiAgICAgICAgfQoKICAgICAgICAkd3JpdGVyID0gbmV3IFBuZ1dyaXRlcigpOwogICAgICAgIHJldHVybiAkd3JpdGVyLT53cml0ZSgkdGhpcy0+cXJDb2RlSW5zdGFuY2UoJHFyVGV4dCwgJHNpemUpKS0+Z2V0U3RyaW5nKCk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHFyQ29kZUluc3RhbmNlKHN0cmluZyAkcXJUZXh0LCBpbnQgJHNpemUpOiBRckNvZGUKICAgIHsKICAgICAgICAkcXJDb2RlID0gbmV3IFFyQ29kZSgkcXJUZXh0KTsKICAgICAgICAkcXJDb2RlLT5zZXRTaXplKCRzaXplKTsKCiAgICAgICAgJHFyQ29kZS0+c2V0RXJyb3JDb3JyZWN0aW9uTGV2ZWwoJHRoaXMtPmVycm9yY29ycmVjdGlvbmxldmVsKTsKICAgICAgICAkcXJDb2RlLT5zZXRNYXJnaW4oJHRoaXMtPm1hcmdpbik7CiAgICAgICAgJHFyQ29kZS0+c2V0QmFja2dyb3VuZENvbG9yKCR0aGlzLT5iZ2NvbG9yKTsKICAgICAgICAkcXJDb2RlLT5zZXRGb3JlZ3JvdW5kQ29sb3IoJHRoaXMtPmNvbG9yKTsKCiAgICAgICAgcmV0dXJuICRxckNvZGU7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBoYW5kbGVDb2xvcihzdHJpbmcgJGNvbG9yKTogQ29sb3J8YXJyYXkKICAgIHsKICAgICAgICAkc3BsaXQgPSBzdHJfc3BsaXQoJGNvbG9yLCAyKTsKICAgICAgICAkciA9IGhleGRlYygkc3BsaXRbMF0pOwogICAgICAgICRnID0gaGV4ZGVjKCRzcGxpdFsxXSk7CiAgICAgICAgJGIgPSBoZXhkZWMoJHNwbGl0WzJdKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5lbmRyb2lkNCA/IG5ldyBDb2xvcigkciwgJGcsICRiLCAwKSA6IGFycmF5KCdyJyA9PiAkciwgJ2cnID0+ICRnLCAnYicgPT4gJGIsICdhJyA9PiAwKTsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGhhbmRsZUVycm9yQ29ycmVjdGlvbkxldmVsKHN0cmluZyAkbGV2ZWwpOiBFcnJvckNvcnJlY3Rpb25MZXZlbEludGVyZmFjZXxFcnJvckNvcnJlY3Rpb25MZXZlbAogICAgewogICAgICAgIC8vIEZpcnN0IGNoZWNrIGZvciB2ZXJzaW9uIDUgKHVzaW5nIGVudW1zKQogICAgICAgIGlmICgkdGhpcy0+ZW5kcm9pZDUpIHsKICAgICAgICAgICAgcmV0dXJuIG1hdGNoICgkbGV2ZWwpIHsKICAgICAgICAgICAgICAgICdMJyA9PiBFcnJvckNvcnJlY3Rpb25MZXZlbDo6TG93LAogICAgICAgICAgICAgICAgJ00nID0+IEVycm9yQ29ycmVjdGlvbkxldmVsOjpNZWRpdW0sCiAgICAgICAgICAgICAgICAnUScgPT4gRXJyb3JDb3JyZWN0aW9uTGV2ZWw6OlF1YXJ0aWxlLAogICAgICAgICAgICAgICAgZGVmYXVsdCA9PiBFcnJvckNvcnJlY3Rpb25MZXZlbDo6SGlnaCwKICAgICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgIC8vIElmIG5vdCBjaGVjayBmb3IgdmVyc2lvbiA0ICh1c2luZyBjbGFzc2VzKQogICAgICAgIGlmICgkdGhpcy0+ZW5kcm9pZDQpIHsKICAgICAgICAgICAgcmV0dXJuIG1hdGNoICgkbGV2ZWwpIHsKICAgICAgICAgICAgICAgICdMJyA9PiBuZXcgRXJyb3JDb3JyZWN0aW9uTGV2ZWxMb3coKSwKICAgICAgICAgICAgICAgICdNJyA9PiBuZXcgRXJyb3JDb3JyZWN0aW9uTGV2ZWxNZWRpdW0oKSwKICAgICAgICAgICAgICAgICdRJyA9PiBuZXcgRXJyb3JDb3JyZWN0aW9uTGV2ZWxRdWFydGlsZSgpLAogICAgICAgICAgICAgICAgZGVmYXVsdCA9PiBuZXcgRXJyb3JDb3JyZWN0aW9uTGV2ZWxIaWdoKCksCiAgICAgICAgICAgIH07CiAgICAgICAgfQoKICAgICAgICAvLyBBbnkgb3RoZXIgdmVyc2lvbiB3aWxsIGJlIHVzaW5nIHN0cmluZ3MKICAgICAgICByZXR1cm4gbWF0Y2ggKCRsZXZlbCkgewogICAgICAgICAgICAnTCcgPT4gRXJyb3JDb3JyZWN0aW9uTGV2ZWw6OkxPVygpLAogICAgICAgICAgICAnTScgPT4gRXJyb3JDb3JyZWN0aW9uTGV2ZWw6Ok1FRElVTSgpLAogICAgICAgICAgICAnUScgPT4gRXJyb3JDb3JyZWN0aW9uTGV2ZWw6OlFVQVJUSUxFKCksCiAgICAgICAgICAgIGRlZmF1bHQgPT4gRXJyb3JDb3JyZWN0aW9uTGV2ZWw6OkhJR0goKSwKICAgICAgICB9OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/EndroidQrCodeWithLogoProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKdXNlIEVuZHJvaWRcUXJDb2RlXExvZ29cTG9nbzsKdXNlIEVuZHJvaWRcUXJDb2RlXFFyQ29kZTsKdXNlIEVuZHJvaWRcUXJDb2RlXFdyaXRlclxQbmdXcml0ZXI7CgpjbGFzcyBFbmRyb2lkUXJDb2RlV2l0aExvZ29Qcm92aWRlciBleHRlbmRzIEVuZHJvaWRRckNvZGVQcm92aWRlcgp7CiAgICBwcm90ZWN0ZWQgJGxvZ29QYXRoOwoKICAgIHByb3RlY3RlZCAkbG9nb1NpemU7CgogICAgLyoqCiAgICAgKiBBZGRzIGFuIGltYWdlIHRvIHRoZSBtaWRkbGUgb2YgdGhlIFFSIENvZGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoIFBhdGggdG8gYW4gaW1hZ2UgZmlsZQogICAgICogQHBhcmFtIGFycmF5fGludCAkc2l6ZSBKdXN0IHRoZSB3aWR0aCwgb3IgW3dpZHRoLCBoZWlnaHRdCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRMb2dvKCRwYXRoLCAkc2l6ZSA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPmxvZ29QYXRoID0gJHBhdGg7CiAgICAgICAgJHRoaXMtPmxvZ29TaXplID0gKGFycmF5KSRzaXplOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRRUkNvZGVJbWFnZShzdHJpbmcgJHFyVGV4dCwgaW50ICRzaXplKTogc3RyaW5nCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+ZW5kcm9pZDQpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5xckNvZGVJbnN0YW5jZSgkcXJUZXh0LCAkc2l6ZSktPndyaXRlU3RyaW5nKCk7CiAgICAgICAgfQoKICAgICAgICAkbG9nbyA9IG51bGw7CiAgICAgICAgaWYgKCR0aGlzLT5sb2dvUGF0aCkgewogICAgICAgICAgICAkbG9nbyA9IExvZ286OmNyZWF0ZSgkdGhpcy0+bG9nb1BhdGgpOwogICAgICAgICAgICBpZiAoJHRoaXMtPmxvZ29TaXplKSB7CiAgICAgICAgICAgICAgICAkbG9nby0+c2V0UmVzaXplVG9XaWR0aCgkdGhpcy0+bG9nb1NpemVbMF0pOwogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5sb2dvU2l6ZVsxXSkpIHsKICAgICAgICAgICAgICAgICAgICAkbG9nby0+c2V0UmVzaXplVG9IZWlnaHQoJHRoaXMtPmxvZ29TaXplWzFdKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkd3JpdGVyID0gbmV3IFBuZ1dyaXRlcigpOwogICAgICAgIHJldHVybiAkd3JpdGVyLT53cml0ZSgkdGhpcy0+cXJDb2RlSW5zdGFuY2UoJHFyVGV4dCwgJHNpemUpLCAkbG9nbyktPmdldFN0cmluZygpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBxckNvZGVJbnN0YW5jZShzdHJpbmcgJHFyVGV4dCwgaW50ICRzaXplKTogUXJDb2RlCiAgICB7CiAgICAgICAgJHFyQ29kZSA9IHBhcmVudDo6cXJDb2RlSW5zdGFuY2UoJHFyVGV4dCwgJHNpemUpOwoKICAgICAgICBpZiAoISR0aGlzLT5lbmRyb2lkNCAmJiAkdGhpcy0+bG9nb1BhdGgpIHsKICAgICAgICAgICAgJHFyQ29kZS0+c2V0TG9nb1BhdGgoJHRoaXMtPmxvZ29QYXRoKTsKICAgICAgICAgICAgaWYgKCR0aGlzLT5sb2dvU2l6ZSkgewogICAgICAgICAgICAgICAgJHFyQ29kZS0+c2V0TG9nb1NpemUoJHRoaXMtPmxvZ29TaXplWzBdLCAkdGhpcy0+bG9nb1NpemVbMV0gPz8gbnVsbCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkcXJDb2RlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/GoogleChartsQrCodeProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKLy8gaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vY2hhcnQvaW5mb2dyYXBoaWNzL2RvY3MvcXJfY29kZXMKY2xhc3MgR29vZ2xlQ2hhcnRzUXJDb2RlUHJvdmlkZXIgZXh0ZW5kcyBCYXNlSFRUUFFSQ29kZVByb3ZpZGVyCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChwcm90ZWN0ZWQgYm9vbCAkdmVyaWZ5c3NsID0gZmFsc2UsIHB1YmxpYyBzdHJpbmcgJGVycm9yY29ycmVjdGlvbmxldmVsID0gJ0wnLCBwdWJsaWMgaW50ICRtYXJnaW4gPSA0LCBwdWJsaWMgc3RyaW5nICRlbmNvZGluZyA9ICdVVEYtOCcpCiAgICB7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldE1pbWVUeXBlKCk6IHN0cmluZwogICAgewogICAgICAgIHJldHVybiAnaW1hZ2UvcG5nJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UVJDb2RlSW1hZ2Uoc3RyaW5nICRxclRleHQsIGludCAkc2l6ZSk6IHN0cmluZwogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0Q29udGVudCgkdGhpcy0+Z2V0VXJsKCRxclRleHQsICRzaXplKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFVybChzdHJpbmcgJHFyVGV4dCwgaW50ICRzaXplKTogc3RyaW5nCiAgICB7CiAgICAgICAgJHF1ZXJ5UGFyYW1ldGVycyA9IGFycmF5KAogICAgICAgICAgICAnY2hzJyA9PiAkc2l6ZSAuICd4JyAuICRzaXplLAogICAgICAgICAgICAnY2hsZCcgPT4gc3RydG91cHBlcigkdGhpcy0+ZXJyb3Jjb3JyZWN0aW9ubGV2ZWwpIC4gJ3wnIC4gJHRoaXMtPm1hcmdpbiwKICAgICAgICAgICAgJ2NodCcgPT4gJ3FyJywKICAgICAgICAgICAgJ2Nob2UnID0+ICR0aGlzLT5lbmNvZGluZywKICAgICAgICAgICAgJ2NobCcgPT4gJHFyVGV4dCwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJ2h0dHBzOi8vY2hhcnQuZ29vZ2xlYXBpcy5jb20vY2hhcnQ/JyAuIGh0dHBfYnVpbGRfcXVlcnkoJHF1ZXJ5UGFyYW1ldGVycyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/HandlesDataUri.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKdXNlIGZ1bmN0aW9uIGJhc2U2NF9kZWNvZGU7CnVzZSBmdW5jdGlvbiBwcmVnX21hdGNoOwoKdHJhaXQgSGFuZGxlc0RhdGFVcmkKewogICAgLyoqCiAgICAgKiBAcmV0dXJuIGFycmF5PHN0cmluZywgc3RyaW5nPnxudWxsCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gRGVjb2RlRGF0YVVyaShzdHJpbmcgJGRhdGF1cmkpOiA/YXJyYXkKICAgIHsKICAgICAgICBpZiAocHJlZ19tYXRjaCgnL2RhdGE6KD9QPG1pbWV0eXBlPltcd1wuXC1cK1wvXSspOyg/UDxlbmNvZGluZz5cdyspLCg/UDxkYXRhPi4qKS8nLCAkZGF0YXVyaSwgJG0pID09PSAxKSB7CiAgICAgICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgICAgICdtaW1ldHlwZScgPT4gJG1bJ21pbWV0eXBlJ10sCiAgICAgICAgICAgICAgICAnZW5jb2RpbmcnID0+ICRtWydlbmNvZGluZyddLAogICAgICAgICAgICAgICAgJ2RhdGEnID0+IGJhc2U2NF9kZWNvZGUoJG1bJ2RhdGEnXSwgdHJ1ZSksCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/IQRCodeProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKaW50ZXJmYWNlIElRUkNvZGVQcm92aWRlcgp7CiAgICAvKioKICAgICAqIEdlbmVyYXRlIGFuZCByZXR1cm4gdGhlIFFSIGNvZGUgdG8gZW1iZWQgaW4gYSB3ZWIgcGFnZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHFyVGV4dCB0aGUgdmFsdWUgdG8gZW5jb2RlIGluIHRoZSBRUiBjb2RlCiAgICAgKiBAcGFyYW0gaW50ICRzaXplIHRoZSBkZXNpcmVkIHNpemUgb2YgdGhlIFFSIGNvZGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBmaWxlIGNvbnRlbnRzIG9mIHRoZSBRUiBjb2RlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRRUkNvZGVJbWFnZShzdHJpbmcgJHFyVGV4dCwgaW50ICRzaXplKTogc3RyaW5nOwoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgbWltZSB0eXBlIGZvciB0aGUgUVIgY29kZQogICAgICogdGhhdCB3aWxsIGJlIGdlbmVyYXRlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWltZVR5cGUoKTogc3RyaW5nOwp9Cg==]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/ImageChartsQRCodeProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKLyoqCiAqIFVzZSBodHRwczovL2ltYWdlLWNoYXJ0cy5jb20gdG8gcHJvdmlkZSBhIFFSIGNvZGUKICovCmNsYXNzIEltYWdlQ2hhcnRzUVJDb2RlUHJvdmlkZXIgZXh0ZW5kcyBCYXNlSFRUUFFSQ29kZVByb3ZpZGVyCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChwcm90ZWN0ZWQgYm9vbCAkdmVyaWZ5c3NsID0gZmFsc2UsIHB1YmxpYyBzdHJpbmcgJGVycm9yY29ycmVjdGlvbmxldmVsID0gJ0wnLCBwdWJsaWMgaW50ICRtYXJnaW4gPSAxKQogICAgewogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNaW1lVHlwZSgpOiBzdHJpbmcKICAgIHsKICAgICAgICByZXR1cm4gJ2ltYWdlL3BuZyc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFFSQ29kZUltYWdlKHN0cmluZyAkcXJUZXh0LCBpbnQgJHNpemUpOiBzdHJpbmcKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldENvbnRlbnQoJHRoaXMtPmdldFVybCgkcXJUZXh0LCAkc2l6ZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVcmwoc3RyaW5nICRxclRleHQsIGludCAkc2l6ZSk6IHN0cmluZwogICAgewogICAgICAgICRxdWVyeVBhcmFtZXRlcnMgPSBhcnJheSgKICAgICAgICAgICAgJ2NodCcgPT4gJ3FyJywKICAgICAgICAgICAgJ2NocycgPT4gY2VpbCgkc2l6ZSAvIDIpIC4gJ3gnIC4gY2VpbCgkc2l6ZSAvIDIpLAogICAgICAgICAgICAnY2hsZCcgPT4gJHRoaXMtPmVycm9yY29ycmVjdGlvbmxldmVsIC4gJ3wnIC4gJHRoaXMtPm1hcmdpbiwKICAgICAgICAgICAgJ2NobCcgPT4gJHFyVGV4dCwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJ2h0dHBzOi8vaW1hZ2UtY2hhcnRzLmNvbS9jaGFydD8nIC4gaHR0cF9idWlsZF9xdWVyeSgkcXVlcnlQYXJhbWV0ZXJzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/QRException.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKdXNlIFJvYlRocmVlXEF1dGhcVHdvRmFjdG9yQXV0aEV4Y2VwdGlvbjsKCmNsYXNzIFFSRXhjZXB0aW9uIGV4dGVuZHMgVHdvRmFjdG9yQXV0aEV4Y2VwdGlvbgp7Cn0K]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/QRServerProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKLyoqCiAqIFVzZSBodHRwOi8vZ29xci5tZS9hcGkvZG9jL2NyZWF0ZS1xci1jb2RlLyB0byBnZXQgUVIgY29kZQogKi8KY2xhc3MgUVJTZXJ2ZXJQcm92aWRlciBleHRlbmRzIEJhc2VIVFRQUVJDb2RlUHJvdmlkZXIKewogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KHByb3RlY3RlZCBib29sICR2ZXJpZnlzc2wgPSBmYWxzZSwgcHVibGljIHN0cmluZyAkZXJyb3Jjb3JyZWN0aW9ubGV2ZWwgPSAnTCcsIHB1YmxpYyBpbnQgJG1hcmdpbiA9IDQsIHB1YmxpYyBpbnQgJHF6b25lID0gMSwgcHVibGljIHN0cmluZyAkYmdjb2xvciA9ICdmZmZmZmYnLCBwdWJsaWMgc3RyaW5nICRjb2xvciA9ICcwMDAwMDAnLCBwdWJsaWMgc3RyaW5nICRmb3JtYXQgPSAncG5nJykKICAgIHsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWltZVR5cGUoKTogc3RyaW5nCiAgICB7CiAgICAgICAgc3dpdGNoIChzdHJ0b2xvd2VyKCR0aGlzLT5mb3JtYXQpKSB7CiAgICAgICAgICAgIGNhc2UgJ3BuZyc6CiAgICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlL3BuZyc7CiAgICAgICAgICAgIGNhc2UgJ2dpZic6CiAgICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlL2dpZic7CiAgICAgICAgICAgIGNhc2UgJ2pwZyc6CiAgICAgICAgICAgIGNhc2UgJ2pwZWcnOgogICAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJzsKICAgICAgICAgICAgY2FzZSAnc3ZnJzoKICAgICAgICAgICAgICAgIHJldHVybiAnaW1hZ2Uvc3ZnK3htbCc7CiAgICAgICAgICAgIGNhc2UgJ2Vwcyc6CiAgICAgICAgICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3Bvc3RzY3JpcHQnOwogICAgICAgIH0KICAgICAgICB0aHJvdyBuZXcgUVJFeGNlcHRpb24oc3ByaW50ZignVW5rbm93biBNSU1FLXR5cGU6ICVzJywgJHRoaXMtPmZvcm1hdCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRRUkNvZGVJbWFnZShzdHJpbmcgJHFyVGV4dCwgaW50ICRzaXplKTogc3RyaW5nCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRDb250ZW50KCR0aGlzLT5nZXRVcmwoJHFyVGV4dCwgJHNpemUpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXJsKHN0cmluZyAkcXJUZXh0LCBpbnQgJHNpemUpOiBzdHJpbmcKICAgIHsKICAgICAgICAkcXVlcnlQYXJhbWV0ZXJzID0gYXJyYXkoCiAgICAgICAgICAgICdzaXplJyA9PiAkc2l6ZSAuICd4JyAuICRzaXplLAogICAgICAgICAgICAnZWNjJyA9PiBzdHJ0b3VwcGVyKCR0aGlzLT5lcnJvcmNvcnJlY3Rpb25sZXZlbCksCiAgICAgICAgICAgICdtYXJnaW4nID0+ICR0aGlzLT5tYXJnaW4sCiAgICAgICAgICAgICdxem9uZScgPT4gJHRoaXMtPnF6b25lLAogICAgICAgICAgICAnYmdjb2xvcicgPT4gJHRoaXMtPmRlY29kZUNvbG9yKCR0aGlzLT5iZ2NvbG9yKSwKICAgICAgICAgICAgJ2NvbG9yJyA9PiAkdGhpcy0+ZGVjb2RlQ29sb3IoJHRoaXMtPmNvbG9yKSwKICAgICAgICAgICAgJ2Zvcm1hdCcgPT4gc3RydG9sb3dlcigkdGhpcy0+Zm9ybWF0KSwKICAgICAgICAgICAgJ2RhdGEnID0+ICRxclRleHQsCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICdodHRwczovL2FwaS5xcnNlcnZlci5jb20vdjEvY3JlYXRlLXFyLWNvZGUvPycgLiBodHRwX2J1aWxkX3F1ZXJ5KCRxdWVyeVBhcmFtZXRlcnMpOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gZGVjb2RlQ29sb3Ioc3RyaW5nICR2YWx1ZSk6IHN0cmluZwogICAgewogICAgICAgIHJldHVybiB2c3ByaW50ZignJWQtJWQtJWQnLCBzc2NhbmYoJHZhbHVlLCAnJTAyeCUwMnglMDJ4JykpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Qr/QRicketProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFFyOwoKLyoqCiAqIFVzZSBodHRwOi8vcXJpY2tpdC5jb20vcXJpY2tpdF9hcHBzL3FyaWNraXRfYXBpLnBocCB0byBwcm92aWRlIGEgUVIgY29kZQogKi8KY2xhc3MgUVJpY2tldFByb3ZpZGVyIGV4dGVuZHMgQmFzZUhUVFBRUkNvZGVQcm92aWRlcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QocHVibGljIHN0cmluZyAkZXJyb3Jjb3JyZWN0aW9ubGV2ZWwgPSAnTCcsIHB1YmxpYyBzdHJpbmcgJGJnY29sb3IgPSAnZmZmZmZmJywgcHVibGljIHN0cmluZyAkY29sb3IgPSAnMDAwMDAwJywgcHVibGljIHN0cmluZyAkZm9ybWF0ID0gJ3AnKQogICAgewogICAgICAgICR0aGlzLT52ZXJpZnlzc2wgPSBmYWxzZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWltZVR5cGUoKTogc3RyaW5nCiAgICB7CiAgICAgICAgc3dpdGNoIChzdHJ0b2xvd2VyKCR0aGlzLT5mb3JtYXQpKSB7CiAgICAgICAgICAgIGNhc2UgJ3AnOgogICAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZS9wbmcnOwogICAgICAgICAgICBjYXNlICdnJzoKICAgICAgICAgICAgICAgIHJldHVybiAnaW1hZ2UvZ2lmJzsKICAgICAgICAgICAgY2FzZSAnaic6CiAgICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlL2pwZWcnOwogICAgICAgIH0KICAgICAgICB0aHJvdyBuZXcgUVJFeGNlcHRpb24oc3ByaW50ZignVW5rbm93biBNSU1FLXR5cGU6ICVzJywgJHRoaXMtPmZvcm1hdCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRRUkNvZGVJbWFnZShzdHJpbmcgJHFyVGV4dCwgaW50ICRzaXplKTogc3RyaW5nCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRDb250ZW50KCR0aGlzLT5nZXRVcmwoJHFyVGV4dCwgJHNpemUpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXJsKHN0cmluZyAkcXJUZXh0LCBpbnQgJHNpemUpOiBzdHJpbmcKICAgIHsKICAgICAgICAkcXVlcnlQYXJhbWV0ZXJzID0gYXJyYXkoCiAgICAgICAgICAgICdxcnNpemUnID0+ICRzaXplLAogICAgICAgICAgICAnZScgPT4gc3RydG9sb3dlcigkdGhpcy0+ZXJyb3Jjb3JyZWN0aW9ubGV2ZWwpLAogICAgICAgICAgICAnYmdkY29sb3InID0+ICR0aGlzLT5iZ2NvbG9yLAogICAgICAgICAgICAnZmdkY29sb3InID0+ICR0aGlzLT5jb2xvciwKICAgICAgICAgICAgJ3QnID0+IHN0cnRvbG93ZXIoJHRoaXMtPmZvcm1hdCksCiAgICAgICAgICAgICdkJyA9PiAkcXJUZXh0LAogICAgICAgICk7CgogICAgICAgIHJldHVybiAnaHR0cDovL3FyaWNraXQuY29tL2FwaS9xcj8nIC4gaHR0cF9idWlsZF9xdWVyeSgkcXVlcnlQYXJhbWV0ZXJzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Rng</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Rng/CSRNGProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFJuZzsKCmNsYXNzIENTUk5HUHJvdmlkZXIgaW1wbGVtZW50cyBJUk5HUHJvdmlkZXIKewogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSYW5kb21CeXRlcyhpbnQgJGJ5dGVjb3VudCk6IHN0cmluZwogICAgewogICAgICAgIHJldHVybiByYW5kb21fYnl0ZXMoJGJ5dGVjb3VudCk7ICAgIC8vIFBIUDcrCiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0NyeXB0b2dyYXBoaWNhbGx5U2VjdXJlKCk6IGJvb2wKICAgIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Rng/HashRNGProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFJuZzsKCnVzZSBmdW5jdGlvbiBpbl9hcnJheTsKCmNsYXNzIEhhc2hSTkdQcm92aWRlciBpbXBsZW1lbnRzIElSTkdQcm92aWRlcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QocHJpdmF0ZSByZWFkb25seSBzdHJpbmcgJGFsZ29yaXRobSA9ICdzaGEyNTYnKQogICAgewogICAgICAgICRhbGdvcyA9IGFycmF5X3ZhbHVlcyhoYXNoX2FsZ29zKCkpOwogICAgICAgIGlmICghaW5fYXJyYXkoJHRoaXMtPmFsZ29yaXRobSwgJGFsZ29zLCB0cnVlKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgUk5HRXhjZXB0aW9uKCdVbnN1cHBvcnRlZCBhbGdvcml0aG0gc3BlY2lmaWVkJyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmFuZG9tQnl0ZXMoaW50ICRieXRlY291bnQpOiBzdHJpbmcKICAgIHsKICAgICAgICAkcmVzdWx0ID0gJyc7CiAgICAgICAgJGhhc2ggPSBtdF9yYW5kKCk7CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgJGJ5dGVjb3VudDsgJGkrKykgewogICAgICAgICAgICAkaGFzaCA9IGhhc2goJHRoaXMtPmFsZ29yaXRobSwgJGhhc2ggLiBtdF9yYW5kKCksIHRydWUpOwogICAgICAgICAgICAkcmVzdWx0IC49ICRoYXNoW210X3JhbmQoMCwgc3RybGVuKCRoYXNoKSAtIDEpXTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0NyeXB0b2dyYXBoaWNhbGx5U2VjdXJlKCk6IGJvb2wKICAgIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn0K]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Rng/IRNGProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFJuZzsKCmludGVyZmFjZSBJUk5HUHJvdmlkZXIKewogICAgcHVibGljIGZ1bmN0aW9uIGdldFJhbmRvbUJ5dGVzKGludCAkYnl0ZWNvdW50KTogc3RyaW5nOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc0NyeXB0b2dyYXBoaWNhbGx5U2VjdXJlKCk6IGJvb2w7Cn0K]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Rng/OpenSSLRNGProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFJuZzsKCmNsYXNzIE9wZW5TU0xSTkdQcm92aWRlciBpbXBsZW1lbnRzIElSTkdQcm92aWRlcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QocHJpdmF0ZSByZWFkb25seSBib29sICRyZXF1aXJlc3Ryb25nID0gdHJ1ZSkKICAgIHsKICAgIH0KCiAgICAvKioKICAgICAqIHtAaW5oZXJpdGRvY30KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJhbmRvbUJ5dGVzKGludCAkYnl0ZWNvdW50KTogc3RyaW5nCiAgICB7CiAgICAgICAgLy8gd2lsbCB0aHJvdyBhbiBFeGNlcHRpb24gb24gZmFpbHVyZQogICAgICAgIHJldHVybiBvcGVuc3NsX3JhbmRvbV9wc2V1ZG9fYnl0ZXMoJGJ5dGVjb3VudCwgJGNyeXB0b19zdHJvbmcpOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0ZG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNDcnlwdG9ncmFwaGljYWxseVNlY3VyZSgpOiBib29sCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXF1aXJlc3Ryb25nOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Rng/RNGException.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFJuZzsKCnVzZSBSb2JUaHJlZVxBdXRoXFR3b0ZhY3RvckF1dGhFeGNlcHRpb247CgpjbGFzcyBSTkdFeGNlcHRpb24gZXh0ZW5kcyBUd29GYWN0b3JBdXRoRXhjZXB0aW9uCnsKfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Time</filename>
		<isdir>1</isdir>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Time/HttpTimeProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFRpbWU7Cgp1c2UgRGF0ZVRpbWU7CnVzZSBFeGNlcHRpb247CgovKioKICogVGFrZXMgdGhlIHRpbWUgZnJvbSBhbnkgd2Vic2VydmVyIGJ5IGRvaW5nIGEgSEVBRCByZXF1ZXN0IG9uIHRoZSBzcGVjaWZpZWQgVVJMIGFuZCBleHRyYWN0aW5nIHRoZSAnRGF0ZTonIGhlYWRlcgogKi8KY2xhc3MgSHR0cFRpbWVQcm92aWRlciBpbXBsZW1lbnRzIElUaW1lUHJvdmlkZXIKewogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXk8c3RyaW5nLCBtaXhlZD4gJG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KAogICAgICAgIHB1YmxpYyBzdHJpbmcgJHVybCA9ICdodHRwczovL2dvb2dsZS5jb20nLAogICAgICAgIHB1YmxpYyBzdHJpbmcgJGV4cGVjdGVkdGltZWZvcm1hdCA9ICdELCBkIE0gWSBIOmk6cyBPKycsCiAgICAgICAgcHVibGljID9hcnJheSAkb3B0aW9ucyA9IG51bGwsCiAgICApIHsKICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnMgPT09IG51bGwpIHsKICAgICAgICAgICAgJHRoaXMtPm9wdGlvbnMgPSBhcnJheSgKICAgICAgICAgICAgICAgICdodHRwJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnbWV0aG9kJyA9PiAnSEVBRCcsCiAgICAgICAgICAgICAgICAgICAgJ2ZvbGxvd19sb2NhdGlvbicgPT4gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgJ2lnbm9yZV9lcnJvcnMnID0+IHRydWUsCiAgICAgICAgICAgICAgICAgICAgJ21heF9yZWRpcmVjdHMnID0+IDAsCiAgICAgICAgICAgICAgICAgICAgJ3JlcXVlc3RfZnVsbHVyaScgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAnaGVhZGVyJyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgJ0Nvbm5lY3Rpb246IGNsb3NlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXItYWdlbnQ6IFR3b0ZhY3RvckF1dGggSHR0cFRpbWVQcm92aWRlciAoaHR0cHM6Ly9naXRodWIuY29tL1JvYlRocmVlL1R3b0ZhY3RvckF1dGgpJywKICAgICAgICAgICAgICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2w6IG5vLWNhY2hlJywKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUaW1lKCkKICAgIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAkY29udGV4dCA9IHN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkdGhpcy0+b3B0aW9ucyk7CiAgICAgICAgICAgICRmZCA9IGZvcGVuKCR0aGlzLT51cmwsICdyYicsIGZhbHNlLCAkY29udGV4dCk7CiAgICAgICAgICAgICRoZWFkZXJzID0gc3RyZWFtX2dldF9tZXRhX2RhdGEoJGZkKTsKICAgICAgICAgICAgZmNsb3NlKCRmZCk7CgogICAgICAgICAgICBmb3JlYWNoICgkaGVhZGVyc1snd3JhcHBlcl9kYXRhJ10gYXMgJGgpIHsKICAgICAgICAgICAgICAgIGlmIChzdHJjYXNlY21wKHN1YnN0cigkaCwgMCwgNSksICdEYXRlOicpID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERhdGVUaW1lOjpjcmVhdGVGcm9tRm9ybWF0KCR0aGlzLT5leHBlY3RlZHRpbWVmb3JtYXQsIHRyaW0oc3Vic3RyKCRoLCA1KSkpLT5nZXRUaW1lc3RhbXAoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIG9yIG5vICJEYXRlOiIgaGVhZGVyIGZvdW5kJyk7CiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRleCkgewogICAgICAgICAgICB0aHJvdyBuZXcgVGltZUV4Y2VwdGlvbihzcHJpbnRmKCdVbmFibGUgdG8gcmV0cmlldmUgdGltZSBmcm9tICVzICglcyknLCAkdGhpcy0+dXJsLCAkZXgtPmdldE1lc3NhZ2UoKSkpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Time/ITimeProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFRpbWU7CgppbnRlcmZhY2UgSVRpbWVQcm92aWRlcgp7CiAgICAvKioKICAgICAqIEByZXR1cm4gaW50IHRoZSBjdXJyZW50IHRpbWVzdGFtcCBhY2NvcmRpbmcgdG8gdGhpcyBwcm92aWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VGltZSgpOwp9Cg==]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Time/LocalMachineTimeProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFRpbWU7CgpjbGFzcyBMb2NhbE1hY2hpbmVUaW1lUHJvdmlkZXIgaW1wbGVtZW50cyBJVGltZVByb3ZpZGVyCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUaW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gdGltZSgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Time/NTPTimeProvider.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFRpbWU7Cgp1c2UgRXhjZXB0aW9uOwoKdXNlIGZ1bmN0aW9uIHNvY2tldF9jcmVhdGU7CgovKioKICogVGFrZXMgdGhlIHRpbWUgZnJvbSBhbnkgTlRQIHNlcnZlcgogKi8KY2xhc3MgTlRQVGltZVByb3ZpZGVyIGltcGxlbWVudHMgSVRpbWVQcm92aWRlcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QocHVibGljIHN0cmluZyAkaG9zdCA9ICd0aW1lLmdvb2dsZS5jb20nLCBwdWJsaWMgaW50ICRwb3J0ID0gMTIzLCBwdWJsaWMgaW50ICR0aW1lb3V0ID0gMSkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnBvcnQgPD0gMCB8fCAkdGhpcy0+cG9ydCA+IDY1NTM1KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBUaW1lRXhjZXB0aW9uKCdQb3J0IG11c3QgYmUgMCA8IHBvcnQgPCA2NTUzNScpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT50aW1lb3V0IDwgMCkgewogICAgICAgICAgICB0aHJvdyBuZXcgVGltZUV4Y2VwdGlvbignVGltZW91dCBtdXN0IGJlID49IDAnKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGluaGVyaXRkb2N9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUaW1lKCkKICAgIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAvLyBDcmVhdGUgYSBzb2NrZXQgYW5kIGNvbm5lY3QgdG8gTlRQIHNlcnZlcgogICAgICAgICAgICAkc29jayA9IHNvY2tldF9jcmVhdGUoQUZfSU5FVCwgU09DS19ER1JBTSwgU09MX1VEUCk7CiAgICAgICAgICAgIHNvY2tldF9zZXRfb3B0aW9uKCRzb2NrLCBTT0xfU09DS0VULCBTT19SQ1ZUSU1FTywgYXJyYXkoJ3NlYycgPT4gJHRoaXMtPnRpbWVvdXQsICd1c2VjJyA9PiAwKSk7CiAgICAgICAgICAgIHNvY2tldF9jb25uZWN0KCRzb2NrLCAkdGhpcy0+aG9zdCwgJHRoaXMtPnBvcnQpOwoKICAgICAgICAgICAgLy8gU2VuZCByZXF1ZXN0CiAgICAgICAgICAgICRtc2cgPSAiXDAxMCIgLiBzdHJfcmVwZWF0KCJcMCIsIDQ3KTsKICAgICAgICAgICAgc29ja2V0X3NlbmQoJHNvY2ssICRtc2csIHN0cmxlbigkbXNnKSwgMCk7CgogICAgICAgICAgICAvLyBSZWNlaXZlIHJlc3BvbnNlIGFuZCBjbG9zZSBzb2NrZXQKICAgICAgICAgICAgaWYgKHNvY2tldF9yZWN2KCRzb2NrLCAkcmVjdiwgNDgsIE1TR19XQUlUQUxMKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oc29ja2V0X3N0cmVycm9yKHNvY2tldF9sYXN0X2Vycm9yKCRzb2NrKSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHNvY2tldF9jbG9zZSgkc29jayk7CgogICAgICAgICAgICAvLyBJbnRlcnByZXQgcmVzcG9uc2UKICAgICAgICAgICAgJGRhdGEgPSB1bnBhY2soJ04xMicsICRyZWN2KTsKICAgICAgICAgICAgJHRpbWVzdGFtcCA9IChpbnQpc3ByaW50ZignJXUnLCAkZGF0YVs5XSk7CgogICAgICAgICAgICAvLyBOVFAgaXMgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgMDAwMCBVVCBvbiAxIEphbnVhcnkgMTkwMCBVbml4IHRpbWUgaXMgc2Vjb25kcyBzaW5jZSAwMDAwIFVUIG9uIDEgSmFudWFyeSAxOTcwCiAgICAgICAgICAgIHJldHVybiAkdGltZXN0YW1wIC0gMjIwODk4ODgwMDsKICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24gJGV4KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBUaW1lRXhjZXB0aW9uKHNwcmludGYoJ1VuYWJsZSB0byByZXRyaWV2ZSB0aW1lIGZyb20gJXMgKCVzKScsICR0aGlzLT5ob3N0LCAkZXgtPmdldE1lc3NhZ2UoKSkpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/Providers/Time/TimeException.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFRpbWU7Cgp1c2UgUm9iVGhyZWVcQXV0aFxUd29GYWN0b3JBdXRoRXhjZXB0aW9uOwoKY2xhc3MgVGltZUV4Y2VwdGlvbiBleHRlbmRzIFR3b0ZhY3RvckF1dGhFeGNlcHRpb24Kewp9Cg==]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/TwoFactorAuth.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGg7Cgp1c2UgUm9iVGhyZWVcQXV0aFxQcm92aWRlcnNcUXJcSVFSQ29kZVByb3ZpZGVyOwp1c2UgUm9iVGhyZWVcQXV0aFxQcm92aWRlcnNcUXJcUVJTZXJ2ZXJQcm92aWRlcjsKdXNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFJuZ1xDU1JOR1Byb3ZpZGVyOwp1c2UgUm9iVGhyZWVcQXV0aFxQcm92aWRlcnNcUm5nXEhhc2hSTkdQcm92aWRlcjsKdXNlIFJvYlRocmVlXEF1dGhcUHJvdmlkZXJzXFJuZ1xJUk5HUHJvdmlkZXI7CnVzZSBSb2JUaHJlZVxBdXRoXFByb3ZpZGVyc1xSbmdcT3BlblNTTFJOR1Byb3ZpZGVyOwp1c2UgUm9iVGhyZWVcQXV0aFxQcm92aWRlcnNcVGltZVxIdHRwVGltZVByb3ZpZGVyOwp1c2UgUm9iVGhyZWVcQXV0aFxQcm92aWRlcnNcVGltZVxJVGltZVByb3ZpZGVyOwp1c2UgUm9iVGhyZWVcQXV0aFxQcm92aWRlcnNcVGltZVxMb2NhbE1hY2hpbmVUaW1lUHJvdmlkZXI7CnVzZSBSb2JUaHJlZVxBdXRoXFByb3ZpZGVyc1xUaW1lXE5UUFRpbWVQcm92aWRlcjsKCi8vIEJhc2VkIG9uIC8gaW5zcGlyZWQgYnk6IGh0dHBzOi8vZ2l0aHViLmNvbS9QSFBHYW5nc3RhL0dvb2dsZUF1dGhlbnRpY2F0b3IKLy8gQWxnb3JpdGhtcywgZGlnaXRzLCBwZXJpb2QgZXRjLiBleHBsYWluZWQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZ29vZ2xlLWF1dGhlbnRpY2F0b3Ivd2lraS9LZXktVXJpLUZvcm1hdApjbGFzcyBUd29GYWN0b3JBdXRoCnsKICAgIHByaXZhdGUgc3RhdGljIHN0cmluZyAkX2Jhc2UzMmRpY3QgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoyMzQ1Njc9JzsKCiAgICAvKiogQHZhciBhcnJheTxzdHJpbmc+ICovCiAgICBwcml2YXRlIHN0YXRpYyBhcnJheSAkX2Jhc2UzMjsKCiAgICAvKiogQHZhciBhcnJheTxzdHJpbmcsIGludD4gKi8KICAgIHByaXZhdGUgc3RhdGljIGFycmF5ICRfYmFzZTMybG9va3VwID0gYXJyYXkoKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoCiAgICAgICAgcHJpdmF0ZSByZWFkb25seSA/c3RyaW5nICAgJGlzc3VlciA9IG51bGwsCiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnQgICAgICAgJGRpZ2l0cyA9IDYsCiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnQgICAgICAgJHBlcmlvZCA9IDMwLAogICAgICAgIHByaXZhdGUgcmVhZG9ubHkgQWxnb3JpdGhtICRhbGdvcml0aG0gPSBBbGdvcml0aG06OlNoYTEsCiAgICAgICAgcHJpdmF0ZSA/SVFSQ29kZVByb3ZpZGVyICAgJHFyY29kZXByb3ZpZGVyID0gbnVsbCwKICAgICAgICBwcml2YXRlID9JUk5HUHJvdmlkZXIgICAgICAkcm5ncHJvdmlkZXIgPSBudWxsLAogICAgICAgIHByaXZhdGUgP0lUaW1lUHJvdmlkZXIgICAgICR0aW1lcHJvdmlkZXIgPSBudWxsCiAgICApIHsKICAgICAgICBpZiAoJHRoaXMtPmRpZ2l0cyA8PSAwKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBUd29GYWN0b3JBdXRoRXhjZXB0aW9uKCdEaWdpdHMgbXVzdCBiZSA+IDAnKTsKICAgICAgICB9CgogICAgICAgIGlmICgkdGhpcy0+cGVyaW9kIDw9IDApIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFR3b0ZhY3RvckF1dGhFeGNlcHRpb24oJ1BlcmlvZCBtdXN0IGJlIGludCA+IDAnKTsKICAgICAgICB9CgogICAgICAgIHNlbGY6OiRfYmFzZTMyID0gc3RyX3NwbGl0KHNlbGY6OiRfYmFzZTMyZGljdCk7CiAgICAgICAgc2VsZjo6JF9iYXNlMzJsb29rdXAgPSBhcnJheV9mbGlwKHNlbGY6OiRfYmFzZTMyKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBzZWNyZXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZVNlY3JldChpbnQgJGJpdHMgPSA4MCwgYm9vbCAkcmVxdWlyZWNyeXB0b3NlY3VyZSA9IHRydWUpOiBzdHJpbmcKICAgIHsKICAgICAgICAkc2VjcmV0ID0gJyc7CiAgICAgICAgJGJ5dGVzID0gKGludCljZWlsKCRiaXRzIC8gNSk7ICAgLy8gV2UgdXNlIDUgYml0cyBvZiBlYWNoIGJ5dGUgKHNpbmNlIHdlIGhhdmUgYSAzMi1jaGFyYWN0ZXIgJ2FscGhhYmV0JyAvIEJBU0UzMikKICAgICAgICAkcm5ncHJvdmlkZXIgPSAkdGhpcy0+Z2V0Um5nUHJvdmlkZXIoKTsKICAgICAgICBpZiAoJHJlcXVpcmVjcnlwdG9zZWN1cmUgJiYgISRybmdwcm92aWRlci0+aXNDcnlwdG9ncmFwaGljYWxseVNlY3VyZSgpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBUd29GYWN0b3JBdXRoRXhjZXB0aW9uKCdSTkcgcHJvdmlkZXIgaXMgbm90IGNyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZScpOwogICAgICAgIH0KICAgICAgICAkcm5kID0gJHJuZ3Byb3ZpZGVyLT5nZXRSYW5kb21CeXRlcygkYnl0ZXMpOwogICAgICAgIGZvciAoJGkgPSAwOyAkaSA8ICRieXRlczsgJGkrKykgewogICAgICAgICAgICAkc2VjcmV0IC49IHNlbGY6OiRfYmFzZTMyW29yZCgkcm5kWyRpXSkgJiAzMV07ICAvL01hc2sgb3V0IGxlZnQgMyBiaXRzIGZvciAwLTMxIHZhbHVlcwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHNlY3JldDsKICAgIH0KCiAgICAvKioKICAgICAqIENhbGN1bGF0ZSB0aGUgY29kZSB3aXRoIGdpdmVuIHNlY3JldCBhbmQgcG9pbnQgaW4gdGltZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29kZShzdHJpbmcgJHNlY3JldCwgP2ludCAkdGltZSA9IG51bGwpOiBzdHJpbmcKICAgIHsKICAgICAgICAkc2VjcmV0a2V5ID0gJHRoaXMtPmJhc2UzMkRlY29kZSgkc2VjcmV0KTsKCiAgICAgICAgJHRpbWVzdGFtcCA9ICJcMFwwXDBcMCIgLiBwYWNrKCdOKicsICR0aGlzLT5nZXRUaW1lU2xpY2UoJHRoaXMtPmdldFRpbWUoJHRpbWUpKSk7ICAvLyBQYWNrIHRpbWUgaW50byBiaW5hcnkgc3RyaW5nCiAgICAgICAgJGhhc2hobWFjID0gaGFzaF9obWFjKCR0aGlzLT5hbGdvcml0aG0tPnZhbHVlLCAkdGltZXN0YW1wLCAkc2VjcmV0a2V5LCB0cnVlKTsgICAgICAgICAgICAgLy8gSGFzaCBpdCB3aXRoIHVzZXJzIHNlY3JldCBrZXkKICAgICAgICAkaGFzaHBhcnQgPSBzdWJzdHIoJGhhc2hobWFjLCBvcmQoc3Vic3RyKCRoYXNoaG1hYywgLTEpKSAmIDB4MEYsIDQpOyAgICAgICAgICAgICAgIC8vIFVzZSBsYXN0IG5pYmJsZSBvZiByZXN1bHQgYXMgaW5kZXgvb2Zmc2V0IGFuZCBncmFiIDQgYnl0ZXMgb2YgdGhlIHJlc3VsdAogICAgICAgICR2YWx1ZSA9IHVucGFjaygnTicsICRoYXNocGFydCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5wYWNrIGJpbmFyeSB2YWx1ZQogICAgICAgICR2YWx1ZSA9ICR2YWx1ZVsxXSAmIDB4N0ZGRkZGRkY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRHJvcCBNU0IsIGtlZXAgb25seSAzMSBiaXRzCgogICAgICAgIHJldHVybiBzdHJfcGFkKChzdHJpbmcpKCR2YWx1ZSAlIDEwICoqICR0aGlzLT5kaWdpdHMpLCAkdGhpcy0+ZGlnaXRzLCAnMCcsIFNUUl9QQURfTEVGVCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiB0aGUgY29kZSBpcyBjb3JyZWN0LiBUaGlzIHdpbGwgYWNjZXB0IGNvZGVzIHN0YXJ0aW5nIGZyb20gKCRkaXNjcmVwYW5jeSAqICRwZXJpb2QpIHNlYyBhZ28gdG8gKCRkaXNjcmVwYW5jeSAqIHBlcmlvZCkgc2VjIGZyb20gbm93CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2ZXJpZnlDb2RlKHN0cmluZyAkc2VjcmV0LCBzdHJpbmcgJGNvZGUsIGludCAkZGlzY3JlcGFuY3kgPSAxLCA/aW50ICR0aW1lID0gbnVsbCwgP2ludCAmJHRpbWVzbGljZSA9IDApOiBib29sCiAgICB7CiAgICAgICAgJHRpbWVzdGFtcCA9ICR0aGlzLT5nZXRUaW1lKCR0aW1lKTsKCiAgICAgICAgJHRpbWVzbGljZSA9IDA7CgogICAgICAgIC8vIFRvIGtlZXAgc2FmZSBmcm9tIHRpbWluZy1hdHRhY2tzIHdlIGl0ZXJhdGUgKmFsbCogcG9zc2libGUgY29kZXMgZXZlbiB0aG91Z2ggd2UgYWxyZWFkeSBtYXkgaGF2ZQogICAgICAgIC8vIHZlcmlmaWVkIGEgY29kZSBpcyBjb3JyZWN0LiBXZSB1c2UgdGhlIHRpbWVzbGljZSB2YXJpYWJsZSB0byBob2xkIGVpdGhlciAwIChubyBtYXRjaCkgb3IgdGhlIHRpbWVzbGljZQogICAgICAgIC8vIG9mIHRoZSBtYXRjaC4gRWFjaCBpdGVyYXRpb24gd2UgZWl0aGVyIHNldCB0aGUgdGltZXNsaWNlIHZhcmlhYmxlIHRvIHRoZSB0aW1lc2xpY2Ugb2YgdGhlIG1hdGNoCiAgICAgICAgLy8gb3Igc2V0IHRoZSB2YWx1ZSB0byBpdHNlbGYuICBUaGlzIGlzIGFuIGVmZm9ydCB0byBtYWludGFpbiBjb25zdGFudCBleGVjdXRpb24gdGltZSBmb3IgdGhlIGNvZGUuCiAgICAgICAgZm9yICgkaSA9IC0kZGlzY3JlcGFuY3k7ICRpIDw9ICRkaXNjcmVwYW5jeTsgJGkrKykgewogICAgICAgICAgICAkdHMgPSAkdGltZXN0YW1wICsgKCRpICogJHRoaXMtPnBlcmlvZCk7CiAgICAgICAgICAgICRzbGljZSA9ICR0aGlzLT5nZXRUaW1lU2xpY2UoJHRzKTsKICAgICAgICAgICAgJHRpbWVzbGljZSA9ICR0aGlzLT5jb2RlRXF1YWxzKCR0aGlzLT5nZXRDb2RlKCRzZWNyZXQsICR0cyksICRjb2RlKSA/ICRzbGljZSA6ICR0aW1lc2xpY2U7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRpbWVzbGljZSA+IDA7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgZGF0YS11cmkgb2YgUVJDb2RlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRRUkNvZGVJbWFnZUFzRGF0YVVyaShzdHJpbmcgJGxhYmVsLCBzdHJpbmcgJHNlY3JldCwgaW50ICRzaXplID0gMjAwKTogc3RyaW5nCiAgICB7CiAgICAgICAgaWYgKCRzaXplIDw9IDApIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFR3b0ZhY3RvckF1dGhFeGNlcHRpb24oJ1NpemUgbXVzdCBiZSA+IDAnKTsKICAgICAgICB9CgogICAgICAgICRxcmNvZGVwcm92aWRlciA9ICR0aGlzLT5nZXRRckNvZGVQcm92aWRlcigpOwogICAgICAgIHJldHVybiAnZGF0YTonCiAgICAgICAgICAgIC4gJHFyY29kZXByb3ZpZGVyLT5nZXRNaW1lVHlwZSgpCiAgICAgICAgICAgIC4gJztiYXNlNjQsJwogICAgICAgICAgICAuIGJhc2U2NF9lbmNvZGUoJHFyY29kZXByb3ZpZGVyLT5nZXRRUkNvZGVJbWFnZSgkdGhpcy0+Z2V0UVJUZXh0KCRsYWJlbCwgJHNlY3JldCksICRzaXplKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb21wYXJlIGRlZmF1bHQgdGltZXByb3ZpZGVyIHdpdGggc3BlY2lmaWVkIHRpbWVwcm92aWRlcnMgYW5kIGVuc3VyZSB0aGUgdGltZSBpcyB3aXRoaW4gdGhlIHNwZWNpZmllZCBudW1iZXIgb2Ygc2Vjb25kcyAobGVuaWVuY3kpCiAgICAgKiBAcGFyYW0gYXJyYXk8SVRpbWVQcm92aWRlcj4gJHRpbWVwcm92aWRlcnMKICAgICAqIEB0aHJvd3MgVHdvRmFjdG9yQXV0aEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZW5zdXJlQ29ycmVjdFRpbWUoP2FycmF5ICR0aW1lcHJvdmlkZXJzID0gbnVsbCwgaW50ICRsZW5pZW5jeSA9IDUpOiB2b2lkCiAgICB7CiAgICAgICAgaWYgKCR0aW1lcHJvdmlkZXJzID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aW1lcHJvdmlkZXJzID0gYXJyYXkoCiAgICAgICAgICAgICAgICBuZXcgTlRQVGltZVByb3ZpZGVyKCksCiAgICAgICAgICAgICAgICBuZXcgSHR0cFRpbWVQcm92aWRlcigpLAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgLy8gR2V0IGRlZmF1bHQgdGltZSBwcm92aWRlcgogICAgICAgICR0aW1lcHJvdmlkZXIgPSAkdGhpcy0+Z2V0VGltZVByb3ZpZGVyKCk7CgogICAgICAgIC8vIEl0ZXJhdGUgc3BlY2lmaWVkIHRpbWUgcHJvdmlkZXJzCiAgICAgICAgZm9yZWFjaCAoJHRpbWVwcm92aWRlcnMgYXMgJHQpIHsKICAgICAgICAgICAgaWYgKCEoJHQgaW5zdGFuY2VvZiBJVGltZVByb3ZpZGVyKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR3b0ZhY3RvckF1dGhFeGNlcHRpb24oJ09iamVjdCBkb2VzIG5vdCBpbXBsZW1lbnQgSVRpbWVQcm92aWRlcicpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBHZXQgdGltZSBmcm9tIGRlZmF1bHQgdGltZSBwcm92aWRlciBhbmQgY29tcGFyZSB0byBzcGVjaWZpYyB0aW1lIHByb3ZpZGVyIGFuZCB0aHJvdyBpZiB0aW1lIGRpZmZlcmVuY2UgaXMgbW9yZSB0aGFuIHNwZWNpZmllZCBudW1iZXIgb2Ygc2Vjb25kcyBsZW5pZW5jeQogICAgICAgICAgICBpZiAoYWJzKCR0aW1lcHJvdmlkZXItPmdldFRpbWUoKSAtICR0LT5nZXRUaW1lKCkpID4gJGxlbmllbmN5KSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHdvRmFjdG9yQXV0aEV4Y2VwdGlvbihzcHJpbnRmKCdUaW1lIGZvciB0aW1lcHJvdmlkZXIgaXMgb2ZmIGJ5IG1vcmUgdGhhbiAlZCBzZWNvbmRzIHdoZW4gY29tcGFyZWQgdG8gJXMnLCAkbGVuaWVuY3ksIGdldF9jbGFzcygkdCkpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEJ1aWxkcyBhIHN0cmluZyB0byBiZSBlbmNvZGVkIGluIGEgUVIgY29kZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UVJUZXh0KHN0cmluZyAkbGFiZWwsIHN0cmluZyAkc2VjcmV0KTogc3RyaW5nCiAgICB7CiAgICAgICAgcmV0dXJuICdvdHBhdXRoOi8vdG90cC8nIC4gcmF3dXJsZW5jb2RlKCRsYWJlbCkKICAgICAgICAgICAgLiAnP3NlY3JldD0nIC4gcmF3dXJsZW5jb2RlKCRzZWNyZXQpCiAgICAgICAgICAgIC4gJyZpc3N1ZXI9JyAuIHJhd3VybGVuY29kZSgoc3RyaW5nKSR0aGlzLT5pc3N1ZXIpCiAgICAgICAgICAgIC4gJyZwZXJpb2Q9JyAuICR0aGlzLT5wZXJpb2QKICAgICAgICAgICAgLiAnJmFsZ29yaXRobT0nIC4gcmF3dXJsZW5jb2RlKHN0cnRvdXBwZXIoJHRoaXMtPmFsZ29yaXRobS0+dmFsdWUpKQogICAgICAgICAgICAuICcmZGlnaXRzPScgLiAkdGhpcy0+ZGlnaXRzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRRckNvZGVQcm92aWRlcigpOiBJUVJDb2RlUHJvdmlkZXIKICAgIHsKICAgICAgICAvLyBTZXQgZGVmYXVsdCBRUiBDb2RlIHByb3ZpZGVyIGlmIG5vbmUgd2FzIHNwZWNpZmllZAogICAgICAgIHJldHVybiAkdGhpcy0+cXJjb2RlcHJvdmlkZXIgPz89IG5ldyBRUlNlcnZlclByb3ZpZGVyKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAdGhyb3dzIFR3b0ZhY3RvckF1dGhFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJuZ1Byb3ZpZGVyKCk6IElSTkdQcm92aWRlcgogICAgewogICAgICAgIGlmICgkdGhpcy0+cm5ncHJvdmlkZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5ybmdwcm92aWRlcjsKICAgICAgICB9CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygncmFuZG9tX2J5dGVzJykpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5ybmdwcm92aWRlciA9IG5ldyBDU1JOR1Byb3ZpZGVyKCk7CiAgICAgICAgfQogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ29wZW5zc2xfcmFuZG9tX3BzZXVkb19ieXRlcycpKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+cm5ncHJvdmlkZXIgPSBuZXcgT3BlblNTTFJOR1Byb3ZpZGVyKCk7CiAgICAgICAgfQogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ2hhc2gnKSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnJuZ3Byb3ZpZGVyID0gbmV3IEhhc2hSTkdQcm92aWRlcigpOwogICAgICAgIH0KICAgICAgICB0aHJvdyBuZXcgVHdvRmFjdG9yQXV0aEV4Y2VwdGlvbignVW5hYmxlIHRvIGZpbmQgYSBzdWl0ZWQgUk5HUHJvdmlkZXInKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VGltZVByb3ZpZGVyKCk6IElUaW1lUHJvdmlkZXIKICAgIHsKICAgICAgICAvLyBTZXQgZGVmYXVsdCB0aW1lIHByb3ZpZGVyIGlmIG5vbmUgd2FzIHNwZWNpZmllZAogICAgICAgIHJldHVybiAkdGhpcy0+dGltZXByb3ZpZGVyID8/PSBuZXcgTG9jYWxNYWNoaW5lVGltZVByb3ZpZGVyKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUaW1pbmctYXR0YWNrIHNhZmUgY29tcGFyaXNvbiBvZiAyIGNvZGVzIChzZWUgaHR0cDovL2Jsb2cuaXJjbWF4ZWxsLmNvbS8yMDE0LzExL2l0cy1hbGwtYWJvdXQtdGltZS5odG1sKQogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGNvZGVFcXVhbHMoc3RyaW5nICRzYWZlLCBzdHJpbmcgJHVzZXIpOiBib29sCiAgICB7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnaGFzaF9lcXVhbHMnKSkgewogICAgICAgICAgICByZXR1cm4gaGFzaF9lcXVhbHMoJHNhZmUsICR1c2VyKTsKICAgICAgICB9CiAgICAgICAgLy8gSW4gZ2VuZXJhbCwgaXQncyBub3QgcG9zc2libGUgdG8gcHJldmVudCBsZW5ndGggbGVha3MuIFNvIGl0J3MgT0sgdG8gbGVhayB0aGUgbGVuZ3RoLiBUaGUgaW1wb3J0YW50IHBhcnQgaXMgdGhhdAogICAgICAgIC8vIHdlIGRvbid0IGxlYWsgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRpZmZlcmVuY2Ugb2YgdGhlIHR3byBzdHJpbmdzLgogICAgICAgIGlmIChzdHJsZW4oJHNhZmUpID09PSBzdHJsZW4oJHVzZXIpKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSAwOwogICAgICAgICAgICAkc3RybGVuID0gc3RybGVuKCRzYWZlKTsKICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgJHN0cmxlbjsgJGkrKykgewogICAgICAgICAgICAgICAgJHJlc3VsdCB8PSAob3JkKCRzYWZlWyRpXSkgXiBvcmQoJHVzZXJbJGldKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRyZXN1bHQgPT09IDA7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldFRpbWUoP2ludCAkdGltZSA9IG51bGwpOiBpbnQKICAgIHsKICAgICAgICByZXR1cm4gJHRpbWUgPz8gJHRoaXMtPmdldFRpbWVQcm92aWRlcigpLT5nZXRUaW1lKCk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRUaW1lU2xpY2UoP2ludCAkdGltZSA9IG51bGwsIGludCAkb2Zmc2V0ID0gMCk6IGludAogICAgewogICAgICAgIHJldHVybiAoaW50KWZsb29yKCR0aW1lIC8gJHRoaXMtPnBlcmlvZCkgKyAoJG9mZnNldCAqICR0aGlzLT5wZXJpb2QpOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gYmFzZTMyRGVjb2RlKHN0cmluZyAkdmFsdWUpOiBzdHJpbmcKICAgIHsKICAgICAgICBpZiAoJHZhbHVlID09PSAnJykgewogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBpZiAocHJlZ19tYXRjaCgnL1teJyAuIHByZWdfcXVvdGUoc2VsZjo6JF9iYXNlMzJkaWN0LCAnLycpIC4gJ10vJywgJHZhbHVlKSAhPT0gMCkgewogICAgICAgICAgICB0aHJvdyBuZXcgVHdvRmFjdG9yQXV0aEV4Y2VwdGlvbignSW52YWxpZCBiYXNlMzIgc3RyaW5nJyk7CiAgICAgICAgfQoKICAgICAgICAkYnVmZmVyID0gJyc7CiAgICAgICAgZm9yZWFjaCAoc3RyX3NwbGl0KCR2YWx1ZSkgYXMgJGNoYXIpIHsKICAgICAgICAgICAgaWYgKCRjaGFyICE9PSAnPScpIHsKICAgICAgICAgICAgICAgICRidWZmZXIgLj0gc3RyX3BhZChkZWNiaW4oc2VsZjo6JF9iYXNlMzJsb29rdXBbJGNoYXJdKSwgNSwgJzAnLCBTVFJfUEFEX0xFRlQpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICRsZW5ndGggPSBzdHJsZW4oJGJ1ZmZlcik7CiAgICAgICAgJGJsb2NrcyA9IHRyaW0oY2h1bmtfc3BsaXQoc3Vic3RyKCRidWZmZXIsIDAsICRsZW5ndGggLSAoJGxlbmd0aCAlIDgpKSwgOCwgJyAnKSk7CgogICAgICAgICRvdXRwdXQgPSAnJzsKICAgICAgICBmb3JlYWNoIChleHBsb2RlKCcgJywgJGJsb2NrcykgYXMgJGJsb2NrKSB7CiAgICAgICAgICAgICRvdXRwdXQgLj0gY2hyKGJpbmRlYyhzdHJfcGFkKCRibG9jaywgOCwgJzAnLCBTVFJfUEFEX1JJR0hUKSkpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dHB1dDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
		<filename>/vendor/robthree/twofactorauth/lib/TwoFactorAuthException.php</filename>
		<isdir>0</isdir>
		<data><![CDATA[PD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKbmFtZXNwYWNlIFJvYlRocmVlXEF1dGg7Cgp1c2UgRXhjZXB0aW9uOwoKY2xhc3MgVHdvRmFjdG9yQXV0aEV4Y2VwdGlvbiBleHRlbmRzIEV4Y2VwdGlvbgp7Cn0K]]></data>
	</file>
</module>
