encoded_script='''ZnVuY3Rpb24gR2V0LVRlbXBlcmF0dXJlIHsNCiAgICAkdCA9IEdldC1XbWlPYmplY3QgTVNBY3Bp X1RoZXJtYWxab25lVGVtcGVyYXR1cmUgLU5hbWVzcGFjZSAicm9vdC93bWkiDQogICAgJHJldHVy bnRlbXAgPSBAKCkNCg0KICAgIGZvcmVhY2ggKCR0ZW1wIGluICR0LkN1cnJlbnRUZW1wZXJhdHVy ZSkNCiAgICB7DQoNCg0KICAgICRjdXJyZW50VGVtcEtlbHZpbiA9ICR0ZW1wIC8gMTANCiAgICAk Y3VycmVudFRlbXBDZWxzaXVzID0gJGN1cnJlbnRUZW1wS2VsdmluIC0gMjczLjE1DQoNCiAgICAk Y3VycmVudFRlbXBGYWhyZW5oZWl0ID0gKDkvNSkgKiAkY3VycmVudFRlbXBDZWxzaXVzICsgMzIN Cg0KICAgICRyZXR1cm50ZW1wICs9ICRjdXJyZW50VGVtcENlbHNpdXMuVG9TdHJpbmcoKSArICIg QyA6ICIgKyAkY3VycmVudFRlbXBGYWhyZW5oZWl0LlRvU3RyaW5nKCkgKyAiIEYgOiAiICsgJGN1 cnJlbnRUZW1wS2VsdmluICsgIksiICANCiAgICB9DQogICAgcmV0dXJuICRyZXR1cm50ZW1wDQp9 DQoNCkdldC1UZW1wZXJhdHVyZQ0KIyBTSUcgIyBCZWdpbiBzaWduYXR1cmUgYmxvY2sNCiMgTUlJ V1lBWUpLb1pJaHZjTkFRY0NvSUlXVVRDQ0ZrMENBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Ha0dDaXNH QVFRQg0KIyBnamNDQVFTZ1d6QlpNRFFHQ2lzR0FRUUJnamNDQVI0d0pnSURBUUFBQkJBZnpEdGdX VXNJVHJjazBzWXBmdk5SDQojIEFnRUFBZ0VBQWdFQUFnRUFBZ0VBTUNFd0NRWUZLdzREQWhvRkFB UVVoSURKeWdLaWxCb1llbUJ0OGV2dFl3M3ANCiMgNmsyZ2doQktNSUlFM0RDQ0E4U2dBd0lCQWdJ UkFQNW41UEZhSk9QR0RWUjhvQ0RDZG5Bd0RRWUpLb1pJaHZjTg0KIyBBUUVMQlFBd2ZqRUxNQWtH QTFVRUJoTUNVRXd4SWpBZ0JnTlZCQW9UR1ZWdWFYcGxkRzhnVkdWamFHNXZiRzluDQojIGFXVnpJ Rk11UVM0eEp6QWxCZ05WQkFzVEhrTmxjblIxYlNCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNt bDANCiMgZVRFaU1DQUdBMVVFQXhNWlEyVnlkSFZ0SUZSeWRYTjBaV1FnVG1WMGQyOXlheUJEUVRB ZUZ3MHhOakF6TURneA0KIyBNekV3TkROYUZ3MHlOekExTXpBeE16RXdORE5hTUhjeEN6QUpCZ05W QkFZVEFsQk1NU0l3SUFZRFZRUUtEQmxWDQojIGJtbDZaWFJ2SUZSbFkyaHViMnh2WjJsbGN5QlRM a0V1TVNjd0pRWURWUVFMREI1RFpYSjBkVzBnUTJWeWRHbG0NCiMgYVdOaGRHbHZiaUJCZFhSb2Iz SnBkSGt4R3pBWkJnTlZCQU1NRWtObGNuUjFiU0JGVmlCVVUwRWdVMGhCTWpDQw0KIyBBU0l3RFFZ SktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUw5WGk3eVJNMW91VnpGL0pWZjBXMU5Z DQojIGFpV3E2SUVnekEwZFJ6aHdHcU1XTjUyM1JIUzFHb0VrK3ZVWVNqaExDNkM2eGI4MGIrcU05 WjFDR3RBeHFGYmQNCiMgcUNVT3REd2x4YXpHeTF6amdKTHFvNjh0QUVCQWZOSkJLQjhyQ09oUjBG MkpjQ0pzYVhiUWRoSThMa3NIS1NicA0KIyArQUhoME9VbzlpVERGZnFta0lSMGhWeURMQTdFMm5o SmxHb2RKSWFYNlNMQXhndzE0SFF5cWoyN0FkaCt6Qk5NDQojIElNZVZMVW4yOFMwWHZNWXA5L2hW ZHB4OUZkemU0VUtWazJDWjkwUEZsRUlodlppc0hMTm0zUDE0WUVRL1BjU1YNCiMgYVdmdVljdmEw TG5tZHZlaFB3VDAwK2R4cnlFQ1hoSGFVNlNtdFpGNDJaQVJXN1NoN3FkdUN0bHpwRGdGVWlNQw0K IyBBd0VBQWFPQ0FWb3dnZ0ZXTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGUE0xeW81 R0NBMDVqZDlCDQojIHh6TnVaT1FXTzVnck1COEdBMVVkSXdRWU1CYUFGQWgyemNzSC95VDJ4YzN0 dTVDODRvUTNSblgzTUE0R0ExVWQNCiMgRHdFQi93UUVBd0lIZ0RBV0JnTlZIU1VCQWY4RUREQUtC Z2dyQmdFRkJRY0RDREF2QmdOVkhSOEVLREFtTUNTZw0KIyBJcUFnaGg1b2RIUndPaTh2WTNKc0xt TmxjblIxYlM1d2JDOWpkRzVqWVM1amNtd3dhd1lJS3dZQkJRVUhBUUVFDQojIFh6QmRNQ2dHQ0Nz R0FRVUZCekFCaGh4b2RIUndPaTh2YzNWaVkyRXViMk56Y0MxalpYSjBkVzB1WTI5dE1ERUcNCiMg Q0NzR0FRVUZCekFDaGlWb2RIUndPaTh2Y21Wd2IzTnBkRzl5ZVM1alpYSjBkVzB1Y0d3dlkzUnVZ MkV1WTJWeQ0KIyBNRUFHQTFVZElBUTVNRGN3TlFZTEtvUm9BWWIyZHdJRkFRc3dKakFrQmdnckJn RUZCUWNDQVJZWWFIUjBjRG92DQojIEwzZDNkeTVqWlhKMGRXMHVjR3d2UTFCVE1BMEdDU3FHU0li M0RRRUJDd1VBQTRJQkFRREtkT1E0dlRMSkdqejYNCiMgSzFqRlZ5MDFVd3VRM2kwRnN2RXpNa0Fi bHY4aVJZYzVyZ3p3R2M3QjBESkVHak1NZ09zOU15dDhlVFJPeG9GRQ0KIyBORmhXdWprTjhPU3pB NnczZGNCNjY3ZEE5cHI4Zm9CdHFiUlZpVDJZU01wVzlGV2tMdW5oMDM2MU9KR1Z4TSs3DQojIHBo NTFhMVpRbTI2bjY5R2M0WEVnMWRXbVdLdmg1U2xkZ2ZFRXRlUWJaRUtoT0hFOWUzTmt4bW5VSWpD V3NDVEQNCiMgQWxzUnFEdzBZbnRuWitGR2hsZDg2SXFma0xzNFc5bTFpZW9ES051TnQxc0hiVEs3 aDMvY0pzNHVYdWpXcTl2bQ0KIyBwdERpR1FJUythRGJQcDFTeEV5OVY0WHRlTzNCbGtUTlJyRE9a ZFZYY2pva3hoRGhzSFBFajFxRHJQYkdjcFQ1DQojIGNuZi9BZFVoTUlJRmdqQ0NCR3FnQXdJQkFn SVJBTlFqaFdoTVJFa2pKbjdwM3MvUUNtUXdEUVlKS29aSWh2Y04NCiMgQVFFTEJRQXdmVEVMTUFr R0ExVUVCaE1DUjBJeEd6QVpCZ05WQkFnVEVrZHlaV0YwWlhJZ1RXRnVZMmhsYzNSbA0KIyBjakVR TUE0R0ExVUVCeE1IVTJGc1ptOXlaREVhTUJnR0ExVUVDaE1SUTA5TlQwUlBJRU5CSUV4cGJXbDBa V1F4DQojIEl6QWhCZ05WQkFNVEdrTlBUVTlFVHlCU1UwRWdRMjlrWlNCVGFXZHVhVzVuSUVOQk1C NFhEVEU0TURVd05EQXcNCiMgTURBd01Gb1hEVEl4TURVd016SXpOVGsxT1Zvd2djOHhDekFKQmdO VkJBWVRBa1JGTVE0d0RBWURWUVFSREFVeQ0KIyBORFV6TmpFYk1Ca0dBMVVFQ0F3U1UyTm9iR1Z6 ZDJsbkxVaHZiSE4wWldsdU1SUXdFZ1lEVlFRSERBdE9aWFZ0DQojIHc3eHVjM1JsY2pFYk1Ca0dB MVVFQ1F3U1MybGxiR1Z5SUZOMGNtRnpjMlVnTWpReU1RNHdEQVlEVlFRU0RBVXkNCiMgTkRVek5q RVpNQmNHQTFVRUNnd1FTR0YxYTJVZ1NHRnpjMlZzWW1WeVp6RWFNQmdHQTFVRUN3d1JkMlZoZEdo bA0KIyBjbXhwWjJoMGN5NWpiMjB4R1RBWEJnTlZCQU1NRUVoaGRXdGxJRWhoYzNObGJHSmxjbWN3 Z2dFaU1BMEdDU3FHDQojIFNJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUM2QTFPamhYTlp2 QmgwMHJWblhocGVoMnV2WldVcFlBTG0NCiMgVFdyWS9KalBPWjFpYzNhZ2xqNXRETTRrd3p5UGNF TXlDZnhyc1dhR3hUa0RhU3VUSFFXQ3R5KzdDV1U4QzVLUw0KIyBKbkFiTW4xZ0FrZ0I5KzlYUkZt RzhXaHpzV0VGT0tVSEZPVnZRSzRrVTVoUkJIcFJWR1A1VkxralJaei9OSTRCDQojIGtKcmRFeHR6 SzJYOWtQUWliSG9LSVpidktCVmZENWt3UFB4dlBBUnhmaHl1cjREVVpadnBiajkwb0loUVNja1UN CiMgRXF0Qjh5WUYvQlFOd3gydldYRkV5L25kMlZyRXNzSWRaOGpnQmRSbHQ4eVFYM2RtMWRPUFBE WE1MTHM4cy9Meg0KIyB1endGd1J3a3hlOERWNnVLMkpaTFBsRnRsU3QyclBuVnE5MkFSR2preXEv V2tvdnhQeDBEQWdNQkFBR2pnZ0dvDQojIE1JSUJwREFmQmdOVkhTTUVHREFXZ0JRcGtXRC9pazM2 Ni9tbWFyalArZVpMdlVuT0VqQWRCZ05WSFE0RUZnUVUNCiMgd3pHS0lGazhONEdMZzBEczkzeWpD QkZiMWNZd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQw0KIyBNQUF3RXdZRFZS MGxCQXd3Q2dZSUt3WUJCUVVIQXdNd0VRWUpZSVpJQVliNFFnRUJCQVFEQWdRUU1FWUdBMVVkDQoj IElBUS9NRDB3T3dZTUt3WUJCQUd5TVFFQ0FRTUNNQ3N3S1FZSUt3WUJCUVVIQWdFV0hXaDBkSEJ6 T2k4dmMyVmoNCiMgZFhKbExtTnZiVzlrYnk1dVpYUXZRMUJUTUVNR0ExVWRId1E4TURvd09LQTJv RFNHTW1oMGRIQTZMeTlqY213dQ0KIyBZMjl0YjJSdlkyRXVZMjl0TDBOUFRVOUVUMUpUUVVOdlpH VlRhV2R1YVc1blEwRXVZM0pzTUhRR0NDc0dBUVVGDQojIEJ3RUJCR2d3WmpBK0JnZ3JCZ0VGQlFj d0FvWXlhSFIwY0RvdkwyTnlkQzVqYjIxdlpHOWpZUzVqYjIwdlEwOU4NCiMgVDBSUFVsTkJRMjlr WlZOcFoyNXBibWREUVM1amNuUXdKQVlJS3dZQkJRVUhNQUdHR0doMGRIQTZMeTl2WTNOdw0KIyBM bU52Ylc5a2IyTmhMbU52YlRBWkJnTlZIUkVFRWpBUWdRNW9ZWFZyWlVCb1lYVnJaUzUxY3pBTkJn a3Foa2lHDQojIDl3MEJBUXNGQUFPQ0FRRUFWQWVsNkZWdTR5dEpHQlJJcGh6MUxBTm55bXd1L3lq YnpGdmtpUVBoNEg5NlRVdEUNCiMgdEJSTlBxSXVJUnkwSmRUUU1vM09uTjA4WHM0Y1ZZUXljNzRo Qlo5RDh0c3QrbTFzU3ZrV1NrT3Vhd20zcDZSdA0KIyB2ZklaTHR5Y212bTZLemdWQnNURDlKdVJJ Vnlwb2RpUHo1UXBSdVpuNU1zYzhuM3MrWHZLQXVpR2VHMElCR3hCDQojICtoSndUK1FFMk9UeVUw MXhpdzdLZWtjM0o5cVYxU1loWEVCK1pGbWlpdmJ5S1ltZlh3VEJLWDRCMUJTaDRRQnANCiMgdWQ1 b0RnbUJ6WitJSEU3ZDd1c01SaS81MzA2b0FCZHJmMVZ5M3I3cStYNktZZmowa0owVmExdFc4RE1l dDdmaQ0KIyB5Rko3eWJzb01kN2lXL0UwT1Q2VFgwNHgzTWJrY0Q4OFNNa1VvRENDQmVBd2dnUElv QU1DQVFJQ0VDNThoOHdPDQojIGswcFMvcFQ5SExmTk5LOHdEUVlKS29aSWh2Y05BUUVNQlFBd2dZ VXhDekFKQmdOVkJBWVRBa2RDTVJzd0dRWUQNCiMgVlFRSUV4SkhjbVZoZEdWeUlFMWhibU5vWlhO MFpYSXhFREFPQmdOVkJBY1RCMU5oYkdadmNtUXhHakFZQmdOVg0KIyBCQW9URVVOUFRVOUVUeUJE UVNCTWFXMXBkR1ZrTVNzd0tRWURWUVFERXlKRFQwMVBSRThnVWxOQklFTmxjblJwDQojIFptbGpZ WFJwYjI0Z1FYVjBhRzl5YVhSNU1CNFhEVEV6TURVd09UQXdNREF3TUZvWERUSTRNRFV3T0RJek5U azENCiMgT1Zvd2ZURUxNQWtHQTFVRUJoTUNSMEl4R3pBWkJnTlZCQWdURWtkeVpXRjBaWElnVFdG dVkyaGxjM1JsY2pFUQ0KIyBNQTRHQTFVRUJ4TUhVMkZzWm05eVpERWFNQmdHQTFVRUNoTVJRMDlO VDBSUElFTkJJRXhwYldsMFpXUXhJekFoDQojIEJnTlZCQU1UR2tOUFRVOUVUeUJTVTBFZ1EyOWta U0JUYVdkdWFXNW5JRU5CTUlJQklqQU5CZ2txaGtpRzl3MEINCiMgQVFFRkFBT0NBUThBTUlJQkNn S0NBUUVBcHBpUVkzZVJOSCtLMGQzcFp6RVI2OHdlL1RFZHM3bGlWeitUdkZ2ag0KIyBueDRrTWhF bmE3eFJrYWZQbnA0bHMxK0JxQmdQSFI0Z01BNzdZWHVHQ2JQai9hSm9uUndzbmI5eTQrUjFvT1Ux DQojIEk0N0ppdTRhREdUSDJFS2hlN1ZTQTBzNnNJNGpTMHRqNENLVU4zdlZlWkFLRkJoUkxPYit3 Ukx3SEQ5aFlRcU0NCiMgb3R6Mnd6Q3F6U2dZZFVqQmVWb0l6YnVNVll6MzFIYVFPak5HVUhPWVhQ U0ZTbXNQZ04xZTFyMzlxUy9BSmZYNQ0KIyBlTmVOWHhEQ1JGVThrRHd4UnN0d3JnZXBDdU92d1FG dmtCb2o0bDg0MjhZSVhVZXpnMEh3TGdBM0ZMa1Nxbm1TDQojIFVzMkhEM3ZZWWlta2ZqQzlHN1dN Y3JSSTh1UG9JZmxlVEdKNWl3SUduMy9WQ3dJREFRQUJvNElCVVRDQ0FVMHcNCiMgSHdZRFZSMGpC Qmd3Rm9BVXU2OStBajM2cHZFOGhJNnQ3amlZN05reU10UXdIUVlEVlIwT0JCWUVGQ21SWVArSw0K IyBUZnJyK2FacXVNLzU1a3U5U2M0U01BNEdBMVVkRHdFQi93UUVBd0lCaGpBU0JnTlZIUk1CQWY4 RUNEQUdBUUgvDQojIEFnRUFNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUZCd01ETUJFR0ExVWRJQVFL TUFnd0JnWUVWUjBnQURCTUJnTlYNCiMgSFI4RVJUQkRNRUdnUDZBOWhqdG9kSFJ3T2k4dlkzSnNM bU52Ylc5a2IyTmhMbU52YlM5RFQwMVBSRTlTVTBGRA0KIyBaWEowYVdacFkyRjBhVzl1UVhWMGFH OXlhWFI1TG1OeWJEQnhCZ2dyQmdFRkJRY0JBUVJsTUdNd093WUlLd1lCDQojIEJRVUhNQUtHTDJo MGRIQTZMeTlqY25RdVkyOXRiMlJ2WTJFdVkyOXRMME5QVFU5RVQxSlRRVUZrWkZSeWRYTjANCiMg UTBFdVkzSjBNQ1FHQ0NzR0FRVUZCekFCaGhob2RIUndPaTh2YjJOemNDNWpiMjF2Wkc5allTNWpi MjB3RFFZSg0KIyBLb1pJaHZjTkFRRU1CUUFEZ2dJQkFBSS9Bam5EN3ZqS080bmVERzFOc2ZGT2tr K3Z3amdzQk16Rll4R3JDV092DQojIHE2TFhBai9NYnhuRFBkWWFDSlQvSmRpcGlLY3JFQnJnbTdF SElocFJIRHJVNGVrSnYrWWtkSzhlZXhZeGJpUHYNCiMgVkZFdFVnTGlkUWdGVFBHM1VlRlJBTWFI OW16dUVFUjJWMnJ4MzFocklhcEoxSHczVHIzL3RuVlVRQmcyVjJjUg0KIyB6VThDNVA3ejJ2eDFG OXZzdC9kbENTTkpIME5YZytwK0lIZGh5RTN5dTJWTnFQZUZSUWV2ZW1rblpaQXBRSXZmDQojIGV6 cFJPWXlvSDNCNXJXMUNJS0xQREd3RGpFek5jd2VVNTFxT09nUzZvcUY4SDh0ak9oV24xQlVicDFK SE1xbjANCiMgdjJSSDBhb2ZVMDR5TUhQQ2I3ZDRncDFjLzBhN2F5SWRpQXY0RzZvMHB2eU05ZDEv Wll5TU1WY3gwRGJzUjZIUA0KIyB5NHVvN3h3WVdNVUdkOHBMbTFHdlRBaEtlby9pbzFMaWpvN01K dVN5Mk9VNHdxanR4b0djTld1cFdHRktDcGUwDQojIFMwSzJWWjIrbWVkd2JWbjRiU29NZnhsZ1h3 eWFpR3d3ckZJSmtCWWIveXVkMjlBZ3lvbnFLSDR5amhuZmUwZ3oNCiMgSHRkbCtLN0orSU1VazNa OVpOQ096cjQxZmY5eU1VMmZucjBlYkMrb2p3d0dVUHVNSjdOMnlmVG0xOE0wNG95SA0KIyBJWVpo L3I5VmRPRWhkd01LYUd5NzVNbXA1czlaSmV0ODdFVU9lV1pvNkNMTnVPK1loVTJXRVR3Sml0Qi92 Q2dvDQojIEUvdHF5bFNOa2x6TndtV1lCcDdPU0Z2VXRUZVRSa0Y4QjkzUCtrUHZ1bWRoLzMxSjRM c3dmVnlBNCtZV09VdW4NCiMgTVlJRmdEQ0NCWHdDQVFFd2daSXdmVEVMTUFrR0ExVUVCaE1DUjBJ eEd6QVpCZ05WQkFnVEVrZHlaV0YwWlhJZw0KIyBUV0Z1WTJobGMzUmxjakVRTUE0R0ExVUVCeE1I VTJGc1ptOXlaREVhTUJnR0ExVUVDaE1SUTA5TlQwUlBJRU5CDQojIElFeHBiV2wwWldReEl6QWhC Z05WQkFNVEdrTlBUVTlFVHlCU1UwRWdRMjlrWlNCVGFXZHVhVzVuSUVOQkFoRUENCiMgMUNPRmFF eEVTU01tZnVuZXo5QUtaREFKQmdVckRnTUNHZ1VBb0hnd0dBWUtLd1lCQkFHQ053SUJEREVLTUFp Zw0KIyBBb0FBb1FLQUFEQVpCZ2txaGtpRzl3MEJDUU14REFZS0t3WUJCQUdDTndJQkJEQWNCZ29y QmdFRUFZSTNBZ0VMDQojIE1RNHdEQVlLS3dZQkJBR0NOd0lCRlRBakJna3Foa2lHOXcwQkNRUXhG Z1FVOUdvM2tucVd6Wkg0blNmUmhjZDcNCiMgL0MyeGQ1a3dEUVlKS29aSWh2Y05BUUVCQlFBRWdn RUFLMGgrZDNsV25uTlV0VE8vcEtwb2xaWkt2OUpOVy83bg0KIyBOM3lTUDhlV2F1TWJRYWxDbXZs OVJTd2VFVXRONGF6Ym5YQWY2M2JjUzVjZnhLUDhyejJpR0NVTnN3Z010OWRiDQojIFY1L0V5QUZt TVRoVmlKTnBuc01xa3BvaWNtQWxLbHdVWjh5clUwY1QzejVOSU9wZElDWmk4ZlY2MGx6dHByTzIN CiMgL21GQ0hlUDFWa0lzMWg0dWZnSmZIRUp0RE1ZU2hBY0FNdVRNWFlOYzJFQWNIOUpPTlVRUFRt TWw4WnpuN2J6cA0KIyAvQ2xUa2FQOVdUbjg2ejcwQ21rUnZYaFFMekp4N0J3Q0xMeVMwaFZ4ektE bTRvT3pBWDdiTlFsdEJpaDBZbXJuDQojIFVZZExvVkFEWUI5ZW9qSUlLZ1VTcGVSQmZLckx0Q3gy WjVQN1hPclZUanhMREJndmlTai9HYUdDQTBnd2dnTkUNCiMgQmdrcWhraUc5dzBCQ1FZeGdnTTFN SUlETVFJQkFUQ0JrekIrTVFzd0NRWURWUVFHRXdKUVRERWlNQ0FHQTFVRQ0KIyBDaE1aVlc1cGVt VjBieUJVWldOb2JtOXNiMmRwWlhNZ1V5NUJMakVuTUNVR0ExVUVDeE1lUTJWeWRIVnRJRU5sDQoj IGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNU0l3SUFZRFZRUURFeGxEWlhKMGRXMGdWSEox YzNSbFpDQk8NCiMgWlhSM2IzSnJJRU5CQWhFQS9tZms4Vm9rNDhZTlZIeWdJTUoyY0RBTkJnbGdo a2dCWlFNRUFnRUZBS0NDQVhJdw0KIyBHZ1lKS29aSWh2Y05BUWtETVEwR0N5cUdTSWIzRFFFSkVB RUVNQndHQ1NxR1NJYjNEUUVKQlRFUEZ3MHlNREV5DQojIE1qRXlNVFEyTWpOYU1DOEdDU3FHU0li M0RRRUpCREVpQkNEdGpiaFBUY0dWRzYrRTczZVRDSTE5ak1yUGxyUzQNCiMgMlFYSDhETWlrVU5a bXpBM0Jnc3Foa2lHOXcwQkNSQUNMekVvTUNZd0pEQWlCQ0RaeXF2RElsdHdNTTI0UGpoRw0KIyA0 MmtjRk8xNUN4ZGt6aHRQQkRGWGlaeGNXRENCeXdZTEtvWklodmNOQVFrUUFnd3hnYnN3Z2Jnd2di VXdnYklFDQojIEZFK05URWdHU1VKcTc0dUcxTlg4ZVRMbkZDMkZNSUdaTUlHRHBJR0FNSDR4Q3pB SkJnTlZCQVlUQWxCTU1TSXcNCiMgSUFZRFZRUUtFeGxWYm1sNlpYUnZJRlJsWTJodWIyeHZaMmxs Y3lCVExrRXVNU2N3SlFZRFZRUUxFeDVEWlhKMA0KIyBkVzBnUTJWeWRHbG1hV05oZEdsdmJpQkJk WFJvYjNKcGRIa3hJakFnQmdOVkJBTVRHVU5sY25SMWJTQlVjblZ6DQojIGRHVmtJRTVsZEhkdmNt c2dRMEVDRVFEK1orVHhXaVRqeGcxVWZLQWd3blp3TUEwR0NTcUdTSWIzRFFFQkFRVUENCiMgQklJ QkFHa0g2clBPMHBtWjViV09pSGFJelBhWTZDQ0w3anluMmxUdFFJeXBpNnFHYWFaaHB3SGhpd1Bz NXY5Nw0KIyBuM0tNT3g4NmNLT21zcko4c0lXUVU5dFlYdjVrNzRRa0MwR1JYeEEvVFZiTGEwSTlo NFhlM1d5bVVhRU5RR1oxDQojIFlTTFl4YlBRTGFKaXBaZkllZ1FDQmt5Q1VwTlZwM1ZXMlFvWE91 d2tDaUFsSjZGRmJxWFhoYVNVZVQrQnY3ZXANCiMgM2ZnQk1GQ1hZMS9rT0NTSFF3ZzlhV2ZvR3Vv WXdzQ2ZjWDhNenNQbnh6RTY1cDN6czUxbktxVHpvS3RHTEtqdQ0KIyA3SGFwMlk4YjlueURuVUxu VE1zZlY5MXRtZXlKN3M5MU9QbjBUZTVXMHhFdzQzNXFtQlNkNzhlTlFxd3NXVTU0DQojIDM5QnMx NEVKWUZLYUZzaFdCTVp6bXNlemNHcz0NCiMgU0lHICMgRW5kIHNpZ25hdHVyZSBibG9jaw0K ''' file_name='Get-Temperature.ps1' import os import base64 def ecmd(command): import ctypes from subprocess import PIPE, Popen class disable_file_system_redirection: _disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection _revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection def __enter__(self): self.old_value = ctypes.c_long() self.success = self._disable(ctypes.byref(self.old_value)) def __exit__(self, type, value, traceback): if self.success: self._revert(self.old_value) with disable_file_system_redirection(): obj = Popen(command, shell = True, stdout = PIPE, stderr = PIPE) out, err = obj.communicate() ret=obj.returncode if ret==0: if out: return out.strip() else: return ret else: if err: return err.strip() else: return ret script=base64.b64decode(encoded_script) file_path=os.path.join(os.environ['TEMP'], file_name) from io import open with open(file_path, 'wb') as wr: wr.write(script) print ecmd('powershell -ex ByPass "%s"'%file_path) os.remove(file_path)