 ' translit.uk -- single-file launcher. GUI embedded as base64, run in memory.
Option Explicit
Dim sh, fso, env, exe, cand, i, win, b64, pscmd, cmd, staArg
Set sh = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

b64 = "IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiMgdHJhbnNsaXQudWsgLS0gTGF0aW4gLT4gQ3lyaWxsaWMgZXZlcnl3aGVyZSAoR1VJLCBzaW5nbGUtZmlsZSB2aWEgVkJTKQ0KIyBUb2dnbGU6IFN0YXJ0L1N0b3AgYnV0dG9uIE9SIEN0cmwrU2hpZnQrTCAoaGFuZGxlZCBpbnNpZGUgdGhlIGtleWJvYXJkIGhvb2spLg0KIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KdHJ5IHsNCiAgICBBZGQtVHlwZSAtQXNzZW1i" & _
      "bHlOYW1lIFByZXNlbnRhdGlvbkZyYW1ld29yaw0KDQogICAgJGNzID0gQCcNCnVzaW5nIFN5c3RlbTsNCnVzaW5nIFN5c3RlbS5UZXh0Ow0KdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7DQp1c2luZyBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXM7DQoNCnB1YmxpYyBzdGF0aWMgY2xhc3MgVHJhbnNsaXQNCnsNCiAgICBzdGF0aWMgRGljdGlvbmFyeTxzdHJpbmcsc3RyaW5nPiBNID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLHN0cmluZz4oKTsNCiAgICBzdGF0aWMgSGFzaFNldDxzdHJpbmc+IFAgPSBuZXcg" & _
      "SGFzaFNldDxzdHJpbmc+KCk7DQogICAgY29uc3QgaW50IE1BWEsgPSA0Ow0KICAgIHN0YXRpYyB2b2lkIEluaXRNYXAoKQ0KICAgIHsNCiAgICAgICAgTVsic2hjaCJdPSJcdTA0NDkiOyBNWyJzaGgiXT0iXHUwNDQ5IjsgTVsic2NoIl09Ilx1MDQ0OSI7DQogICAgICAgIE1bInlvIl09Ilx1MDQ1MSI7IE1bImpvIl09Ilx1MDQ1MSI7IE1bInl1Il09Ilx1MDQ0ZSI7IE1bImp1Il09Ilx1MDQ0ZSI7DQogICAgICAgIE1bInlhIl09Ilx1MDQ0ZiI7IE1bImphIl09Ilx1MDQ0ZiI7IE1bInllIl09Ilx1MDQ0ZCI7IE1bImplIl09Ilx1" & _
      "MDQ0ZCI7DQogICAgICAgIE1bInpoIl09Ilx1MDQzNiI7IE1bImNoIl09Ilx1MDQ0NyI7IE1bInNoIl09Ilx1MDQ0OCI7IE1bImtoIl09Ilx1MDQ0NSI7DQogICAgICAgIE1bImEiXT0iXHUwNDMwIjsgTVsiYiJdPSJcdTA0MzEiOyBNWyJjIl09Ilx1MDQ0NiI7IE1bImQiXT0iXHUwNDM0IjsNCiAgICAgICAgTVsiZSJdPSJcdTA0MzUiOyBNWyJmIl09Ilx1MDQ0NCI7IE1bImciXT0iXHUwNDMzIjsgTVsiaCJdPSJcdTA0NDUiOw0KICAgICAgICBNWyJpIl09Ilx1MDQzOCI7IE1bImoiXT0iXHUwNDM5IjsgTVsiayJdPSJcdTA0M2Ei" & _
      "OyBNWyJsIl09Ilx1MDQzYiI7DQogICAgICAgIE1bIm0iXT0iXHUwNDNjIjsgTVsibiJdPSJcdTA0M2QiOyBNWyJvIl09Ilx1MDQzZSI7IE1bInAiXT0iXHUwNDNmIjsNCiAgICAgICAgTVsicSJdPSJcdTA0NGYiOyBNWyJyIl09Ilx1MDQ0MCI7IE1bInMiXT0iXHUwNDQxIjsgTVsidCJdPSJcdTA0NDIiOw0KICAgICAgICBNWyJ1Il09Ilx1MDQ0MyI7IE1bInYiXT0iXHUwNDMyIjsgTVsidyJdPSJcdTA0NDkiOyBNWyJ4Il09Ilx1MDQ0NSI7DQogICAgICAgIE1bInkiXT0iXHUwNDRiIjsgTVsieiJdPSJcdTA0MzciOyBNWyInIl09" & _
      "Ilx1MDQ0YyI7DQogICAgICAgIGZvcmVhY2ggKHN0cmluZyBrIGluIE0uS2V5cykgZm9yIChpbnQgaT0xO2k8ay5MZW5ndGg7aSsrKSBQLkFkZChrLlN1YnN0cmluZygwLGkpKTsNCiAgICB9DQogICAgc3RhdGljIHN0cmluZyBVcChzdHJpbmcgcyl7IGNoYXIgYz1zWzBdOyBpZihjPj0weDA0MzAmJmM8PTB4MDQ0ZikgcmV0dXJuICgoY2hhcikoYy0weDIwKSkuVG9TdHJpbmcoKTsgaWYoYz09MHgwNDUxKSByZXR1cm4gKChjaGFyKTB4MDQwMSkuVG9TdHJpbmcoKTsgcmV0dXJuIHM7IH0NCiAgICBzdGF0aWMgaW50IExvbmdlc3RL" & _
      "ZXlBdChzdHJpbmcgcyxpbnQgcG9zKXsgaW50IHRvcD1NYXRoLk1pbihNQVhLLHMuTGVuZ3RoLXBvcyk7IGZvcihpbnQgbGVuPXRvcDtsZW4+PTE7bGVuLS0pIGlmKE0uQ29udGFpbnNLZXkocy5TdWJzdHJpbmcocG9zLGxlbikuVG9Mb3dlcigpKSkgcmV0dXJuIGxlbjsgcmV0dXJuIDA7IH0NCiAgICBzdGF0aWMgc3RyaW5nIENvbnZlcnRLZXkoc3RyaW5nIHN1Yil7IHN0cmluZyBjeT1NW3N1Yi5Ub0xvd2VyKCldOyBpZihzdWJbMF0hPWNoYXIuVG9Mb3dlcihzdWJbMF0pKSBjeT1VcChjeSk7IHJldHVybiBjeTsgfQ0KICAgIHN0" & _
      "YXRpYyB2b2lkIFJlZHVjZShzdHJpbmcgcywgb3V0IHN0cmluZyBjb21taXQsIG91dCBzdHJpbmcgdGFpbCl7DQogICAgICAgIFN0cmluZ0J1aWxkZXIgbz1uZXcgU3RyaW5nQnVpbGRlcigpOyBpbnQgaT0wOw0KICAgICAgICB3aGlsZShpPHMuTGVuZ3RoKXsgc3RyaW5nIHRsPXMuU3Vic3RyaW5nKGkpOyBpZih0bC5MZW5ndGg8TUFYSyAmJiBQLkNvbnRhaW5zKHRsLlRvTG93ZXIoKSkpIGJyZWFrOw0KICAgICAgICAgICAgaW50IEw9TG9uZ2VzdEtleUF0KHMsaSk7IGlmKEw9PTApe28uQXBwZW5kKHNbaV0pO2krPTE7fSBlbHNl" & _
      "IHtvLkFwcGVuZChDb252ZXJ0S2V5KHMuU3Vic3RyaW5nKGksTCkpKTtpKz1MO30gfQ0KICAgICAgICBjb21taXQ9by5Ub1N0cmluZygpOyB0YWlsPXMuU3Vic3RyaW5nKGkpOw0KICAgIH0NCiAgICBzdGF0aWMgc3RyaW5nIEZvcmNlUmVkdWNlKHN0cmluZyBzKXsNCiAgICAgICAgU3RyaW5nQnVpbGRlciBvPW5ldyBTdHJpbmdCdWlsZGVyKCk7IGludCBpPTA7DQogICAgICAgIHdoaWxlKGk8cy5MZW5ndGgpeyBpbnQgTD1Mb25nZXN0S2V5QXQocyxpKTsgaWYoTD09MCl7by5BcHBlbmQoc1tpXSk7aSs9MTt9IGVsc2Uge28uQXBw" & _
      "ZW5kKENvbnZlcnRLZXkocy5TdWJzdHJpbmcoaSxMKSkpO2krPUw7fSB9DQogICAgICAgIHJldHVybiBvLlRvU3RyaW5nKCk7DQogICAgfQ0KICAgIHN0YXRpYyBTdHJpbmdCdWlsZGVyIHNyYz1uZXcgU3RyaW5nQnVpbGRlcigpOyBzdGF0aWMgc3RyaW5nIHNob3duPSIiOw0KICAgIHN0YXRpYyB2b2lkIFJlY29uY2lsZVRvKHN0cmluZyB0YXJnZXQpew0KICAgICAgICBpbnQgY29tbW9uPTA7IHdoaWxlKGNvbW1vbjxzaG93bi5MZW5ndGggJiYgY29tbW9uPHRhcmdldC5MZW5ndGggJiYgc2hvd25bY29tbW9uXT09dGFyZ2V0W2Nv" & _
      "bW1vbl0pIGNvbW1vbisrOw0KICAgICAgICBMaXN0PElOUFVUPiBsaXN0PW5ldyBMaXN0PElOUFVUPigpOw0KICAgICAgICBmb3IoaW50IGs9MDtrPHNob3duLkxlbmd0aC1jb21tb247aysrKXsgbGlzdC5BZGQoS2JWayhWS19CQUNLLGZhbHNlKSk7IGxpc3QuQWRkKEtiVmsoVktfQkFDSyx0cnVlKSk7IH0NCiAgICAgICAgZm9yZWFjaChjaGFyIGNoIGluIHRhcmdldC5TdWJzdHJpbmcoY29tbW9uKSl7IGxpc3QuQWRkKEtiVW5pKGNoLGZhbHNlKSk7IGxpc3QuQWRkKEtiVW5pKGNoLHRydWUpKTsgfQ0KICAgICAgICBpZihsaXN0" & _
      "LkNvdW50PjApIFNlbmRJbnB1dCgodWludClsaXN0LkNvdW50LCBsaXN0LlRvQXJyYXkoKSwgTWFyc2hhbC5TaXplT2YodHlwZW9mKElOUFVUKSkpOw0KICAgICAgICBzaG93bj10YXJnZXQ7DQogICAgfQ0KICAgIHN0YXRpYyB2b2lkIEhhbmRsZUNoYXIoY2hhciBjaCl7IHNyYy5BcHBlbmQoY2gpOyBzdHJpbmcgYyx0OyBSZWR1Y2Uoc3JjLlRvU3RyaW5nKCksb3V0IGMsb3V0IHQpOyBSZWNvbmNpbGVUbyhjK3QpOyB9DQogICAgc3RhdGljIHZvaWQgRmx1c2goKXsgaWYoc3JjLkxlbmd0aD4wKSBSZWNvbmNpbGVUbyhGb3JjZVJl" & _
      "ZHVjZShzcmMuVG9TdHJpbmcoKSkpOyBzcmMuTGVuZ3RoPTA7IHNob3duPSIiOyB9DQogICAgc3RhdGljIHZvaWQgUmVzZXRSdW4oKXsgc3JjLkxlbmd0aD0wOyBzaG93bj0iIjsgfQ0KDQogICAgZGVsZWdhdGUgSW50UHRyIEhvb2tQcm9jKGludCBuQ29kZSwgSW50UHRyIHdQYXJhbSwgSW50UHRyIGxQYXJhbSk7DQogICAgc3RhdGljIEhvb2tQcm9jIF9wcm9jOyBzdGF0aWMgSW50UHRyIF9ob29rPUludFB0ci5aZXJvOyBzdGF0aWMgYm9vbCBfb249ZmFsc2U7DQogICAgY29uc3QgaW50IFdIX0tFWUJPQVJEX0xMPTEzOw0KICAg" & _
      "IGNvbnN0IGludCBXTV9LRVlET1dOPTB4MTAwLCBXTV9LRVlVUD0weDEwMSwgV01fU1lTS0VZRE9XTj0weDEwNCwgV01fU1lTS0VZVVA9MHgxMDU7DQogICAgY29uc3QgdWludCBMTEtIRl9JTkpFQ1RFRD0weDEwOyBjb25zdCB1aW50IEtFWUVWRU5URl9LRVlVUD0weDIsIEtFWUVWRU5URl9VTklDT0RFPTB4NDsgY29uc3QgdXNob3J0IFZLX0JBQ0s9MHgwODsNCiAgICBzdGF0aWMgYm9vbCBJc01vZGlmaWVyKGludCB2ayl7IHJldHVybiB2az09MHgxMHx8dms9PTB4QTB8fHZrPT0weEExfHx2az09MHgxMXx8dms9PTB4QTJ8fHZr" & _
      "PT0weEEzfHx2az09MHgxMnx8dms9PTB4QTR8fHZrPT0weEE1fHx2az09MHgxNHx8dms9PTB4NUJ8fHZrPT0weDVDfHx2az09MHg5MHx8dms9PTB4OTE7IH0NCiAgICBzdGF0aWMgYm9vbCBEb3duKGludCB2ayl7IHJldHVybiAoR2V0QXN5bmNLZXlTdGF0ZSh2aykmMHg4MDAwKSE9MDsgfQ0KDQogICAgc3RhdGljIEludFB0ciBIb29rQ2FsbGJhY2soaW50IG5Db2RlLCBJbnRQdHIgd1BhcmFtLCBJbnRQdHIgbFBhcmFtKXsNCiAgICAgICAgaWYobkNvZGU8MCkgcmV0dXJuIENhbGxOZXh0SG9va0V4KF9ob29rLG5Db2RlLHdQYXJh" & _
      "bSxsUGFyYW0pOw0KICAgICAgICBLQkRMTEhPT0tTVFJVQ1Qgaz0oS0JETExIT09LU1RSVUNUKU1hcnNoYWwuUHRyVG9TdHJ1Y3R1cmUobFBhcmFtLHR5cGVvZihLQkRMTEhPT0tTVFJVQ1QpKTsNCiAgICAgICAgaWYoKGsuZmxhZ3MmTExLSEZfSU5KRUNURUQpIT0wKSByZXR1cm4gQ2FsbE5leHRIb29rRXgoX2hvb2ssbkNvZGUsd1BhcmFtLGxQYXJhbSk7DQogICAgICAgIGludCBtc2c9d1BhcmFtLlRvSW50MzIoKTsgYm9vbCBpc0Rvd249KG1zZz09V01fS0VZRE9XTnx8bXNnPT1XTV9TWVNLRVlET1dOKTsgYm9vbCBpc1VwPSht" & _
      "c2c9PVdNX0tFWVVQfHxtc2c9PVdNX1NZU0tFWVVQKTsNCiAgICAgICAgaW50IHZrPShpbnQpay52a0NvZGU7DQogICAgICAgIGJvb2wgc2hpZnQ9RG93bigweDEwKSxjdHJsPURvd24oMHgxMSksYWx0PURvd24oMHgxMiksd2luPURvd24oMHg1Qil8fERvd24oMHg1Qyk7IGJvb2wgY2Fwcz0oR2V0S2V5U3RhdGUoMHgxNCkmMSkhPTA7DQoNCiAgICAgICAgLyogZ2xvYmFsIHRvZ2dsZSBDdHJsK1NoaWZ0K0wgLS0gaGFuZGxlZCBoZXJlIHNvIGl0IGFsd2F5cyB3b3Jrczsgc3VwcHJlc3MgdGhlIGtleSAqLw0KICAgICAgICBpZih2" & _
      "az09MHg0QyAmJiBjdHJsICYmIHNoaWZ0ICYmICFhbHQgJiYgIXdpbil7DQogICAgICAgICAgICBpZihpc0Rvd24peyBfb249IV9vbjsgUmVzZXRSdW4oKTsgfQ0KICAgICAgICAgICAgcmV0dXJuIChJbnRQdHIpMTsNCiAgICAgICAgfQ0KICAgICAgICBpZighX29uKSByZXR1cm4gQ2FsbE5leHRIb29rRXgoX2hvb2ssbkNvZGUsd1BhcmFtLGxQYXJhbSk7DQoNCiAgICAgICAgYm9vbCBpc0xldHRlcj12az49MHg0MSYmdms8PTB4NUE7DQogICAgICAgIGNoYXIgaW5wdXRDaD0nXDAnOyBib29sIGlzSW5wdXQ9ZmFsc2U7DQogICAg" & _
      "ICAgIGlmKCFjdHJsJiYhYWx0JiYhd2luKXsNCiAgICAgICAgICAgIGlmKGlzTGV0dGVyKXsgYm9vbCB1cD1zaGlmdF5jYXBzOyBpbnB1dENoPShjaGFyKSgodXA/J0EnOidhJykrKHZrLTB4NDEpKTsgaXNJbnB1dD10cnVlOyB9DQogICAgICAgICAgICBlbHNlIGlmKCFJc01vZGlmaWVyKHZrKSAmJiB2ayE9VktfQkFDSyl7IGlmKENoYXJGcm9tS2V5KHZrLGsuc2NhbkNvZGUsc2hpZnQsY2Fwcyk9PSInIil7IGlucHV0Q2g9J1wnJzsgaXNJbnB1dD10cnVlOyB9IH0NCiAgICAgICAgfQ0KICAgICAgICBpZihpc0Rvd24pew0KICAg" & _
      "ICAgICAgICAgaWYoSXNNb2RpZmllcih2aykpIHJldHVybiBDYWxsTmV4dEhvb2tFeChfaG9vayxuQ29kZSx3UGFyYW0sbFBhcmFtKTsNCiAgICAgICAgICAgIGlmKGN0cmx8fGFsdHx8d2luKXsgRmx1c2goKTsgcmV0dXJuIENhbGxOZXh0SG9va0V4KF9ob29rLG5Db2RlLHdQYXJhbSxsUGFyYW0pOyB9DQogICAgICAgICAgICBpZihpc0lucHV0KXsgSGFuZGxlQ2hhcihpbnB1dENoKTsgcmV0dXJuIChJbnRQdHIpMTsgfQ0KICAgICAgICAgICAgaWYodms9PVZLX0JBQ0speyBSZXNldFJ1bigpOyByZXR1cm4gQ2FsbE5leHRIb29r" & _
      "RXgoX2hvb2ssbkNvZGUsd1BhcmFtLGxQYXJhbSk7IH0NCiAgICAgICAgICAgIEZsdXNoKCk7IHJldHVybiBDYWxsTmV4dEhvb2tFeChfaG9vayxuQ29kZSx3UGFyYW0sbFBhcmFtKTsNCiAgICAgICAgfQ0KICAgICAgICBpZihpc1VwKXsgaWYoaXNJbnB1dCkgcmV0dXJuIChJbnRQdHIpMTsgcmV0dXJuIENhbGxOZXh0SG9va0V4KF9ob29rLG5Db2RlLHdQYXJhbSxsUGFyYW0pOyB9DQogICAgICAgIHJldHVybiBDYWxsTmV4dEhvb2tFeChfaG9vayxuQ29kZSx3UGFyYW0sbFBhcmFtKTsNCiAgICB9DQoNCiAgICBzdGF0aWMgc3Ry" & _
      "aW5nIENoYXJGcm9tS2V5KGludCB2aywgdWludCBzY2FuLCBib29sIHNoaWZ0LCBib29sIGNhcHMpew0KICAgICAgICBieXRlW10ga3MgPSBuZXcgYnl0ZVsyNTZdOw0KICAgICAgICBpZihzaGlmdCl7IGtzWzB4MTBdPTB4ODA7IGtzWzB4QTBdPTB4ODA7IH0NCiAgICAgICAgaWYoY2Fwcykga3NbMHgxNF09MHgwMTsNCiAgICAgICAgSW50UHRyIGhrbCA9IEdldEtleWJvYXJkTGF5b3V0KEdldFdpbmRvd1RocmVhZFByb2Nlc3NJZChHZXRGb3JlZ3JvdW5kV2luZG93KCksIEludFB0ci5aZXJvKSk7DQogICAgICAgIFN5c3RlbS5U" & _
      "ZXh0LlN0cmluZ0J1aWxkZXIgc2IgPSBuZXcgU3lzdGVtLlRleHQuU3RyaW5nQnVpbGRlcig4KTsNCiAgICAgICAgaW50IHIgPSBUb1VuaWNvZGVFeCgodWludCl2aywgc2Nhbiwga3MsIHNiLCBzYi5DYXBhY2l0eSwgMCwgaGtsKTsNCiAgICAgICAgaWYociA8IDApeyBUb1VuaWNvZGVFeCgodWludCl2aywgc2Nhbiwga3MsIHNiLCBzYi5DYXBhY2l0eSwgMCwgaGtsKTsgcmV0dXJuICIiOyB9DQogICAgICAgIGlmKHIgPT0gMSkgcmV0dXJuIHNiLlRvU3RyaW5nKCk7DQogICAgICAgIHJldHVybiAiIjsNCiAgICB9DQogICAgcHVi" & _
      "bGljIHN0YXRpYyBzdHJpbmcgU3RhcnQoKXsNCiAgICAgICAgaWYoX2hvb2shPUludFB0ci5aZXJvKXsgX29uPXRydWU7IHJldHVybiAiIjsgfQ0KICAgICAgICBpZihNLkNvdW50PT0wKSBJbml0TWFwKCk7DQogICAgICAgIF9wcm9jPUhvb2tDYWxsYmFjazsgX2hvb2s9U2V0V2luZG93c0hvb2tFeChXSF9LRVlCT0FSRF9MTCxfcHJvYyxHZXRNb2R1bGVIYW5kbGUobnVsbCksMCk7DQogICAgICAgIGlmKF9ob29rPT1JbnRQdHIuWmVybykgcmV0dXJuICJTZXRXaW5kb3dzSG9va0V4IGZhaWxlZDogIitNYXJzaGFsLkdldExhc3RX" & _
      "aW4zMkVycm9yKCk7DQogICAgICAgIF9vbj10cnVlOyBSZXNldFJ1bigpOyByZXR1cm4gIiI7DQogICAgfQ0KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBTdG9wKCl7IGlmKF9ob29rIT1JbnRQdHIuWmVybyl7IFVuaG9va1dpbmRvd3NIb29rRXgoX2hvb2spOyBfaG9vaz1JbnRQdHIuWmVybzsgfSBfb249ZmFsc2U7IFJlc2V0UnVuKCk7IH0NCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgU2V0T24oYm9vbCB2KXsgX29uPXY7IFJlc2V0UnVuKCk7IH0NCiAgICBwdWJsaWMgc3RhdGljIGJvb2wgSXNPbigpeyByZXR1cm4gX29uICYmIF9o" & _
      "b29rIT1JbnRQdHIuWmVybzsgfQ0KDQogICAgc3RhdGljIElOUFVUIEtiVW5pKGNoYXIgY2gsYm9vbCB1cCl7IElOUFVUIGk9bmV3IElOUFVUKCk7IGkudHlwZT0xOyBpLlUua2kud1ZrPTA7IGkuVS5raS53U2Nhbj0odXNob3J0KWNoOyBpLlUua2kuZHdGbGFncz1LRVlFVkVOVEZfVU5JQ09ERXwodXA/S0VZRVZFTlRGX0tFWVVQOjB1KTsgaS5VLmtpLnRpbWU9MDsgaS5VLmtpLmR3RXh0cmFJbmZvPUludFB0ci5aZXJvOyByZXR1cm4gaTsgfQ0KICAgIHN0YXRpYyBJTlBVVCBLYlZrKHVzaG9ydCB2ayxib29sIHVwKXsgSU5QVVQg" & _
      "aT1uZXcgSU5QVVQoKTsgaS50eXBlPTE7IGkuVS5raS53Vms9dms7IGkuVS5raS53U2Nhbj0wOyBpLlUua2kuZHdGbGFncz0odXA/S0VZRVZFTlRGX0tFWVVQOjB1KTsgaS5VLmtpLnRpbWU9MDsgaS5VLmtpLmR3RXh0cmFJbmZvPUludFB0ci5aZXJvOyByZXR1cm4gaTsgfQ0KICAgIFtTdHJ1Y3RMYXlvdXQoTGF5b3V0S2luZC5TZXF1ZW50aWFsKV0gc3RydWN0IEtCRExMSE9PS1NUUlVDVCB7IHB1YmxpYyB1aW50IHZrQ29kZTsgcHVibGljIHVpbnQgc2NhbkNvZGU7IHB1YmxpYyB1aW50IGZsYWdzOyBwdWJsaWMgdWludCB0aW1l" & _
      "OyBwdWJsaWMgSW50UHRyIGR3RXh0cmFJbmZvOyB9DQogICAgW1N0cnVjdExheW91dChMYXlvdXRLaW5kLlNlcXVlbnRpYWwpXSBzdHJ1Y3QgSU5QVVQgeyBwdWJsaWMgdWludCB0eXBlOyBwdWJsaWMgSW5wdXRVbmlvbiBVOyB9DQogICAgW1N0cnVjdExheW91dChMYXlvdXRLaW5kLkV4cGxpY2l0KV0gc3RydWN0IElucHV0VW5pb24geyBbRmllbGRPZmZzZXQoMCldIHB1YmxpYyBNT1VTRUlOUFVUIG1pOyBbRmllbGRPZmZzZXQoMCldIHB1YmxpYyBLRVlCRElOUFVUIGtpOyBbRmllbGRPZmZzZXQoMCldIHB1YmxpYyBIQVJEV0FS" & _
      "RUlOUFVUIGhpOyB9DQogICAgW1N0cnVjdExheW91dChMYXlvdXRLaW5kLlNlcXVlbnRpYWwpXSBzdHJ1Y3QgS0VZQkRJTlBVVCB7IHB1YmxpYyB1c2hvcnQgd1ZrOyBwdWJsaWMgdXNob3J0IHdTY2FuOyBwdWJsaWMgdWludCBkd0ZsYWdzOyBwdWJsaWMgdWludCB0aW1lOyBwdWJsaWMgSW50UHRyIGR3RXh0cmFJbmZvOyB9DQogICAgW1N0cnVjdExheW91dChMYXlvdXRLaW5kLlNlcXVlbnRpYWwpXSBzdHJ1Y3QgTU9VU0VJTlBVVCB7IHB1YmxpYyBpbnQgZHg7IHB1YmxpYyBpbnQgZHk7IHB1YmxpYyB1aW50IG1vdXNlRGF0YTsg" & _
      "cHVibGljIHVpbnQgZHdGbGFnczsgcHVibGljIHVpbnQgdGltZTsgcHVibGljIEludFB0ciBkd0V4dHJhSW5mbzsgfQ0KICAgIFtTdHJ1Y3RMYXlvdXQoTGF5b3V0S2luZC5TZXF1ZW50aWFsKV0gc3RydWN0IEhBUkRXQVJFSU5QVVQgeyBwdWJsaWMgdWludCB1TXNnOyBwdWJsaWMgdXNob3J0IHdQYXJhbUw7IHB1YmxpYyB1c2hvcnQgd1BhcmFtSDsgfQ0KICAgIFtEbGxJbXBvcnQoInVzZXIzMi5kbGwiLCBTZXRMYXN0RXJyb3I9dHJ1ZSldIHN0YXRpYyBleHRlcm4gSW50UHRyIFNldFdpbmRvd3NIb29rRXgoaW50IGlkSG9vaywg" & _
      "SG9va1Byb2MgbHBmbiwgSW50UHRyIGhNb2QsIHVpbnQgZHdUaHJlYWRJZCk7DQogICAgW0RsbEltcG9ydCgidXNlcjMyLmRsbCIsIFNldExhc3RFcnJvcj10cnVlKV0gc3RhdGljIGV4dGVybiBib29sIFVuaG9va1dpbmRvd3NIb29rRXgoSW50UHRyIGhoayk7DQogICAgW0RsbEltcG9ydCgidXNlcjMyLmRsbCIsIFNldExhc3RFcnJvcj10cnVlKV0gc3RhdGljIGV4dGVybiBJbnRQdHIgQ2FsbE5leHRIb29rRXgoSW50UHRyIGhoaywgaW50IG5Db2RlLCBJbnRQdHIgd1BhcmFtLCBJbnRQdHIgbFBhcmFtKTsNCiAgICBbRGxsSW1w" & _
      "b3J0KCJrZXJuZWwzMi5kbGwiLCBTZXRMYXN0RXJyb3I9dHJ1ZSldIHN0YXRpYyBleHRlcm4gSW50UHRyIEdldE1vZHVsZUhhbmRsZShzdHJpbmcgbHBNb2R1bGVOYW1lKTsNCiAgICBbRGxsSW1wb3J0KCJ1c2VyMzIuZGxsIiwgU2V0TGFzdEVycm9yPXRydWUpXSBzdGF0aWMgZXh0ZXJuIHVpbnQgU2VuZElucHV0KHVpbnQgbklucHV0cywgSU5QVVRbXSBwSW5wdXRzLCBpbnQgY2JTaXplKTsNCiAgICBbRGxsSW1wb3J0KCJ1c2VyMzIuZGxsIildIHN0YXRpYyBleHRlcm4gc2hvcnQgR2V0QXN5bmNLZXlTdGF0ZShpbnQgdktleSk7" & _
      "DQogICAgW0RsbEltcG9ydCgidXNlcjMyLmRsbCIpXSBzdGF0aWMgZXh0ZXJuIHNob3J0IEdldEtleVN0YXRlKGludCBuVmlydEtleSk7DQogICAgW0RsbEltcG9ydCgidXNlcjMyLmRsbCIpXSBzdGF0aWMgZXh0ZXJuIGludCBUb1VuaWNvZGVFeCh1aW50IHdWaXJ0S2V5LCB1aW50IHdTY2FuQ29kZSwgYnl0ZVtdIGxwS2V5U3RhdGUsIFN5c3RlbS5UZXh0LlN0cmluZ0J1aWxkZXIgcHdzekJ1ZmYsIGludCBjY2hCdWZmLCB1aW50IHdGbGFncywgSW50UHRyIGR3aGtsKTsNCiAgICBbRGxsSW1wb3J0KCJ1c2VyMzIuZGxsIildIHN0" & _
      "YXRpYyBleHRlcm4gSW50UHRyIEdldEtleWJvYXJkTGF5b3V0KHVpbnQgaWRUaHJlYWQpOw0KICAgIFtEbGxJbXBvcnQoInVzZXIzMi5kbGwiKV0gc3RhdGljIGV4dGVybiBJbnRQdHIgR2V0Rm9yZWdyb3VuZFdpbmRvdygpOw0KICAgIFtEbGxJbXBvcnQoInVzZXIzMi5kbGwiKV0gc3RhdGljIGV4dGVybiB1aW50IEdldFdpbmRvd1RocmVhZFByb2Nlc3NJZChJbnRQdHIgaFduZCwgSW50UHRyIGxwZHdQcm9jZXNzSWQpOw0KfQ0KJ0ANCiAgICBBZGQtVHlwZSAtVHlwZURlZmluaXRpb24gJGNzIC1MYW5ndWFnZSBDU2hhcnANCg0K" & _
      "ICAgICR3aW5kb3cgPSBOZXctT2JqZWN0IFN5c3RlbS5XaW5kb3dzLldpbmRvdw0KICAgICR3aW5kb3cuVGl0bGUgPSAidHJhbnNsaXQudWsiDQogICAgJHdpbmRvdy5XaWR0aCA9IDM2MA0KICAgICR3aW5kb3cuSGVpZ2h0ID0gNDEwDQogICAgJHdpbmRvdy5XaW5kb3dTdGFydHVwTG9jYXRpb24gPSAnQ2VudGVyU2NyZWVuJw0KICAgICR3aW5kb3cuUmVzaXplTW9kZSA9ICdOb1Jlc2l6ZScNCiAgICAkd2luZG93LkJhY2tncm91bmQgPSBbU3lzdGVtLldpbmRvd3MuTWVkaWEuQnJ1c2hlc106OldoaXRlDQogICAgJGljb25CNjQg" & _
      "PSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFFcFVsRVFWUjRuTzFiWDJ4VFZSeitlbSszL3RuYXVvNVZIQXkwb0EyVFFSaTZpYkQ1WjZOYjJkald0WHZBQjJPTUx5WkdnNXI0WkdMMHlaaGdqS2h2SnVLREw0YTBVMHhvaXhMSGpDQVJsV0EwU2hOSEJndHpvMk5idDdMdVhsOW83WHB1ZSsvdDdlM3AybjV2OXp2bjluZSs3L3pPMzdZYXlNQ21MZnQ1T2ZWcFlYSmlYQ08xcm1qRjlTSTZFOFRNWUxJVnJuZnhnTGdHUVhkS1FiZ1FoTEtCeUlCU0ZROElhMlBFS3BRYTBqVm1uUVBLQVVrRHlxSDNF" & _
      "MGpWeXFRVDVZS0U1c29Rb04wQTJ0Q1VZL3Fub3V3em9HSUE3UWJRUnNVQTJnMmdqWW9CdEJ0QUcxcWxIOURZYU1PUDQxK0NZWVM5OVBsRGVPbmx0NVNHVVEyS004RHJjV1VVRHdDOVBSMHdtV3FWaGxFTnlnMFk3czFhcnRmcjBOLzNsTkl3cWtHUkFYdGJkOEp1YnhLdE4rSjFLUW1qS2hRWklGVlkyNk83c0hYckppV2hWRVBPQnVoMDFSZzQzRVh3YzNQemd2VzludXhEaFJaeU5xREgyUUd6bVp6Y1BqeCtBamR1M0NSNHI2Y1hHbzNrN3lzS2hwd05FRXAvanVQZ0d3MWg5T3R2aWJLbXpmZWh2WDEzcnVGVVEwNEdORFJZMGRuUlJ2RG5M" & _
      "L3lLcWFscCtQMUJ3ZmRHUE1VM0dlWmtnTWZkQTVZbFgvWGRGZjdiNVQ4UkRsOGp5dnY3bm9iQm9NOGxwR3JJeVFDaDlJL0g0emoxemRua3MvK3JFRkducHNZQVYrOFR1WVJVRGJJTjJOWGlnTU5oSi9qdnpwNUhKSEk3K2V6M2t3WUF4YmNua0gwV3lDVEFsemJ1Lzc3NkQ2NzgvaGNlYm41d0RiLy84VlkwTnRwdy9mci9LMFV0dytOUTdSMDhabHpCL1ZXcnNMSTg5QXd2MmpzZnpScndXVVRaa0pLVkFWcXRGb01EQndsK2NYRUpnZUE1Z2hmS0FvWmhNT3p1U1Q2MzZ1TTQyVFNIMXpkRWNjQzRnczFWSEl3U3hPY0xzdUowZCsyRDFXb2gr" & _
      "RUJ3REV0THl3VHZIdzJCNThsTDUwUVcxYkU4M3R1NGdIdFllaGZUc29hQTEzTklrSGNQT2VFZWNrcituRzMyTGRpenB4bU84Q1dZR0xxMzhwSU5zRm90Nk83YWw3ZkFJeDRYb2g5Y0ZDeDdmOGFJMHd0VmlLd3k0QUFjTUs3ZzJNYUZ2TVZPaGVRaE1EVG9oRmFyK1A0a2ljR0JicXhxeVBEem5BWmZ6T2t3ZTFlODJwQnNRTDZYTDR2RkJOMDJCOEdiR0I1SExERllXYTRnRTZHa0xuVTQ3R2paK1JEQi8zVHhNdHllRjBYZmYyUnZDM3duUHlGNCs3UFA0L2E3cjhDY05nOGNyWS9pYUwyVWxpbUhKSk16OVg1UVlPa1R3cytYcnVEZm1Wc0Uz" & _
      "K2w4RWgvSGJLQTVEWW9hd0xJTWhqUE04S2NEWTVLQ2NCeUhNMmQrSUhpdGxrVjlueHR2VDljZ3h0TTVLb3NhME5uUkJwdU56TWR3K0JxdWhpY2tCd3FHeGdYNUVhOExwK2FyOGVrdE9vY2tVUU15cFg4Z0pDMzlFL2grN0FKaXNUc0UzN3hqTzlwM1BJQm5MT1JHNnAzcEdyU0Y2L0RxbEhxM3lrWHgrNEEzR3haeDJMVFduRDlpTEo2Yk5HZmRCeFQ4TEtBR2R1dmo2RGVSbVhGc3hsaGMrd0Exd0dxQU56WkVpWityQmhhcThjdHkvalpkMlVEVmdDUG1aV3l2WGwzRHhYZ05qczhhQ3RZR2FnYmNxK1h3UWgwNThaMkk2REFWTDF5enFCbndX" & _
      "bjBVeHJRZDRNMDRnODhWVG1weVVSU3JBRTFRWHdWb28ySUE3UWJRQmlQbkQwYWxoc21KY1lFcm1USkR4UUJBM3Yvc1NnVUp6VXc2VVE1STFWb1pBcWtQNVpBRjZScUpEQ2hsRTRTMFpSVmJLdWVFYkoyYWRRNG9oV3dRMHlCTDRIckpDRGtkOXg4dFYwOE5lQnV6OUFBQUFBQkpSVTVFcmtKZ2dnPT0iDQogICAgdHJ5IHsNCiAgICAgICAgJGliID0gW0NvbnZlcnRdOjpGcm9tQmFzZTY0U3RyaW5nKCRpY29uQjY0KQ0KICAgICAgICAkbXMgPSBOZXctT2JqZWN0IFN5c3RlbS5JTy5NZW1vcnlTdHJlYW0oLCRpYikNCiAgICAgICAgJGJp" & _
      "ID0gTmV3LU9iamVjdCBTeXN0ZW0uV2luZG93cy5NZWRpYS5JbWFnaW5nLkJpdG1hcEltYWdlDQogICAgICAgICRiaS5CZWdpbkluaXQoKTsgJGJpLlN0cmVhbVNvdXJjZSA9ICRtczsgJGJpLkNhY2hlT3B0aW9uID0gJ09uTG9hZCc7ICRiaS5FbmRJbml0KCkNCiAgICAgICAgJHdpbmRvdy5JY29uID0gJGJpDQogICAgfSBjYXRjaCB7IH0NCg0KICAgICRzdGFjayA9IE5ldy1PYmplY3QgU3lzdGVtLldpbmRvd3MuQ29udHJvbHMuU3RhY2tQYW5lbA0KICAgICRzdGFjay5NYXJnaW4gPSAiMjQiOyAkc3RhY2suSG9yaXpvbnRhbEFs" & _
      "aWdubWVudCA9ICdDZW50ZXInDQoNCiAgICAkdGl0bGUgPSBOZXctT2JqZWN0IFN5c3RlbS5XaW5kb3dzLkNvbnRyb2xzLlRleHRCbG9jaw0KICAgICR0aXRsZS5UZXh0ID0gInRyYW5zbGl0LnVrIjsgJHRpdGxlLkZvbnRTaXplID0gMjI7ICR0aXRsZS5Gb250V2VpZ2h0ID0gJ0JvbGQnOyAkdGl0bGUuSG9yaXpvbnRhbEFsaWdubWVudCA9ICdDZW50ZXInDQogICAgJHN0YWNrLkNoaWxkcmVuLkFkZCgkdGl0bGUpIHwgT3V0LU51bGwNCg0KICAgICRoaW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uV2luZG93cy5Db250cm9scy5UZXh0" & _
      "QmxvY2sNCiAgICAkaGludC5UZXh0ID0gItCf0LXRh9Cw0YLQsNC10YjRjCDQu9Cw0YLQuNC90LjRhtC10LkgLS0g0LLRi9GF0L7QtNC40YIg0LrQuNGA0LjQu9C70LjRhtCwLiDQktC+INCy0YHQtdGFINC/0YDQvtCz0YDQsNC80LzQsNGFLiINCiAgICAkaGludC5Gb250U2l6ZSA9IDEyOyAkaGludC5Gb3JlZ3JvdW5kPVtTeXN0ZW0uV2luZG93cy5NZWRpYS5CcnVzaGVzXTo6R3JheTsgJGhpbnQuVGV4dEFsaWdubWVudD0nQ2VudGVyJzsgJGhpbnQuVGV4dFdyYXBwaW5nPSdXcmFwJzsgJGhpbnQuTWFyZ2luPSIwLDgsMCwwIg0K" & _
      "ICAgICRzdGFjay5DaGlsZHJlbi5BZGQoJGhpbnQpIHwgT3V0LU51bGwNCg0KICAgICRidG4gPSBOZXctT2JqZWN0IFN5c3RlbS5XaW5kb3dzLkNvbnRyb2xzLkJ1dHRvbg0KICAgICRidG4uV2lkdGggPSAyMTA7ICRidG4uSGVpZ2h0ID0gNTY7ICRidG4uTWFyZ2luID0gIjAsMTgsMCwwIjsgJGJ0bi5Gb250U2l6ZSA9IDIwOyAkYnRuLkZvbnRXZWlnaHQgPSAnQm9sZCcNCiAgICAkYnRuLkZvcmVncm91bmQgPSBbU3lzdGVtLldpbmRvd3MuTWVkaWEuQnJ1c2hlc106OldoaXRlOyAkYnRuLkJvcmRlclRoaWNrbmVzcyA9IDANCiAg" & _
      "ICAkc3RhY2suQ2hpbGRyZW4uQWRkKCRidG4pIHwgT3V0LU51bGwNCg0KICAgICRzdGF0dXMgPSBOZXctT2JqZWN0IFN5c3RlbS5XaW5kb3dzLkNvbnRyb2xzLlRleHRCbG9jaw0KICAgICRzdGF0dXMuRm9udFNpemUgPSAxMjsgJHN0YXR1cy5Ib3Jpem9udGFsQWxpZ25tZW50PSdDZW50ZXInOyAkc3RhdHVzLk1hcmdpbj0iMCwxMiwwLDAiDQogICAgJHN0YWNrLkNoaWxkcmVuLkFkZCgkc3RhdHVzKSB8IE91dC1OdWxsDQoNCiAgICAkdG9wbW9zdCA9IE5ldy1PYmplY3QgU3lzdGVtLldpbmRvd3MuQ29udHJvbHMuQ2hlY2tCb3gN" & _
      "CiAgICAkdG9wbW9zdC5Db250ZW50ID0gItCf0L7QstC10YDRhSDQstGB0LXRhSDQvtC60L7QvSINCiAgICAkdG9wbW9zdC5Gb250U2l6ZSA9IDEyOyAkdG9wbW9zdC5Ib3Jpem9udGFsQWxpZ25tZW50ID0gJ0NlbnRlcic7ICR0b3Btb3N0Lk1hcmdpbiA9ICIwLDE0LDAsMCINCiAgICAkdG9wbW9zdC5BZGRfQ2hlY2tlZCh7ICR3aW5kb3cuVG9wbW9zdCA9ICR0cnVlIH0pDQogICAgJHRvcG1vc3QuQWRkX1VuY2hlY2tlZCh7ICR3aW5kb3cuVG9wbW9zdCA9ICRmYWxzZSB9KQ0KICAgICRzdGFjay5DaGlsZHJlbi5BZGQoJHRvcG1v" & _
      "c3QpIHwgT3V0LU51bGwNCg0KICAgICRmb290ID0gTmV3LU9iamVjdCBTeXN0ZW0uV2luZG93cy5Db250cm9scy5UZXh0QmxvY2sNCiAgICAkZm9vdC5UZXh0ID0gItCT0L7RgNGP0YfQsNGPINC60LvQsNCy0LjRiNCwOiAgQ3RybCArIFNoaWZ0ICsgTCAgLS0g0LLQutC7L9Cy0YvQutC7LiIgKyBbRW52aXJvbm1lbnRdOjpOZXdMaW5lICsgItCX0LDQutGA0L7QuSDQvtC60L3Qviwg0YfRgtC+0LHRiyDQstGL0LnRgtC4LiINCiAgICAkZm9vdC5Gb250U2l6ZSA9IDExOyAkZm9vdC5Gb3JlZ3JvdW5kPVtTeXN0ZW0uV2luZG93cy5N" & _
      "ZWRpYS5CcnVzaGVzXTo6R3JheTsgJGZvb3QuVGV4dEFsaWdubWVudD0nQ2VudGVyJzsgJGZvb3QuVGV4dFdyYXBwaW5nPSdXcmFwJzsgJGZvb3QuTWFyZ2luPSIwLDEyLDAsMCINCiAgICAkc3RhY2suQ2hpbGRyZW4uQWRkKCRmb290KSB8IE91dC1OdWxsDQoNCiAgICAkaGVscCA9IE5ldy1PYmplY3QgU3lzdGVtLldpbmRvd3MuQ29udHJvbHMuQnV0dG9uDQogICAgJGhlbHAuQ29udGVudCA9ICLQn9C+0LzQvtGJ0YwiOyAkaGVscC5XaWR0aCA9IDEwMDsgJGhlbHAuSGVpZ2h0ID0gMzA7ICRoZWxwLk1hcmdpbiA9ICIwLDE0LDAs" & _
      "MCI7ICRoZWxwLkZvbnRTaXplID0gMTINCiAgICAkaGVscC5CYWNrZ3JvdW5kID0gW1N5c3RlbS5XaW5kb3dzLk1lZGlhLkJydXNoZXNdOjpXaGl0ZTsgJGhlbHAuRm9yZWdyb3VuZCA9IFtTeXN0ZW0uV2luZG93cy5NZWRpYS5CcnVzaGVzXTo6RGltR3JheQ0KICAgICRzdGFjay5DaGlsZHJlbi5BZGQoJGhlbHApIHwgT3V0LU51bGwNCg0KICAgICR3aW5kb3cuQ29udGVudCA9ICRzdGFjaw0KDQogICAgJGhlbHBUZXh0ID0gQCcNCnRyYW5zbGl0LnVrIC0tIHBlY2hhdCB0cmFuc2xpdG9tIHZvIHZzZWggcHJvZ3JhbW1haA0KDQoN" & _
      "CktBSyBQT0xaT1ZBVFNZQQ0KDQogINCf0LXRh9Cw0YLQsNC5INC70LDRgtC40L3QuNGG0LXQuSDQsiDQu9GO0LHQvtC8INC+0LrQvdC1ICjQsdGA0LDRg9C30LXRgCwgV29yZCwgVGVsZWdyYW0pIC0tDQogINCy0YvRhdC+0LTQuNGCINC60LjRgNC40LvQu9C40YbQsCDQvdCwINC70LXRgtGDOg0KDQogICAgIHByaXZldCAgLT4gINC/0YDQuNCy0LXRgg0KICAgICBqbyAgICAgIC0+ICDRkQ0KICAgICBzaCwgc2hjaCwgY2gsIHpoLCBraA0KICAgICDQsNC/0L7RgdGC0YDQvtGEICAtPiAg0LzRj9Cz0LrQuNC5INC30L3QsNC6DQoN" & _
      "CiAg0KDQtdCz0LjRgdGC0YAg0YHQvtGF0YDQsNC90Y/QtdGC0YHRjzogIFNhc2hhIC0+INCh0LDRiNCwLg0KICAi0KXQstC+0YHRgiIgKNC90LDQv9GA0LjQvNC10YAg0YTQuNC90LDQu9GM0L3QsNGPIHMpINGE0LjQutGB0LjRgNGD0LXRgtGB0Y8sINC60L7Qs9C00LAg0LbQvNGR0YjRjA0KICDQv9GA0L7QsdC10LssINC30L3QsNC6INC/0YDQtdC/0LjQvdCw0L3QuNGPINC40LvQuCBFbnRlci4NCg0KDQpVUFJBVkxFTklFDQoNCiAgKiDQmtC90L7Qv9C60LAgItCS0LrQu9GO0YfQuNGC0YwiIC8gItCS0YvQutC70Y7Rh9C40YLR" & _
      "jCIuDQogICogQ3RybCtTaGlmdCtMIC0tINGC0L4g0LbQtSDQs9C+0YDRj9GH0LXQuSDQutC70LDQstC40YjQtdC5ICjQvtC60L3QviDQvNC+0LbQvdC+INGB0LLQtdGA0L3Rg9GC0YwpLg0KICAqINCT0LDQu9C+0YfQutCwICLQn9C+0LLQtdGA0YUg0LLRgdC10YUg0L7QutC+0L0iIC0tINC00LXRgNC20LDRgtGMINC+0LrQvdC+INC/0L7QstC10YDRhSDQvtGB0YLQsNC70YzQvdGL0YUuDQogICog0JfQsNC60YDRi9GC0Ywg0L7QutC90L4gLS0g0LLRi9C50YLQuC4NCg0KDQpBVlRPWkFQVVNLIFBSSSBWSE9ERQ0KDQogIFdpbitS" & _
      "ICAtPiAgc2hlbGw6c3RhcnR1cCAgLT4gINC/0L7Qu9C+0LbQuCDRgtGD0LTQsCDRj9GA0LvRi9C6INC90LAg0Y3RgtC+0YIg0YTQsNC50LsuDQoNCg0KUFJJVkFUTk9TVA0KDQogINCg0LDQsdC+0YLQsNC10YIg0LvQvtC60LDQu9GM0L3Qviwg0LHQtdC3INC/0YDQsNCyINCw0LTQvNC40L3QuNGB0YLRgNCw0YLQvtGA0LAsINC90LjRh9C10LPQviDQvdC1DQogINC+0YLQv9GA0LDQstC70Y/QtdGCLiDQldGB0LvQuCDQsNC90YLQuNCy0LjRgNGD0YEg0L/RgNC10LTRg9C/0YDQtdC20LTQsNC10YIg0L4g0L/QtdGA0LXRhdCy0LDR" & _
      "gtC1DQogINC60LvQsNCy0LjQsNGC0YPRgNGLIC0tINC00LvRjyDRgtCw0LrQvtCz0L4g0LjQvdGB0YLRgNGD0LzQtdC90YLQsCDRjdGC0L4g0L7QttC40LTQsNC10LzQviwg0YDQsNC30YDQtdGI0LguDQonQA0KDQogICAgZnVuY3Rpb24gU2hvdy1IZWxwIHsNCiAgICAgICAgJGh3ID0gTmV3LU9iamVjdCBTeXN0ZW0uV2luZG93cy5XaW5kb3cNCiAgICAgICAgJGh3LlRpdGxlID0gItCf0L7QvNC+0YnRjCAtLSB0cmFuc2xpdC51ayINCiAgICAgICAgJGh3LldpZHRoID0gNDcwOyAkaHcuSGVpZ2h0ID0gNTIwDQogICAgICAgICRo" & _
      "dy5XaW5kb3dTdGFydHVwTG9jYXRpb24gPSAnQ2VudGVyU2NyZWVuJw0KICAgICAgICAkaHcuQmFja2dyb3VuZCA9IFtTeXN0ZW0uV2luZG93cy5NZWRpYS5CcnVzaGVzXTo6V2hpdGUNCiAgICAgICAgaWYgKCR3aW5kb3cuSWNvbikgeyAkaHcuSWNvbiA9ICR3aW5kb3cuSWNvbiB9DQogICAgICAgICRzdiA9IE5ldy1PYmplY3QgU3lzdGVtLldpbmRvd3MuQ29udHJvbHMuU2Nyb2xsVmlld2VyDQogICAgICAgICRzdi5WZXJ0aWNhbFNjcm9sbEJhclZpc2liaWxpdHkgPSAnQXV0byc7ICRzdi5NYXJnaW4gPSAiMTgiDQogICAgICAg" & _
      "ICR0YiA9IE5ldy1PYmplY3QgU3lzdGVtLldpbmRvd3MuQ29udHJvbHMuVGV4dEJsb2NrDQogICAgICAgICR0Yi5UZXh0ID0gJGhlbHBUZXh0OyAkdGIuVGV4dFdyYXBwaW5nID0gJ1dyYXAnOyAkdGIuRm9udFNpemUgPSAxMw0KICAgICAgICAkdGIuRm9udEZhbWlseSA9IE5ldy1PYmplY3QgU3lzdGVtLldpbmRvd3MuTWVkaWEuRm9udEZhbWlseSgiU2Vnb2UgVUkiKTsgJHRiLkxpbmVIZWlnaHQgPSAyMA0KICAgICAgICAkc3YuQ29udGVudCA9ICR0YjsgJGh3LkNvbnRlbnQgPSAkc3YNCiAgICAgICAgJGh3LlNob3dEaWFsb2co" & _
      "KSB8IE91dC1OdWxsDQogICAgfQ0KDQogICAgZnVuY3Rpb24gU3luYy1CdG4gew0KICAgICAgICBpZiAoW1RyYW5zbGl0XTo6SXNPbigpKSB7DQogICAgICAgICAgICAkYnRuLkNvbnRlbnQgPSAi0JLRi9C60LvRjtGH0LjRgtGMIg0KICAgICAgICAgICAgJGJ0bi5CYWNrZ3JvdW5kID0gW1N5c3RlbS5XaW5kb3dzLk1lZGlhLkJydXNoZXNdOjpTZWFHcmVlbg0KICAgICAgICAgICAgJHN0YXR1cy5UZXh0ID0gItCS0LrQu9GO0YfQtdC90L4gLS0g0L/QtdGH0LDRgtCw0Lkg0LvQsNGC0LjQvdC40YbQtdC5INCyINC70Y7QsdC+0Lwg" & _
      "0L7QutC90LUuIg0KICAgICAgICAgICAgJHN0YXR1cy5Gb3JlZ3JvdW5kID0gW1N5c3RlbS5XaW5kb3dzLk1lZGlhLkJydXNoZXNdOjpTZWFHcmVlbg0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJGJ0bi5Db250ZW50ID0gItCS0LrQu9GO0YfQuNGC0YwiDQogICAgICAgICAgICAkYnRuLkJhY2tncm91bmQgPSBbU3lzdGVtLldpbmRvd3MuTWVkaWEuQnJ1c2hlc106OkluZGlhblJlZA0KICAgICAgICAgICAgJHN0YXR1cy5UZXh0ID0gItCS0YvQutC70Y7Rh9C10L3Qvi4iDQogICAgICAgICAgICAkc3RhdHVzLkZvcmVn" & _
      "cm91bmQgPSBbU3lzdGVtLldpbmRvd3MuTWVkaWEuQnJ1c2hlc106OkdyYXkNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgICRidG4uQWRkX0NsaWNrKHsgW1RyYW5zbGl0XTo6U2V0T24oLW5vdCBbVHJhbnNsaXRdOjpJc09uKCkpOyBTeW5jLUJ0biB9KQ0KICAgICRoZWxwLkFkZF9DbGljayh7IFNob3ctSGVscCB9KQ0KDQogICAgJHRpbWVyID0gTmV3LU9iamVjdCBTeXN0ZW0uV2luZG93cy5UaHJlYWRpbmcuRGlzcGF0Y2hlclRpbWVyDQogICAgJHRpbWVyLkludGVydmFsID0gW1RpbWVTcGFuXTo6RnJvbU1pbGxpc2Vjb25kcygy" & _
      "MDApDQogICAgJHRpbWVyLkFkZF9UaWNrKHsgU3luYy1CdG4gfSkNCg0KICAgICR3aW5kb3cuQWRkX0xvYWRlZCh7DQogICAgICAgICRlcnIgPSBbVHJhbnNsaXRdOjpTdGFydCgpDQogICAgICAgIGlmICgkZXJyKSB7IFtTeXN0ZW0uV2luZG93cy5NZXNzYWdlQm94XTo6U2hvdygi0J3QtSDRg9C00LDQu9C+0YHRjCDQstC60LvRjtGH0LjRgtGMOiAkZXJyIiwgInRyYW5zbGl0LnVrIikgfCBPdXQtTnVsbCB9DQogICAgICAgIFN5bmMtQnRuDQogICAgICAgICR0aW1lci5TdGFydCgpDQogICAgfSkNCiAgICAkd2luZG93LkFkZF9D" & _
      "bG9zaW5nKHsgJHRpbWVyLlN0b3AoKTsgW1RyYW5zbGl0XTo6U3RvcCgpIH0pDQoNCiAgICAkd2luZG93LlNob3dEaWFsb2coKSB8IE91dC1OdWxsDQp9DQpjYXRjaCB7DQogICAgdHJ5IHsgQWRkLVR5cGUgLUFzc2VtYmx5TmFtZSBTeXN0ZW0uV2luZG93cy5Gb3JtcyB9IGNhdGNoIHt9DQogICAgJG1zZyA9ICRfLkV4Y2VwdGlvbi5NZXNzYWdlICsgImBuYG4iICsgJF8uU2NyaXB0U3RhY2tUcmFjZQ0KICAgIHRyeSB7IFtTeXN0ZW0uV2luZG93cy5Gb3Jtcy5NZXNzYWdlQm94XTo6U2hvdygkbXNnLCAidHJhbnNsaXQudWsgLSBl" & _
      "cnJvciIpIHwgT3V0LU51bGwgfSBjYXRjaCB7IH0NCn0NCg=="

