From daniel at passos.me Mon Jun 2 08:07:26 2014 Content-Type: multipart/mixed; boundary="===============7771445473514243238==" MIME-Version: 1.0 From: Daniel Passos To: aerogear-dev at lists.jboss.org Subject: Re: [aerogear-dev] [QUICKSTART] Information for the mobile clients Date: Mon, 02 Jun 2014 09:07:04 -0300 Message-ID: In-Reply-To: CAD_dpu0eZ7uaHHZzQq8pTLHKi3Y0_eyB82H8qwKrC3Db_wGh2A@mail.gmail.com --===============7771445473514243238== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sorry, Yes, I am try updating a contact and the server responded w/ status code 500 * Adding handle: conn: 0x7ff159003000 * Adding handle: send: 0 * Adding handle: recv: 0 * Curl_addHandleToPipeline: length: 1 * - Conn 0 (0x7ff159003000) send_pipe: 1, recv_pipe: 0 * About to connect() to quickstarts-edewit.rhcloud.com port 80 (#0) * Trying 50.16.176.239... * Connected to quickstarts-edewit.rhcloud.com (50.16.176.239) port 80 (#0) > PUT /rest/contacts/7 HTTP/1.1 > User-Agent: curl/7.30.0 > Host: quickstarts-edewit.rhcloud.com > Cookie: JSESSIONID=3DzugucP2LNHLbCNNOwBrD3mx6.quickstarts-edewit.rhcloud.= com > Accept: application/json > Content-type: application/json > Content-Length: 120 > * upload completely sent off: 120 out of 120 bytes < HTTP/1.1 500 Internal Server Error < Date: Mon, 02 Jun 2014 12:04:59 GMT < Content-Type: text/html;charset=3DISO-8859-1 < Content-Length: 80 < Connection: close < * Closing connection 0 ErrorInternal Server Error =E2=80=8B On Mon, Jun 2, 2014 at 4:39 AM, Sebastien Blanc wro= te: > What is the issue you are having and what are you trying to do (issue just > with the update?) ? > > > > On Fri, May 30, 2014 at 8:48 PM, Daniel Passos wrote: > >> Someone know that I am doing wrong? >> Login >> >> curl -v -b cookies.txt -c cookies.txt \ >> -H "Accept: application/json" \ >> -H "Content-type: application/json" \ >> -u "myuser:mypass" \ >> -X GET http://quickstarts-edewit.rhcloud.com/rest/security/user/info >> >> Update Contact >> >> curl -v -b cookies.txt -c cookies.txt \ >> -H "Accept: application/json" \ >> -H "Content-type: application/json" \ >> -X PUT \ >> -d '{"firstName":"fname","lastName":"lname","phoneNumber":"1234567"= ,"email":"example(a)example.com", "birthDate":"2001-03-24"}' \ >> http://quickstarts-edewit.rhcloud.com/rest/contacts/7 >> >> =E2=80=94 Passos >> =E2=80=8B >> >> >> On Tue, May 20, 2014 at 3:13 PM, Sebastien Blanc >> wrote: >> >>> Since we changed the use case for the Push part (now we broadcast) , >>> passing a alias to UPS is not relevant anymore. For the login it's inde= ed >>> "loginName" to be passed in the auth header along with the password. >>> >>> >>> >>> On Tue, May 20, 2014 at 7:34 PM, Daniel Passos wro= te: >>> >>>> To register I send "userName" and the login response "loginName"? >>>> >>>> -- Passos >>>> >>>> >>>> >>>> On Thu, Apr 17, 2014 at 6:07 PM, Sebastien Blanc >>>> wrote: >>>> >>>>> Sure ! >>>>> This is just a version to ease the client development. >>>>> I will ask PL team and Joshua their plans around HSTS and HTTPS. >>>>> In the mean time we can track all of this with >>>>> https://issues.jboss.org/browse/AGPUSH-596 >>>>> >>>>> Thx for the comment ! >>>>> Sebi >>>>> >>>>> >>>>> On Thu, Apr 17, 2014 at 9:48 PM, Bruno Oliveira >>>>> wrote: >>>>> >>>>>> If your idea is to be secure, please make sure to use HTTPS and >>>>>> enforce >>>>>> users to be redirected. We did it in the past with HSTS on AG >>>>>> Security, >>>>>> might not be hard to copy & paste. >>>>>> >>>>>> Sebastien Blanc wrote: >>>>>> > And because I love you, I deployed on OpenShift a version of this >>>>>> secured >>>>>> > backend to ease the development of the clients ! >>>>>> > >>>>>> > If you browse to http://contacts-sblanc.rhcloud.com/ you will even >>>>>> see the >>>>>> > mobile web client. This deployed version contains also the Push >>>>>> Message >>>>>> > endpoint. >>>>>> >>>>> >>>> _______________________________________________ >>>> aerogear-dev mailing list >>>> aerogear-dev(a)lists.jboss.org >>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev >>>> >>> >>> >>> _______________________________________________ >>> aerogear-dev mailing list >>> aerogear-dev(a)lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/aerogear-dev >>> >> >> >> _______________________________________________ >> aerogear-dev mailing list >> aerogear-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/aerogear-dev >> > > > _______________________________________________ > aerogear-dev mailing list > aerogear-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/aerogear-dev > --===============7771445473514243238== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFzcz0iIiBzdHlsZT48cCBzdHlsZT0ibWFyZ2luOjEuMmVt IDBweCFpbXBvcnRhbnQiPlNvcnJ5LDwvcD4KPHAgc3R5bGU9Im1hcmdpbjoxLjJlbSAwcHghaW1w b3J0YW50Ij5ZZXMsIEkgYW0gdHJ5IHVwZGF0aW5nIGEgY29udGFjdCBhbmQgdGhlIHNlcnZlciBy ZXNwb25kZWQgdy8gc3RhdHVzIGNvZGUgNTAwPC9wPgo8cHJlIHN0eWxlPSJmb250LWZhbWlseTpD b25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVyLG1vbm9zcGFjZTtmb250LXNpemU6MWVtO2xpbmUt aGVpZ2h0OjEuMmVtO21hcmdpbjoxLjJlbSAwcHgiPjxjb2RlIHN0eWxlPSJmb250LXNpemU6MC44 NWVtO2ZvbnQtZmFtaWx5OkNvbnNvbGFzLEluY29uc29sYXRhLENvdXJpZXIsbW9ub3NwYWNlO21h cmdpbjowcHggMC4xNWVtO3doaXRlLXNwYWNlOnByZTtvdmVyZmxvdzphdXRvO2JvcmRlci10b3At bGVmdC1yYWRpdXM6M3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9t LXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyOjFw eCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmc6MC41ZW07Y29sb3I6cmdiKDUxLDUxLDUx KTtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDtiYWNrZ3JvdW5kOnJnYigyNDgsMjQ4LDI1NSkiPgoq IEFkZGluZyBoYW5kbGU6IGNvbm46IDB4N2ZmMTU5MDAzMDAwIAoqIEFkZGluZyBoYW5kbGU6IHNl bmQ6IDAgCiogQWRkaW5nIGhhbmRsZTogcmVjdjogMCAKKiBDdXJsX2FkZEhhbmRsZVRvUGlwZWxp bmU6IGxlbmd0aDogMSAKKiAtIENvbm4gMCAoMHg3ZmYxNTkwMDMwMDApIHNlbmRfcGlwZTogMSwg cmVjdl9waXBlOiAwIAoqIEFib3V0IHRvIGNvbm5lY3QoKSB0byA8YSBocmVmPSJodHRwOi8vcXVp Y2tzdGFydHMtZWRld2l0LnJoY2xvdWQuY29tIj5xdWlja3N0YXJ0cy1lZGV3aXQucmhjbG91ZC5j b208L2E+IHBvcnQgODAgKCMwKSAKKiAgIFRyeWluZyA1MC4xNi4xNzYuMjM5Li4uIAoqIENvbm5l Y3RlZCB0byA8YSBocmVmPSJodHRwOi8vcXVpY2tzdGFydHMtZWRld2l0LnJoY2xvdWQuY29tIj5x dWlja3N0YXJ0cy1lZGV3aXQucmhjbG91ZC5jb208L2E+ICg1MC4xNi4xNzYuMjM5KSBwb3J0IDgw ICgjMCkgCiZndDsgUFVUIC9yZXN0L2NvbnRhY3RzLzcgSFRUUC8xLjEgCiZndDsgVXNlci1BZ2Vu dDogY3VybC83LjMwLjAgCiZndDsgSG9zdDogPGEgaHJlZj0iaHR0cDovL3F1aWNrc3RhcnRzLWVk ZXdpdC5yaGNsb3VkLmNvbSI+cXVpY2tzdGFydHMtZWRld2l0LnJoY2xvdWQuY29tPC9hPiAKJmd0 OyBDb29raWU6IEpTRVNTSU9OSUQ9PGEgaHJlZj0iaHR0cDovL3p1Z3VjUDJMTkhMYkNOTk93QnJE M214Ni5xdWlja3N0YXJ0cy1lZGV3aXQucmhjbG91ZC5jb20iPnp1Z3VjUDJMTkhMYkNOTk93QnJE M214Ni5xdWlja3N0YXJ0cy1lZGV3aXQucmhjbG91ZC5jb208L2E+IAomZ3Q7IEFjY2VwdDogYXBw bGljYXRpb24vanNvbiAKJmd0OyBDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb24gCiZndDsg Q29udGVudC1MZW5ndGg6IDEyMCAKJmd0OyAgCiogdXBsb2FkIGNvbXBsZXRlbHkgc2VudCBvZmY6 IDEyMCBvdXQgb2YgMTIwIGJ5dGVzIAombHQ7IEhUVFAvMS4xIDUwMCBJbnRlcm5hbCBTZXJ2ZXIg RXJyb3IgCiZsdDsgRGF0ZTogTW9uLCAwMiBKdW4gMjAxNCAxMjowNDo1OSBHTVQgCiZsdDsgQ29u dGVudC1UeXBlOiB0ZXh0L2h0bWw7Y2hhcnNldD1JU08tODg1OS0xIAombHQ7IENvbnRlbnQtTGVu Z3RoOiA4MCAKJmx0OyBDb25uZWN0aW9uOiBjbG9zZSAKJmx0OyAgCiogQ2xvc2luZyBjb25uZWN0 aW9uIDAgCiZsdDtodG1sJmd0OyZsdDtoZWFkJmd0OyZsdDt0aXRsZSZndDtFcnJvciZsdDsvdGl0 bGUmZ3Q7Jmx0Oy9oZWFkJmd0OyZsdDtib2R5Jmd0O0ludGVybmFsIFNlcnZlciBFcnJvciZsdDsv Ym9keSZndDsmbHQ7L2h0bWwmZ3Q7CjwvY29kZT48L3ByZT48ZGl2IHRpdGxlPSJNREg6VTI5eWNu a3NQR1JwZGo0OFluSStQQzlrYVhZK1BHUnBkajVaWldGd0xDQkpKMjBnZEhKNUlIVndaR0YwWlNC aElHTnZiblJoWTNRZwpZVzVrSUhSb1pTQnpaWEoyWlhJZ2NtVnpjRzl1WkdVZ2R5OGdjM1JoZEhW eklHTnZaR1VnTlRBd1BDOWthWFkrUEdScGRqNDhZbkkrClBDOWthWFkrUEdScGRqNWdZR0E4TDJS cGRqNDhaR2wyUGdvS0Nnb0tDZ29LUEhBZ1kyeGhjM005SWlJK0tpQkJaR1JwYm1jZ2FHRnUKWkd4 bE9pQmpiMjV1T2lBd2VEZG1aakUxT1RBd016QXdNRHd2Y0Q0S1BIQWdZMnhoYzNNOUlpSStLaUJC WkdScGJtY2dhR0Z1Wkd4bApPaUJ6Wlc1a09pQXdQQzl3UGdvOGNDQmpiR0Z6Y3owaUlqNHFJRUZr WkdsdVp5Qm9ZVzVrYkdVNklISmxZM1k2SURBOEwzQStDanh3CklHTnNZWE56UFNJaVBpb2dRM1Z5 YkY5aFpHUklZVzVrYkdWVWIxQnBjR1ZzYVc1bE9pQnNaVzVuZEdnNklERThMM0ErQ2p4d0lHTnMK WVhOelBTSWlQaW9nTFNCRGIyNXVJREFnS0RCNE4yWm1NVFU1TURBek1EQXdLU0J6Wlc1a1gzQnBj R1U2SURFc0lISmxZM1pmY0dsdwpaVG9nTUR3dmNENEtQSEFnWTJ4aGMzTTlJaUkrS2lCQlltOTFk Q0IwYnlCamIyNXVaV04wS0NrZ2RHOGdjWFZwWTJ0emRHRnlkSE10ClpXUmxkMmwwTG5Kb1kyeHZk V1F1WTI5dElIQnZjblFnT0RBZ0tDTXdLVHd2Y0Q0S1BIQWdZMnhoYzNNOUlpSStLaUFtYm1KemNE c2cKVkhKNWFXNW5JRFV3TGpFMkxqRTNOaTR5TXprdUxpNDhMM0ErQ2p4d0lHTnNZWE56UFNJaVBp b2dRMjl1Ym1WamRHVmtJSFJ2SUhGMQphV05yYzNSaGNuUnpMV1ZrWlhkcGRDNXlhR05zYjNWa0xt TnZiU0FvTlRBdU1UWXVNVGMyTGpJek9Ta2djRzl5ZENBNE1DQW9JekFwClBDOXdQZ284Y0NCamJH RnpjejBpSWo0bVozUTdJRkJWVkNBdmNtVnpkQzlqYjI1MFlXTjBjeTgzSUVoVVZGQXZNUzR4UEM5 d1BnbzgKY0NCamJHRnpjejBpSWo0bVozUTdJRlZ6WlhJdFFXZGxiblE2SUdOMWNtd3ZOeTR6TUM0 d1BDOXdQZ284Y0NCamJHRnpjejBpSWo0bQpaM1E3SUVodmMzUTZJSEYxYVdOcmMzUmhjblJ6TFdW a1pYZHBkQzV5YUdOc2IzVmtMbU52YlR3dmNENEtQSEFnWTJ4aGMzTTlJaUkrCkptZDBPeUJEYjI5 cmFXVTZJRXBUUlZOVFNVOU9TVVE5ZW5WbmRXTlFNa3hPU0V4aVEwNU9UM2RDY2tRemJYZzJMbkYx YVdOcmMzUmgKY25SekxXVmtaWGRwZEM1eWFHTnNiM1ZrTG1OdmJUd3ZjRDRLUEhBZ1kyeGhjM005 SWlJK0ptZDBPeUJCWTJObGNIUTZJR0Z3Y0d4cApZMkYwYVc5dUwycHpiMjQ4TDNBK0NqeHdJR05z WVhOelBTSWlQaVpuZERzZ1EyOXVkR1Z1ZEMxMGVYQmxPaUJoY0hCc2FXTmhkR2x2CmJpOXFjMjl1 UEM5d1BnbzhjQ0JqYkdGemN6MGlJajRtWjNRN0lFTnZiblJsYm5RdFRHVnVaM1JvT2lBeE1qQThM M0ErQ2p4d0lHTnMKWVhOelBTSWlQaVpuZERzbWJtSnpjRHM4TDNBK0NqeHdJR05zWVhOelBTSWlQ aW9nZFhCc2IyRmtJR052YlhCc1pYUmxiSGtnYzJWdQpkQ0J2Wm1ZNklERXlNQ0J2ZFhRZ2IyWWdN VEl3SUdKNWRHVnpQQzl3UGdvOGNDQmpiR0Z6Y3owaUlqNG1iSFE3SUVoVVZGQXZNUzR4CklEVXdN Q0JKYm5SbGNtNWhiQ0JUWlhKMlpYSWdSWEp5YjNJOEwzQStDanh3SUdOc1lYTnpQU0lpUGlac2RE c2dSR0YwWlRvZ1RXOXUKTENBd01pQktkVzRnTWpBeE5DQXhNam93TkRvMU9TQkhUVlE4TDNBK0Nq eHdJR05zWVhOelBTSWlQaVpzZERzZ1EyOXVkR1Z1ZEMxVQplWEJsT2lCMFpYaDBMMmgwYld3N1ky aGhjbk5sZEQxSlUwOHRPRGcxT1MweFBDOXdQZ284Y0NCamJHRnpjejBpSWo0bWJIUTdJRU52CmJu UmxiblF0VEdWdVozUm9PaUE0TUR3dmNENEtQSEFnWTJ4aGMzTTlJaUkrSm14ME95QkRiMjV1WldO MGFXOXVPaUJqYkc5elpUd3YKY0Q0S1BIQWdZMnhoYzNNOUlpSStKbXgwT3ladVluTndPend2Y0Q0 S1BIQWdZMnhoYzNNOUlpSStLaUJEYkc5emFXNW5JR052Ym01bApZM1JwYjI0Z01Ed3ZjRDRLUEhB Z1kyeGhjM005SWlJK0pteDBPMmgwYld3bVozUTdKbXgwTzJobFlXUW1aM1E3Sm14ME8zUnBkR3hs CkptZDBPMFZ5Y205eUpteDBPeTkwYVhSc1pTWm5kRHNtYkhRN0wyaGxZV1FtWjNRN0pteDBPMkp2 WkhrbVozUTdTVzUwWlhKdVlXd2cKVTJWeWRtVnlJRVZ5Y205eUpteDBPeTlpYjJSNUptZDBPeVpz ZERzdmFIUnRiQ1puZERzOEwzQStQSEFnWTJ4aGMzTTlJaUkrWUdCZwpQQzl3UGp3dlpHbDJQZz09 IiBzdHlsZT0iaGVpZ2h0OjBweDtmb250LXNpemU6MGVtO3BhZGRpbmc6MHB4O21hcmdpbjowcHgi PuKAizwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGJyPjxk aXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBNb24sIEp1biAyLCAyMDE0IGF0IDQ6MzkgQU0sIFNl YmFzdGllbiBCbGFuYyA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpzY20uYmxh bmNAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2NtLmJsYW5jQGdtYWlsLmNvbTwvYT4mZ3Q7 PC9zcGFuPiB3cm90ZTo8YnI+Cgo8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxl PSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxl ZnQ6MWV4Ij48ZGl2IGRpcj0ibHRyIj5XaGF0IGlzIHRoZSBpc3N1ZSB5b3UgYXJlIGhhdmluZyBh bmQgd2hhdCBhcmUgeW91IHRyeWluZyB0byBkbyAoaXNzdWUganVzdCB3aXRoIHRoZSB1cGRhdGU/ KSA/wqA8ZGl2Pjxicj4KCjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IkhPRW5aYiI+PGRpdiBjbGFz cz0iaDUiPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGJyPjxkaXYgY2xhc3M9ImdtYWls X3F1b3RlIj5PbiBGcmksIE1heSAzMCwgMjAxNCBhdCA4OjQ4IFBNLCBEYW5pZWwgUGFzc29zIDxz cGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmRhbmllbEBwYXNzb3MubWUiIHRhcmdl dD0iX2JsYW5rIj5kYW5pZWxAcGFzc29zLm1lPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCgo8 YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDti b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2IGRpcj0ibHRy Ij48ZGl2PjxwIHN0eWxlPSJtYXJnaW46MS4yZW0gMHB4IWltcG9ydGFudCI+U29tZW9uZSBrbm93 IHRoYXQgSSBhbSBkb2luZyB3cm9uZz88L3A+CjxoMiBzdHlsZT0ibWFyZ2luOjEuM2VtIDBweCAx ZW07cGFkZGluZzowcHg7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MS40ZW07Ym9yZGVyLWJv dHRvbS13aWR0aDoxcHg7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tLWNv bG9yOnJnYigyMDQsMjA0LDIwNCkiPkxvZ2luPC9oMj4KPHByZSBzdHlsZT0iZm9udC1zaXplOjAu ODVlbTtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVyLG1vbm9zcGFjZTtm b250LXNpemU6MWVtO2xpbmUtaGVpZ2h0OjEuMmVtO21hcmdpbjoxLjJlbSAwcHgiPjxjb2RlIHN0 eWxlPSJmb250LXNpemU6MC44NWVtO2ZvbnQtZmFtaWx5OkNvbnNvbGFzLEluY29uc29sYXRhLENv dXJpZXIsbW9ub3NwYWNlO21hcmdpbjowcHggMC4xNWVtO3BhZGRpbmc6MHB4IDAuM2VtO3doaXRl LXNwYWNlOnByZS13cmFwO2JvcmRlcjoxcHggc29saWQgcmdiKDIzNCwyMzQsMjM0KTtib3JkZXIt dG9wLWxlZnQtcmFkaXVzOjNweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJv dHRvbS1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4O2Rpc3Bs YXk6aW5saW5lO2JhY2tncm91bmQtY29sb3I6cmdiKDI0OCwyNDgsMjQ4KTt3aGl0ZS1zcGFjZTpw cmUtd3JhcDtvdmVyZmxvdzphdXRvO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci10 b3AtcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVy LWJvdHRvbS1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQp O3BhZGRpbmc6MC41ZW0gMC43ZW07ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7ZGlzcGxheTpibG9j aztwYWRkaW5nOjAuNWVtO2NvbG9yOnJnYig1MSw1MSw1MSk7YmFja2dyb3VuZDpyZ2IoMjQ4LDI0 OCwyNTUpIj5jdXJsIC12IC1iIGNvb2tpZXMudHh0IC1jIGNvb2tpZXMudHh0IFwKICAgICAtSCAm cXVvdDtBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24mcXVvdDsgXAogICAgIC1IICZxdW90O0NvbnRl bnQtdHlwZTogYXBwbGljYXRpb24vanNvbiZxdW90OyBcCiAgICAgLXUgJnF1b3Q7bXl1c2VyOm15 cGFzcyZxdW90OyBcCiAgICAgLVggR0VUIDxhIGhyZWY9Imh0dHA6Ly9xdWlja3N0YXJ0cy1lZGV3 aXQucmhjbG91ZC5jb20vcmVzdC9zZWN1cml0eS91c2VyL2luZm8iIHRhcmdldD0iX2JsYW5rIj5o dHRwOi8vcXVpY2tzdGFydHMtZWRld2l0LnJoY2xvdWQuY29tL3Jlc3Qvc2VjdXJpdHkvdXNlci9p bmZvPC9hPgo8L2NvZGU+PC9wcmU+PGgyIHN0eWxlPSJtYXJnaW46MS4zZW0gMHB4IDFlbTtwYWRk aW5nOjBweDtmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxLjRlbTtib3JkZXItYm90dG9tLXdp ZHRoOjFweDtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6cmdi KDIwNCwyMDQsMjA0KSI+VXBkYXRlIENvbnRhY3Q8L2gyPgo8cHJlIHN0eWxlPSJmb250LXNpemU6 MC44NWVtO2ZvbnQtZmFtaWx5OkNvbnNvbGFzLEluY29uc29sYXRhLENvdXJpZXIsbW9ub3NwYWNl O2ZvbnQtc2l6ZToxZW07bGluZS1oZWlnaHQ6MS4yZW07bWFyZ2luOjEuMmVtIDBweCI+PGNvZGUg c3R5bGU9ImZvbnQtc2l6ZTowLjg1ZW07Zm9udC1mYW1pbHk6Q29uc29sYXMsSW5jb25zb2xhdGEs Q291cmllcixtb25vc3BhY2U7bWFyZ2luOjBweCAwLjE1ZW07cGFkZGluZzowcHggMC4zZW07d2hp dGUtc3BhY2U6cHJlLXdyYXA7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjM0LDIzNCwyMzQpO2JvcmRl ci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweDtib3JkZXIt Ym90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHg7ZGlz cGxheTppbmxpbmU7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ4LDI0OCwyNDgpO3doaXRlLXNwYWNl OnByZS13cmFwO292ZXJmbG93OmF1dG87Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVy LXRvcC1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweDtib3Jk ZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIw NCk7cGFkZGluZzowLjVlbSAwLjdlbTtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDtkaXNwbGF5OmJs b2NrO3BhZGRpbmc6MC41ZW07Y29sb3I6cmdiKDUxLDUxLDUxKTtiYWNrZ3JvdW5kOnJnYigyNDgs MjQ4LDI1NSkiPmN1cmwgLXYgLWIgY29va2llcy50eHQgLWMgY29va2llcy50eHQgXAogICAgIC1I ICZxdW90O0FjY2VwdDogYXBwbGljYXRpb24vanNvbiZxdW90OyBcCiAgICAgLUggJnF1b3Q7Q29u dGVudC10eXBlOiBhcHBsaWNhdGlvbi9qc29uJnF1b3Q7IFwKICAgICAtWCBQVVQgXAogICAgIC1k ICYjMzk7eyZxdW90O2ZpcnN0TmFtZSZxdW90OzomcXVvdDtmbmFtZSZxdW90OywmcXVvdDtsYXN0 TmFtZSZxdW90OzomcXVvdDtsbmFtZSZxdW90OywmcXVvdDtwaG9uZU51bWJlciZxdW90OzomcXVv dDsxMjM0NTY3JnF1b3Q7LCZxdW90O2VtYWlsJnF1b3Q7OiZxdW90OzxhIGhyZWY9Im1haWx0bzpl eGFtcGxlQGV4YW1wbGUuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZXhhbXBsZUBleGFtcGxlLmNvbTwv YT4mcXVvdDssICZxdW90O2JpcnRoRGF0ZSZxdW90OzomcXVvdDsyMDAxLTAzLTI0JnF1b3Q7fSYj Mzk7IFwKICAgICAgPGEgaHJlZj0iaHR0cDovL3F1aWNrc3RhcnRzLWVkZXdpdC5yaGNsb3VkLmNv bS9yZXN0L2NvbnRhY3RzLzciIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vcXVpY2tzdGFydHMtZWRl d2l0LnJoY2xvdWQuY29tL3Jlc3QvY29udGFjdHMvNzwvYT4KPC9jb2RlPjwvcHJlPjxwIHN0eWxl PSJtYXJnaW46MS4yZW0gMHB4IWltcG9ydGFudCI+4oCUIFBhc3NvczwvcD4KPGRpdiB0aXRsZT0i TURIOlUyOXRaVzl1WlNCcmJtOTNJSFJvWVhRZ1NTQmhiU0JrYjJsdVp5QjNjbTl1Wno4OFpHbDJQ anhpY2o0OEwyUnBkajQ4WkdsMlBqeGsKYVhZK0l5TWdURzluYVc0OEwyUnBkajQ4WkdsMlBtQmdZ RHd2WkdsMlBqeGthWFkrWTNWeWJDQXRkaUF0WWlCamIyOXJhV1Z6TG5SNApkQ0F0WXlCamIyOXJh V1Z6TG5SNGRDQmNQQzlrYVhZK1BHUnBkajRtYm1KemNEc2dKbTVpYzNBN0lDWnVZbk53T3kxSUlD SkJZMk5sCmNIUTZJR0Z3Y0d4cFkyRjBhVzl1TDJwemIyNGlJRnc4TDJScGRqNDhaR2wyUGladVlu TndPeUFtYm1KemNEc2dKbTVpYzNBN0xVZ2cKSWtOdmJuUmxiblF0ZEhsd1pUb2dZWEJ3YkdsallY UnBiMjR2YW5OdmJpSWdYRHd2WkdsMlBqeGthWFkrSm01aWMzQTdJQ1p1WW5OdwpPeUFtYm1KemNE c3RkU0FpYlhsMWMyVnlPbTE1Y0dGemN5SWdYRHd2WkdsMlBqeGthWFkrSm01aWMzQTdJQ1p1WW5O d095QW1ibUp6CmNEc3RXQ0JIUlZRZ2FIUjBjRG92TDNGMWFXTnJjM1JoY25SekxXVmtaWGRwZEM1 eWFHTnNiM1ZrTG1OdmJTOXlaWE4wTDNObFkzVnkKYVhSNUwzVnpaWEl2YVc1bWJ6d3ZaR2wyUGp4 a2FYWStZR0JnUEM5a2FYWStQR1JwZGo0OFluSStQQzlrYVhZK1BHUnBkajRqSXlCVgpjR1JoZEdV Z1EyOXVkR0ZqZER3dlpHbDJQanhrYVhZK1lHQmdQQzlrYVhZK1BHUnBkajVqZFhKc0lDMTJJQzFp SUdOdmIydHBaWE11CmRIaDBJQzFqSUdOdmIydHBaWE11ZEhoMElGdzhMMlJwZGo0OFpHbDJQaVp1 WW5Od095QW1ibUp6Y0RzZ0ptNWljM0E3TFVnZ0lrRmoKWTJWd2REb2dZWEJ3YkdsallYUnBiMjR2 YW5OdmJpSWdYRHd2WkdsMlBqeGthWFkrSm01aWMzQTdJQ1p1WW5Od095QW1ibUp6Y0RzdApTQ0Fp UTI5dWRHVnVkQzEwZVhCbE9pQmhjSEJzYVdOaGRHbHZiaTlxYzI5dUlpQmNQQzlrYVhZK1BHUnBk ajRtYm1KemNEc2dKbTVpCmMzQTdJQ1p1WW5Od095MVlJRkJWVkNCY1BDOWthWFkrUEdScGRqNG1i bUp6Y0RzZ0ptNWljM0E3SUNadVluTndPeTFrSUNkN0ltWnAKY25OMFRtRnRaU0k2SW1adVlXMWxJ aXdpYkdGemRFNWhiV1VpT2lKc2JtRnRaU0lzSW5Cb2IyNWxUblZ0WW1WeUlqb2lNVEl6TkRVMgpO eUlzSW1WdFlXbHNJam9pWlhoaGJYQnNaVUJsZUdGdGNHeGxMbU52YlNJc0lDSmlhWEowYUVSaGRH VWlPaUl5TURBeExUQXpMVEkwCkluMG5JRnc4TDJScGRqNDhaR2wyUGladVluTndPeUFtYm1KemNE c2dKbTVpYzNBN0lHaDBkSEE2THk5eGRXbGphM04wWVhKMGN5MWwKWkdWM2FYUXVjbWhqYkc5MVpD NWpiMjB2Y21WemRDOWpiMjUwWVdOMGN5ODNQQzlrYVhZK1BHUnBkajVnWUdBOEwyUnBkajQ4TDJS cApkajQ4WkdsMlBqeGljajQ4TDJScGRqNDhaR2wyUGkwdElGQmhjM052Y3p3dlpHbDJQZz09IiBz dHlsZT0ibWluLWhlaWdodDowO2ZvbnQtc2l6ZTowZW07cGFkZGluZzowO21hcmdpbjowIj7igIs8 L2Rpdj48L2Rpdj48L2Rpdj48ZGl2PjxkaXY+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj48 YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPgpPbiBUdWUsIE1heSAyMCwgMjAxNCBhdCAzOjEz IFBNLCBTZWJhc3RpZW4gQmxhbmMgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86 c2NtLmJsYW5jQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNjbS5ibGFuY0BnbWFpbC5jb208 L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgoKPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3Rl IiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFk ZGluZy1sZWZ0OjFleCI+PGRpdiBkaXI9Imx0ciI+U2luY2Ugd2UgY2hhbmdlZCB0aGUgdXNlIGNh c2UgZm9yIHRoZSBQdXNoIHBhcnQgKG5vdyB3ZSBicm9hZGNhc3QpICwgcGFzc2luZyBhIGFsaWFz IHRvIFVQUyBpcyBub3QgcmVsZXZhbnQgYW55bW9yZS4gRm9yIHRoZSBsb2dpbiBpdCYjMzk7cyBp bmRlZWQgJnF1b3Q7bG9naW5OYW1lJnF1b3Q7IHRvIGJlIHBhc3NlZCBpbiB0aGUgYXV0aCBoZWFk ZXIgYWxvbmcgd2l0aCB0aGUgcGFzc3dvcmQuPGRpdj4KCgoKCgrCoDxkaXYgY2xhc3M9ImdtYWls X2V4dHJhIj48YnI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2PjxkaXY+T24gVHVl LCBNYXkgMjAsIDIwMTQgYXQgNzozNCBQTSwgRGFuaWVsIFBhc3NvcyA8c3BhbiBkaXI9Imx0ciI+ Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW5pZWxAcGFzc29zLm1lIiB0YXJnZXQ9Il9ibGFuayI+ZGFu aWVsQHBhc3Nvcy5tZTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+CgoKCgo8L2Rpdj48L2Rpdj48 YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDti b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2PjxkaXY+Cjxk aXYgZGlyPSJsdHIiPlRvIHJlZ2lzdGVyIEkgc2VuZCAmcXVvdDt1c2VyTmFtZSZxdW90OyBhbmQg dGhlIGxvZ2luIHJlc3BvbnNlICZxdW90O2xvZ2luTmFtZSZxdW90Oz88c3Bhbj48Zm9udCBjb2xv cj0iIzg4ODg4OCI+PGRpdj48YnI+PC9kaXY+PC9mb250Pjwvc3Bhbj48ZGl2PjxzcGFuPjxmb250 IGNvbG9yPSIjODg4ODg4Ij4tLSBQYXNzb3M8L2ZvbnQ+PC9zcGFuPjxkaXY+Cjxicj48ZGl2IGNs YXNzPSJnbWFpbF9leHRyYSI+PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gVGh1 LCBBcHIgMTcsIDIwMTQgYXQgNjowNyBQTSwgU2ViYXN0aWVuIEJsYW5jIDxzcGFuIGRpcj0ibHRy Ij4mbHQ7PGEgaHJlZj0ibWFpbHRvOnNjbS5ibGFuY0BnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5r Ij5zY20uYmxhbmNAZ21haWwuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCgoKCgoKCjxi bG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAw LjhleDtib3JkZXItbGVmdC13aWR0aDoxcHg7Ym9yZGVyLWxlZnQtY29sb3I6cmdiKDIwNCwyMDQs MjA0KTtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2IGRpcj0i bHRyIj5TdXJlICE8ZGl2PlRoaXMgaXMganVzdCBhIHZlcnNpb24gdG8gZWFzZSB0aGUgY2xpZW50 IGRldmVsb3BtZW50LjwvZGl2PgoKCgoKCgoKPGRpdj5JIHdpbGwgYXNrIFBMIHRlYW0gYW5kIEpv c2h1YSB0aGVpciBwbGFucyBhcm91bmQgSFNUUyBhbmQgSFRUUFMuPC9kaXY+PGRpdj5JbiB0aGUg bWVhbiB0aW1lIHdlIGNhbiB0cmFjayBhbGwgb2YgdGhpcyB3aXRowqA8YSBocmVmPSJodHRwczov L2lzc3Vlcy5qYm9zcy5vcmcvYnJvd3NlL0FHUFVTSC01OTYiIHRhcmdldD0iX2JsYW5rIj5odHRw czovL2lzc3Vlcy5qYm9zcy5vcmcvYnJvd3NlL0FHUFVTSC01OTY8L2E+PC9kaXY+CgoKCgoKCgoK PGRpdj48YnI+PC9kaXY+PGRpdj5UaHggZm9yIHRoZSBjb21tZW50ICE8L2Rpdj48ZGl2PlNlYmk8 L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPjxicj48ZGl2IGNsYXNzPSJn bWFpbF9xdW90ZSI+PGRpdj48ZGl2Pk9uIFRodSwgQXByIDE3LCAyMDE0IGF0IDk6NDggUE0sIEJy dW5vIE9saXZlaXJhIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmJydW5vQGFi c3RyYWN0ai5vcmciIHRhcmdldD0iX2JsYW5rIj5icnVub0BhYnN0cmFjdGoub3JnPC9hPiZndDs8 L3NwYW4+IHdyb3RlOjxicj4KCgoKCgoKCgo8L2Rpdj48L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0i Z21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQt d2lkdGg6MXB4O2JvcmRlci1sZWZ0LWNvbG9yOnJnYigyMDQsMjA0LDIwNCk7Ym9yZGVyLWxlZnQt c3R5bGU6c29saWQ7cGFkZGluZy1sZWZ0OjFleCI+PGRpdj48ZGl2PklmIHlvdXIgaWRlYSBpcyB0 byBiZSBzZWN1cmUsIHBsZWFzZSBtYWtlIHN1cmUgdG8gdXNlIEhUVFBTIGFuZCBlbmZvcmNlPGJy PgoKCgoKCgoKCnVzZXJzIHRvIGJlIHJlZGlyZWN0ZWQuIFdlIGRpZCBpdCBpbiB0aGUgcGFzdCB3 aXRoIEhTVFMgb24gQUcgU2VjdXJpdHksPGJyPgptaWdodCBub3QgYmUgaGFyZCB0byBjb3B5ICZh bXA7IHBhc3RlLjxicj4KPGRpdj48ZGl2Pjxicj4KU2ViYXN0aWVuIEJsYW5jIHdyb3RlOjxicj4K Jmd0OyBBbmQgYmVjYXVzZSBJIGxvdmUgeW91LCBJIGRlcGxveWVkIG9uIE9wZW5TaGlmdCBhIHZl cnNpb24gb2YgdGhpcyBzZWN1cmVkPGJyPgomZ3Q7IGJhY2tlbmQgdG8gZWFzZSB0aGUgZGV2ZWxv cG1lbnQgb2YgdGhlIGNsaWVudHMgITxicj4KJmd0Ozxicj4KJmd0OyBJZiB5b3UgYnJvd3NlIHRv IDxhIGhyZWY9Imh0dHA6Ly9jb250YWN0cy1zYmxhbmMucmhjbG91ZC5jb20vIiB0YXJnZXQ9Il9i bGFuayI+aHR0cDovL2NvbnRhY3RzLXNibGFuYy5yaGNsb3VkLmNvbS88L2E+IHlvdSB3aWxsIGV2 ZW4gc2VlIHRoZTxicj4KJmd0OyBtb2JpbGUgd2ViIGNsaWVudC4gVGhpcyBkZXBsb3llZCB2ZXJz aW9uIGNvbnRhaW5zIGFsc28gdGhlIFB1c2ggTWVzc2FnZTxicj4KJmd0OyBlbmRwb2ludC48L2Rp dj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3Rl PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pgo8YnI+PC9kaXY+PC9kaXY+PGRpdj5fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KYWVyb2dlYXIt ZGV2IG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOmFlcm9nZWFyLWRldkBsaXN0cy5q Ym9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5hZXJvZ2Vhci1kZXZAbGlzdHMuamJvc3Mub3JnPC9h Pjxicj4KPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9h ZXJvZ2Vhci1kZXYiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL2Flcm9nZWFyLWRldjwvYT48YnI+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2 Pjxicj48L2Rpdj48L2Rpdj48L2Rpdj4KPGJyPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fPGJyPgphZXJvZ2Vhci1kZXYgbWFpbGluZyBsaXN0PGJyPgo8YSBo cmVmPSJtYWlsdG86YWVyb2dlYXItZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsi PmFlcm9nZWFyLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xp c3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Flcm9nZWFyLWRldiIgdGFyZ2V0PSJfYmxh bmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vYWVyb2dlYXItZGV2 PC9hPjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2Pgo8L2Rpdj48L2Rpdj48YnI+X19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+CmFlcm9nZWFy LWRldiBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0bzphZXJvZ2Vhci1kZXZAbGlzdHMu amJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+YWVyb2dlYXItZGV2QGxpc3RzLmpib3NzLm9yZzwv YT48YnI+CjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8v YWVyb2dlYXItZGV2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9hZXJvZ2Vhci1kZXY8L2E+PGJyPjwvYmxvY2txdW90ZT48L2Rpdj48YnI+ PC9kaXY+CjwvZGl2PjwvZGl2Pjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXzxicj4KYWVyb2dlYXItZGV2IG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0i bWFpbHRvOmFlcm9nZWFyLWRldkBsaXN0cy5qYm9zcy5vcmciPmFlcm9nZWFyLWRldkBsaXN0cy5q Ym9zcy5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2Flcm9nZWFyLWRldiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJv c3Mub3JnL21haWxtYW4vbGlzdGluZm8vYWVyb2dlYXItZGV2PC9hPjxicj48L2Jsb2NrcXVvdGU+ PC9kaXY+PGJyPjwvZGl2Pgo= --===============7771445473514243238==--