# run_encrypted.py import os import base64 from cryptography.fernet import Fernet # Replace this with the ciphertext from your local encryption step: ENCRYPTED_CODE_B64 = """ Z0FBQUFBQm56RFFzQjlqVFJTWG9mdUJTcFFvVUk5aFBvRDkwMFVSRklVS1Z3NXBrUnVyV1hRclhyQU1IQ2NybXlUemY3UW1mNkN2VHR6TDVCWWhrb01xNThLaVdUMHhfekI0SEpvTDlHR00yMlNyX2VaOGlsT0l2NVpwSi0wdlhBc0N5RUxNY1UweVI5T2oteTIzalZ3NUFhV3Zzd21SNnZCUVZtRHhjTElTWjNnMFlkVjlHa1Y4ODEtMTYyMm51a3FKZHJSVGxOSl81RF9CXzRZOFRMUFh3QWw4eS1MSm1nSjI4Mk40UUo0S1AybG9SdVBYcnB4Y2NaYXhGLW91ODA4WFl4VEg5NHdUb3NwZHJRUC1OT1ZnMEhpc0lDUEtpcUt0SUNhcG8yLU43NGQwVEpLNktlemVXbkNRY2tQOE55Y01oT0hxWm1JZVlTU1Exa1ROV1BibWk4cjNYTXBPeTJqR1YtTzJ1RTRjMjhDaGRlTk1NOG5YNXdWYUFzTDM5dXZjcHVXbnJyWEd1Y0FHRXJyekI0c1c0Vlg5aUUyd3ZpTFY2aWFBSjNyM2Y2cG9ub3l4QmZGM3QtQTdCOV92bWZfMjYtRzdmWVR3RHRVVWtWWV82RUZHSFN4YkczTjZEVVBNTTRoSG5XdlFMMXhhYnR3V0t6TUxpSmtFTWtYQkIxbV9JV1FQeS1GdEZvSzRvdnhxNGpzNFREUGI5V0R4bnB4aklGWEpTMTZsekR4QnVuX1M4c3pJM0xPRktyc05adkdfQ09UN2xTX3VPd2JmdVhXTUduSXpka3IzZ1dsd0doQTBCOElQSDJNN0VVcVBUMmE5aDJDRzlveVFvV2xidmt4Zm56S1BIeFZQOHFYUG9Tb0hyeWJiUV90WG9hSU5UUDNueHNEUzhfcXVQUEJZMmlSWERTNk5pbjNHMmpZalJjaGpTZnFna0FLZG1takNJMldtWVFVanVqWFZleFQxWExXX0kzT0dZSEtKRlB0WkZwb1JsOE5iWkttZVdyc1MwV01mNXlFbE9JU284ZHNBNXZxNjRqYXZnRFg1SzRqSDNoMk9KTVlnOGstclJSdjFmRjBxLU42ZmRzN3FIOG83OVphbGRmS1NwcjU4TjVIeE9Hc3BPd0RrRUxHMWlTQUNsUFBkN1VvX0EzVUtzRmVYMUt2T2F1S1ktVUVzT3dINC1sWEJQUnFxNGxoU1MyazZadFVGLUMtZldqRDlHaUs4ekVtUVdnVDl4dlRLejM0Q1g2bzh6d2hKS3VXbjRsbHBxN2JINkNvQkJ6Vk5GU25GUnlBdlNLV3otdVE5TVQ0eUxabkh1SDc5TVRXTVZzZHpVakxxWjdpWnBUQk5FM2hVcXkzZG13Ni1GcnFVSXBpSGFOOWptcDBoa282U0FXM3B0Y0hoNGo1SFNFNlJvMGM1akxrNV9panc3cDZiaWtxWk1TM3I2aXU5S1ZtcEE1NGVrWm9PcTNHckdQR0QxanB2bHVOZXFOYWx5dFFRbk9WUjF0QlF3TFlrdTRYSTBoZURINnMzUjhkMGdKZXZHWnpVYnlZc1pWMnkwV2lYQW9CYlFqNC1TZjd2SEFPd2JYcV9pWGx5RDRWUmxBRVp1RTY0djc4b1BoM0FFU0M3WXNEYk1WNUgxdkNkVkhjNjFEeFNQNm1uMzU2WEZKdnhYdjk0ZjVZMHFXdmVhSmtJU0hKRkZTWG5EcjJYMGV3YjdmSlVTNnR1VGpIY1RldXNUTXFBMUR6VnhfZ2U3alFld0c1WE94Z2djRFpndXJ1QnVBbTQ2RDVjMnAxTTNHN2tYZ1prSzFQNnh6V0xBZmVEOEhOemlTWFZiR2lTOXA1TkZXcVp5YjJMQ3JmVENpbV9oWWFQVXUxZzNTaW5GcjB2SEx4UjJhZW9Ic0FQMTlvWXh4YkRDTTJKN3dTcTQ2Z3dqQWs4M21GODFtUE1WdHRsSXpBTHNmVE02ZGszUGotM2VITEZqS2F2aUJRN0hKQk9YS1JRWlBuRUF2aXU2UHhrMkx5ZmFKWFBJVEtjeHZhVnl1Yk5SYlhmbXVzLU5fNVhIZHR5NVBBYUZLLV9QNEJxTm9QVDhBQVZwSFFLZFVtel9sZTNPVTViMXlycnNCaDJ4Nk16UndobnlFcjl2Z0xrbkNsZ2RhQWNSVU1qcHlzdzEzMGxRYnN2cmdwZVJpX0JrTElSU1FHeUhQc1BmN2h4TzA5Y0VLb2xIX0doQXdXSzNaZFN3RmV6OHNZME95clZRRUVmSDRvTTJoN1ZSUjg1WngteHczdlNwMkpCbWpzNE9faU4ybXhicVNvNk5mb2NxQ1ZhWmZ1WjQ4NExYVXRfR25zb2NuVGlQOE1QOFdGY3VDOVczOUpxMG1NSUh3cVlzekFIYUVYdjctZml1QVBPMk1ma3JRR0FCZWZDT2J2dWVOSkgzdjRDUV9DVElFeTNDTm5Vc1JPR1hGbW02d1JMZzZuZVdhTXk4dzVybUdnWHF2ZXdMNF8tRFFpa2xhcUt2TzBMY052ZkFMS1ppcS1HQ05NNXk3Z3Z4elhWRFBjZDhLSmRwWXprYTNJZWh4Ti1aUjByaTBIdjg1REpqNjJYa0pTcVRNU2VjVWJsNFFtR3FDVzlIOEpyWUhKRHR0bUczM1Q2ZGRROWF6LUh3VUc2RS1nYm0tNzZGMDNhRTRiN0JxcFV0Um80ZEtUek5YY3FMVG51MlpieFA2bDhMbkctZE5HRTNEbFNfTzZMR3pJUlhZWE1iZWNxcnRIRjdKZG9TNmxnMDF1NDJDdThCcUFYY2hoMkx4aWtTdVktenVJSmxMRy1KT0Fxc19TemIyaHlVemNVYzRVdmZZTmlnVjdlRy1HZ1d4dGNrcFc3clRGZjZ4VXIxZjllZUJqWUZCU0daeXl1ZFQ3bG9fdXNxalUtUkhqWXZCWEJ6RTluN1lpcTdwaFZxRF9Jdm9IejF3OFVXOVhUcXJZa0Q2djhKc2JZMmNsTzhfcVpaOVoxQ0xtZUZ3VXREX1pBcTZmUTFHa1ozY2RDZnZlaVg1eXY0VEdiRFFEOHRFZG1ENkdTSVZKd3FJRHJCS2RRVE9ZQ3N5ajNUWmZMR3I5Nkl1WEFJUUZ2aWZVN2ppdmREYkY3ZDl6Z2VsQVlVTFVsOEtmeDNTM2J4Yk5qRTRQNTNLRWtLT0tLMGVhTzdONUFtVk9iLVp5ejJyQXRVZTFtRF9aX2NyNmYydkxKUWtxZGJhc05DeVBXeXlUbDZGeG1uLTFYZVdXMUg3WHhMYTN0WW1ob2xGSnlRb2xtLV9HMW04amRaMi1QdzY2VE1BM295LVVpRFdJQkhZcHRHejJyVWs3Yk8wTXN4bWlUVzFoWHpUTzJmc3cyYmxQUy1oNDhSeVF1SWRHbEl0Y3d4ZHFwZGpGbnByemtHMkw5ZW93Y0kwdG9hRnNsZWhHdFJHNnZwS29ibWpvQklLSjZZMzhFMXBMSHgwRmI2TUdKS3ZrNlZTRUdUTnR1b0lfaE9oeFVHY2hqelNjaG5kYzNxMlFVajkzc0syQUJQNHhMY1hJSldZcWlFdGE3a3JyM2JUTGZCX1VHeXphbjIwcEZlYkROZUdaTkpkdGc5cWtRN01wd3FqNldTUmhhelYtcjY3ODdpLVN6R082Y2pNVFBWUmtPNnl2c181YUxrSVNiTXYxbHV0M0drSWZTcVJfdVM3cHZ4VUpYRzhPNWt1TzNydVQtYWRrQ0h6c2d1NHB5OU1LOXhGSnZPdW9NME9Vbm1BZ2VZSW5mVHB6R0tEaUk1Q1NqR3BJU2NDRXQzc2xIMDZiM1ZqamI0V3YwWXpEOWM0QmhBX21wSU00RHBxUHhmUmZvUXlWLWJld0p1UVFGcFZzclV3UG5xU2ZwV3lDMF9HUExLd3NXUW5PVFkySHVpOGFuekhxUG5VaGt1X3VTaHk4dTE3RjZ2empUcFRpVDFsNkUtd205VlYycldkX0tndWxsVHNZbm5GemJNTGM2YmpjTjlGV2tHU3pYbVdzM3daTXRKSVYwSGt5aXkxLWV0bXZXWDJfWFhuUEtKS2FmY2trem9kLWV3anpZRmEyclBnckFLSHJ6NG5IeWhOSEJfbmJTeXU5T1AwWHV3SThMQk53QUY3bExTSC1mc1lEUVg5VUFBRkxGMWk2RE5Bckl1VGJieFltQkFQVUpEb0dnOUEwTS1WblZjRWFDZ2R4N0x2aEhMRVhTc1I4bkdzQ3FybmxUU3k1TUhQNWxacmhkNEYwTV9tYmEtOEJpLTl6NnhpRnMxTEx5dU1mOUdzOGZYQUNXeDlwRTF0eG1jME1jR0RvekhCSjlTNzRRUUNYSmgtUXFQYU5xYXNBVFNXbXR4d0FBMWQ2MzBBLUUzTm4yeVVSTUVXNWFhRFFwMW40X0dleUY3UUlXQmVRd3drS1hsTDIyTWdaTlRfSGZaMGFGMVptdVY3dnQ1VUV5UkFxVlNxeF8xS001VGg2RFBESGJZcFltajlXMWNVNnNnamhsNy1xVklNRDF1MVYtQ1d0ekd5ODYtdHRuTEg4VDczbG9lWUgtWnIxbFB5V3d6cmJ4MUhuLUY1b1hUTFprSUw0cnFrQzNTZjFUS3JWQ1R3YUlPM0FqZHpsRU5Dd0taUHlxT0lqNGtCUEhVaE9uZXQ3QzNXMGs3Y2Q4UFZiVUI5NlNsQklxYlk3NjYzejRCTDF3ZFNuanZtdC04cGhGTEozeWJzUEx3TjFObWlsTk1ZR3I0azNnOVFIaERnMVdLc2FNQ18wdjF5Y2NWUUFSTXp2Mm5nVWFRUm8zUks2U19tYVlpWkhRVVhnTzdHVHJEcEY3YlN3Qnc2RGZMeDIwSDNHbVlkRWsxV0w1YzZfZVZicldySGJjM3owWnpGX1FJZC00aG1IcFZaQ1hXMFVqN19nV1lZUGtWaE50Z05JbVU4XzRqbFN4OE5lajhvUnhSNzVzbG9fb3Z3eTdYSVVGOGhJMmFHUmpRVHpyb1BlNkNQNWg5cEpNTnBsa0pvUThzOTNoZFBHUFRIV0xkQ3JlOEhDbzZDUjlIZWZpbHhQYWtENVAwcmltVjBRekNDZThPekYyWTM2U1licGZkZkFPZWQ1T3NTZVpfSnZpZVZKTWFsNUZIb2xSMGFXY0JGQ1dhcUIxdk92SXFrZ3lCNzNfNXo1RUdlemNtd1dQZWN6TGo3ejhSLVRRTlNXYU90WGhCb1dxclUxNDhKZGk1TF9OVTMwSGZGVnNKMDRXNG9sNUtXNU84N1FHSTA5Uk1tSDBPQWJyakF6aW9qVnRWYWg4dnhBck5WNTRSR0ltT1RHMzNuWGFPMG42eHF6WUkwVlNwRWozbTlVT2pXU3Jfa1NKbXNqaHh4MDZkaEY5VTRweEFJaG1qS3RvMk91LS1OX3VWeUJ6S0FrYnRhVGxwdlE2TmRqUFhnQXhSdEF0OWVDaUZoeVhLQzZsUDhmYWZ6S3lIQ1BwODRKYzRrVnkzbDBMa3B5OWViNlFJVmlnLVg3S3pIYUprNkhZR3FTTlF3ZnBIVmFhX3U3U2NDTDcxVDlUbm82YVVhclo1T29NMkdXT2JUaDU5N2ZWQ1BjeXlVVE93UFVNTUpvWmdLZlpDMDJjeEtoRi0zUnJtZGpRZG9SUktqdUlxV3RDZlFUZWJlS2E2VTBxSmRmcGplSGRpMUlHMWVhc0xFZW1PUUdLaDItcFRTWnhKM1FDN3BabjNTaktlYkt6ZjJrSW13SG9Ic2UzYmdHU1oweG1aR2dSdFNGek1Rd2VwMW0wSGxiNWhoWF9VdkNnYkFBaWJ0ZU5jRmRPa05NVTJOWDdKa0JuUnBJSktlRGc4Y0J4UmptaXFwYllBUkp0VnZka192UklReTJETHhkRFFiYkxLRm5xb1k4MXVKZ0NnQy1zNE9UTEtTUmhGa3kwS2ZhTkxjWTBiQXRLSUZuZ2tnMlJQb0lFbzdzYUtwVmVSUl9rcHJON0VCY3BVeHNnd29tNjZHV3psYk83aml4MzBzM1RhSGdveXR1UUNaUjBWMzU0bTZfVjdnSm10N01Fc3k2b0lScUtfd3ZHei1STDV1alAtSnc3UV9ELUx1TVZDMlpNS0tGT1ltYTA0eXhzM1h0VW5hTHBOT0ktQlExaWhCbnc4WmlyQTVkanRhcFJqTVhiMFlfWlBIQzQ2RlAxWUptaEl4ckQ0ci04XzhTTksxMnZfTVMtTXFtdmt6UmVfeHhyaDhfSjRIV1NqVGtmVUhNbDhyaU1wTHNicWQ0bVNOaGZuSnozNXk2Z3pOMTB4SENOWW1tcjZ6YjNpMjN3cjdwMTk4a3R4Z1l2M0lscGtIbmVZWXhaWkNVVVVDZ0VTMDYyR3hFazUyWFF3OVVxWjV3U255MkVPcnlJRHRRaTJQckgxX2VPS2ZrbW9kekY1LUtldW00TE0tbW5aLUg5U09jQWM4YlhXYmdwc2xvZW1GdTRjMk5MdzM0cEpYRTlTNlBQc0h2RzJaUm02ZXVRaXJuMXVMdldITUFScW9Nd201M29GbGpycEQ4LW9LaWpCRUNOSEd5LTV2czJDbV9QTmF0LXB5RnhidU5wWXhkbkFucnV5alpvdFJmeU10SEVMMVFDZlpjaERPMGdubmxSc1RHdTFHV3JHeDV6UjhGLVBIUXFJeGtvQm1iQ19uUHljamZnYkk5YkZrZ1hpMEw5S3MzYm5YTEpvc25LWFNNQi00aVQ1VTIxdGNwOUdVaGVmMjlxNlMzQnNQQjhuRWRiUHc1YThLNHlDWWhCWmNpUjgxbWU4aVJxT0Z5TzRSWlJPbVloaWIwR2lraVNFM192VkJ4RzMzVlZQUFNrRUs0M21JQWFzaTNrMWQwaHItWDNTWDBKSG0yT0tjTmVEajNpTlZreWE1Q0dtcFd1WUJ2d1ozNjBiWVJWVlRPcGFwOWVUclVmaFlENW9tdVUtcjRCU0NhbWRxM1FXX18yZElnckR1TVh5N1NyZk1ycWhIOEhzZGZBNjRvOG9YQmtfclI0NmdrYk11Wl9KZVBOalFqc0g0QUlHRmZTeWUwVmdQUXRiM1NoNXNUVUhtZGEzVlJpOFJaNmp2d0NxRVVvVnBkTkE3eFRvdjA1c3p6MmFieEhlYnJ3amRUYXUtLWFCSzhKLWJiMHJpam5vYkRLY3VaSHQzejdhWGlhNzBTRExPdzVfUHZsaGYtNUxELXdYa3FXdTJvWDBKM2hodFJFT0Y4cDEwZUJFblducHhvV204Z3dqVkpFWG5manRfNy1ic2UxelFmNFJydUtETXRqMmlRQVJ5bVFTZ2JlY1lwcDh4eXlXbGp4Z1JjdWZQZnBpYUZIYzlDdnNiODVnSWF5Q09pcDdOM25QUTNrQ01kbkt0NXpDZ0lHZ1YzNWlwSmRQWkFaM0pPbzVONWNJLVJ6d2pTN2xjVGNTVS12eURIVmdaRWVRTGJ0U3ExQ0RWOE9CdVh4SXEwQUJsdlNKUnFYMWR5ZERYeTNMSnRMclc3ZzlmamdoUGlraHpaR21mWWRCX2Vud2hyY3l4UEYyZzRqbGo1TEh4U0VxUjF2cktLc0ZZMk1BblVCNVdiMkZBcS1vU1FFMGZQNWxqbENaVkRpaXFydXZieVJpdndwWlNkajdSQm5lNmp1a3JNTGdTVk9tc0YwX1ROU0FJdzRqdDM4OUFabnlERndYZnZXOTlvSWRyMjd4TEVlX0JsSGUweFB3a1MxOWg4aS1aWmdMb292NjJtYmRQNHM4OG5HeHozcy1UWnlFWjl3SGl3SGdtaDYzTVhDTU5kQm50clhaclRjV3U2dFowVHdSZm9La0NYUUE3a29namNKVHNYQWtCMk5BZG1aNkNmU3RjRzZyVlRsNW1RNTZHTWtkUW1URVZfR1AzcldIeDdDOVJ6dUYySXVZc3Y4cGtmQjlXMlgyVEhoTWw1WmF5S2E5dy1KeW0zVldyNzEtVkNlZWJCLXZOY0RtaE9yOUs1SDZOWHlDbTJYbXNOdWU0WWwwX0dpWVQ3X3dSdEU2eVRWb1R1cXFNY0hodnJQSWczNWZqZEViLTJWak16b01kcmExZkV6b193ZVZqZ29aSE5MbUdoUmM4ZWFJcHdnM0RyejFRSVZZbGdsVkJPTlkwaWdDZ2g1T2VBNW94NDB5SVBzYkhXSkcybUdWRENTeXBrdk9JcGxYR21fRzVobVpsNmZPWjd5TDJnLWxLc2t3WkRqbXdobWkzcVRWS1g0aTZpaUFxd29XYzNNYUx2Z21McEw3S3FFUld2VGVoWkZwTzUzMTAtZDhoTUNCRWlvWjRSNUNvLXBBaFBjRm5IbWlRQkFKRUpGX2o4WkZuQzU2NXY3WkhsMTJqeUVtelkzd1BFMlhSUWlyQkVsYW9kUWd2d3kyczhnVWtFQ2h6V0NoY0EtMXVDOFF2LVhEbjFxSGxJQjUwbXlfNEdCblAwandybHREUXpGZG5iNm4tT0tPcGZ3d1lnQmpneW8tcjdRY1YzQnJEM1FOMGpJMFNQTklvT0pSLW9VM2hiODVDU3RGc19iQmplS1NqYzI3NWh0eUdoVmlkSW5JN2xvcjhETlpsYk5RMW90QWVqeGdlbFN0YjduVDB2MmRwVU83eU9tbndlay00dFk4QjZCb1ZOblBfSjJGajB2NFN5alJ2N1p3MEJjaWZDSDA2eXlHRXBmUmZWb0pUaG05V002cUxLRDNyRndhVUN3TmhjeTVxMWJZLUFTVWU5QmcyNVJIYVM0SVdXWDd5UGFjV0JsOHhuSHV5OXV3eVZrcmpCNWhiSU1OTGk2bTlRbFhGWFI3dzk2NmVIUndXWkdwNnF3QUlfNnNjVHBXaFhlM0dwSWpzbWhzUVlOdWsxN0tVNEw2c0IwVWkwSE9iUlNNWkVmTm83aDdkOWVyUndSZFRKR050ejNBMGNDMmNwemZMM0pPd0wzSWs4Ul9hZmQ2d01kMHhyNHhEc25fMFpULUdLX21NUjdNTkMwVFdWczBuWHBQYTVtd0pNVzVqLVdDZU5iRXVOUFI0Ujd4NG5iSER6dUVRSWFEaVpuVXRLOXlTNU82OUlpREpqdDF0b2otNUVOVFRXa1pnZGtnOXk2eW56OWJCeXlFRk9ZZW1NenppZWtxSlcydndEczBLeXFtekRReVJMNXZqSVlaX08tbVJ6MzVNMG1mY3c5dHVKQU43UXY4ekRvbEQ4dGZGMzNNRy1fX3Rpbmt6X2ZOT3dRY0UwNURuclloanRyeDNzbUltT0dEc0tlMElsYi1OUnlYRXVsLURwbTZVY0FDNEtNY3d0b0RYOTJMMnJZOTlhbF9sbllOZFUzeGpXZVp6NHM2cFdxTW9yLVRzTmZDNlp6STU2YUM2NzVjX0ZYMTBWLVh6aERtSGRMdUt2TFJwclFGLVQtRlNLVUdSajdBM1ZEYzFuOXpQdEJlMGNITVdvY0lvTTdfQVU3M1I5ck8xU2RHWHVjWExwUk9DOU16QXVhWm1Qbk9IbzhUdFRiRXFyTG1NQjJBS0hoNjZpWnYwYlg0VXlfajA1TUtSVE5ycHVBSkJsUWRSVEN0SFN0TVJMMlhhcEVENDdKSE1KemszNExnaF9adGZWZk94cGhWUVVzR1NZQUpuWE92a0xIWkRtQUxxNWF1UVNaWFVLaGlfOExmX2NTb0ozMVhjZE1GY0lPMm0yMUZwSFhnSjlRUnlXUmpPNXFuTGxxd0ZfdDVlY0tZS28tSC1vRzFmc2ZRc0tJSVE1Y01raE1UUUM0bHlPbkFyMzNoS0hLZDFfUlZjVmVSYWxwYUY4V3VyMXV3M25KdVhCdVFhRFd5QVpRNG9LTG1WRkp5LXFIbjZ6VEktckNIX0swVEM3UV9COE4tWWV4czVXZ1dkaFVmdjlGcFhXRW1MRExGMEJ1dU9iX1h0MDNfaGNmV1dOTnRnYXdQZGdJdUxXb2pSTHp1czZ0ZXpuc2s5SWRPSktZaXRYeGVYcGs2V0Z3U1M0djBVQUlLNUF3U0JtaHhQY3lrVkIySEhjV0FUS281anBWaGYxUE9rMDRUdVVqLURmUlFqSHk1cW5PVWYzUHZGQnBFamJLWVFVNV9FR0V0Zy03eW41ZWpPY2tqbm44NHFYT0liNUVseUdxeTJoY002UXc5emFtXzVpSk55TmYtZGx3Sl9PUm9xNWxNcUFWZ0pRYjFqUWktSkd0NVVqc0NwZEV3NEpyUmtyTi1KWFh0LWpPS3FwR3F2MFNNZ1l4VEY4ZTFpMGJGaTJ5dDFuTjNfcGlYcFI3d21VaGUtQ0RvVjMwamR4OVVZeVNEaXppVHQ2azFhdlpjSkZ5UTdYdU5RVS1jbEdibHVPbXBzOXVUN3VXbHpOVFAtVkkzQ3VNZEJ1N3NweUh2YTJZUll6YmVpalNNbkZWOEZlYkY0WVJJVC1NMnlGcnhUTkxoR2JjdExWQ3RqbVluT05KS0NvQUNTdGVMOUZvd0FxMEVBRFZuSFNOeEJHcWFXenVrXzNxc0NZcnFSTDh0UkxCUWNvcHZ4SHVxUllSOWZPR0pyc3NIdEJONTJobnp5OUozRU5Ld2c3VVlzaWYzZGNxR2dnakVFdl8yRG9NRVg0eEl6WGhfWEdINmVrNHdsc242Y2xyMm9HV0p0ZElXR1ZVQUFkU2wxMUFFNENraW5XZEY2Nzh6dXRheXJhSDNtMWJiaE1Uc2hvRTNBdnpxc2VsSjR5eUNPNURrRU1TLWRWY2w3Y01vU2d6NHI4VHYzdkpNbnJJcldXUXRtcGdjU3dqNHpCMlVZTF9hRllMRlRRdWJwZ19ZUWlfRVpwWTE4TWdrekllUUMwbXRneFRGR3YwTG9nSVV3Y1J3Ml9nTE9oNUJFcUZZSm9NWmJIazN6RE1Zd2lKdzRKRnItSHQ5UG14VlBURkxhaUczV1p4Mkw4RWdremJTYUlEalFZQ2dLVVktZmdoaTlkejdhWVY2MEZQelNydmY0UzdLZDFQOFJVci00a2ZGV29CSy0zcUJXd3RuV0F5RlM4QlA1bmdvcFAxMXIzTFoxcGRXUE1RTGY5TWlYT29HS09wUmQyTjVER2dJNlVHRnY3TmZSVXlVei1fZGI2LW1kYkt1dDBLNGpmWjNRcmN4d0Q5SmVwSk4zT3p0V28tcnh6VnNZejZJRFpsUUI5Nk1RZlpybEF6TC1VQ2lXWnNNYjVmNUZEYWNwNHAyNldXTTBqaUpSM2pCYUNabUNkUzZOVndTeXFnaElxbjZXUjgxUmJVZVV5VXd1V3d4a055NzNqd0J3ZzFtczRKeXFEVnloNDJtc0NZWWJRcTZGbzRyT0NCM084UE1DRFFtVThPWmhDLW5UQ1Z6WXpoWGtLRUUtVU9TUmU1YXpHRURZVDBmSkVBaHphZ0ZXLUhlWmw1QzBweWxnYWlKZmtlUkwxSFViR0tZQ1hPMGgyR0Fia2g0eTNVOHNXRVIzN1hSQ2g0Z0hSYU1jeHU3ZU9zRENhM0p6dGtBaXRLS2Z0ZWxYdkxTQS10dE9BR0Y0elVaYXl3eWFIdDBFd2pEdmQydkgydy1KSG9xQnVBNGtDTlZRVE5wWFM0SngyZEFKR2NYYXVEb3lhaTEwcEVqZTQ0ckNjNFZvVTNmMEp3RXB2UWJLQ2luNi1kTXBHZ2ZGWnNWNTZVOU1sbVRsM0JXekhqMHV5czltQl83WmJtLVZzejNTR0dUTTctNkVkT3RycWFmazlBc0YtMFgzV0doQk5ES21uVEVZN0M1b2lySjFSSkNHamxpeVFBTVZTaVhuQVpGNUhGMkg2R2xoaTNkV2l1RWlUSjNiX0dkMklYSVg5Q1hPUmkzMG5yN084bWRQNlE3aHF4RjJFTzVTTGdkeGZFY3ZQTDkxNkdrUnFmblo4bjVTbXoxNVc5REM3bVRIa2JsaGFEVGxqYjRUdTNSOTM2NWMyVnY5WE5nY0Z2bUs4XzJXbE5sdkpudW1Ec3RTd3Q1RWgtTHFxSGplaHRqUEROTVFGeWhVTjVOZnhuVG1wVWZxZWxReWY2TERuTFhFMjZpYVl0UHBOUmVjSWZHUXk1YndWUEFEU204RUFtV1JCN2VhRHlHV3hZcDd6UHVsOG1XT3NicjBPaFdLb21FS2c0cVM2amJOa3lTdk0tcVllZUNCNmR5VFhrZTdOWlZVZHJSNHVpa3JIazdXcl9nZkJwamdIMmk3SGoxUmhNZlFIeDN4czR4WGRudTJ2QTRBMGNCbTNWYXRXSUlpSjVrMURUOHFuN1MyVGFsYzdjcVJaWXU4ZjFPaktEdEowMTJ6OGdQR05xbDZvQ3BrUHg2U3d5SWk4U0F2WXZNRm1peFZsdnVBR0h3Mi0xMmlNNUM5Q1JlcERTZUVBdnJaNnJycnE3NU1BM1A1aDVvVHN2V0c2ZVZvU0dlcVFjdkhFN0QtOGhlYm9hUktrMG5JdVNUZmE4QXEwa29QNVk2T1lGR3NNeDNXM2tfWHByWGhIM3hlVkFiQ0hpSExXQjdWZjZtaVNjcWxLcjNTMHZ2YWtnZTM4Qm85bjhwY0RxZzlVYW1ES2kzam5wSUJEYWVrMFBrXzFWREF4eWQ4UEl0UllsY19ycDRQemt5ZXRrR2xPWlF6SFJrbFhBcWtpc0dCcXBpUGhNMnNVWkRSZDFqeG1aWWpoNXNqaFNfczdJTXBiQlJPaG91Yk1hYzRCSk1sZ1F5djJzTzFuOGhlampEM0hqUi1GbkNOU2pNb3V2NzM5WElsM1JGX0xlWFpFTnZ5Mmd4anRtaDFjek1SMzFrYU1DS0JCbWpVVTVjcEE5QWlGTlJRdjlFVDl0ZmlMUUNPa1VsX0UxRkNXX2tUVm8xbEhSSnBzSml4VDR1elFyWThDbXBneXlfRWtSaHQ1YzhvZzNTZEdvWHE0VEZHVVBDbzRnUlZXS1V1M0tyQnBPTG9zNzVmRnVzaTJkbm5wRXJodWFQRTdGR3FEQzJiTElvODBydUc5VnY0M0ZjZE56MmFmRlJjUVBfeG1vRmQybnRlQl9yYmo4SUF1YWNQTWxZNHVRMVJCMTV2WE9JaWo2c0NUMXYyM293QVctU2x6YTBqaGxvTF9EVHBLTzlPUHpCWGo2Z251NnU2TDl4UU93Tkxzc3diMGpjX080NHFMYnpTNExfR1AtLXBwRG5mbzZXTnFqMVZ5VHM2bURyY3k3dkRhS3g4M0M2X2hzMW5CMkJTS2M2ZFlqa0hVbWh1VFRJcXAxMUFNTURXRVNHSmtQT3VfOXRudTNZWEdMZnZwelBHOHE1a0J2djBXU0lISE0zeVJONmRNeS1WSDg5R0RocFc0aXE1N1Nzemd6N0NzSFBiSm53ZmVtZzluY1BUQnI1S3dTOVFmNHVVd0hfZlpPMlZoYklqcXluZWFqOC15V1BNM29OM0lzR01pMDlGNlZXY28xclZWT2VTRlQ1LVg5eHA2alc0dTVUaVZrTjFDX1ZGc3V4TDVJdzV6U0RYM3lTTWNxaDZHdjNDQTkyWU1wdW9rWjU2cXJzLXRVXzduWWxySHg1UFdDUkdvNmFzOXdYRnB1dUVGQXZhZ2ZuWmpEVGVmWF94LVl0cGFHYWlkekVvMkYyd1VBNHRxTDhXWnFmS1ktTGZkUU41WHpZQnNjWlNZZVFscVltNEFaUDBXekZmYlVEVm1zMnAyUWV4ZnljdVdIM3k4WkxqQWlPUWhnS0pCaG50bXh6X1FscUhWZ1NyVmRxWVpsd1V5UGdSVlk0RHV3R2NuU3BZVVA2RHlJU1NiUmx2U3l5TFhkQ0xMRnlUNFpvZkk1c09CTVdYNzVrSGZSODFJbzZha0hRbmJ0akphSkJfYTA4ODktbTUxNFpZaVNVNG9wVUZnQ2Y0UDVnUVhIY0h5OVUtUS1WZ1VaNkpNRWR5MmZ3a0g2R0tJWWZSUW85RG5OMEpFdUNlTUxxM0s0V2FlNmU5N2QwLTJjeHRfcGFMTDJZdHdYM2pnRFVNNk5CU1NaT0syVHlibGgxOW9pclFCTl9HVGpNSnViR09yMnBIdnpLdW9HZEkyd1p4MUhOc2kySG5LZGxtRFVQUDVnNFhoaWhPWDJqMU1pQ1pDa2xhVWQxYzZpelV4M3ltMXZiNUZQRVRJS0JOY2Z4VzhlMmpoelhzTkkwOERRUmR5SnpqS0V2UUVRZ1plV3R3V0FTeko1Z3BKWXRyMWFmbFhUV2hfMHZaQlEyVmpDMnNFRXBJOWlwd092cGFQa2NMWGZZRXRWRlNqSmNYTU55MWNkbExiNVlSOTJnOEVEcWhHMnZ0VG9zZUpIRU1GamViQVdDSzFUNGVGUUlBZ2h2Z0VTa2RESzdpZ3RsQUlqMGFJUXJrS0V3cnFkVjU5Vk1oQnFnc2F3MV9ReXpSOVdXaDhvb3FjUEQyZW9WTHZKX3FCUEVBM3pzbHl3MUItM1piS1o5blg2Qng4WVhCYzZpWWJTN29ZdTVzbTRBS0pNVkFNWnh6T1gwZTI2LXpzQXNvVWFfQmU5bHpsZFA4N21FRmh2emh0a1JSRDgtNzVWaUk2MVdxTUZHZnpERDFsUFZwWnVsclNqcHR5NlZxLUdQU1hBM2JPdXdDSE5udTJsYWRjMTRiNGkzMWJEbWRfb1VHR3dUSXJDLUFNTG11RFZMWWdzREhURzNyWXZXbzYwWV9aNnpYUURpNjdZanVtYzdxTUVzZlJZYkF4ZTRSZkM2X3lrZ3hFYWpKWnB4TDRTdHBnQ1JLUTZsbmdPdjVjTE5HMUYwbGRDNTV5b2hmd1hOTjBNNkwxN1U3Z0ZtSVZHSy1OWjZha0lXSlhQR3hzVzZJWWhseXpBdTR3RU9lUlhnSUhqQUs3TElGQlRqbVZfdlB2X3VSUWo5OTNjR0JySzdqYzhYcnFDSnJVR2ppOHh2aUlLNGltSllJSkNORG9OM0tLN1BQeWluMjU2VUhFMVhsclZsWVdnWmFHT044Z2lyZFhUd3B4VVJXOTVQZFB1NmFLa1U0aG5HelN4OEtzWFhJODFQMW1Sd29RU05GRnhKRUJtZDVUNU94Y0RQdUo4ZzFTMy1MTXZha01zZmNVS1IzM3gwOVVSVWVZUnpTSkNUUmRDWGJTc3NGbzh4ekRaUWNSY1FOa3hIYVRxRlZ5clJjRHNyMEdsMDlCdmtET2hRQV91cExQNkNqR3QwY3hhV0ZnbmZrbExGN2tLTTFrMUVQUHVpZzB5bXQ3SDV2b05HcHpNQlVjTEZLV1VPX3JSUmlZd1NGTkFyaVhXVHFnUVhLaGJsdTFld2tEZEROUGI4aFIyQlh3VERoMXNUNV9GczdyR3NFRUd5MGc2UzhQa19QS0FHMU5PWXIwT1IxcXpCWUdIdVhoZnFJZlR5Q010ZUVmX3U2OTJaclYtckd3QXNuYVZoaHVrdFZfNnhQZ05tS2owWTNHRVFJSFVrblBzQjI0UFR4VWh0aFZmNWZlVmRlazJtbm5FTVQ5ZHNPektBeFl0YTZWMkY0TkppX1dDNnRBV0MwUDZRYWJnTW9CTGV4LU5obFJYWUNZRnpyS0ZSbERpbWFWU19RTUxrNzdpMkpHYjl6OG9FT29HTGRWQ1dOTmtqM1FpMmNfSVNEMlVJNlpOMWxoNGN6V0ZOZDVCMWgyYmpZVlppZzYzbHZodWhLOHJoVHZHVGMxQzZ3clgza01rQ1o0a1lMRXdidDRMWlN5UGl3LUlrd016bmtRRnR4NTRQeURWTDlwZDdsSmVUYmJIU3JHamRZd0p0YXkwd1gyaWdpWlloZGlrU282bU5aMDlfTFBNbElFSlMyZXY0S1ZhVl9HWWhucENpbjgxZmdPRnVhb05WR0ZQbWpkRmpHaWF1OUoyT0xDeE8xZGQ5ZHBPZWJJTnFRSEZhdFlEVHFYM1VsWWdPTDk4ZzZ4cG80cGVpZEtYRTFkZWhCX3JRSmxKRzUtWWNnU3d0alFpUUNBb1JnMVJVdENSbHlrZWhjWDZJX25Gc3hrWDdWanAyNWVIaGlQSnhrc0I3UDJWc0IxSkxDTnZCcG1vUl9rZFotNzJ0RE1IVTViRE45cEFBWVdVa3lRQnVOTTFDMDhSdHZES0g5dlFzNExqQkZZY19GNDV6Ump2T3Y2SERvUlEyakxkZHFEWlMwdXNMb0JwTnNmZEVUaGxZenJMNGdPOFRUU3F1clVDZ19pUDlpOTM1Tnc3Qm5KMExZWXR6NVVaa2JMVEJ2UnhQY1hiVVU2Ul9rbnRuYS1jVnI4NjV0M1Jpb28tMFNvOVQtQ2NON0VtVjgzdGtDWGhVc1JORTZtRHBLMVdvTk5xR29MaDRuVUhpZFBqdFFuV28xc05LcEFUU2pDMEhGZk5KUWU0MnBYUjVPMG9TTzN6MzhMSHlONE1RZkF1QjY5aTViUDVPSjNiZ09JeXFrTy0zNjdEdUhHRlMydDJXYno4WkY5dS1fRU1NOTdfX1lleVhES0RqOTZMZ1FSamM0dnhCdlk5SV95U3FMMFVEQl9mZHFQOVlnM1JBUU1VQ1EwZmNHcUFCQV8wTEN5VHlsQnhsS3p6SkdfYzdhSm1EMy1xNHZBeUpuTGRIYkg1U2Y5a1F3Y3Z3R3FPcnRXeW9zQVUyTmdpRlJDaHRMOG03VWR1LWppeHFTd3JyZGVvbUxRNVotMHpkVnAzN0R2VE1ocVlzN0M3SnEzZUNwRHQ4NDRpZUYtRHhISzBfMDdJUk4xOWplREN1X3JVYk9CeVdzNjhQMFd0RDRXUXAxcG1SdVlMMlN1cGdENmU4M1RJNHY3N0FBZE5lWUN6MUpsc2xJN1BjVWxFdEl1SHVoMmtjSzhQRkk3NTNwVHNOUWNiMTVPNWFGNjdQaV91TnpxMzUxX2MwTF9ZdThLM29RelZXeDU4OGs1MHNBcUxhRmN3bTlqOUh1U2VKVERVV0VVeGxBbmpXenZtNFJ4ckFHc0xwVV9XdF80S1B3eUo5eUJ3YmtITVFuQVdDSG13OWhWV080MjRQYVh0eEcyeHpyN0ZnQkg3VklMZGE5X0M1aTFhOUgyRDFoVmZzRFNVb0k1ampzNnVVS0VBa1JCSmNob01Vd2pzaVVYTGlKc1dJTklON3BGQzIyZ1prTmdVTHpETDhGdm9LMzJUcElzNWFpR0s1Y0NYTE1BcEVzeGVjWDg4R1NmVjlOWVk1X004NWI5R1pWRDk4UU9BamFUZk5JN1VLeGc4LVdEeHktSHFHcWJMd2hkOERTakxJcmZ3dnA0M0lKMzR4T3hfc3otZnFWdnRFTmlNTVM3Wm5JdFktcnlad2lwb1dQQlBSVnN2SkVNX1V4YzNyeFJzM21FZ3djYktILUNwUkpoNVJma2plbzlGaVJWT0JXdmV5ZkQySXRDR1o5SEFBQU00dGh3ZXB6OFFjTlpqNnZPMnA5MVMycFFKSWF6TUlydGw5bFU1ZTN2dndGZE1sTnVYeTdSTFF1MWdiOUhIVXpaR2k4ZnVPSFhSaW94OXBJMVlvdXYtMEFaR2N1YXBPMUktTzlGSG5wRFNaV09LOEwwWTVTTUtsZTJVSEN1WUZlVXg2cmoxVy1qbWRBUzFZdVB2OXBKNXIta0ZfMWdhcm01SDBDV3JEVGlaN2xzUWgxd2JFNV9td0ZxX1FlbHdoYXVvcjBtMTVuRDE0ZHF5bk5JY3duN01WajFOQ1U5RGxDUDluTEtZSG9uX0tOMnExMVhwbDduOENqWjlVTU5jM3lEVHU3X0lPdWF1N211UlpMZ2dlMzR4NWlqa1RhQjd0NWZRaXprX3RtdzRGUWlnVlpXT1dVV3ZmQUZ2cTNSZ3hKQ2RsakdUUVo2V1RfN1dkSEZadDJPTFJvcjdxZm5EUGl2Z2ZlM05IMVl3UUNsZGpSM05PY0VPcjQxNDFTLW40MU9ZYzE2VlRTN1ZDZUNkOGxXamV2ZE9TTEZyVVlELXBNclgwRktjRkRFTnhZRUpBYjhOSGkxckk2TEkzV2gyUFdKTmpWODBxaUlNOElFTVRTVjZVbkZLd1IyY1dUU2VaS1pBZWlwRVlCdm5FeXJDMTd1WDB0VTRJTVZscFRLRkpPRjNnT05NOTZTaFI2c29ETXc5NEZsYzJXc2FUcDNSWVAyM1NzLUFmYkljZW9fVjc0empIMTdXa3lheUE5ejFpT2ZTanVhdjU0RXpQWFNLN0RScWlUTkZFR1FpaXhZRFlHWUtSSUU4WW5zbWwxMGlMNWlCeW1zWU5BcTdWSzBIMW9YMHU2dDdxdDlVTk0xcFRfNXJOMGVEMkR1VFNQNE1wckRrN2xoUGVjRjZSUVNjVEZzUTZVQ3NydTRIckpGZFFzV3ZYYlFLeUFCTm9WbTVrSFRsRTUtRlF3cUJKX1VDV2NoaV9iQ3lCalNwQml3enRGeDdENlN6dUcyQ2xTVExnX19SMFh6WDhYYVpHQzZHcGk3aVRzVzJPcWFyeUY3bWRzMHliZ3FSaWJmQXE5ZHNvNVlUM0V2aTJDZUh4TEZ4Qnp4dHkwMmpmOE1IV04xZXJsMDdxM0Z0ZFhZM0RYdWZlQWJodFRVaktuT3BkS1FQamhlODN1RWdQQ3EydVphR05lRU53M0ZNQ1NUbmIxc2FNMXpWM0hIZVNRbHN4RDJFRkNXLXk2RHN3M1FDUTNqS2IwU2p0M2VGMkFaLXNHeUdBSkVfZnVOc2FfbTVuMHgxZVBBU2k4YXRad05ERGJZd0FyNy1yVjZDRHpxbkc3dm1PX28tMWhWT2pWR29uS2x5TUFvd1NWeFNPRGZ3eGZsMUNZTy00YXB1Mzl6VG5neUQzNEt6SEl1RkZDRGxOU3JaTGZKVTZORE9HVU4zSTNnRlhOTXhOeWFITUlyaFRGbUlKVTVqQ29QbGpRWjdEMWRLaFRNeUxsbmpFZmRtYnh5eEdOZVAwOE15YlFsLWhwWDB5RTRENFBIdTVtcHRrOXo4OW1zb2t3MVBFZ3MxOXM3cFpmOVl4YXJOa0k2TEp4UE1jMzhxYmdGZU54cTdnZjFlZG5ZekthOE5odjVqOG9DVzJ4TVBsLVZLTTFYWGhxaGs5NmVFSFFZem1ubVNzd1NvMXZ6amFnOHh6Wk5heEZXTWJ0c3lsMEx4WUZSZF9YNHB4VjUzV0ZtbmJEdW43ZVNkUkw3LUZQdnFIeGZHYk04RkdsV3IzZkh1MGpvaHItS2ExNTZMZmNsMHE5UGt6SWlyUTNUTXVHamRvQmdsSGtNd3J4NUhpa09lRzhlT1FqRnhhZVlVM1I4RHRMUk4xd0dXYTVNU0t2bkNqSk9IWjFpY1ZCMjhUQmtSZHJHd0wtZm85SUJUVWtVR1ZMODhzOUtqVGtBVkxNVjVPYnBIOTcwbGZOU05wTWp3ZnBjLVBEQ0FzelJSTE51SGJHM2NfNGN0LWthc3lGMXFFVWNWOG9tN3lHbFVXZDhiM2RkTWJST3MtNldhdlBBbkFTSGVTbHVXdTVnTjREZV9mRmZSWm9wU2RzU1BMdG85amphbWRaMURTRHR4V0RocW1qdFE1UkFVY0Z0V0xHQnk3X0dUQXNVbkhWNVlBemxJcHh5V1JlVnhmbXBZUW9QbjJCcGpaZXRRcWNxTk9WWTFaM281RktRZ19IZFFpQkgzbk9hM3piaDBVajdmaXQxS3ZUek5DbW1DTE5WbFU0U19EdWdNOGtNcGlaNU5OX0lUUEdwdHR0ZlhISENCTkVLOGVqQmFlOVA0QWtYdHQycGtVTWh0c1RaazNYNzA3ZjQzdFdxMzRzMHF4NmlLd3pVQlNaeDZPQVU1T0szWEJPRmUtMlgySFUyTHYzLXVrd3B4SG5IMFkwaFRWbGxDWnhtdzM2a1JzUFpTbnhTWkxvZ2hmLXBuSVJJUGJsb2x3SmctS2dzX29EYkt1UkdPQlZkcGNpdER2VFF3SnJWRDllS2RwTDdZUU83NWFqUXlzX2hiTm9Db29raDA3dUFnZjlqWWVaRFF5cGE5bmY4aEtSLTYyeHdGZzJuOUNFVnJUQ3hUam05dUFOOTB2Zmo1NTZhM0doVDYtSFVxN1Rya0s5MkhiYmNDQ1JYcFBoQnY3T0xSaHZJRFFoQmFzYkFlOWNseTN6cTc2RTcwdGszZWU3eTVFZEg0VWVWbk55WXVvbGVaREpreC1pOGc4LWY0ZlA2eFRQM3d1WmVXVWRpc1FVXzJkRkxiVFNiSGE2VnU3VkJ3Sk05bUIybHBfRk80a2c2U1JkZy1OUVBuWndKYmJ1b2tyanhsQkt3N1RGZU1telB6b0tFYTJ5T3MzZ3N6VGwtLVNQMFRxTTBma2tNMlJPal9HMHlHMTRsRUFYcHY5dC1mSjdWTF83U3ZLaGh5ZGQzX1BzNjR2S3ZKSWJwUzdxbmJxR25EX3ZtSDhrY3A0ZWNBd1FabjdsMW0zc1lCX2hwcUlPZ0doMVc0MkdpR3BzSV91SGZtVVhFeUZYTWw0S3RDMTNkcWVjM2JPRGpRd0I1eDlCVzBxd0phRGZLLUhfeHg0N09XRWtvdmM2dS1odkxYT1l2T1hENnFhNTRnRHk4M3FGSE5KOWFuZXNtZG41UWMyRHdGMENlSEZvZmNUOThmVkdES1lWZzJRU09meWEzaXk3blgwMGJJNDZxN3RvRENOc0NDUnpNRXh2d3ZLT3Z0WjdNTk9yRkFiTWoxYXlpNE1rZVptbHQ0Nm90Wko0eEFOcHB4MzhyOU14QkRrMzh4X0RmYVp5WmlmOE4tUU9rV1RRMEVFYzNIcUJZSTNhOW1yOHoyR1hqdnNBb1pNQjV3c1VhWUVBWFd0UXZiMjNUcXBmNWJvUmNkQTF0dWlmYVlfTTBzeGVub1RTeVdxUXlpV3NUdGRwNlJpRGpUSHhDcGtPMnFlb0h4X3lWZ1BnZWhGRExsOXdvaTJ2VWlBWW54bDJOcXk4Tkl4MXZ0c0RCYVdMaVZtNkZ3OGhncDRYUFNyV1Vjc0hsclN1REJQZkF4X1FSenY2eXg2TjdOZGtUczBobE5sc3NuQmw3SGdsUGRBbnVNTzRxTVE5WnV6djdzUG5RUkRIQkZTSnRWTThfQ29mcEYzczF4WlI4aUs0SHpHUGFwelJ3M3hyWEJ3ZHg2bTFTTjBqWm8xc0ZaZEJlbEN5eHFmb3V6YzNoZTlsMDNaX1B0RzBlNDUyck80UlZpakN3TWdDRlpCLVo1MGZTYzBjbWlyT25wVVd2azdDVW8yT091Ti1zTmNNd3JvSGZQWDdmNURjVzk1WWtGZzZ3WVVBSHhRcWNRNjBqMlRUM2tnQlM3QThZRl9Nd1hjbDZIYXdVdGFId0J5VmhUQmZ3aTdOY2V0OHpCNTZqOFBJZW84ekh0aUExX1REWUF4dHVuaVBObXdzREFXLTkxVThiekt3WUhoOEFZQmVEWkl5SlBZdy1FNVJhMUE5bFVyT2prR2ZVelRDMVpEbnhfZXRpaW9NZ05BZC1FTjBkcHdtNDhROU8wclRXYXBvRngyQ3N3aEJwRGRmWGVybWNXc25PWnBVTDZjaWEzSmNWbFN0MlJFM0tLdmx6aGhVbjRycnhsZFJaUk1iUExibUIxZ0FpSVlJWW04R1ZESDI5VDI3ZHNWd2hXWVFfekNwLTlYak10NFdlV0ZLTkg3Y3pXTkUzUkRsaHQ5TlpHbE45QlhCMzB1M0dGRkJYX0dHX2kxNDFCb2dVYnZ1cUQwYWRsR2Rja2llNFQ3dURFMGRIeWhxSjRpdE8yY2JjY2JTVUZFWGFQZ3ltZTNoY3ZsUnV1RnVydGFYUFRWTGR0NGJiZ3c0eU9yYWNPREp2dTdrdDE1N1dFdkZoNUNRR0ZidGE2eWk0a3R1S2RwTkRsbTMyYTZQY0M0VFZ2eXJ0bDhpQmZUZjQ0U0Z2TlI0NzRQVGpaTVgzNjlBdVk1TXVVMlFwZGNkaUdfSXJOLXBEYm92Q2ZvZG9aZVNUQkppM0NUV1Y0cFBWQ2dvMmltR1NfX0gwTlpMVVlFRDBkdHRHS1p3UG01eExPbW01SFB3LXYtMXEzRU8zajh0SUI2aUQzYmJoTm9CS1ZzaVlOSUpoRjg2NEdHbVNpQUdQWWRucGRtODlad0g2RW8yTS1qdW41UjRCMjlDQ0NkaXItdEZnZ1BnUkdaa3hET0FZdk9ZNDFMRDVNUFNpYVFDT1JqR3p4VFpDS0VJdkN0bzVkeTl4cndKZE8xOTdfMW94VVB6aVotSFY3a1lQQ01uREdURmNkYjZmZXllOW5YMmpQR3dERUx6S1hHYklSdi0tREFDenFJN0dEa055R3VzanVvb2t5ekVtaEtqSTFZZ1Y2WWJOSUpfVUI5eVJPY2w0dk1VN0RLWlZZSGE1M0NIT1RkSTRJNjZWcXFwS3hVYTk4TnpDXzR4UnBmakVFX3NNX3JrQkJzODc3VmVkTE1FWEFZcWlNQ3VMU3BsVHpRZE9lZzdpVm4xRUQ4QzVZSXF5X0RkVzRhSGRleFQ4N2VnWm1YY2dYTHBaWEZDM05XR19mR0paOC1aVE5IUTlSYm91Yk01M2JvYnNtSWFTUGh3UmpMd2Z6X21CaG5JaWFDX0NGVmZURXprQVg3X0NtQnk3Ym9OVGVrLWVjRXBvQTY3cUZQSnBSYWcxZ2Roa2tGMzZBYmZDdmZOTG9LZkhic0s4dVZHNzJHMy1aSjRNeTNHMWFyc3Y4bjhfdUpwSE5RX25oNUFvVUEwSGhaRkJ2ejRtd0MzQ0lQUGZqS1pvaExHNFk3RTBvRlJNbHAwclFFeUc1WmR3TlV6M093T1JtZnlQNTAyNHRqWmV5bkRjWnVFQzNXMndRVHA4SklUOHZLZUVFem5PMzhoZEtpZXc4VGJNX01FUEEtS1Naa3k1TUpJQUJTeXFqZzhUMklpS3N2RUFQSGpjZmFyTlJHNWZhdXRVcTlUd2xQbjFmeERnamI2dW1OUW9tbHFKd01NeHF3aUktLXFKaU1YY3V5VXdaZHJrVF8xaHBXeEktekNMVU5vNVIzT2lyeXA1QklLWEQ3UTlGUVFXUGNEWmE2MjUwQ0ZNdXlxZXQwU1VsLTZOVVpUQm50TW5iV0QwNGNPbGhpUjY1T1FHTlE3UTgzZGxiSWZXMWJxRU1lZGl6UlZSYjRtU3ZqcVNJM3EzWC00RkxMejlWLTNYeFdhQ3p6dkZFRnp0d0VfWU9YTE1tQXVDd3ZqdmlWaFltUGowNERjSnZqYTcyZHR4WklSOVV1VFZUcC0zRnJoc0hrYWRHR2FGbGtQVEZBOEZleGozMlJaV2pXQmV4a2FCWGJnZWJjaFZma3J1cTgwVDU1MmJhVEUxUUhjX2NrZUtPZWVXajBBUUdfNEZ0TktvMmhQWlliQk4wY0JybEV1bVliZ1VOTUFMa2ZBWDdXdGxxcHkyUEV5UlJfTFluMkl6OXc4eWRGczg1Smo4cmI2bTI0TkxaRUlkbW1LTkxmRVlFYmd6dklVOThzT2VtR1dUbEswY1g5V2V6SXRDWW5IbHg0ZzlTR2NnM2h6ZmRDeWNibktkMDNNdkNJMnlGYVJuLW5FWGFXaWtjRFZ4MHEyejVfU2p3ekJEamExeS1hNkszQ3hQVEpXbVdJNmlDOVJTcG5Cbk9sdmd3STA1cnRMQnFjcFFyUU8xRjRkV3AtekpaUFJfZkktenlzNFI0QUNSYnFDODRmTllqbWJoNzNVQ09jVTRBZENVSEpud2lTQnE1bFd3SS0xU0piYTh2TnI0aVhkVzhZcmFYM1RuUEdGMXRsVl9lQWVxOTVPdHJfQldnb1BER2Z5MTFDSV8xRDAzRTVQQlhMZzBDVWRzLWZEa1UtUVFvOGlrczN2Z3BsenZ1QV9BWExHV0ZQSnJpR0dCaHJpRTl5UFlXVU9MSHRoTThUd3VNaG9vTnhoMzRRbWthTG5uSUZLY2o1bHp3QWdPNE9BZXBsZlA1Q1RBRm5LTUFWaEx0UUJyenl5TTdnRGl1T3ZBeDRIekF2V0RFcG9HemN1X185Ynh6dkV5YksyeVVhQ0t0S0VHZ2oxX1BMay12NC1BY1NHb0dmVWhHSVdTaThoQzhONzBUMTZNWXNYbTZzN1NFWjNyd0x0Wk41clpvNnV2alNLeGpxRXNkNkp1aW9EWkVZVmpnR2VUbzE3UW1Nb1RhQlVJSXpJcXVWNmQtRGZyOFBTQmpyNVdTc0l1R3pHZjk1LUMwX1ltSjZRV0ZvdEs1NUdZTjVOa2pQbHI0TTR6MlJORjBhQXhXWmZXckg3Zk9xUGxJOWNQa0VKM253YUxCUTN5OERnclZmem5oeDlPYXpOOEQ4UVFla1hsVGhuSTNGbjV5SmJuNjJUeUZTUFdHVFdaemZOVnpCVTFCNUl4RVJoNDBYRDNURExMWnBjSUFxTExVeHVaUmNzN1p5anpRNFFqWkhFZHN2ak5XRWxIbXM3bFF1WEdBZjZXUVhMdzBXT2lneFdzLWpUMjdNQVRjTllJaVF6M1lVM2tuZ0xkSGlTTXhCR0p1ZkQ5cEZxVlJLc3BhQXV2VEtrNXlYd0V2V3YtNXdzZS03TG40QUNuUmJ5cUpXLXVZUHJ5b1N6RjNXVU1JcEFWeGUyRzR4Y0EzZDR1Sm5ESWQ3eXhodE1jTl9wZWV1X1RJb1hGcmFpVEZ4bkh2YkFHYTc2SVRJc3Z0MXB4MHVQbkM2M3QxMjNvdjhiRkFfV1l1NUVhbWpWQTRWaFkxTldGQld6NnU5dmVFVDhLMFBuU1ZveUduXzJKSHRWUzhlTTlwZDdoSXVLeWJ2cGN4al9MMlh2NkhHUGY2MWU0bG8tR3RoZUhTTEptbWRSVTRnd3hvWTNPRzdDLV84eVJhMzRhQUZEMksxSDMwYlVqNnptV1hRWEdmMnp5SzFBeENwWVdUUWdqZVdjV2JrX2toWEtDZjU5NGQ1Y1l4aUFmRlN4TWdHMnF0MF8wQjNwN3p2VDJKMndVTHJUd3djb3dZWkFEbTB1Y08wUkNvLTROc0VPb3p0UXE0dW1nQ0xqN0NNT2RYNUc5NGt5SUZabnoxbkZwYTZYR3Z5N3Z0QjBIVnlFaFFMZ21ScmFxTVFmNl9Gd0dVWFlMQ1hualU1S04wbzVQdUdna3BKcGRzaHQ5VFA3aXljWTRKWUM2NFBOS2FIczhNVVJwMTF5SW9ZekdvWnUxejVLUUJrdExjOWZ4QWtYYWlxZ2E4NlJRREVaMlpQRFFtdWkybXc2WDl6MThjT2laS1Vib25RQmdEeWFfS0RhM1pXNFNnUFpVWTV0Wk5nUGpFVjVINm1odS1aVWd1akk3X3E4Q3dETjVRYklSY0Z5SnMwaUEyYzMxOTZNNG9LcDM4aUhwdDY3ZUtFODVOQ21FNFU5RXlSVWo0U3doX00zUG5Ibk9kOU9hYTRZN1FVcWwzRjBIT2x0WGlpdTFEWndpa3FJbmhZVFhtdDI5SXhrS3hmNEl5TzliSjAyMm9FR3JWYkRsM1NhOEVqQ253VjJqdXByS2NoMjFzVHlfUUY3ZC12eHRIXzE5WDVzOU9qU1FVbFhkRG5CTzZQUUkzMTZLN0szTGtUSjh6VWl4RGc1cmZSb1piTGc1RkhrbXktNTlQU3VkQVZLdjdBLV9RRjJmLVV1WlhuRXVlc0kyOGZONzZXM0FmQ0xTQzNST0xid2NuSm9yTmRMdUtjN3dfeDVsZmIwZEY3QzFPS3NCaHRPZEJvSmVXMVRaYXoxeDNhN0NYYmZJd21mT2RUamlSY2dGR3ZnLVp2TnZNTlcwUmxWaGxIOTZ0ZGVvdndTRGZHcHNVT1pSUlFIVmRjdHVSdElDUk5BeThaV0NqYUIxTllkX2pJRDRma054Rmw0bVItTWRpQkU3Q1d6R0tBTnRSTUdwY25GNjQxaE9iWE45d0QyMm5fcHdFT3lRb0NqbW1XTEhVejlHY1M4b2FTQl90RFJ3UzZiVDJkTUFLMTl5R0NhQ2ZNbjI1VmxKTFRhWkFIOXFFQXgtMjl5RWpZT05DRV9DM2hPX2Fnay1jeTdzVzItdHVrWEdDZTFNNGpxM3NUSlFjY3dDXy12SG1kTUJVdzdZbXZzSmVZWmxnNHl3aE9HZE9lTW1jTW1NUlQyMlhRQ1dlZVQyeWdhSnV2bmtMRlJOQVJybEVHRExmZXBLUmlaU3hOMDc3REpJZEV5Q2ZGRjl3amx0bllZcms2cXFIejhkOHhJVkw5blBIVUM0ZXlrSkE3R29Ob29BSGlYcWxkNEZtX2ZUOThuV2dycXZFWHV5VlRoYUtNckhIcFU1UG1YZFJCeXZlT0twN1pQZk91a0RIQ19vekpqN29kbldHUHNnMm1FRXNaWU9pTFBHVUxMMjJxQmhjRXZTbXFYbWhsVUQxVUNrWl9ZMnd3cXpaUWhNZUp5Sng1RlF0SGtKeEVTeUsxdmVBY2czNWprdnFhNDIxSDhrVW9GV2EwSUlsM3drM0QzaEFOSDNLZWNoaF81bU80UkhwandwYmNnd1BzVEkwSTFTUjBReEZEV19RZkdRMW1famhBWnBtdGJ2WlA0M2dMMC1tN2tXUHF4VHpOc1R3NllsSnZBTlZHb1NrLU5jX01QZ0ZOWGxxcGwxWVYtS1BSeEljNmJtYXFvanRXck00NzRlZy05NVEzOUx6cEM4QzAwLV9aeC1UV01PWTdmcU1jazdqRVJjdlloSllfdTh2YkNKX0VkWkNscS1XdmVaNkpERFZZNWVHd1FDWnoxS2lQOFhNbWV0bjRyTzBSVXNJLWVxWG96QWdxNVdfbXYycERYbXV1cjZuaThub0ZRNnUwTEYteGR0MEZENU9LcEJNcDZKdlNadkQzamVqbnBwQkhqWXZUY054UXkyOXd0WXNrRTk2UmFrX3N0UFFPOW10S2dsSDlBVk8yTFJ2eWRUSkxhekRETDhvTnVtQkpWbGxCbS1zNWNpX2txWG90REJZdDItQ3hpR19VWVB6Z2JSdC1nU2F4cUZDT191eHh2TW5HQ1R3T1dCRzJ2NDY5MXVBNExNVldNX19IRjdKOENyZnk5V2I4VG9aUTdOQXhCanVva0RUWVFQV1BsRUFNVWpYNmVvdnFzQkREX1lxTEpVc2xUQU00LVlNX3pNSlN1N28xLXhWNWFsUzhBMDlPOGNaTkQ2MEZhcXRCZGNBSkp3bVRkTGRBS0FHanpMY3JWZHRCX3NkSDV5UE1YcFJkQ0k4eEFab0o0TDRGaUlNcGJadlRjNDk5cUctWkxFV2l1REtnZ19BUnd1Q290eDVkY0dJOVF6LWwxLW5PU0p4TVpjMEZaQ1RHbjdhQ1RYQk5kb3llSUVDTUZUOHdkRGl1TmdDdUlKeGdWOEpHZ0NZQ1pqekR0dkdDY29SZjBDcmNIdjh2cmQ5UG4yd0pLR0xkd1FGV2FNUFhrVkE3SzY0NnpxX1J3bDlHSmJITDROMTNHMnpTSzRnaFQzX1loNGtwWmRVeEhiLWQzUHJmY0ZUc012N2xmbkUtMy1VYUJCemRBdmJlN29MZHUtMm5rY0czN0JVSnROeTdKaVlIcHpzQTFpeXp5dGZDTmtnSi05OEZta0dqVXhGLVRJT0NPOUhZNVA5eFM1OEdHVUk4MVFyQVE4N1NqeUZBNS10c1dneFFiQnh3RGJrZFNwNU1kNFZNb25sMm9lVXBMTl9JdGx3SDdRYnVTZ181TERUcDZzWTYySjRnbXFsbUo0bXh5UWVYY3c0OGJGRjFUQklweDZzdjFnN1hxcUJ5RGF3TU91c0hmQUR6YWVpbjZiaXJmMUFQaEtUTmpabldRX2Jxb1hZRHV2SURlcFczWnVqTU4zTFdpeUZUd1loVW9mc1lQV2lnVG9MNERqSk1IWWRKNTlTNzhMMm9Tb25pLTc2bUNnM2RiZXdlWlRVUEVuOWVST3hoQ2VRUWxFektuaU8wTDlZQV9OOVJzM3JXckpaa2I0d1FYU0RNaktjS01vOWhBTHNMdGZ3MW5BTWZSekRzenBybGpEUkZkWU1lc0tZMGZhek1PNURIZ20wZWxSZ1ppTTNwNWtVMmZmUjRZcXM4c1lTTjVyTG0zNjdaQjU0TlBEYm5GZGFCSndBVWVZY3F2WkF2eU1EYmdQUjBHeUR5VlpHM0E0TVQ0a2cwQ3pic3Bydy1lNHFZN2g2dGltVWdXSF90RkhtSWU5VlUyYjRPdXpFRHRQanhURFNZVzlwQ1E2eTI5UTlDUTVlcGNjS2hYX2Y0MDRrRU55RE9XN3ktdXpKeUg2akJ0SUFHek5yQ2xrOXoxR3QzWEZYMW41bDF5ZlVBVHZacE1YcmFWM1dpWi1nMFFYbVZfWTB6UGJTMlJYcTMzb1QwRTc1U3prS2lDRUY2SngwdVJkZTcxTWRtaFZxOUc4dW1iZjlDR08yNWwyWmxQX3A3MUk2QjNHY283WmZBajhPR3NaWTlxT3NXTjJqMENMWGhPUjAzdzY3TC1BQlNZbVp6Z2F5WTU4Yk5sblJNVl92RFZmeWxkeF9pMVhUalg3OG9GWW4zVlFHRWU1cV9sYU1tdW5vWm9EWHA1amNYVDdLbmFfa3FLRS1DdldvUFBhOGNTZFNGR1NDZHRRejkyMnNHdjlCR2VEb3BLNktoVU0zb2paWDJUeG0xMlg0OHpieXBzanR6ZmJJR1ZrMXl0ZVluTmpvMWEwQ0pBdDdLRFdfLTJBTkkwTnFOTURtU3NpelgzcXV2SzIza0h4Z2ZOWTNoMzZwbVZUSDZ3ckFwQ29uLW9TU0lkV3RTRzBaYjFTcmhYNUtwWG1KOEJZWFNqMkRHb2dVS2VDV2VPRk1BdmFEU05UZWV6NzBWWHd4T2Z3WkRHaHdyYVpYeFJ1LUsyTHViX1loTHpTYkprLU5hTnhGcm1oR3lTNXBvNnNRSnJReEZSaTR1aFdVa0hydU5yT1o3VlVvZGo2LTBHSGlKQmtHUGQyWXV5Sy00Y3RER1ZJcHFNd240Nk9NR0VNQUUzT0dRb2ludnh2OU5ycEhmQVJvVkI5X19UTlJnNzZRZWUyNElzQjJ4ZmJkcXVNaEF1MHFDZWRpX1ZLWmFYY092Ym05UWhsMmZTMHhyWE05R0VESWo3aTV0WTJ5cFB1WlFYY29KMlItTjNUQ25TREtlX2pBQzlGcThTd1IzQWJNVEhJZ3QtVUF4TXV0TVktQ3VmOUw3dERVNTJqX19pNnEwSUJiMDA2UU9FNkMwUnFONGc1cGZiSFNleTF4cERscnlhVTVnVVpFcnBOT1pKWHNJSWR0Uk84dFUzVDc1czh1ZDIyQVJiazVqTFdrcktuSnlYbDEzZ19KZmY1aG1uSDZPN052Tk8zR1dDb2d2Vl9vNHB2NFRnYWZXR1BnRkFQQXVvU3N6ZzNWWUVwWURsT3NGMjc3Xy1FOEtIb1d1aDN5aG1EX2NfdExXeXBTR0NFYk1xYWhvUHVUcHBZNVpvX09qX2J2eEVYSndMLWNVWnFGU1JMQkRMY2R6YzlTMkFGSU80c2tfR25sX0s5bjluay1GcFNpWVJaU2szOGgya0llVkRwX1dsa2JnQ2ZSOGNEaGd3bEVyME95Rl9QT3N3THV5ZnUwU3ZaMk9tV1dDMm1iaExtQmkxdVNIN3liTlJ3Rk1mTk9acXlkZUpVYnBVZjAtb2Rvb05CQ04yaVhlNHZqNnotSFN2NUc2SExTWVptMndjZGI4Y2o3eVJoOEN5N29xYnY3WEJMQll2NXp1Y05Dd19qV28yTGNfVjA2QTJWYUVZV1ZKX0EtTWlIMzNocmkydGsxMGdqSFNwT1lvTkg0Qm14MzluenhfWDdPM3Y3SU5ISUJkZWp0LVRGV1RPYXRvR0dwdjJpTk5yYXhXenltX25rVU9NZWRWeW5DUHozOXMxVjNxZS1laWU5Q2dIMHdwdnJLVGFjV2NuUzltYU9xWkV0RElTRG8taFBaVFdQdTJtQU1Ea0ZhU3BQVE0wR19HVXY1cjYyTnNqYTlQTU1admx6dVQ2X0dNc2MzU0QwTUhqTDRvRV9qekp6aWNIdm9PMzhFMXRGWlI4bnpRSEhsTXVYMkxkX3NJLTI3TWJWZGhIQ1BxWGhuMXpyREhXRlZzLVloc21VUkFvVWdzRG5ad290cmliZjNsNzZZbkxnaGZlMXpuamstUlpWQk1oaTRPZmx1S0ZqTEFpQ05nWlVOZ3hqRlM0U0FsV1NtQks0eF9ETkx2YWVBV3d3bkR3bXZCQ05QbXFiRkgzQnRyeVd0R3UxV0dJSjk0eUh3aThTbDRLdEV5eElraDI3REJVXzNyMWFMcmlwX1pSdTUyQmxwMkF1OFhIM3lHMWF3WVZvaGdrWGNrRzBQc2VRT0tVUm5ncXQ4Y2xPZ2MwbkpjbVpNNEhSUVZoUDZzYk43dVVLNDk1cjM3WW92aWVXQmd2U1J6VURzRTB1aXdOeFlJS0F3Q1dSamhGb2Q1dTRFd0dPWVJqT0xPWmtvU2VmX2dwcmJwZXJTd0g4MHJHUWYzTVQ4TndtdHUya2Q1Zi10STAzcjhyZWJ1cEdzTFZqSHc2Mm41ZFVnLVRFNU1tWlZ0LUtnT1NLbmlPSlFlaF9pbndkNXFpVzZ6T09zVkFLeEliWFNXTXo5SGRtcVlMMk41UjhQOFZGaDBhYVV1X1V3Q2JfbWhJcEtYd0FJUFBwSDlhQmwyVTdoaEdROHlCXy1YQk5OTDdwaXUyYUI2eDdJWEg1S3BfajNZZkVtSnFZeFJJcHFzU0RLT25nclJGTXpCYTZ5NjYzVzlaTkJTNlF5aFFLY0l1ZGhROEtVaGtzTjkxY3NZTTNidGVvWkl3U0paSk5nTXFBc0o0X0J6cHZ1c0gyYXFRbkR2MGtjekNNUkdzUHRuXzdiTWdVWGNuWXlwak9pVWVWdkUyZmV5b29aUGRmZ3lLMlI4aFFkX0FfcE1rbk9ZUUtBUTY4UEUxYzhuRkc0eTg1dHpQRlY5R0RhU1E1R2VlOHBjSzFxRG1sZnJ1bi1IeThtS0hrZHVJV3gwYkh3eGZyUzJKaEdacVpoMkJDMjRGZGd6R0x6U25FYmJPOEpFT0Iya3FGdG0yVGFsQTVoSXdIR0NFYlJCMUV5Y1poV2VjUGxhd3RDT0ZiODJjdy0tRzNQSG9ETzBtTGZ3VEo5OHdrX0IwRHlEdXlGejNFLTJjQk10YmMwTXNyQXB5cUhUNHROZFVWa05NMlVWUXhMMGN3TmFlWGxBNnhXTnViRHZvSDkwTUkwYlpTeW50WEtKZ3FNUnZoTUNJRUd6TzJ4Tk43aUhnZE42VHQ2WGhDSGR1ZXJ6bmVKUHdnOEFkN3BuREI1U0p5c05TZVVSRW5LdTlROG9vVEhXV1FwR2hZc185M2MwTnRueGpCTFdLck5UUFR6dFJGOWVlT0pYSW1aWk5UZkZWTkgwY01IRFVwa3lkamxQbndDZEVmOU83aUw3bXlLbm9LQW5xeU04LUpaaFVWN18yWmtkZ1hJR2V5Z0FGRGNDQzItN1JOYmd4LXJMS3dUYkV2RDhvaWhIaUEtTlZENEE0aXdQSUg3RzR1WmlCX2JrUHl1TWRJLV9wOHlmeERrUnhQV1QtZW1BMWRQbjZXMUJoT2pubEFwMEdxMW42aU9TeWNmVDJFVTk0Vk5WemVYeEpkRTdrMmVWdEZtemwtX2g2b3EzamlHU2dRY0xxeUFYZEc4eVZEQVJJejBSMVdmSFk0Wmx0Z1JpZjJrSHpGUkk2Qjh6QkFZQzVNV1gxaVQ0MjJZaFBHWnBUa0JpOXExMldLakdGY0g0aEpCRzRwblVQMUJnUVBoSjZ3LThLY0w3a2hqOWRtR3B6SDY5cVZGUlg0X2pwSDFlRXNXSVNjU21HbUt0WTBxOTAwbmNOU3h2Sk5JaGxQaGFoVTZVZXd2VkJyemljVFBNSEF5cXN4SUZ3VXJNWWhxejZSNjB4VGg5ck1CbU8zOV9KZzF4WjJFbUU3X2wyazhwaEIzOHJHV0ZBQmJRdUJpOWk5U0tfVXJNbnZsbDhBV2ttSVZNM2JkUjNqaU9GUUY0Z0t1aElDOUxYQ2NqRGVNOV9tNnFVS2ZUUWNrSnhNMW51NVlmMS11NXVqOVNXb0Fsei1scnIzQ093VzdBSXNudkhuTlV3UW1ITG0tdEhDdDNxMzZrbnpvMU1yOXlpTEVpSlhmMzFUVU1rYXlRVGNkbnlDM2FhcEdnbnNRRzVXcXFRU1hmMkJNWWI0UE0zOVlYaUh1STBNN2RQTXRMeGVYamd6enNLWkZITlhGS3Z2dnZOV3FkMEdwdnRDUEJFc2VSMDd4U0NWYUVFWk1Way10X25GeDdIYk9mY29EYjIwUDZBUlRsdUVTQTJGUkFHVjZaekM1MVhDSGdkZThsUXRISzRLeVljWHR6YUpyU0FnMkdYT3dWNzlnVUp3cjkxYVpYQURJRjNhMXRHaXVicGJCRnBXbzlNZEhES1hOWWg4OWtKTWhDSlpsTUM1VklpbG9ycUQ5SjNyQUZ1UkxzMXlpR1VtekxBbE5hN1VMbnJ2WlpnZnNzVmZnNjRhNXJ4LUZBX1BqVWlwSzQ0RElXaUthWS1Ic1VkVFFMZjRmNjBBZm9YRU9nb2lMVk9zaVN6aUp4SEdjN3FrY3UtTGlRRGNRSmlhVFVkS3VPeDlYVVJZWUlNYUJkM2F6aXdBSmhPclRBOWNOLTRyVlpTQWN2bEdldk01cUtvR2tTN3hpblZjc25sdmNSdHNTczd2VzR0dm5SdkZxcW8tanlFQTZQUEI5ckJLOU5YcjFBZWZoSU9CZFJta0VlbFhOX2FnNDVQN0cwb29RZWk4VmVTejZwejJBeDlIMXNKQjlkY0NHTi1Fb2tybDZOQm10cmJudmNaLWlaZzdqWlZMM1FVUlY4WjhwRVFLbVJPSllSM05NUHRhcjNKOFZlOVlTd3lpZjFlQnNhV21mMjRCaXFFVVZxc21HNC1zbkZwdm9kci13azFqRGctdGVRVDJQbi1rbEZWUVlXSE0zVWRTQmFONV9hNUJBUWs5blQ2b0JiTTVmUVFwXy02N3VzZ2ZUYlc2NmhlY2s2UGF6aWdQbkNCbWlPS1dzUjJvUFlGcDhZQUV5NmdvLWhOdU1feUhGckZHVjVEQjd0d29wNDAtTk8wWVplbHdzZVItQlJaQzFIN1lTY2QxZ09FQXNuamU5dkhxYXhRSFo5WUZXd2JVRnA1VmJWXzhnNnA4TVZzdzUtRE5XQTFGNlVhSndHZ3U3X3N1aFBGUS1QdmwzT1MxY2pSTWg3RjZMdEI0ZkV4b2xHYW1iMm14NTRzZVBuTEpWTXZ6SXllNlphelB1RVVMQVRIUjVvWFhfUXZoT0ZsX19TOTRYb0Y3eUE2Nkk1NUFTMGJ0RW1sM1h4eUw3dXJQYWtfTEFaT3huM2owamJDNkp0RVJnX3BUVGJaclBsVTZHcVZwX0lUNzFYaUJZRUJqNy1nSEhXWHhmaXVqV1RLby1mRHBiaEFhMU9PMkN3bEl5SGlEMUdXZHpabjVMcDFrZGtaSS1PVXBrUUctRkhsMGNWWmNCWXhqUGdGdER2N3RTdGJSc28yNS1obmZ6UzV0QTZKWjQ9 """.strip() def main(): # 1) Read the key from environment secret_key = os.getenv("ENCRYPTION_KEY") if not secret_key: raise ValueError("Missing ENCRYPTION_KEY in environment variables!") # 2) Decode from Base64 -> bytes ciphertext = base64.b64decode(ENCRYPTED_CODE_B64) # 3) Decrypt with the provided key fernet = Fernet(secret_key.encode()) decrypted_bytes = fernet.decrypt(ciphertext) # 4) Execute in memory # If your code defines a Gradio demo, it should be launched here exec_globals = {} exec(decrypted_bytes, exec_globals) # If your decrypted script defines a 'demo' (gr.Blocks), # it might automatically launch. If not, call: if "demo" in exec_globals: exec_globals["demo"].launch(server_name="0.0.0.0", server_port=7860) if __name__ == "__main__": main()