ruby转换图像文件中的二进制字符串

时间:2015-10-08 14:00:19

标签: ruby binary

我有谷歌api的二进制数据。我在查询这个网址:

https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=http%3A%2F%example.com&filter_third_party_resources=true&locale=it&screenshot=true&strategy=desktop&key={YOUR_API_KEY}

查询字符串中的screenshot=true指示是否应包含包含屏幕截图的二进制数据(布尔值)。 所以谷歌回复发送给我二进制数据:

"screenshot": {
  "data": "_9JlVHca7bWs9pBqtnPFKvdur27QOy-heB1459KSw7QdptMNkBaXEqWzhk-6XKuCQNoyJUDHjjAbFXB5AXgHrggkfWiRoeQFIA9PU-eK5Z-nYpLhHfi9azR_dyZzXu3N5fgx6v==",
  "height": 240,
  "mime_type": "image/jpeg",
  "width": 320
 }

我正在尝试从二进制数据生成jpeg图像:

File.open("data.jpeg", "wb") do |f|
  f.write(data)
end

但图像不是正确的文件。

如何在jpeg图像中转换二进制数据?

编辑: 原始二进制文件是:

_9j_4AAQSkZJRgABAQAAAQABAAD_2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj_2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj_wAARCADwAUADASIAAhEBAxEB_8QAHAAAAQUBAQEAAAAAAAAAAAAAAwECBAUGBwAI_8QARhAAAgEDAwEGAwUGAwQKAwEAAQIDAAQRBRIhMQYTIkFRYXGBkQcUMqGxFSNCUsHRkuHwFiRygggXM0NTYmNzovElNVSy_8QAGwEAAwEBAQEBAAAAAAAAAAAAAQIDAAQFBgf_xAAsEQACAgIBAwQBAwUBAQAAAAAAAQIRAxIhBDFBBRMiURQVMmFCcYGh8JGx_9oADAMBAAIRAxEAPwDNbQD70QeWBTo4yOtHRD7V9gj4pg0yeooyL7YoipjyoqgY6UbA0MVBRAlPCUVI6NitWR9lKEqUISTRo7Un4-lHdC6NshBcU9VNSngbPQn5V7usGspWbSgSqfOiKuKKqCirFnHFbYKgDVfrRkWiJFRliPkKRyHUQSKc0dFPkKrrdUl1S6F1dPE8MyJFF32wbSqkHH8W4kjz6YoCXt28Nlcn7t3krXAjUlkUbFbG45wclR16fnUHnS_7_B0RwN_9_FmgjSpMacCs0L-4mmtv95jCdzdLNH3ezc6BTtyGPPPUE-ZHtJsdYka702BDE0UvdwyLtwyO0PecEtk-XljB65qb6hFPx5GljSpCLWVt9dvVsUnnFqzTWcVyhVWVYt8gQ7ueVGQ2eOh-NWj311-wtZkjaN7mzdolnhXKsAFJcLk8qGORk8rU3ni-RvYl2L2KJmPhHFTYbYfxt9Kyn7RNncvZ6XI0sjzWyrPcXP3iNklZl3jByD4SccZ4qTHrmoDU7yMW8DQWrSxSF2VDlIt4f8ZbBOONv4TnJxUpZiscD7mwhRF4RefU0VmGBk8-lYrT9c1m5gtXb7qgvLuG3hdrcrhWiZ2O0OScEYHIzjPnQbntVcw6Vb3ANsblYzJPFswGUTGLIYuNuSpwAGOfaobruy_tvsjcbifwjFeCnzrLS6ve_fJ45PuxtGuryyVVVlcd1Ezhi27_AMpGAPfNM0vXb9xaH_dfuvfWVqybWLnvoEYncW8i3mDkdfWj7iQvtSZr1U0VVNeUGiKKLkBRQioKIq14CiAUrkOonlFEFIFoiikbKJCrTwK8BTgKVsdIVfjTxSAU4CkY1Cim3TtHZzuhwyxswPoQCRTwKFf_AP6-6_8AZf8A_wAmgx0jl1n2m7S3bbba7llcLuIWJDgfSp2jdpNdk1-ys727fa86pJG0ag4J5HSsxpGotp0hlRIpCybcPnH5Gp-h3P3rtbYTsEVnukJVeg5qVs6KVGERBRVUU4IPJqKqD1r6ez5ShFUelOVBmnqnPlT1WjYGNVQKMEX-FufQ8UgQ04Ka1gHrwfEM0QYJ4OKEAaIik8DrQZkHAUphmJNejjUkbulKkbKQGGKkd0y844pboerDGxHdBowzHzoYhwcEYNSLWZ4vcHyqTIiuneIQT51LZp8lNU1aIiR-1GEZzjHNKqVKjTcOvIrORlEjG1jeRJHjjaRPwsVBK_A-VFW1i2he6j2jOAVGBnr9akolD1CQ21oZE2g7lUswyqAsAWPsAc1OUqKRi32ESzgCIgghCIcooQYX4DHHWjR2kAcOIIhIAAGCDOB0Gfaq5tZSGXutkc-CF71X2g52-MjnanixuyeQaZY63MYomlgEhYKzFTtCjwZI45_GPTpUnliV9qZexWsQAAijA27MBR-H0-HtUu3iSCJY4USNF_CqKFA-AFUlprZk0ya9a1AjjlVNqybiQccnjjkgfU9K9Frk8ssJjgSON3RG71sYyXUnOOu5Men1pJZIsaOKRdwWdvECIreFAWDkJGq-L14HX3p1zYW9ysoliXfJGYmlUBZApGCA3UVW6bqFxe6bHLMpgdCnftFhjho1fcMjj8QyMHGDUmS5lhtrmeOdp440A37VxvLAeHHUAHnrz86FpxsampULo-g2eltI8Ks8r7Mu6oMbQQuAqgAjcecZ561ZGztn2b7aBtmdu6JTtzycccZqqh1iW4tpJEthE6zQIoZtwKySBc9Bg4z6-VQh2nlNpCpihF28HesUYssbZGQQQPLPwNScoorpJu2agQRE8xR_iLfhHUjBPxI6miJbQqAFhiAyrcIOoGAfkMAelRtKvfv6TP3LQiKQxEMcnePxD5HIz54qwUVrNVCqKIq0gFFUUrY6R4LT1FeAp4FK2OkeUUQCkAGafilbGSFAp60gp1LY1CjpSikHNLQCkOFO6jmmA06sMN7mL_wY_wDAKekMQIIjjBHmFFeBpRmhQUz5qDc0RSPSgqKKo5r6Kj5qwyFaOhT0FR1HtRVB9KzRrJA2kUoVfKhoDRlU-1A12eCU9FwQacqGiKlCw0PDBlwRT0JAwM49KRUoqpScD8sVBR48gU1VoyLStjJDx4h0ANGQYNNRaOi0jY1WKi-dHRaaq0ZRU2x1EVBRkWmqKMoxStlFEBY2NtZIy2sKRBsFtvnjgfSpgpop6ikboemxy8U9FCqAoAA6AdBTVFEUUjY6QoFEApB709RStjpDbaCOCIRwoEQZIA9Scn8zUhRTQKIopbGSHAUQCmKOaIopWx0h6j1p4FNFPFLYyQ4CnAU0U8DilYwopw-NIBTgM0A0KBTwBTRxS5rDIdgelKMUzOacDxWGsdkV6kr1Ax83hKIq09UoqrX0NnzWo1EoyJSotHRKFhoakdGRKcq-1GVaRsbUYqetFVPSiKlEVaVsZIGqUVEp6rRVWlbGoYqUVUp6rRFWkbGSERaMgpFFFUUjY6QqiiKKRRTxSjpD16URaYoogpWx0h4p60xaItI2OkEU-1EXFMWiAUjHQ_A8qcBTQKIBS2PQop601RTwKAUPWiqRQgKeooMZBQ1KGpgFOFLQw8NTs8UwCn0DDgacDTRTqwRRThTRzThWChaWkxSjNAIopc0gFLQCfPqrRlXinKlFVa91yPBUREWjIlKqUZEpXIOoiLRkSlVaMq0jYUhFWiKtOVaKq0rkNqNCURVpyrmiBaVyGURoWnBaeFpQKWx1E8BTwK8BRVFLYyiIBRFWlVaKq0jkOojVWnqtEVaprmXb210y3-8SKHsLl-5DeFyHiwxHqMtg_Glch1EuVWiqKcEogSlbGURqiiqtKqUVUwaRsdRGKtEApypTwtDYahgFPApwWnhaXYahoFPArwWnhTQsOomKXFOC04LQsOogFOApQKcBWsOogFOApQKcFoWGhoFKBTwtOANaw0M20uKdilxWsNDcUuKdivYoWajhSp7UVUoipRkSvYcjxdQaJRkjoiJRkjpXIKiDWOjKlERKMsftStjKIFUoqpRVjoix0rkMoglSnhKOsdEWL2pHIdRIwjp6x1KEVEWH2pXMdQIixUVYjUpYTnpRVhpHMZQIqx-1GSP2qSsNFWGk2HUCMsVcl1zW3H_SG0Wxjf8AdW9n93kGeMyhmP5bK7N3aqpLEKo6knAFfJup6tP_ANduoaoVIki1NkUMMgBDsA8vIVHNNqPHcvix2z6tWM4ogjo8K95GGGCfPHkaKIvam3sXQjqntTwnFSFjp4joWMokcJTwlSBHThHS7B1I4T2pwSpAjpQlbYOoAJTgntRwlO2UNhtQASlCe1HCUoShsGgASnBKOE9qXYKFh1AhacFo2zil21tjagttLtou2vba2xtQYWvbaMF9q9toWNqC20uyi7aXbWs2p8-Jrmmck3SjBxgqcn4cUWLXdLcgLdqcnrtOBWQ_2dvXDbpIMnz3Hj8qmQdnZ1tu7zD3385c_pivbljn9HhRy4fLNcur6aMZvYR8SaPHq2mlQ33uLkEjk5NY6Psxc7VBmiAHoT1q0m0S-uoFjnuLd9sIhTKHwAen96k4ZL7FVPBX7i4i7S6W080fevtiGd-3h_ZfM1MTtDpG8r97HAznY2P0rJwdlr6MFVuLfaT1Oalp2VuWjKm5hXJzlU_Ks8cjLLi-zTHtBpCuq_e1bcOqKSBRV7RaOBk3g8_4G_tWbl7JzTW0UX3iFCnmsfJPuetRL_s7-ytPe4u74BM4JSEkk-WOam4SXcpGeNukzZp2j0c4xdE5GeEb-1eTtVohVybsjacY7tst7jisqvYzV7i0huUt2W3KCTvGkjQbSM5PiPlWUM-n78F50AOCyID59RzUlKMn3Oh42lwjri9p9DEaOdQjwxwBtbPzGOKRu1uhqWAu2baM5WNju9hXI3nsXa1WBrkpkCR2j2gLnkjBPlRNU0_ULW2srju5EgmiU94YzgP5oTjgjHT3rS1TphjCT5R12LtTojsP9-I8_FGwHw6Ude1Oh45vgCfIxtn9K4d39ztCM6RBs5fHWp8Ud9caeJISpG3ICgl2zxxgeVJLVdx1jkdg_wBsNGG_EsrbQSMR_i9hQJ-2toBbNaQNOrZ75Sdrx_LGD9a4v39zJd983eSN0fapIYdOOPSt92X7Pz6lbzTI81qgcIFeMsWGM58qjknHGrl2K48Lm6RJ7e9s3m7GarHZ2jQyyWzASO4Ow-eAPPHTNcS7OXMVxputatqdj9_kkuUkkuXLCRZSHJIC9c4JPwFdQ7f6S-maJeCW-EquNgiRCTlum70-dUH2a6PosujazYavqH3RJJI3QuMsx2yKcDBGAH_So5ZbY7XKOjDBQk01ybTsf2s1VNIilmCYmZ38YLs3iK7iSc-QGPatevbIm2YLaq9wGwCThGGOvtz5Vl7Hswl_BFb9ndTguobRCjuQ4xudmHVcefl6VNTsLq-MGa2Izz4z6_CqY03FOyM9FJo0lh2xhZF--2zxNjkx-IZ9hT4-2UTTMpsZdvRSHGc-4qiPYXVi5P3i22548TcflU2x7EXyXEbXdxE8Ybc2JG3H8qOv8g2j9MuJu11rECpt5TIOCoI4586b_tfES2y1fBxt3MAc-9SR2QsCGZkk3k9BKcH8qMvZLTRnCy-2XoVH7Nt_BR3_AGnluXhe0BtkQndkhtxoado7_AcSjG7AJjBq-s-zmj3MO-BHeMO6HxHhlYqR9QRUsdmNNClRC2M5_GaPx-wJv6Kiw7UOMrdosoxkOg2_lUe2165trx5J5GmibkocDy4x6Vo17NaavSA_NzTj2d049YP_AJGl4-w8_RAHam33IDbSgHqdw4ob9qlCHZa5Y_hy_Hzq2HZ_T8KO4HH_AJjSN2e09lAEO3_hY0PiZ7EKHtLCU_fwOreexgRmlPaa3DAC3lwfMkdKlDs5YY_DKT_7hrx7OWH8sv8AjNZahblXBEj7SAzHdbnufY-KpH-0FufwxSfMgUQdnLH0mz_x0o7PWI4Am_x1viBOY0a9beUUvTPl_emya8pYCCLPruP9qPFoVlGchZCfds09dEslYMsTAg5HNb4h-ZCGvE_9wDz_ADeVHXXYW_7l_qKmDSrQHPc5-JNP_Z9rx-4TjpxWuJluVv7aJH_ZKp8-c179svgfu09-tWn3K2__AJ4_pThaWw6QRj_loWg1L7OAAwiIyJFK4IyoUnxD2qRHJbnDFHXPOGY8VFht-6VVL7cDHJzUuO4KDCln4xz-Ef3r6to-AWRokRzQEjapP_N1o63Cg4EDf4qrEVSxaVsg8cGpCxQnkDr7ig4oMc0mTxchQMxE48y1GS-wTiPPxqCuxAyqwDAbscdKeneyyhnYKqk7VBGD7n8-PepuKLLJL7JyX8m4AID6kH6VE1kSarZC2cPGhYMWAGeM0eLA_AwH_CBR9nG55yBjJJIAFI1Fd0VhLJ4ZWS6c89h91l1XXTCVCtGbvwYHljHA9qo27DWTqQLi9APrtI_Sqrtl9o0Gk6rZ2eltFdxFe8ml3HBGSNi-_HJ5qv1T7Ujc99b6LbCJgyqJpWDcY8WAPQ45PlmuF9R0-NtHsQwdbkimvJrB2RWKFYorq4KnjlBnHrUp-yhmTE2pXrknOHww_M1a9ltUtde037xBId0YAmGDtRscjPQ-vFTrG-029uu4s762uJlBOyKQMQPM8VRTxySaIt9RFtPwZZuxCsMC9l-AiGP1rb6C9xpmjWNjHLJst4WiyUXPJznnODUiO26cnH1rFN9pOgG4iW1eeS3EpSadk2rGASMjzbOMj2zUM88VJZDp6ZdTO3jL1dBiYxiW6vmRCDs3gA4OQOB06fSr60WG1XEUcgDNk4Ynnp606GKKUB45A-OMqQcEjOPpipa24wP-0-VI8eKuw3v506cmYv7XpVX7M9eeBTHKIVIdQAR-8Tz61w_sPqd2EvcXtzyFAIkIOecV3T7YbdIfsp7QiNWCrbrjJ_8AUSuA_Z9nu78oFbCLnPkOc15vqDUcbUT3vSE5O58nePsZ1W6ubHVxeTTTGO4RU3uW2jaemeldIW6GPwn6Vy_7DCjW-vAxq2LiM8eXhNdSEaf-COfjT9LTxRs5OuTXUSoY-pRR3EMDnEswYovmduM_qPrUtbkH-E1yntFrlxZ_bPpFnJsh0yO1VHZsBcz7uST0OYx_h9602s9uuyegava6bqGpRpdXTBsIS6xhujOw4UH_AD6VX4vhEanFJvya221CO4kuI4iGa3k7qQD-FtobH0YVX9tNeXQeyup6kzd28MDmI9SZMYQAeZziuYfZp26tVu9abXrzb99ve-hcKSuDlcjB6YQfSuafaD2rm7RdpbmaWZzZwyslrFk7Y0BwCB6nqT15rY4xyP8AsWlGcHTOtf8ARv7R3mqdlb201SWWW6trpnDyg5ZZMsTk8k7935V17vM-VfLv2edrLux1C3hgKsJZRkty2POvoa116wktb-RpxvsAe-U8HIiEvAPXwHP1qOy3cWVnBpKSL3vBSmVFGWOBkD61jNE-0DQdUvrm2NzFamFN-64mVQw2huPgD-Rq-0TXNL1xpRpNytyIgC7IDgZ6c--KLSRNNst9y07cKhahe2emwGa_uI7eMAnMjY6Ak_kCflUB-0mgwaZ98bVrM2qqp3iYMSD0465NAa2Xma8SAMn41ltV7e9ldLhd7jWrOQqyqY4JBK-SePCv1NZzU_ta0MwyR6Wl7NKSAkgiAU889Tnp7UG67jJNnTEdXXKnI9aVWVxlGDAHnBzXA-3v2lvqd_BH2eNzDapGQ5kyhdmBBGAeRjz9ayk3aW9Marb3NxGudzJ3hwzeZODzWtDKEmfUyujruVgy-oORTiQASTgDqTXyXpmv6lpkiSWuoXMTqeNshAHxHStR2n-03VNY0iLTgkUGcx3EkbZ75SMcg9PM_wBsUHJJhWOXk-it6bN-5dp5znj617coYLnk9BXy-e0Gs6hbw201-0kUCARR56ADHA9cCrbR-2GsaRd97BL3zy8yfeCXVvIedS96N0V_HnVn0XwegJ-Fe-VfLut9se0msXHd6hfTRCMnC27d0o9_D1-dbvs19qK6XodpZ6lBNfXMeVM28AlPLJOct9OKpsn5JODXgp4oBsL7FJXrluaOsKoGLKqjH8wqHcQJZ3t3bG-aZYZCgkIxu4GDjPGcivJC0kJzN3uAA3hx1_rX1ampRUk-Gfn7wOM3BrlE6JY2nEaKx2uobccAA5yflipsFlE8arJJIzrzlDtzzVaIZACTNCMAk7mxtwM9cVS9o9ZuNJW2htoI5rm4haRHdsoAMDGPPk-tTyZFFW2dPT9NLLJRjE2R0-1Bye8zjBJl8vpRbexsyGCxsynrl_8AKvni61vtQb2SeLVNQEsjMoWKQBRhwAAg44GfLzqeO2vaqymjT7_K48GWlgVs5LZ5x6AVwvr4drZ6_wCh5Fzwdq7apHpnZLUri3PcTrHiNw-CGJ8jnrWbhvrjWfsSvtQliU3Zs5E3mTmUp1PXrgflXGL3tJruraTf2-p6tPNbKyssT7TlsH2yB7e9VaXE8tpawTl5I2QiMFz4PgOg-VcOXqpOVxPW6b02MIpTq-5UiaR7h5HkIYktuJ5qRC00JJDON4BZj5g06002WW8ZCcBWxnH_AJgKvNP7NXWp6OLi0VXcTNG7O-3gLx145PAxzXDN82z04Y2-yItx2gu49J-4Q3Fylu7b3SOQqrcADI8_P61Y9jdbfSdRsbxQ8qJMpa3jbblB-LoR5EkdKrZ9Fug6QSiOOSPO4NwefbFRZYW0uaN7ra4HRFJ54-H-sitGXavAuTD32XDO4dvftdjl0C5sNCgu4b26Bi76SRAYlP4iNpJ3Y4HpnNcp0aa5ewvoCWCBBlU_iIcHOfajwdnrjVZC-npb7U2SHnaGweQD6kH8q0snZZ9Igubkss0ZXbujJJUHg5HBHPHzB86TrJyyx2SKdJghglojoX2a9u-z-hdlYrTVtRe3mWRmVWidgc4OAVzk9fSuh6N217NapA0tpr1kFVlQieQwtknA4fHWvljUbGKSeFkkMMcYygKjLD1wTVz2c1LSdMl73UbCPUGXHdCQgd36sOvOPpVcXV6wSkQ6j0yU8jlE7_8AbPDKfsv7UA47tbVSrbs78uufpx9a-e_s-Gxb4Mh_CmPjzik1ztNqV1pM9rJreozWrqyOk85bvVLAhW8sA_pS9nor6xEqpGjNLtG4nIUjPkOvX2qHVSefG1E7PTsD6d_I6x9m3aXSOzsOsPr9_DYrLPGIgwZi52nOAoJ44596hp2n1GXtzea5b69Fa6VJtRNOnlVwyKuOQDhcnJBBzzzXNdZ03ULsrLL3oVOe8EIUHpk_lWduYLuOVl8bxbt-4PtJ49P6VTBKUcaghM_Sxnmlkn2Zuu1-rQ6z9oZudSu4ZojZ_dmMKbuquBtAyON2c_Gpdp2U0q4gjSzsJbsheJZpNhwPckfpXLcPHZo5djM0xhJbnA27sg-tTtP3s21nJGBySSRz5V0OWnL7ko4t3ql2OoS9jtVNusNhYhbdX77ETozBsbeT1x7VkdQ7I9o7GV2aCVwMkgqOP6VEtGjjvG7_AJUxEjqSWHQfCqzWbuB42VYlTHVs9Tk-XyH1rQyp2lEOTBKHLZtey2m6xEIppblrXABkSOTxN6_h6fWtBq8Fvruq_e7-C9ml7oQnu7xkG0DGPwk8jOeT1rjtlO3ehI7lkBGch8f1q2g1e9tncwX84CMV4lP96zxq9vIu1rVnRbrsFp17C01raXcMu7YqPc94WYgnP4c_lVpa9jtR0vQJLGC4NvdvILjdFK4cIONrYP4c48jggVsOznd6bYPdrHK8sjqrOkQdhlV8z0HNXt9czxhGlju3VmCZCxjqcemcVJzr4oGt8s4zrFtq0Gmtf6tOxlWdYBIs-4kFWPn8Dz_eqLVbiG6hhw0UsiD-NMso-Pv9K7J2ksDqWkXyWmnXJu0mjiJO0F1OTkfT_Wawsv2f6tdXDKdKuhIV_CZEVscc4-n1qa1u2MoOuDEWyW3h2xlm3ZbJ4z7ACrIwXJjVLKB4N5Cs5TAPpz5Vp7bsLq9nFLItmyxQ7u8L3ClUI_FuPlj3p11oet6PcRS6kLRLeTJWNnAZgBnj14otKT4KRikqZnl029Kqt00bjPXecij_ALJkBGHULnbk5NSEmvri4LWstsisPCiqG8s-fsRUoz6nDGxaO1dEPiLQrgY9cGlprsUWOP0QBpG4uzkMOuF68elettJjdN8Tqo3dWU9PnVr-0tRiJ7yxg8X_AKZGOPLmlTW7xXLSWMbru_CCVAH0ofI3txXggraT2agiEyjb1Q5-nnR7BjK5R4vxZJVhjGT71Pi7TID-80yXcf5ZR8fSqmbVP_yl1dmBkSV8gHkqMAY9KSWPZPjkPKqgmt2rNGJFwvdcSE9faqSeMB1wc45FXjXj3-9IVYuYixCqTyWGCeOMc_Wq-TT74XMiC1faCdp4wBng9abDwtZEskXtaNhr9237avbhLGa5SeYyb0VuAFGc5HTPmfSoFxJqQ7AXus2NpIt016pjiZMsY1wucfFx9KyEOs3GnW0tqNEnt4LhWWVoIY5iB7MrBh1JzitJp_2jaVZaXaafNEsVvHF3Oy5aSJmw5fO6RQCScA8mvRnl6nHBRkux5OLpuknNzhTb_krIe2M0txPDPBO7xNsaIxiN0LIxK5G4HOOCcY8xzVL2wvm1KYXdvp15GyW3cOd4kG_O0EbVHoScevlV4dPtO1DTXsX7Ostz945g7y47zG7B8B4PPp781np7MaTY3FxJrccHdOsLxJcsrKGzggSAEjjkDPSoTySk7b5O3Hihj4jGiiAlie1niDCOSduo5UCTd-WPOiw3ExdbhkeLYsUg3ggHBY5z0x61uNM1rtE2nx3NjqDXlmrmNzc2XexkAYPO386RO1msT2N1aPpOj3dsi5h-7N3ZGT4uD9enmanLh8FlO-5ibGaOWArMFl7zMjDAIJwxx8PLNSbext72SY2tpGvcQSy7QMbVQZ8v9cVfzazpNzcxRar2YvrVcl90SI-fDt2F8biuPLPBIxW57A6ToNxZyXGnR3H3e5a4gf7yrKcCNlYYJORlmOf7U0blwZzS5Oe9mdP0a81xGjgZomSVwrOfE0Z5yOuCc_StXca9JplpdXNvaWSCKWWIKUdgYu7cgYxgE7fhz1qr0Ls28EiQ2BBljtpIO_Nwsbxks5K7HI54J-tP1zsZq2kndcagHtu9eYschVXuHUBiCVGCcckVJw2kW92o0u5hu2esSy94Y4ktsWasMciMs8YJU9RnJqkuo_v_AGYglllV7uOVxvzwy7U6-wzUztFBPdicuWZDaQnvNwKnxpnHscEjNQ7DTHTQ0iuBLEJbmZFDRkZBjjwc-Y48qq8WvK4OVycnbN19mgXuu6kZWPeL4o2J3ZjOBny_D_rNbLsTrdit9YaldTMtnE9w8xcZztCjAHPkwHqT0rC_ZhMbKyjN08IM15GhLtgiIIRke-78qttfu4ItBud0EUbjvN_dFdqsGAK8fzDBPwowTcXFlJVdoidtb7Wde1L71C9sQI1iQyYEjDxFTjbjOD5Vm3g7Qxsu2ZmGMhkKEHPoBz86v7XV1bTdNJXBkAAVMYXgkj4Y_SkXUreeVoFaJ5BErnjAKknHPxHSm_HhQy6maM3eJrD2ckV68_dN4TlGxn0z08qINfns0IcpHJ_C20kj5Hiuy9n9Pa-7PXemWF_BJfXMBb7t3-FZg6kHnjIUH9KwLHDFJVl3LKd4JHHXOc_w_wCVSjhTtJlV1dc6mXl7VapdxRxXNzvhThUKqCR8v1pwgu7_AAyRNFGSMs46e_wrR2ggNqy7F2LuP_YK4z3mPPnOPLy6-VWrWMMTRLJ3H7w8YVlO3BOODjPHXpimeKUV8Gb8mMv3o53LoWpMmxUibExkzvH8uKlWml6jBL3TW_eOwG3uxnPsCOMngV0jT9Jt7lLVh1kDMTHPkAhQfCGGWHOParjQ9BNzqFrbiOeLdH3xVtmFbGNpYeY61Ocs0VdJjQlgvhtHFNSuLi0WBp7eS3nkXlXBBT1HTBNRBbxy5Z5GLA4JYgkfWvo6HsVa3Yt1u7J1WYMxSaaPKFfUAHJPlj50k_YfR4hcCWysj3bxKwlu8A7yBzjoeeAfxeVGHUtKnGhMkIN3s3_g-eYtIeWUpEwJAzypPHrxmu19kPsn0y503S7jX1d2t43VoI28MjFy2ScDAGcY86x3brs5LpHa--i0yO2h09MCNN4UhdgJ6nJOSa7zoUYm7M2bxbe8bO1uvr9fWqPJLW0RlGK4HWVvFaabcQ2sAjhS5VFjToBgDmrHV5IzPFEqnJnUDJH83pmoUUKGPehRYornLENjkgeQ61UaDr37S7R9oo5rR7b7jfLDl23F-ThgMDAwAfPrUG3dmSRfLErrqBliG0TjblwMcHnNYXty95FfaelpLPPLIkjKIbgq5XIJBOMny9q3unwxC2vbd5E3CQMCMjdzk49axv2mxRftDSr37yYJ7SI7QhAyuQTnnpjr7UGtuw-NqMuTHzRSiJ2vLbVUZifD3xbcTj4daor21tJ3VpLK_RhwRIpP9atte1dppdJDzAxOWfGB03cD2I4586ky3d6EhZJwqJtMwTK7lx4uPjnihBONHRJ2jOSaZYR4MS3yj2xx-dXXZy40bT4buDU7CbUFmYFXnjJ2jGCOHHHSnT3cgQlohuC5IVup9BnPHvUGW6VWYhckYUEoOT1zxjAo7SC4RaqjRapfdnLyxlFraGG7jQdy37wFST05Zh0B5qiSQBMMzFvI7z_arjS4bKbSzcXUPef7wYiQhz_CBxu9W6-nNGaGxjgkP3MN3J8ahCSeAfDzzwfrW2aYlxXBnZ4pHiwndhznlgT_AFqI0QtYneZu9xggAkY_Ote8VojlFs1O1S2VjBHGOOfM54-BoTtC8UjNpRVVy8a92v7xeMLz_F-XtRTk-4u8Y9kZXQrm2bUIjGzwTFwCA_4gSM_Guy9rtNgsOy84s9OhgQsis7nMrZb1NYNFhiuYwlrCPECHVFGwhh7c5_pXWO2lnJe6FNCkyRfvUbL-zZNcvUTSkmGLbaRwBA-CGwzHpyAcepqQsrmLu3wY1HiVmBA-RP8ASocQIlKvDGqYGHBOfgcjpUmFFXdsjjB9T6fSvveJd0fmV6PhlfdaLoszd5JYWgkJ_GqhG-q4IoQ0pYpFa11fUrcjACtc98o8_wAMm4Yq9QxkcBN3kVzz-XFP48SsEB8j6_lUJ9Njn3idOLr82P8AbJlVHca7bWs9pBqtnPFKvdur27QOy-heB1459KSw7QdptMNkBaXEqWzhk-6XKuCQNoyJUDHjjAbFXB5AXgHrggkfWiRoeQFIA9PU-eK5Z-nYpLhHfi9azR_dyZzXu3N5fgx6vpN-Fyv7-4Mse0A5IJj3ocnz25xxVjY9rZntbW10e90wxgBVitryMyxg5Lbu-Kk5yRwvWp8jMDyzD4An-lUmraba3jf7xbRTofJ4w361B-nziqg-Dsh61jbucQt72Zivr6W_vNaisjcsWC3VjMCXbIcl19Sc5HHPpVh2a7I2pdobftXZOsoYZs7lZnjLIQcxsQQfF08sHis5b6JaRLDJpy6hpMpUhjbXLQhyHYblCNgDAHB54PrTbrRNQnJC6w0hPU3ltHMx5z-PAfyHnXL-DnS4Oxep9NtTZoe02nahYyfs3T9Ygv1lMcFpIsSgsI8Bywz5scYyeRVBrmm9rNNWF9S0C2lmVmcxBSmFVQFO4cZO0_Sp-nydprJI0sJNGTZwsi28kL9c5yGPOeh8qg6lH2jvin7RiFykEhlVE1SQKzEDJwyHqFAPriklhzpU4ll1mB8xmjNa7b3drqAZtIkgS0nhjlHfnAHJVtnUZAOetA7QX2uarvSWCzfLurKyIu7GCG5wc4z9K2upatqbyvM_ZexSUqAxiuY3JA6Y3RelePavXJgRHoN2W7sJuM8HTGMj91jNTWLMu0WV_IxyXykjG9n7tPvenprAukihLOio24ZzgY4PkSBxjB-dXM1loiy3NxYalCrMqRpBdAksAd2SRjGc4GOhHNWCaldFh3_YlrqWNdqmS7hVs4OCSqBjyc9R6VQXtlrZgd10J4yByXvF4rohHJrTiSlnx3xJf-nZfsvWK67XQSCaY5tmG1SoAxzkZHBPQ-1cLvr1mvIgEuCtvftKxyr8AsMDB9-ldD-xvtNfx9rLOJOz09yVtpEZRdooxt6nI4Ga5trmgW8ut3zW7SRD7w7BHAZlyxOCwwDjPWoKEt2U96KjdkmPtIsJaOSC82ZIVkwOO8Dcg-fUfCr7RNf-9NO81_GMXcndpM6g9zt8IGegyfyrNWWg3XiEd6N5GOUD_qKtdP0eezyZrfT75h1a6VzxzxhWAxzV_ak1aRP8vGnTZtoNWNvZ2p32pmWKUllYZLiMHw48jg59q0_2a6m-o6tpV7NF3b3FirtMGyASSe7-AznPWub3VrZYja20bSYG7lQwWGV8v_EQWk8_SnaGut22pRy6brdxpuB4Vt4lCpxjCg5qc8M5RaoK63En3O86DDKY9BkTRlt0SO5DN3pY22W4A9d-M-1WF7Y6lM-pm30-0IeS2MTyISZQpG8uPVcHb8q5ZpnaftrYW1tDBrOnXUMa423VmVP-JGHXnyq3h-0TtFBKBf6Tp1wnTfbXjofkGU_rXny6bMuyOuPV4ZeTP_aika9uNZtzGgl-5wSozrklzJhv_gBx5da6r2DvLefs7awxSxGaDJkj3gtGOQCR1APFYL_rauoblotR7LybAQN9rdLJn5MFq0g7cadvNzZ9mboTOu1nKxxvgHoTu6UdcyVOA3vYX_Wba1vIY9NvSyZlhuO8YAY3Jnyz16Hj-9ZfSe40_tn2kvvv8E1pqOoCdFVH7xFRAHUrt6g9PXyqH_t9qXe7rXQHA8jPeRjH0zUj_rC1_bth07S43xx3krMP_iorLFmf9Ir6jCv6jWXOvraC_a0sb-YLNs7xbdgFBA5xjJ9cjyNcs7eWdzqepWU_czFIoJ4JI5FaMsHCjgke1amHtp2uljbdb6FG2fC698w-YyPjUu2vu013CXuNbUsRjEFpGoB-YarY8WZeCUurw_ZxbU7e6NtApt7k92Scoobqcn5cVGl1WQPayXSlHWfc42ELEMEY48-eldd1TSdSvRifU7ojGDtihBH0T0rL3nYZmJP33UHBOcPMw5-VdMenlLuhJeo449mY261nZbF1ninwqjZuYMeQCSMD1_KpNgbi_LtHJbhASrEzAYIHrj4VL1PsFdNkR3lwNo3A94Tj59ap7fsbrVm7fdNXlQMS2NoYnPXGRkGt-E2D9XgvJtuyF6j6TNGl9Zy7JyWaFy-MquBnHXj86Ne6nHBGyCWMThcmIyHAJyV8RA4ODzjyNZXRNF1fT1U2urXVoQ_eH7uEXc23bk8c8euaLddn5bq8mur-4udSupFVWkuf3mAOnQYHU1N9BNsH6tjLltcs0lKm6t9hU7iZBkHjHy681BTtVbyR3KyTQJIkrpFlvCVGNpPOec-VRR2b2E7LGFiOOEA5-Yo6dm-7Rm7pVB5_DiivT5CP1bH9D27SWL3dusV1DgyDdkHzIxg9PjXVO1WqXOp6dKlhbrJEZMrPPlRx0Kr8fyrlVppDpfQExLtDDPhz8OB1ruunWkl1EiyqMMATxgD5VDN6etk5FsfqSmm4o4KXCxHac8c-OnxuQFVO5_Dk5csf0qIscmPCyFuT6n86bukjA3o5DcEDxH9K-wPgqLVXLLmVRuC-RyPnwKRZkOQzY2nrIAf0qGpnLYWPOeOTj59aefvLnABJGMjNYWiYsvBKOofzGRjpT4pmKuSrpkdAcfpUaUOwAPJPkccn60jxuEAljVtvIxyQP6VkAk5I6MxDc9c_0oLsp6AMcY4oYWTft7vLeTZGR-dePex_i6E4yKIrTELcA53Y9RSKxx4SF8-ua942cjDceQBzSmNx_Ado4PpW4BbQZJMEDdjjqDmjRTHgknOeQcc_GoSI_AI685A_qKOAxAGMsfwgefyNCkMpSDTXMctwkRniW4kyI0dtpc-gJGB8zVlBZBe7WWeGOWTI2s4wgGepGfT8xVXJYj_vIw3GPEgOaJHFs8SwxAk4ztxg-4qUsTb4Z0xzxSpq3_cu7bRJJXYJcacmBk7rxAfpmo-oWASCRJrjT1z4cNOHz9Aahq5GNgUuT0GAT86WaaZVyw4Izz_lS-1Ly_8AQXnXhf7KfQIV0HUpp4bi1dnBAbLnAPljAqjudPha7leS9QtI28rz58-n5Vc3HeCYMDgMTtJ86o54Y3lbvMjB6GpSwq7OrF1Emu5Y6NFFExRC0smfxbSfKrcWyMCc4YDGSCPyqHo0WAGWM8kbXHVufOrvoGIK7s4BHWnjiRHJndlTNCq4JVmz0K-VBt1KSkjk-eVwfrVjOgHJPPtxQo0xk5wCaLxJirqGeaVlABBzUS4uOgIx553D_QqXImFOAfnUOdAdy4GfPipPCXj1BFMgeU7Y84PUkfXrV3ZsywjevJGcDy-lVsEIdwCuQDxu4H61c20RKnOdqnHHl8aX2h_fCxSMRwuBXlLmUkL8jUoIAuMH4USOFmcBdtD2g-9_JYaSpL-M7s4HnyT5Vp9NXeGUK4XlVATGfcCqLTCYSTsG_rx5f2rUWpVIQVDKx5HkT6jzqc1Q8J35D90UUR9y-4Ac7MKfzpkkCbiDFLnHHAwfXHPWjrKhRGDsxP4Nw6ii98qnad2CAwyhOMVG2XtFbLa5baYnC4PJx-lRLjR0dcGNip55xWg3B8KFBzyCwIINelVQecByeMHrR3YNEzNrooD4VAVAxncP7UT9jqRuePxDyHGfnUaftzoFl2im0a_v4re7iTeWmZUjOT03Fvxe1O0z7QOzeoiAQ6hbpLIoZ4ZG8SEkjb7tx0HkR61nld0MsDraibHpKY2d2ME9Og-vrRJNEhaLiIHPXPBq5ikjlVGhkilQk8r4h1xwRnpR1Us5AAG0AdfI-ooe4ze2jPW-jwrMn7tckjGTgfD3rWaZbyJCuGXaDyhUnA9M1Fi3JKOA23FWNkNhdQwO47vP-tQyycjp6eKifJ8JZGDbJDgjJAHH5URWMhwd55PgBPP51DMhDMCC74HVuT8qINzxbXjbPrs2EV71ngOP2S4rqNCQXKnOcANTyhYB2L7QByvH9ah95KFQBxIF_CCQKKk34mdSegyOSflRsRw-iasgYYJlDDrxzTkd953uSCDtLDBHzNRUYpMWVHzxzu3D9OKcrvjwRoFH_Fk-_Io2I4kkyEjMjhAfLcOnwFOS43hiJ3YdMDjmoSMAuNqKR13ZwacwwuVYH5_261rA4pB0dl53SkDruY1JWV25KgsPM5zVegJLZAA_11pys4YlgoxxyMUbA4osIp8qVLZGemOhp7MxXxgFfIZP9Krt6bSC0YT-YnA-NEUd4vHPmGQf1rA18lit1tG5WUD06f1oqXhdFbcMA_zDkjyqvLRrEGZWZsZwuGz-tESZI1DbNoPoNpHtnisCixa-dgNkaMAeDnPHwwaSTJUZiyoOScY4-IqGzIz5w5z14yw-tNkSNUJ7t3YHpgBgKAaB3f72PdtYrn8Sg8D4edU8kbu6DdwDgDb_AEqwuHLOY3TaBxnn_KoW7u3AUbSCRkj-lK1ZSEnFUT7Bu6Xd3uVIK4bgD4elXEM6soRkUYGPEcE1TWRU7uAo65wCQasmQlU2-Pbz6hvl0opCydklmVm9c-RNN2qEGMbT0KjOKEowhONuTjj_AOxSxbQMlxu9f_uiTHnjOckfGoU8bY8LAeuRUwsrMfI9AQKC6clRxt8waFDJsFBEQSzPkHoF6mrmyKNyik9Q3GPy86rUQsSoOXHQDw5IqbYMH3FjslPBIbGMeuRStDKRZpGrAhRgg4JxUo26BAxOWPIwePfiokRQqVZgH6YZuWHrUqFW2gE7gv8AA_X61NorGRcabHyMQRzRnjjnaR-lW9m8LOsYdYmHWPBOce-OBWdty21e7Mob-Pa5G34DPIq9S6W4KowZAzBfAQOfjng1zZI-TpxzJn-8JKoXu9nrIxGPYedHk3REAnc238PLDPt51XS20sl14ZgkS8BPxc_T_WKdFJCZSrXTCQH8JjYY48s1FxLqRZLCGTmQbgcja2Sfl1FOEbyLguQQ2GV1BC_Dz-tQzIwlVoWhKjqXcrg_MkE-9JA03iklijUq3LA4Gfh5fWkpjqSA6p2R0bV7gS6hpFvcydS7x5-BFZuP7I-zC3QuJNPikOckPuKk58wMYFbIyzRvuWFmIOBng_XOPhRO97uZVjMYYA7jL4GOfQ-Y-tBuRWM0u1obomk22kWFtpun2tutnEG2odwOCc9T1HJ4qU6W_wB4LNCYwq87AcMMY4xjmoAnuYEfOWBJO1JOQvrljUvxmLEPfpKygjw7hnHQ84NJrQ3u2TDBazLtXUGiGeBuOCR5c5qQtjctEv3fUVEnUkoGBHw4qna7VWK3UE21RgSsNq5JxjrxSpqKAkRx3aGM7SixbgR6qKVxl4HWSF8r_wCny8zSbMSsNg-Yz8qeC2weFxHjILHjHtUKNxjdskXjy4H607KAjarc9QyEivbs8vXwTgylTgAem_gflxRCUTYTsVjz-DGfnUJJAckOQMYbwcYp4ldcAbSuPEpywNGxHBknJVwVjT1BPB_Wjxv3pYumxh5gg5qFHcMGwFUoPxAjBHzzRVmEZXc4KDqu7kH6UUxXBkrv1Mh3KuPPcqind7tA2FmJzyoFRxKZF3eHaeCWGf0pHchd6biw4CMcD5f2o2JoSGaMgsyEEdS_OP8AOjRusg8JUk846VDjnbad4IJ8hj9aaZFiOZCy7vVc8_GtYHHwWYc7SFjx5EYApqybMqCVJ6kkgE_PpUOJ0GS-eeQ23HHx6UUyxqu_IKk88k4-gxWsVRJiyqqrwz-LB2g4-tHWRe63DvGyequQB8iOlV4mBbdHzkdQ5_Q14XG0ElQOc8efv1o9hdS3ec92TsLDyK_5Co0lwHGSu4ADOD_TrUUXMgOVUnB4ygB-uaWadmDZ2Lk85G45-NazJCOe83EoVbpg5GPjQM5ydw4PmeopO8wVUliOpxgAULvihBVNw9DzQCkyZDIwfdFgsp8WBx8fMH5VaRSb9pAIdvRgcn14_tVJbuSwLDqN2QQefL4VOjmEpxM28Hnay4J98ZrAlEmvOgIVnI5yM8f_AHRVfw-NUYYzuGM_pUIMiscpxnkA-VEYbT4N2MjBHQfSiJQcSc4O1sny6_M0m7B8feBc9c_3pneZTxu5BPTBpAe76sWUn-FjkChYKDxSxv4JGBHUnALL71OgJ6RuWIBHGMP8c1WqEkdA6YGeAVH5VJRMDekpGD4Tgrg_kP1oMai0aaE7Fw4GMHxEFfh6VLtnZXcSSbkK5xjOfoarFCRjvAZu8fK5O3JHwIorwShw6zYXGAVBU49MClaGRdxyLIFJlYsvKlWyufgeQfKrNiVPeMVk6BwV5J6AHPnWXF09qAqrJI452BTwD6Z6j5VLtruNsATggEZR5grD0zzx9KjKBWM6NJHfJ3QYvGzDw4jQqw-A9vhTI720chvvjKVGCVdgCeedpPX5VBikWRZbeKZZGUFge-2MCfQgDn4ilhubzYrSSbWTnbIC-B06qf6VHVFt2Wm6JVDC5wNuQrYJ4PTkUsE22Z0-8SoCNyOyAq5H8pHBHx5qvgv1fdG-A6OA4STLfHoDnjqaLbv3Z-9BrkOxKr4Xz59QePSg4jKV9iwF1LbMJLi4YRhgCDGCvTyIHT3JqWLpJI1jSZmZSAFjYHb8j7etUz3MMi95dO0S9dz25BOPcfoaJbXcUspWC8mUEYVFGN2M9Nwwp-HHvU3EpGZdKhZ2TfGysSSNhzj0564pTJIgjXuDNbLk7i4wMfH5_CqZrlUBN1EiRoDsWR0UofY4xkn0NFjmmSSM28bSkqcK6EoWP8rjp7gilcR1P6LRLq1MLqd0St0TGc89SRkZzU3cyrFvMBVui728fpweM1WRG53AFYSOpCbmKjzO7z9vKlUoYklDbJQRl4ud4BzgjjFTcUWjNnyrE8ecsp-IBAP50RZIt2VJTB6KMfpVeszgAiSYAeR5p4kzGACxA9Fx9a9PYm4FqhQtwoJPtj9DStMu4DDr5HIyv61Vo4wd0oHly_8ASjB0wF77IHlvptibxk5gGGAi5zy55z8K9FKcYOfbKHr69KiqxDkYcDzIJY_rT41Yof3xIJ6MxB_OjYGiWj8DAJbqNjEH6f50VCdpYrL8ScZ_LNVykqV7xpWxnjgfpTorlkYgIMH_AJcCimK4fRYvyQcMzjnwt_nSHGANr8nkHIz8wKiNJnaREoyf4manrIQQWG0A44YkVrE1omAiMsduc9eSCKfDKqMWTeWJxjPT51BEhRhukDoc8bDxRFaNmyWjZV5J6GjYNeCxhkRgdzKjDkHGP04zTZXk4PcxP5ZyRn36f1qv2xGUBipbqN2R50VZO6AKxlOTyFz-daxdESe_lBwsipg4zvP9QRSzTHu8CdmzjghQM_QVDF0oOVMkZGc7M5OfbFHSZyBguxzzkhgT8OMUbsDhXgessxChyuM8nGPz86V3z4XOB6gEj2oEqrIXcJu9SSQaWHMbbVz0wQM5_Wgal4DwhjuBTcp_iRufpwcVMjJlhcogfbgdCp-hx-tQYPEDldrDkKSSCfhzRVfY4AWSIn8RHT5GiI0SYBMYyXt9hXkg5Un5gkUeOQCQZhlB9SwYfLnP5VFinjd2G05zkMOCaPIzLzvXAJwfP86wrXPYkh0MxCOrPzwUOTXkmQqC8wV8cjYV-tRIsbj4js6hQMA5-eKMGCnxswXOAWwRnPrWF1RNRQhRkZ3R-ARl1JPvzzVhZBoFZTK4Y5Crk_mB_aqVykQyeAAPwGpD3WVSOQFo-odx_XrWNVFtscqN42nH492VPzA6UMy3MCuZ7dJ0P8IUMR05yGH6VGinG8IGaJGxhgTj_GP0NTBOGdRcRBkKjxEMGJ9ehGPnSsKLS2v4ZoxGd4uAoUAXCgn-o-FTZzG6hZLdQxCksyb8j1yD5cVQoYNzxOkU8Z5G87HX4nrUqwt0SfaUZiPGAt5uUL6Dn18qm0Oi2tLaNmIhnhVhyQIsFffJ6V6MXUII7m7kiUkkxMCEBPXcjkfLFQb6V7a5V_u10IXGO9jTdj6Dmm292kc6lp2UP4e7kCrgjkHKikp9xuEWsMn3o5lNzLChIV-96eo6D-tL94ERCSWswDHIJKuzY888N-RoEzlwWnWFgODuiaNh5g5XqfnmgRNZzIs02yQRnMcyyswj_wCY4ZfzpasN_RbykuzL93eaKRcg7FYJ8GXH0zmoSyFP30dne-E7WFwCyr8C3iH1IqGTb3KnMc7upwO7ulkVceY2kNkZzznNGgt3NpKL2SZiGBAuIQQvwZQevvj40KSDbZoHuzBbR94kDLyARLtOPRcr-hoUMoghkmtZEjVwGdu5Y8_8Q8_iKo_3VjbtFc20l0ynxxwRKu0cdV3FT8Qc1J-5W5iWW1snhYDwFQqMB6-ZzSOKKKTLODVroYlkdSm4gGS1AQ5PXcGJOBzVhBPa3eLiJjLhxn7vMUBJ8sA_keaobLvrJ17uIy78s_gCD3Pg4z7kj3p791LK8kVxbwBlA2zQKzqAf5lbBHvSSgvBSORrhn__2Q==

1 个答案:

答案 0 :(得分:3)

require 'base64'
File.open("data.jpeg", "wb") do |f|
 f.write(Base64.decode64(data))
end

如果您使用的是rails,则可以跳过require 'base64'