A method to encrypt content using hugo shortcodes without requiring additional scripts.
有一些內容開始覺得直接放出來會不太好 (指的是蠢事,不是危險事)。
花了許多時間在想辦法不靠額外的方式去加密,因為 hugo 本身有許多限制 (沒有 AES、沒有 bitwise operation) 所以有好幾次想放棄,但後來還是透過一些方法達成。雖然不是絕對安全,但是應該是夠用了。爆破的了的話,就只好讓你看看那些蠢事了。
Usage
{{< encrypt 99 >}}
**secret** content
中文字

{{< /encrypt >}}
Decrypt
Clean
RjkwMCAgICAgICAgICAgIA==-MzVENUI0NjdBMyAgICAgIA==-MUQ5QjY5Q0U0NyAgICAgIA==-QzQ2MTJFMjZGQSAgICAgIA==-NkMyN0QyOUQ5RSAgICAgIA==-MjRGQzg3RjQ0MjEgICAgIA==-OEJCMjRDNUNFNTEgICAgIA==-QzA4OEYwQzM5OTEgICAgIA==-RUI0RUE1MkIzRDEgICAgIA==-RDIxNDZBODJFMDIgICAgIA==-OEFEOTFGRTk4NDIgICAgIA==-NDNBRkMzNTEzODIgICAgIA==-NEE2NTg4QjhEQjIgICAgIA==-MDMzQjNEMTA4RjIgICAgIA==-NTdGMEYxODcyMzMgICAgIA==-NUVCNkE2RUVDNjMgICAgIA==-NkE4QzVCNDY3QTMgICAgIA==-NDI1MjEwQkQxRTMgICAgIA==-RjkxOEM0MTVDMTQgICAgIA==-OTFFRDc5N0M2NTQgICAgIA==-NTlBMzNFRDMxOTQgICAgIA==-QjA3OUUyNEJCQzQgICAgIA==-RjUzRjk3QTI2MDUgICAgIA==-RUJGNDVDMEEwNDUgICAgIA==-RTdDQTAxNzFCNzUgICAgIA==-NzA5MEM1RDg1QjUgICAgIA==-Mzg1NjdBMzAwRjUgICAgIA==-NjAyQzJGOTdBMjYgICAgIA==-NDdFMUUzMEY0NjYgICAgIA==-QUZBNzk4NjZGOTYgICAgIA==-RDc3RDREQ0Q5RDYgICAgIA==-MkMzMzAyMzU0MTcgICAgIA==-NTYwOUI2OUNFNDcgICAgIA==-MkZDRTZCRjM5ODcgICAgIA==-QjM5NDIwNkIzQzcgICAgIA==-NDg1QUQ0QzJFRjcgICAgIA==-NEFBQkQ3M0E4MzggICAgIA==-QkY0RkFDOTEzNzggICAgIA==-ODg4NjUxMDlEQTggICAgIA==-QUE3MUI3NTA4RTggICAgIA==-RDQ0NzZDQjcyMjkgICAgIA==-QUQwRDExMkZDNTkgICAgIA==-MzJEMkQ1ODY3OTkgICAgIA==-QzY5ODhBRUQxRDkgICAgIA==-OUU1RTNGNDVDMEEgICAgIA==-ODkyNEYzQkM2NEEgICAgIA==-RjNGOUE4MTQxOEEgICAgIA==-RkJCRjVEN0JCQkEgICAgIA==-QTM4NTEyRTI2RkEgICAgIA==-NUM0QkM2NEEwM0IgICAgIA==-RjMxMThCQTFCNkIgICAgIA==-RkFENjMwMTk1QUIgICAgIA==-N0U5Q0U0NzAwRUIgICAgIA==-N0E2MkE5RDdBMUMgICAgIA==-RDIzODVFM0Y0NUMgICAgIA==-RjlGRDAzQTZGOEMgICAgIA==-RTJDM0M3MEU5Q0MgICAgIA==-QkE4OTdDNjU0MEQgICAgIA==-MkY0RjIxRENFM0QgICAgIA==-NDUxNUU1MzQ5N0QgICAgIA==-NjFFQTlBOUIzQkQgICAgIA==-QzlBMDVGRjJFRUQgICAgIA==-MTE3NjA0NkE4MkUgICAgIA==-NTkzQ0I4QzEzNkUgICAgIA==-NzEwMjdEMjlEOUUgICAgIA==-RjhDNzIyOTA4REUgICAgIA==-QUM4REQ2RjcyMUYgICAgIA==-Nzg1MzlCNUZDNEYgICAgIA==-Q0YxOTQwQzY3OEYgICAgIA==-ODdFRUY0MkUxQ0YgICAgIA==-QUZBNEI5ODVDRkYgICAgIA==-RjY3QTZFRUM2MzAxICAgIA==-QkEzMDIzNTQxNzAxICAgIA==-QjYwNkQ3QkJCQTAxICAgIA==-QUVDQjhDMTM2RTAxICAgIA==-MDc5MTQxOEEwMjExICAgIA==-M0Y1N0Y1RTFCNTExICAgIA==-MTYyREFBNDk1OTExICAgIA==-QkVFMjZGQTAwRDExICAgIA==-ODFCODE0MThBMDIxICAgIA==-MUI3RUM4N0Y0NDIxICAgIA==-QUYzNDhERDZGNzIxICAgIA==-RDgwQTMyNEU5QjIxICAgIA==-QTBERkU2QTU0RjIxICAgIA==-Nzg5NUFCMERFMjMxICAgIA==-NDA2QjUwNzQ5NjMxICAgIA==-RDkyMTE1REIzQTMxICAgIA==-MjRGNkM5MzNFRDMxICAgIA==-NENCQzdFOUE4MTQxICAgIA==-RTQ4MjMzMDIzNTQxICAgIA==-NTc0OEU3NjlEODQxICAgIA==-NTMxRTlDQzA4QzQxICAgIA==-QkJEMzUxMzgyMDUxICAgIA==-RDJBOTA2OUZDMzUxICAgIA==-Q0I2RkJBRjY3NzUxICAgIA==-OTMzNTdGNUUxQjUxICAgIA==-MDhGQTI0QzVDRTUxICAgIA==-MkVCMEU4MkQ2MjYxICAgIA==-NkE4NjlEODQxNjYxICAgIA==-NzI1QzQyRkJCOTYxICAgIA==-RTkxMjA3NTM2RDYxICAgIA==-MUVEN0JCQkEwMTcxICAgIA==-NDlBRDYwMjJCNDcxICAgIA==-RDE3MzI1ODk1ODcxICAgIA==-OTkzOUQ5RTAwQzcxICAgIA==-QzEwRjhFNDhBRjcxICAgIA==-NjhDNDQzQkY0MzgxICAgIA==-QjA5QUY3MTdGNjgxICAgIA==-RDg1MEJDN0U5QTgxICAgIA==-MTAyNjYxRTU0RTgxICAgIA==-QjhFQjE2NERFMTkxICAgIA==-NkJBMURBQTQ5NTkxICAgIA==-Njc3NzhGMEMzOTkxICAgIA==-NUYzRDM0NzNFQzkxICAgIA==-QjcwM0Y4REE4MEExICAgIA==-RUZDOEFEMzIzNEExICAgIA==-QzY5RTUyQTlEN0ExICAgIA==-NkY1NDE3MDE4QkExICAgIA==-MzIyQUNCNjgyRkExICAgIA==-Q0JFRjcwREZDMkIxICAgIA==-NTBCNTM1Mzc3NkIxICAgIA==-ODk3QkU5OUUxQUIxICAgIA==-NTE0MUFFRjVDREIxICAgIA==-MjkwNzUzNkQ2MUMxICAgIA==-RjBEQzA4QzQxNUMxICAgIA==-Qzg5MkNDMkNCOEMxICAgIA==-OTA2ODcxOTM2Q0MxICAgIA==-NjgyRTI2RkEwMEQxICAgIA==-MzBGM0VBNTJCM0QxICAgIA==-QzlCOTlGQjk1N0QxICAgIA==-QjQ4RjQ0MjEwQkQxICAgIA==-OUM0NTA5ODhBRUQxICAgIA==-QTQxQkJERUY0MkUxICAgIA==-N0JEMDcyNTdGNUUxICAgIA==-MzRBNjI3QkU5OUUxICAgIA==-N0I2Q0RCMTY0REUxICAgIA==-QjMzMjkwOERFMEYxICAgIA==-Q0JGNzQ1RTQ5NEYxICAgIA==-MzBDREY5NEMzOEYxICAgIA==-QzQ4M0JFQTNFQkYxICAgIA==-RkQ0OTYzMUI4RkYxICAgIA==-QzUxRjE4NzIzMzAyICAgIA==-OURENERDRDlENjAyICAgIA==-NjVBQTgxNDE4QTAyICAgIA==-M0Q2MDQ2QTgyRTAyICAgIA==-MDUzNkZBMDBEMTEyICAgIA==-RENGQkFGNjc3NTEyICAgIA==-QTRDMTY0REUxOTEyICAgIA==-N0M4NzE5MzZDQzEyICAgIA==-NDQ1RENEOUQ2MDIyICAgIA==-MUMxMzgyMDUxNDIyICAgIA==-RTNFODM3NkNCNzIyICAgIA==-N0RBRUVCQzM2QjIyICAgIA==-MTg3NEEwM0IwRjIyICAgIA==-MjA0QTU1OTJCMjMyICAgIA==-OTcwMDFBRjk1NjMyICAgIA==-RkFDNUNFNTEwQTMyICAgIA==-Rjc5QjczQzhBRDMyICAgIA==-QkY1MTM4MjA1MTQyICAgIA==-OTYyN0VDODdGNDQyICAgIA==-MENFQzkxRkU5ODQyICAgIA==-MjJCMjU2NTY0QzQyICAgIA==-NUU3ODBCQkRFRjQyICAgIA==-RTY0RUJGMTU5MzUyICAgIA==-QkUwNDc0OEMzNzUyICAgIA==-NDZEOTI5RTNFQTUyICAgIA==-NEU5RkRENEI4RTUyICAgIA==-ODI2NTkyQjIzMjYyICAgIA==-QTkyQjQ3MUFENTYyICAgIA==-NzFGMDBDNzE4OTYyICAgIA==-MURCNkIwRTgyRDYyICAgIA==-QTQ4QzY1NDBEMDcyICAgIA==-Mjk0MjJBQTc3NDcyICAgIA==-QTAxOERFMEYxODcyICAgIA==-MENERDgzNzZDQjcyICAgIA==-NTRBMzQ4REQ2RjcyICAgIA==-MkM2OUZDMzUxMzgyICAgIA==-NzMzRkExQUNCNjgyICAgIA==-OUJGNDY2MDQ2QTgyICAgIA==-RjJDQTFCNkIwRTgyICAgIA==-Q0I4MERGQzJCMTkyICAgIA==-NzM1Njg0M0E1NTkyICAgIA==-NkExQzM5OTEwOTkyICAgIA==-MDNFMUZERjhBQzkyICAgIA==-RTlBN0EyNjA1MEEyICAgIA==-NzI3RDU3QzdGM0EyICAgIA==-M0EzMzFDMkY5N0EyICAgIA==-NjIwOUMwOTY0QkEyICAgIA==-NDlDRTc1RkRFRUEyICAgIA==-QTE5NDNBNTU5MkIyICAgIA==-RDk1QUVFQkMzNkIyICAgIA==-NEQxMEEzMjRFOUIyICAgIA==-NjhFNTU4OEI4REIyICAgIA==-RjBCQjBERTIzMUMyICAgIA==-QTg3MUMxNUFENEMyICAgIA==-OUMzNzc2QjE4OEMyICAgIA==-QjcwRDJCMTkyQ0MyICAgIA==-M0NDMkVGNzBERkMyICAgIA==-MjQ5ODk0RTc3M0QyICAgIA==-MjA2RTQ5NEYxN0QyICAgIA==-NTgyNDBFQTZDQUQyICAgIA==-QkVFOUIyMUU2RUQyICAgIA==-OTNCRjY3NzUxMkUyICAgIA==-OEY3NTJDRENCNUUyICAgIA==-NDc0QkQwNDQ2OUUyICAgIA==-RUUwMTk1QUIwREUyICAgIA==-NTZENjRBMDNCMEYyICAgIA==-QkI5Q0ZFNkE1NEYyICAgIA==-QTQ2MkIzRDEwOEYyICAgIA==-NEUyODY4MzlBQkYyICAgIA==-QTVGRDFEOTA1RkYyICAgIA==-M0NCM0QxMDhGMjAzICAgIA==-RjI4OTg2NkY5NjAzICAgIA==-MEQ0RjNCQzY0QTAzICAgIA==-QjUxNUZGMkVFRDAzICAgIA==-MkJEQUE0OTU5MTEzICAgIA==-MDNBMDY5RkMzNTEzICAgIA==-RkE2NjFFNTRFODEzICAgIA==-ODQzQ0MyQ0I4QzEzICAgIA==-NjlGMTg3MjMzMDIzICAgIA==-RTNDNzNDOEFEMzIzICAgIA==-MDg4REUwRjE4NzIzICAgIA==-MjQ1M0E1NTkyQjIzICAgIA==-OTkxOTVBQjBERTIzICAgIA==-MDFFRTBGMTg3MjMzICAgIA==-RjlBNEMzOEYxNjMzICAgIA==-NDA3QTc4RTZDOTMzICAgIA==-RTkzMDNENEU2RDMzICAgIA==-RDAwNkUxQjUxMTQzICAgIA==-RDdDQjk2MURCNDQzICAgIA==-MDE5MTVCNzQ2ODQzICAgIA==-MDU1NzAwRUIwQzQzICAgIA==-QkMxREI0NDNCRjQzICAgIA==-NzlFMjc5QUE1MzUzICAgIA==-MzFCODJFMDIwNzUzICAgIA==-NTg3RUQyNzlBQTUzICAgIA==-RTA0NDk3RDA1RTUzICAgIA==-QTgwQTRDMzhGMTYzICAgIA==-RDBERkYwQUY5NTYzICAgIA==-Qjc5NUI1MDc0OTYzICAgIA==-QjA2QjZBNkVFQzYzICAgIA==-NDgyMTJGQzU5MDczICAgIA==-QUZFNkQzM0QzNDczICAgIA==-RjZCQzg4OTRFNzczICAgIA==-NUY3MjRERkI4QjczICAgIA==-OTc0OEYxNjMzRjczICAgIA==-RUIwRUE2Q0FEMjgzICAgIA==-MDJEMzZCMjI4NjgzICAgIA==-REU5OTEwOTkyQTgzICAgIA==-RDU2RkM0RjBERDgzICAgIA==-OUUyNTg5NTg3MTkzICAgIA==-NzZGQTNFQkYxNTkzICAgIA==-MUVCMEYyMjdDODkzICAgIA==-QTU4NkE3OEU2QzkzICAgIA==-OTg0QzVDRTUxMEEzICAgIA==-QzQxMjExNURCM0EzICAgIA==-NENEN0M1QjQ2N0EzICAgIA==-QzRBRDdBMUMwQkEzICAgIA==-MEQ2MzNGNzNCRUEzICAgIA==-RjMzOUUzRUE1MkIzICAgIA==-MjlGRTk4NDIwNkIzICAgIA==-NkZCNDVEQTlBOUIzICAgIA==-MTc4QTAyMTE1REIzICAgIA==-MTM1MEM2NzhGMEMzICAgIA==-N0IxNjdCREY5NEMzICAgIA==-OTJFQjIwNDc0OEMzICAgIA==-OEJBMUU0QUVFQkMzICAgIA==-NTM3Nzk5MDY5RkMzICAgIA==-QzczRDRFNkQzM0QzICAgIA==-RURGMjAzRDRFNkQzICAgIA==-QzlDOEI3M0M4QUQzICAgIA==-QjE5RTZDOTMzRUQzICAgIA==-MUE1NDIxMEJEMUUzICAgIA==-NDIyQUQ1NjI4NUUzICAgIA==-MjlFRjhBQzkyOUUzICAgIA==-QzFCNTRGMjFEQ0UzICAgIA==-NzQ3QkYzOTg3MEYzICAgIA==-RDA0MUI4RkYxNEYzICAgIA==-RTgwNzZENTdDN0YzICAgIA==-NTBEQzEyQ0U2QkYzICAgIA==-ODQ5MkQ2MjYxRkYzICAgIA==-MjE2ODhCOERCMjA0ICAgIA==-NDgyRTMwRjQ2NjA0ICAgIA==-MTBGM0Y0NUMwQTA0ICAgIA==-QzdCOUE5QjNCRDA0ICAgIA==-REU3RjVFMUI1MTE0ICAgIA==-QjY0NTEzODIwNTE0ICAgIA==-MkYwQkM3RTlBODE0ICAgIA==-ODZEMDhDNDE1QzE0ICAgIA==-MkE5NjMxQjhGRjE0ICAgIA==-RDE2Q0U1MTBBMzI0ICAgIA==-QkQyMkFBNzc0NzI0ICAgIA==-MzZGNzVGREVFQTI0ICAgIA==-OEVCRDA0NDY5RTI0ICAgIA==-RTI4M0M4QUQzMjM0ICAgIA==-NTk0OTdEMDVFNTM0ICAgIA==-MThEODgwOEM4OTM0ICAgIA==-RkU2RDU1RTMzRDM0ICAgIA==-QzBBQTlCM0JEMDQ0ICAgIA==-Mjg2MDUwQTI4NDQ0ICAgIA==-MzQzNjA1MEEyODQ0ICAgIA==-REJGQkI5NjFEQjQ0ICAgIA==-RDRDMTdFQzg3RjQ0ICAgIA==-N0I4NzIzMzAyMzU0ICAgIA==-MDA1REQ3OTdDNjU0ICAgIA==-MUIxMzlDRkU2QTU0ICAgIA==-MDNFODQxNjYxRTU0ICAgIA==-RUJBRUY1Q0RCMTY0ICAgIA==-MDM3NEJBMjU2NTY0ICAgIA==-M0IzQTZGOEMwOTY0ICAgIA==-RjIwMDI0RjNCQzY0ICAgIA==-QjdDNUQ4NUI1MDc0ICAgIA==-REQ4QjhEQjIwNDc0ICAgIA==-MkI1MTQyMkFBNzc0ICAgIA==-NDIyN0Y2ODE1Qjc0ICAgIA==-MUFFQ0FCRThGRTc0ICAgIA==-QzFCMjYwNTBBMjg0ICAgIA==-RTQ3ODE1Qjc0Njg0ICAgIA==-M0IzRUM5MUZFOTg0ICAgIA==-NjQwNDhFNzY5RDg0ICAgIA==-M0NDOTMzRUQzMTk0ICAgIA==-MDQ5RkU3NDVFNDk0ICAgIA==-REI1NUFDQUM4ODk0ICAgIA==-QTMyQjUxMTQzQzk0ICAgIA==-N0JFMDE2N0JERjk0ICAgIA==-NDNCNkNBRDI4M0E0ICAgIA==-MUI3QzdGM0EyN0E0ICAgIA==-RTI0MjM0QTFEQUE0ICAgIA==-QkEwOEU4MDk3RUE0ICAgIA==-ODJERDlENjAyMkI0ICAgIA==-NUE5MzUyRDdDNUI0ICAgIA==-MjI2OTA3M0Y2OUI0ICAgIA==-RjkyRkJCOTYxREI0ICAgIA==-QzFGNDcwMEVCMEM0ICAgIA==-OTlCQTI1NjU2NEM0ICAgIA==-QTY4MEU5Q0MwOEM0ICAgIA==-Q0Q0NjlFMjRCQkM0ICAgIA==-NDYxQzQzOUI1RkM0ICAgIA==-OUREMTA4RjIwM0Q0ICAgIA==-RjRBN0JDNUFBNkQ0ICAgIA==-NEE2RDYxQzE1QUQ0ICAgIA==-QjAzMzI2MjlGREQ0ICAgIA==-N0ZCMjM5OTBBMUU0ICAgIA==-NTY1NzBFRjc0NUU0ICAgIA==-Mjg4NDQ0NUZFOEU0ICAgIA==-NjE1QUY4QjY5Q0U0ICAgIA==-RjUxMEJEMUUzMEY0ICAgIA==-MkZENTYyODVFM0Y0ICAgIA==-RjZBQjE3RUM4N0Y0ICAgIA==-Q0U2MURCNDQzQkY0ICAgIA==-OTYzNzgwQkJERUY0ICAgIA==-NkVGQzM1MTM4MjA1ICAgIA==-MzZDMkY5N0EyNjA1ICAgIA==-MEU4OEFFRDFEOTA1ICAgIA==-RDU1RTUzNDk3RDA1ICAgIA==-NkYxNDE4QTAyMTE1ICAgIA==-NjZFOUNDMDhDNDE1ICAgIA==-MjJCRjcxN0Y2ODE1ICAgIA==-MEE3NTM2RDYxQzE1ICAgIA==-MTI0QkVBM0VCRjE1ICAgIA==-RTgwMUFGOTU2MzI1ICAgIA==-QTFENjU0MEQwNzI1ICAgIA==-RTg5QzA5NjRCQTI1ICAgIA==-MjE2MkNEQ0I1RTI1ICAgIA==-MzkyODcyMzMwMjM1ICAgIA==-QURFRDI3OUFBNTM1ICAgIA==-MzJCM0VCRjE1OTM1ICAgIA==-NkI3OTkwNjlGQzM1ICAgIA==-MzM0RjQ1QzBBMDQ1ICAgIA==-MEIwNTBBMjg0NDQ1ICAgIA==-RDJEQUJFOEZFNzQ1ICAgIA==-QUE5MDczRjY5QjQ1ICAgIA==-NzI2NjI4NUUzRjQ1ICAgIA==-NEEyQ0RDQjVFMjU1ICAgIA==-MTJGMTkxMkQ4NjU1ICAgIA==-QUJCNzQ2ODQzQTU1ICAgIA==-NDY4REZBRUJERDU1ICAgIA==-NUU0M0JGNDM4MTY1ICAgIA==-QzUxOTY0QkEyNTY1ICAgIA==-MjlERTE5MTJEODY1ICAgIA==-MzVBNERENzk3QzY1ICAgIA==-REM2QTgyRTAyMDc1ICAgIA==-RDUzMDQ3NDhDMzc1ICAgIA==-N0NGNUZCQUY2Nzc1ICAgIA==-MDFDQkEwMTcxQjc1ICAgIA==-M0Q4MTY1N0VCRTc1ICAgIA==-RjQ1NzFBRDU2Mjg1ICAgIA==-REIxRENFM0QwNjg1ICAgIA==-NDFFMjgzQTRCOTg1ICAgIA==-NjdBODM4MEM1RDg1ICAgIA==-OTM3RUVDNjMwMTk1ICAgIA==-MkMzNEExREFBNDk1ICAgIA==-RjMwQTU2MzI1ODk1ICAgIA==-OEJDRjBCOTlGQjk1ICAgIA==-ODM5NUNGRjBBRjk1ICAgIA==-Qzc1Qjc0Njg0M0E1ICAgIA==-RUUxMTM5Q0ZFNkE1ICAgIA==-QjZFNkVEMjc5QUE1ICAgIA==-NTJCQzkyOUUzRUE1ICAgIA==-RTk3MjU3RjVFMUI1ICAgIA==-NkUzODBDNUQ4NUI1ICAgIA==-RTUwRUIwQzQzOUI1ICAgIA==-NDFEMzc1MkNEQ0I1ICAgIA==-OTk5OTJBODM4MEM1ICAgIA==-NjE2RkRFRUEyNEM1ICAgIA==-QjgyNTkzNTJEN0M1ICAgIA==-RDBGQTQ4Qjk3QkM1ICAgIA==-MzhCMDBEMTEyRkM1ICAgIA==-MDE4NkIxODhDMkQ1ICAgIA==-Qjg0QzY2RUY2NkQ1ICAgIA==-QUYwMjJCNDcxQUQ1ICAgIA==-NDhEN0RGQUVCREQ1ICAgIA==-MkY5RDg0MTY2MUU1ICAgIA==-Qjc2MzQ5N0QwNUU1ICAgIA==-N0YyOUZERDRCOEU1ICAgIA==-QTdGRUEyNEM1Q0U1ICAgIA==-OEVCNDY3QTMwMEY1ICAgIA==-RTY4QTFDMEJBM0Y1ICAgIA==-MUY0MEQwNzI1N0Y1ICAgIA==-ODIxNjg1RDlGQUY1ICAgIA==-QUREQjNBMzFBRUY1ICAgIA==-MzZBMUZFOTg0MjA2ICAgIA==-RUQ2N0EzMDBGNTA2ICAgIA==-RDEzRDU4Njc5OTA2ICAgIA==-RkNGMjFEQ0UzRDA2ICAgIA==-NzFDOEMxMzZFMDE2ICAgIA==-Njk4RTc2OUQ4NDE2ICAgIA==-NjU1NDNCRjQzODE2ICAgIA==-OUQxQUVGNUNEQjE2ICAgIA==-RjNFRjk0QzM4RjE2ICAgIA==-RDhBNTU5MkIyMzI2ICAgIA==-QzQ3QjBFODJENjI2ICAgIA==-OEMzMUMyRjk3QTI2ICAgIA==-MjQwNzc3NTEyRTI2ICAgIA==-OUJDQzJDQjhDMTM2ICAgIA==-RjA5MkUwMjA3NTM2ICAgIA==-RTk1ODk1ODcxOTM2ICAgIA==-ODMyRTRBRUVCQzM2ICAgIA==-RUFFMzBGNDY2MDQ2ICAgIA==-NzFCOUIzQkQwNDQ2ICAgIA==-Mzg3RjY4MTVCNzQ2ICAgIA==-NDI0NTJEN0M1QjQ2ICAgIA==-RkEwQkQxRTMwRjQ2ICAgIA==-NjBEMDk2NEJBMjU2ICAgIA==-NDg5NjRCQTI1NjU2ICAgIA==-MzA2Q0ZGMEFGOTU2ICAgIA==-QzkyMkI0NzFBRDU2ICAgIA==-QUVFNzY5RDg0MTY2ICAgIA==-MjlCRDFFMzBGNDY2ICAgIA==-NEQ3M0QyQTc5ODY2ICAgIA==-Njk0OTg3MEYzQzY2ICAgIA==-REUwRjNDNjZFRjY2ICAgIA==-NDZENEYwREQ4Mzc2ICAgIA==-M0Y5QUE1MzUzNzc2ICAgIA==-ODU2MDZBOUNEQTc2ICAgIA==-MkYyNjFGRjM4RTc2ICAgIA==-MTZGQkMzNkIyMjg2ICAgIA==-MURCMTg4QzJENTg2ICAgIA==-NDY4NzNEMkE3OTg2ICAgIA==-NEE0REUxOTEyRDg2ICAgIA==-RjExM0E2RjhDMDk2ICAgIA==-QkVEODVCNTA3NDk2ICAgIA==-NzZBRTAwQzcxODk2ICAgIA==-OUQ2NEM0MkZCQjk2ICAgIA==-MjYzQTc5ODY2Rjk2ICAgIA==-RURGRjJFRUQwM0E2ICAgIA==-MTZDNUUyNTVCNkE2ICAgIA==-RkM4Qjk3QkM1QUE2ICAgIA==-RjU1MTVDMTQwRUE2ICAgIA==-OEQxNzAxOEJBMUI2ICAgIA==-RTRFQ0I1RTI1NUI2ICAgIA==-M0NBMjdBNEFGOEI2ICAgIA==-OTQ3ODJGQTFBQ0I2ICAgIA==-REMzRUQzMTk0MEM2ICAgIA==-MjEwNDk4NzBGM0M2ICAgIA==-NDdDOTRERDc5N0M2ICAgIA==-MTQ5RkYxNEYzQkM2ICAgIA==-MUI1NUI2QTZFRUM2ICAgIA==-RDMyQjZCMEU4MkQ2ICAgIA==-QkJFMDIwNzUzNkQ2ICAgIA==-NTNCNkQ0RENEOUQ2ICAgIA==-RUE3Qzg5MzQ4REQ2ICAgIA==-REQzMjRFOUIyMUU2ICAgIA==-MEEwOEYyMDNENEU2ICAgIA==-ODFEREE3NkE3OEU2ICAgIA==-MEE5MzZDQzEyQ0U2ICAgIA==-NDI2OTExMzlDRkU2ICAgIA==-MzkyRkM1OTA3M0Y2ICAgIA==-NkVFNDhBRjcxN0Y2ICAgIA==-QTRCQTNGNUZCQUY2ICAgIA==-NUM3MEYzQzY2RUY2ICAgIA==-NTg0NkE4MkUwMjA3ICAgIA==-QjAxQzVEODVCNTA3ICAgIA==-RDdEMTEyRkM1OTA3ICAgIA==-QzBBN0M2NTQwRDA3ICAgIA==-OTg2RDdCQkJBMDE3ICAgIA==-MEQyMzMwMjM1NDE3ICAgIA==-MjNGOEU0OEFGNzE3ICAgIA==-MEZCRTk5RTFBQjE3ICAgIA==-RjY4NDVFNDk0RjE3ICAgIA==-NUY0QTAzQjBGMjI3ICAgIA==-ODcxMEM3MTg5NjI3ICAgIA==-NkVENTdDN0YzQTI3ICAgIA==-MDdBQjIxRTZFRDI3ICAgIA==-Qjk2MUU1NEU4MTM3ICAgIA==-MTYzNzlBQTUzNTM3ICAgIA==-MkVGQzRGMEREODM3ICAgIA==-OTVDMjA0NzQ4QzM3ICAgIA==-Qzk4OEI4REIyMDQ3ICAgIA==-NjY1RTZEMzNEMzQ3ICAgIA==-OEQxNDIyQUE3NzQ3ICAgIA==-NTVFOUQ2MDIyQjQ3ICAgIA==-MERBRjhCNjlDRTQ3ICAgIA==-MTQ3NTQwRDA3MjU3ICAgIA==-RkIzQkY0MzgxNjU3ICAgIA==-NjQwMUI5OUZCOTU3ICAgIA==-Q0JDNjZFRjY2RDU3ICAgIA==-NEY4QzEzNkUwMTY3ICAgIA==-REI1MkQ3QzVCNDY3ICAgIA==-RjIyODhDMkQ1ODY3ICAgIA==-NUNFRDMxOTQwQzY3ICAgIA==-MTRCM0Y1RkJBRjY3ICAgIA==-MUI3OUFBNTM1Mzc3ICAgIA==-MTM0RjVGQkFGNjc3ICAgIA==-MEEwNTE0MjJBQTc3ICAgIA==-MDJEQUM4ODk0RTc3ICAgIA==-QjU5MDhERTBGMTg3ICAgIA==-NkQ1NjMyNTg5NTg3ICAgIA==-NDkyQ0U2QkYzOTg3ICAgIA==-QzFGMUFCMTdFQzg3ICAgIA==-MUFCNzUwOEU4MDk3ICAgIA==-N0U3RDA1RTUzNDk3ICAgIA==-RTQ0M0M5NERENzk3ICAgIA==-QTNEMkRDQjQ4Qjk3ICAgIA==-OEE2N0ExMkMyRjk3ICAgIA==-NUM5NEU3NzNEMkE3ICAgIA==-QjM2QTlDREE3NkE3ICAgIA==-QjAzMDUxNDIyQUE3ICAgIA==-OThGNTA2QTlDREE3ICAgIA==-QjBDQkJBMDE3MUI3ICAgIA==-Qjc4MTdGNjgxNUI3ICAgIA==-MUY0NzI0REZCOEI3ICAgIA==-NjQxREQ4Mzc2Q0I3ICAgIA==-OEFEMjlEOUUwMEM3ICAgIA==-NzZBODQyMDZCM0M3ICAgIA==-OUU2RUY2NkQ1N0M3ICAgIA==-MDczNEJCQzQwQkM3ICAgIA==-QUVGOTYwM0NBRUM3ICAgIA==-MzZDRjE1OTM1MkQ3ICAgIA==-NUQ4NUQ5RkFGNUQ3ICAgIA==-QTY1QjhFNTJBOUQ3ICAgIA==-OEExMTQzQzk0REQ3ICAgIA==-QjBFNkY3MjFGMEU3ICAgIA==-QUNBQ0FDODg5NEU3ICAgIA==-MTU3MjYxRkYzOEU3ICAgIA==-MUQzODE2NTdFQkU3ICAgIA==-MjQwRUNBQkU4RkU3ICAgIA==-N0NDMzhGMTYzM0Y3ICAgIA==-NDE5OTM0OERENkY3ICAgIA==-ODc1RkU4RTQ4QUY3ICAgIA==-REQxNUFENEMyRUY3ICAgIA==-MDdFQTUyQjNEMTA4ICAgIA==-REVBMDE3MUI3NTA4ICAgIA==-QTY3NkNCNzIyOTA4ICAgIA==-N0UzQzcwRTlDQzA4ICAgIA==-NDYwMjM1NDE3MDE4ICAgIA==-MUVDN0U5QTgxNDE4ICAgIA==-RTU5RDlFMDBDNzE4ICAgIA==-QkQ1MzUzNzc2QjE4ICAgIA==-ODUyOTA4REUwRjE4ICAgIA==-NURFRUJDMzZCMjI4ICAgIA==-MjVCNDcxQUQ1NjI4ICAgIA==-RkM3QTI2MDUwQTI4ICAgIA==-M0E0MEVBNkNBRDI4ICAgIA==-MjExNjlGQzM1MTM4ICAgIA==-QThEQjQ0M0JGNDM4ICAgIA==-NzFBMTA5OTJBODM4ICAgIA==-ODg2N0JERjk0QzM4ICAgIA==-QUQyRDYyNjFGRjM4ICAgIA==-QzNGMjI3Qzg5MzQ4ICAgIA==-QkNCOERCMjA0NzQ4ICAgIA==-NDQ4RTgwOTdFQTQ4ICAgIA==-MUM0NDQ1RkU4RTQ4ICAgIA==-MDMxQUY5NTYzMjU4ICAgIA==-QkFERkFFQkRENTU4ICAgIA==-QzZBNTYzMjU4OTU4ICAgIA==-NkU2QjE4OEMyRDU4ICAgIA==-NjczMURDRTNEMDY4ICAgIA==-MEVGNjgxNUI3NDY4ICAgIA==-OTJDQzM2QjIyODY4ICAgIA==-QUQ4MkZBMUFDQjY4ICAgIA==-OTU1OEFGNzE3RjY4ICAgIA==-N0UxRTU0RTgxMzc4ICAgIA==-OTVFMzE5NDBDNjc4ICAgIA==-Q0RBOUNEQTc2QTc4ICAgIA==-ODU3RjcyMUYwRTc4ICAgIA==-NEEzNTM3NzZCMTg4ICAgIA==-NjAwQkVCREQ1NTg4ICAgIA==-QkRDMEEwNDUwOTg4ICAgIA==-RDQ5NjU1QUNBQzg4ICAgIA==-QUM1QzBBMDQ1MDk4ICAgIA==-NTQyMkNFNkJGMzk4ICAgIA==-NzdFNzczRDJBNzk4ICAgIA==-MkZBRDI4M0E0Qjk4ICAgIA==-M0M3M0VDOTFGRTk4ICAgIA==-NTM0OTkxMDk5MkE4ICAgIA==-REIwRjQ2NjA0NkE4ICAgIA==-MjNENDBCQzdFOUE4ICAgIA==-OEE5QUJGMkY4REE4ICAgIA==-REY1MDc0OTYzMUI4ICAgIA==-NDYyNjI5RkRENEI4ICAgIA==-MDVCNTNDNjU4OEI4ICAgIA==-RUI0QTAxREMyQ0I4ICAgIA==-QkQ3NzQ3MjRERkI4ICAgIA==-MTU0REZCOEI3M0M4ICAgIA==-REQwM0IwRjIyN0M4ICAgIA==-OTZEODY1NUFDQUM4ICAgIA==-MkI5RTFBQjE3RUM4ICAgIA==-NTQ2NERFMTkxMkQ4ICAgIA==-MkMyQTgzODBDNUQ4ICAgIA==-RjNGRjM4RTc2OUQ4ICAgIA==-Q0JCNUZDNEYwREQ4ICAgIA==-NTU4QkExQjZCMEU4ICAgIA==-NUM0MTY2MUU1NEU4ICAgIA==-NzcxNzFCNzUwOEU4ICAgIA==-OUZEQ0NGRENBQkU4ICAgIA==-MzhBMjg0NDQ1RkU4ICAgIA==-OEM2ODM5QUJGMkY4ICAgIA==-MTEzRUVEMDNBNkY4ICAgIA==-NEFGM0EyN0E0QUY4ICAgIA==-MTJDOTU3RDFGREY4ICAgIA==-RTk4RjBDMzk5MTA5ICAgIA==-QjE1NUMwQTA0NTA5ICAgIA==-NEIxQjc1MDhFODA5ICAgIA==-QjVFMDNBNkY4QzA5ICAgIA==-QkRBNkVFQzYzMDE5ICAgIA==-NjU3QzkzM0VEMzE5ICAgIA==-RkMzMjU4OTU4NzE5ICAgIA==-QTQwODBERkMyQjE5ICAgIA==-NkRDREIxNjRERTE5ICAgIA==-NzU5Mzc2Q0I3MjI5ICAgIA==-OUM1OTJCMjMyNjI5ICAgIA==-QzQyRkRGOEFDOTI5ICAgIA==-OENFNDk0RjE3RDI5ICAgIA==-N0ZBQTQ5NTkxMTM5ICAgIA==-N0I3MDBFQjBDNDM5ICAgIA==-RDM0NkIyMjg2ODM5ICAgIA==-RkEwQzY3OEYwQzM5ICAgIA==-RTNEMTJDRTZCRjM5ICAgIA==-QkI5N0QwNUU1MzQ5ICAgIA==-MjA2RDg1QjUwNzQ5ICAgIA==-NDYyMzRBMURBQTQ5ICAgIA==-MjJGOEZFNzQ1RTQ5ICAgIA==-MUFCRUEzRUJGMTU5ICAgIA==-NzI4NDY4NDNBNTU5ICAgIA==-QUE0QTFEQUE0OTU5ICAgIA==-ODExMEQxMTJGQzU5ICAgIA==-MkFENTg2Nzk5MDY5ICAgIA==-RkM5QjNCRDA0NDY5ICAgIA==-QTQ2MUZGMzhFNzY5ICAgIA==-QTEzN0E0QUY4QjY5ICAgIA==-ODlGQzU5MDczRjY5ICAgIA==-QTFDMjFFNkVEMjc5ICAgIA==-QTg4OEMyRDU4Njc5ICAgIA==-MDA1RTc3M0QyQTc5ICAgIA==-NTUxNDNDOTRERDc5ICAgIA==-N0JEOUUwMEM3MTg5ICAgIA==-RjdBRjk1NjMyNTg5ICAgIA==-MEY2NTVBQ0FDODg5ICAgIA==-NDgzQjBGMjI3Qzg5ICAgIA==-NkJGMEMzOTkxMDk5ICAgIA==-RDdDNjc4RjBDMzk5ICAgIA==-Q0U4QzJENTg2Nzk5ICAgIA==-NDY1MkUxQ0YwQjk5ICAgIA==-MUYxODk2MjdCRTk5ICAgIA==-MjZFRDRCOEU1MkE5ICAgIA==-MUJBMzAwRjUwNkE5ICAgIA==-ODI3OUI0NURBOUE5ICAgIA==-MUEzRjY5QjQ1REE5ICAgIA==-RTEwNTJFMUNGMEI5ICAgIA==-QkRDQUQyODNBNEI5ICAgIA==-MDY5MDk3RUE0OEI5ICAgIA==-MEE1NjRDNDJGQkI5ICAgIA==-NDAyQ0YwQjk5RkI5ICAgIA==-RDlFMUI1MTE0M0M5ICAgIA==-NkVBNzZBNzhFNkM5ICAgIA==-OTc3RDFGREY4QUM5ICAgIA==-NkYzM0QzNDczRUM5ICAgIA==-MzcwOTg4QUVEMUQ5ICAgIA==-MEZDRTNEMDY4NUQ5ICAgIA==-RDY5NEYxN0QyOUQ5ICAgIA==-QUU1QUE2RDREQ0Q5ICAgIA==-NzYyMDZCM0M3MEU5ICAgIA==-NEVFNTEwQTMyNEU5ICAgIA==-RDdCQkM0MEJDN0U5ICAgIA==-MTI4MTg5NjI3QkU5ICAgIA==-MEE0NzNFQzkxRkU5ICAgIA==-NjIxREUyMzFDMkY5ICAgIA==-OUFEMkE3OTg2NkY5ICAgIA==-NzFBODVDRkYwQUY5ICAgIA==-MUE2RTAxNjdCREY5ICAgIA==-Q0MyNEM1Q0U1MTBBICAgIA==-QzhGOTdBMjYwNTBBICAgIA==-MjFDRjJGOERBODBBICAgIA==-NDg4NUUzRjQ1QzBBICAgIA==-MzE1Qjk4NUNGRjBBICAgIA==-MDkxMTVEQjNBMzFBICAgIA==-N0RENjAyMkI0NzFBICAgIA==-OTNBQ0I2ODJGQTFBICAgIA==-N0Y2MjdCRTk5RTFBICAgIA==-MjczODIwNTE0MjJBICAgIA==-RUZGREQ0QjhFNTJBICAgIA==-RjdDMzk5MTA5OTJBICAgIA==-MUY4OTRFNzczRDJBICAgIA==-NDc1RkYyRUVEMDNBICAgIA==-MEYxNUI3NDY4NDNBICAgIA==-QzJFQTZDQUQyODNBICAgIA==-MEZBMDIxMTVEQjNBICAgIA==-RTU3NkQ1N0M3RjNBICAgIA==-RUUzQzhBRDMyMzRBICAgIA==-NzYwMjRGM0JDNjRBICAgIA==-MjlDN0YzQTI3QTRBICAgIA==-RDA5REE4MEExRTRBICAgIA==-REQ1MzZENjFDMTVBICAgIA==-QjUyOTEyRDg2NTVBICAgIA==-RERFRUM2MzAxOTVBICAgIA==-RDRCNDhCOTdCQzVBICAgIA==-M0M3QTMwMEY1MDZBICAgIA==-ODE0MEY0NjYwNDZBICAgIA==-QTcwNkE5Q0RBNzZBICAgIA==-MjREQjVFMjU1QjZBICAgIA==-M0I5MTEzOUNGRTZBICAgIA==-MTQ2N0M3RjNBMjdBICAgIA==-M0IyRDdDNUI0NjdBICAgIA==-MjNGMjMxQzJGOTdBICAgIA==-NEJCOEU1MkE5RDdBICAgIA==-REY3RTlBODE0MThBICAgIA==-MDY0NDVGRThFNDhBICAgIA==-REUwQTA0NTA5ODhBICAgIA==-QTVERkI4QjczQzhBICAgIA==-NUU5NTdEMUZERjhBICAgIA==-NzY2QjIyODY4MzlBICAgIA==-MzIzMUU2RUQyNzlBICAgIA==-MzlGNjlCNDVEQTlBICAgIA==-ODFDQzQwQkM3RTlBICAgIA==-ODQ4MjA1MTQyMkFBICAgIA==-NUQ0OEI5N0JDNUFBICAgIA==-RDUxRTZFRDI3OUFBICAgIA==-MUNEMzIzNEExREFBICAgIA==-QTVBOUQ3QTFDMEJBICAgIA==-M0E2RjhDMDk2NEJBICAgIA==-NjMzNTQxNzAxOEJBICAgIA==-M0JGQUY1RDdCQkJBICAgIA==-MDNDMEJBM0Y1RkJBICAgIA==-REE4NjZGOTYwM0NBICAgIA==-QTI1QzE0MEVBNkNBICAgIA==-N0ExMkQ4NjU1QUNBICAgIA==-NDJFNzhEQ0NGRENBICAgIA==-MUFBRDMyMzRBMURBICAgIA==-RTE3M0Y2OUI0NURBICAgIA==-QjkzOUFCRjJGOERBICAgIA==-ODEwRjUwNkE5Q0RBICAgIA==-NTlDNDE1QzE0MEVBICAgIA==-RTI5QUM5MjlFM0VBICAgIA==-RkQ1MDhFODA5N0VBICAgIA==-QzAyNjMzRjczQkVBICAgIA==-Q0RFQkU3NUZERUVBICAgIA==-QTVCMUFDQjY4MkZBICAgIA==-Q0Q3NzUxMkUyNkZBICAgIA==-QzQ0RDA2ODVEOUZBICAgIA==-MkMwM0NBRUM3REZBICAgIA==-NzFEODdGNDQyMTBCICAgIA==-OTc5RTI0QkJDNDBCICAgIA==-MTQ2NEU4MTM3ODBCICAgIA==-MkIyQTlEN0ExQzBCICAgIA==-MDRGRjQyRTFDRjBCICAgIA==-MkJCNTA3NDk2MzFCICAgIA==-MTM4QkJCQTAxNzFCICAgIA==-M0I0MTcwMThCQTFCICAgIA==-Q0YwNzI1N0Y1RTFCICAgIA==-RjVEQ0Q5RDYwMjJCICAgIA==-QUU5MjlFM0VBNTJCICAgIA==-RTY2ODQzQTU1OTJCICAgIA==-ODIzRUY3MERGQzJCICAgIA==-ODlGM0JDNjRBMDNCICAgIA==-RDFDOTYxREI0NDNCICAgIA==-RDQ4RjE2MzNGNzNCICAgIA==-QUQ0NURBOUE5QjNCICAgIA==-NzQxQjhGRjE0RjNCICAgIA==-NEREMDQ0NjlFMjRCICAgIA==-QzVBNkY4QzA5NjRCICAgIA==-MEM2Q0FEMjgzQTRCICAgIA==-OTUzMjYyOUZERDRCICAgIA==-RTJDMTc1MDc4MTVCICAgIA==-Qzk1NjRBNkUyNTVCICAgIA==-RUM4MzgwQzVEODVCICAgIA==-RTM1OTM1MkQ3QzVCICAgIA==-Q0YxRkU5ODQyMDZCICAgIA==-NzRFNEFFRUJDMzZCICAgIA==-MDlBQTUzNTM3NzZCICAgIA==-MzI3MDE4QkExQjZCICAgIA==-MEEzNkNDMTJDRTZCICAgIA==-RDEwQzcxODk2MjdCICAgIA==-QTlDMTM2RTAxNjdCICAgIA==-NzE5N0VBNDhCOTdCICAgIA==-NDk1RDlGQUY1RDdCICAgIA==-MTEyMzU0MTcwMThCICAgIA==-RThFODA5N0VBNDhCICAgIA==-QjBCRUJERDU1ODhCICAgIA==-ODg3NDcyNERGQjhCICAgIA==-NTA0QTI3QTRBRjhCICAgIA==-MjgwMEVCMEM0MzlCICAgIA==-QjFENTkwNzNGNjlCICAgIA==-MkM5QjQ1REE5QTlCICAgIA==-ODQ2MTBBMzI0RTlCICAgIA==-NEMyN0JFOTlFMUFCICAgIA==-NzRGQzYzMDE5NUFCICAgIA==-MDdCMjI4NjgzOUFCICAgIA==-MDM4OERDQ0ZEQ0FCICAgIA==-NkI0RTgxMzc4MEJCICAgIA==-ODIxNDQ2OUUyNEJCICAgIA==-N0JEOUZBRjVEN0JCICAgIA==-NDNBRkFGNUQ3QkJCICAgIA==-Qjc2NTY0QzQyRkJCICAgIA==-REQyQjE5MkNDMkNCICAgIA==-QzlGMEREODM3NkNCICAgIA==-NDJDNjgyRkExQUNCICAgIA==-N0E4QzM3NTJDRENCICAgIA==-ODI1MkZCQjk2MURCICAgIA==-NTkxOEEwMjExNURCICAgIA==-NzFFRDU1ODhCOERCICAgIA==-NjRBMzFBRUY1Q0RCICAgIA==-QjA3OUNFNDcwMEVCICAgIA==-RjgzRjczQkVBM0VCICAgIA==-MzEwNTM4MTY1N0VCICAgIA==-RjdDQUVDN0RGQUVCICAgIA==-OTA5MEExRTRBRUVCICAgIA==-MTQ1NjU2NEM0MkZCICAgIA==-NDAyQzBCQTNGNUZCICAgIA==-NjdFMUNGMEI5OUZCICAgIA==-QUZBNzc0NzI0REZCICAgIA==-Rjc3RDI5RDlFMDBDICAgIA==-N0EzM0VEMzE5NDBDICAgIA==-MDQwOTkyQTgzODBDICAgIA==-OThDRTQ3MDBFQjBDICAgIA==-QzE5NDBDNjc4RjBDICAgIA==-OTk1QUIwREUyMzFDICAgIA==-NjEyMDc1MzZENjFDICAgIA==-MzlFNTJBOUQ3QTFDICAgIA==-MDFCQkRFRjQyRTFDICAgIA==-RDg3MTkzNkNDMTJDICAgIA==-QTA0NzQ4QzM3NTJDICAgIA==-NzgwREZDMkIxOTJDICAgIA==-NDBEMkIxOTJDQzJDICAgIA==-MTg5ODY2Rjk2MDNDICAgIA==-RUY1RTFCNTExNDNDICAgIA==-QjcyNERGQjhCNzNDICAgIA==-OEZFOTg0MjA2QjNDICAgIA==-NTdCRjM5ODcwRjNDICAgIA==-MkY3NUZERUVBMjRDICAgIA==-RjY0QkEyNTY1NjRDICAgIA==-ODAxMTY3QkRGOTRDICAgIA==-QUFENjFDMTVBRDRDICAgIA==-NkU5Q0MwOEM0MTVDICAgIA==-QkE2Mjg1RTNGNDVDICAgIA==-MjMzODNBNEI5ODVDICAgIA==-MkFGREVFQTI0QzVDICAgIA==-MDJDM0EzMUFFRjVDICAgIA==-NDc4OTU4NzE5MzZDICAgIA==-NkQ0RjBERDgzNzZDICAgIA==-OTkxNUMxNDBFQTZDICAgIA==-MjJFQTc2QTc4RTZDICAgIA==-RjlBMDNCMEYyMjdDICAgIA==-ODE3NkVGNjZENTdDICAgIA==-ODkzQzk0REQ3OTdDICAgIA==-Q0RGMTU5MzUyRDdDICAgIA==-RTRDNzBFOUNDMDhDICAgIA==-QkM4REIyMDQ3NDhDICAgIA==-NTg1Mzc3NkIxODhDICAgIA==-RUYxOTJDQzJDQjhDICAgIA==-NjRFRUQwM0E2RjhDICAgIA==-RUJBNDk1OTExMzlDICAgIA==-NDc3QTRBRjhCNjlDICAgIA==-OUYzMDBGNTA2QTlDICAgIA==-NjcwNkIzQzcwRTlDICAgIA==-QkVDQjY4MkZBMUFDICAgIA==-RDY5MTJEODY1NUFDICAgIA==-M0U1N0QxRkRGOEFDICAgIA==-MDcyRDg2NTVBQ0FDICAgIA==-QkVFMjRCQkM0MEJDICAgIA==-QTVCOEZGMTRGM0JDICAgIA==-NEU3RUE0OEI5N0JDICAgIA==-MjU0NDY5RTI0QkJDICAgIA==-QkQwQTFFNEFFRUJDICAgIA==-NzVERkMyQjE5MkNDICAgIA==-QUQ5NTg3MTkzNkNDICAgIA==-ODQ2QjNDNzBFOUNDICAgIA==-RUMyMUYwRTc4RENDICAgIA==-MTVGNkE1NEYyMURDICAgIA==-ODhCQzVBQTZENERDICAgIA==-QTM4MjFGMEU3OERDICAgIA==-M0M0OEMzNzUyQ0RDICAgIA==-RTMxRTc4RENDRkRDICAgIA==-RDdEMzNEMzQ3M0VDICAgIA==-RjJBOUUxQUIxN0VDICAgIA==-Nzc2Rjk2MDNDQUVDICAgIA==-NkYyNTVCNkE2RUVDICAgIA==-NkJGQTAwRDExMkZDICAgIA==-OTNDMEM0MzlCNUZDICAgIA==-Rjk4Njc5OTA2OUZDICAgIA==-REU0QzJFRjcwREZDICAgIA==-Q0ExMkUyNkZBMDBEICAgIA==-ODJFNzk3QzY1NDBEICAgIA==-MkFBRDRDMkVGNzBEICAgIA==-OTE3MzAxOTVBQjBEICAgIA==-RjYzOUI1RkM0RjBEICAgIA==-RUZGRTZBNTRGMjFEICAgIA==-ODlDNDJGQkI5NjFEICAgIA==-RTA5QUQzMjM0QTFEICAgIA==-Nzc1MDk4OEFFRDFEICAgIA==-M0UxNjRERTE5MTJEICAgIA==-NDhFQkYxNTkzNTJEICAgIA==-RjBCMUI2QjBFODJEICAgIA==-NjY3NzZCMTg4QzJEICAgIA==-NEUzRDEwOEYyMDNEICAgIA==-MzYwM0Q0RTZEMzNEICAgIA==-Q0ZDODg5NEU3NzNEICAgIA==-QTQ5RTNFQTUyQjNEICAgIA==-MkY1NEYyMURDRTNEICAgIA==-NDMyQUE3NzQ3MjREICAgIA==-NkZFRjVDREIxNjREICAgIA==-RDRCNTExNDNDOTREICAgIA==-NEM3QkM1QUE2RDREICAgIA==-MzU0MThBMDIxMTVEICAgIA==-OEIwNzNGNjlCNDVEICAgIA==-MjVEQ0UzRDA2ODVEICAgIA==-MUM5MkE4MzgwQzVEICAgIA==-MTM2ODVEOUZBRjVEICAgIA==-NEMyRTAyMDc1MzZEICAgIA==-NDBGM0M2NkVGNjZEICAgIA==-RjdCOTdCQzVBQTZEICAgIA==-MDU4RjIwM0Q0RTZEICAgIA==-QUI0NUU0OTRGMTdEICAgIA==-ODQxQjk5RkI5NTdEICAgIA==-QUJEMDVFNTM0OTdEICAgIA==-NTNBNjAzQ0FFQzdEICAgIA==-MUM2Q0I3MjI5MDhEICAgIA==-NzAzMjdDODkzNDhEICAgIA==-OTZGNzIxRjBFNzhEICAgIA==-MzJDREQ1NTg4QjhEICAgIA==-M0E4MzlBQkYyRjhEICAgIA==-QTI1OTRGMTdEMjlEICAgIA==-QzkxRkYzOEU3NjlEICAgIA==-NjJFNEI4RTUyQTlEICAgIA==-MEFBQTZENERDRDlEICAgIA==-NEQ2MDIyQjQ3MUFEICAgIA==-RjQzNkQ2MUMxNUFEICAgIA==-RTEwQzhCNzNDOEFEICAgIA==-RThDMTQwRUE2Q0FEICAgIA==-MjE5N0Y0NDIxMEJEICAgIA==-MDY1REE5QTlCM0JEICAgIA==-MkMxMzZFMDE2N0JEICAgIA==-QjhFODEzNzgwQkJEICAgIA==-OTBCRUM3REZBRUJEICAgIA==-OTg3NDhDMzc1MkNEICAgIA==-OUYzQTMxQUVGNUNEICAgIA==-NzcwMEY1MDZBOUNEICAgIA==-M0ZDNUFBNkQ0RENEICAgIA==-RDc5QjVGQzRGMEREICAgIA==-QUY1MTE0M0M5NEREICAgIA==-QTYyN0M4OTM0OEREICAgIA==-NEZFQzdERkFFQkREICAgIA==-RjFCMjMyNjI5RkREICAgIA==-QUU3OEU2QzkzM0VEICAgIA==-ODY0RTlCMjFFNkVEICAgIA==-NUUwNDUwOTg4QUVEICAgIA==-MzZEOTA1RkYyRUVEICAgIA==-NUQ5RkI5NTdEMUZEICAgIA==-QjU2NTdFQkU3NUZEICAgIA==-RkMyQjIzMjYyOUZEICAgIA==-OTVGMEU3OERDQ0ZEICAgIA==-NjhCNjlDRTQ3MDBFICAgIA==-QkU3QzQxNUMxNDBFICAgIA==-RTc0MjA2QjNDNzBFICAgIA==-QkYwOEJBMUI2QjBFICAgIA==-ODdERDZGNzIxRjBFICAgIA==-NUY5MzI0RTlCMjFFICAgIA==-Mjc2OUQ4NDE2NjFFICAgIA==-RkUyRjhEQTgwQTFFICAgIA==-QzZGNDQyMTBCRDFFICAgIA==-OUVCQUY2Nzc1MTJFICAgIA==-NjY4MEJCREVGNDJFICAgIA==-M0U0NjYwNDZBODJFICAgIA==-MDYxQzE1QUQ0QzJFICAgIA==-REREMUQ5MDVGRjJFICAgIA==-QTVBNzhFNkM5MzNFICAgIA==-N0Q2RDMzRDM0NzNFICAgIA==-NDUzM0Y3M0JFQTNFICAgIA==-MURGOEFDOTI5RTNFICAgIA==-RTRDRTUxMEEzMjRFICAgIA==-QkM4NDE2NjFFNTRFICAgIA==-ODQ1QUNBQzg4OTRFICAgIA==-NUMxMDhGMjAzRDRFICAgIA==-NTlFNTM0OTdEMDVFICAgIA==-MzFCQkU4RkU3NDVFICAgIA==-NTk3MUFENTYyODVFICAgIA==-NTA0NzUyQ0RDQjVFICAgIA==-QjcwRDA3MjU3RjVFICAgIA==-MERDMkNCOEMxMzZFICAgIA==-MjM5ODcwRjNDNjZFICAgIA==-Q0Y1RTI1NUI2QTZFICAgIA==-QTcyNEU5QjIxRTZFICAgIA==-OEVFOTlFMUFCMTdFICAgIA==-NzZCRjQzODE2NTdFICAgIA==-QUU3NTA4RTgwOTdFICAgIA==-Mjc0QkJDNDBCQzdFICAgIA==-NEYwMTcxQjc1MDhFICAgIA==-MjNENjI2MUZGMzhFICAgIA==-NTk5Q0RBNzZBNzhFICAgIA==-MzI2MjlGREQ0QjhFICAgIA==-RDkyODQ0NDVGRThFICAgIA==-QzFGREY4QUM5MjlFICAgIA==-NEFCM0JEMDQ0NjlFICAgIA==-NjA4OTYyN0JFOTlFICAgIA==-N0Q0RjE3RDI5RDlFICAgIA==-NTQxNURCM0EzMUFFICAgIA==-NUREQTgwQTFFNEFFICAgIA==-RTRBMDQ1MDk4OEFFICAgIA==-NDg2NkY5NjAzQ0FFICAgIA==-ODMzQ0FFQzdERkFFICAgIA==-NkJGMTYzM0Y3M0JFICAgIA==-MTNDNzE4OTYyN0JFICAgIA==-QUI4RENDRkRDQUJFICAgIA==-QTM1MzgxNjU3RUJFICAgIA==-NkExOTM2Q0MxMkNFICAgIA==-NjNFRUVBMjRDNUNFICAgIA==-OEFBNEFGOEI2OUNFICAgIA==-QjI3QTU0RjIxRENFICAgIA==-N0EzMDE5NUFCMERFICAgIA==-MEZGNUNEQjE2NERFICAgIA==-MzVDQjcyMjkwOERFICAgIA==-RTE5MTM3ODBCQkRFICAgIA==-Qzk1N0VCRTc1RkRFICAgIA==-ODEyRDkwNUZGMkVFICAgIA==-QzhFMjU1QjZBNkVFICAgIA==-RkRBODBBMUU0QUVFICAgIA==-MzQ3RUJFNzVGREVFICAgIA==-Q0QzNDczRUM5MUZFICAgIA==-QTYwQTI4NDQ0NUZFICAgIA==-RDBERkRDQUJFOEZFICAgIA==-NDY5NTkxMTM5Q0ZFICAgIA==-RUM1QjQ2N0EzMDBGICAgIA==-RTMyMTBCRDFFMzBGICAgIA==-REVFNkJGMzk4NzBGICAgIA==-NzRCQzY0QTAzQjBGICAgIA==-MDk3MjI5MDhERTBGICAgIA==-MzI0OERENkY3MjFGICAgIA==-MEEwRTgyRDYyNjFGICAgIA==-RDFEMzQ3M0VDOTFGICAgIA==-QTk5OUZCOTU3RDFGICAgIA==-NzE2RkEwMEQxMTJGICAgIA==-NDkyNTY1NjRDNDJGICAgIA==-MTFGQTFBQ0I2ODJGICAgIA==-RThCMERFMjMxQzJGICAgIA==-QjA4NjgzOUFCRjJGICAgIA==-ODg0QzM4RjE2MzNGICAgIA==-NTAxMkZDNTkwNzNGICAgIA==-MjhEN0ExQzBCQTNGICAgIA==-QjFBRDU2Mjg1RTNGICAgIA==-Qjg2MzFCOEZGMTRGICAgIA==-RjMzOUNGRTZBNTRGICAgIA==-NUNGRTc0NUU0OTRGICAgIA==-MTRDNDM5QjVGQzRGICAgIA==-NEM4QUVEMUQ5MDVGICAgIA==-QjA1MEEyODQ0NDVGICAgIA==-NDUxNjU3RUJFNzVGICAgIA==-N0VEQjBDNDM5QjVGICAgIA==-NDZBMUMwQkEzRjVGICAgIA==-MUU2Nzc1MTJFMjZGICAgIA==-RTUzRDJBNzk4NjZGICAgIA==-QkRGMkVFRDAzQTZGICAgIA==-ODVDODkzNDhERDZGICAgIA==-NUQ4RTQ4QUY3MTdGICAgIA==-MjU1NDBEMDcyNTdGICAgIA==-QkUxQUIxN0VDODdGICAgIA==-QjVFRjY2RDU3QzdGICAgIA==-QzBCNTJCM0QxMDhGICAgIA==-Qjg3QkRGOTRDMzhGICAgIA==-MTE0MTk0MEM2NzhGICAgIA==-NDkwNzQ5NjMxQjhGICAgIA==-MjBEQ0ZEQ0FCRThGICAgIA==-Qzg5MkIyMzI2MjlGICAgIA==-NUQ1ODY3OTkwNjlGICAgIA==-RTEyRTFDRjBCOTlGICAgIA==-MUJFM0QwNjg1RDlGICAgIA==-RTJCOTg1Q0ZGMEFGICAgIA==-QkE3RjNBMjdBNEFGICAgIA==-ODI0NUZFOEU0OEFGICAgIA==-MUMwQkEzRjVGQkFGICAgIA==-MTNEMDY4NUQ5RkFGICAgIA==-NUU5NjFEQjQ0M0JGICAgIA==-NTY2Q0MxMkNFNkJGICAgIA==-MEUyMjg2ODM5QUJGICAgIA==-OTVGNzNCRUEzRUJGICAgIA==-NERCREVGNDJFMUNGICAgIA==-MDY4M0E0Qjk4NUNGICAgIA==-MUU0OTU5MTEzOUNGICAgIA==-MzUxRjBFNzhEQ0NGICAgIA==-NkRENEMyRUY3MERGICAgIA==-MjVBQTc3NDcyNERGICAgIA==-Rjk2MDNDQUVDN0RGICAgIA==-OEUyNkUwMTY3QkRGICAgIA==-NzlGQjk1N0QxRkRGICAgIA==-NzBDMTVBRDRDMkVGICAgIA==-QkI4NzBGM0M2NkVGICAgIA==-QjM1REIzQTMxQUVGICAgIA==-NkIxMzc4MEJCREVGICAgIA==-MTRFODJENjI2MUZGICAgIA==-QkJBRUQxRDkwNUZGICAgIA==-QjI3NDk2MzFCOEZGICAgIA==-MTgzQTRCOTg1Q0ZGICAgIA==-
Some things are hidden...
The secret content is encrypted and stored in a hidden element, as shown in the screenshot below.
ciphertext
OuO
Install or setup
Use my costom theme: hugOuO or plug below codes in your blog Encrypt (backend)
We utilize Hugo’s shortcode system to create a template for content encryption, allowing users to define hidden sections with {{< encrypt 99 >}}
and {{< /encrypt >}}
, where 99
is the password.
themes\hugOuO\layouts\shortcodes\encrypt.html
:{{- $password := 0 -}}
{{- $msg := "The %q shortcode requires a password parameter: see %s" }}
{{ if isset .Params 0 }}
{{- $password = index .Params 0 -}}
{{- else -}}
{{- errorf $msg .Name .Position }}
{{- end -}}
{{- $chars := split (.Inner | markdownify) "" -}}
{{- $unique_id := (printf "%d" now.UnixNano) -}}
{{- $step := (int (math.Floor (div 281474976710656 (len $chars)))) -}}
<div class = "encrypt-wrapper" >
<div class = "input-wrapper" >
<input id = {{ printf "password- %s " $unique_id }} type = "text" placeholder = "Password" >
<button class = "toggle-password" style = "cursor:pointer;" onclick = "decrypt({{ $unique_id }})" >
Decrypt
</button >
<button class = "toggle-password" style = "cursor:pointer;" onclick = "cleanDecrypt({{ $unique_id }})" >
Clean
</button >
</div >
<div id = {{ printf "encrypt-wrapper- %s " $unique_id }} style = "display: none;" >
{{- range $char := $chars -}}
{{- $x := (add (int (printf "0x%x" .)) (int $password)) -}}
{{- $password = (mod (add $password $step) 281474976710656)}}
{{- $y := replace (string (printf "%018U" $x)) "U+" "" -}}
{{- $ry := delimit (collections.Reverse (split $y "")) "" -}}
{{- $ey := (string $ry) | base64Encode -}}
{{- printf "%s-" $ey -}}
{{- end -}}
</div >
<div id = {{ printf "decrypt-result- %s " $unique_id }}>
<p >Some things are hidden...</p >
</div >
</div >
{{/* tool: https://apps.timwhitlock.info/unicode/inspect */}}
Decrypt (frontend)
We use JavaScript to decrypt ciphertext.
add following content in themes\hugOuO\static\js\hugouo.js
: function rhexToBytes(hex) {
const bytes = new Uint8Array(hex.length / 2 );
for (let i = 0 ; i !== bytes.length; i++ ) {
bytes[i] = parseInt (hex.substring((bytes.length - i) * 2 , (bytes.length - i) * 2 - 2 ).split("" ).reverse().join("" ), 16 );
}
return bytes;
}
function byteArrayToInt(byteArray) {
let value = 0 ;
for (var i = 0 ; i < byteArray.length; i++ ) {
value = (value * 256 ) + byteArray[i];
}
return value;
}
function intToBytes(input, length) {
const bytes = new Uint8Array(length);
for (let i = length - 1 ; i >= 0 ; i-- ) {
let byte = input & 0xff ;
bytes[i] = byte ;
input = (input - byte ) / 256 ;
}
return bytes;
}
function removeLeadingZeroes(bytes) {
let i = 0 ;
while (i < bytes.length && bytes[i] === 0 ) {
i++ ;
}
return bytes.slice(i);
}
function decrypt(id) {
let success = true ;
const password_str = document .querySelector("#password-" + id).value
if (password_str.trim() === "" ) {
success = false ;
}
let password = parseInt (password_str);
const encodedString = document .querySelector("#encrypt-wrapper-" + id).innerText;
const list = encodedString.split('-' );
const step = Math .floor(281474976710656 / (list.length - 1 ));
let decryptResult = [];
for (let i = 0 ; i < list.length; i++ ) {
xb = rhexToBytes(Base64.decode(list[i]));
x = byteArrayToInt(xb) - password;
password = (password + step) % 281474976710656 ;
dxb = intToBytes(x, xb.length);
try {
decryptResult.push(new TextDecoder("utf8" , { fatal: true }).decode(removeLeadingZeroes(dxb)));
} catch (e) {
success = false ;
if (e instanceof TypeError) {
} else {
console.error(e);
}
}
}
if (success) {
document .querySelector("#decrypt-result-" + id).innerHTML = '<p>' + decryptResult.join('' ) + '</p>' ;
} else {
document .querySelector("#decrypt-result-" + id).innerHTML = '<p>Wrong password!</p>' ;
}
}
function cleanDecrypt(id) {
document .querySelector("#decrypt-result-" + id).innerHTML = '<p>Some things are hidden...</p>' ;
document .querySelector("#password-" + id).value = '' ;
}
References