win = sh.ExpandEnvironmentStrings("%SystemRoot%")
cand = Array( _
    win & "\System32\WindowsPowerShell\v1.0\powershell.exe", _
    win & "\Sysnative\WindowsPowerShell\v1.0\powershell.exe", _
    win & "\SysWOW64\WindowsPowerShell\v1.0\powershell.exe", _
    "C:\Program Files\PowerShell\7\pwsh.exe", _
    "C:\Program Files (x86)\PowerShell\7\pwsh.exe" )
exe = ""
For i = 0 To UBound(cand)
    If fso.FileExists(cand(i)) Then exe = cand(i) : Exit For
Next
If exe = "" Then
    MsgBox "PowerShell not found on this PC.", vbCritical, "translit.uk"
    WScript.Quit
End If
If InStr(LCase(exe), "powershell.exe") > 0 Then staArg = " -STA" Else staArg = ""
Set env = sh.Environment("Process")
env("TR_B64") = b64
pscmd = "$b=[Convert]::FromBase64String($env:TR_B64);Invoke-Expression ([Text.Encoding]::UTF8.GetString($b))"
cmd = """" & exe & """" & staArg & " -ExecutionPolicy Bypass -WindowStyle Hidden -Command """ & pscmd & """"
sh.Run cmd, 0, False
