From 860029207cedc7f1a183216a2165c70eff72b24d Mon Sep 17 00:00:00 2001 From: idkreally-3537 <123569634+idkreally-3537@users.noreply.github.com> Date: Tue, 7 Feb 2023 18:40:39 +0100 Subject: [PATCH] Account server endpoints (#111) * Create backupGJAccountNew.md * Create syncGJAccountNew.php * Rename syncGJAccountNew.php to syncGJAccountNew.md * Create gjp.md * Update _sidebar.md * Update backupGJAccountNew.md * Update syncGJAccountNew.md * Update backupGJAccountNew.md --- docs/_sidebar.md | 6 ++ docs/endpoints/accounts/backupGJAccountNew.md | 58 +++++++++++++++++ docs/endpoints/accounts/syncGJAccountNew.md | 63 +++++++++++++++++++ docs/topics/gjp.md | 39 ++++++++++++ 4 files changed, 166 insertions(+) create mode 100644 docs/endpoints/accounts/backupGJAccountNew.md create mode 100644 docs/endpoints/accounts/syncGJAccountNew.md create mode 100644 docs/topics/gjp.md diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 327414df7..54753c5d2 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -103,8 +103,14 @@ - [Request](/endpoints/request.md) +**Account Server Endpoints** + +- [Backup](/endpoints/accounts/backupGJAccountNew.md) +- [Sync](/endpoints/accounts/syncGJAccountNew.md) + **Topics** +- [GJP](/topics/gjp.md) - [Level Passwords](/topics/level_passwords.md) - [Level Encoding/Decoding](/topics/levelstring_encoding_decoding.md) - [Game Save Files Encryption/Decryption](/topics/localfiles_encrypt_decrypt.md) diff --git a/docs/endpoints/accounts/backupGJAccountNew.md b/docs/endpoints/accounts/backupGJAccountNew.md new file mode 100644 index 000000000..3be1dbceb --- /dev/null +++ b/docs/endpoints/accounts/backupGJAccountNew.md @@ -0,0 +1,58 @@ +# accounts/backupGJAccountNew.php + +Saves account data + +**Note:** This page is on the account server. You can find the domain name by sending a request to /database/getAccountURL.php (currently http://www.robtopgames.net) + +## Parameters + +### Required Parameters + +**userName** - The username of the account to be added + +**password** - The password of the account to be added + +**gameVersion** - 21 + +**binaryVersion** - 35 + +**saveData** - The save data for CCGameManager.dat compressed with gzip, then a semicolon `;` and the save data for CCLocalLevels.dat compressed with gzip. + +**secret** - Wmfv3899gc9 + +### Optional Parameters + +**gdw** - 0 + +## Response + +1 if data was saved, -1 if not + +## Example + + + +### **Python** + +```py +import requests + +data = { + "userName": "APIAccount", + "password": "********", # This would be APIAccount's password + "gameVersion": 21, + "binaryVersion": 35, + "saveData": "H4sIAAAAAAAAA8VaWXObSBD-K1Se7ZhrOKocpWRLzubwJrVK8kphNJYICFSAHOvf74yYA6ZHgq1daatcFnzTDD1fH_Qct-9fN7nxgqs6LYt3b6y35pv3k9ttntZNHzVWv8j9uzc2uZ7cLtOkmdxmk5c43-HPGG9xdXuTEZyCq5fINE3rANQT8ltL1NahtqNFPS3q61BHK-sEOtTVvs11tai2XzdkqNdFkclQm6FphJSn00jtL43U8aRR2ENuDpzuirxMsp8q3cYNbUx2dVNuvj79wkkzI5bptj2tfpb5boMPWEX7rChcP79q8W0e73H1Y_ZxxpRwPDSdh7PwOpyH9rXrzP3r4MEPrr25EwZo6jvzqcM0b5_9M2ad1pPpt4_TJCl3RdOT-FHjivWfTmwzDCwLWWTQqRR5qHgvKVWt07JYp1ttw12c5_qGtFpqG2Zx1Wgb_iqfSn3LYpsuGfdq032Zl1Xr3unE6T_VVDjO9DrguFnPn5-J5ZT2Cm_LqsHLabJO8Qve4KKpOzGGyw1uqv3bOFm_jZsGb7aNCDmbe2BP6tdusxUiAdKJ5ORFuWk9cQc0TZ1U3cRVLePbOvoyHuzB8XfZo97FO0LHRXhQO0e14RKuToJTaJ8SalV2RqnM04l9XIRnhxMiIP1AdVyuDs0_R4YOcptu6M7wu9CooYMMDUVAYoYi4aCIZWoS5YcvjxHzzcN95zK7n39mQeayIMssJeoyK-CJiSPs20JkXJ9jNHxY-uKhngVcjl4wyOdige35nilwPn4_uBLBmgXtkJs2cWc0JbbvNcWDvgWx0IQY-3Z2xsUde9HgCpfGY7wscF3zV_tAHBIDuvRcJdtl7BNIEEGwx73BDqMwiMh_16T_lT_L9-mP7wioY1N7nA3tMTakzCg2tBwf2tCGNrQd5NIyQbGhY195wTltaKs2vIuTzPhaGN8rcnHUhMFFbIrcozZtzd0KqCZ1xpnUGRWWGpN6kgYuRzlWTYpI1ebLx0VaCq6oA5zPpI5q0m9lHlcrTMpu1Z7SEYE7XDhGu1ZV7emOs6cEhHciYFDHRsCgHkyzLrSnZaIgCGCIulfBFZ0MnDYogvZE0JwIWtNVrTmr9sbX3bApnbOask2mWlO2Tfpsi8aZEkFTwtCkH3oQmibMttJkgivX9RAKYGiKyuMsgYlgrq2xMX0mX02DXqomlW4JfOHCJm3jUm9Sb5xJPUCHRJgO93HRGF9wY3woB6lA_xcVXR9XqfDHUeEDKiTCdPhEKms6F-yzID0ZUHjhdN026dN1MI6FALAgEabD93SDSTVJJqkFHuTCPysXlmMPJDw9GeE4MkJARgiiY5_kuB6kIbiwS4jrUy7BZlPDMyXNJENCTI1XMs3YqjzIrzrg70LuIGpR1qZPEXRFYxQTsrIW2oL51n2-I_Pr6nlXZIN8dHg8ByG246uEdAg44Rkj519UTuUDzF2-r3FJqqPy2ZiT9eR9Q_LGapgY6xLEdGYqkhjmKewHUDNyHkPlBoNmnpNVwKrcxIUxXb6Q9b5dBZMJ5Ma-tNMIL2kvjlEzckpA5Zj-qFfP0XmZUlLJKZ8mzJ5qTc6RcztoiQu5kuTnCF-0YpYzmEOvjMKRpbicQ50IPOZdy30Rb9LXYbdyz84ToaP3rW6pa3ki8ceWhIBfjSxmqdwgKX_g13hVFsZDWSV4mJPzVrSO5dNxi9RDnKjjK4QdeneMlZF1LZUbTER3eUy2_75VZUKWCDX5GRQ0Ha7PGFSCGOIfkhjkeQpTPV5GVrpU7t9nId3HzbCHc5J_dr8igSZW6g5uJOhybfeQmET0abKS3ctKI-tlsaV3ytU-tKv6aRLnxqzcpEXclMNzqo61zkEYpYQSJLIT9THJmI88EY7cLbur1SMLaUbqP3M5sD5BNhCXdGsYL4fdLLxo-jq4HWGyBSiFFGH5i3KHXOBoTtfRmJbDRFojMv0DCUVcLeN6PZjmO4b5T3iio-lsTrGSsTU2RfjMq4N4KsK2w7oyrCrvILBnBPqBPQfgKYj0376IDuc-pHXkrjJPdpx2sbul7r7yLUm-msc3Q_m92Pnk-3--IsAXBPk93y_k92J3UABcSwFwJQXAlRQA19KlIdpCqqLMVh1A1ZTx2QFUXVnK6ACqrpTHnibMoRZRUm62OSYHBaQ5ikhszrPH6X4pAIvI1ompYBE5OjEVLMBpl4NYHxRa9111EbHJgrjvO-6CnZuR96zcEffsCJEE-j68YIdq5H13ucMCa8uCA4GI4QrEVffdkSIiBquEMwFU9ZWQI-NRCeGLElKiH_8EUDlTMgQBgAR4i0oTz8Et8DijCYNvrzOhT1N6LEvx1xblxIKDQG1zyylJuA4KzRDxz9PnO_CSFuqNp16XvxdlsXqMq4wcVOt-QZM8pR_E-TI9FBOy4YnUF9X-Z3uujSdpnv_JZJuciGpky3Wb42_aw243h0Nxk78BpH5jdTEnAAA=;H4sIAAAAAAAAA7Oxr8jNUShLLSrOzM-zVTLUM1Cyt7MpyMksLkEVVUjPAvJtlYyAbDublMzkEjubbDsfH994A0Mb_WygEIgfn1nsWFQE5pco6NvZ6INFwaqMwKKZdsamNvqZIBmwEfpgq-wAmIGBy4cAAAA=", + "secret": "Wmfv3899gc9" +} + +req = requests.post("http://www.robtopgames.net/database/accounts/backupGJAccountNew.php", data=data) +print(req.text) +``` + +**Response** +```py +1 +``` + + diff --git a/docs/endpoints/accounts/syncGJAccountNew.md b/docs/endpoints/accounts/syncGJAccountNew.md new file mode 100644 index 000000000..e5480e760 --- /dev/null +++ b/docs/endpoints/accounts/syncGJAccountNew.md @@ -0,0 +1,63 @@ +# accounts/syncGJAccountNew.php + +Loads account data + +**Note:** This page is on the account server. You can find the domain name by sending a request to /database/getAccountURL.php (currently http://www.robtopgames.net) + +## Parameters + +### Required Parameters + +**userName** - The username of the account to be added + +**password** - The password of the account to be added + +**secret** - Wmfv3899gc9 + +### Optional Parameters + +**gameVersion** - 21 + +**binaryVersion** - 35 + +**gdw** - 0 + +## Response + +A list of values, separated by semicolons `;`: + +- saveData sent when saving (note that this value contains a `;`, so it's effectively 2 values) + +- gameVersion sent when saving + +- binaryVersion sent when saving + +- a list of rated levels separated by commas `,`, in the format `[levelID],[stars]`, compressed with deflate and a random string of *20* characters at the front and back + +- a list of map pack objects separated by pipes `|`, with keys 1, 3, 4 and 5, compressed with deflate and a random string of *20* characters at the front and back + +## Example + + + +### **Python** + +```py +import requests + +data = { + "userName": "APIAccount", + "password": "********", # This would be APIAccount's password + "secret": "Wmfv3899gc9" +} + +req = requests.post("http://www.robtopgames.net/database/accounts/syncGJAccountNew.php", data=data) +print(req.text) +``` + +**Response** +```py +H4sIAAAAAAAAA8VaWXObSBD-K1Se7ZhrOKocpWRLzubwJrVK8kphNJYICFSAHOvf74yYA6ZHgq1daatcFnzTDD1fH_Qct-9fN7nxgqs6LYt3b6y35pv3k9ttntZNHzVWv8j9uzc2uZ7cLtOkmdxmk5c43-HPGG9xdXuTEZyCq5fINE3rANQT8ltL1NahtqNFPS3q61BHK-sEOtTVvs11tai2XzdkqNdFkclQm6FphJSn00jtL43U8aRR2ENuDpzuirxMsp8q3cYNbUx2dVNuvj79wkkzI5bptj2tfpb5boMPWEX7rChcP79q8W0e73H1Y_ZxxpRwPDSdh7PwOpyH9rXrzP3r4MEPrr25EwZo6jvzqcM0b5_9M2ad1pPpt4_TJCl3RdOT-FHjivWfTmwzDCwLWWTQqRR5qHgvKVWt07JYp1ttw12c5_qGtFpqG2Zx1Wgb_iqfSn3LYpsuGfdq032Zl1Xr3unE6T_VVDjO9DrguFnPn5-J5ZT2Cm_LqsHLabJO8Qve4KKpOzGGyw1uqv3bOFm_jZsGb7aNCDmbe2BP6tdusxUiAdKJ5ORFuWk9cQc0TZ1U3cRVLePbOvoyHuzB8XfZo97FO0LHRXhQO0e14RKuToJTaJ8SalV2RqnM04l9XIRnhxMiIP1AdVyuDs0_R4YOcptu6M7wu9CooYMMDUVAYoYi4aCIZWoS5YcvjxHzzcN95zK7n39mQeayIMssJeoyK-CJiSPs20JkXJ9jNHxY-uKhngVcjl4wyOdige35nilwPn4_uBLBmgXtkJs2cWc0JbbvNcWDvgWx0IQY-3Z2xsUde9HgCpfGY7wscF3zV_tAHBIDuvRcJdtl7BNIEEGwx73BDqMwiMh_16T_lT_L9-mP7wioY1N7nA3tMTakzCg2tBwf2tCGNrQd5NIyQbGhY195wTltaKs2vIuTzPhaGN8rcnHUhMFFbIrcozZtzd0KqCZ1xpnUGRWWGpN6kgYuRzlWTYpI1ebLx0VaCq6oA5zPpI5q0m9lHlcrTMpu1Z7SEYE7XDhGu1ZV7emOs6cEhHciYFDHRsCgHkyzLrSnZaIgCGCIulfBFZ0MnDYogvZE0JwIWtNVrTmr9sbX3bApnbOask2mWlO2Tfpsi8aZEkFTwtCkH3oQmibMttJkgivX9RAKYGiKyuMsgYlgrq2xMX0mX02DXqomlW4JfOHCJm3jUm9Sb5xJPUCHRJgO93HRGF9wY3woB6lA_xcVXR9XqfDHUeEDKiTCdPhEKms6F-yzID0ZUHjhdN026dN1MI6FALAgEabD93SDSTVJJqkFHuTCPysXlmMPJDw9GeE4MkJARgiiY5_kuB6kIbiwS4jrUy7BZlPDMyXNJENCTI1XMs3YqjzIrzrg70LuIGpR1qZPEXRFYxQTsrIW2oL51n2-I_Pr6nlXZIN8dHg8ByG246uEdAg44Rkj519UTuUDzF2-r3FJqqPy2ZiT9eR9Q_LGapgY6xLEdGYqkhjmKewHUDNyHkPlBoNmnpNVwKrcxIUxXb6Q9b5dBZMJ5Ma-tNMIL2kvjlEzckpA5Zj-qFfP0XmZUlLJKZ8mzJ5qTc6RcztoiQu5kuTnCF-0YpYzmEOvjMKRpbicQ50IPOZdy30Rb9LXYbdyz84ToaP3rW6pa3ki8ceWhIBfjSxmqdwgKX_g13hVFsZDWSV4mJPzVrSO5dNxi9RDnKjjK4QdeneMlZF1LZUbTER3eUy2_75VZUKWCDX5GRQ0Ha7PGFSCGOIfkhjkeQpTPV5GVrpU7t9nId3HzbCHc5J_dr8igSZW6g5uJOhybfeQmET0abKS3ctKI-tlsaV3ytU-tKv6aRLnxqzcpEXclMNzqo61zkEYpYQSJLIT9THJmI88EY7cLbur1SMLaUbqP3M5sD5BNhCXdGsYL4fdLLxo-jq4HWGyBSiFFGH5i3KHXOBoTtfRmJbDRFojMv0DCUVcLeN6PZjmO4b5T3iio-lsTrGSsTU2RfjMq4N4KsK2w7oyrCrvILBnBPqBPQfgKYj0376IDuc-pHXkrjJPdpx2sbul7r7yLUm-msc3Q_m92Pnk-3--IsAXBPk93y_k92J3UABcSwFwJQXAlRQA19KlIdpCqqLMVh1A1ZTx2QFUXVnK6ACqrpTHnibMoRZRUm62OSYHBaQ5ikhszrPH6X4pAIvI1ompYBE5OjEVLMBpl4NYHxRa9111EbHJgrjvO-6CnZuR96zcEffsCJEE-j68YIdq5H13ucMCa8uCA4GI4QrEVffdkSIiBquEMwFU9ZWQI-NRCeGLElKiH_8EUDlTMgQBgAR4i0oTz8Et8DijCYNvrzOhT1N6LEvx1xblxIKDQG1zyylJuA4KzRDxz9PnO_CSFuqNp16XvxdlsXqMq4wcVOt-QZM8pR_E-TI9FBOy4YnUF9X-Z3uujSdpnv_JZJuciGpky3Wb42_aw243h0Nxk78BpH5jdTEnAAA=;H4sIAAAAAAAAA7Oxr8jNUShLLSrOzM-zVTLUM1Cyt7MpyMksLkEVVUjPAvJtlYyAbDublMzkEjubbDsfH994A0Mb_WygEIgfn1nsWFQE5pco6NvZ6INFwaqMwKKZdsamNvqZIBmwEfpgq-wAmIGBy4cAAAA=;21;35;iFBF6XYW4yERyTFwVlqieJxEnVei5DoOQzd0P2xl7X9jzQPA1ZOex9dlK1CMIPm2_r5jnL_597Z29xntb9Vlf29v-7tcbf5dLsd7zvk7XD7rzP63ddlX63_vo1fMOa5-1859n_03uKxH5vDbev2fqVe8e-0x8uXR-_LlrOFMvfjdp97hl627dy7b80x_oj9ttlVDO-M-47xcnfd5nsWf37Xa24-f5AvjN7V3_HXN5-z3zeWt2xptf56ahu-ufv2yGsHcZ3mWoz3t1cM1hzGaHn536-edPPzM-rhGfu5aI_OtNajRefVmZwx-2bP3eTT3d549M8t7dp_1ifvW43v-tfpC_XzUMtUb6tl3ZUH6O98agl72zvZkpUerb18t5HPedpp_N976Hz_w3H6z3fveN6_ojQ1nPO-9o_ZArxjPu2em_9x9m99cDz_9avBPZ_6-bKsW_O_VTGuJv2fbs9jvIrN3j62XvTW3WmV-9tRKvN-cavZP42e1kLVwJojxzpGZvmOde59aoDbq0Tm-oZ07dx4es32XczdT2iiqmMf7_NbK5Xe1G3OHhsc87fWJGGO9W4Mrwu3nud875s0xqFOyV9a7jZtX9HVqZn54v4N7_Kd2tNZDPxy1l_3ROCDC4QP23FWnMcM446ycsLft0bNpfdSlTuOZRV56G_RWZ8Lf7vtZ27fbWe2EMnY9rg8WGY33-lyMXUdoehh1Glv77hbd69Nz1uE3ddY-sXRa0NrX5zsMNb0rsn_HM8b0asyabPOJHqtWqekb8_S9PPp5e43D31gc6frZ5oHXbGfesetX2uvasztWnp21zh5E_X779BbTOUM08sw6u-d7tvf5ZiWKIF8PuIa2ThboGdvEV0xhPkffu099-Ojhycl6s7CzWFOtCtMes0gur1vPOR9za08tNNN72-3wOS7Pe9azPzrbtd3-4Hh-m1Mb9f6GN4oBevFHkegy3dYE4BjanV4blR-OYg8rBDP3Hh-F1vaNvK9IuKjOL9n18q3lL65U_9b7VhH2zhyLY9ZT3oDTz_IOzrffne2upYap-nqd_pH8LKb5mkZrcW7PDOaEw-olY59mvl1Evl5T0qyJb5_HYuXn-sDWeo11M-biRitMoTiPqaeGUNSmPVxFoo83fBXLm82Xc57Rv0nB0U11o8FstYy3KLdZ5tTBDOt6R00pcmDUIy2rLwptGk-JgiaqWxw2n421dltet6LV3V-Pslj_44VYZ-3HR38Vy1yZ5y7CDn8ZTzthwWu-iFwdqVruzbLWKhXP3DWGU2Q26-B7CJc1W6bDkkV-7buKefhd-xR7ZftPf_YRn6lPsiLcq5PbJJ6KpIrWGStHbUrKL32dVYZFFw3UX8eG17DctTynnq2rdvZ9nhzK2otuMqj5vmbcT7GkGR5eZ7wEhZby6SV_YAwlXOb7-CjvWdLFUrTI-YTt7aKjsJNV293Np0qMtOWt33Xo-3ci68Q172EJ7SfUU0y25LYYYG1QcR-9rVgBR0IEoVNtvjCLjXQJzF1U13LCSs2owxLl5Z5PHUDYvZDErcmVUpOH5__B1Vo9O9T6PmYAJZH7c8TgS-q9s47x0KrdohtdloQ44TJIwfua1uptJfs9vSIa6wb1tnuLKCzY1huZWyTRzNTZgD3EDZ86nmySv1HiM9NbddKunnhL5l4rWaVMTTQGCbASy8WqNJEjOZiplmx5vDunVIZX524he7bpvH5WwjgPn_3kvN6n6NCTuo9Uy1yiaviSE5vLIqz2m9Tju0V4t3GeS8QUp-B4lIwtSQeFlVy5EFhRPxKtZtw18FvUFIGMHivJU2SAiKnPduQ1Z3KVfvBKaawVqHdBJevU7j2w5NJ-933Nz04Jg24qO_O2bz032pPpF83tiKCK4kqMmuJ2MYpzPurc0rrqzOy-2d4xJbXrar4l0h-IYsJcDqOr7xT1aPGely2VhH1qwqUDaaKl3Ozi61zWo6WEQ6HF3Up5M9crihK3vBzlq6nU2oi3SESsZ0YulFQtVmRRWootxCy63u3j7iWtS8573pBAC2mUWC1e_12XfqOVv0Vcda2Z310D_Z6YiEtYVH2k-DOMqRj5GjmLpR3cN0pFEbyVn9JiSzRbhPTS8t_cRePxcS_y84jf2ryc4Bf29H5KYZHkNVmX3jE5n4dF6zenD13CDLWU4lJZLUTrugwEva3kR_MS1j966SY6lEVpRVc-qqUbdLPAy9HwNIqGWG4fjPXUpL2aJRi2BEcZI7U1Zo23OFH3wa9LlDW97dwWOY0SL3LWID5hemEMOu31strIlveW_PfP6rT1bYm1i-NPRGzt1bN8kMuMKDpFL68Xldj8-NtdZQ56NLU-yC4t-2G_9V2U--gVRVYlBEL_A4V_aQzP_yeKmfUc9YlF4yf6Lo7yewKTR0_0kjyZ3QvH9JQmvCq7L81EK9Eb5-TwAOrGtz533Sxg7U3vueSZPNsxH0TxNcxvxEX9Z_ly1NbkvfXAbf7wqs0VH-sPpuT15WZHPcgaQUyt0mae_Y296GM8kWplRJsa6wgw4GlGzTSW5GZpx_lZrWWsC-YxY88VURVL0DDfWpNu-jml5zXop05MiYDmsRe9W5rUox2dkJdBKeuEAotd9ZXbdVptENWni-O-Xooyul5_jhP-vHm4oUj7K6Wpn6hur9iKV3Ng2uYj7J24yihtLPN_Vy2j1OXSfpbNZL5cpn09cEr0llGSxazvDW9uEcJ9Ts5aaXw-VKs0v348U5wQ3jtp7f27rElrOHWJqtl1OW7UbV1PW23oNMVor4li7xnl5GFoOvC9BDyyubTo-hqiiRe8U2p38ZmydofPF4Iqps4polrhLiUHpqQDhn-NXoymRP6JD-A22cvDy_4-LcuOMrW8UngfTIJ1Fh8ZELUixZRGpHUfMfTqNDQvdakSqFOa2ltW7_5RKLJYu3nq0f2xbDRMrVQRx7RsebvM4ZzK0gK3F7g2duwMB6dEtKMHOSRiLYvHdIsPon-m4uDNtu6KPW0vDxLxMfG8UOvIqSytafvDfc7f-StbJopGCbsWesccRW-rjcBzFY6zuv1h-ARwGnm4vXvV61eIcF-WWvcM7UXpwiPyqFjEviMP7CF5VOZYg7N4Ie81xUkZ8tEqVlCyLVtVRPSECxUraKxCDR-ZqV9xNK02lKZXhJgj-9pw1BtQDR7v4Ct_mp8oy3XkDJUIevKOooFt-fCWDvK5T9aN8w1Bih4i0tgY7lYvzuneCt4LPZgQi9Nt_2zCpz6XGs4Tu2jqvMWphC3_Hp-yWTq7taL6XfH0DK2Y6c1mFRn0iOOyT2z1QDo721UEtW_ERu1hM78tdr3Od9mRxl6KvXHc6M11SMzIa7tqa2zIlIhZ2fEGFwoDxIf1LdblnPiJOt_yP4wacPuYZT36HYLSteb75NmNMT39s-Kc0lHwcslmrsHUgPR33Xz9gpIJuLBsPX98vsOl1v2-Vv_PBxGOFZWqrotPfxvduq0T1NEiWZNj6b3bDLC0C5hlHdbamOYvQ7bLtnjnXouHoWbR3wyilsRDe3H1nMiEkptm8w2bWAoRz573W57avJ6FwLR6PPYi6R5aWmghHnpxrRBNGZsralIpM-uzlSa6jT9X8qqZz5dN-9iaR5WvrfEgFivvB0oX97J2WeB87WC0RySUasDGaowoed_QSyez1SizY0oCb-ygZ5ths6hhTnVmQmnFFEsYoyfVG9Cv_IaDBhyDoEjKInyjtM6cyndKFp9Vh8C-nDribfSe4ZQ9azUTt_ztH0XU26IE1RlZ7QklbWxUTam0pOXt6qj9fgCN_DusNY9jVy-089po7ojz_fyWArvL3I65aikeu0ghtVG8bMWxUSJzlpi6Ws7S4R4vC_rpk2HU86ZLjOPePlJB4_XwB4TjzUFZ_-3ImsOKGT6I8H0IL8weDdUmdq3Le23-4r3FY6m37RN_UF2OG_kmprFzrMqgnd0W9IsXDvOkJMvpzX-vV6zMrl5gwnswrdrnXiuVu4-oB-yJT-DmnGvdyk4p1a2odBVb7zb-y5ot4-3b06KEluGgwUdM1MM3ZPzIo2NdrNtWxHVW8svPvrWll-NR01o4UM2fytqL9O94kL0OaDtes064BmMSj4r5U5kNxdU9haLRYhO2QHe9wOpFnaITqpMq8u3mgZeL7dXy2n4vEVKi593fCcblL5unpPj2DiLbz3ds8Sh9DK60NnalVnFPBw1qBBftXQ_AtrrVL0yB96Py9dQ0m6gSBlQvXkUBj60XgkCr2RAu3YoxlP6FFRjWy3qeSN7SHca3QTAwOegnJGuvaSt5XMZmXMAoc6xfmYFFyXkFdkd_fbIv3DMfOTj-2W0CKX64lLeJCaE1eWEJFthjJd7RpVj7ZXVoYbjbl79F6-x8dqZjOrCfMN6RZyd2gS9LfbBjty6Ls0FFJV5Gj4Dt-P-tLZY6Mx3UQFt6FEtU2EFBj5JVZWjfTIwAVs5oaXVhJqWJ1G54i88pYWoHeqm8LZRR8ocwlPUPlHy-W0ZQC5dm-ae5W7_8V4s3UCpG7uJW0ci5u3yWhv7gu6g7w-_FlZafvZJQEh8PQlEhv4PXSqZKzReT21tV7MMeHo5lD_kOVjpCuZ4gKtb8RB0NP1yC5_U36rLJ31oSsLi4j-Mo2gwXLC34STiu9NnxDmuhRZz7xoLBg_BmsaU66hUl2mCqmhwb47v40czDCOAcH72nob5-Wj7SOgy4pJiPbB2XJTvrcHIUrix9Bh3QlNG0qBpCnUCvOkbjMauprR_NHtCukN92GLDeFp_tQcZHmy_Wes20ixywB-pwljg5n2ZWA0OZxA5deBu1DEXFxR6speLP_zbggW283i0FSq2Elh5ojyX64SPFoIYyx2eZ33PsYofkRvTcjtcp4y0GNHhtUfo7bdPdEgpbMfGFsJCngWDJ3VmE-X5KXmlnRIrkzi2t3YrJi2XcE_Wsn38K8YMOfOIQWJ-O1wmGrLDsMrb8LIMdx0N4UEzCqtYngjBm3zx7MAvD_2W4aj0W3DWLxwZYXvX5eQ-KJb8Mzae0ztAwx13iuFpdlMMczRJY0RNRhBpLtjrYgfn_gNgvhvuGQKFVtNmHd61G9sS_9eCyHVFgCX14IUq8PaatYgSfiIbb3CzPXTdsdg7ssNw9z8c_yjCNplFmXm2TJ3QwwEwDT09YmaMJOuC7nP27XHealRRLXnZSHlF4hMGDX-M7x3UwEgkft8drUYNf4rl4LItUHBTHiHWYpa7KhHxzWZLOVMUbDNUowdH2-hzOJZRkw5cJdlviq_XPjffADAu_6J_DoH1LAu6Fc9MK8UCjtsJEqCc0XIuyY-OXbMIBJCZWh7u0ZG0XbousJbwiDrBSpIYPVMkAXNuI8bdEnrj5LrrfERhDHJjBHNRXdv7g-OzQ7yRULglR9IE-CuMsGwbHaVYLfVVsutj4zpYgXuW1LL47fxbewCn3hXzLbt1CYRAzwXD5W_LVvxrJLab1_apsqB3FtSw4s7IOkORTDNC67Nbj8sq2RNXCvl9ozLyufgVOYhFx4sgAlIDYyszbq4fsirK7WVrpV2gNBO2KTSjmQwC9ZgN3LMZXhysuTGyTnJFGeE9vYk7ZCvxWO8SM2SpdT2FJxz1e4n4Sx7cY7fzwPkX1rw_ROGggviyq710xx_rRG-lW9JZQdT3wRX3B3TzW-F8ZCpnjRVBFZLX2ubbwrk0syYWtOeVoKy35fT5rpEhvd0uf4rEjbpg6Sy0OjLJa7_2CGnX-rTki6ezhLd52lz3gl1DLo9goYXFNHpdTEAqdAIWjzTWEuusADEHT1b6VxryyC6EMim_72gp_xech-VnSHDtJA1iYVJHW2Ck3jjhQRfEEtx6NoeMXhdTq8JQYs-ZUNgYBlSKFsmeh8OuxHKN66iaRZERb6bM1Sf194iew0TRxqvw2am6HwPBbWLyeY6qoDwAase4H8MiLSYhXXi99tj03SJ8HRRSLBu3xeX_248D4j4YEPXliZY5srXjpVZNAhHZ6ltyxajZrZrFG9yv3gvdfcjkqHYEL_65Yek7kJGBgkTYHqC97xmv7pnWAEkHvR1il8R0RE7bJ80VMS9sVgTAeFCDRLkIqHLD43z6fL7as4I7X4ZYy29rMAtf5XTbtSura9u-wcbuOOzrzJxWKmIZdAoznZF3HVoBa0yjLK3pcXd72HRWs9Rzz84BQ0ezKvAzAqBMebB9S5tlWueqJBxhTUR2RsmuTr_RvR1QFmdI6IJm-mAZTMvMrKdfeRMBZiOJQXkrcDzmXpWo4GC4ZbN8kYaNnPRI2uMMjuM-2ljRLVs_EXYoG7qeUT9Qsq3y3-W4twVh2MWFujPGdOjzr2bW6mxW9rJi3dT2PIQh1dxnMsUAgPvlW6QVBnLDTJ56CYqX2PCNs3ngiu7y59t0cwSsZDyiJZZ_AwxM8KzW-N0mT1exlLcG1354B1lG833LWnjsQQUxjf_HIhoUXeiTg-JoIaxbz-2FZC8YO1c13GUdBdGsZBVYnSYCdZa2oR3t5CZ6HVkp1K46t2zXcHU9bXQ5DPHGaP3FBTZySK89OtNjuy-GYTF2W5pXjL2-nwyA8amzOU6rmZ6RN8HhPrLgWQEn9jKlkemVS9OknDs6diI3x7TIAp-Wx7Y3X2QPCjx5SJnZtnl2LvG6MxlLHuwVakeSIo1q-NmuQZdYS8xUWr8NVPbR3y_n6nV0z5YVcuAr8FKew14Swziukw6p_tc-GAHohb18JpecJecNoPDFiRfFTdVhjJNC9yP8pB4z8DhaNmPR-oJbGnoKajYBzmlhpaDEXQKaEQdWCrW-6pf8Y4Fmbdp54dGuJUDSbL8_n8C4tZGb567LFU1KTaCercGsRRgjtxsxo4HyM5-C73RH-UozW2VrHEtpyeBzv2hOX0sIys7kMgLJ_QLnnvR9x4acw1yj29oQod63J-Whn4mwySqAE1JOHS1qLu9au7RViB6thNborbuTzsgARhzwvbtbYuHJiS3xhnJiK6ucoYRmapNOr9RnzZwNMeaX8vTMMkithsYDWDl-izItNAROzDbBRr09UEbx2fnEN89M-N6RmrrqBiBh31IWPinDpb3YXl-j44ksLhLW-TGjE-tT-BSPqyyXKI6gRjTur_XwcBxBTglkYPg6p1zkcbzgOeBjHuLE80UevWNK73y_ccwGIZx4GUb9684-NPPjEoveVerU-5-0Ehh5rDgMWtaq-LaBuzQpTQkCD-u2a8tcCkLxakiK_4oAMbAEUHKF8cBdZ03MJQYaZwN2ztQfLIMMtprgc-tgQhVnPBuS2PtZLFNN3wS9m9p2vdMV7ifFpB2rxdoLSEOD7DQPgZHZj4itjyLX-b7wKANxy8glFm9EVbxFlH9PljVujFJIv6jVgRAkwnN3QPDTgmkYULzxtRs-CDT4nQHnWP34A_DfZuKMgTj5SDD5vrs_ZLsZ0_4k6MDufKwAcXXxAJT93IttlTT9xIG70WZ-wi4lr9lFM8kyfDmS4o-d19xe4IQR2LZuwCT4f23yJmLPcpZjdQArrYRG_XkzEqH0U8HRbZcTD8ExqmE3BNS1t3XM4_xGA07H2so7254kq9eH5ABOXeefVHZaeJa8j9o0f3d4c_2JvSfoUAQ0D1VgMfBy_V09DarrgVEHnLvlr9YpxPwfdrZdEwOOPNMT84XR2k3WNEsR9BlqmauJQd4OX9ztwPsmribT63AQIxIRJ64ES4Xqg_ozqppUroa6ZLsHpbfkiVGRvQ-uTAdfDeGkS1xwPi_wRUSma8YaOpz8fiKXe_IA6EbodgL_Wgu-hljYNaHC4Xv0OaesBSb752WKcWnpQMl2hJKybrbBuEcU512rcegICZ2CPbOYJ0F7KFjZujgf6CRA3f2cPY_UAzi87GXEYA94duoue6IFgrHT_DEvbcu-UQRo2MMBGCCd3iK_8fBwD61oTBP7yeojGHflnRVpZxwE2qbFeqzjYNpurY4ZTmf0DjtuMd6jL4sPdoyzd2ciFZ_P3lvNw7HLk2eeub0uGHP_2YdeKX0-_3mCVBYU-zmpgmEPuvtr2Gq8_rNQjbyRG-8o03nGTOlPHfYHRksuXIIK9sDWgqbB76Zn4Kvwx6Sl-mZAfWqnSw6f9hYMY0JJVgPreuzfuBV4Ai0MGFS_XISztIWiRUQTWW4itrOWneeSIzaw0YRvHqIcish-TBPw8vkdOolkDyEnOTW3GsVOXy3eZTEtbWYmhDN5mtCP5NK_VrXqFOOrw6DAYNNNZY94-kJekFQ20PbgbIvQPyqbmd4GrZUOFT9fLyrCyhC1Cu02wRiIh2Nss-8WsjXGOU3yI48IfWkyoWtZmRj1Q3RzgGKBYTzN9oZ0L-K5UCz42amm6QDgLRIJ1sQdlLkitOoIck7CH9sBLxI_ra_amglFt4QilpROO6Wb6xbQ14bYGUXVxowcL2AlfQPZPdIFbPDrH4Zkx2RC9w-hrzPWEsOttJA7El_msb5pXQL1wfxzgfroDnP34fF_mHXXS1nqad27jM8o5ImpuBYqckp0VuBjopmKyNvwKBZsFgxg4ihwlQfUblu9DGAUx3noAPOQ3oEnWnX432uezLhb2kgPActVR6hbwxWHveL9g78Vd5WEQZF5-x1YgVd-Gaby5XPv9DvFp9h3U3ZqH-As-FFJV9Lmz43yvS4AAfkMpMjZDRxfWWXNiQJZzdSkUmy_LWJkmgMVemhxrs-3KGyhfeyXmd4jJDpP5eyNVH0V-pJudUjeeaClFNi1DL9t7ZsbzdUwEphIzHY_XXNmZhnGU1S6dztApjFjFlqUSFNeNuxbbPNKf_KouqQnSCyuHj5DnZ9yCQgUOvNSzqxmBUuNar1UCgmWYiTxbcntt8z7s-PFN9PTwyaLj13hk0AfTBnLRMZTjXd5vyAoX7DIcu4Pkt4oCWa0bipgLX4LWp7juR7py9JktFV8bMfQHmNyPO_KIM-xqv59mmEPJ0DIUfcjKTPqyrsj5CVSe-P4a53dCCLIKh3AVaZCrFnha9-6s94OuEBfBB9yyO6NFjcGF9KcUgYecmlqDF08Or639PNe4uIfUWYFPCcIHE_4AyxAQAszOlvd9FR8Zn3ur6N6aADhXbCtz3Pvu7_gR2YoJVLpMf3-ntZhGjkED_26Cr5EN-5DX5hTn4QFczHbHBqjmDVv_vWREksNJMH3N8uoA94TH7tFdkSsx3RxWcJlmKkVS3UlTpbKS5afLTnTssyjBunk8Jf7Ht3OT2OoM6e4YTQMqjCgCK2xrgyj4_Shzvnt8yYNoscGkzXdaGJf-XaJt-tCQMGSzlDCqPb5wucdiFLN06zQuvG3LbOBIkc5E0YfjOXiuU47L6MLP4GnUwRxxktTqHKxgidQHHEAsvobHy0-j1sVneJHWNQryB8anp-ExWdpqkoSTLlWncl0FVVFQjUCtnRckLWIQQ6LeVVxCvrG6wmVhjlvic7SEDepQ2iRRDqapB8Rvm5-2ReCq-1WlyoxoKYCQrcMSb5I3lvjO50S8zuSFnkuu7DityzjA6NcW18GzlTVwfEZQ13F4DWOD_w8nxnE2-_5mVraN87Eh8eu4_CBgNaL94MkOV3uJpMWeJrVJ64w71pwK9Qin9DTz6d0ScpLxarlRpv57vq1aK1lJ9cT6GCOwYSfNwo9-pxVdqs8Ip3Ht-a6dUowv5A58S0-UWDjGQdaqjMf5bCWOimCyCbgq7X0duILux6jqcDunEJAIjs86bVgH9isN6dU3y7nQSaTAzDVypHC2O715SHOw1VEHPxhrcjeP037qC1-dgMHh6_En4-iRzwJ2EIAS9tcH1i_FQw5svQ19wxxjngdlMiv7JpEMuuD0Z69Baa48TpqLjs9G-7BMIWbmvHcyqpY1_bIgXzlM_hRAaHmgPvzpnnilI4kpG2AqK4Wk7W2CW8SWLcuXsoSsksFgPRxg4dFI6tllF9tAWzTmuuj4fh6VQeDtkS8HJBDpqX5xW5-EGyTNfW7BQ8xML9lOZvVl8c8QQ0mqN4CAU8NoP-TDYzwES_jYgzw2qYA2vEB0PbIl6-7G4yb63cOyjG_s1EUYSgY9n1LSe_asK9FZ7z1QjsezQReMRKXul8bItH_HgTDnCeQNK9tgR_AOUeYOsFe5mgapFPtTjnCljPCZ-tnz3y9laQPe7P2GhOcql6T7mcKPMlo0E9IobCAfnMxZ_A0UxfREFkZcOAOsCRy0xIEyKKeA4jv-S-zys7JYj0L8elkpZV9MrP7-n4uemt0bCYHBHevxEFNPbK8W5pGAQMm5xtYN-eytjeHa-l7BYXZ-yyBC4HB_PakccmZSK7udwD5Qyo2Nq0Uh-T0cqqyXYDPAj6wc7dKvp3FJfGSNz7tHzrxfVybIFiOZQEm7JztJb4h7otQjZd371QRZ_BkOyonDCtZGEqTI9QA5kOMFFiPF6wHQlPoPtUpK7NHXn1psr91F4_JZIoHE8a0y4_Ag-AEk7vvx4_V-xFEbHjum1In-fBjPvb7VJUJ8ItlxEJ3fO4bPHb7mGcfzVJWJBANJHe-_gRqnKIdVFB6uhwH0E97WQ_K_AMlAexXQheShZoXzLWolj9lve0ZQVpMSDK5eMRVXUBaIams4_Imr4LF7j1hM9POi0Na-T4Abt-lVcrx_G1iG1xmf9t1Rnj_1cX2QiwGPtROxyOcxJE1zih64OafZ-LJlHuvZ9c8zXAuizJexDZliq64DqiVMZTJolR-5XE0DKAksxj3oJ_OTLU_iX_XiUn59SV5OVOWpfMSPLstWzUGd4I4zrQkoYMnWngKpiTNOxYZGKFSwSxYaJ5GtH5yEN5yfzEO7EQEEzB0qmWT9-nKjAEKsRQJ1Ir1rVI7J1-poAzvTmSeFUCca_GQ3_HfilDrH-37xuepl9YY48eHkwxkSRUTE8T0c0Fonc34gDq09Ob49EHkM5o88OfTZtAamxUKizNybLOwHsR0rdonQHAi54Pw01WJMw17iSTWWx6y1-ECg5rX0RWknl2j6346MZOpTfWPZRzHxsNrCnkcIutDZSmI5oe2Y9uC6QMl3XZbK9PgN5CGEAkohBzIset_7iztM6oQ4EkCxnuuE-rrbroEMoCqW7c4pgOA35JL-09-uR0ek3TQG2Ttcb3b4bMqk1bcn9oQBNLVa-w2DYTMfG23FKoGT2KSvlYsALvZJIq947zwBP09SWa0x8I0VB2MtNx4grUYbqi9jH_77BbXaflbKj_DpIUgEyOYTkiMj63084o2Nlxcb4KHQzJwrCih4WSvCEw3UCCfS-YANaxDzQ9zWaSgCkFX9KjXEyBT8brP52Qfv1jeP1U58nx2svuaPZp7o8a1jEhWUY50U9Il2-HwDKqXCRNTIwrNifkpgPo8t1dKCxrZ2XEyzbWsJi1ogHtAFuwuv4hTZvUoJhQTTBuiWQHeu4UrMs97fvcB1oVIWGVl7nEGhy2V2iG_TIBuo_zi2Vdq-Umo462cCIdTPSr4SQ7jauR9mbtYpfcNw6olmdkE0aK9EcIjnns8Wo3RCl5JxT_9kdClzcU1NOV5MvCWAn4-bYwl8rJMYlbMo8H5tZ3yWiGvHSuUEVuyQnkyQCN6pRHU89C9lsD5VbaHXXn3uyw2aJZiWvYPwyMeIltmM0dTdRcUwMzs8iTmEg5BtC7_EoPY8LpnRljkXHKqISe4Sm3bSRTI5ZMr8RB9QDlMWFQKSZ1jC7v2cuhO0r-vsTMzDKPe1be9x7B4YCihSPjnBt-Tdpwvh4pUDf2jNnJTC7xQ9r1m7TkO4vMwKXYJMuJ9LYRNVsQDFont_O1UU-kR7IRam1Z0kPMPZiW08jtZMiOdTWLD6jiit-NC5TmHEZzesuRPBmR816Pr9XMRlJDu6jHHjkhOcW18uKkv5xCzBVLUTizxKu-8WTOdIb8XgWUFTIPG7nOt3A1R8MohgaxnaXnZQcfdtIRLwi1YwNime8ydzhh3uJShZL5sBDZS4_WEE6qdfXNtn8w-83TTYpy7fxzjsCYjKAJI6RUTnP2lwyYTWw7hSwuwXOCSLuyKRM7Nj705GqGrjWc-Bhc73-518GRZyaNRb4F0855_GA_cMD6QCkuUdYAdMKf0OBKkHuoyBErM6zxOhuzB0n-x0Wd6fLt-_-G8trapLSNt67wpzhYJeay6XVKHujSxWZJFamtP1apUcJm3IcoiQaYKGk3i0KzRw2b4Fv21GKlOIylYJ_OA6DQGJ0-XRujI143kq1edmRtR5M1WUNjfD1YqnDbs_WIUZNyIxm9d-I-rNLbsgSOJ7VlYNXcZkTHUJQ6kglBbFlMJtUWYGs3iv2RqSfJiky9p2WsQighuILCfojasL8_9mKUrWLctA8l3jEOS2StnpCQIDzYtVx2kF1_ZKP3bCi_C7zaQ3EpEED9K8TcUEZxKMixznjRRYgNDs9yLpLBrYkKJukgTjt33OFlLOw6h9PN0aCq41aHZnGJ8HBPfNMZXBD3zMQID0iPsmtXNbQHfbfSVkuK2JbCFIRdNF3ED55d0AgZ2EzAe5lT27fX4uakW846cZrhYwwNLZFUuNhukKL5Mo1foUGIDGuluigKqHEsVURAo5EaT2kT4AJ_1h0HaCffIzYvR-A3X1zNLr55_3GG_FzpoMQn0R94QRrEfju_O5YkZvMF94oUrJ88OT8EX0ecpqNK9VWVvP6ydwDoRs0MA9aUBxTjedlBdxMih-xWRzwdxbLE9CvbHwqb32xLKElsJwQdb3bI3MSV0e_SFvo7SbhTkec0tw8g8ddJgUCLJtOql780THB3yVAQNb1hovgILOvQPa2-zthwV_PgmZHO-3Cw9FJK_uqjQjkkflpbJ5xI3MNS8gIR88bPTAICQBLHnrvY9zKRjwNb4LiPVjPzYmRzvhsECy7IEbVK-Up4NpxLG1qKiQMC3y1TqLYJLGVxJvXi7isXzONYZXKR-Z5xHD0vUL2_AwlbN7P_1N1Up0m0Rnc8hDjtnyB8sat6MDedytnwKPTFyUqnaJs-BVObbrKNMTGNZSodJwfzLIM4gyXHfUrFdZVpboLjgnFjrxQfoVQxUdBxiX89FoA20YpeFSWMQ-E6pSvGarJcVmDuZV7Hr6C8fwCfxmzTKsvor1oZ-pikLzJckisQWl6mnyu0xhmw2rGXyjNygF1dJh4q01D0Rp77582msbpMSHkqXMJCnaYVrsz854y7Iein3jm1321VPP8WTRi2Eki55Ktc1-9AVI5lMpSKR55VCZcoN9cIT7JjF1gMW0AUkdkEQI65zMD7tX_OumNuZL8uawB4Qs-mCq6rINm2lYYAGScAnjH76M-bvOIac4byajuOWaFKqczAN60Qok9f6-xCFSlJKBWZctOH_R_VeCWNh462EqNGVKRvAMs5P6EX4HbxvoG8l6sjmTJY7L4ePIlxTh978h5ZKeNSCKHUTeYqxH9h64qGzROrbtCzRPagt7zRbRTYfzKawQPxvo0dFTLgFjC_rCmXxdseeBTrBEKT4F2lrO6JLYx8VGqU6cKrSYWQnaU8vtBCFXw9n2suLjTrWBSTFV2eQk-HUX93lesp5tOT99flWFRlM6oAMdBKkCcMDPHQf8oITC5xMEAxvH6SaLOgEbuePklq71CTpDdmtCIbUMtuBA4d7jcJr8558vUdA2-9TedT4X1V0xGJEPo3-eNCUtWwHeM9WosR377r_bn7eUfJbHckoFwSRwtpL9goqntMbIA73FscM3uo3ZZYBcyPCliIpJa4rgJRkAeH9PrNsTR_S19ciaS3awRJz0KZGT2KuID2_FtN-39HBDJ0GkfUUtFuUCXT2OROjHXhcM4vOpAGf_6lQifnuMTnJja8_1FRBDlvGbOMSwukM4yAbRJl5iD8sisbFF3vVWRhVvKE5xHgcQNlXI7A4H1Lbs3lxAY134eFEgMSruIlPBscGFN9hOfhS17pJvC674uSawX5wouAQFi7Aqmfl5JjaeVXP0CVLIwriOXDd2m-UaqrmBWov_XHPigU9-DuJ9Hr6MXP9uEZK3hbqmzq_vvknS5W6zf8hWy8fnlBfy8TwVbtbTKuag4SPHnE-lZJtAUCiW5sRYbebbon-TGmU1Z4ExClly9zOPyaH75rKJNpzPiwaRioErdrE-Dqo8zC4RR_hFawMwyn7-Oj4nJQBqYgAr_fWBS0V3S-kdkaIkd1iFKquZyhUiCCILQ65vsAot4N2Nyuq3bditFQAiNsdGFjXgqKD98kA_01gMnKVfBmiRGQU7MlcQ6J7rZqFdLXorh8SESdEu2yO-tLDi0iGnrUn179nXFQjqktzJPAAQTbMGOGErc22yJaxnbKrgetf2BNcYSjvrc4yplKp-djgSFvI1-BWPYSmFp-cTpGnksILVN6iBQ_WEdgCpvjmWJKJ5POAqZigAj1v8LTgMHSOry_malWygDs9HLjYAzWHwlLP2i7ieAZNFCaf9vldi28fkYjlmnIQdHG9fIEgdZF9k_hmJv3A02hYAD7Rjet7zRZ7ZuH5Dp7J1THoH6KPubhxu41Mdng8TJWKIWwfszpfOtugAYL_0gnJSH41a6I_zqUhnC9xrP4NiaHkJ1UNkMdQ5eqaN9Q0W1aok5UXnzl1QSObId4ON913c0Z4ABqedAPQI2M7UpargsEK8BVrwy0hBfX0myX-0JK5FFCBUGhiZ6idfU9UYnaJiXM5sKLNYdVY052LSjuIos8q1ukv2ru33zjrq0wyPyMBwYHADEbKI2YTsXcIHb1pzni117YYLZ1Hsurl6_SIn18Z7kWtPXfwJn7TND8J89xAkTHeaH64-f3IJB132EV9H_5jcOsmMKMLaNz6prdIwLWrsMBjvVWlzg-JW6YJ3RRstXvdJYZync5jPN1nwTLAs0ZkdQyIlq5KqLGu9P3pq7imxqRb080rJTtLZQeX07hzVDNOznE_7lIqxY5pomZG24daqr2Efpn73hDc8yhYYOn5EISCcMglGqpvWqqyIQkAPr7GdpRbji_ike3PRiD1QiI6_XNuW_GGKGL43BMfghNMDhf9JFazO8Snd0JPBI6ifSQfYpJDGQCDr6vnYpGoxx8vxXnMMtMQbMgLzZzmBAuqahqRdvi7igPrzQ-VQMyiSHukdbMWu_Y37WDLxK9U9XdEEdY68POfMkXOQ8DKJMnul2svzpgYexcqGAf1lmpFDCt2eR1X5TS5XnUj4xmnU6cka4VVywlUpMEKBmMH2IGtBj7UfFOKoWLlmCE5E7gjQ0T2m1QBWb6g0uTCuLV0nTVGkob1U9QtRLYWFzUbIAortSR7bjm3fb1oRgK9_rdCr-rTP4pY4k3OQ3bvGb1KH_bU6NUEgO79ogbSKfKFNygoz3upSEZZBLCRn-ABS2x5yDcPlEPEVPHF6gA01IgAmOHekP4C346WoQZvHLWrUOelkT2y_MHPFBHKMKPAVLwSBKhvPlD8KRqm0pc95U2ztdf1vXvHuaJQb4-_Jp9fNRo4mS3ybPD_UKri8N-7ohmof4QE0fX5EskGR2AmwBNjzoHlfTuBUnTXrRWSfZklx_DkmU99RKSaGOr8KKKxHw3ISoT1M3TZil7W5BP65qS7NXs9ogNR1m2HIlMvwWaQCS3c8lIDmjdZXp2DqvVT6-Ezv2qr91QUsfky4RxRcB38k8EHTGbA6rwydL_-H6CERuBoG7uHHLpxD2QYzlUPwPOkcG8hD7DcwifdTfl00TieijAJjqGkL8NiCoGIChfiOF44MfimDYHC9GEu4qAyf7WJhSv0jvcNO-SZv11HWPRW__QkKHVv5B0sxjsuTSQL6vfYT6aRRgdkUvOlSID4J6A-djQeITn0qK6hvn1A4W7Pdu9Ukx35YUuS2rTEwsna4bgyhEVqeQv4LYEyBIksgYkFWFeCNX4W_MVWTQGRDipr7G0mQexv3EuqC7aBgihNK6rVzWgSXPjpBdiCL6ltfaBjfW8pC8vT4QES7VnC5ZhIH6kYm7l9afsla2sVYeSGtwGmyhCFW_DvtTRHSQw6xne8oUCWCbYJSPXB-BsA99i1QMKMbyilvUZxBqOqWeHLsvZ8GrCKrHianPI4PvpLkCPpKmG1T38t4PezS_XzR166MwyUZ3FdWGQGqsoKw2rOs4ZManJry-yhpGBIqHkpOVd0VCtP9Mw4xr_AWUM8jLl4ObMC1JMainX_-MmOQsLB7VDap7w77PnLmm_H1-_mRURCtxNSjKG3fIQSLbL1qyw2oS8qIWPaDkz7RUUqxfOVaUz0na_1UUP3aVpWlR61XzwQz0eDMA1LbuYD0jLhOxDvYG9buKEG_7F2vn83HRfWFiT9fNOzetAMrlfDpiesSD3FufQ3uJnfhMGfLftTH1bL0SxkjvLgskmTDURT0sZZzKAAatyonL3VZqLc0wrOpr_FYacCo7aZvcD3Z9UM3hIRtDi6umLtAveJyosJk0yXFe4d1WlL5o3FvVQhKJkSZEAZebZCbLiMLBO21LbCoErhCZFSW8pZRyDQxgK6sYy8QeWmRnbzZNrTOtC0EfO4Ocddw1jf0Qwcoz6ieGOnewuUbMOCsmRpgVZzjvOOjXhfmDBd-ThzZi9CH--ogI9IP6lI331ohYNrUzdxdNG5Drj9f1T9U0_N-6jt_spS8rqJljNHjXGNh7Pr4DEPV2_1Ol0JQmuNRPcwrvk2qqQnmnjCaA1psZuKHrL9w_mc4wwAv08fXKBBnxeSqILJEGS30Hudjocf3OFXrgt4oUSuIU39xWZJVPg3-qNzmtRo6XF1_L3rqTcNNugA18ppSKt36Zm0nVVYk21_5QfgZGS7Gd53lrAix5aI_c901flG8YvhJisL6GCfnvSby2Dw5QrzcGC3vtV6F4pN6FgSsXiP7SwlVWQC9VzV4NAaMbzsHKEDx3GisOBLNlJiwg0bnJfgl0XjIfDd6jz4uLsP6Ktbg7GJwFsNylhoqwweVUs3TirnqZu-8rP1XwcnbcFkB4j_BFR2qIcn0OlpAKzjUArTsVLMN78VRwSYTDRlE2xxeaMLXxgZpJQ7vkJQb868jzO207nKF5hM9OALqizX7OeEb0wU8qBN_EhwrmdDtuyhTUpn63sI9nZ9LM4Dwv9lcxF52ghyMXiiOunezUfNpJsrCHjjEeYWpWzJx2s5mbZcw9YzvMDM56AJWSOrwEAzhLoCwYc_nJrfSujW0A_hdgh4czvP52wKUL6NMKZVTRskI25Ufa0bxOmp35q_taZ0A-yCYHTar2Rg4dIxwJdEHp6j9UUedGDN0UDamSbhHy3txinl969GEhQluDEdsjsrCmqqpcejMBi5Tj4HLJ1a0MjDin64Vsz53qRvhfP-t7NU30UkykjKG6ZKFOL2plWtnxlAhra5PKC16SxdVTTjFGdeZxjZQ6T-dSg71wedH9iPpcIcSS45kEtdptrFBBd9AAop_3xikh1xYB39oCTeM4djyS1r_uqDfDFN9lGHusCYVNuIu0QLE9Pz_gKBkJimHQDU0alJ6t0qEqGyUJef0gaPRwXCS2ySL0p539Inh0D7CNPVVKU455NiVVtPDU_vMu0ANH2N0ybKZxrZS229kY9lDexBBSL3OP8VcCXYEZ1OPP4bDfz8TkNhsNIQ66fPzvFCE2P65Q9nIFZwNna1s0ctD6xMFHDdnvaQJ-CLFdJBXx2o7MXpTM6P4yew9HUZFVep2ceNfebwFFIBPgH3LBrLoeqhm6wcwxV1q71JzQFmIvEG9snjZBtd487JfYt8lymEPA3U0u5M1SmnGnDcLoCzB8jfI4vZRXTA638V95yDrJTDv4DZ-q8emB8oGJdkZD3km9ghxOG-8gocysd598GvdGPpLBRcX3KJk9Y3GQl2C6x5qtCcNpv-qkOjj3xEnbZ40gFBvL51TRtQUchPo65Jr2mp6ePLLe_zFwFdeQv6Fdw8wsIvbHqr42R3Agk-7yQ_1LHNJNV_3STkgfVF0xEmoCOUVINwkDgUG7towut1xDR441If29HDXWCEFwhd_cunpnEI9QKdShzhoURVXDHmwLVznOsPvSLudRxVc61nkveLeqBlB4gHJulaJLgEZnVFybNaM27HMtZMUJOrwbSOaixFJZzBhCZmsj-ALSOcySvg9on-S7N6PayCdvFbYEtM28KUcn_krGxZJVTNaPZ7qS9FWB_colvIE8NIeygboGy-Ks6WAGgJbZF_ZpNb0aaJlOUIl_pw8N8q13OsAqTQ0RKv7cRFEGY5MchSm3b94GVJSiwSZfYINvixMjN0DFMG-O8p_U7GWt1xq-7lmYxlhrMenpT2t-25XstUUmcLBvOLjV577DGRITtRUWNGTxXqEHNqj0q1Hm0nfCSlndLdZMTRpT_u4ejH5CM3hswvq3yrbIifbihzt6I5Lvl7qEciCbej2UydEl82Ch2jK83pHHiczQZ1NkR_9TH3aPi5DCNJ3Xwl5cbJzXbYNOi1BNj30R52Ppu5SJVMPdEfyNU2MK5NvpwDH42fp_Kuc70dF57ouMaet_12AbeGK4CLN8hFCMe9qkOs5Ef2TIk9-WXuD2sWj_AQEwkcAspsWGoAv2Be31VdV0p-sP4m60q2G26IhPq9rf99HWWD1KCCL42An_deWd4t6-vsmPkahtujllGNvEbBqfD30VtVE1MhKmVQtJ5t8SHkLSLHbKyt0dat9VDTkkIqvUNrbC8iRUEGMBuDseT-LHaM_y7pTtwNVJHBS-lOcqIi9zAhVl8RpRrkcQySXahpmlHTLEcFv1ZHy7UVbzxyr_TypoHCFTGveaJqu3mwCefbmJji4EsCkT-JVvzXgNwALMyY1S0LfoETUCeJtqkWozJjeP0uJuO8rfz08JuXT8QpcRxJoLHVcNuChQ7lKSHEQyP80oyulaPv8AO6QpkQi7G1x2bBsN9IboXFN0irkGjpexPut9lMI2YNYd6bsOIMY9zMy0F08tK4ZyRXUV9A51LAbLnJCjOQ4lwzPIpbv5Wt0tDj52fv5Y2oswG2anHDrpryKepTmUKB2qh5Ao5BVa-u7PQz3xrtVqke23QENTW9TdOl7iXzcui0ACIK1qYeDTCu9ersuOalISZOgo-_TWq4p1CXgetHIQ6vZHM75hcHhN08zE6GR52ves_rPdXKcx-r3qYl1yHKUAHNzN9Vlc07hof6R3DKgck-OVInia0g49HvFZImPIUWE4UKXlWwR31W4F2VqZKYHnPTQINXdyrydPdleFboGu-b5g2ZPjIAH0Fj9BpSXcK-ybacLQmFInGhv6GnfygtBkxmTDe48GYbeHVXC3UxiFU1FVW7RN7tKC0s_elWtTzoPVYBN9OCw4k5kRqsFlkobZYXHLoamCwWRO-LQHrGj8xlrJIKq7E6jsXrQqlQ7inVPx-jHqYm4RamsxrPFXlEgXulV0_5GZAmNiLhUAX2DWqCenJXLKX4tJx9q2WxxL1Wlxv6S-_QaJH3pY4OHjfVzgLWJd--oAUB2z-MSLEDV02JMQES7vg7hwSWjailWkprbJCpvmVpleGMFXpHzMCQF8alsra6EGtAntgc7s9aXKX78fBbsVgBWvqyD8ccTtZ3d9swll2cFvNOaS4NhigC2kLOReKmXhxjb_SqpUADQiY31rnPUXxuf0_x8lxcndAI9_RHQWOK6K4rYRZi0C3M0pamTns9z-xVfRdWCycjJRUEVrbea6gpAR7bfDFEcSDA8AUiHtZw8HMey8ns9OlJuWnBGuOpPThtdGMzIqOpgRrEBFufuJgPJnh5USw8oHW9rryedtSUTagzkcyZUS5jUguASh_C70FGtM5Na7t2l1s5SsE2vbQ51ssBHMEfe-_VBbbirUt2Bp6mzl_uN4sIKslB82HgS2Qo5bUKdXg0DPVDttglNneasNkL0K6iQo17r76fngGXJVy51s73KchxrfKqwbuVtq_lDHpbtHbY6AZ34PjgGSVweUTdKFUYqeelcHOLOKVgFmNreAHQHenjbDulymAktQsnj5WldJWvovXgv4vVGP-6eLD6wuKaJ4ieP98IbZmY4Bey02uvU6SXjGrDmF0dt1_F7siJHc6VzujjsCCXXnfTaLNQDL7usX8RJU1VQZczT45S0J_MwVf3Tz9RCNPYupS1kdDbVChA3aiqNb_2C4vBvFlT6tZm80vRWyEbnP-tfYmI7LQjI9it9rKkJnSoOYke0oUxaGTYGxTZ66CzxFbx4YIVEvKzpjLxUfNtrR7lNB-xqjdQxmg3Yj4qoynowaxKKi6ytT4mjm1DYAhkezazgkJ9nlo6h-5lddAqIAqy2mjnTZOopa6uRXeoClk1lbpWf03CGrmZKoX-Aulwf9RP06hMAdZ4WlQLG-gQzmfw2g5rA69oHqMeLv7AJTWqHnknWYqk1JvdRbbDKNmkJqblm275M9OnC4hRU7GmegV_jmj_g65fpSwhXXY_4GNags323qi-qfS6GREbQkNr2ZSlQrF3G_3-kMTLJZ6342YsJNhMpolMZ6UoCcy0lSGa50QDFDm7vpjvsH7mEG9z1qFQrA2NvY5D2z_lGN9TR4tFVD4VoCa86WMk1AI5Fdp1qSJlQXoBy3W-mulq0FsTcnD5MUEdIEH9pXxb4d9yIR8akyjvNe5vUKxV-ad8L8UHI2lJTuqlQqXpmHlUt5kgewxzYDvxHPpFouV4kgYBEpODqn-YDstXQ2jZsowlDHqAyFJc2DpH-XFJJWsNsVGz3llAqXuHhJuC2PBuN4rHJIud325AH4l6oTaZiDGUfPDUvfr1p1Ji0aHumyqvVAw1b-40ST5vKN8efdlktH6Eq54xtc-f4Vrz4-sfZS1_Z3Tt4iN1LScXEOqYYpIbLDUEj2-2ltFPXJSFopQoYQAsDAV5fSlnIOBrOiNe38X_6I0clP0UPg3S36QdoRLbD31SY3K8AUCleQbvdsT_evwmz-nVtuQxiU-9y7wT5y-5urvU6J68rGujHC73U0URLWtuwDeXhKzOkweL7tDOracRiU7euJw_TKkcls9gWVVoWmaguvd5M_lT8qQ-VyWFfWDbDDY54Mf3K_LkiX6HqmnzP3QyciGjPA0gBrwVZwNEz6KX1SsvmbXuG2V2CpglaoQtMa-QK7XxWeE_BpSNvkyrbARE61vQJxio5g7QgAex0dKiH5vWhQEoMHep3T9On2thp09VnNv4ENRO2ukyfy2U5TwkaVCdd4hXX-lDn8TwWZQAzlz83EGUjnrQ3tT_BEjvg1tSYWioZmyGUY70BDXt7hWmMlUIoMBn1-co20iqET2OZXfX-oSfj6qYxOFJK6DQ6kHzNqWkCF_ZI5XC1Jmz8ki6oGmkJievi0rac4qms772pBkMJSTUsHfokmUocAlXvFTgRoo1xSh0B9dMaWtCxlTpCSRTlTOttSr3WqCkQa92LQQ9-x4thE1gavnRSdUMLW362USI1BA4uB-nJctDp7rvdqAwu9Zp611M5yk3rqz7yjaoLR4F1lT5w1FDtbpdVbVbRKSKNZqkJGNSn3-aWF9QF31NO-Uao6zFRdjX9u95YigN5Afq73NCYQj6Ca3mFzhrfi5cKH3V_elxLPSrjyERrAPtdwYhnU6OKDdlT0A-tylWf3KbQZshBVVitQCIoYj4MuWU0eGW-mTcOZVGKxyE137kjNEZcHXQdxE3B3pA2vU0KXdAuv-yx1c7sJnXwPIiFtXNMISWDeibdFe_T7pHxYMIZAsbmh2TyGq7E02dLw1eXdGM5xJa7It6qADRUY4sHepNXrpGw92a1QLS71wPk5nzFpvDCkNTEfX2uf0bo2vKlFFh1O5e_i7wa8ySwluYu47DeV2txmjKxWCwCiQpda2ROKWCbVD5Qc24CstgTifoglqsq2-Yj2M9r51gctXXycqKyi9tTO6YbotmwDZclBtBcp0SSTvu6Jhje_-P4Lc9i_utZ6nybG1Dngniylg0EvjeEZmQqYggVyp0nEkK2SIEEJztVUZX5v6-dvJS1ew1gv8QY1BGnvepcI3WF-nVuZwuV9m5Bi-d0C7GCl_Fs9YdtqrASUsHmtBJL2G8fCx_qcigmQyx4SAmoSxChcjPhxVMDms4D1Kzy19QjYGdZlT2YCBa6W1hxAwRl9lVfJLDnz_Tt1jT1biyhmyemasVLNdsqu69deISZ0xPURQhzLRG_0mCYaOV06SOmgNDTL4d6arARVFNzJwe2UtrB0VFt8_pnWJrTjp5ag3m_dSaHyFpYW18ggeaTBoWAqYy8x6f-_Ex3agtY4NNbUHV56f4-3FWBS5IXcgnsnP1RqbHIkUm5QoFxuL12CGqr91NW7jWipVHU7zPBpqIpy5wIELzZz5G-7-9RtUDnl-12xL9-VgvRZd9Oiqkpb7hR_eBR5I5hKtWan8kH9e0CaahS0_EjvgJsMuIE2CETeG5MxX4c3IRExOI1-iW9Q-wXTfHJAhz5XaeGAXTN3yY4PHwX5pDvkabjw0VcMRYkFcriRi7Kmk4ZEHt1t8dGxQ4ydS_ccMnePmIBBIX9DfJpTUK0o7oyX8ii6I4UkNn-2HU1Aa1YvycVdQiRw7OH7IquoX0wVvJkRnT6qeyQ4d9tunXk8mmP3wag64rN0Ie8t0xpPspW97XMllx31aWCqofXkIGC7VCiF9IFGa73DVKAl6mMnGvtCKVEnYXF5d1hDl0dI3QXU8De1KvtMyWTZm7lbhIoiYlLs6cwEvl5JeNmGd7TXLQko2qNSb2iylmUWEqSOMY2laUWNrJlgmrEcgaafFdTGtvQKPoTj8sc7uara1JT24jkU0HMq1M0XHgLxxtFYqIdNeU_LX1cqqVHqpo6WWX6t-uHgGysF0_hRU-Ilip8ojgwRlFfX6eJ2ghup4U9kVB1LWmGOvTZmFDoWj5EAGHSpqcEgqmhDvXt5gb0_LQgmQremTrnkHOya__JkctSbDwIGXsthnk71R3tRJmqz7zzje0wvbZvt8wTV6cGjJPWVYt4rzTGV-NBfQqBM4rv0y6s6K2k40rYVrGqYb1z0g0lKzuAkOnUimll_E1trfJDTr4lOq0NzzSlka9kHx0nv_cfTzlnZeJoFjuKZXOHoSZ62Tb7hobt312GpxNDcWScSryi6JOoQ9cD7XwssQ4ENchrKovepY_JaKFk5nc1P1MiGfNLHTnrLq7mjPNSkNrbDWLY_gpi0s5JaystrcXD6iMO9yHXumCzTR5Pp_c0gHM9kpJ4m5uENWU_DNPqVe0GjbNkyfP-hgHcNT9ELRRXIafpCjJKkXd1IvHrxrYwYdo0G798-ygC672_3a2oeXh3uRUp3bLfj2vQbUdkR3sL4txdCzPdeqlRfOVZeUNpcM18h7xUJalAjCQnmRpoa-2lFbTTn6AYic3HhbPSIAgOUo9rc4NQO1k4Ckt_mPC5PmKlwt9yrgQUI1YvEi2-6hcuIg5Ws4kpL0dpsayazb1JLSQlqlMUhKLOHwW3bm6LH2R7W6nR-IaKUG68yPTX9vap268NbBJ-VThNX7tb4VI2ddw3sZaT9DSYv5rAWT_arlHtyVk_WCrlJ12q5BnQHG_YUPahVqJDI9qmBSbTbmycAEMdoRtOujdUjdvCTSG4_T4ngwetPvw9K7t--BXOTSN6lH3XTcqullEPXFXO02L2mVp_RBqXQQ_kPlFHXpeNnO2omVuxl_D5_fnTwKc6O1Ck0338SBZxJyfosPXfVACxeVPJtmk5lVQqzMOiF2_UmJ8GCFhYsUnW6KEc79VGycbR3SEw5dBqTee5tqXOns3P0qHp2CmCDqHIuPqwmd2t7iZ_GmXRVc8CdKLx5vOcSb9C-Akfwwfze0kwgesHlCsVmi5q4jMlEaZxv3i6t5Pa0arHu70QdYSOW59QSeZ1yBvifN7wMqos2MShXlz7-BNpkg6FsQnHqAikQAiV8hK1qyIAwsIK6cJlbjMaaU3aweXFD9al7uLRFFRSBVVxFuu4IZxCZJjDViGXizKaEm4ybQnmYx1pHo_4q8eDmPPlq2R5HxEISxwJ-HifJkK0FCv9FDZ3Mi8KSLrlMaPd8mEKUe2Msqe9uWIjc-oLcC-la9Ul0dF87Hz9xHFVzflDVJCjmDAgcOh4FUF5vDZKF6xejv8mXP0nJKidtj7vXvGO55MBJXrzlqnWNXHhvx8ag5_e5yO5UqMtoxa9Va3fLMzj7bO1hR3SXbDsWY8pnVKT3OqsqM0GIBYTgOJUIQEQyYICk9NPYx1_or7wWPyQT6moDBWvkcv-2lBiucZAtrlXn2pO2zuFZna9uqoR4Z-tobIJpjIFYJqIAXeV9gf3kQqYk1Z0m5m6KmNsH5xGl9AnHy4FP3JmLdlhli3428NdSVmzL4aEtB-LQ1WIt3-BPraGVyySXjy5TecxnyM14dY38bO665fO3H08kqNaV96nUuYE62YCZaV790onGvYwUVL105Hre2N8Rx9E4v1W_HWvPj3drxdsT_y5eh119SNrJk15smDF4Yb3hDzT79MupMgK4Jp4TavbRa21PXRosPTYiqTmE2SUZfWPS2nys54SczCox1AMVhl3hL9BE1WfW4Tqaw7GsYvQrVlMaxJs6-OYEvHvsz_ybvt5Pi7hen7qeL0Dv6ivOh2hqXS_0qGbEheUk0Ivv73sYKVT7RO9hbxIJcMA-d4fQyiF1zUFGxHnY42cBHOX76I5x3XLRp6tBbZoAWSnCickxGNZZLtIyvV5pLLQ9sm7Q3Xj-d19Try1lFtYDqgulXuMqkY9jJbxSGvTIKhDoUA7TOP-BpxqpprRcnlBMM9PVMBzhB_X0C7GsA4k3Zm3kU60cG27Z2grDSD53rOiiVIPJkpSKaquO6R57PbxlbqthS_215_veyWn1vHWEN8IPyKM_NE2JVIEb-SSSoEeM1U5o9dOysNmZWkE5DFvapdZ7lOLyL7t_fzqVHBqVJfTLHQ3O6kXPXymD7rqTfl7uGUSRD9AUZ6PKxAD-ZQAkkdZ_VrbN6YCvsSrslZtO8yphynb8tjVRNf7MUw6d62bs0nlcXusKUPjTtH4SAhIm93QrWT4xaN_wV9VNIjytOmCFecHabfDvlCy4Jv6wtGRjbKvuqu4uyaL222okWkjpXyp_hs13WeLcnSRu_nII6UIDg0QtSnnkiIG7drFSFevaw_UVjs5cX6SkpftA8oANGWrA6IEO6y7ajO_PD_ya6VqUK31OKBLGNLNOxqNspetI7Arj-MRpe4q3dcEXCLlejWXEnV4b0mJpo5rrDGIKF3Sm8_HjKSVYUwufdHeFj1ADZlN4LDI5THg-_RlEc3Oqqo9rmXSos-AxwAI2Ij2WhI1bdWz1MRcGe_Th5evu-G1lk99LmVKgxe5ic9TQt8o9dWF6XXqxTMdvARSE4z5Zg72vuJPHUqHa1uhSa8ZDivHlzAG1YyFMVD617ISD4x7HtQTj5oNaP1g7t649l9qEifpVh3r4ceZjnAW2tP5I3T386rN39g24URjWgBCHnP_TWdnK_WkNzQn3B-Kchu8TNPuVERBGM10ayTc6rQJ-pg5mRJ3Meqp97OPSDkKZ43wPBDWY4RkXmfJ4gVZxlJ7vOo431QK4QQfCrPMQtQ6qeI0FNyHir9xXs6MCXG3qhv4E5IqkhSqJefTR-1Pv6xU96muItQ7OE8c_xy5_q3JQZ_2Um7KvNgtbNi876pFvI4nqFpJOWpbJYUZQmivMrPaVlFisSJgjk4UYr7qBacBnTG_jaE4k0UiW98tM--SENP039Tl4VlAIiYDsnDuJ2tG7tIOdpmoVFvX554aIwlO0FXJrWXxHT4x-fRwTvBU0qZnR60IsxmV8zeDe8Qxo_gQ6ghL2q76yyhJ17MQuNvpfE21VK4fANNmGCMM8D4WmUgGp2UAYT_3Y3UqyLlMSdeuv9INznceaC6eI87BDZse857wLICLdkjtNVPRUlLyOZlbY5G9JLTnND8m7u1VlWCMk41kmmlwBaU2ugGA6GFXSFmCH6oOcuTkVQ9nvrEFS9ChLA3mGtZBP5VhZAvAB3dL567Ao3qgK7Acof1JAtWUMYOTGhEeKgEtnyyNQ8cn0-j18MEXUQ0-QriUNRLno0p7zoFyYd9IvdP7ybTRc66pAqyQA-N7CJzmpXWeqebalDO4PJWYMzRQON2brlqUry9tSmsj63c2ZyCQbW8Fbl0VJtPR7c6CRJy-Tfl5tLaaLToCjspppoKHwd5LEs6PUwo2heWbiQnoq9FYZSHgyfQiLyHfeRnG3uvzswFYrbzsuPYPDzzvmw0pLmCXARlgyzILH_lrPxmVC0_cL6owGP6Nep9toqJzLC2MjDd6Hc3AbHtQaAzVUGNbYCv86bv377gCDYmWQrkLT_T8kmqw9gIuwm_XrGM8YOlsGKtdm2NfFF0dybYemLCOIOPlc7rnIgLlQv9HGovz7OgR4_xUPNbJ4r6K3xogiz_HpYjuoTG9EWj3_TQsnKrLiIbnWG8wAurz_VF1PNtBHNVtzARUeh9LQOT_vtm6NqI0bbzb3hkCA9ExlHsQFg9eNNzsgqqM2nUT8QaXst6fS3yvLxL7RsdWfaagqZxurfUt8_GNcigz7kMaUifrc90THBufG1--B1ECJSjtL9gE5h1TJPkg1iLK6LXzk0BNj_pHJ8FttAGVOmzLIHyHN5fU2hsWTY9h-1dx17jZOp6d1xVFkCk0fRBP1KRfkyDlGb1CuMDCBdDH7STcAl5kvOq7oeNRtqB7a1E4d8cXQoL9-3pCVJNzmINKjo_xA3IMRRvYlx7tfoB0CQv74skfH9yPYh9SDKjuN7Nm53FSaz2we-gHFeEztg81k72U9O5J6GYv1540h53TvoTaIvo5hMM-LY2l4CV9fIosXYzDSmuYrmfKS550zkF2sT9-4dHCWKLR1tnq9A3MlyXY7jQmBnvywJR-4btDvdA1Q_CnScTByZ1SClfNZlRq7LYUTKLX2TK08FHR92Hs1ujuVtFUJ9TYjZIex93ZSDTZ7hBEHzoFXZYAtv3xERpGAukuyBwr2QAt7vtZk8fpgLjmWmjwIUPcYvdBetpsdHOQDxqrkltTgfi-DPiijVMyXtG9hrX7TfGsAHGZhw9h8Y7jJocgOKYLUiqC6uZXjXTl1oL0w83oEBYwuIyMXDilwoPkbsPbAkyxO4BKitXreAviq1mawzzHSToDOGi9rJaSVHGzkqebeSoP9lopUdD_TXrPUsnAJYDW7vaDbA6PjeApn1O8CkO6g6lV4zWFylmi5ZGWEDY4UxSKk3IDQ940UYwFQrKqAUwEa2PCbcrzfZfUGA19Ohtxm_Cx22QwllaXB66RxWK6Tc2QxOFwnk6L76tEY7EfahcpHLVx0Yy8oQyJYV5WbOYNB79bDb19CUPM8qRNE4xx9JW7pN-LeFAE3vmZkXiVLE4B1Jq7oGaFy9KExC5twsXHuIWNo2LeCPXpehFAxsn0-EzktqJrY4_Lt7LV1q7HqlWJyO3VGZ8qQPugqGaEJu2eod7ZY6wnCXlE-8Uh6MJrO6lo47WdVN9t4_2gLcCKTg7tcQo7gf9nWRVQM3jrDTCvbb_fi1QfgR8Au_aJItzcEhAizGE4C-0JrTY9VLC1CCRfglxmh_aQMjwLOtwZ1U2NFnYOV33rjeCg4JDNbLpGGGkkMvCBgfL7yX4SSDD7K1Ya1xPMbdv5tpUCeEJpaoPkTZzfGaCucbshr_Usq1LUL4taShGq6IF4N58nXyPfyIRUOvDOh4EebJPBSDd1auw-z6eAEcR_c5dkvtwVzEbvpQtIzxuaCzgzefJY42miPWB4fzu-C8rNzVwAd7zB0At-kOwcuI29Z2CTXfRNePvlkUnzO9_XtlPBOWb7dxcKdPQKvJWd9QOEVwuXBwIUeBMs1PBThHQ8t9hZpvY6fGeHjxGn678Zdwc_KFCVsMwmo8SzAOTTXKROCYIusn0UVvUlgJebmimkt3tJ2BWnnFC0Y-1oUXS5395CWqh2f8I9n46-NlwIlJZQ2GLZLBV80pKQsLg93kWaoj_xpk8LZEQBnxBXi1cfhuUMGEDIzxwpKk1ylGtEPLTySIKb27yqGClloEM7R91_Vmj92Hg1fzRnL5q2MUGgbYTJXypJvh7vOYHoUV78dfVlLUQS-wip9bhEgGyGgut1Pa9jzs24NFhh39EyaVUgtkn58MdBFnJOHwcfEAmRo3X0gAJ8FBErHeNxGXWHARWjl4pbj4oecal8gaFnxztz4i7ADD-rIqf5GeFlv5fu39bk6AkUmBza4nC4qRF97v7EoriyP8HexrPYvi6kesUIro38cNedZ_dJovqU4fnYe0QEybEgOXPMV4GDDvs3S8tfLt_cXHLse5bsaV-SJTOyPrWGzYRAHubxA_O6tQQj3s3oaO7ic-r-xKMigWzicK8l0InPdzZI1Bw-EKyUk8wPyv36PtHddknD2TaqjxIfdhaC6k3fgFsyn5SIOzMjsj5MPqq-4btNlbf8uSHgskiC3PSeb-yxP9GG1uGXndddEFip6XrOfHi63Ub97KF2RNST-Y1yk058FFmhHt0b9IUCsvZd6x0zUr6pI4LHpiSiHt3enjhUwee3FADB_b1i04FygIc_nyZGeQ77j6gldq0QHXpGvOZxwHVD8vAch-25vM5Uoqgl0HZd9h23-XHQwwehU-PyR5n3ZHspNdxyGreb2bPIhO_8ChBoYYh4XC3pkOxCfPON_WTpSd7YoYouzLjuol5NLz2Q1GwT7Y_yCbxjK18DxK8H1M3KlNkpSeot7Ti5TPFoBzZXKAq71Xe0UbPVNZgAte83SznVrEzPAiWfpiUykK1QAj64ZuBUOhlG5JBGHM_pkSvdq0Mi-8qzd_Sw36kaPX4vQtHjVStVkwTo7Ddu_mcH8nrorxqljExMNz9m7B-Qo3jom2xgeuMGCkzBjpOxr2e7jrG-_GRoYIFtt9OSjUrQPFt6y_MxKPWLzBmlWLAtd23y9zraZZrscHwaTXskMH1GaSplEBWRjRbmSAOgEO6i4pHfUHffkwee6dLEMPUWY0HNMuyxR1WjwP72RD-BCwZFFfXk9nHjTO4WC_MDtV_XWi2ZBXv63Cpxz5eo_4bKHAo7Rutf9LLfWeERxGUtSY8rAuszqiHMOfA_kG3nZAwYlSZLYpKqu8DPVNVPe0T98DcPrMDK8JZ1GxaHcnbZubKuWJKWu9EdaRviUp8YQrj3YFVIn-bDRQ0sw-7Yi2tf11FsPGzm0OpFeJxD6Ysd24TIj59Q36KgCTeRr0Cp65S8gUodUHwtU53zw_-TL9xsa6OqP-v8LiMbKdq6DT0i-ZZK4LwDlc-GOdCKZfcsgItxczJLfbGDt_QejqweIG4X2Xl_3oM6wiRsau2PT_HyKk9DIw7bp1L9DOd9Pu5amx6vPlCyEfZAUxfrxMAEXrslUMs_3aG40d7ZHdXz8yDIvZWooUBdNw4XeblUeJM0yhlf_wFRbEOXYjCuV84laGy_jLBTfkZtSXGVS9DXUV8wkyCbj5ey9e_ucEsb-SzvMRGCUDDzpMLB9ppQJOp1ERiM8eeT2nfKQ3x4-Kp3KZfqWi6OeF-3ob763U51PZCf6j-va2od-NyUEkqJbfM2gCI6blS2COyQIF_0QhKvx_1egZPPA200h1heWMI6Wm5msqwC1l1BOvViWIWfxcc5crnosqgHsFEM3CBtaliQXAKUjmxexTz8iQaMf_gNWMjHS7jfuGGpFjStiUCMyxkKlworQ0406g0up7rXXabvNbnA1XVJvQYHRMtgJX1db-jvTvgfxeJVZzqzNksaCkd9mcgXT3YCNvU6uoT7EXJNX78O2KEHT4qdFRjdVQfDQYqguKOaj1nmXCI7pioxQTMbQZcMl7mvOsL6W-BsvJ1UMEmi1MW36TLTyBC5qZkzuSG2Ddm2FI5TLeucGWqDqbU1xul0_Qny8mlK7y14BZfTHtXHszHUFrPJc8m2vFLqMBefbOKQTai72Ko-dXQS7SrxX3wWAEVWkqrH0nRAJiXP5pIlZWcCucvH0I5LR7cWOBbtuhWMuapmOyNmX2DHllXzl_yoIhBGhFP5_z05ucfAXylDb7NXiXQpjJBXDLOnSjWHg2KGpruBuaUTTwV74xAAJ-2VSVH29At9o-o7WYUeI9_R3dS42V_q-1STLv-008HQMwcr7Y2AEzjiQD37x8rlBchuvxDY_WkNnrvT2j6ZB27m0-Aw3QbgVTKHT_RSDoTeC9grzAv36XwyHuCFMjIvKS47n6M4oHkaapkDOJQiwbnMvu8JHNnjwR2RaZCENjO55wvZade288HbMggCvYRG1hZGUu2sqm56kud0UwVWJABaP348gNZfwjxNaG4AWrCQ1w5UlDE3ZkCFuM1oZGrmv87Zhd8Mw914wJ2ukapUD_Oz0GR0ATK_I42XKgVprSiqlUkTinoioxd57DnhgudwSRTE9ayQc-nWMNU76aa8We-PnRcduJdbHlNUYqc-J_VQXYCpdI3priOkDbuHB0rcdp8E6X7dcKIj1Epotj6cdNJrL7YGTzc6p0bhpLwGkqDjPqEVVB7bA7iE1_uRMX2szamWAC96An_Xm2_g_PfbqHbqASEy4ou_x1XNdXkBFvhytU_duqWsBDp5VWTF7LLGFvfPxbI2YIi6rh_7OrgfbKlduhNZBYEZhFvWYnX3kuMbagOjsQER84CuuqNkFGskbRp4eTNgSPk_jhbBIEYYfF3_MEf7_Krq0FLGBSp5mq5bfproCaygq7KhgyMULViShXWXhIvmJPIS5MY4o3e4xDug7PHaDqg_dupgHe0CCGNdXrVVEMWCfDaM9EI2Imk-cQ20pBjonp_8m3iAu28vJcIySoLLZnvdoBnIEBDl44qBgIkTwKQUywR8zKeB6bmSSFdkXWVL6xXIn1fDICYd_Z_C19a3yjafjtlqcKmlhGMdZ7VHhO7k1aQMyvE4n2e5Ql8n87jJUqxLvH6e9VBQSM8CaVDfA-CgVFfVXRy-ye-i2vppDmQA7nDCSlft0_195BraWuNE0By_eatnAd_ro4UuqBQDCka_o_mPa3jw6ftadtCZnPKdmdV09XB2baSTESGLlWSnC_wmm0lcu3lBcYMvf7wm3nwGyrgD3KdvL7BekQF1aF9JlLrdiUHDaIA-95l8RbyyFlr7ESZOoyCH-M2I8BZ075Xc5VNrvlQtWHc3aYz-yLE9Pb3QTQKqo5Ke0Nw-AWqR2knZen9DPfe2J-VyIxoyhcj9u4mP_Y0oOs4W7prz-y3z2CM2MpXXZAJ3NYSw5UT1Bae6dmoTtutR4AdqmTVQLKnGDOi8slVrTq_wp5npbP7dqHk8HiawQbHJTikUw6RYiul6Z12pGSvfoBD2d02v3-01pNYaugaXGGJhE1Rum6K5q-QQDejSR_TV3ZJKbWUN8RbZhcY75P3N_cc5LmA6u4F2nZh-VwgElybxAz2AS0pHlAfo4Ahxlb5GcwRT7ZJRKvcW1tyj1boAbHiAEsMo9PoEvdalVHP32vDl8EjlPapIs87wat0hEEcTQ1A1N6-h6pGzZWgBT5aeShmZ3AsOv_sb9J_y_MnCDcaCYrfT5TNIQTlOjFXRy3lMcXSXUUBefTXH8JzeL3WMbZ9u1kBiGyWs_TaUQoGNOllAU6YWd1Uhrw7Bo_6NGhtCKpRFYU2ViaoD9gogowfUsiPvii3SlQz4mXs4TOyDv2CRY1RRC7ONLPce3a8AJjaHtpE0ehWiI9g5Xp9TCl8OJ9TTP_J8HppDTMkrW0_e8YE5r_J0UKypPWip8gL9Fhi7U4_WrZq6SsEJTkKqibwLelvfKkOu6wlQ4cmOkGrvbdW3ex5fjwsxUaj2XOWX80OVuO-CyY7fu4fxVpgMyrf9yiOAQJihI5Wikqyo7VMtIhZflYEsQcSMNZdLRYMofYDkMiQgN9LIO1CPNTzd-QjLzeXygnWtxxxvtpBgsJmDlPYUv1NVVKdYnuZW8TDz11XsAN1upwO4bE5g6FNeOn-C9r9LD2zLY02Jqt0-4JQrHT6THM7n21a6WYYB45oxJaI3fvRA3-T1vYO6JWI6tDmTU1ADAqDdxF6BaWTP2IcmFrZU6MGvcBl4dxZJk5wuvIKwVeRZ4Xxj6amoFaFJU5l-TEYUnd_9E81Ug_Ej2DdPDrbaHobqDsnV2lWO2s0LB-UlH5MRTbxdAIQGE4FvUjRihGfSzuhOE90qiRuKF0x9-BTT2TIl1IjsbxMrHXK6ae5-fUd9mYh2ydhPb6c7-9MyGXJa-vfxk5TwItzbjIkURt-VNwlY013ObjKicFEMKEIvK52qFM9c35uvq0apxcvzmmYwTIZXaT3XGM0aDZX8TRH4ALvtRMFjreMGqyzRQ926Ho_Gnq9nPdmWeBSBsQ3LTdouhbyoPW2NYwiKnCpHlJiKIkVtfpfK6VQRP1Z-a_DN5ZTh-mOp-Rg8lGKiPpZjrNfCC0k2g5BDa7GLDur3iGhk0cwsH3XPCQu63XUHOOPr3Z_wAu2ku1gjctt11R9sZreUmxC-FB1lHIf9i-XFM9HJRTcaiETn6R6edEbF7tDPFLIxKagi9bTfUnE1iw1FKZd_pwq_Qi5y0JYNDZW8Cp-EhZkpFaNxqygUq-UoONNQozDRBNa8hQKOmx3JRMb8zhv2x2gI_lrBpaLitJEAnSSXrBFYFCyqq9GjNUFKybqPJZDdNcbHUMljOH6Y_szaRF5LFr4uif2B4OEV3RFYinOp2rBdACBhWcA6g31_yk_rUivMqtQXVIwIFfk172REYk9UqG0CIqh2xJRnhB7V580wYc7r5JpkU7e3whf5mm0Lvma_BeMg31cvGY8se7FJqp6YFDpIwSGVhqRCm2WdzbvmFpRoawrZdUSHaxnjXlFPbw-UPETLBrzv2l7BQqKZNMREs0RQk2wv_sNyiSxchMMDopyiPS00BD7dAQ8GKtc2S176tMPUPP3uD3OChi-O2jD86HvCrIkISUQ5be7RJWGXHY9PyQAfN3a15SzIBPfYinSjmZKyd_LAooXQGw2LnBQtBW0Pf0uPp81rQc2iHGkcO8dmG4UDlkUADMmh4lc9r68HPG6b-RzaXVZiqe5wKAAfX6S1QJIZ8sDU1D49Qu1cRrHVsWK57KqzXynTOM2aOty2qWoVlhLY1hy4saYzgC79QO2WwEv7QRnRu03reK7WNltY2LsZ5lZtMr2Zmruzi-CoySkvdafyw9u8pSBpzf9hpddqV5Mz2i8m3_TxwtKPxZWKuhR19afoxCrsK0YknGHxKze2ZV3HizEjXInNr5NXk4Kno8pLmhkGwvoo24m7Albr22T2iwLEbk_efOQhy1fu13mZ2pHUMDU5AK4216ZHmyLfNBPr6ezTqVfk9pFd0HtVCSIvDqyUGBC5HdFNqKebNtOdirZtemOPShB5Y7vqTx69Y8zwbXUYXp6hCnJklaZjLCDRULRN2DRlzM8cNprKxFuxW4XKsErb1WzEfdGozyzAQFftPSUtU9Dw3nh3UPenil12aoU8_Tv5qtKl29QKlM-O2ljUudC5LnWyvSZbuhOacVN006EDajriLYPO6DL_DosB4H4nBENCoPBCMKqk5asxCKxdNEdrp4ia0kUUpgOTp5Tbbk5L7UV9GUyd2R3X0WlZuEcOUE7XdZcc5kHBbV7B9XzMlAZHVdROpuf6DB-6gd8QTqkGVqlorfjerGEN34ByFcIbr1UKOKYi8zxAHERzIuFe4Kuuxs32pnVqEcj_jwt6u-ohBEK35HxjTzc56yzaCVvCNFaL2k4vx9fMQ7FJn2vyPr78jFcdzLUhAM2t7SAyhlCm1kpMQmBWX9-lkOe1kkvd0K1SI52QwJn28ZD2asg5zQSfrCCMXcCoLil_P37JwRkh9AsMpMvE6MZwsDEq0cEr6DgjrBxueVJcxUW7W1Ec792yekGmsHvOMjTK-3NKO9gJ2cjqouyS4RwrMAIamorVSG3B5XLsE-R3Lt4pWjuOKlPU1jBnJjSNXIALNfeWY4ueqIidUpPeZapABkgp5d2YHbDygSuUuYOdp2c5SdEzGPBx6AbMPsXMOHe0f7rWF6jat3y4CVavbcJEXL4-KWQWf1rkJest54O8QkU3Osz5tS5GYa3HalKnOfjwupHKe1z55go2IrcHHDQ8odjRo_JRkBXpJbq7j4o284kra9_bOJ71mklh_jvq2UkLbt5-XB3kNIlI0Xx0lFCirrkfK_v4bUD-rgUuHce2Kubw1e06UIwdRuDxdOUkyEeNEDWpUGPX3BoF1xXBO9mKaP0Q0FXHwGwI8ijskb5Ny0IBhOixT3yR6yHaBcCvhHUNSFUXWYrddlpqUD10pzE5T-8k6rMY-Cs9qylu2ngCeIBsbEpOXwUtXZfJyjEzdIUwroqKvETU_Lq2BwhBWPFRZ0RlmJLPqUZLk8tNF2ut4WttR8u56OGt914ZOR6O4qz-GWgET4_gh08p3OyEddFNLQFSiAx8VGZNZTjL0PGqQqS5zDvdIKWrmbpAKHqgyw8O-a5m1DqWbFwWHL2joA4HnDaA0Xxo82geARJE9S5wsxb5iuyLIsnK8lTQcKcPFK5PreEgS-pNtGhfd3Tp1I66Zk748HfMIIoBHPMpsva9GJ1KLddjwEErKERXYVql29ZlqYbHPI3ON8qY0d58_gAV5bOeSe3po0BWR2C5el2n8qObiukbM5OjMdnj8bxyNvgMPbP_qFrgYrtU6YMzQjc9PZs002aPVdEV-WdeILJ-u2lIWYBezJc2G54evviVURTLtgiZiHE_S4bD3d-zr9d1gKoXrIxLMv9E8xj4zQQJcVg_ADB1bauqbLnKodTL0MB8l0outjhoceTEOHVAeqPo0Zf6cSoIjX-cIumxj69ETk9JC1Uldz0ZGI7qoft2aeBKQYdl0ZcOQNrVOLNjJd2nNQ_SoRKtAbvuerYXdJPKtvfaIsopW8d8vurdKAgd49i0oC7QOocO63mRHWNkBbq8x9obVfTUtAcVyAQ7lKfBtbe7WpG2CICpXp68DNnSx_ezK5Q1-lrtzgyPbH3n1OOIWBGy23WwYNOqGKmXCQP9lXXaMWBf7MmUwdvSBJaiWdfwny6ccpQmQoXWXekIE4czDpvHKgYJhG5ko9rtr6v1wkoptJLrh6wTr4_6yNocpBZ2uDCk5YnQATGKDGXbntydpM6Zb3IKVQylqyy4lYFBZvbMpPd9U3OGcMFzvG50yTaqFGnZnJbSKdrTv0GTIW_NeqhvVDjklBtC76aHr5KW-OIe3zEkc295ke5w2zY0pxnFaNAS6WSu7OnyTlGk19rikDnv00mU3aYFZdZf-106G5FDPQnaP9_Y8F1FEr925_EKsjI8TCyRaZf0kJ_syGZZ9_GXl7ou-Iiob5G39ZnxVVLr_jHzHmqmJ0FF69SmBHmV7duGgmCurNA_hcoen026SR9fApeKdCLhb1h5R4XakYvIansaKKDZlYYG7FsAriF_4DOU-Vp3SdX1zwCmuGY_lQvvSAmjOUccFHNtF7EAMUl5JTPTS801iw3yQS2QcR12z57CTvZbUU18GF4NrKA75A2WZPWVB1QdTtZtaak5j-I2n_m7p9WtQdKIrQp4_DGTGrhslyma3PwdeqX_jhWE4SxHTeM4JikHBxLN4ghjVFWkOrXrXZO20w3CVUDQbWrZpY9TmB5x7WdvyTyxNvpiGejG1IctNyDH3UY_VVB_ytRQe3RfX7dG1thchNXkel3onwe2YdBgJ5FC2kVK1i3LlfNBkHmWlAsXT8SEio6J2mfCHY2eyt58miWaA0O3zbT2bhUm8nDoy2kbBDR8eA31tRXqVGuVYXIm32aHuYE8E9WhdA5rQSr-poR2utNR_8eEAoxRBs185EPh7sQqb_dzzW2HfGnW0ENqqiGmr1GGpFsjnHSNjpADyr29qvW2VE3r9I0BOm8M53GqFQIRT48GAfTneE0If9jsGsRxe_fLFFnWXYpIW1nl7s3sS4g6Ys-U6SKlhcDNZUZUFLyW_VUkz7j2HR1o51DNcgixueMOd68xOfysXwGK-1ShWnHOqWY-nj11gj306QQS0a3c_P5ZiYhlR8RU3FJfo9ZFqoHQGmZEpSC6vFytgE8rBYVR4Izc-R610sQYJ5haNabhbtH2yeDpKxwiPwThQ_xTZdb1aqxq4eS7UHl2q-FnebMuZEsYu4kwou2XVOPVQledopAOqwxqQg5v6ZRmpssS1lN9yOCS9ArwwvX-r6jzyJIjhmHohbyQSvn-F7M-APXs6tk9FRQoBhAo7-2pIWg5Qvr9Cbd1_3XUFNjpX3P7GCprs6rxiLB9dAFXmYUJM_fRuuMo1SUNIOL14CvEO-VBvnGLRbaVlZjxbKFm7WI4uv98NIiffgGxj165gzP_sotpLPMrowPtYQtBlAC915bnt9TjeuxZHwlGB828DiPAQx4P5gD65zgJRYJp4wjQ51OfD-X454kN4IcOfYckEm0dyJLMLNMuq6MFCeLQOwwQrG0RTaonxtpoGz8ZFJ3DYA1hzSoEYJKUNpwOLbVTFZJbyUzO4A1wOu-xUfKTSej2rpFo9MH8IQ_1HNbzYFxi1T_nPamZqKcNZQW7v_3ARaJnAugK7GiILs5fDBTUCfHByaxK471EGef4QD7zwYcG0tgpEQ9xhubhAwaPfANJ1J8H36YZBNkqHJC5HM3OKmz67jps8tScDuRFZqwxXs-LZRfhV74A8oGkWu-K3V5OkPOKxJsFqQ6OnGjklfyNpEccw6Ok0pbXMcbfyCKK6NtRGXoCX_y6gTSmy_JDFJHeTxsRO1thlvJIkRnGqPLiZKK_5yojZ58hO1SiFHmhM2CELSF6N5EYCw1SJw8YMskesHtrk6tq2bbtvQVUutorODSWhyhJkIjkOXnrB6aEtPRNqYBU3pbqJLNpp7S54grONFg3iGYsK8dpNr6MuTqlji_xD5WbRq0RPu9PO1RxfPMC77HQq4vAhPtuCVNo-OllP88d3dHNU9nx7OwvklJvkxy46LTUxcC8_Je0FJ-YGlod3rbodTjpAXa5_dbreCHC-FzDzowjhvDWPbSS_oINWtvDwd9-L7BNZDiE3fd48aqZoQGfoXcCCafjOYYWvri4qVgr6wcHIuUV7nEPOAkmchw6Fp_VnPq-HeywXpkoU9esc1Uph_eEaaEb7vRy6XVidTLvd6Nsw32BAw2L20Npvq0P16y_tV9ULoCqfl0BVjQPP_XdbutWIWj3BukKrvyHNC22_CE3XD7ib-jWcvpSkPUHdGvSc7_7IuABDV-A-M5pWmhcilFdFKymw1QILYIMgYA_KANijUemuemrTjcEHF1J6WhvCo_d0DVZdtVA_5_jzzqAifw8kunyoSkWnpoi4dT5m1V6L4vRdQiQ7-EsM13SrrkiUXwc9HehA8azF18YU_EIDiG3PFg6JR2oHBqQvd_A7iTZKy0zyZOxdMHha_LJob6QFr__yzTTYawjf1KONahkRv54-_QZLSulomPncVb_kjDUOCA5B6-x64mmxcWYjCua2P2tK15q5Wwx8F8PFKuhJpkifvdeURDjOEKJVr8cGeyEyAfkQY6YabbT50vP2GB1FOznvdA_JV8HYnjKJ0c7WfnHFAWk_llNSjOiLkDneumZcprNYBpnmKoJVjgSgOLaHON82xs4JhLs-kIiAP2WFZHt29Xr4zvQTyObCmLjLTCZ-SyO-UBwWHz3ZTVx8aVMNhFwMUJmiATRsxK6fM1gD_8XL4zLlb-TFuq7_l7kTjojEPRJ-5MN30QdQOh_CHfKl70J1tOGiEqJu6Hxf6EO9Vf7wNKZ0WsqsPDhR3BZDuxxrztDgMOSkwk69kjbQK493y77lBfza6ur55-7DPcuGVMqEC7kHfCwHoVJGVbOL5QfpkHWub2_XH7SEtLDieYkNiCHZjkRT4dQcz4BIqoiFgXsXduuFgw22bAFFhjDpx4hY3xY0kOGhkke2W85xIPePLFLArk-glhe9mbuFCe3MNRkYXuO1LmzHgOIvZNCapXyjkaxxIrgpL5E_q9tR-ewrN6UWa7eGv0-Ql4GfPD5DMhuzVRP7aG4jwELC239K15aBQINix5qbJK4NQ2795oM0YpfDkOdK5lTKtRKbzfo6p0jQRp0vj0smIECdMj-suXhALcbwm4uSbeRhnZAN2lpTXoSxbPS88-UuLyC6bfxPoEEPdgvEB6le-HTo-56Anxq5221BSej7REMUykck3R1iUReYIwKbUglu6AiwqQlArlQ8GPw1W6nD2DUDVyA0WxBkQ6RmOXZRHzHu39LaC3GEnSjz7slnJvXOjT8-q00-TT45Nzr8b6lkd_g9wmDuP0DaOdaDi0KbfUZmCG9Kc8lw5jdKqy4H4i4jHMMrILhOork2J2jueP2lGeBLXy_OT4IF3o4joWT9KZHTCl6_y0wsiaQdvD37GnZTc1K_xUecM-eNYEztkkbA_ZUIQ5972H2Epxf0gfed0CYfKSTTDfAaVVDFxZ3QCFawySOZGdGoJXZ7oMRCX8qwSy6V2JCL8r8TY0afXIu6lUXcyksa8i8aQ8Sa2UR898-ueEJBnD5aYzQk2cKafNbKQ9JxSZdanQt5ECEc7AZFCM2SLF7Q-awhhHWC3hM98lIH182Lw88zgZOutQNfEK066sZlz3HCzFFA_U-tWVn3u-byxnkxSJ2KmqK4W_n5eAZs-kRBE63499mjx9Ju0DiPZz7_Qb0DHdhc-vXEEHG47hladIoU2Vk7kSgc2FqsdKfo7_U-WcTWYGVZrw-uPn3e8qNnRRPQKaRFCbDOJxXgVy9-BCH5no0R5Wf9bbt9OgFc2vQ9d5aB-6RnfFf5vNp0OPXzCy7w7geQAfWXcZvun7a8CD9OYyiIk0VmEoVSs_31_BJTxHJcjDPhN6TvjcjCWBUSLKEVMqLV5fWorYEwHgsHEtGuJOV2QS0p7vBbeq0_RTlzfJWoykkFneSIklBBZ4XzfadCLJG3mr0AWbA5zHcFh4cgs03cHDPaJgpxrbMK4ajeAtSrNPILlXVY7S0Crxw4ZdXcyidGyPHmVjujEzo2vx5HqCzOOBAypq9ByAf0-frAtNQ39utMV5Qs8kptHyMUOLeK1NEYTvfIpknXkRF2GXczHG9aqHz9T2vlaS1b9HpnjKKkFrLEgS0VDX2uMS4yZ4oXq_qdLUN3xBEx4Z3Ud1pycAzWr2ICTS31teisOBDH0jxcPES7Y3ylDKHSq7-QKn5xduDSsdzAVdEpmVcYyFWRLXTnxRy4Cw0ludOUFmROiXHXx9o46h1RBYAfz4ZT1onjbICiQtEjMtxN7jPxAUzW5HHtsB15iFgkLsXlVA9-BtwuPetNmzs2Dlew6OKU8-mR2xz4Tf-xtvQJLmdomVKHhiA5MpbJZuTNTEuigzTXjcA4uK1iFSGnAL6k0wVr6rHcSIJTdfujMVSJJSzbAKj8Aa7DtJw4ItXnKibrNXnt0cDJ8PWzJyRAkQ3zAjflP6OHIxYNPvnd3imFxH1PcmRCo_QxLOLqR8RXlqIFqWGriZqR8PA9XqykyKzStPgola9dBNapC2CQc1eGmP6pk5LhLdoofPShxkkRDHOReRWHBKgEynueCrPY0cAgDxd7r7LG2iopkRetlNEVZAKPW-h1uuFs5VV83suujvyzvRfuziOKPPy7ZBHaV7hs49tdVrOtZ46OXT63ch0OoPm9saWdIY_dYFwLM_uPEcItcqHW5KuoTFFFAWKUUk6AGw3lzh-lPCbwsHZTIhcNG9_r3fiCH2huxfuSTZNosidT7YivfWh2pQSjnNn6rH8kguiwPjsNCR0OX4h_9bdrps6X54TQYWgJ0Aun2Lvk7MirvFSPjLQli4eJa1beiVPqhotHZmIEm-buQmfaY1D5ybnqiC1ePChaKB25NLbjawDYmE1-3hGHejrz0mr9WXe8c6jJckygaAzw4jYqk3larhhTr8Rh2cUGVEhGmjIOyIeIMKCY8l-3J3ieFvXQ4kKpwjSXjbsTv15D4c_ph-vGSRajdlg5pcjbmi7SepuvdzYwhBiYWqbPqBpc3eTIJzW04ksmF7Ne9yUVTIUdKpobcNURePr6IjXyXte2_fS-bRfJI9AeHRCUwM9lhPEDMY3Yv5XPTmVr9__sMksy2UvWkyjcU4pQBmmTH5-BxdEgt4KV9hHSoG2GvDQaxFQcyn2L5YWYH8Zgq_9drT09t622skLw4Z5jAEgnGmG5-zKZvuZAjTMPfPfMHEwZx5EgDaMBVYnZ8AQ7fQ-KCYWs0NA1-j2mNMU7PCC1C2hrJKcyrb6Y4_UsTaXS93rgmJB-5ZffGb7WhoZWPy5HZjt_RkwgSBTEhj7GsPl5rYt2gFN8pau_cm30pulLQi1aDoaSPt1V5Ph4jPfRZNwl1sfBcs89huvDVr9RaqoYe88m16I6bfbfRuLTynwcysTeoFb1CY4w6-QADQqbRqLXN_xW1SExlf2jzL_evv1-AcWKGl3sRGjtVMTrAxrS-ujpws9mwDd5-UGJ-yn7a46gX6Aw217BZh5Os0H7_oUzRa43vXChUlg_Sbn-lfbOVeEAqozIotygvMkLL4V642H444e2hi32_uJNpoTuBxDn-MoFn62ME2yy2mkLUlKF_AQrvPnw073QJCg3Fo2NiKyPS9_d-tLZdDd7vWtxl0PGwnV_fOXitcYbeDWGGuct9GzA3MK05EmTEVUb62PWMw7Dj6YkhZySSh__j7UKI4Dqi0GP_3hnKKBqraULfnYe7_6as8kGFe3Fbv--PQJgUpu8NHgS7o7skmHWc7lvgYBbSLXISkVHaIAkz7v2iZeN-WCcdiT-bj7sFjDnntgKzXkLJfTnhGYsfkAepyoXSJ6tcEAdGvTBnijf3EHAN6UXLaTpb6huXWoA5Was3WcvHHG4dRFlVZuFOTKNu13nfaWg5zcf_NSX7yH5oyOW6-WLTVmb01qQdZz-cTCGYkO8CYK-nCzms0XfS-QEle1AdAWaQj-jQ5STD3Q2OuDihjBRmphZdrqDaWsnICpIDW2jm5cWeE6yc5RKvUiBNFQ_b4mtvEWs7XX9cQBz7FEaS2mf4utxDk-9n1NYEx2KoyS8GkMJ8GK2bKHd5wF6lljdCR4vHmoR6uaaa-jDEXDiwiyiqoSM5FNS_3xmnREcfhA9LVvMIV7SnWJDsEPlugirB6844Lj-mlCJj2jV81Qxb-eLu4fcEA7QGJIIYY3013D4-2PLXR0hmK1X2Hz_iWSPPYfCgqqWabznOwbicBryCEDD_gEahDJLzegJ8WlPogWuyED1_sYwbNKmdxBB0QfVYpkOmWmUYmq5rq0iJBeKjxbmiX2p1ELTlGApk9bNZFt7G5NzwMdiMUtCUWmbTYWTioc9CiMZnwY3GXTHbkiZm_LH1dL6sti4jay5pQ9La4MqlHSix-f0STW0_TbkVLi3sr56S0PIGFpbnPYbvMotq0Onc9PHpySTDRHSDqsp_gvQtC9RfkxHKjUzCMEc6ZXEArYomYNKvkV_lK6FaQwg5oWqJ1skYF3ca__A0Liek8=kVIrTwF88KiXF7t7Hazb;fH64v5cfbFU8bWcAgEcreJxdVkmCIzEI-5AP7Eu9bR4_gnR6XHNKdywbEEKEH370YW6jw05ifoQ9yR_D9_7wH35kEM5zFpyeA2wKIOwHoYPtjASgS044v84d58IZykezEKKYrfb4A4gJEemSR9SETlVqAhA_gAQgccdPZmWfbEm_zgvnFSyHlcX7lFPMef6c95xnB6rkKIojWe2TY_0gmCbJaCc61iJ9GP803ZCtVLrnsKqpjxoFCTD9xUwkNQ7Wo17pdDRwYchACH9kGJ1YSYREmRjPsLoHvyATyzMV9wmxGEjJrekfZjtTERbzAvdxd6EXZJlt9IbRWHNRIMn4nc6wa53OdrSI0EF3VckXaCh243YUlp0pxwxsyQs01TszbqN6AlfHpP5LW6d6bWWUbx6RdbSj8pWTTv0GoUEMik4gJ9MIeYNkEyfCE2g4gUkfAditzRGnhhnka5AdguJVhL_kpyN2E0nSY0EV0JEYuVwK0xGxBRsKd2iIIRPLjFtDGps0SkKsREsMBaZs-b-YITsS6diBOkztFITiduezcqb2UTooNz6QQjLdmJU0Wutx3Ag0n8JomF45G33GJlJPSrvwCQxJxTUZNkSXLDEQqncgpHPmlbMNz-WJ5h80qhWxkDnrjdF9Jws9hyLJUB5hRvjGDM9VYpyYcJNJHbLNvgbIfGMFRRw0Qhgfmc33tFvsOINCmlgF48E0Vb2kb0s00gF7hRiVKw59qdqGaXSxeZkOhcFgkvwlMxuqEzVN3Z2lyN4q5SV9H64LmE7oDOKfvjbnS_r-9VIaq4JzZBk-rfH47ZfDJRSIOYXbajUaMjChjfk1Zp8_UZLBt3EsSA3-lgI7z_u1YZTNYGcFF4ELswOmpn4Pig-pXQTzgsNDdTMFyLGXsa_sfFhlQv40MbE3MDOAG5VdHfLamA3nwjELzGQ8SgS8XeLzXj4gSrS5MXoyBo3X45ZN0NYJPylYJfZT6NaJ2eobtqtMIHY8hm1CUogtGOOXmEM-dOA-YMjJ57VAV-U28tgepJT7BGtsPJ_tgsnQG7Y9IIbT1xQ47jG8QN11dz62CRH4HvTCaBzRG7zES2rx2YQwM8gf3ceQoWTMvr89NNayMQAsy2_tGsG9QtEAyje97QNhZVHXaXA7ywK1gMq-pBTrJgqyMP9So0_oF_4mcSsuaf0d1m16Cj8UNDELMAbvuqSUn04wdv0oEq3Dz4bJ0zFnfGsz18GxSCjHfrJnxYNOaKDlxm03FHarxcMz3HpGB4tDban5Ra7HwOAzDQQTfE1P4ELZbZ85_UhE856FgEaHnSDHa7cT5_YDcwwNIa7Ahm32Nfc8GDdyOqJaMDX8LBihz6IEj5X0HYy_20sDVw==EN5eDyUTe85vJx3VE3AD +``` + + diff --git a/docs/topics/gjp.md b/docs/topics/gjp.md new file mode 100644 index 000000000..47aab3bc6 --- /dev/null +++ b/docs/topics/gjp.md @@ -0,0 +1,39 @@ +# GJP + +GJP is a parameter commonly sent as `gjp` in requests. It is used for account authentication, and commonly sent with the `accountID` parameter. + +## Encoding/Decoding + +The GJP is your account password XOR-encoded with key "37526", and then encoded with base64. + +To decode, take the GJP and decode it from base64, then XOR-encode it again (XOR encoding and decoding is identical). + +**The following code demonstrates this process programmatically:** + + + +### **Python** + +```py +import base64 + +def encode_gjp(password: str) -> str: + # put it through the xor cipher with the key "37526") + encoded = xor_cipher(password, "37526") + # encode the password to base64 + encoded_base64 = base64.b64encode(encoded.encode()).decode() + encoded_base64 = encoded_base64.replace("+", "-") + encoded_base64 = encoded_base64.replace("/", "_") + + return encoded_base64 + +def decode_gjp(gjp: str) -> str: + # decode the password from base64 + decoded_base64 = base64.b64decode(gjp.encode()).decode() + # put it through the xor cipher with the key "37526") + decoded = xor_cipher(decoded_base64, "37526") + + return decoded +``` + +