D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
local
/
psa
/
var
/
modules
/
xovi
/
Filename :
serp_4.json
back
Copy
{"success":true,"settings":{"hash":"4","url":"https:\/\/www.google.de\/search?q=l%27eliografica+milano&as_rights=&num=100&start=0&pws=0&hl=de&near=Deutschland&uule=w+CAIQICIHR2VybWFueQ&gws_rd=cr&gl=DE&glp=1&gbv=1"},"code":200,"exception":null,"bodyLen":83703,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZGUiPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT0xak5UYUtPQUJMbWdzZU1QNXBHQ1NBIiBodHRwLWVxdWl2PSJyZWZyZXNoIj48ZGl2IHN0eWxlPSJkaXNwbGF5OmJsb2NrIj48YSBocmVmPSIvaHR0cHNlcnZpY2UvcmV0cnkvZW5hYmxlanM\/c2VpPTFqTlRhS09BQkxtZ3NlTVA1cEdDU0EiPktsaWNrZSBoaWVyPC9hPiwgd2VubiBkdSBuYWNoIGVpbmlnZW4gU2VrdW5kZW4gbmljaHQgYXV0b21hdGlzY2ggd2VpdGVyZ2VsZWl0ZXQgd2lyc3QuPC9kaXY+PC9ub3NjcmlwdD48c2NyaXB0IG5vbmNlPSJHRnBRYk1iY3dSMWFETFV0WU5TYW93Ij4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09CihmdW5jdGlvbigpe2Z1bmN0aW9uIHgoVCl7cmV0dXJuIFR9dmFyIFk9ZnVuY3Rpb24oVCxNLEssdCxELHkseixHLFYsYyxxLEYpe0Y9NzI7e3E9TTt3aGlsZSghW109PWZhbHNlKXRyeXtpZihGPT1UKWJyZWFrO2Vsc2UgaWYoRj09NDgpRj1HJiZHLmNyZWF0ZVBvbGljeT81MTo1NjtlbHNlIGlmKEY9PTUxKXE9SyxWPUcuY3JlYXRlUG9saWN5KHkse2NyZWF0ZUhUTUw6UCxjcmVhdGVTY3JpcHQ6UCxjcmVhdGVTY3JpcHRVUkw6UH0pLEY9NTA7ZWxzZSBpZihGPT0zNSlGPU4uY29uc29sZT90OjUwO2Vsc2UgaWYoRj09dClOLmNvbnNvbGVbRF0oYy5tZXNzYWdlKSxGPTUwO2Vsc2V7aWYoRj09NTYpcmV0dXJuIFY7aWYoRj09NTApcmV0dXJuIHE9TSxWO0Y9PTcyPyhWPXosRz1OLnRydXN0ZWRUeXBlcyxGPTQ4KTpGPT0xNyYmKHE9TSxGPTM1KX19Y2F0Y2godyl7aWYocT09TSl0aHJvdyB3O3E9PUsmJihjPXcsRj0xNyl9fX0sUD1mdW5jdGlvbihUKXtyZXR1cm4geC5jYWxsKHRoaXMsVCl9LE49dGhpc3x8c2VsZjsoMCxldmFsKShmdW5jdGlvbihULE0pe3JldHVybihNPVkoNzgsMzIsMyw2LCJlcnJvciIsImtzIixudWxsKSkmJlQuZXZhbChNLmNyZWF0ZVNjcmlwdCgiMSIpKT09PTE\/ZnVuY3Rpb24oSyl7cmV0dXJuIE0uY3JlYXRlU2NyaXB0KEspfTpmdW5jdGlvbihLKXtyZXR1cm4iIitLfX0oTikoQXJyYXkoTWF0aC5yYW5kb20oKSo3ODI0fDApLmpvaW4oIlxuIikrWycvLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09JywKJyhmdW5jdGlvbigpey8qJywKJycsCicgQ29weXJpZ2h0IEdvb2dsZSBMTEMnLAonIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wJywKJyovJywKJ3ZhciB3Vj1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0KXtmb3IodD04Njt0IT03NzspaWYodD09NTQpdD14Kzc+PjE8eCYmKHgtM3wxOSk+PXg\/NjY6OTE7ZWxzZSBpZih0PT04Nil0PTU0O2Vsc2UgaWYodD09NjYpVi5jbGFzc0xpc3Q\/Vi5jbGFzc0xpc3QucmVtb3ZlKHcpOlRBKGZhbHNlLHcsTSw3MixULFYpJiZ1KFYsOSxLLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCh4WSg0NCxULFYpLGZ1bmN0aW9uKHEpe3JldHVybiBxIT13fSkuam9pbihHKSksdD05MTtlbHNle2lmKHQ9PTE2KXJldHVybiBOO3Q9PTExPyhLLkY9KChLLkY\/Sy5GKyJ+IjoiRToiKStNLm1lc3NhZ2UrVCtNLnN0YWNrKS5zbGljZSgwLEYpLHQ9MTYpOnQ9PTkxJiYodD14Kzk+PS01MSYmKHg8PDImOCk8Mz8xMToxNil9fSxUQT1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEsYyl7e3E9Njt3aGlsZShxIT01MSlpZihxPT0zNylBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHgsZnVuY3Rpb24oUCx5LHope2Zvcih6PTcyO3ohPTc4Oyl6PT01MD8oeT1NWCgxMSwiIiwic3RyaW5nIixUKSx1KFQsNSwic3RyaW5nIix5Kyh5Lmxlbmd0aD4wPyIgIitQOlApKSx6PTc4KTp6PT03Mj96PVQuY2xhc3NMaXN0PzQ4OjUxOno9PTQ4PyhULmNsYXNzTGlzdC5hZGQoUCksej03OCk6ej09NTEmJih6PVRBKGZhbHNlLFAsMSw3MywiIixUKT83ODo1MCl9KSxxPTI4O2Vsc2UgaWYocT09NzQpdz1xWCxWIGluIHc\/TS5zZXRBdHRyaWJ1dGUoTix3W1ZdKTpNLnJlbW92ZUF0dHJpYnV0ZShOKSxxPTY3O2Vsc2UgaWYocT09NTQpcT1HPT09IiJ8fEc9PXZvaWQgMD82NTo0MDtlbHNlIGlmKHE9PTMxKXQ9e30scVg9KHQuYXRvbWljPUYsdC5hdXRvY29tcGxldGU9Im5vbmUiLHQuZHJvcGVmZmVjdD0ibm9uZSIsdC5oYXNwb3B1cD1GLHQubGl2ZT0ib2ZmIix0Lm11bHRpbGluZT1GLHQubXVsdGlzZWxlY3RhYmxlPUYsdC5vcmllbnRhdGlvbj0idmVydGljYWwiLHQucmVhZG9ubHk9Rix0LnJlbGV2YW50PSJhZGRpdGlvbnMgdGV4dCIsdC5yZXF1aXJlZD1GLHQuc29ydD0ibm9uZSIsdC5idXN5PUYsdC5kaXNhYmxlZD1GLHQuaGlkZGVuPUYsdC5pbnZhbGlkPVQsdCkscT03NDtlbHNlIGlmKHE9PTYpcT03NjtlbHNlIGlmKHE9PTQwKU0uc2V0QXR0cmlidXRlKE4sRykscT02NztlbHNlIGlmKHE9PTY5KXE9Sy05PDcmJkstMj4+Mz49MD81NzoyODtlbHNlIGlmKHE9PTIwKXtmb3IoTSBpbiBWPShBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHhZKDQzLChHPXt9LCIiKSxUKSxmdW5jdGlvbihQKXtHW1BdPXRydWV9KSxBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHgsZnVuY3Rpb24oUCl7R1tQXT10cnVlfSksIiIpLEcpVis9Vi5sZW5ndGg+MD8iICIrTTpNO3E9KHUoVCw3LCJzdHJpbmciLFYpLDI4KX1lbHNlIGlmKHE9PTgyKXQrKyxxPTEzO2Vsc2UgaWYocT09NjUpcT1xWD83NDozMTtlbHNlIGlmKHE9PTU3KXE9VC5jbGFzc0xpc3Q\/Mzc6MjA7ZWxzZXtpZihxPT02NylyZXR1cm4gYztxPT01OT8oQXJyYXkuaXNBcnJheShHKSYmKEc9Ry5qb2luKHgpKSxOPSJhcmlhLSIrVixxPTU0KTpxPT03Nj9xPSgoS142NikmMTUpPT0yPzg5OjY5OnE9PTEwPyhjPXcscT02MSk6cT09MjQ\/cT1HLmNsYXNzTGlzdD83ODo5ODpxPT0zOT8oVEEoZmFsc2UsTSwwLDE2LHRydWUsRyxWLHcsTlt0XSkscT04Mik6cT09Nzg\/KHc9Ry5jbGFzc0xpc3QuY29udGFpbnMoTSkscT0xMCk6cT09MTM\/cT10PE4ubGVuZ3RoPzM5OjY5OnE9PTYxP3E9KEs+PjEmNyk9PTM\/NTk6Njc6cT09OTg\/KFY9eFkoNDUseCxHKSx3PUooNTcsVCxWLE0pPj0wLHE9MTApOnE9PTQzP3E9MTM6cT09ODk\/cT1BcnJheS5pc0FycmF5KE4pPzQ5OjU4OnE9PTI4P3E9KEt8NzIpPT1LPzI0OjYxOnE9PTQ5Pyh0PVQscT00Myk6cT09NTgmJih3PUdBKDMyLHcpLFYmJlZbdDJdP1YuSC5hZGQoU3RyaW5nKE4pLHcseCxjOCg5LCJvYmplY3QiLE0pPyEhTS5jYXB0dXJlOiEhTSxHKTpzRyhGLDE0LCJvYmplY3QiLHcsRyxOLE0seCxWKSxxPTY5KX19fSxrPWZ1bmN0aW9uKEYsTSxULEsseCl7cmV0dXJuKE0tND4+NHx8KEYubD94PUR3KEYuWixGKTooSz15bChGLDgsdHJ1ZSksLX4oSyYxMjgpKyhLJi0xMjkpKyh+S3wxMjgpJiYoSz0yKihLfDApLTMqKEsmMTI4KS0gLTEyOSsofkt8MTI4KSxUPXlsKEYsMix0cnVlKSxLPShLPDwyKSsoVHwwKSkseD1LKSksKE0mNTYpPT1NJiYoRi5sP3g9RHcoRi5aLEYpOihUPXlsKEYsOCx0cnVlKSwtfihUJjEyOCkrKFQmLTEyOSkrKH5UfDEyOCkmJihUPTIqKFR8MCktMyooVCYxMjgpLSAtMTI5Kyh+VHwxMjgpLEs9eWwoRiwyLHRydWUpLFQ9KFQ8PDIpKyhLfDApKSx4PVQpKSxNKzUmMTEpfHwoeD1LW1RdPDwyNHxLWyhUfDApKzFdPDwxNnxLWyhUfDIpLSAtMysoVHwtMyldPDw4fEtbLTEtMip+KFR8RiktKH5UJkYpKyh+VHxGKV0pLHh9LHY4PWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSl7Zm9yKHQ9MzU7dCE9NjU7KWlmKHQ9PTg3KXE9Ryx0PTEwO2Vsc2UgaWYodD09MTkpdD1LLkZOPzkxOjg5O2Vsc2UgaWYodD09MTApdD1UPDwyJjc\/NTk6OTtlbHNle2lmKHQ9PTU5KXJldHVybiBxO3Q9PTg5Pyh3PW5ldyBrWSh4LHRoaXMpLFY9Sy5tV3x8Sy5zcmMsTj1LLmxpc3RlbmVyLEsub20mJkdBKDUsbnVsbCwib24iLEspLEc9Ti5jYWxsKFYsdyksdD04Nyk6dD09MzU\/dD1NOnQ9PTk\/dD01OTp0PT1NP3Q9KFQtOCZNKT09Rj8xOToxMDp0PT05MSYmKEc9dHJ1ZSx0PTg3KX19LE1YPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjLFAseSl7Zm9yKFA9NDA7UCE9OTU7KWlmKFA9PTUpUD1xPFYubGVuZ3RoPzE2Ojc4O2Vsc2UgaWYoUD09NTIpUD01O2Vsc2UgaWYoUD09ODQpUD0oRi0zJjYpPj00JiYoRj4+MiY2KTwxPzEwOjg5O2Vsc2UgaWYoUD09MjEpKGM9Ti5TYShHLFYsdyx0KSkmJkdBKDgsbnVsbCwib24iLGMpLFA9Nzg7ZWxzZSBpZihQPT00MilxPVQsUD01MjtlbHNlIGlmKFA9PTQxKVA9KEYmNTYpPT1GPzY6NzY7ZWxzZSBpZihQPT02NClQPUs\/NDg6Nzg7ZWxzZXtpZihQPT04OSlyZXR1cm4geTtQPT00ND8ocSsrLFA9NSk6UD09ODY\/KHk9dHlwZW9mIEsuY2xhc3NOYW1lPT1UP0suY2xhc3NOYW1lOksuZ2V0QXR0cmlidXRlJiZLLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8TSxQPTg0KTpQPT0xMD8oUjQuY2FsbCh0aGlzKSxNfHxlSHx8KGVIPW5ldyBwWSksdGhpcy5kUD10aGlzLkp4PW51bGwsdGhpcy5Ddj1mYWxzZSx0aGlzLmkzPW51bGwsdGhpcy5UaT1mYWxzZSx0aGlzLnppPXZvaWQgMCx0aGlzLmZxPXRoaXMuVD1udWxsLFA9ODkpOlA9PTQ4PyhOPWUoOCxLKSxQPTYyKTpQPT03Nj9QPShGLTZeMzApPEYmJihGKzkmNDMpPj1GPzc0Ojc4OlA9PTY\/KHk9ISEoVC5IJCZ4KSYmISEoVC5JJngpIT1LJiYoIShHPVQuWmwsLTEtfngtKH5HJngpKXx8VC5kaXNwYXRjaEV2ZW50KEkoNSw0LDIsTSw2NCxLLHgpKSkmJiFULlYsUD03Nik6UD09MTY\/KE1YKDUsIm9iamVjdCIsMCxLLHgsRyxWW3FdLHcpLFA9NDQpOlA9PTc0P1A9QXJyYXkuaXNBcnJheShWKT80MjoyOlA9PTYyP1A9Tj8yMTo3ODpQPT0yPyh0PWM4KDYsTSx4KT8hIXguY2FwdHVyZTohIXgsRz1HQSgzNCxHKSxQPTEzKTpQPT00MD9QPTQxOlA9PTc4P1A9KEYtOCY5KT09MT84Njo4NDpQPT0xMz9QPUsmJktbdDJdPzU1OjY0OlA9PTU1JiYoSy5ILnJlbW92ZShTdHJpbmcoViksRyx0LHcpLFA9NzgpfX0saDI9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4pe2ZvcihOPTg4O04hPTI2OylpZihOPT01MilOPShNJjYyKT09TT84OjMxO2Vsc2UgaWYoTj09ODgpTj01MjtlbHNlIGlmKE49PTkxKXRoaXMuTHE9RS5kb2N1bWVudHx8ZG9jdW1lbnQsTj0zO2Vsc2UgaWYoTj09NDYpRz1LKHgpLnJlcGxhY2UoL1xcKy9nLCItIikucmVwbGFjZSgvXFwvL2csIl8iKS5yZXBsYWNlKC89L2csIiIpLE49NzQ7ZWxzZSBpZihOPT03KXgrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxULnNsaWNlKFYsVis4MTkyKSksTj0zNztlbHNlIGlmKE49PTk3KU49Sz84OToxNjtlbHNlIGlmKE49PTkyKU49dGhpcy51Lmxlbmd0aDw1MD81MTo0NztlbHNlIGlmKE49PTUxKXRoaXMudS5wdXNoKFQpLE49MzE7ZWxzZXtpZihOPT03OSlyZXR1cm4gdztOPT0xNj8oRz12b2lkIDAsTj03NCk6Tj09MzE\/Tj1NPj4xJjU\/Mzo5MTpOPT0zNz8oVis9ODE5MixOPTMwKTpOPT00Nz8oSz1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqdGhpcy5uKSxLPDUwJiYodGhpcy51W0tdPVQpLE49MzEpOk49PUY\/Tj0zMDpOPT04Pyh0aGlzLm4rKyxOPTkyKTpOPT0zMD9OPVY8VC5sZW5ndGg\/Nzo0NjpOPT03ND8odz1HLE49NzkpOk49PTg5PyhWPTAseD0iIixOPUYpOk49PTU0PyhLPXdpbmRvdy5idG9hLE49OTcpOk49PTMmJihOPSgoTV4xMikmOCk8NSYmKE0+PjImMyk+PTE\/NTQ6NzkpfX0sR0E9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMsUCx5LHosRCl7Zm9yKEQ9Mzk7RCE9MDspaWYoRD09NzgpRD0oRiYxNSk9PUY\/MTY6NTQ7ZWxzZSBpZihEPT0xMSl7YTp7Zm9yKHQ9KHc9Ry5zcGxpdCgoYz1kVixNKSksVCk7dDx3Lmxlbmd0aC1LO3QrKyl7aWYoIShOPXdbdF0sTiBpbiBjKSlicmVhayBhO2M9Y1tOXX1xPVYoKHk9Y1tQPXdbdy5sZW5ndGgtS10sUF0seSkpLHEhPXkmJnEhPXgmJmkwKGMsUCx7Y29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZSx2YWx1ZTpxfSl9RD03OH1lbHNlIGlmKEQ9PTY1KUQ9ViYmVlt0Ml0\/Mjg6NjtlbHNlIGlmKEQ9PTE4KXR5cGVvZiBNPT09ImZ1bmN0aW9uIj96PU06KE1bdTBdfHwoTVt1MF09ZnVuY3Rpb24oSCl7cmV0dXJuIE0uaGFuZGxlRXZlbnQoSCl9KSx6PU1bdTBdKSxEPTY2O2Vsc2UgaWYoRD09MTYpRD10eXBlb2YgSyE9PSJudW1iZXIiJiZLJiYhSy5GTj84MDo1NDtlbHNlIGlmKEQ9PTQ3KXo9VCBpbiBCOD9COFtUXTpCOFtUXT1NK1QsRD03O2Vsc2V7aWYoRD09NylyZXR1cm4gejtEPT01OT9EPVY\/MTE6Nzg6RD09ODA\/KFY9Sy5zcmMsRD02NSk6RD09MTA\/RD0oRjw8MiYxNSk+PTgmJkYtMj4+NDwyPzU5Ojc4OkQ9PTM1P0Q9eD84MTo2NzpEPT00Mj9EPXguc0s9PTA\/NDk6NTQ6RD09Njc\/KCRZKDEsMTcsdHJ1ZSxLKSxEPTU0KTpEPT01ND9EPShGXjM2KTwyMCYmRisyPj03PzE4OjY2OkQ9PTY\/KHc9Sy5wcm94eSxHPUsudHlwZSxWLnJlbW92ZUV2ZW50TGlzdGVuZXI\/Vi5yZW1vdmVFdmVudExpc3RlbmVyKEcsdyxLLmNhcHR1cmUpOlYuZGV0YWNoRXZlbnQ\/Vi5kZXRhY2hFdmVudChHQSg1OSxULEcpLHcpOlYuYWRkTGlzdGVuZXImJlYucmVtb3ZlTGlzdGVuZXImJlYucmVtb3ZlTGlzdGVuZXIodyksbzQtLSx4PWUoNyxWKSxEPTM1KTpEPT04MT8odShLLDgwLDAseCksRD00Mik6RD09NDk\/KHguc3JjPU0sVltKMl09TSxEPTU0KTpEPT02Nj9EPShGKzUmNjUpPj1GJiYoRi00XjI1KTxGPzQ3Ojc6RD09Mjg\/KHUoSyw3MiwwLFYuSCksRD01NCk6RD09MzkmJihEPTEwKX19LEk0PWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjLFAseSl7Zm9yKHk9ODA7eSE9MjI7KWlmKHk9PTE5KXk9KE0rN14xMCk+PU0mJihNKzcmNDYpPE0\/Mzk6MjtlbHNle2lmKHk9PTExKXJldHVybiBQO2lmKHk9PTgwKXk9MTk7ZWxzZSBpZih5PT0zOSl7aWYocT14LkguaVtTdHJpbmcoVCldKXtmb3IoYz0odD0ocT1xLmNvbmNhdCgpLDApLEYpO3Q8cS5sZW5ndGg7Kyt0KShWPXFbdF0pJiYhVi5GTiYmVi5jYXB0dXJlPT1HJiYodz1WLm1XfHxWLnNyYyxOPVYubGlzdGVuZXIsVi5vbSYmdShWLDczLDAseC5IKSxjPU4uY2FsbCh3LEspIT09ZmFsc2UmJmMpO1A9YyYmIUsuZGVmYXVsdFByZXZlbnRlZH1lbHNlIFA9Rjt5PTJ9ZWxzZSB5PT0yP3k9TSs2Pj40PzExOjgyOnk9PTgyJiYodGhpcy5OPUYseT0xMSl9fSxYPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYpeyhGLTV8MjUpPEYmJihGKzReMjYpPj1GJiYoTS5sP1Y9RHcoTS5aLE0pOihLPXlsKE0sOCx0cnVlKSwtfihLJjEyOCkrKEsmLTEyOSkrKH5LfDEyOCkmJihLPTIqKEt8MCktMyooSyYxMjgpLSAtMTI5Kyh+S3wxMjgpLFQ9eWwoTSwyLHRydWUpLEs9KEs8PDIpKyhUfDApKSxWPUspKTtzd2l0Y2goISgoRis1JjU5KT49RiYmRi02PDwxPEYpKXtjYXNlICEoMCE9PS0wKT09ISIiOjA7YnJlYWs7Y2FzZSBbXT09KG51bGwhPShOYU49PT1OYU4pKTpHPWsoSywxMyk7e3g9TTt3aGlsZShUPk0peD14PDw4fHJWKDgsdHJ1ZSxLKSxULS19bihHLEsseCk7YnJlYWt9cmV0dXJuIFZ9LEk9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4pe2Zvcih3PTU3O3chPTYyOylpZih3PT01Nyl3PTY2O2Vsc2UgaWYodz09NjYpdz0oRi0xXjcpPj1GJiYoRis0XjcpPEY\/NTI6MzE7ZWxzZSBpZih3PT01Mil2KFQsSyxNKSxNW3pBXT0yNzk2LHc9MzE7ZWxzZSBpZih3PT05KXthOntzd2l0Y2goVil7Y2FzZSAxOk49Rz8iZGlzYWJsZSI6ImVuYWJsZSI7YnJlYWsgYTtjYXNlIFQ6Tj1HPyJoaWdobGlnaHQiOiJ1bmhpZ2hsaWdodCI7YnJlYWsgYTtjYXNlIE06Tj1HPyJhY3RpdmF0ZSI6ImRlYWN0aXZhdGUiO2JyZWFrIGE7Y2FzZSA4Ok49Rz8ic2VsZWN0IjoidW5zZWxlY3QiO2JyZWFrIGE7Y2FzZSBLOk49Rz8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgMzI6Tj1HPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSB4Ok49Rz8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO313PTY4fWVsc2UgaWYodz09OTMpWVkuY2FsbCh0aGlzKSx0aGlzLkg9bmV3IEg4KHRoaXMpLHRoaXMucVo9bnVsbCx0aGlzLmNiPXRoaXMsdz0zO2Vsc2UgaWYodz09Myl3PShGPDwxJjcpPT0yPzk6Njg7ZWxzZXtpZih3PT02OClyZXR1cm4gTjt3PT0zMSYmKHc9Ris5Pj4xPEYmJihGLTZeMTYpPj1GPzkzOjMpfX0sZT1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEpe2Zvcih0PTM3O3QhPTc1OylpZih0PT04OSl0PVQ\/Nzo1MjtlbHNle2lmKHQ9PTQ4KXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK00pO2lmKHQ9PTIyKXQ9KEYrOSYyNyk+PUYmJihGKzReMTUpPEY\/NTc6OTI7ZWxzZSBpZih0PT0wKXQ9KEYmODEpPT1GPzgwOjM0O2Vsc2V7aWYodD09MTIpcmV0dXJuIHE7aWYodD09OTIpdD0oRnw1Nik9PUY\/ODk6MTI7ZWxzZSBpZih0PT0zNyl0PTA7ZWxzZSBpZih0PT0zNCl0PShGXjM4KTwyMSYmRjw8MT49OT85MToyMjtlbHNlIGlmKHQ9PTU3KVQ9TVtKMl0scT1UIGluc3RhbmNlb2YgSDg\/VDpudWxsLHQ9OTI7ZWxzZSBpZih0PT04MCl7aWYoeC52Lmxlbmd0aCl7eC5VSyYmIjpUUVI6VFFSOiIoKSx4LlVLPXRydWUseC5sNj1LO3RyeXtHPXguSigpLHguYW09Ryx4Lk9LPU0seC5sMz1HLHguWjY9TSxWPW5ZKHgsMix0cnVlLEssNiw4LG51bGwpLHc9VD8wOjEwLE49eC5KKCkteC5sMyx4LnUzKz1OLHgud1AmJngud1AoTi14LlMseC5qLHguWSx4Lk9LKSx4Llk9ZmFsc2UseC5qPWZhbHNlLHguUz1NLE48d3x8eC5ucS0tPD1NfHwoTj1NYXRoLmZsb29yKE4pLHguUXIucHVzaChOPD0yNTQ\/TjoyNTQpKX1maW5hbGx5e3guVUs9ZmFsc2V9cT1WfXQ9MzR9ZWxzZSBpZih0PT05MSl0aGlzLnR5cGU9TSx0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9VCx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5KUj1mYWxzZSx0PTIyO2Vsc2UgaWYodD09Nyl0PXR5cGVvZiBNIT09ImZ1bmN0aW9uIj80ODoxMjtlbHNlIGlmKHQ9PTUyKXRocm93IEVycm9yKCJJbnZhbGlkIGNsYXNzIG5hbWUgIitUKTt9fX0sc0c9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMsUCx5LHosRCl7e0Q9NTA7d2hpbGUoRCE9Mjgpe2lmKEQ9PTM1KXJldHVybiB5O2lmKEQ9PTg1KWM9U0goNTQsMjMpLHQucHJveHk9YyxjLnNyYz1OLGMubGlzdGVuZXI9dCxEPTYzO2Vsc2UgaWYoRD09NjMpRD1OLmFkZEV2ZW50TGlzdGVuZXI\/NjQ6ODM7ZWxzZSBpZihEPT00MylOLmF0dGFjaEV2ZW50KEdBKDYwLCJvbiIsRy50b1N0cmluZygpKSxjKSxEPTc3O2Vsc2UgaWYoRD09ODMpRD1OLmF0dGFjaEV2ZW50PzQzOjU7ZWxzZSBpZihEPT01NSlEPShNKzJeMTkpPE0mJihNLTJ8MTcpPj1NPzE0OjYxO2Vsc2UgaWYoRD09NDUpdGhpcy5uKyssVD1GLXRoaXMuZyx0aGlzLmcrPVQvdGhpcy5uLHRoaXMudFIrPVQqKEYtdGhpcy5nKSxEPTM1O2Vsc2V7aWYoRD09OTApdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO2lmKEQ9PTE0KUQ9Rz80MDo5MDtlbHNlIGlmKEQ9PTUpRD1OLmFkZExpc3RlbmVyJiZOLnJlbW92ZUxpc3RlbmVyPzE2OjQ2O2Vsc2V7aWYoRD09NDYpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtEPT0yNj8oej1mdW5jdGlvbigpe30sei5wcm90b3R5cGU9Sy5wcm90b3R5cGUsVC5EPUsucHJvdG90eXBlLFQucHJvdG90eXBlPW5ldyB6LFQucHJvdG90eXBlLmNvbnN0cnVjdG9yPVQsVC5HUz1mdW5jdGlvbihILFksZCl7Zm9yKHZhciBCPTgwO0IhPTI1OylpZihCPT0xMClVKyssQj0xMztlbHNle2lmKEI9PTYxKXJldHVybiBLLnByb3RvdHlwZVtZXS5hcHBseShILHApO2lmKEI9PTgwKXZhciBwPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtKEI9MzcsRikpLFU9RjtlbHNlIEI9PTM3P0I9MTM6Qj09MTU\/KHBbVS1GXT1hcmd1bWVudHNbVV0sQj0xMCk6Qj09MTMmJihCPVU8YXJndW1lbnRzLmxlbmd0aD8xNTo2MSl9fSxEPTI0KTpEPT00MD8oUD1jOCg1LFQsVik\/ISFWLmNhcHR1cmU6ISFWLChxPWUoNixOKSl8fChOW0oyXT1xPW5ldyBIOChOKSksdD1xLmFkZChHLEssdyxQLHgpLEQ9NzkpOkQ9PTE2PyhOLmFkZExpc3RlbmVyKGMpLEQ9NzcpOkQ9PTI0P0Q9KE0+PjEmMTUpPj0xMyYmTS0zPDMzPzQ1OjM1OkQ9PTUwP0Q9NTU6RD09Nzk\/RD10LnByb3h5PzYxOjg1OkQ9PTYxP0Q9TSszPj40PzI0OjI2OkQ9PTY0PyhVR3x8KFY9UCksVj09PXZvaWQgMCYmKFY9RiksTi5hZGRFdmVudExpc3RlbmVyKEcudG9TdHJpbmcoKSxjLFYpLEQ9NzcpOkQ9PTc3JiYobzQrKyxEPTYxKX19fX19LCRuPWZ1bmN0aW9uKEYsTSxUKXt7VD05NTt3aGlsZShUIT0zMSlpZihUPT0xMClUPTI3O2Vsc2V7aWYoVD09NDApcmV0dXJuIE07VD09OTk\/KE0ucHVzaChNYXRoLnJhbmRvbSgpKjI1NXwwKSxUPTEwKTpUPT0xMz9UPTI3OlQ9PTk1PyhNPVtdLFQ9MTMpOlQ9PTI3JiYoVD1GLS0\/OTk6NDApfX19LEg4PWZ1bmN0aW9uKEYpe3JldHVybiBPRy5jYWxsKHRoaXMsNDAsRiwxNCl9LHlkPWZ1bmN0aW9uKEYsTSxULEsseCl7cmV0dXJuIFNILmNhbGwodGhpcyw1NCw1LEYseCxLLE0sVCl9LHowPWZ1bmN0aW9uKCl7cmV0dXJuIEVHLmNhbGwodGhpcyw2NSwzMil9LHJZPWZ1bmN0aW9uKEYsTSxULEspe0pEKE0sQyhTKChLPWsoKFQ9ayhNLDkpLE0pLDUpLE0pLFQpLEYpLEspfSxTSD1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEsYyxQKXt7Yz03Nzt3aGlsZShjIT01MylpZihjPT04OCljPShNPj4yJjcpPT0xPzM4OjYzO2Vsc2UgaWYoYz09NzcpYz04ODtlbHNlIGlmKGM9PTYxKWM9KFY9Syk\/Rjo5ODtlbHNlIGlmKGM9PUYpdGhpcy5XPVYsYz0xMTtlbHNlIGlmKGM9PTE0KUc9T0coNDAsdCw1KSxjPTY0O2Vsc2UgaWYoYz09ODApYz10PzE0OjEwO2Vsc2UgaWYoYz09MzgpdGhpcy5saXN0ZW5lcj1LLHRoaXMucHJveHk9bnVsbCx0aGlzLnNyYz1ULHRoaXMudHlwZT1HLHRoaXMuY2FwdHVyZT0hIVYsdGhpcy5tVz14LHRoaXMua2V5PSsrTFksdGhpcy5vbT10aGlzLkZOPWZhbHNlLGM9NjM7ZWxzZSBpZihjPT05MCljPShNPj4yJjMwKT09Mj85Mzo0ODtlbHNlIGlmKGM9PTQpYz0oTSszJjE1KT09Mz83Njo5MDtlbHNlIGlmKGM9PTcxKXQ9KE49T2JqZWN0LmdldFByb3RvdHlwZU9mKHQucHJvdG90eXBlKSkmJk4uY29uc3RydWN0b3IsYz02ODtlbHNlIGlmKGM9PTM1KWM9MTA7ZWxzZSBpZihjPT04NylQPWZ1bmN0aW9uKHkpe3JldHVybiBULmNhbGwoUC5zcmMsUC5saXN0ZW5lcix5KX0sVD1DWSxxPVAsYz00O2Vsc2UgaWYoYz09OTMpYz00ODtlbHNlIGlmKGM9PTc2KXtpZigoeD1LLmxlbmd0aCx4KT5UKXtmb3IoRz0oVj1BcnJheSh4KSxUKTtHPHg7RysrKVZbR109S1tHXTtxPVZ9ZWxzZSBxPVtdO2M9OTB9ZWxzZSBpZihjPT00OCljPShNfDg4KT09TT85NjoxMTtlbHNlIGlmKGM9PTEwKVY9dz90eXBlb2Ygdy5jJD09PSJmdW5jdGlvbiI\/dy5jJCgpOm5ldyB3Om51bGwsYz1GO2Vsc2UgaWYoYz09MzMpYz04MDtlbHNlIGlmKGM9PTYzKWM9KE1eMzgpPj40PDQmJihNPDwyJjMxKT49MjY\/ODc6NDtlbHNlIGlmKGM9PTk4KXQ9dGhpcy5jb25zdHJ1Y3RvcixjPTMzO2Vsc2UgaWYoYz09NjgpYz04MDtlbHNlIGlmKGM9PTY0KWM9KHc9YjBbR10pPzM1OjcxO2Vsc2V7aWYoYz09MTEpcmV0dXJuIHE7Yz09OTYmJihBMi5jYWxsKHRoaXMseCksYz02MSl9fX0sJFk9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxKXt7cT03Mzt3aGlsZShxIT02MSlpZihxPT04Mil7YTp7Zm9yKFY9W1Q9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLEcsVD09dHlwZW9mIHdpbmRvdyYmd2luZG93LFQ9PXR5cGVvZiBzZWxmJiZzZWxmLFQ9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF0sdz1LO3c8Vi5sZW5ndGg7Kyt3KWlmKChOPVZbd10pJiZOW3hdPT1NYXRoKXt0PU47YnJlYWsgYX10aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpO31xPTM0fWVsc2UgaWYocT09MjApcT1NK0Y+PTQmJk0rRj4+NDxGPzgyOjM0O2Vsc2V7aWYocT09ODkpcmV0dXJuIHQ7aWYocT09NTMpSy5GTj1ULEsubGlzdGVuZXI9bnVsbCxLLnByb3h5PW51bGwsSy5zcmM9bnVsbCxLLm1XPW51bGwscT0yO2Vsc2UgaWYocT09NzMpcT0yMDtlbHNlIGlmKHE9PTIpcT0oTSY2MCk9PU0\/MTM6NTg7ZWxzZSBpZihxPT0xMyl0aGlzLm49PT0wP3Q9WzAsMF06KHRoaXMudS5zb3J0KGZ1bmN0aW9uKGMsUCl7cmV0dXJuIGMtUH0pLHQ9W3RoaXMubix0aGlzLnVbdGhpcy51Lmxlbmd0aD4+Rl1dKSxxPTU4O2Vsc2UgaWYocT09NTgpcT0oTXw0OCk9PU0\/NDY6ODk7ZWxzZSBpZihxPT00Nil7YTp7Zm9yKFYgaW4gRylpZih4LmNhbGwodm9pZCAwLEdbVl0sVixHKSl7dD1UO2JyZWFrIGF9dD1LfXE9ODl9ZWxzZSBxPT0zNCYmKHE9TS05Pj4zPT1GPzUzOjIpfX19LERuPWZ1bmN0aW9uKEYsTSxULEsseCl7Zm9yKEs9NzQ7SyE9NDY7KWlmKEs9PTcpSz0oTXxGKT09TT81Njo0MDtlbHNlIGlmKEs9PTc0KUs9NDI7ZWxzZSBpZihLPT01NilULmMkPWZ1bmN0aW9uKCl7cmV0dXJuIFQuUm0\/VC5SbTpULlJtPW5ldyBUfSxULlJtPXZvaWQgMCxLPTQwO2Vsc2UgaWYoSz09MjMpeD10aGlzLm49PT0wPzA6TWF0aC5zcXJ0KHRoaXMudFIvdGhpcy5uKSxLPTc7ZWxzZSBpZihLPT00MilLPShNPj4xJjcpPDUmJihNfDUpPj0tNTI\/MjM6NztlbHNlIGlmKEs9PTQwKXJldHVybiB4fSxzeT1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEsYyl7eD1NWzBdO3N3aXRjaCghKHg9PVBfKSl7Y2FzZSAtMD09PTA6aWYoeD09dEQpe2M9TVsxXTt0cnl7Tj1GLkZ8fEYuUihNKX1jYXRjaChQKXt3VigyMDQ4LFAsIjoiLEYsMjApLE49Ri5GfSgoRz1GLkooKSxjKShOKSxGKS5TKz1GLkooKS1HfWVsc2Ugc3dpdGNoKCEoeD09TU0pKXtjYXNlICFbXSE9bnVsbDppZih4PT1pQylGLmo9dHJ1ZSxGLlIoTSk7ZWxzZSBzd2l0Y2goISh4PT11Qykpe2Nhc2UgTmFOIT09TmFOOmlmKHg9PU5NKXJldHVybiB3PU1bVF0sdihGLDE1OSxNW0tdKSxuKDExNSxGLHcpLEYuUihNKTt3aGlsZSgiZiIpaWYoeD09Ql8\/KEYuUihNKSxGLkI9bnVsbCxGLkQ2PVtdLEYuUXI9W10pOng9PXpBJiZFLmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihGLmg9ZnVuY3Rpb24oUCx5KXtmdW5jdGlvbiB6KEQpe3tEPTMyO3doaWxlKEQhPTQ4KUQ9PTMyP0Q9eT80ODo1NzpEPT01NyYmKHk9dHJ1ZSxFLmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHosd1kpLEUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIseix3WSksUCgpLEQ9NDgpfX0oRS5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIix6LCh5PWZhbHNlLHdZKSksRSkuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIseix3WSl9KSx0cnVlKWJyZWFrO2JyZWFrO2Nhc2UgZmFsc2U6dHJ5e3t0PTA7d2hpbGUodDxGLmhSLmxlbmd0aCl7dHJ5e3E9Ri5oUlt0XSxxWzBdW3FbMV1dKHFbVF0pfWNhdGNoKFApe310Kyt9fX1jYXRjaChQKXt9KCgwLE1bMV0pKGZ1bmN0aW9uKFAseSl7Ri5NWihQLHRydWUseSl9LGZ1bmN0aW9uKFApe3UoKFA9IUYudi5sZW5ndGgsRiksMzMsMCxbQl9dKSxQJiZlKDE3LDAsZmFsc2UsdHJ1ZSxGKX0sZnVuY3Rpb24oUCl7cmV0dXJuIEYuRUsoUCl9LChWPShGLmhSPVtdLEYpLkooKSxmdW5jdGlvbihQLHkseil7cmV0dXJuIEYub1QoUCx5LHopfSkpLEYpLlMrPUYuSigpLVY7YnJlYWt9YnJlYWs7Y2FzZSBmYWxzZT09bnVsbDpNWzNdJiYoRi5qPXRydWUpLE1bNF0mJihGLlk9dHJ1ZSksRi5SKE0pO2JyZWFrfWJyZWFrO2Nhc2UgZmFsc2UhPTA6Ri5ucT0yNSxGLlk9dHJ1ZSxGLlIoTSk7YnJlYWt9fSxqdT1mdW5jdGlvbihGLE0sVCxLLHgsRyxWKXt7Vj00Mzt3aGlsZShWIT03OClpZihWPT0zOClWPVQtNTw2JiYoVD4+MSY3KT49Mz82NjoyMztlbHNlIGlmKFY9PTQ5KVY9KFQrNSYxNyk+PVQmJlQrOD4+MjxUP0Y6Mzg7ZWxzZSBpZihWPT00MylWPTQ5O2Vsc2UgaWYoVj09NjYpVDAuY2FsbCh0aGlzLEssTXx8SzUuYyQoKSx4KSxWPTIzO2Vsc2UgaWYoVj09RilNLmRQJiZNLmRQLmZvckVhY2goSyx2b2lkIDApLFY9Mzg7ZWxzZSBpZihWPT0yMylyZXR1cm4gR319LEcwPWZ1bmN0aW9uKEYsTSxULEsseCxHKXt7eD03Mjt3aGlsZSh4IT1GKXtpZih4PT04MClyZXR1cm4gRzt4PT03ND94PTg4Ong9PTU2PyhxTS5jYWxsKHRoaXMsVD9ULnR5cGU6IiIpLHRoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbCx0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wLHRoaXMua2V5PSIiLHRoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTAsdGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PWZhbHNlLHRoaXMuc3RhdGU9bnVsbCx0aGlzLnBvaW50ZXJJZD0wLHRoaXMucG9pbnRlclR5cGU9IiIsdGhpcy50aW1lU3RhbXA9MCx0aGlzLkIkPW51bGwsVCYmdGhpcy5pbml0KFQsSykseD0xOCk6eD09Njc\/eD1NLUY+PjM9PTI\/NjY6NDI6eD09NzI\/eD02Nzp4PT0xOD94PShNXjEzKTxGJiYoKE18RikmMTEpPj0yPzc0Ojg4Ong9PTY2PyhHPXhuW1RdKHhuLnByb3RvdHlwZSx7c3BsaWNlOkssY2FsbDpLLGNvbnNvbGU6SyxsZW5ndGg6SyxmbG9vcjpLLHByb3RvdHlwZTpLLHBvcDpLLHByb3BlcnR5SXNFbnVtZXJhYmxlOksscmVwbGFjZTpLLGRvY3VtZW50OksscGFyZW50Okssc3RhY2s6S30pLHg9NDIpOng9PTQyP3g9KE0mOTEpPT1NPzU2OjE4Ong9PTg4P3g9KE1eNzEpPj40PzgwOjg3Ong9PTg3JiYoVC5jbGFzc0xpc3Q\/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChLLGZ1bmN0aW9uKFYpe3dWKDIwNDgsMSwiIiwic3RyaW5nIiwxMCwiICIsVCxWKX0pOnUoVCwxMSwic3RyaW5nIixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoeFkoNDEsIiIsVCksZnVuY3Rpb24oVil7cmV0dXJuIShKKDU4LDEsSyxWKT49MCl9KS5qb2luKCIgIikpLHg9ODApfX19LFQwPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyl7cmV0dXJuIFNILmNhbGwodGhpcyw1NCw4OCxGLE0sVCxLLHgsRyxWLHcpfSxTPWZ1bmN0aW9uKEYsTSxUKXtUPUYuQltNXTtzd2l0Y2goIShUPT09dm9pZCAwKSl7Y2FzZSAwPT09LTA6TmFOPT09TmFOO2JyZWFrO2Nhc2UgZmFsc2U6dGhyb3dbWW4sMzAsTV07YnJlYWt9Zm9yKHRydWUhPVtdO1QudmFsdWU7MCE9IVsiIl09PW51bGwpe3JldHVybiBULmNyZWF0ZSgpO2lmKG51bGwhPWZhbHNlKWJyZWFrfXJldHVybihULmNyZWF0ZShNKjUqTSstOTAqTSs0NCksVCkucHJvdG90eXBlfSxKPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjLFApe3tQPTI1O3doaWxlKFAhPTY3KWlmKFA9PTk4KWM9TSxQPTY1O2Vsc2V7aWYoUD09NjUpcmV0dXJuIGM7aWYoUD09NDMpdGhpcy5WPXRoaXMuVix0aGlzLkFSPXRoaXMuQVIsUD03MztlbHNlIGlmKFA9PTg1KXthOmlmKHR5cGVvZiBUPT09InN0cmluZyIpYz10eXBlb2YgSyE9PSJzdHJpbmcifHxLLmxlbmd0aCE9TT8tMTpULmluZGV4T2YoSywwKTtlbHNle2Zvcih4PTA7eDxULmxlbmd0aDt4KyspaWYoeCBpbiBUJiZUW3hdPT09Syl7Yz14O2JyZWFrIGF9Yz0tMX1QPTQ4fWVsc2UgaWYoUD09MjEpUD1GPDwxPDI2JiYoRl43OSk+PTIwPzQzOjczO2Vsc2UgaWYoUD09NjApUD1GKzQ+PjQ+PTMmJigoRl41NikmMTIpPDE\/ODU6NDg7ZWxzZSBpZihQPT03MSl7YTp7Zm9yKHc9TTt3PFQubGVuZ3RoOysrdylpZihWPVRbd10sIVYuRk4mJlYubGlzdGVuZXI9PXgmJlYuY2FwdHVyZT09ISFLJiZWLm1XPT1HKXtjPXc7YnJlYWsgYX1jPS0xfVA9MjF9ZWxzZSBpZihQPT03MylQPShGfDkpPj40Pj0wJiYoRl40Nik8OD85ODo2NTtlbHNlIGlmKFA9PTY5KVA9KEYrNyY3KT09ND8xNjo2MDtlbHNlIGlmKFA9PTQ4KVA9KEYmOTApPT1GPzcxOjIxO2Vsc2UgaWYoUD09MTYpe2lmKEcuTj0oKFY9KHE9KHQ9KFR8fEcuWjYrKyxHLkltKT5NJiZHLlVLJiZHLmw2JiZHLnhOPD0xJiYhRy5sJiYhRy5oJiYoIVR8fEcuRlYtSz4xKSYmZG9jdW1lbnQuaGlkZGVuPT0wLChOPUcuWjY9PTQpfHx0P0cuSigpOkcuYW0pLHEtRy5hbSksRykuRys9Vj4+MTQ+TSxHLksmJihHLktePShHLkcrMT4+MikqKFY8PDIpKSxHLkcrMT4+MikhPU18fEcuTixOfHx0KUcuYW09cSxHLlo2PU07dD8oRy5JbT5HLk9LJiYoRy5PSz1HLkltKSxxLUcubDM8Ry5JbS0oeD8yNTU6VD81OjIpP2M9ZmFsc2U6KEcuRlY9Syx3PVooRyxUPzM1ODo3KSxuKDcsRyxHLkMpLEcudi5wdXNoKFtNTSx3LFQ\/SysxOkssRy5qLEcuWV0pLEcuaD1GcyxjPXRydWUpKTpjPWZhbHNlLFA9NjB9ZWxzZSBQPT0yNSYmKFA9NjkpfX19LEVHPWZ1bmN0aW9uKEYsTSxULEspe2ZvcihLPTY0O0shPTI5OylpZihLPT03OClLPShNfDQ4KT09TT80OkY7ZWxzZSBpZihLPT0yMylLPShNJjQxKT09TT83Mjo3ODtlbHNlIGlmKEs9PTQpVD1NYXRoLmZsb29yKHRoaXMudTMrKHRoaXMuSigpLXRoaXMubDMpKSxLPUY7ZWxzZSBpZihLPT04NCl0aGlzW3RoaXMrIiJdPXRoaXMsSz0yMztlbHNlIGlmKEs9PTcyKUs9Nzg7ZWxzZSBpZihLPT05OClLPU0rMzwyNCYmTSsxPj05Pzg0OjIzO2Vsc2UgaWYoSz09NjQpSz05ODtlbHNlIGlmKEs9PUYpcmV0dXJuIFR9LE9HPWZ1bmN0aW9uKEYsTSxULEsseCl7e3g9Rjt3aGlsZSh4IT04OClpZih4PT0xMSlLPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChNLFp3KSYmTVtad118fChNW1p3XT0rK2wwKSx4PTc5O2Vsc2UgaWYoeD09NzkpeD0oVCsyXjIzKTxUJiYoVCsxJjMxKT49VD85NjoxODtlbHNlIGlmKHg9PUYpeD05NTtlbHNlIGlmKHg9PTk2KXRoaXMuc3JjPU0sdGhpcy5pPXt9LHRoaXMuc0s9MCx4PTE4O2Vsc2UgaWYoeD09OTUpeD0oVHwxKSYyPzc5OjExO2Vsc2UgaWYoeD09MTgpcmV0dXJuIEt9fSx4WT1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEsYyl7Zm9yKHQ9MjY7dCE9MjU7KWlmKHQ9PTQyKXE9TWF0aC5mbG9vcih0aGlzLkooKSksdD02MztlbHNlIGlmKHQ9PTkwKXQ9KEYmMTA2KT09Rj80MTo4MTtlbHNlIGlmKHQ9PTM3KU4rKyx0PTU7ZWxzZSBpZih0PT0yOSlxPVQuY2xhc3NMaXN0P1QuY2xhc3NMaXN0Ok1YKDksTSwic3RyaW5nIixUKS5tYXRjaCgvXFxTKy9nKXx8W10sdD05NztlbHNlIGlmKHQ9PTk2KWM9ZnVuY3Rpb24oKXt9LEs9dm9pZCAwLFY9VzgoTSxmdW5jdGlvbihQLHkpe2Zvcih5PTk3O3khPTk4Oyl5PT0xMj8oVCYmRnMoVCksSz1QLGMoKSxjPXZvaWQgMCx5PTk4KTp5PT05NyYmKHk9Yz8xMjo5OCl9LCEhVCkseD1WWzFdLEc9VlswXSxxPXt0b3A6ZnVuY3Rpb24oUCx5LHosRCxILFksZCl7Zm9yKGQ9ODU7ZCE9Njg7KWlmKGQ9PTk1KVkoKSxkPTY4O2Vsc2UgaWYoZD09NjIpZD1LPzk1Ojk7ZWxzZSBpZihkPT04NSlZPWZ1bmN0aW9uKCl7SyhmdW5jdGlvbihCKXtGcyhmdW5jdGlvbigpe1AoQil9KX0seil9LGQ9NTE7ZWxzZSBpZihkPT01MSlkPXk\/NjI6MTg7ZWxzZSBpZihkPT05KUQ9YyxjPWZ1bmN0aW9uKCl7KEQoKSxGcykoWSl9LGQ9Njg7ZWxzZSBpZihkPT0xOClyZXR1cm4gSD1HKHopLFAmJlAoSCksSH0scGU6ZnVuY3Rpb24oUCl7eCYmeChQKX19LHQ9MzY7ZWxzZSBpZih0PT0yNil0PTkwO2Vsc2UgaWYodD09MTgpdD0oRiY4OSk9PUY\/NDI6NjM7ZWxzZSBpZih0PT02MilUQShmYWxzZSx4LDAsMzIsdHJ1ZSx3LEssRyxWKSx0PTE4O2Vsc2UgaWYodD09MzIpeFkoMTIsIm9iamVjdCIsZmFsc2UsSyx4LEcsVltOXSx3KSx0PTM3O2Vsc2UgaWYodD09NDEpRz10eXBlb2YgeCxWPUchPVQ\/Rzp4P0FycmF5LmlzQXJyYXkoeCk\/ImFycmF5IjpHOiJudWxsIixxPVY9PUt8fFY9PVQmJnR5cGVvZiB4Lmxlbmd0aD09TSx0PTgxO2Vsc2UgaWYodD09MzYpdD0oRj4+MSYyMSk9PTQ\/NzY6MTg7ZWxzZXtpZih0PT02MylyZXR1cm4gcTt0PT01P3Q9TjxWLmxlbmd0aD8zMjoxODp0PT02PyhHPUdBKDMzLEcpLEsmJktbdDJdP0suSC5hZGQoU3RyaW5nKFYpLEcsVCxjOCg4LE0seCk\/ISF4LmNhcHR1cmU6ISF4LHcpOnNHKGZhbHNlLDE1LCJvYmplY3QiLEcsdyxWLHgsVCxLKSx0PTE4KTp0PT05Nz90PUYrOSYyMj8zNjo5Njp0PT03PyhOPTAsdD0xNSk6dD09NzY\/dD14JiZ4Lm9uY2U\/NjI6MzM6dD09MTU\/dD01OnQ9PTgxP3Q9KEZ8NDApPT1GPzI5Ojk3OnQ9PTMzJiYodD1BcnJheS5pc0FycmF5KFYpPzc6Nil9fSxkWT1mdW5jdGlvbihGKXtyZXR1cm4gWGIuY2FsbCh0aGlzLDgsMyxGKX0sa1k9ZnVuY3Rpb24oRixNKXtpZihmYWxzZSE9IVtdIT1udWxsKXJldHVybiBHMC5jYWxsKHRoaXMsOSwzLEYsTSl9LG5ZPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjLFAseSl7eT03Mzt7Yz05O3doaWxlKHRydWUpdHJ5e2lmKHk9PTApYnJlYWs7ZWxzZSBpZih5PT03MSl5PTI2O2Vsc2UgaWYoeT09NzApeT1LJiZGLmg\/NjozMTtlbHNlIGlmKHk9PTYzKVA9dyx5PTQ1O2Vsc2UgaWYoeT09MzQpYz05LHdWKDIwNDgscSwiOiIsRiwyNCkseT04ODtlbHNlIGlmKHk9PTEpeT0oRyY0NCk9PUc\/NzE6NDU7ZWxzZSBpZih5PT0yNil5PUYudi5sZW5ndGg\/MzM6NjM7ZWxzZSBpZih5PT03Myl5PTM4O2Vsc2UgaWYoeT09ODgpYz05LHk9NzA7ZWxzZSBpZih5PT0xNyljPTgwLHc9c3koRixOLE0seCkseT04ODtlbHNlIGlmKHk9PTQzKUs9TSxLPSh4PUs8PDEzLC1+KEsmeCkrfngrKEsmfngpKzIqKH5LJngpKSxLXj1LPj4xNyxLPShGPUs8PDUsLShLfDApLTEtfihLfEYpKyhLJn5GKSksKEsmPVQpfHwoSz0xKSxQPShWfEspK34oViZLKS0gLTEseT0xO2Vsc2UgaWYoeT09MzgpeT0oRy0zJjMpPj0yJiYoRys4JjYpPDM\/NDM6MTtlbHNlIGlmKHk9PTMxKXk9MjY7ZWxzZSBpZih5PT0zMylGLmg9VixOPUYudi5wb3AoKSx5PTE3O2Vsc2V7aWYoeT09NDUpcmV0dXJuIFA7eT09NiYmKHQ9Ri5oLHQoZnVuY3Rpb24oKXtlKDE2LDAsVCxULEYpfSkseT02Myl9fWNhdGNoKHope2lmKGM9PTkpdGhyb3cgejtjPT04MCYmKHE9eix5PTM0KX19fSxZWT1mdW5jdGlvbigpe3JldHVybiBKLmNhbGwodGhpcywzKX0sWGI9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCl7Zm9yKHQ9MTA7dCE9MjY7KWlmKHQ9PTY5KXc9dzw8S3xUW0ddLHgrPUssdD04MztlbHNlIGlmKHQ9PTUwKXQ9KE0+PjImMjMpPT0yPzgwOjI4O2Vsc2UgaWYodD09ODApVChmdW5jdGlvbihxKXtxKEspfSksTj1bZnVuY3Rpb24oKXtyZXR1cm4gS30sZnVuY3Rpb24oKXt9XSx0PTI4O2Vsc2UgaWYodD09ODMpdD0zMDtlbHNlIGlmKHQ9PTc5KU49VCYmVC5wYXJlbnROb2RlP1QucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChUKTpudWxsLHQ9ODk7ZWxzZSBpZih0PT03Nyl0PTMwO2Vsc2UgaWYodD09ODkpdD1NLTc8PDI+PU0mJihNLTJ8NTcpPE0\/Njc6NTtlbHNlIGlmKHQ9PTk5KXgtPUYsVi5wdXNoKHc+PngmMjU1KSx0PTc3O2Vsc2UgaWYodD09NDYpdD1NK0Y+PjQ\/ODk6Nzk7ZWxzZSBpZih0PT0xOClOPVYsdD0yO2Vsc2UgaWYodD09NjQpRysrLHQ9OTY7ZWxzZXtpZih0PT0yKXJldHVybiBOO3Q9PTEwP3Q9NTA6dD09NT90PShNXjE3KTw3JiYoTXw1KT4+Mz49MT84NjoyOnQ9PTg2Pyh4PUc9MCxWPVtdLHQ9OTApOnQ9PTk2P3Q9RzxULmxlbmd0aD82OToxODp0PT02Nz8oRz1KKDU5LDEsSyx4KSwoVj1HPj1UKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKEssRywxKSxOPVYsdD01KTp0PT05MD90PTk2OnQ9PTE\/KEsuTVooZnVuY3Rpb24ocSl7Rz1xfSxULHgpLE49Ryx0PTQ2KTp0PT0yOD90PU0rNiYxMz80NjoxOnQ9PTMwJiYodD14Pjc\/OTk6NjQpfX0sbD1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEsYyl7aWYoKFQrM144KTxUJiYoVC05XjIwKT49VClpZih4PVZkKCJzcGxpY2UiLCJudW1iZXIiLEspPT09ImFycmF5Ij9LOltLXSx0aGlzLkYpRih0aGlzLkYpO2Vsc2UgdHJ5e0c9W10sVj0hdGhpcy52Lmxlbmd0aCx1KHRoaXMsMzMsMCxbUF8sRyx4XSksdSh0aGlzLDM0LDAsW3RELEYsR10pLE0mJiFWfHxlKDE2LDAsdHJ1ZSxNLHRoaXMpfWNhdGNoKFApe3dWKDIwNDgsUCwiOiIsdGhpcywyMSksRih0aGlzLkYpfXJldHVybigoVF4oKFQmMTA2KT09KChUJjI5KT09VCYmKHg9clYoOCx0cnVlLE0pLHgmMTI4JiYoeD0oRz14JjEyNyxLPXJWKDgsdHJ1ZSxNKTw8RiwoS3wwKSt+Sy1+KEd8SykpKSxxPXgpLFQpJiYodz1HJjcsdD1jXyx4PVstNTgsLTkwLDgzLDQyLDI3LC04Mix4LC02NiwtNDQsNTZdLE49eG5bTS5VXShNLkhiKSxOW00uVV09ZnVuY3Rpb24oUCl7dys9Nis3KkcsdyY9KFY9UCw3KX0sTi5jb25jYXQ9ZnVuY3Rpb24oUCx5LHosRCl7cmV0dXJuKChWPSh6PShEPShQPUslMTYrMSwtMTc1KksqSypWKS1QKlYreFt3KzM1JjddKksqUC0xNTQwKlYrdy0gLTMxNTAqSypWKzM1KlYqVisodCgpfEYpKlArNSpLKksqUCx4KVtEXSx2b2lkIDApLHgpWyh5PXcrNjksLTgtMip+KHl8NyktKHleNykrKH55fDcpKSsoRyYyKV09eix4KVt3KyhHJjIpXT0tOTAsen0scT1OKSwyOSkpJjcpPT00JiYoSz14bltNLlVdKE0uYjYpLEtbTS5VXT1mdW5jdGlvbigpe3JldHVybiBGfSxLLmNvbmNhdD1mdW5jdGlvbihQKXtGPVB9LHE9SyksKFQtMl45KT49VCYmKFQrMl4yNCk8VCYmKHE9Yz1mdW5jdGlvbigpe2Zvcih2YXIgUD0yODtQIT01NjspaWYoUD09MjgpUD1HLk49PUc\/NTU6NTY7ZWxzZSBpZihQPT02MilQPUs9PTI\/MzU6NDtlbHNlIGlmKFA9PTM1KXt2YXIgeT1lKCh1KEcsMzIsMCxEKSw2NSksMCxGLEYsRyk7UD00M31lbHNlIGlmKFA9PTU1KVA9Ry5CPzIxOjU0O2Vsc2UgaWYoUD09OTgpe3ZhciB6PSFHLnYubGVuZ3RoO1A9KHUoRywzNSwwLEQpLHomJmUoNjQsMCxGLEYsRyksNDMpfWVsc2V7aWYoUD09NDMpcmV0dXJuIHk7aWYoUD09OTIpeT1zeShHLEQsMiw2KSxQPTQzO2Vsc2UgaWYoUD09NTQpdyYmTiYmdy5yZW1vdmVFdmVudExpc3RlbmVyKE4sYyx3WSksUD01NjtlbHNlIGlmKFA9PTQpUD1LPT1NPzk4OjkyO2Vsc2UgaWYoUD09MjEpdmFyIEQ9W05NLHgsKFA9NjIsViksdm9pZCAwLHcsTixhcmd1bWVudHNdfX0pLHF9LG9EPWZ1bmN0aW9uKEYsTSl7cmV0dXJuIEcwLmNhbGwodGhpcyw5LDY4LEYsTSl9LHU9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMpe2ZvcihxPTQ4O3EhPTQ2OylpZihxPT05MilWKz1ULmNoYXJDb2RlQXQoeCksVis9Vjw8MTAsVj0odz1WPj42LChWfDApKyh3fDApLTIqKFYmdykpLHE9MztlbHNlIGlmKHE9PTQxKXE9Sy5pW3hdLmxlbmd0aD09VD85NDo2MDtlbHNlIGlmKHE9PTYwKXE9KE1eNDQpPj4zPT0yPzY0OjQ0O2Vsc2UgaWYocT09MzgpVis9Vjw8MyxWPSh0PVY+PjExLChWfHQpK34oVnx0KSsoViZ+dCktKFZ8fnQpKSxHPVYrKFY8PDE1KT4+PjAsTj1uZXcgTnVtYmVyKEcmKDE8PEYpLTEpLE5bMF09KEc+Pj5GKSVLLGM9TixxPTQ0O2Vsc2UgaWYocT09Myl4KysscT00MjtlbHNlIGlmKHE9PTQyKXE9eDxULmxlbmd0aD85MjozODtlbHNlIGlmKHE9PTQ4KXE9NjU7ZWxzZSBpZihxPT0wKSRZKDEsMjEsdHJ1ZSxGKSxxPTQxO2Vsc2UgaWYocT09MjcpcT0oTS0yfDcxKTxNJiZNLTY8PDE+PU0\/NTI6NjA7ZWxzZSBpZihxPT02NSlxPShNLTF8MSk+PU0mJk0tODw8MTxNPzU1OjE1O2Vsc2UgaWYocT09NDQpcT0oTS0xfDgpPj1NJiYoTSs3XjE4KTxNPzE4OjUzO2Vsc2UgaWYocT09OTYpRi52LnNwbGljZShULFQsSykscT0yNztlbHNlIGlmKHE9PTY0KVY9eD0wLHE9NjtlbHNlIGlmKHE9PTE1KXE9TT4+MiYyMz8yNzo5NjtlbHNlIGlmKHE9PTU1KXR5cGVvZiBGLmNsYXNzTmFtZT09VD9GLmNsYXNzTmFtZT1LOkYuc2V0QXR0cmlidXRlJiZGLnNldEF0dHJpYnV0ZSgiY2xhc3MiLEspLHE9MTU7ZWxzZSBpZihxPT01Mil4PUYudHlwZSxxPTI5O2Vsc2UgaWYocT09MjkpcT14IGluIEsuaSYmWGIoOCw2MixULEsuaVt4XSxGKT8wOjYwO2Vsc2V7aWYocT09NTMpcmV0dXJuIGM7cT09MTg\/KGM9KE49UWxbVC5zdWJzdHJpbmcoMCwzKSsiXyJdKT9OKFQuc3Vic3RyaW5nKDMpLEYsSyx4LEcsVix3KTpYYig4LDgsRixUKSxxPTUzKTpxPT02P3E9NDI6cT09OTQmJihkZWxldGUgSy5pW3hdLEsuc0stLSxxPTYwKX19LGM4PWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQpe2ZvcihOPTM2O04hPTE1OylpZihOPT0xMylOPShGKzMmNDcpPEYmJihGLTdeOCk+PUY\/MzI6MTc7ZWxzZSBpZihOPT0xMClOPShGLTJeMTEpPEYmJihGLTJeNyk+PUY\/OTQ6MTM7ZWxzZSBpZihOPT0zMil7Zm9yKEcgaW4gVj1NLEsuaSl7Zm9yKHg9Sy5pW0ddLHc9TTt3PHgubGVuZ3RoO3crKykrK1YsJFkoMSwxOSxULHhbd10pO0suc0stLSxkZWxldGUgSy5pW0ddfU49MTd9ZWxzZSBpZihOPT0xNylOPShGfDI0KT09Rj82Mzo0MztlbHNlIGlmKE49PTM2KU49NzE7ZWxzZSBpZihOPT0xOSlOPVY8Rz85ODoxMztlbHNle2lmKE49PTcpcmV0dXJuIHQ7Tj09OTg\/KFYgaW4gdyYmSy5jYWxsKHZvaWQgMCx3W1ZdLFYseCksTj00NSk6Tj09ODM\/Tj0xOTpOPT02Mz8odGhpc1t0aGlzKyIiXT10aGlzLHQ9UHJvbWlzZS5yZXNvbHZlKCksTj00Myk6Tj09OTQ\/KEc9eC5sZW5ndGgsdz10eXBlb2YgeD09PSJzdHJpbmciP3guc3BsaXQoTSk6eCxWPVQsTj04Myk6Tj09MjU\/KEs9TSx0PWZ1bmN0aW9uKCl7cmV0dXJuIEs8VC5sZW5ndGg\/e2RvbmU6ZmFsc2UsdmFsdWU6VFtLKytdfTp7ZG9uZTp0cnVlfX0sTj0xMCk6Tj09NDM\/Tj0oRi0zXjgpPj1GJiZGLTc8PDE8Rj80Ojc6Tj09NDU\/KFYrKyxOPTE5KTpOPT03MT9OPSgoRnwzKSYxNSk8NSYmRiszPj0xND8yNToxMDpOPT00JiYoSz10eXBlb2YgVCx0PUs9PU0mJlQhPW51bGx8fEs9PSJmdW5jdGlvbiIsTj03KX19LEs1PWZ1bmN0aW9uKCl7cmV0dXJuIEcwLmNhbGwodGhpcyw5LDUpfSx5bD1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEsYyxQLHkseixELEgpe2lmKChEPU8oRiw3KSxEKT49Ri5DKXRocm93W1luLDMxXTtmb3IodD0wLE49TSx6PUYuV2IubGVuZ3RoLHg9RDtOPjA7KUc9eCU4LHE9OC0oR3wwKSxjPXE8Tj9xOk4sSz14Pj4zLHc9Ri5ENltLXSxUJiYoSD1GLFY9eCxILkwhPVY+PjYmJihILkw9Vj4+NixQPVooSCwyMDIpLEguQmI9bUQoMjQsSC5LLDI1NSxILkwsWzAsMCxQWzFdLFBbMl1dKSksd149Ri5CYltLJnpdKSx0fD0odz4+OC0oR3wwKS0oY3wwKSYoMTw8YyktMSk8PChOfDApLShjfDApLE4tPWMseCs9YztyZXR1cm4gdigoeT10LEYpLDcsKER8MCkrKE18MCkpLHl9LG49ZnVuY3Rpb24oRixNLFQpe2lmKEY9PTd8fEY9PTM1OClNLkJbRl0\/TS5CW0ZdLmNvbmNhdChUKTpNLkJbRl09bChULE0sODEpO2Vsc2V7aWYoTS5iMyYmRiE9MjAyKXJldHVybjtGPT0yMjd8fEY9PTI0NXx8Rj09MzE3fHxGPT0yNjR8fEY9PTE4MHx8Rj09NDYwfHxGPT01MDh8fEY9PTIwN3x8Rj09MjM4fHxGPT00NTQ\/TS5CW0ZdfHwoTS5CW0ZdPWwoMCxNLDY0LEYsVCwyMikpOk0uQltGXT1sKDAsTSw3MixGLFQsODEpfUY9PTIwMiYmKE0uSz15bChNLDMyLGZhbHNlKSxNLkw9dm9pZCAwKX0sYj1mdW5jdGlvbihGLE0sVCxLLHgsRyxWKXtWPXRoaXM7dHJ5e2tuKFQsdGhpcyxNLEsseCxGLEcpfWNhdGNoKHcpe3doaWxlKHRydWUpaWYod1YoMjA0OCx3LCI6Iix0aGlzLDI1KSxGKGZ1bmN0aW9uKE4pe04oVi5GKX0pLDE1KWJyZWFrfX0sUkQ9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxKXtmb3IoSz0oVD0ocT1NLnJlcGxhY2UoL1xcclxcbi9nLCJcXG4iKSwwKSx3PVtdLDApO1Q8cS5sZW5ndGg7VCsrKU49cS5jaGFyQ29kZUF0KFQpLE48MTI4P3dbSysrXT1OOihOPDIwNDg\/d1tLKytdPShWPU4+PjYsLTEtflYtKH5WXjE5MikrKH5WfDE5MikpOig2NDUxMi0ofk4mNjQ1MTIpPT01NTI5NiYmVCsxPHEubGVuZ3RoJiYocS5jaGFyQ29kZUF0KFQrMSkmNjQ1MTIpPT01NjMyMD8oTj02NTUzNisoKE4mMTAyMyk8PDEwKSsocS5jaGFyQ29kZUF0KCsrVCkmMTAyMyksd1tLKytdPU4+PjE4fDI0MCx3W0srK109KEc9Tj4+RiY2MywyNTYtfkcrLTI1OC0oR3wtMTI5KSkpOndbSysrXT1OPj5GfDIyNCx3W0srK109KHQ9Tj4+NiY2MywtfnQrKHReMTI4KSsofnR8MTI4KSkpLHdbSysrXT0oeD1OJjYzLC1+eCsoeCYtMTI5KSsofnheMTI4KSsyKih+eCYxMjgpKSk7cmV0dXJuIHd9LE95PWZ1bmN0aW9uKEYpe3JldHVybiBKLmNhbGwodGhpcyw0MCxGKX0scFk9ZnVuY3Rpb24oKXtyZXR1cm4gaDIuY2FsbCh0aGlzLDgwLDUpfSxrbj1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0KXtOPSgoTS5IYj1HMCg5LDI5LCgoTS50eD1MNSxNLmh4PUM1LE0pLldiPU1bdERdLE0uVSkse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbmNhdCgpfX0pLE0pLmI2PXhuW00uVV0oTS5IYix7dmFsdWU6e3ZhbHVlOnt9fX0pLDApO3t0PVtdO3doaWxlKE48Mjg3KXRbTl09U3RyaW5nLmZyb21DaGFyQ29kZShOKSxOKyt9aWYoKE0uUXI9W10sdz13aW5kb3cucGVyZm9ybWFuY2V8fHt9LE0pLkc9KE0uRj12b2lkIDAsTS51Nj0wLE0uQz0wLE0uRDY9W10sTS5sPXZvaWQgMCxNLmdQPVtdLDEpLHRydWUpTS5oPW51bGw7TS5sMz0oTS52PSgoKE0uWU49ZmFsc2UsTSkud1A9VCxNKS5PSz0wLE0uTHY9W10sW10pLDApLE0uQj1bXSxNLnUzPTA7d2hpbGUoMTApaWYoTS5aPXZvaWQgMCx0cnVlKWJyZWFrOyhNLlo2PShNLnhOPShNLk9DPWZ1bmN0aW9uKHEpe3JldHVybiBJNC5jYWxsKHRoaXMscSwzKX0sTS5ZRT1LLE0uTD0oKChNLmIzPWZhbHNlLE0pLkt2PVtdLE0uaj1mYWxzZSxNKS5hbT0oTS5LPXZvaWQgMCxNLmw2PShNLlVLPWZhbHNlLChNLm5xPTI1LE0pLkZWPTgwMDEsZmFsc2UpLE0uQmI9KE0uSW09MCx2b2lkIDApLE0ucVg9KE0uUz0oKE0uWT1mYWxzZSxNKS5OPU0sMCksTS5qYT12b2lkIDAsdy50aW1lT3JpZ2lufHwody50aW1pbmd8fHt9KS5uYXZpZ2F0aW9uU3RhcnR8fDApLDApLHZvaWQgMCksMCksTS5oUj1bXSx2b2lkIDApLEYpJiZGLmxlbmd0aD09MiYmKE0uS3Y9RlsxXSxNLkx2PUZbMF0pO2ZvcighW107VjsxKXt0cnl7TS5qYT1KU09OLnBhcnNlKFYpfWNhdGNoKHEpe00uamE9e319aWYoMD09IVsiIl0pYnJlYWt9ZSgxNywwLHRydWUsdHJ1ZSwodShNLDM0LCh1KE0sKHUoTSwoSSgzNSxmdW5jdGlvbihxLGMsUCx5LHosRCxILFksZCxCLHAsVSxXLFZsLGgpe2ZvcihoPTgxO2ghPTExOylpZihoPT00OCloPUg8WT85MzoxMTtlbHNlIGlmKGg9PTkxKWg9cS5OPT1xPzk0OjExO2Vsc2UgaWYoaD09ODEpaD1KKDM3LDAsdHJ1ZSxjLHRydWUscSk\/MTE6NTc7ZWxzZSBpZihoPT03NClIKz1kLGg9NDg7ZWxzZSBpZihoPT02NCloPVZkKCJzcGxpY2UiLCJudW1iZXIiLFApPT0ib2JqZWN0Ij85OjkxO2Vsc2UgaWYoaD09OSl7Zm9yKFZsIGluIEQ9W10sUClELnB1c2goVmwpO2g9KFA9RCw5MSl9ZWxzZSBoPT05Mz8oVShQLnNsaWNlKEgsMyooSCZkKSt+ZC0ofkheZCkrKH5IJmQpKSxCKSxoPTc0KTpoPT05ND8oSD0wLFk9UC5sZW5ndGgsZD1kPjA\/ZDoxLGg9NTgpOmg9PTU4P2g9NDg6aD09NTcmJihXPWsocSwyNCkscD1rKHEsNyksej1rKHEsNDgpLHk9WCgzMixxKSxVPVMocSxwKSxQPU8ocSxXKSxkPU8ocSx6KSxCPVMocSx5KSxoPTY0KX0sTSwoSSg1OSwoZigyNjQsTSwkbigoSSgzLGZ1bmN0aW9uKHEsYyxQLHkseixELEgsWSl7SD1aKHEsKEQ9KGM9ayhxLCh6PWsocSwoeT1rKHEsKFk9WCgzNCxxKSwxMCkpLDQ4KSksNSkpLFopKHEsYyksUD1PKHEseSkseikpLG4oWSxxLGwoZmFsc2UsMSwxOSxELFAscSxIKSl9LChJKDM1LChJKChJKDI2LChJKDM1LGZ1bmN0aW9uKCl7fSwoSSg1OCwoTS5naz0oSSgyNyxmdW5jdGlvbihxLGMsUCl7ZigoYz0oUD1rKHEsMjQpLFgpKDM1LHEpLGMpLHEsIiIrTyhxLFApKX0sKEkoMzQsZnVuY3Rpb24ocSl7clkoNCxxKX0sTSwoSSg1OCxmdW5jdGlvbihxLGMsUCx5LHosRCxILFksZCxCLHApe2ZvcihwPTI3O3AhPTg0OylwPT0yNz8oWT1rKHEsNiksZD1rKHEsMTIpLEQ9ayhxLDMyKSxjPWsocSw3KSxCPU8ocSxkKSxQPU8ocSxEKSxIPVoocS5OLFkpLHk9WihxLGMpLHA9NDkpOnA9PTQ5P3A9SCE9PTA\/NTQ6ODQ6cD09NTQmJih6PWwoZmFsc2UsMSwxOCwxLFAscSx5LEgsQiksSC5hZGRFdmVudExpc3RlbmVyKEIseix3WSksTyhxLDE3KS5wdXNoKGZ1bmN0aW9uKCl7SC5yZW1vdmVFdmVudExpc3RlbmVyKEIseix3WSl9KSxuKDQ5MCxxLFtILEIsel0pLHA9ODQpfSwoSSgzNCwoSSgoSSgyNyxmdW5jdGlvbihxLGMsUCx5LHope2Zvcih6PTk4O3ohPTI0Oyl6PT0zMz8oUD1YKDMyLHEpLHk9ayhxLDEyKSxuKHkscSxmdW5jdGlvbihEKXtyZXR1cm4gZXZhbChEKX0oYkMoTyhxLk4sUCkpKSksej0yNCk6ej09OTgmJih6PUooMjksMCx0cnVlLGMsZmFsc2UscSk\/MjQ6MzMpfSxNLChmKDIyNyxNLChJKDMsZnVuY3Rpb24ocSxjLFAseSx6LEQpe3tEPTM0O3doaWxlKEQhPTM3KUQ9PTM0PyhQPWsocSwxOSksYz1sKDcscSwyOSksej1bXSxEPXk9MCk6RD09MD9EPTYwOkQ9PTYxPyhmKFAscSx6KSxEPTM3KTpEPT02NT8oei5wdXNoKHJWKDgsdHJ1ZSxxKSksRD0yMik6RD09MjI\/KHkrKyxEPTYwKTpEPT02MCYmKEQ9eTxjPzY1OjYxKX19LE0sKEkoNTgsZnVuY3Rpb24ocSxjLFApe2M9TygoUD1rKHEsNykscS5OKSxQKSxjWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoY1sxXSxjWzJdLHdZKX0sKEkoMjcsKE0ualg9KHYoTSw0NTQsKEkoMjYsZnVuY3Rpb24ocSxjLFAseSl7bigoeT1YKDM1LChjPXJWKDgsKFA9ayhxLDE0KSx0cnVlKSxxKSxxKSkseSkscSxaKHEsUCk+Pj5jKX0sKEkoMzQsKGYoMTcsKG4oMTgwLE0sKHYoTSwodihNLDIzOCwoSSg1OCxmdW5jdGlvbihxLGMsUCx5LHopeyh5PVZkKCJzcGxpY2UiLCh6PShjPWsocSwoUD1rKHEsNSksNDgpKSxTKShxLFApLCJudW1iZXIiKSx6KSxmKShjLHEseSl9LE0sKEkoNTksZnVuY3Rpb24ocSxjLFAseSx6LEQpe2YoKHo9TyhxLChjPVooKEQ9WCgzMCwoeT1rKHEsKFA9WCgzMixxKSwxMCkpLHEpKSxxKSx5KSxQKSk9PWMsRCkscSwreil9LChmKDI5MixNLChmKDMxNywodihNLCh2KE0sKHYoKE0uUWc9KEkoMjcsZnVuY3Rpb24ocSxjLFAseSx6KXtuKChjPU8ocSwoej0oeT1YKDMzLChQPWsocSwzMikscSkpLE8ocSx5KSksUCkpLHkpLHEseitjKX0sKG4oMTE1LE0sKEkoMjYsZnVuY3Rpb24ocSl7cDUoMyxxKX0sTSwoSSgoSSgzLGZ1bmN0aW9uKHEsYyxQLHkseixELEgsWSxkLEIscCxVLFcsVmwsaCxLWSxRLE5YLHIpe3tyPTU3O3doaWxlKHIhPTYzKXI9PTIxP3I9NTk6cj09OTE\/KEI9TlgoMSksYy5wdXNoKEIpLFArPUI\/MDoxLHI9NzQpOnI9PTE3PyhELnB1c2goWihxLFgoMzEscSkpKSxyPTI4KTpyPT03NT9yPXktLT8xNzowOnI9PTA\/KEkoMyxmdW5jdGlvbihMLEZiLGEsakgsbV8sUil7Zm9yKFI9NDE7UiE9NDc7KVI9PTQ\/KEZiLnB1c2goayhMLDU2KSksUj05NCk6Uj09Mjc\/Uj01MDpSPT01MD9SPW1fPj1GYi5sZW5ndGg\/NDoxMzpSPT00MT8oakg9MCxhPVtdLEZiPVtdLFI9MzEpOlI9PTUyP1I9akg8ej82NTo2MzpSPT02NT8obV89UVtqSF0sUj00Mik6Uj09OTM\/KGpIKyssUj01Mik6Uj09Mjg\/KGEucHVzaChtXyksUj05Myk6Uj09OTQ\/Uj01MDpSPT00Mj9SPWNbakhdPzI4OjI3OlI9PTEzPyhtXz1GYlttX10sUj0yOCk6Uj09MzE\/Uj01MjpSPT02MyYmKEwubD1sKEQuc2xpY2UoKSxMLDQ5KSxMLlo9bChhLEwsNjUpLFI9NDcpfSxxLFZsKSxyPTYzKTpyPT01MD9yPVU8ej85MTo5NTpyPT03ND8oVSsrLHI9NTApOnI9PTE0PyhjW2RdfHwoUVtkXT1OWChXKSkscj01NSk6cj09OTQ\/KGNbaF0mJihRW2hdPWsocSw1NikpLHI9ODMpOnI9PTg3P3I9NTA6cj09NDc\/cj03NTpyPT01NT8oZCsrLHI9OCk6cj09NTc\/KE5YPWZ1bmN0aW9uKEwsRmIpe2Zvcig7SDxMOylwfD1yVig4LHRydWUscSk8PEgsSCs9ODtyZXR1cm4gcD4+PShGYj1wJigxPDxMKS0oSC09TCwxKSxMKSxGYn0sVmw9ayhxLDE5KSxIPXA9MCxZPShLWT1OWCgzKSwtMS0yKn4oS1l8MSkrKH5LWV4xKSksej1OWCg1KSxQPTAsYz1bXSxVPTAscj04Nyk6cj09OTk\/KGg9MCxyPTIxKTpyPT0yOD9yPTc1OnI9PTgzPyhoKysscj01OSk6cj09NTI\/cj04OnI9PTQxPyhEPVtdLHk9WSxyPTQ3KTpyPT04P3I9ZDx6PzE0Ojk5OnI9PTk1PyhXPSgyK34oUHwxKSsyKihQJi0yKS0oflAmMSkpLnRvU3RyaW5nKDIpLmxlbmd0aCxkPTAsUT1bXSxyPTUyKTpyPT01OSYmKHI9aDx6Pzk0OjQxKX19LCgoSSgzNSxmdW5jdGlvbihxLGMsUCx5KXt2KHEsKGM9KFA9ayhxLCh5PWsocSwyNCksNikpLGsocSw2KSksYyksUyhxLHkpfHxaKHEsUCkpfSwodihNLDI5MywoZig0NCwoSSgzNCxmdW5jdGlvbihxLGMpe24oKGM9ayhxLDMyKSxjKSxxLFtdKX0sKG4oMzU4LChmKDcsTSwoSSgyNyxmdW5jdGlvbihxLGMsUCx5LHosRCxILFksZCxCKXtmb3IoQj02NztCIT01NzspQj09Mzg\/Qj1EPGMubGVuZ3RoPzU4OjYyOkI9PTYyPyhuKGQscSxIIGluIHp8MCksQj01Nyk6Qj09MTc\/Qj0zODpCPT01PyhEKyssQj0zOCk6Qj09Njc\/KHk9WCgzMyxxKSxQPWsocSwxMyksZD1YKDI5LHEpLGM9UyhxLHkpLHo9WihxLFApLEg9IiIsRD0wLEI9MTcpOkI9PTU4JiYoSCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoWT1jW0RdLC0yLShZfC0xMjIpLSh+WXwxMjEpKSksQj01KX0sKEkoMzUsZnVuY3Rpb24ocSxjLFAseSx6LEQsSCxZLGQpe3tkPTMxO3doaWxlKGQhPTk2KWQ9PTcwPyhIKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHpbUF1eMTIxKSxkPTUwKTpkPT01MD8oUCsrLGQ9NDgpOmQ9PTMyP2Q9NDg6ZD09NzY\/KGYoeSxxLERbSF0pLGQ9OTYpOmQ9PTQ4P2Q9UDx6Lmxlbmd0aD83MDo3NjpkPT0zMSYmKGM9WCgyOSxxKSxZPVgoMzEscSkseT1rKHEsNDApLEQ9TyhxLGMpLHo9UyhxLFkpLFA9MCxIPSIiLGQ9MzIpfX0sKEkoMzQsZnVuY3Rpb24ocSxjLFAseSx6LEQsSCxZKXt7WT01Mjt3aGlsZShZIT01NilZPT01ND8oSD0oKEh8MCkrKGwoNyxxLDUpfDApKSV6LGMucHVzaCh5W0hdKSxZPTE5KTpZPT01Mj8oUD1rKHEsMTMpLEQ9bCg3LHEsMTMpLGM9W10seT1TKHEsMTY2KSxIPTAsej15Lmxlbmd0aCxZPTcxKTpZPT02PyhuKFAscSxjKSxZPTU2KTpZPT03Nj9ZPUQtLT81NDo2Olk9PTcxP1k9NzY6WT09MTkmJihZPTc2KX19LE0sMjQpLE0pLDQxMiksTSksNDY2KSwwKSksTSksMCksTSksMzY3KSxNKSw1MSksSSg1OSxmdW5jdGlvbihxLGMsUCx5LHosRCxILFkpe3tZPTYwO3doaWxlKFkhPTQwKVk9PTk\/WT03MDpZPT03MD9ZPWMtLT84MzozMzpZPT0zMz8oZih6LHEsRCksWT00MCk6WT09NjA\/KHo9ayhxLDkpLGM9bCg3LHEsMjgpLEQ9IiIsSD1TKHEsMTY2KSx5PUgubGVuZ3RoLFA9MCxZPTkpOlk9PTgzPyhQPSgoUHwwKSsobCg3LHEsMTYpfDApKSV5LEQrPXRbSFtQXV0sWT0zOCk6WT09MzgmJihZPTcwKX19LE0sMzkxKSwwKSksTSksMjc1KSxuZXcgSUQoIlN1Ym1pdCIpKS5kaXNwb3NlKCksTSksMTgpLDMpLGZ1bmN0aW9uKHEsYyxQLHkpe1oocSwoUD1PKHEsKHk9ayhxLChjPVgoMzQscSksMTgpKSx5KSksYykpIT0wJiZuKDcscSxQKX0sTSw0MjYpLDQ1MCkpLHt9KSksTSksMjg3KSwwKSxNKSw0OTAsMCksNTA4KSxbXSksNDYwKSxbXSksTSksW10pLEUpKSxNKSw0ODQpLDEwMSkpLCRuKDQpKSksMjQ1KSwkbig0KSksSSgyNixmdW5jdGlvbihxKXtwNSg0LHEpfSxNLDIyMiksW10pKSxNKSxbXSksZnVuY3Rpb24ocSxjLFAseSx6KXt7ej01Nzt3aGlsZSh6IT00MCl6PT00PyhmKDcscSxxLkMpLHo9NDApOno9PTgwPyhQLS0sej00Mik6ej09Mj96PTQyOno9PTg0PyhQPXJWKDgsdHJ1ZSxxKSx6PTIpOno9PTU3PyhjPXEuZ1AucG9wKCksej03NSk6ej09ODg\/KGNbMTgwXT1xLkJbMTgwXSxjWzQ1NF09cS5CWzQ1NF0scS5CPWMsej00MCk6ej09NzU\/ej1jPzg0OjQ6ej09MjM\/KHk9ayhxLDEyKSxjW3ldPXEuQlt5XSx6PTgwKTp6PT00MiYmKHo9UD4wPzIzOjg4KX19KSxNLDI4KSxNKSw0NTIpLFsyMDQ4XSkpLDApLGZ1bmN0aW9uKHEsYyxQLHkseixEKXtmb3IoRD01NjtEIT03ODspRD09NTY\/RD1KKDIxLDAsdHJ1ZSxjLGZhbHNlLHEpPzc4OjYxOkQ9PTYxPyh5PUFEKDgscSx0cnVlLDApLFA9eS5hVCx6PXkuTlgsRD01NCk6RD09NTQ\/RD1xLk49PXF8fHo9PXEuT0MmJlA9PXE\/NjU6Nzg6RD09NjUmJih2KHEseS5zQyx6LmFwcGx5KFAseS5YKSkscS5hbT1xLkooKSxEPTc4KX0pLE0sMjc2KSxNKSw0MzMpLDgwKSksZigyMDcsTSxbMCwwLDBdKSxbMTU0LDAsMF0pKSwzNDUpKSwyNiksZnVuY3Rpb24ocSxjLFAseSx6LEQpe1A9TygoYz0oRD1YKDI5LHEpLHo9ayhxLDQwKSxYKDM0LHEpKSxxKSxEKTt3aGlsZSh7fSlpZih5PU8ocSx6KSx7fSlicmVhaztmKGMscSxQW3ldKX0sTSw0NzgpLGZ1bmN0aW9uKHEsYyl7Z1koMCwoYz1aKHEsayhxLDkpKSxxKS5OLDEwNCxjLDcpfSksTSwxOTQpLE0pLDE3MCksdihNLDIxMCxNKSwxMjUpKSxNKSwzOTgpLDApLGZ1bmN0aW9uKHEpe1goNiwwLDQscSl9KSxNLDM1NCksTSksNDY3KSxmdW5jdGlvbihxLGMsUCx5LHosRCxILFksZCxCKXtmb3IoQj04MTtCIT02NTspQj09ODE\/Qj1KKDUzLDAsdHJ1ZSxjLGZhbHNlLHEpPzY1OjUwOkI9PTUwJiYoeT1BRCg4LHEuTix0cnVlLDApLEg9eS5zQyxZPXkuTlgsRD15LmFULFA9eS5YLHo9UC5sZW5ndGgsZD16PT0wP25ldyBEW1ldOno9PTE\/bmV3IERbWV0oUFswXSk6ej09Mj9uZXcgRFtZXShQWzBdLFBbMV0pOno9PTM\/bmV3IERbWV0oUFswXSxQWzFdLFBbMl0pOno9PTQ\/bmV3IERbWV0oUFswXSxQWzFdLFBbMl0sUFszXSk6MigpLGYoSCxxLGQpLEI9NjUpfSksTSw0NjkpLDU5KSxmdW5jdGlvbihxLGMsUCx5LHosRCl7bigoYz1PKHEsKFA9TygoRD1rKCh6PVgoKHk9WCgzMCxxKSwzNikscSkscSksMTcpLHEpLHkpLHopKSxEKSxxLFAgaW4gY3wwKX0sTSw4MyksZnVuY3Rpb24ocSl7clkoMSxxKX0pLE0sNCksTSksNTAwKSw0KSkpLGZ1bmN0aW9uKHEsYyxQLHkseixELEgsWSl7e1k9ODA7d2hpbGUoWSE9ODcpWT09Nj8ocS5MPXZvaWQgMCxZPTc2KTpZPT01MT9ZPXEuTj09cT82OTo4NzpZPT03Nj9ZPUQ9PTI\/NTI6ODc6WT09NTI\/KHEuSz15bChxLDMyLGZhbHNlKSxxLkw9dm9pZCAwLFk9ODcpOlk9PTIyP1k9eT09MjAyPzY6ODc6WT09ODA\/KHk9ayhxLDU2KSxQPVgoMzYscSksYz1rKHEsMTApLFk9NTEpOlk9PTY5JiYoRD1aKHEsUCksSD1TKHEseSksej1TKHEsYyksSFtEXT16LFk9MjIpfX0pLE0sNDAwKSw1MykpLDMyKSwwLFt6QV0pLDM1KSwwLFtpQyx4XSksMCksW3VDLEddKSxNKSl9LGhEPWZ1bmN0aW9uKEYsTSl7ZnVuY3Rpb24gVCgpe3RoaXMudFI9dGhpcy5nPXRoaXMubj0wfXJldHVyblsoTT1uZXcgKFQucHJvdG90eXBlLkdpPWZ1bmN0aW9uKEsseCl7cmV0dXJuIHNHLmNhbGwodGhpcyxLLDI2LHgpfSxULnByb3RvdHlwZS5EbD1mdW5jdGlvbigpe3JldHVybiBEbi5jYWxsKHRoaXMsMTYsMyl9LEY9bmV3IFQsVCksZnVuY3Rpb24oSyl7Ri5HaShLKTt3aGlsZShudWxsPT0oIVtdPT1mYWxzZT09W10pPT0hW10hPVtdKWlmKE0uR2koSyksLTA9PT0wKWJyZWFrfSksZnVuY3Rpb24oSyl7cmV0dXJuIE09bmV3IChLPVtGLkRsKCksTS5EbCgpLEYuZyxNLmddLFQpLEt9XX0sVmQ9ZnVuY3Rpb24oRixNLFQsSyx4KXtLPXR5cGVvZiBUO3N3aXRjaCghKEs9PSJvYmplY3QiKSl7Y2FzZSAwPT0oIWZhbHNlIT0hIiIpOmZvcigwPT0hWyIiXTtLPT0iZnVuY3Rpb24iJiZ0eXBlb2YgVC5jYWxsPT0idW5kZWZpbmVkIjshIiI9PSEoMCE9IVt1bmRlZmluZWRdKSl7cmV0dXJuIm9iamVjdCI7aWYobnVsbCE9ZmFsc2UpYnJlYWt9YnJlYWs7Y2FzZSAhIW51bGw6c3dpdGNoKCFUKXtjYXNlIDA9PT0tMDpyZXR1cm4ibnVsbCI7YnJlYWs7Y2FzZSAhW106c3dpdGNoKCEoVCBpbnN0YW5jZW9mIEFycmF5KSl7Y2FzZSAhWyIiXT09TnVtYmVyKCk6dW5kZWZpbmVkO2JyZWFrO2Nhc2UgZmFsc2U6cmV0dXJuImFycmF5IjticmVha31pZihUIGluc3RhbmNlb2YgT2JqZWN0KXJldHVybiBLO2lmKCh4PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChUKSx4KT09IltvYmplY3QgV2luZG93XSIpaWYodHJ1ZSlyZXR1cm4ib2JqZWN0Ijtmb3IoISIiPT0hKFtdPT0oMD09ZmFsc2UpKTt4PT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgVC5sZW5ndGg9PU0mJnR5cGVvZiBULnNwbGljZSE9InVuZGVmaW5lZCImJnR5cGVvZiBULnByb3BlcnR5SXNFbnVtZXJhYmxlIT0idW5kZWZpbmVkIiYmIVQucHJvcGVydHlJc0VudW1lcmFibGUoRik7ZmFsc2Upe3JldHVybiJhcnJheSI7aWYodHJ1ZSlicmVha31pZih4PT0iW29iamVjdCBGdW5jdGlvbl0ifHx0eXBlb2YgVC5jYWxsIT0idW5kZWZpbmVkIiYmdHlwZW9mIFQucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhVC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgiY2FsbCIpKXJldHVybiJmdW5jdGlvbiI7YnJlYWt9YnJlYWt9cmV0dXJuIEt9LHA1PWZ1bmN0aW9uKEYsTSxULEsseCxHLFYpe2V1KCgoRz0oVD0oVj0oRnwoeD1GJjQsMCkpLSAtMSsofkZ8MyksayhNLDE4KSksaykoTSwxNCksSz1aKE0sVCkseCYmKEs9UkQoMTIsIiIrSykpLFYpJiZldShNLEMoSy5sZW5ndGgsMiksRyksTSksSyxHKX0sSUQ9ZnVuY3Rpb24oRixNLFQpe3JldHVybiBqdS5jYWxsKHRoaXMsNTMsTSw2LEYsVCl9LFN1PWZ1bmN0aW9uKCl7cmV0dXJuIFNILmNhbGwodGhpcyw1NCw4KX0sRXk9ZnVuY3Rpb24oRixNLFQsSyx4KXtpZihGLmxlbmd0aD09Myl7Zm9yKFQ9MDtUPDM7VCsrKU1bVF0rPUZbVF07Zm9yKEs9WzEzLDgsMTMsMTIsMTYsNSwzLDEwLDE1XSx4PTA7eDw5O3grKylNWzNdKE0seCUzLEtbeF0pfX0sSkQ9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4pe3N3aXRjaCghKEYuTj09Rikpe2Nhc2UgMD09IVt1bmRlZmluZWRdOmZhbHNlO2JyZWFrO2Nhc2UgMCE9IVtdOmZvcihHPVooRixUKSxUPT0yNDV8fFQ9PTIzOHx8VD09MjY0Pyh4PWZ1bmN0aW9uKHQscSxjLFAseSx6LEQsSCxZKXtmb3IoWT0zNixEPTU4OzspdHJ5e2lmKFk9PTMyKWJyZWFrO2Vsc2V7aWYoWT09MCl0aHJvdyBEPTU4LEg7WT09NzA\/WT1HLkNxIT1QPzQwOjM6WT09NTc\/KEQ9OTAsRy55cj1tRCgyNCxrKDMsMjcsYyxHKSwyNTUsaygzLDQzLDMqKGMmNCkrMip+KGMmNCktIC01LSh+Y3w0KSxHKSx5KSxZPTMpOlk9PTQwPyhHLkNxPVAsYz0oej1QPDwzLC0oel40KS0yKih+el40KSsyKih6fC01KSkseT1bMCwwLE5bMV0sTlsyXV0sWT01Nyk6WT09Mz8oRy5wdXNoKEcueXJbcSY3XV50KSxZPTMyKTpZPT0zNiYmKHE9Ry5sZW5ndGgsUD0ocXwwKS00Pj4zLFk9NzApfX1jYXRjaChkKXtpZihEPT01OCl0aHJvdyBkO0Q9PTkwJiYoSD1kLFk9MCl9fSxOPVooRiwyMDcpKTp4PWZ1bmN0aW9uKHQpe0cucHVzaCh0KX0sSyYmeCg1MTAtKEt8MjU1KSsyKihLJi0yNTYpLShLXjI1NSkpLHc9MCxWPU0ubGVuZ3RoO3c8Vjt3KyspeChNW3ddKTticmVha319LER3PWZ1bmN0aW9uKEYsTSxUKXtyZXR1cm4oVD1GLmNyZWF0ZSgpLnNoaWZ0KCksTS5sKS5jcmVhdGUoKS5sZW5ndGh8fE0uWi5jcmVhdGUoKS5sZW5ndGh8fChNLmw9dm9pZCAwLE0uWj12b2lkIDApLFR9LE89ZnVuY3Rpb24oRixNLFQpe2lmKFQ9Ri5CW01dLFQ9PT12b2lkIDApdGhyb3dbWW4sMzAsTV07c3dpdGNoKCFULnZhbHVlKXtjYXNlIHRydWU6ISgwIT0hW3RydWUudHJ1ZV0pIT0hIiI7YnJlYWs7Y2FzZSBudWxsPT1mYWxzZTpyZXR1cm4gVC5jcmVhdGUoKTticmVha31yZXR1cm4gVC5jcmVhdGUoTSo1Kk0rLTkwKk0rNDQpLFQucHJvdG90eXBlfSx2Xz1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEsYyl7e3E9ODA7d2hpbGUocSE9NjEpaWYocT09MzApcT1OPEsubGVuZ3RoPzk5OjYxO2Vsc2UgaWYocT09OTYpcT0zMDtlbHNlIGlmKHE9PTI1KXthOntpZih3JiZ0eXBlb2Ygdy5sZW5ndGg9PU0pe2lmKGM4KDMsIm9iamVjdCIsdykpe3Q9dHlwZW9mIHcuaXRlbT09ImZ1bmN0aW9uInx8dHlwZW9mIHcuaXRlbT09VjticmVhayBhfWlmKHR5cGVvZiB3PT09ImZ1bmN0aW9uIil7dD10eXBlb2Ygdy5pdGVtPT0iZnVuY3Rpb24iO2JyZWFrIGF9fXQ9ZmFsc2V9cT0oYzgoMTEsVCxHLGMsdD9TSCg1NCwxNixHLHcpOncpLDQxKX1lbHNlIHE9PTgwPyhjPWZ1bmN0aW9uKFApe1AmJnguYXBwZW5kQ2hpbGQodHlwZW9mIFA9PT0ic3RyaW5nIj9GLmNyZWF0ZVRleHROb2RlKFApOlApfSxOPTEscT05Nik6cT09OTA\/KGModykscT00MSk6cT09NDE\/KE4rKyxxPTMwKTpxPT04MT9xPSF4WSgxMCxNLCJvYmplY3QiLCJhcnJheSIsdyl8fGM4KDcsIm9iamVjdCIsdykmJncubm9kZVR5cGU+Rz85MDoyNTpxPT05OSYmKHc9S1tOXSxxPTgxKX19LHJWPWZ1bmN0aW9uKEYsTSxUKXtyZXR1cm4gVC5sP0R3KFQuWixUKTp5bChULEYsTSl9LG1EPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyl7dz0oVj0wLHhbMl18MCk7e0c9eFszXXwwO3doaWxlKFY8MTQpRz1HPj4+OHxHPDxGLEs9Sz4+Pjh8Szw8RixLKz1NfDAsS149dys1NTgsTT1NPDwzfE0+Pj4yOSxNXj1LLEcrPXd8MCxHXj1WKzU1OCx3PXc8PDN8dz4+PjI5LHdePUcsVisrfXJldHVybltNPj4+RiZULE0+Pj4xNiZULE0+Pj44JlQsTT4+PjAmVCxLPj4+RiZULEs+Pj4xNiZULEs+Pj44JlQsSz4+PjAmVF19LFhzPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjLFAseSl7TS5wdXNoKChHPShxPUZbMF08PDI0fEZbMV08PDE2LEs9RlsyXTw8OCwyKihLfDApK35LLSh+cXxLKSksYz1GWzNdLChHJmMpK35jLX4oR3xjKSsofkcmYykpKSxNLnB1c2goKHk9Rls0XTw8MjQsVD1GWzVdPDwxNix+eS0yKn4oeXxUKSsoeSZ+VCkrKH55XlQpKXxGWzZdPDw4fEZbN10pLE0ucHVzaCgoeD0oTj0oUD1GWzhdPDwyNCx0PUZbOV08PDE2LC1+UCsyKih+UCZ0KSsoUHx+dCkpLHc9RlsxMF08PDgsLX5OKyhOJn53KSsofk4mdykrKH5OfHcpKSxWPUZbMTFdLCh4fDApLTEtKHh8flYpKSl9LFo9ZnVuY3Rpb24oRixNLFQpe1Q9Ri5CW01dO3doaWxlKFQ9PT12b2lkIDApe3Rocm93W1luLDMwLE1dO2lmKHRydWUpYnJlYWt9Zm9yKHRydWUudHJ1ZTtULnZhbHVlO3ZvaWQgdW5kZWZpbmVkKXtyZXR1cm4gVC5jcmVhdGUoKTtpZihmYWxzZSE9bnVsbClicmVha31yZXR1cm4oVC5jcmVhdGUoTSo1Kk0rLTkwKk0rNDQpLFQpLnByb3RvdHlwZX0scU09ZnVuY3Rpb24oRixNKXtyZXR1cm4gZS5jYWxsKHRoaXMsMzIsRixNKX0sVzg9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3KXtyZXR1cm4gdS5jYWxsKHRoaXMsTSwxNyxGLFQsSyx4LEcsVix3KX0sUWQ9ZnVuY3Rpb24oRixNLFQsSyl7dHJ5e0s9Rlsofk0rLTMtNCp+KE18MikrMioofk1eMikpJTNdLEZbTV09KEZbTV18MCktKEZbKChNfDApKzEpJTNdfDApLShLfDApXihNPT0xP0s8PFQ6Sz4+PlQpfWNhdGNoKHgpe3Rocm93IHg7fX0sQSxnWT1mdW5jdGlvbihGLE0sVCxLLHgpe00uZ1AubGVuZ3RoPlQ\/VXkoTSxGLFtZbiwzNl0sRik6KE0uZ1AucHVzaChNLkIuc2xpY2UoKSksTS5CW3hdPXZvaWQgMCxmKHgsTSxLKSl9LG41PWZ1bmN0aW9uKCl7cmV0dXJuIHY4LmNhbGwodGhpcywxLDMsNil9LGY9ZnVuY3Rpb24oRixNLFQpe2lmKEY9PTd8fEY9PTM1OClNLkJbRl0\/TS5CW0ZdLmNvbmNhdChUKTpNLkJbRl09bChULE0sMzMpO2Vsc2V7aWYoTS5iMyYmRiE9MjAyKXJldHVybjtGPT0yMjd8fEY9PTI0NXx8Rj09MzE3fHxGPT0yNjR8fEY9PTE4MHx8Rj09NDYwfHxGPT01MDh8fEY9PTIwN3x8Rj09MjM4fHxGPT00NTQ\/TS5CW0ZdfHwoTS5CW0ZdPWwoMCxNLDM0LEYsVCwyMikpOk0uQltGXT1sKDAsTSw0MCxGLFQsODEpfUY9PTIwMiYmKE0uSz15bChNLDMyLGZhbHNlKSxNLkw9dm9pZCAwKX0sQTI9ZnVuY3Rpb24oRil7cmV0dXJuIE1YLmNhbGwodGhpcyw3LEYpfSxxOD1mdW5jdGlvbihGLE0sVCxLLHgpe3JldHVybiBUQS5jYWxsKHRoaXMsZmFsc2UsSyxGLDMsTSxULHgpfSxDPWZ1bmN0aW9uKEYsTSxULEsseCl7Zm9yKHg9KE18MCktMSxLPVtdO3g+PTA7eC0tKUtbKE18MCktMS0oeHwwKV09KFQ9Rj4+eCo4LC1+VC0yKihUJi0yNTYpKyhUXjI1NSkrKFR8LTI1NikpO3JldHVybiBLfSxBRD1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0KXt4PWsoTSwoVj1NW2pMXXx8e30sNDApKTt3aGlsZSh7fSlpZighKFYuc0M9ayhNLDMyKSxbXSkhPXRydWUpYnJlYWs7Zm9yKEc9KHc9WCgzMywoTj0oVi5YPVtdLE0pLk49PU0\/KHQ9clYoRixULE0pLDIrMioodCYtMikrKHReMSkrMioofnReMSkpOjEsTSkpLEspO0c8TjtHKyspVi5YLnB1c2goWCgzMCxNKSk7Zm9yKDtOLS07Vi5YW05dPVooTSxWLlhbTl0pKTtyZXR1cm4gVi5hVD1TKE0sdyksVi5OWD1PKE0seCksVn0sZjU9ZnVuY3Rpb24oRixNLFQsSyx4LEcpe3JldHVybiB4WS5jYWxsKHRoaXMsMjMsRixNLFQsSyx4LEcpfSxNOD1mdW5jdGlvbihGLE0pe2Z1bmN0aW9uIFQoKXt0aGlzLnU9W10sdGhpcy5uPTB9cmV0dXJuIEY9bmV3IChNPShULnByb3RvdHlwZS5pNj0oVC5wcm90b3R5cGUuclA9ZnVuY3Rpb24oSyx4KXtyZXR1cm4gaDIuY2FsbCh0aGlzLDgwLDYsSyx4KX0sZnVuY3Rpb24oKXtyZXR1cm4gJFkuY2FsbCh0aGlzLDEsMTYpfSksbmV3IFQpLFQpLFtmdW5jdGlvbihLKXtNLnJQKEspLEYuclAoSyl9LGZ1bmN0aW9uKEspe3JldHVybiBGPW5ldyAoSz1NLmk2KCkuY29uY2F0KEYuaTYoKSksVCksS31dfSxpMD10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKEYsTSxULEspe3tLPTU0O3doaWxlKEshPTc2KWlmKEs9PTU0KUs9Rj09QXJyYXkucHJvdG90eXBlfHxGPT1PYmplY3QucHJvdG90eXBlPzkxOjE2O2Vsc2V7aWYoSz09OTEpcmV0dXJuIEY7aWYoSz09MTYpcmV0dXJuIEZbTV09VC52YWx1ZSxGfX19LHY9ZnVuY3Rpb24oRixNLFQpe2lmKE09PTd8fE09PTM1OClGLkJbTV0\/Ri5CW01dLmNvbmNhdChUKTpGLkJbTV09bChULEYsOTcpO2Vsc2V7aWYoRi5iMyYmTSE9MjAyKXJldHVybjtNPT0yMjd8fE09PTI0NXx8TT09MzE3fHxNPT0yNjR8fE09PTE4MHx8TT09NDYwfHxNPT01MDh8fE09PTIwN3x8TT09MjM4fHxNPT00NTQ\/Ri5CW01dfHwoRi5CW01dPWwoMCxGLDY2LE0sVCwyMikpOkYuQltNXT1sKDAsRiwzMixNLFQsODEpfU09PTIwMiYmKEYuSz15bChGLDMyLGZhbHNlKSxGLkw9dm9pZCAwKX0sV189ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3KXtpZighTS5GKXtNLnhOKys7dHJ5e3g9KHc9dm9pZCAwLE0uQyk7e1Y9MDt3aGlsZSgtLUspdHJ5e2lmKEc9dm9pZCAwLE0ubCl3PUR3KE0ubCxNKTtlbHNle2lmKChWPVMoTSxGKSxWKT49eClicmVhazt3PShHPVgoKHYoTSwzNTgsViksMzEpLE0pLFMoTSxHKSl9SigxMywodyYmd1tCX10mVD93KE0sSyk6VXkoTSwwLFtZbiwyMSxHXSwwKSwwKSxmYWxzZSxLLGZhbHNlLE0pfWNhdGNoKE4pe08oTSw0NCk\/VXkoTSwyMixOLDApOm4oNDQsTSxOKX19aWYoIUspe2lmKE0ubWYpe1dfKDcsTSwyMDQ4LChNLnhOLS0sOTMyOTY1OTY2MTcpKTtyZXR1cm59VXkoTSwwLFtZbiwzM10sMCl9fWNhdGNoKE4pe3RyeXtVeShNLDIyLE4sMCl9Y2F0Y2godCl7d1YoMjA0OCx0LCI6IixNLDUpfX1NLnhOLS19fSxDWT1mdW5jdGlvbihGLE0sVCxLLHgsRyl7cmV0dXJuIHY4LmNhbGwodGhpcywxLDMsNSxGLE0sVCxLLHgsRyl9LFV5PWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjLFApe3N3aXRjaCghKCFGLmIzJiYoeD12b2lkIDAsVCYmVFtLXT09PVluJiYoeD1UWzJdLE09VFsxXSxUPXZvaWQgMCksRz1TKEYsMTgwKSxHLmxlbmd0aD09SyYmKFA9WihGLDM1OCk+PjMsRy5wdXNoKE0sKE49UD4+OCwtMjU1LTIqfihOfDI1NSkrMioofk5eMjU1KSsofk4mMjU1KSksLTEtfihQfDI1NSktKFBeMjU1KSkseCE9dm9pZCAwJiZHLnB1c2goeCYyNTUpKSx0PSIiLFQmJihULm1lc3NhZ2UmJih0Kz1ULm1lc3NhZ2UpLFQuc3RhY2smJih0Kz0iOiIrVC5zdGFjaykpLHc9TyhGLDQ1NCksd1tLXT4zKSkpe2Nhc2UgMD09PS0wOmZhbHNlO2JyZWFrO2Nhc2UgZmFsc2U9PW51bGw6Ri5OPShxPSh0PSh3W3Q9dC5zbGljZShLLCh3W0tdfEspLTMpLEtdLT0odC5sZW5ndGh8SykrMyxSRCgxMix0KSksRi5OKSxGKTt0cnl7Ri5ZTj8oVj0oVj1aKEYsNDYwKSkmJlZbVi5sZW5ndGgtMV18fDk1LChjPVooRiw1MDgpKSYmY1tjLmxlbmd0aC0xXT09Vnx8ZXUoRixbLTI1NS0yKn4oVnwyNTUpKyh+Vl4yNTUpKyh+VnwyNTUpXSw1MDgpKTpldShGLFs5NV0sNDYwKSxldShGLEModC5sZW5ndGgsMikuY29uY2F0KHQpLDI0NSw1MSl9ZmluYWxseXtGLk49cX1icmVha319LEZCPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjKXtmb3IodD0oYz1LLDU5KTs7KXRyeXtpZihjPT1GKWJyZWFrO2Vsc2V7aWYoYz09TSlyZXR1cm4gTjtpZihjPT04KWM9dyYmdy5jcmVhdGVQb2xpY3k\/VDpNO2Vsc2V7aWYoYz09NzIpcmV0dXJuIHQ9NTksTjtjPT02OD8oRS5jb25zb2xlW3hdKHEubWVzc2FnZSksYz03Mik6Yz09Nj9jPUUuY29uc29sZT82ODo3MjpjPT1UPyh0PTcwLE49dy5jcmVhdGVQb2xpY3koRyx7Y3JlYXRlSFRNTDpPeSxjcmVhdGVTY3JpcHQ6T3ksY3JlYXRlU2NyaXB0VVJMOk95fSksYz03Mik6Yz09Nzg\/KHQ9NTksYz02KTpjPT1LJiYoTj1WLHc9RS50cnVzdGVkVHlwZXMsYz04KX19fWNhdGNoKFApe2lmKHQ9PTU5KXRocm93IFA7dD09NzAmJihxPVAsYz03OCl9fSxhRD1mdW5jdGlvbihGLE0sVCxLLHgsRyl7cmV0dXJuIFooeCwodih4LChXXyg3LHgsKChHPU8oeCxUKSx4LkQ2KSYmRzx4LkM\/KGYoVCx4LHguQyksZ1koMCx4LDEwNCxNLFQpKTpmKFQseCxNKSwyMDQ4KSxLKSxUKSxHKSxGKSl9LGV1PWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOKXtzd2l0Y2goIShGLk49PUYpKXtjYXNlIHRydWU6MDticmVhaztjYXNlIG51bGw9PWZhbHNlOnt4PVooRixUKSxUPT0yNDV8fFQ9PTIzOHx8VD09MjY0PyhWPWZ1bmN0aW9uKHQscSxjLFAseSx6LEQsSCxZKXtmb3IoRD0oWT0zMSw3MCk7Oyl0cnl7aWYoWT09NDcpYnJlYWs7ZWxzZSBpZihZPT02KXguQ3E9eixjPSh5PXo8PDMsLSh5XjQpLTIqKH55XjQpKzIqKHl8LTUpKSxxPVswLDAsTlsxXSxOWzJdXSxZPTE4O2Vsc2UgaWYoWT09MTgpRD03NCx4LnlyPW1EKDI0LGsoMywzMSxjLHgpLDI1NSxrKDMsNDcsMyooYyY0KSsyKn4oYyY0KS0gLTUtKH5jfDQpLHgpLHEpLFk9NDE7ZWxzZSBpZihZPT00MSl4LnB1c2goeC55cltQJjddXnQpLFk9NDc7ZWxzZSBpZihZPT0zMSlQPXgubGVuZ3RoLHo9KFB8MCktND4+MyxZPTExO2Vsc2UgaWYoWT09MTEpWT14LkNxIT16PzY6NDE7ZWxzZSBpZihZPT01KXRocm93IEQ9NzAsSDt9Y2F0Y2goZCl7aWYoRD09NzApdGhyb3cgZDtEPT03NCYmKEg9ZCxZPTUpfX0sTj1PKEYsMjA3KSk6Vj1mdW5jdGlvbih0KXt4LnB1c2godCl9LEsmJlYoNTEwLShLfDI1NSkrMiooSyYtMjU2KS0oS14yNTUpKSx3PTAsRz1NLmxlbmd0aDt3aGlsZSh3PEcpVihNW3ddKSx3Kyt9YnJlYWt9fSxSND1mdW5jdGlvbigpe3JldHVybiBJLmNhbGwodGhpcywxMil9LEtCPWZ1bmN0aW9uKEYsTSl7Zm9yKHZhciBUPTI7VCE9MTI7KWlmKFQ9PTY3KVQ9Nzc7ZWxzZSBpZihUPT0wKXt2YXIgSz1hcmd1bWVudHNbVl07Zm9yKEcgaW4gSylGW0ddPUtbR107dmFyIHg9KFQ9NCwwKX1lbHNlIGlmKFQ9PTYpeCsrLFQ9Njg7ZWxzZSBpZihUPT03NylUPVY8YXJndW1lbnRzLmxlbmd0aD8wOjEyO2Vsc2UgaWYoVD09NClUPTY4O2Vsc2UgaWYoVD09NjgpVD14PFRuLmxlbmd0aD84Mjo3ODtlbHNlIGlmKFQ9PTgyKXt2YXIgRz1Ublt4XTtUPShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoSyxHKSYmKEZbR109S1tHXSksNil9ZWxzZSBpZihUPT0yKXZhciBWPShUPTY3LDEpO2Vsc2UgVD09NzgmJihWKyssVD03Nyl9LGRWPSRZKDEsMywib2JqZWN0IiwwLCJNYXRoIix0aGlzKSxFPShHQSgxOCwiLiIsMCwxLG51bGwsIlN5bWJvbCIsZnVuY3Rpb24oRixNLFQsSyx4LEcpe2Zvcih4PTMyO3ghPTU4Oyl7aWYoeD09MTgpcmV0dXJuIEY7aWYoeD09OTQpcmV0dXJuIEsucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSVR9LFQ9ImpzY29tcF9zeW1ib2xfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSsiXyIsTT0wLEc7eD09MzI\/KEs9ZnVuY3Rpb24oVix3KXt0aGlzLklUPVYsaTAodGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlLHZhbHVlOnd9KX0sRz1mdW5jdGlvbihWLHcpe2Zvcih3PTQ3O3chPTcwOylpZih3PT00Nyl3PXRoaXMgaW5zdGFuY2VvZiBHPzE0OjgxO2Vsc2V7aWYodz09ODEpcmV0dXJuIG5ldyBLKFQrKFZ8fCIiKSsiXyIrTSsrLFYpO2lmKHc9PTE0KXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO319LHg9NTQpOng9PTU0JiYoeD1GPzE4Ojk0KX19KSx0aGlzKXx8c2VsZixadz0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxsMD0wLGVILFVHPWZ1bmN0aW9uKEYsTSxULEsseCxHKXtmb3IoSz04NyxHPTc4OzspdHJ5e2lmKEs9PTgyKWJyZWFrO2Vsc2UgaWYoSz09NTUpTT1mYWxzZSxUPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe009dHJ1ZX19KSxLPTg7ZWxzZXtpZihLPT04NSlyZXR1cm4gZmFsc2U7aWYoSz09NjEpRz03OCxLPTkzO2Vsc2UgaWYoSz09ODcpSz1FLmFkZEV2ZW50TGlzdGVuZXImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eT81NTo4NTtlbHNle2lmKEs9PTkzKXJldHVybiBHPTc4LE07Sz09OCYmKEc9MyxGPWZ1bmN0aW9uKCl7fSxFLmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLEYsVCksRS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixGLFQpLEs9OTMpfX19Y2F0Y2goVil7aWYoRz09NzgpdGhyb3cgVjtHPT0zJiYoeD1WLEs9NjEpfX0oKSx0Mj0oKChzRygyLDUsa1ksKFlZLnByb3RvdHlwZVsoWVkucHJvdG90eXBlLm89ZnVuY3Rpb24oRil7e0Y9Nzt3aGlsZShGIT02OSlGPT0zND9GPTgyOkY9PTcwPyh0aGlzLkFSLnNoaWZ0KCkoKSxGPTM0KTpGPT04Mj9GPXRoaXMuQVIubGVuZ3RoPzcwOjY5OkY9PTUzP0Y9ODI6Rj09NyYmKEY9dGhpcy5BUj81Mzo2OSl9fSxZWS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbihGKXtmb3IoRj0zOTtGIT0xNzspRj09NT8odGhpcy5WPXRydWUsdGhpcy5vKCksRj0xNyk6Rj09MzkmJihGPXRoaXMuVj8xNzo1KX0scU0ucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRydWV9LFlZKS5wcm90b3R5cGUuVj1mYWxzZSwocU0ucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuSlI9dHJ1ZX0sU3ltYm9sKS5kaXNwb3NlXT1mdW5jdGlvbigpe3doaWxlKHt9KWlmKHRoaXMuZGlzcG9zZSgpLHt9KWJyZWFrfSxxTSkpLGtZLnByb3RvdHlwZSkuaW5pdD1mdW5jdGlvbihGLE0sVCxLLHgsRyl7e0c9Mzt3aGlsZShHIT0yNSlHPT0yND9HPUs9PSJtb3VzZW92ZXIiPzk3Ojk2Okc9PTk2P0c9Sz09Im1vdXNlb3V0Ij80Njo3NTpHPT00Nj8oVD1GLnRvRWxlbWVudCxHPTc1KTpHPT05Nz8oVD1GLmZyb21FbGVtZW50LEc9NzUpOkc9PTc1Pyh0aGlzLnJlbGF0ZWRUYXJnZXQ9VCxHPTIxKTpHPT05Mj9HPVQ\/NzU6MjQ6Rz09NzA\/KHRoaXMuY2xpZW50WD14LmNsaWVudFghPT12b2lkIDA\/eC5jbGllbnRYOngucGFnZVgsdGhpcy5jbGllbnRZPXguY2xpZW50WSE9PXZvaWQgMD94LmNsaWVudFk6eC5wYWdlWSx0aGlzLnNjcmVlblg9eC5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT14LnNjcmVlbll8fDAsRz03OCk6Rz09Mz8oSz10aGlzLnR5cGU9Ri50eXBlLHg9Ri5jaGFuZ2VkVG91Y2hlcyYmRi5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg\/Ri5jaGFuZ2VkVG91Y2hlc1swXTpudWxsLHRoaXMudGFyZ2V0PUYudGFyZ2V0fHxGLnNyY0VsZW1lbnQsdGhpcy5jdXJyZW50VGFyZ2V0PU0sVD1GLnJlbGF0ZWRUYXJnZXQsRz05Mik6Rz09Nzg\/KHRoaXMuYnV0dG9uPUYuYnV0dG9uLHRoaXMua2V5Q29kZT1GLmtleUNvZGV8fDAsdGhpcy5rZXk9Ri5rZXl8fCIiLHRoaXMuY2hhckNvZGU9Ri5jaGFyQ29kZXx8KEs9PSJrZXlwcmVzcyI\/Ri5rZXlDb2RlOjApLHRoaXMuY3RybEtleT1GLmN0cmxLZXksdGhpcy5hbHRLZXk9Ri5hbHRLZXksdGhpcy5zaGlmdEtleT1GLnNoaWZ0S2V5LHRoaXMubWV0YUtleT1GLm1ldGFLZXksdGhpcy5wb2ludGVySWQ9Ri5wb2ludGVySWR8fDAsdGhpcy5wb2ludGVyVHlwZT1GLnBvaW50ZXJUeXBlLHRoaXMuc3RhdGU9Ri5zdGF0ZSx0aGlzLnRpbWVTdGFtcD1GLnRpbWVTdGFtcCx0aGlzLkIkPUYsRi5kZWZhdWx0UHJldmVudGVkJiZrWS5ELnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksRz0yNSk6Rz09NjU\/KHRoaXMub2Zmc2V0WD1GLm9mZnNldFgsdGhpcy5vZmZzZXRZPUYub2Zmc2V0WSx0aGlzLmNsaWVudFg9Ri5jbGllbnRYIT09dm9pZCAwP0YuY2xpZW50WDpGLnBhZ2VYLHRoaXMuY2xpZW50WT1GLmNsaWVudFkhPT12b2lkIDA\/Ri5jbGllbnRZOkYucGFnZVksdGhpcy5zY3JlZW5YPUYuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Ri5zY3JlZW5ZfHwwLEc9NzgpOkc9PTIxJiYoRz14PzcwOjY1KX19LGtZLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtrWS5ELnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpLHRoaXMuQiQuc3RvcFByb3BhZ2F0aW9uP3RoaXMuQiQuc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5CJC5jYW5jZWxCdWJibGU9dHJ1ZX0sa1kucHJvdG90eXBlKS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbihGKXtpZihGPShrWS5ELnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksdGhpcy5CJCkse30pRi5wcmV2ZW50RGVmYXVsdD9GLnByZXZlbnREZWZhdWx0KCk6Ri5yZXR1cm5WYWx1ZT1mYWxzZX0sImNsb3N1cmVfbGlzdGVuYWJsZV8iKSsoTWF0aC5yYW5kb20oKSoxRTZ8MCksVG49ImNvbnN0cnVjdG9yIGhhc093blByb3BlcnR5IGlzUHJvdG90eXBlT2YgcHJvcGVydHlJc0VudW1lcmFibGUgdG9Mb2NhbGVTdHJpbmcgdG9TdHJpbmcgdmFsdWVPZiIuc3BsaXQoIiAiKSxMWT0wLEoyPSJjbG9zdXJlX2xtXyIrKChIOC5wcm90b3R5cGUuYWRkPShIOC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyl7e3c9NTc7d2hpbGUodyE9OTkpaWYodz09MjEpdz1HLmxlbmd0aD09MD80OToxMjtlbHNlIGlmKHc9PTQ2KXc9Vj4tMT8yOTo3NztlbHNle2lmKHc9PTc3KXJldHVybiBmYWxzZTtpZih3PT02OSl3PXggaW4gdGhpcy5pPzA6Mzc7ZWxzZSBpZih3PT0yOSkkWSgxLDE4LHRydWUsR1tWXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKEcsViwxKSx3PTIxO2Vsc2UgaWYodz09MClHPXRoaXMuaVt4XSxWPUooMjQsMCxHLFQsTSxLKSx3PTQ2O2Vsc2UgaWYodz09NTcpeD1GLnRvU3RyaW5nKCksdz02OTtlbHNle2lmKHc9PTEyKXJldHVybiB0cnVlO2lmKHc9PTQ5KWRlbGV0ZSB0aGlzLmlbeF0sdGhpcy5zSy0tLHc9MTI7ZWxzZSBpZih3PT0zNylyZXR1cm4gZmFsc2V9fX19LGZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQpe3t0PTEzO3doaWxlKHQhPTg4KWlmKHQ9PTY5KXQ9VD83Njo0O2Vsc2UgaWYodD09MTMpTj1GLnRvU3RyaW5nKCksVj10aGlzLmlbTl0sdD02MDtlbHNle2lmKHQ9PTc2KXJldHVybiBHO3Q9PTM4PyhWPXRoaXMuaVtOXT1bXSx0aGlzLnNLKyssdD0zNik6dD09ND8oRy5vbT1mYWxzZSx0PTc2KTp0PT00Mz90PXc+LTE\/OTI6Mzk6dD09NjA\/dD1WPzM2OjM4OnQ9PTM2Pyh3PUooMTYsMCxWLEssTSx4KSx0PTQzKTp0PT05Mj8oRz1WW3ddLHQ9NjkpOnQ9PTM5JiYoRz1uZXcgeWQodGhpcy5zcmMsTiwhIUsseCxNKSxHLm9tPVQsVi5wdXNoKEcpLHQ9NzYpfX19KSxIOC5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oRixNLFQsSyx4KXtyZXR1cm4gJFkoMSw0OSx0cnVlLCh4PShUPU0hPT12b2lkIDAsKEs9RiE9PXZvaWQgMCk\/Ri50b1N0cmluZygpOiIiKSxmYWxzZSksZnVuY3Rpb24oRyxWLHcpe2Zvcih3PTQ7dyE9MzU7KWlmKHc9PTQpVj0wLHc9MjE7ZWxzZSBpZih3PT0yMSl3PTE0O2Vsc2UgaWYodz09NzQpdz1LJiZHW1ZdLnR5cGUhPXh8fFQmJkdbVl0uY2FwdHVyZSE9TT8zNzo2NjtlbHNle2lmKHc9PTUpcmV0dXJuIGZhbHNlO2lmKHc9PTY2KXJldHVybiB0cnVlO3c9PTE0P3c9VjxHLmxlbmd0aD83NDo1Onc9PTM3JiYoKytWLHc9MTQpfX0sdGhpcy5pKX0sSDgucHJvdG90eXBlKS5TYT1mdW5jdGlvbihGLE0sVCxLLHgsRyl7cmV0dXJuIEc9KHg9dGhpcy5pW00udG9TdHJpbmcoKV0sLTEpLHgmJihHPUooMTgsMCx4LEssRixUKSksRz4tMT94W0ddOm51bGx9LE1hdGgucmFuZG9tKCkqMUU2fDApLEI4PXt9LG80PTAsdTA9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTsoKEE9KHNHKDIsOSxSNCxZWSksUjQucHJvdG90eXBlW3QyXT10cnVlLFI0LnByb3RvdHlwZSksQS5QJD1mdW5jdGlvbihGKXt0aGlzLnFaPUZ9LEEuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihGLE0sVCxLKXt4WSgxMywib2JqZWN0IixmYWxzZSx0aGlzLFQsTSxGLEspfSxBKS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKEYsTSxULEspe01YKDMsIm9iamVjdCIsMCx0aGlzLFQsTSxGLEspfSxBKS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjKXt7Yz03NTt3aGlsZShjIT05MilpZihjPT0xMSlHPTAsYz0xMDtlbHNlIGlmKGM9PTkxKUs9dHJ1ZSxjPTkzO2Vsc2V7aWYoYz09NSlyZXR1cm4gSztjPT00Mz9jPVY\/MTE6NTpjPT04MD8oRy0tLGM9ODQpOmM9PTA\/Yz0hTS5KUiYmRzxWLmxlbmd0aD80Mjo1OmM9PTU2Pyh3PXRoaXMuY2IsVj1OLE09RixUPU0udHlwZXx8TSxjPTQ0KTpjPT0xOT8ocT1NLmN1cnJlbnRUYXJnZXQ9VltHXSxLPUk0KHRydWUsMTIsVCxNLHEsdHJ1ZSkmJkssYz04MCk6Yz09OTk\/KE4ucHVzaCh4KSxjPTUyKTpjPT00Mj8ocT1NLmN1cnJlbnRUYXJnZXQ9VltHXSxLPUk0KHRydWUsMTEsVCxNLHEsZmFsc2UpJiZLLGM9ODEpOmM9PTUyPyh4PXgucVosYz0yMCk6Yz09NDg\/KE09bmV3IHFNKE0sdyksYz05MSk6Yz09ODE\/KEcrKyxjPTApOmM9PTIwP2M9eD85OTo1NjpjPT0xMD9jPTA6Yz09Mjc\/Yz1NLkpSPzQzOjY2OmM9PTU3P2M9eD83NDo1NjpjPT03ND8oTj1bXSxjPTEpOmM9PTc1Pyh4PXRoaXMucVosYz01Nyk6Yz09ODM\/KEc9Vi5sZW5ndGgtMSxjPTE2KTpjPT03MT8oTS50YXJnZXQ9TS50YXJnZXR8fHcsYz05MSk6Yz09NjY\/KHE9TS5jdXJyZW50VGFyZ2V0PXcsSz1JNCh0cnVlLDEwLFQsTSxxLHRydWUpJiZLLE0uSlJ8fChLPUk0KHRydWUsMTMsVCxNLHEsZmFsc2UpJiZLKSxjPTQzKTpjPT04ND9jPSFNLkpSJiZHPj0wPzE5OjI3OmM9PTQ0P2M9dHlwZW9mIE09PT0ic3RyaW5nIj80ODo0NzpjPT0zMT8odD1NLE09bmV3IHFNKFQsdyksS0IoTSx0KSxjPTkxKTpjPT0xP2M9MjA6Yz09OTM\/Yz1WPzgzOjI3OmM9PTE2P2M9ODQ6Yz09NDcmJihjPU0gaW5zdGFuY2VvZiBxTT83MTozMSl9fX0sQS5TYT1mdW5jdGlvbihGLE0sVCxLKXtyZXR1cm4gdGhpcy5ILlNhKEYsU3RyaW5nKE0pLFQsSyl9LEEubz1mdW5jdGlvbigpe3RoaXMucVo9KChSNC5ELm8uY2FsbCh0aGlzKSx0aGlzLkgpJiZjOCgxNCwwLHRydWUsdGhpcy5IKSxudWxsKX0sQS5oYXNMaXN0ZW5lcj1mdW5jdGlvbihGLE0pe3JldHVybiB0aGlzLkguaGFzTGlzdGVuZXIoRiE9PXZvaWQgMD9TdHJpbmcoRik6dm9pZCAwLE0pfTt2YXIgcVg7KCgoKChBPShzRygyLDMsKChEbigxNiwoKCgoKCgoQT0oIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoIiAiKS5jb25jYXQoWyJCVVRUT04iLCJJTlBVVCJdKSxwWS5wcm90b3R5cGUpLEEpLlA9ZnVuY3Rpb24oRixNKXtyZXR1cm4oTT10aGlzLkxxLHR5cGVvZiBGPT09InN0cmluZyIpP00uZ2V0RWxlbWVudEJ5SWQoRik6Rn0sQS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihGLE0pe3JldHVybihNfHx0aGlzLkxxKS5nZXRFbGVtZW50c0J5VGFnTmFtZShTdHJpbmcoRikpfSxBKS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKEYsTSxUKXsoVD1TdHJpbmcoRiksTT10aGlzLkxxLE0pLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihUPVQudG9Mb3dlckNhc2UoKSk7d2hpbGUoMD09IVt1bmRlZmluZWRdKXtyZXR1cm4gTS5jcmVhdGVFbGVtZW50KFQpO2lmKHt9KWJyZWFrfX0sQSkuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oRil7cmV0dXJuIHRoaXMuTHEuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKEYpKX0sQS5hcHBlbmRDaGlsZD1mdW5jdGlvbihGLE0pe0YuYXBwZW5kQ2hpbGQoTSl9LEEpLmFwcGVuZD1mdW5jdGlvbihGLE0pe3ZfKEYubm9kZVR5cGU9PTk\/RjpGLm93bmVyRG9jdW1lbnR8fEYuZG9jdW1lbnQsIm51bWJlciIsIiIsYXJndW1lbnRzLEYsMCwic3RyaW5nIil9LEEpLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihGLE0pe3tNPTQ5O3doaWxlKE0hPTU4KXtpZihNPT04OSlyZXR1cm4gZmFsc2U7aWYoTT09NDkpTT1GLm5vZGVUeXBlIT0xPzg5OjE4O2Vsc2UgaWYoTT09MTgpe3N3aXRjaChGLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9fX19LEEpLnJlbW92ZU5vZGU9ZFksQS5jb250YWlucz1mdW5jdGlvbihGLE0sVCl7e1Q9OTt3aGlsZShUIT02MilpZihUPT02NylUPUYuY29udGFpbnMmJk0ubm9kZVR5cGU9PTE\/NDY6NTtlbHNle2lmKFQ9PTExKXJldHVybiBGPT1NfHwhIShGLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE0pJjE2KTtpZihUPT03MSlUPTY4O2Vsc2UgaWYoVD09MjgpVD02ODtlbHNle2lmKFQ9PTI1KXJldHVybiBNPT1GO2lmKFQ9PTQ2KXJldHVybiBGPT1NfHxGLmNvbnRhaW5zKE0pO2lmKFQ9PTc1KXJldHVybiBmYWxzZTtUPT05P1Q9RiYmTT82Nzo3NTpUPT03Nj8oTT1NLnBhcmVudE5vZGUsVD0yOCk6VD09NT9UPXR5cGVvZiBGLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIj8xMTo3MTpUPT02OCYmKFQ9TSYmRiE9TT83NjoyNSl9fX19LDI5KSxTdSksU3UucHJvdG90eXBlLlVDPTAsU3UucHJvdG90eXBlKS5BeD0iIixBMiksUjQpLEEyKS5wcm90b3R5cGUsQSkueEU9U3UuYyQoKSxBLlA9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UfSxBKS5nZXRQYXJlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pM30sQS5OWj1mdW5jdGlvbigpe3RoaXMuVGk9IShqdSg1Myx0aGlzLDExLGZ1bmN0aW9uKEYpe0YuVGkmJkYuTlooKX0pLHRoaXMuemkmJmM4KDEzLDAsdHJ1ZSx0aGlzLnppKSwxKX0sQSkubz1mdW5jdGlvbihGKXtmb3IoRj01MTtGIT02ODspRj09MTA\/Rj10aGlzLnppPzc2OjQ5OkY9PTc2Pyh0aGlzLnppLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy56aSxGPTQ5KTpGPT01MT8odGhpcy5UaSYmdGhpcy5OWigpLEY9MTApOkY9PTQ5JiYoanUoNTMsdGhpcywxMixmdW5jdGlvbihNKXtNLmRpc3Bvc2UoKX0pLCF0aGlzLkN2JiZ0aGlzLlQmJmRZKHRoaXMuVCksdGhpcy5UPXRoaXMuaTM9dGhpcy5mcT10aGlzLmRQPW51bGwsQTIuRC5vLmNhbGwodGhpcyksRj02OCl9LEEpLlAkPWZ1bmN0aW9uKEYsTSl7Zm9yKE09OTI7TSE9MTg7KWlmKE09PTkyKU09dGhpcy5pMyYmdGhpcy5pMyE9Rj81ODo5MDtlbHNlIGlmKE09PTkwKUEyLkQuUCQuY2FsbCh0aGlzLEYpLE09MTg7ZWxzZSBpZihNPT01OCl0aHJvdyBFcnJvcigiTWV0aG9kIG5vdCBzdXBwb3J0ZWQiKTt9LEEpLnJlbW92ZUNoaWxkPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjLFApe2ZvcihQPTU0O1AhPTQ3OylpZihQPT04KUY9dCxQPTQ2O2Vsc2UgaWYoUD09NTIpRi5OWigpLEYuVCYmZFkoRi5UKSxQPTEwO2Vsc2UgaWYoUD09NjIpVi5pMz1udWxsLEEyLkQuUCQuY2FsbChWLG51bGwpLFA9ODM7ZWxzZSBpZihQPT01NClQPUY\/Njg6ODM7ZWxzZSBpZihQPT02OClQPXR5cGVvZiBGPT09InN0cmluZyI\/OTI6MTU7ZWxzZSBpZihQPT02NilQPVY9PW51bGw\/ODY6NjI7ZWxzZSBpZihQPT05MyljPXRoaXMuZnEsdyBpbiBjJiZkZWxldGUgY1t3XSxYYig4LDU5LDAsdGhpcy5kUCxGKSxQPTI5O2Vsc2UgaWYoUD09ODMpUD1GPzcxOjgxO2Vsc2UgaWYoUD09MjkpUD1NPzUyOjEwO2Vsc2UgaWYoUD09MTUpUD0oRz1GLkp4KT81MDo1O2Vsc2UgaWYoUD09MTApVj1GLFA9NjY7ZWxzZSBpZihQPT01KVQ9Ri54RSxxPUYsTj1ULkF4KyI6IisoVC5VQysrKS50b1N0cmluZygzNiksRz1xLkp4PU4sUD01MDtlbHNlIGlmKFA9PTI3KXg9dGhpcy5mcSx0PSh4IT09bnVsbCYmdyBpbiB4P3hbd106dm9pZCAwKXx8bnVsbCxQPTg7ZWxzZSBpZihQPT03OSl3PUssUD02NTtlbHNle2lmKFA9PTgxKXRocm93IEVycm9yKCJDaGlsZCBpcyBub3QgaW4gcGFyZW50IGNvbXBvbmVudCIpO2lmKFA9PTUwKUs9RyxQPTc5O2Vsc2UgaWYoUD09NDYpUD13JiZGPzkzOjgzO2Vsc2UgaWYoUD09NjUpUD10aGlzLmZxJiZ3PzI3OjY3O2Vsc2V7aWYoUD09NzEpcmV0dXJuIEY7aWYoUD09OTIpSz1GLFA9Nzk7ZWxzZXtpZihQPT04Nil0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50Iik7UD09NjcmJih0PW51bGwsUD04KX19fX07dmFyIHhBLEduPXtidXR0b246InByZXNzZWQiLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86KERuKDE2LDI4LG41KSxBPW41LnByb3RvdHlwZSwiY2hlY2tlZCIpLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifTtpZihBLktxPShBLmVhPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOKXtmb3IoTj0odz0xMyw0Myk7Oyl0cnl7aWYodz09NzQpYnJlYWs7ZWxzZSB3PT0zP3c9Ri5JJjMyPzEwOjY0Onc9PTUwP3c9SyE9TT8xOTo3NDp3PT01OT93PU0\/Nzc6ODI6dz09Mzk\/KE49NDMsdz0zKTp3PT0zMz8oTj00Myx3PTM5KTp3PT02OD93PSFNJiZGLkkmMzI\/NjY6NjQ6dz09MTA\/KEYuVnImNCYmRi5IJCY0JiZGLnNldEFjdGl2ZShmYWxzZSksRi5WciYzMiYmRi5IJCYzMiYmTVgoOCwxNixGLGZhbHNlLDMyKSYmRi5BKDMyLGZhbHNlKSx3PTY0KTp3PT0xOT8oeD1ULHc9NTkpOnc9PTYyPyhHPVQudGFiSW5kZXgsSz10eXBlb2YgRz09PSJudW1iZXIiJiZHPj0wJiZHPDMyNzY4LHc9NTApOnc9PTY2PyhOPTE0LFQuYmx1cigpLHc9MzkpOnc9PTc3Pyh4LnRhYkluZGV4PTAsdz03NCk6dz09ODI\/KHgudGFiSW5kZXg9LTEseC5yZW1vdmVBdHRyaWJ1dGUoInRhYkluZGV4Iiksdz03NCk6dz09NjQ\/dz0oSz1ULmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKSk\/NjI6NTA6dz09MTMmJih3PUYuSCQmMzImJihUPUYua04oKSk\/Njg6NzQpfWNhdGNoKHQpe2lmKE49PTQzKXRocm93IHQ7Tj09MTQmJihWPXQsdz0zMyl9fSxBLlckPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyl7KEs9KFY9KHhBfHwoeEE9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSx4QVtNXSksRi5nZXRBdHRyaWJ1dGUoInJvbGUiKSl8fG51bGwpPyh3PUduW0tdfHxWLEc9Vj09ImNoZWNrZWQifHxWPT0ic2VsZWN0ZWQiP3c6Vik6Rz1WLCh4PUcpJiZUQShmYWxzZSxGLCJmYWxzZSIsMjMsIiAiLFQseCl9LEEua049ZnVuY3Rpb24oRil7cmV0dXJuIEYuUCgpfSxmdW5jdGlvbihGLE0sVCxLKXsoSz1GLlA\/Ri5QKCk6RikmJihUP3E4Om9EKShLLFtNXSl9KSx0cnVlKUEuQT1mdW5jdGlvbihGLE0sVCxLLHgsRyxWKXt7Vj03Nzt3aGlsZShWIT02OClWPT01OT9WPXRoaXMucHE\/MTE6NjY6Vj09MTE\/KChLPXRoaXMucHFbTV0pJiZ0aGlzLktxKEYsSyxUKSx0aGlzLlckKHgsTSxUKSxWPTY4KTpWPT02Nj8oRz10aGlzLnpTKCksRy5yZXBsYWNlKC9cXHhhMHxcXHMvZywiICIpLHRoaXMucHE9ezE6RysiLWRpc2FibGVkIiwyOkcrIi1ob3ZlciIsNDpHKyItYWN0aXZlIiw4OkcrIi1zZWxlY3RlZCIsMTY6RysiLWNoZWNrZWQiLDMyOkcrIi1mb2N1c2VkIiw2NDpHKyItb3BlbiJ9LFY9MTEpOlY9PTc3Pyh4PUYuUCgpLFY9NzYpOlY9PTc2JiYoVj14PzU5OjY4KX19O3ZhciBiMD0oRG4oMTYsMjYsKHNHKDIsOCwoQS56Uz1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifSx6MCksbjUpLHowKSkse30pOygoKCh6MC5wcm90b3R5cGUuelM9ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1idXR0b24ifSx6MC5wcm90b3R5cGUpLlckPWZ1bmN0aW9uKEYsTSxUKXtzd2l0Y2goTSl7Y2FzZSA4OmNhc2UgMTY6VEEoZmFsc2UsRiwiZmFsc2UiLDIyLCIgIixULCJwcmVzc2VkIik7YnJlYWs7ZGVmYXVsdDpjYXNlIDY0OmNhc2UgMTp6MC5ELlckLmNhbGwodGhpcyxGLE0sVCl9fSxzRygyLDYsVDAsQTIpLEE9VDAucHJvdG90eXBlLEEpLkk9MCxBLk5aPWZ1bmN0aW9uKCl7KFQwLkQuTlouY2FsbCh0aGlzKSx0aGlzLnYkJiZ0aGlzLnYkLmRldGFjaCgpLHRoaXMpLmlzVmlzaWJsZSgpJiZ0aGlzLmlzRW5hYmxlZCgpJiZ0aGlzLlcuZWEodGhpcyxmYWxzZSl9LEEpLnlnPXRydWUsQSkuSCQ9Mzk7d2hpbGUoIloiKWlmKEEubz1mdW5jdGlvbihGKXt7Rj01Nzt3aGlsZShGIT03MSlGPT00MD8odGhpcy52JC5kaXNwb3NlKCksZGVsZXRlIHRoaXMudiQsRj0zNik6Rj09ODM\/Rj10aGlzLnYkPzQwOjM2OkY9PTU3PyhUMC5ELm8uY2FsbCh0aGlzKSxGPTgzKTpGPT0zNiYmKGRlbGV0ZSB0aGlzLlcsdGhpcy5PPW51bGwsRj03MSl9fSx0cnVlKWJyZWFrO0EuZ2V0U3RhdGU9KEEuTz0oQS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhKHRoaXMuSSY0KX0sQS5zZXRBY3RpdmU9ZnVuY3Rpb24oRil7d2hpbGUoIVt1bmRlZmluZWRdPT0wKWlmKE1YKDE2LDE2LHRoaXMsRiw0KSYmdGhpcy5BKDQsRikse30pYnJlYWt9LG51bGwpLEEua049KEEuWmw9MCxBLktxPWZ1bmN0aW9uKEYsTSxUKXt7VD02NTt3aGlsZShUIT03MylUPT04NT8odGhpcy5PP0ooNTYsMSx0aGlzLk8sRik+PTB8fHRoaXMuTy5wdXNoKEYpOnRoaXMuTz1bRl0sdGhpcy5XLktxKHRoaXMsRix0cnVlKSxUPTczKTpUPT00MD8odGhpcy5XLktxKHRoaXMsRixmYWxzZSksVD03Myk6VD09NTU\/VD1GPzg1OjczOlQ9PTk2P1Q9RiYmdGhpcy5PJiZYYig4LDYxLDAsdGhpcy5PLEYpPzUzOjczOlQ9PTc5Pyh0aGlzLk89bnVsbCxUPTQwKTpUPT01Mz9UPXRoaXMuTy5sZW5ndGg9PTA\/Nzk6NDA6VD09NjUmJihUPU0\/NTU6OTYpfX0sKEEuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISh0aGlzLkkmMSl9LEEpLmlzVmlzaWJsZT0oQS5BPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYpe2ZvcihWPTczO1YhPTc7KVY9PTMyP1Y9Rz84OjQ4OlY9PTEzP1Y9eCYmdHlwZW9mIHguaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYheC5pc0VuYWJsZWQoKXx8IU1YKDQwLDE2LHRoaXMsIUcsMSk\/NzozMjpWPT0xNz8odGhpcy5XLkEodGhpcyxGLE0pLHRoaXMuST1NPyhLPXRoaXMuSSwtfksrKEteRikrKH5LfEYpKTp0aGlzLkkmfkYsVj03KTpWPT00ND8oRz0hTSx4PXRoaXMuZ2V0UGFyZW50KCksVj0xMyk6Vj09NDg\/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxNWCg0OCwxNix0aGlzLGZhbHNlLDIpJiZ0aGlzLkEoMixmYWxzZSksVj04KTpWPT04Pyh0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLlcuZWEodGhpcyxHKSx0aGlzLkEoMSwhRyx0cnVlKSxWPTcpOlY9PTU2P1Y9dGhpcy5IJCZGJiZNIT0hISh0aGlzLkkmRik\/MTc6NzpWPT03MyYmKFY9VHx8RiE9MT81Njo0NCl9LGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueWd9KSxmdW5jdGlvbigpe3JldHVybiB0aGlzLlcua04odGhpcyl9KSxBLlZyPTI1NSxmdW5jdGlvbigpe3JldHVybiB0aGlzLkl9KTt3aGlsZSh0eXBlb2YgVDAhPT0iZnVuY3Rpb24iKXt0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitUMCk7aWYoISFbXSlicmVha31zd2l0Y2goISh0eXBlb2YgbjUhPT0iZnVuY3Rpb24iKSl7Y2FzZSAwPT0hW106IVsiIl09PTA7YnJlYWs7Y2FzZSBmYWxzZTp0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK241KTticmVha312YXIgVlA9T0coNDAsVDAsOCk7KChzRygyLCgoRG4oMTYsMjcsKHNHKDIsKGIwW1ZQXT1uNSxlKDU2LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBUMChudWxsKX0sImdvb2ctY29udHJvbCIpLDcpLEs1LHowKSxLNSkpLEs1LnByb3RvdHlwZS5lYT1mdW5jdGlvbigpe30sSzUpLnByb3RvdHlwZS5BPWZ1bmN0aW9uKEYsTSxULEsseCl7e3g9MzM7d2hpbGUoeCE9MjcpeD09MzM\/KEs1LkQuQS5jYWxsKHRoaXMsRixNLFQpLEs9Ri5QKCkseD03NCk6eD09MT8oSy5kaXNhYmxlZD1ULHg9MjcpOng9PTc0JiYoeD1LJiZNPT0xPzE6MjcpfX0sSzUucHJvdG90eXBlLlckPWZ1bmN0aW9uKCl7fSwxMCksSUQsVDApLElELnByb3RvdHlwZSkubz1mdW5jdGlvbigpe2RlbGV0ZSAoZGVsZXRlIChJRC5ELm8uY2FsbCh0aGlzKSx0aGlzKS53ayx0aGlzKS5WZ30sZSkoNTcsZnVuY3Rpb24oKXtpZighW109PShmYWxzZSE9MD09bnVsbCkpcmV0dXJuIG5ldyBJRChudWxsKX0sImdvb2ctYnV0dG9uIik7dmFyIFFsLEZzPUUucmVxdWVzdElkbGVDYWxsYmFjaz9mdW5jdGlvbihGKXtyZXF1ZXN0SWRsZUNhbGxiYWNrKGZ1bmN0aW9uKCl7RigpfSx7dGltZW91dDo0fSl9OkUuc2V0SW1tZWRpYXRlP2Z1bmN0aW9uKEYpe3NldEltbWVkaWF0ZShGKX06ZnVuY3Rpb24oRil7c2V0VGltZW91dChGLDApfSx3WT17cGFzc2l2ZTp0cnVlLGNhcHR1cmU6dHJ1ZX0sakw9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDUsMTEwLDExNiwxMDEsMTAzLDY3LDEwNCwxMDEsOTksMTA3LDY2LDEyMSwxMTIsOTcsMTE1LDExNSksWW49KGIucHJvdG90eXBlLkVDPXZvaWQgMCxiLnByb3RvdHlwZS5tZj1mYWxzZSxiLnByb3RvdHlwZS5YTj0idG9TdHJpbmciLHt9KSxOTT1bXSxCXz0oYi5wcm90b3R5cGUuTVg9dm9pZCAwLFtdKSx6QT1bXSx1Qz1bXSxpQz1bXSx0RD1bXSxQXz1bXSxNTT1bXSxjXz0oKChYcyxmdW5jdGlvbigpe30pKCRuKSxRZCxmdW5jdGlvbigpe30pKEV5KSxNOCxoRCx2b2lkIDApLHhuPSgoKCgoQT1iLnByb3RvdHlwZSwoYi5wcm90b3R5cGUuVT0iY3JlYXRlIixBKS5NWj1mdW5jdGlvbihGLE0sVCxLLHgsRyl7cmV0dXJuIGwuY2FsbCh0aGlzLEYsTSwxMSxULEsseCxHKX0sQSkuUlQ9ZnVuY3Rpb24oKXtyZXR1cm4gRUcuY2FsbCh0aGlzLDY1LDQ4KX0sQSkua0U9ZnVuY3Rpb24oRixNLFQsSyx4LEcpe3JldHVybiBuWS5jYWxsKHRoaXMsRyxNLFQseCxLLDksRil9LEEpLmVYPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOKXtyZXR1cm4gdS5jYWxsKHRoaXMsTSw1NyxGLFQsSyx4LEcsVix3LE4pfSxBKS5QYj0wLEEuZGs9ZnVuY3Rpb24oKXtyZXR1cm4geFkuY2FsbCh0aGlzLDE2KX0sWW4pLmNvbnN0cnVjdG9yO0E9KChBLlhWPWZ1bmN0aW9uKEYsTSxULEsseCxHKXtyZXR1cm4gWGIuY2FsbCh0aGlzLDgsMTYsRixNLFQsSyx4LEcpfSxBKS5KPSh3aW5kb3cucGVyZm9ybWFuY2V8fHt9KS5ub3c\/ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xWCt3aW5kb3cucGVyZm9ybWFuY2Uubm93KCl9OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxiLnByb3RvdHlwZSksQS5SPWZ1bmN0aW9uKEYsTSl7cmV0dXJuIEY9e30sY189KE09e30sZnVuY3Rpb24oKXtyZXR1cm4gTT09Rj80NDozM30pLGZ1bmN0aW9uKFQsSyx4LEcsVix3LE4sdCxxLGMsUCx5LHosRCxILFksZCxCLHAsVSxXLFZsLGgsS1ksUSxOWCxyLEwsRmIsYSxqSCxtXyxSLEhfLGdWLGcsdEgsWm4sUDgsY0wsbSxsQyxhNCl7Zz00NixtPTkyLFA4PXVuZGVmaW5lZDt7dEg9ZmFsc2U7d2hpbGUoTmFOIT09TmFOKXRyeXtpZihtPT0yNilicmVhaztlbHNlIGlmKG09PTM2KW09dz09dEQ\/MjU6MTtlbHNlIGlmKG09PTcwKWQubGVuZ3RoPTAsbT03NjtlbHNlIGlmKG09PTk3KW09ODI7ZWxzZSBpZihtPT05OCltPVc\/MTM6Njc7ZWxzZSBpZihtPT00NSlnPTY3LFV5KHRoaXMsMTcsWm4sMCksUDg9MjYsbT03NjtlbHNlIGlmKG09PTApbT13PT1pQz80NDo1MztlbHNlIGlmKG09PTcpbT1LWT4yNTU\/NDoxODtlbHNlIGlmKG09PTI3KVA4IT09dW5kZWZpbmVkPyhtPVA4LFA4PXVuZGVmaW5lZCk6bT0yNjtlbHNlIGlmKG09PTM5KXRoaXMuRDY9Ryx0aGlzLkM9dGhpcy5ENi5sZW5ndGg8PDMsbigyMDIsdGhpcyxbMCwwLDBdKSxtPTYzO2Vsc2UgaWYobT09MTkpZz0xNCx5PWF0b2IoUiksRz1bXSx0PVY9MCxtPTg2O2Vsc2UgaWYobT09MTIpcj1ZLm5leHQoKSxtPTk2O2Vsc2UgaWYobT09OTYpbT1yLmRvbmU\/NzA6MzQ7ZWxzZSBpZihtPT01OClnPTY3LHRoaXMuTj14LG09NjtlbHNlIGlmKG09PTkyKVA9TSxNPUYsbT0zMTtlbHNlIGlmKG09PTY2KXo9VyxTKHRoaXMsMjI3KS5sZW5ndGg9YS5zaGlmdCgpLE8odGhpcyw0NTQpWzBdPWEuc2hpZnQoKSxaKHRoaXMsMjQ1KS5sZW5ndGg9YS5zaGlmdCgpLE8odGhpcyw1MDgpLmxlbmd0aD1hLnNoaWZ0KCksTyh0aGlzLDMxNykubGVuZ3RoPWEuc2hpZnQoKSxTKHRoaXMsNDYwKS5sZW5ndGg9YS5zaGlmdCgpLE8odGhpcywyNjQpLmxlbmd0aD1hLnNoaWZ0KCksUyh0aGlzLDIzOCkubGVuZ3RoPWEuc2hpZnQoKSxhND16LFA4PTgsbT03NjtlbHNlIGlmKG09PTg1KWpIPVFbTl1bdGhpcy5YTl0oMTYpLGpILmxlbmd0aD09MSYmKGpIPSIwIitqSCksVys9akgsbT02NDtlbHNlIGlmKG09PTEpbT13PT1NTT80Njo4MTtlbHNlIGlmKG09PTQpR1tWKytdPS0oS1l8MCktMip+KEtZJjI1NSkrLTIrKEtZJi0yNTYpLEtZPj49OCxtPTE4O2Vsc2UgaWYobT09NjMpZz02NyxXXyg3LHRoaXMsMjA0OCw4MDAxKSxtPTc2O2Vsc2UgaWYobT09NDYpYUQoMTE1LFRbMV0sNyxUWzJdLHRoaXMpLG09NzY7ZWxzZSBpZihtPT04MiltPU48US5sZW5ndGg\/ODU6NjY7ZWxzZXtpZihtPT04KXJldHVybiBhNDtpZihtPT0yNSlhPVRbMl0sRD1DKChnVj1aKHRoaXMsMjI3KS5sZW5ndGgsKGdWJjIpLX4oZ1Z8MikrKGdWJi0zKSsofmdWfDIpKSwyKSx4PXRoaXMuTix0aGlzLk49dGhpcyxtPTI5O2Vsc2UgaWYobT09ODMpYTQ9YUQoMTE1LFRbMV0sNyw4MDAxLHRoaXMpLFA4PTc0LG09NzY7ZWxzZSBpZihtPT01OSlKRCh0aGlzLEMoSC5sZW5ndGgsMikuY29uY2F0KEgpLDIyNywxNjYpLG09NTg7ZWxzZSBpZihtPT02KW09UDghPT11bmRlZmluZWQ\/NzY6NDE7ZWxzZSBpZihtPT00MSlnPTY3LFE9JG4oMikuY29uY2F0KFoodGhpcywyMjcpKSxRWzFdPVFbMF1eNjAsUVszXT0oSF89UVsxXSxOWD1EWzBdLChIX3wwKSsoTlh8MCkrMip+KEhfJk5YKS0gLTIpLFFbNF09KGM9UVsxXSxxPURbMV0sKGN8MCktKHF8MCktMioofmNecSkrMioofmN8cSkpLFc9dGhpcy5mdihRKSxtPTk4O2Vsc2UgaWYobT09ODEpbT13PT1OTT84Mzo3MztlbHNlIGlmKG09PTY4KVRbMV0ucHVzaChPKHRoaXMsMjI3KS5sZW5ndGgsUyh0aGlzLDQ1NClbMF0sWih0aGlzLDI0NSkubGVuZ3RoLFModGhpcyw1MDgpLmxlbmd0aCxaKHRoaXMsMzE3KS5sZW5ndGgsWih0aGlzLDQ2MCkubGVuZ3RoLFoodGhpcywyNjQpLmxlbmd0aCxPKHRoaXMsMjM4KS5sZW5ndGgpLGYoMTE1LHRoaXMsVFsyXSksdGhpcy5CWzM3Nl0mJmFEKDExNSxaKHRoaXMsMzc2KSw3LDgwMDEsdGhpcyksbT03NjtlbHNlIGlmKG09PTY0KU4rKyxtPTgyO2Vsc2UgaWYobT09NjEpbT1ILmxlbmd0aD4xRTY\/OTE6NTk7ZWxzZSBpZihtPT01Nyl0KyssbT0xNjtlbHNlIGlmKG09PTc2KWc9NDYsTT1QLG09Mjc7ZWxzZSBpZihtPT0xOClHW1YrK109S1ksbT01NztlbHNlIGlmKG09PTMxKWc9Njcsdz1UWzBdLG09MDtlbHNlIGlmKG09PTUzKW09dz09UF8\/Njg6MzY7ZWxzZSBpZihtPT0yOSlnPTEwLEZiPVoodGhpcywxODApLEZiLmxlbmd0aD4wJiZKRCh0aGlzLEMoRmIubGVuZ3RoLDIpLmNvbmNhdChGYiksMjI3LDQ4KSxKRCh0aGlzLEModGhpcy5HKzE+PjEsMSksMjI3LDg3KSxKRCh0aGlzLEModGhpc1t0RF0ubGVuZ3RoLDEpLDIyNyksVT10aGlzLllOP1ModGhpcyw1MDgpOk8odGhpcyw0NjApLFUubGVuZ3RoPjAmJmV1KHRoaXMsQyhVLmxlbmd0aCwyKS5jb25jYXQoVSksMjY0LDY0KSxWbD1PKHRoaXMsMjY0KSxWbC5sZW5ndGg+NCYmSkQodGhpcyxDKFZsLmxlbmd0aCwyKS5jb25jYXQoVmwpLDIyNyw2NSksSz0wLEstPShMPVModGhpcywyMjcpLmxlbmd0aCwoTHw1KS0oTCY1KS0gLTEyKzIqKEx8LTYpKSxIPU8odGhpcywyNDUpLEsrPShwPU8odGhpcywyOTMpLC1+KHB8MjA0NyktKH5wJjIwNDcpKyh+cHwyMDQ3KSksSC5sZW5ndGg+NCYmKEstPShILmxlbmd0aHwwKSszKSxLPjAmJkpEKHRoaXMsQyhLLDIpLmNvbmNhdCgkbihLKSksMjI3LDUzKSxtPTUxO2Vsc2UgaWYobT09OSlLWT15LmNoYXJDb2RlQXQodCksbT03O2Vsc2UgaWYobT09MzcpZz02OSxoKCksbT0xMjtlbHNlIGlmKG09PTQ0KVI9VFsxXSxtPTE5O2Vsc2UgaWYobT09MTMpVz0iKiIrVyxtPTY2O2Vsc2UgaWYobT09NTEpbT1ILmxlbmd0aD40PzYxOjU4O2Vsc2UgaWYobT09MTQpZz02NyxtPTEyO2Vsc2UgaWYobT09NzMpbT13PT1CXz85Mzo3NjtlbHNlIGlmKG09PTg2KW09MTY7ZWxzZSBpZihtPT02MCltPTk2O2Vsc2UgaWYobT09OTMpe2lmKG1fPShkPVModGhpcywxNyksdHlwZW9mIFN5bWJvbCkhPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmRbU3ltYm9sLml0ZXJhdG9yXSlCPW1fLmNhbGwoZCk7ZWxzZSBpZih0eXBlb2YgZC5sZW5ndGg9PSJudW1iZXIiKUI9e25leHQ6YzgoMTYsMCxkKX07ZWxzZSB0aHJvdyBFcnJvcihTdHJpbmcoZCkrIiBpcyBub3QgYW4gaXRlcmFibGUgb3IgQXJyYXlMaWtlIik7bT0oWT1CLHI9WS5uZXh0KCksNjApfWVsc2UgaWYobT09MzQpaD1yLnZhbHVlLG09Mzc7ZWxzZSBpZihtPT05MSlIPUguc2xpY2UoMCwxRTYpLGV1KHRoaXMsW10sMjI3LDE5NyksZXUodGhpcyxbXSwyMjcsMzYpLG09NTk7ZWxzZSBpZihtPT0xNiltPXQ8eS5sZW5ndGg\/OTozOTtlbHNlIGlmKG09PTY3KU49MCxXPSIiLG09OTc7ZWxzZXtpZihtPT03NClyZXR1cm4gYTQ7aWYobT09NzcpdGhyb3cgbEM7fX19Y2F0Y2goZlkpe2lmKGc9PShsQz1mWSw0NikpdGhyb3cgZlk7Zz09MTQ\/KFpuPWZZLG09NDUpOmc9PTY5PyhjTD1mWSxtPTE0KTpnPT02Nz8oUDg9NzcsbT03Nik6Zz09MTAmJihQOD03NyxtPTU4KX19fX0oKTt2YXIgTDUsQzU9KEEuZnY9ZnVuY3Rpb24oRixNLFQsSyx4KXtyZXR1cm4gaDIuY2FsbCh0aGlzLDgwLDksRixNLFQsSyx4KX0sQS5TWD0wLGIucHJvdG90eXBlW3VDXT1bMCwwLDEsMSwwLDEsMV0sQS5yaz0oKEEuRUs9ZnVuY3Rpb24oKXtyZXR1cm4gRUcuY2FsbCh0aGlzLDY1LDEwKX0sQSkub1Q9ZnVuY3Rpb24oKXtyZXR1cm4gYzguY2FsbCh0aGlzLDI5KX0sMCksLy4vKSxQTD1pQy5wb3AuYmluZChiLnByb3RvdHlwZVtQX10pO3doaWxlKCJnIilpZihDNVtiLnByb3RvdHlwZS5YTl09UEwsdHJ1ZSlicmVhazt2YXIgYkM9KEw1PUcwKDksMjgsYi5wcm90b3R5cGUuVSx7Z2V0OlBMfSksYi5wcm90b3R5cGUuVFM9dm9pZCAwLGZ1bmN0aW9uKEYsTSl7cmV0dXJuKE09RkIoODMsOTgsODgsOTMsImVycm9yIiwia3MiLG51bGwpKSYmRi5ldmFsKE0uY3JlYXRlU2NyaXB0KCIxIikpPT09MT9mdW5jdGlvbihUKXtyZXR1cm4gTS5jcmVhdGVTY3JpcHQoVCl9OmZ1bmN0aW9uKFQpe3JldHVybiIiK1R9fSkoRSk7KFFsPUUua25pdHNhaWx8fChFLmtuaXRzYWlsPXt9KSxRbC5tPjQwKXx8KFFsLm09NDEsUWwua3M9ZjUsUWwuYT1XOCksUWwuemJwXz1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcpe3JldHVybltmdW5jdGlvbihOKXtyZXR1cm4gWGIoOCwxMixmYWxzZSx3LE4pfSwodz1uZXcgYihNLHgsRyxLLEYsViksZnVuY3Rpb24oTil7dy5FSyhOKX0pXX07fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSk7fSkuY2FsbCh0aGlzKTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJHRnBRYk1iY3dSMWFETFV0WU5TYW93Ij4oZnVuY3Rpb24oKXt2YXIgcj0nMSc7dmFyIGNlPTMwO3ZhciBzY3RtPWZhbHNlO3ZhciBwPSd6YnB1UkFMeWIyd2dUWThvSUR3MXJRaW4xK2hwQmNpSnUxL1hxTHpCMW1nMkhOVHJxUzR1ZGdoejRRWDdBeURldHFyL1dJRzRrTzF1RlJSTGVjdjhvbGIxOVRwbGNZcVl0Si8rdXNnVnd5akNWM2gyNlU0OTVKYS82Rmp6NFFHMWdtQitZbHdmQjAvWVJPcVdCTkpMbG4rQmRhd2U2WGZDUFdrT0lucEdYVGRlMHZSUGFBbHdWWUQyRjJKd1UxVmxGSWpuQ3BUYXpoM2VoeWFYb2FydTRzZnRKNkNMTVVCbDQ4MTJkNGlKNndSM0xsMHU0TWVIK01NbTZSZkR5VHgvbTdYUm8reDFVUmkzdkhtdFU1MkZFWmdGSjlORTdBRG5xcko5K3lWY2NBOFNvQkJpV1VwVjVPdTBReHJXU21jRFpmWTl4NzJnWGdGdEtTaHBKazFpam1MRmhuaWo0anRPcXQzNFVxSTZRUGdaQ3ZXUUFTbGozaU1oNUpKY0VUbXZHcFhRcXVLTXErZXEwdVVvRjBzR1BvN1VJTktsN2hWYTYvZDNLUjJHVFc0YjhhODBVbEM2V3ppcForWnBndVM5VEYyMy84eU5hVktTYUFSQ3J4OFN2R2VKeS91S2w4dEJuOGZKaFkxSTNDNzkxZXVJM01laTFVUFR1ckUxbDY1OFVGUW83Qjc0SUJOaVVGOFVoMzUyN200bHJ3VDJjWHJ5R2RuRkl1WU1XeStGMWlEUjlZaFJFWDArM0RiVlRwR29QTHBNblJpbjN1c0s4Y0pMNmpkV3FFdmhZQTNQKzBDMnRjbFZvVDR2cEtQMEVZWEozTjVtSWlIS1pxOFpyQlFkUU9KeUswWTNSSk1lYXpwY1BhOVEwQXlCYnhBNWlKUHJoclFpK25QWWgybFBpYlNzdEtRS09KY0RoSHZpUzI5Qm9BMUpLeVh0RVlLK3N3ZHFEZUdhVlhENlY4NmVGSzBtcDJSaC9ESGRXcGpBN2xadWhlSjM1akMrcCsvejhaclhtV3dRWFNPalhUcEFzOXU2MGxoV0Z5VTNYbUpMT0w0aVJYSE1zSDZlaUx2dXdZOVlpZWd6RWZYMHVrRnZBNWZkbVNFZjRxNGMxNFVyTUhzL1NJaUdqMlg4bCs3WUxwOTV4Zk5PS3ZuTW44ZWZzZEpybVZ0am5WTldPaVRGTk9EcXh3M0xnTXJrOEY1TkV0Y1ZWV1BVSlBML3BheSs1enp1YmR1V0xuelRVNXQwRkVrVkcyUnhmTDM5OHBRaGFUNVRBRUs2S2VCMlpsbkZ6bEhnZ294TzJkYktGaDJybkJCSzVYRFdqKzBGMWVsUloxVkMrQVB3eTFaWWtMSnhYUnZNM2kwOUlwZW9NYkpFTXYveGl1cE1oaWt1NnorSllnLzZuQTZoZGdmbU9hVmJDNDZzekc0QUZOeFpnVmUwdHcxeWVLalJ4SzRoRXZ2Y0F2YzZ2a1Q3c0NUSGFFRFBrSjRiVG1ZZzNJYVVSQ054NlhNUjNVeEk1SkV0a1dZbUNXWEJFYkFaYzZFZFVMM1UzR1l2VTFuOUtKVENxRko4RDNpemJsQjVzelcvamp5REtoeWVIZW45MnRGSkY4djBBYjBFMVFaWGRUVm54UGlLeUwzR1g0bFd2b3YrUU1UMkJwcnE1TStwUlIyWG9RaHA0dEFGc1VKc0ppNGlTeWpCc3k5YW5SWllFY2cwSXgweVhSN1NrS3puUm9sS3U4dDJ1dUY3R2l1YytIZlZ1d0xSUDNOUDVsTUErUVJoVE1CWjlaWWJzUmltQ0YzK08xS2NaLytZcnFLbkJVWXB6aVUvdkw5UE9JK3hFcENTT0RQWkNZVVArcU9DYUR5bjByd2FRbXFWeXp0a21TTzBkRW9kV2hYUm1qdXBxRzUxSHJwc0RrdjBaQWNHbFc2Zmh3bHluZlNMUVZmV1c4UUw4UXkyb3JjV1phTjdqR2kxUmRuSzl6WXNHQmd5QjNuTEtmeVhGREpCMFlWeUxXSmRYSlVhNVphdk1LMWIyWUlKVGt3YjJoYWp0amxSNHhYYk5UQkV5bEV5cDNXOTc5WkxsK3d5amxFOWgydE1aY3RPYXZnb3BZRk11eDVCMEFUTFZ3UWV2Z2dldTRwYmlTOGtqWEtNSG5iS2ZTaXhFQUowYmdHclpzV2xSYmg5Z2t5Z3F5bGlwUFJtZDYyQWEyeFZXREVXdmRmWHk0VWVrdmhMSXRJVW9hVWhjbU1BNkFsWGpTQmcxQ0dQdmhyZmVIU1FsV2pJaW15ZVgzQ3ZQaE9nVTkvVXIyZUdTcEtrRG90ZTU3TXF3OHV3RGR0V3NabVJsWW1OcWszd0dZUzBMS2VBMDNYcXphMGtzbkNSUkZKWnlXN25Fa1YySWZ1UmxPaytpOEh2LzczTjNkZkwzcElCYlZvSmoybnpJWWNkQ2FFMHBXSklNOUdSTGtVQ092bzlMZURvWUp1L2NSeS9GQVZVc2JJYXBDWCt5VmhGTkN0U1J5L09HS0xzOG9ZREZGdm9XbTNaSmd2MUhJb3B1ektNL1l1K1JjWTZCRkRTWm5aYkx0YzNvMzdPeFo0MStqT3Myd2IzSVFrK0tQOThQZjVqNW5MbUZ5Z0d5VnN3TU9tRkxic09DMlNuWS9jWjdQd1gwL0tZZnlCYnlsaFNSMHl1L3VqMVNHTC90elVEQ2JaZWltd0J3RFZ1cDRPalB5Ui9WSDBiOFZDdS9YeDNIcFp1Z21PZUNXbGdQNGpXM2VJY2xrQjFzRWdxN1R4TTZpcElXSDBFNTBCcy95cGRGMDBPNzVHN25hQm8wd01ianAvVkNUaEFXZzloUDJ6SmdPNTd0YkpJZEdHSFEwZ2JVRjFvMTY0MDdKT1RmbnNScGxHQkIycHlEU3lkVkErTHBNM2ZiMmp0ZmlmK085K3U0L1YwcDJKb1h1QmFvc1dyYW9VYTBLanM2VzlKenVWb2VUZ0VvRlhNUWJTMEhXbjZvcEJpS0R3VmVoSlFqWmdWZ3FqY3VKZ1dDakYvelFRbCtNMmg3UXdIZmc4V3dVKzFlUnM4U2ZKa2Rlc0NmYW1GbDltVDdBMWpPSWNWUEU0VngzSUkyeGU4Sld3eURiQlBsSm1GRHhFLytwN1dVb3NkZHgzQklRajZpbGxKRStmRzJjdU9zZ3dlM0NBRmpjN1RFMGNpeXo4RkhLVFQ4dURieXFvUm1XMFBrWmtBdEszRzJNYm9yd0g4YnhjMTVOcjBuRmVJdUl4R2RkSUdZVk4rV3ZGZk4xeng0RUcxTXUxRDdzWWVhSWt5Y0t4QXRqWmJlem4xTEw3UmVLZGZxTk81bWRjUWx1Z09hMVp5cEZCY0lCQ0xGYlV1Um1GWWtJbkcwZGJYVEdWZ1ZQaW81d3Q3WER2Ujc0SEpBZ3U5ZENBcXR3UncrOWp3Y3dBcTNEUW1BQ2d2dzBaaERrVjFiT1NxUXBwVS9IUElWa3ZRNCtkUzhKbERTaTRsdnNFVG9VOFgxNHp6cHp3OGRta1hDMUdsZWVBTll4VVl2VFJaRXVHWEdkSngzSW56STM3amN4c3A1S004cWhCSVJleTJ0cUx0eEE5RThiNGhwOHpqb3lpUGhpMDhqbDhPTWF5Z1p4cWNCOXNlYjd3SlhpVXNtc1hVeGsrRDFxbjJjbDBub0pnYmJyUmt4TnFmWEJ4dlpLTElMODBKOXZGZ0hEMDQ0b1BSQ0tEQUIvV3RseGJBVVFGdUZEN1FvdVF3RFlWbFF1dTJudEY5dUhjRzFRYThNT1N5Tmg0UHpITjBBZjJJUXVrM3h1aWJud0RhbVBncHZiQ2sybUFpZ3dEZzBSSlBLenNYTXV0SlozZktMdm1sRWNYWTFhVHR0dWdIWlVQa3hZVWdoLzZoL1pKeTJLMUxJcHdWSlBPS2RzRXZKSW54TTI2VGxpTUxpOW5FR1dxSkc4MjlmM2YxT0tTTEVOUkdOcmcxU1pYRnlJdEVLT2FmVlp3ZnVDblFBOWFYWG83NDlqcmJqY01UUXFOVVZPTGwxU0RaZG1VV1IwNFZtMWhKazBONEdVaFRpektyUDV3ZmFiaWorejVqM3JITnBXRk5tN1drZG9FTDc4ZmhuQWVQZnNxWTdqQ2RXWGdWWE5ERGFnRnJzZEdKQWhOdWkvaWFKcXpJQW5xRFNlMzFURFBQS1AyVC9lNVVMcTFUd0pRcktDVkpGUEQvdkpFZGs2Vm5yV0N3RFlKcXdaQmV4TExjekltUXZVSGlKR2NiRmViZTJuYTJ6ZVZDMHBVSEpIejQ2ZGhsMHl3L3Z4dmxHL0gyeklYbWxzYTZ0eUhSVGdXL0RvamUrb1NmMENMbWlLVVc2RXFTUHJ6U1U0Uit2eXZsVExJZ2Jia1l6RzFmb0hWbFU5T2hwYnVEcWZVczVWMk9kWDFLN2t2RlBGenhoRzFDcEx6OXk3WFNIbTVsR1RRQzYyL3FtUCtDUHVoNG5SY0pHL01ZUUtzUUd4dk04Umc0ZHdMeHk2YWZiVU0wY1JwOEkzeXBIbmtVYktSVlF5Znc2Rzk0Wmg1WnZ2dCszYkY2djVQWXU3TFN6dTVZOUdsNzlpT1pKdEJSRENnQUJ4TFFsV2FBUlVGcUlaY0E3dXAzMGV4NVZRUmYzMW9MSVE4Vys1YWJDV1piNlM5RTVsUEtRdm5ZWWpldjBvdiszTFJzVk5lcy9sVCszK1ZONXE1cDkwVlE3RjBHYU85b2tHczYyRzcwMVR6K0FtRk12M2tXQTM3blpxTXo0c2FaeTBqOGlBczBhL2x4SkVjUXp0R2VtNjNTZDIyQzJjaVVJeEtLUXB3ZjdyVlBPK0ZrOEo4ZklaSFYvdjQxR2dXbXRGYnIzOERJV2NTNkZ6Y2VxY1MyRkh4SlpnTHoreHV0bGVwN2JnUEJwT2NLc2hZODl6NkQ2UDQ5T2RZOUxocG9WSmZkTGVqMVduTUNPTDMxTnBnZEtDQTZMQWwybWxqSW1VQVBQemwydzJ1QW93Z3ZYNFQvd3hDejhPV3A5S0VvWmgwaVQzUFA2azNRaSs5ZVRleWVRRmw1NW5yeGdsQkhML1FhdVV5RWVyS3h5NWNnRExNVjlBM3REc25wL3U0TU5HNW5aVXlOZ1RybXYreDM3RjFMZzZiZDlnMEt5QWNZRFBKNzNWdG5ReXVtYXVHOWFoYVZLT3pyM0VpWE5IeWVRd3RqbUxJWGVxWEtWc0ttMm5CK0EzZVFBMHZpMm9GQlptcXRmWDBoRFIrMTdZSzFreHFlYURYdnZLbUk1VWczQWxlV2dqNGJEUFhhZWcrOTltOWFEZGo4V3NPSkNxejdleWx2Nk5uSE4rL0NUcG90NzJFT2hZZDBXbWJRVlJkVWdjbkFBQnFITkxnRWg0anhXWWlGMkdqRXZuOTdFcm8zR3NnMjY5MUNHN1lwR0pWckVrSUlQdlI1aDBlNFNLdFB2S2JMc2QvenV1SWdnZWVsblhpY1dWOTRyQ2F0V0JyV0d4Yi9XNzd5aDhvZ1duYVZSdjFzbWhReEVkUlBWWGhSZVdISmFUNFQ1TVJ5M1NMR281d0ZTT2hqVXg2eWVLS1lkc1pjOTlJdk5UbTU1bE9oMVE5WSsyRzhnWm1qY2kvdGlTV3drdUN2U3RCQVJyNndXeUVHUUwxNStzdjc3WjlNV2Y3Y1JNd0x5N2NDTTMyOHJoZEcvYklyc1g4Z1RIdlQzNisvM1dCSVZhYVQzMnpiM1lKRjMyV0xuRzQyNDdSQnpSV1FtSUJWMW9zUTIxN21IYlRnMVd5L3dRQnJUUHJZNmQ1TDRncTZadTZLQ2RPNDNwN3VwcEU3Q1hGeGNrdFBMbDhEZEJydEZSL1ZmTWV1bUUwQzN5OWRXTCtucVE5eHFyUWN5d3ZIRnVjOWwwU0ZyS3RLUDBWNW1jMVVGMUcwWC9JcDRJeXdHclRuSURBMjlBMzE3VzJLai9uV0ZJdTVybHVFQ0llL2pZMGFmdmQrV1lWa2t2QTkyODgxWjZVOGhTNExNOW5aYjlhLzRWRXhWSnJ1R0FSNWhEb3liaC9rQk9qU3hTWGxjQkZCbHFRQUJqNnlPaXEwalFpMjMxUWdKZHBTUXdoQTR3elExNkxWWWV1ZGhxV1lNclF3ZXdFUHR6WTVRWEF2dWJicWRBVzJPMTBFV3FmNDVuTW92bThMSndDWWNwbFVBN0VuelYwT2tQV1ZqUURnQ1dPOHpJcFhGaG1UU2dHd0dGSllhTXBiNUhUTlVkaStOd1Q1WEFSRUZHNitjR0FmR2grMUdZdTFjRkRpS0o2OHYzd1dUTHNIdC8wM095Yi85cTRpQVRjUVk1T2t2YS9mSjI0ZkJKQjVmdzVUaFU2eUhQQ1JqUi9lWXFjTXlBQmtTbjd5RFBBWjlaSlFlNDM4NHBXc2J5bWVaWmM4VTAyYzFsOG8yZXI4Vk1yalRDV0xYNndDMjBBbXV0azR1ZlNtVHArSjNXS1RuWGtnWWtKc3NTWkEyajJ3RnpUdlBuU1AxNE1uajdDOVhONnY5dVludUg2YTdQa3lKajdHWllLNkY5ak5Xb0tiTEY4UEVSeW8yQUQ1MktzQWo1cTJaN3F2cTRsdVdqRnIzTU95MzN4UElzR0lsZzE5a0VSTXFMRE1zRnZKakY1QTg2aHh4VjE1aWF5VjJTbWZKb0FXU0JpQlpCQ29kWDhwNnBuWVNJakJUZEk0RXQwVmNVMjdsTFNBQzJ2akUyb1NwTU9odXBrVWxKcjBneXlVV252YXpUeTNPVnQyVGNPYWtWRi9nQm5sQkdZM3RWVzFrVENRQlR4WmJrVjhIY1RUbHBVMUd0MjEwYkE4OEJ4VGtrdittOGFoM1dMR2F1WTNYRjJOSjJKZyticjMwZDhROGU5RWdQazROTnkxc015SXU1UkRCTk81VWhHcmxnRFpRbzlqN1orRXE3WFlSbFFTUlpMa1ZwZVhhSHRWRmJiTE9Ob2hEYjRibWQxMGdkMVJNb0RxNitPN2V3Qm9nMjV2YUJmUVhQWGxXalFxZWtja045TmN5ejRwVzFtRGRHNGNTc3pORmJERWhPd1NIN3hiZzN4bmRjaEl0L09Hb1REWDcrRWhrNU9UTTNwaE80eEZSaTY1SGp0NEU4R2tXd2hRN0gwODFFSW90bWRtK2ZzdFBQU0F0N0g0WGJVV01EYmEydFgrWjR2Vml1Q2pnTnRvK09VVTRHZ1ViSFZXZDIyN1N5LytWcjBqcVFjb1lTRzIrQWE4STQxYndaWmJCNWFUWHM0UGZJam5xUnpsejZpeTFOa2o3K1pTZjBLZDB2NE1TUDJrbUpSV2JKTDVZWCt4ZkVwMUY1VzZWbDkrOTI4b3JNNWVSbVh5Q1ZkakFuRUZyWFFoc3NWNHVRc2RLbFFoTWZ0ekdQbmJnSXRtbFpIM2NYV0RPTXJJNVlFRDJKc2k4NEJXeTFpelVBb2owVGw0aFpkRDhIbkt0QmdNTjk3cnlVMmtZTkdPTXVDWWJpdEl3UEt4c1dUNzhxL2ZuTjFXQnE5eHBzMjRaQlZBaUQ2QVVNSVl6M3ByTjUyWk1Jd2hFS3JCelp6WVNxdlhaQ013ZTRUa3orTmdhQnk2T2ZkOVQ5cUNaNzM5bVQ1clhFS2JGbWdESFZsSnk2aXBjdmw0Mk5tQ2Y2NkoweHJPblNNd09XNjBwYm9aYUVkenhLM3BZZmlEVnJtdEZtTExDQ1JVS0g3OFhpRENHUWRaK3VkMXU4YUdCcW9TT2dvYzJlYUtZVTh4YjZNczVCam9DeEVlYmsxMjZMczhsUngrSTNzYWlsRi9XZlpvNTNKWGc1YkRjVlppRlVGSlYrM2dCSUJnNmNqWEgzYjAreGw2QUZOdEhoZmdOM1RsYUtBTCt5aGlZaXBKZWl0b0ExcGUzVEFXT01BbnQ2OHN3aCt2S2lJL252OU9CSTZqQ3BDNXdxVUxDRGlyNDVzOXlCSlpzdzQzd2hHclVkTGFOUTl6YWoxcWpKNlRyKzhOa2M2eit3MC9OUHpUOGY0c2dtZHdZTTZHSG9seUhoTThhVms3K0xZT2wyS3RxLzFqZURaYXBFaE5TVFRsdGhRMjJQc25zYlpLNzBBc0VlYTcxd2E1Ym5yUmFjSnhmUW9GQ0c2bXJobE1aY09MdGdLR1g4M3U5bFgzY2JBWlpOVWM2RHRIcVVmTUIwenVRYlBuM2U3ZFYrUmQrVjdGTExQVmp5ZmNna1ExbkxZM25WYllqVlRNaGMxR2d4dE1vNXdiZUg5Mzlzb3JyMUtHZld4RDlZTkZmZFFITUtzSFVKODE3cDZJaUJwaW5mZHdqNEt2a1NxUmNxdFo2b0p3ZUhDZGU2M2twYVA2V2p5cXZUaWVqaVI5RHZXM2lPRDBTK2VZWHlMQ3pZSXlhVitRV0xrWVh5NnNvQ0tuQjBOZFFRQUY4MDIxVzFtMXR2QkZnczJQcXJUdFc2Y1hJWFJEeW5YcWJxcWtGUDNuQmVBOVNsV1E4OHB6eWh6YW1Ydmx2cDdBNUxlK2lVS0htVzZrQVZJVHVlS0NVRzQyM1UwMTlNZnUvUnZXSVhGaTFyUDlJdHkvWWV2SW9LUG9vVTNpMklSN1RLaTJrNXhId04wTDdiZUtHaElJZFcwTXBBbW5FWks2Ni9KV1BacG5teXdZUHlEMmxPdm1FUHk3cGxqWGNBMWlPTFZpN09MZ21iTWxGbElJRWM3T1BxdFIxa1JKSEVhM0JIQWc0ck1tMVVORXRobkUwYmFwSFZYMDl3ZUo2b204MXowTTdlRUtkdzV5SStEYlArSUMzZ2ZCUXNEdkRKMUF5eW9HUUk3MjFYVUJLendLNVpNY0pvaEpRSE9MS2ZhRGw0VE5XTm0yOHRTT083MmtUUDFqcVErZ2VoK202QWlVMWVRaVBndG8xMWhhY0J2SGFDRmNFcWdOeG9CRzJFOGlwN3dQakR5ZFhZYnlXOGhJNFBBMStnWStuK0M0bW13TXdicUNKaGozS2I0eW91Mm5yT3YxcktVYWpMRExCeGtQalcra01xRWtjL1o1SlhwVFhBZnliUEZlQkxveVBFSWZPS2FvOXJ0YmpIcUhFVEQxMDN6bFg3Qi9VWnBXLzBia1dPNGp4ZWIxZzJIeWZBWHRLcytDVWlkUjNZSkNuNlYwdENrU1pNYXRIbGt5SHE1UkJzb2NCdjFZWjFHajVtYTNTM3BiWkhZVmtucmxiNUNvN3BXS1IyeVRUQXNVOVJFQnRjcU1FMnp3aG9UT09VZGZsTUQyWENwNmRVeDEwbmNOSkZscUJCYUEyYXk3MUJrMWVWSVlsUGNnVDFmRnBuRFM3TUZjQ05aeUJEeTRsd1B2ZlcxWDA1WWlldEdEaTVDcHA3Q2pGTmpyc21zRXZ2STdlY2JINUlOcUc3M2Z4NXVKMktLKy85REg4SFhvTCsrZlNrWFAwanp0anhBNmtBVHlOOEZ0aWFDa1Azb3ZIMFFkdGFpME5KZUdUVmdSSzNJOTZuL3lYRnhSZVBhZ3FVcnVxUlBQUXpZa0ZUU3BmSkRtSHdvbnprZEFCNWNlc3ZmR0RrSTV6dW10MWJhZjk5Vm5Edk1LbWw5cXVUclRZTE1SNURFRzM2Q1djQXVVL0pRd05JVDJVNm9nV1BUNFdjVGNaRm1MNG5ucnh0OGFaaDhQeTd2cXRZMWxVWDQrcGhxcDUxK1BiODVpNDdBZ2w1OCs1UTBVQVhxME1UTGFDS0lDS3c3TDFTUFFtUTZJQ3V2WE4xZkpjSTcrUE45OFoydXNzNHVrN2dFQlFkNFhzbGxnbkZZZlg0cEQ2dlF0TFhpWFh1K3hGOXNQUnRVdXdVNnc2NlU2cWJVaG9LTk9QK0Y5ZHhsZ1IrNlNkamxWSVNIQ3E4ZWhMMk16OXRadm1heHg0c2swTEtnWXlINi9DMlJRZTR5VWZndGlHTWpNWTZSdzBLckxldU8yY2pmQVdqWk1lTEREYXUwN053d0IreTZpTHhIMzlNaUVvT3VoVE9GK2hiM0lOaFVGeVlNUjBiazdsUi9yS2Y4RU5odDFYdEpZdmM4RDB0QnBLUnJnOTYrRjRxSEtkNHY5dmcxL0ZJRkJPTE5OWlEwVmZTVWxBcEdKVlhnZnEvNkN0UGY4Q2JNNGZZVUtVcm52amRPUWwvTXVDUFp4cEpNeERVOEdBNGJHODZkY21JdVlSSG1BZGZFelFSblJZQm8wWWI3b2l5SEprRVNob2ZNbk1HMnZsUU15dzNYUWpiN0FYM24vQ0xEaWxQWjdpb2hENWl3b3FmOVVUcjNIQ1RlSVFBb2tTTVVvOVZDZnRaK3c0TFpNV1RiVVZzMTl3OVp3YzliN1pYcGV1MTRzSHU4U0MvWXVPREsxWE9icXBtTW93emlRNHcyaWU4aXNzeUlHTmdDejhNeW01aXZrbE5wdEY2R05NeFRhVWUyTjV4OEwrUHpZRmx6cXhDbElSRGZ5bEYxZlZycTh6a1hCQkxJMVZ2NitKdE52blB2OXFDT05ucVhHMjFCRnhtSXBBdjdhQzdRcUE0ME5rbFhtSXBWUjQ5SnhoUU5uMlJVZ0R2NlRnTWtUSEZ1N3BMd3lXeUFENXVUcGdtTW9LcUxZOUtQS3RpSzh0SnpVWEd4QlhNQkVueEtPNUdCTm5saHVhNEFGUXN1RWlxRG9CNWU4eDJVSURqM3Z1aWMyTW5WbUxmYlZ4SDdSR0l1dENsaXh4UE56a0ZnVTd0YVNFcCtBQVNxMlJZUXYwWlNwdjZjZkFNVkJNL0dnaGJTR0lTLzNpM2VCVEx4VjdFVEdZbzFUcWdKN2JWYUdNRm1NOWFKQ2o3Q1lIQVJ5UVpmVzUrQTVScXBNc2pYVmRnL2N2YXpTRWp1b25YTHdTcGl4UnM4ZmFIUXpKSURXTlRQU0lHMHE3WDgzM2wvclRYZXVFNUpQcjNPeDhZcXpicjlwSld1N2FRUC9EdUxxMnlqTjdYcG1HZE5pbE54NGU1R2ExaWZ2SHpLRUd6UFlEdnk2b2k3bGdFNDlQWEZJN241VzNCWWh2VUpuaHB5Vm5iYVlBc0NDWVY5QkkvakV5Z3lqWVZSQVh3RmpjendHaTAwTWFqOVBrYkFuREZYVGFjYzdEejlSbEIxM0pPb2lwdnQ2VTJBUEhkSytORXRzeVVTbUVub2grT2tDS3o3TEhaMW1kZTRqZWYwRWhZaHQxbmhEWklmVkJ6VzZWWlVPY054T2VWZG9hZ0hXV1RQbEJkVEw5L0VPejhzU0N0L2svVXpuYTU0MjFNWml4ajdvUkNEUE5iY1Q2WnpaRWhQa1llb2c1VzBPZHVNRUdKRmFOZFNVek5qVm9oYlRwcU1DTm1oVm1pQ3NrdjdjTHRkOExzRGtMeGRnbUo0M1AzRGNLbEN1aXZySk5KM3J1VitPT1ZOZTFkeFlQTEtyNGpoaWFjMHQ1MU81ekNxNlNrYkV1aVI2c011RnRzU1oxRFdDWk8yTzV1NlorZFloTTl4T0R2U1NLY0FqUGZrdUVxNWoyRVd0RFgyQ1lBUHVIQ2s2VGNOOXY1Ukg2YTF6c0JFWXRCdDE2amM3TWNMRzZSNFRGZkhYTmFPUllKdk8vVUgzREMwMGJtUytCMTgxRW4zSUNhek5PMDlqSDlTNncrUi9LR25zQThXM3EwcFA2UDJ3cFhSUlJyd0NlUWpWc2NlOHl5OUJ4aVBwalR3TE0wUTF3R0NOOW1ETzJWbEY5R0oyZlFWVG5DdVgwL0FwaUlOU0dZUjdiZVkrMEpRSEtJTkhibHFyQ2c0dzFvZzFzMXBhWjBGMjNpN3VocUxSNVNkTC9aQ2tzMVNoeDFJTXZJelpnUkRFa24wLzNGTElhL2xWS2tYdzFXODh1b2MvcE42V3VLc3FXTm1PM1VKYUovTCtvUmFQSFBJVHZNbUh5Zi9sVm1aSmg1QjV2UjFCUkFtZUFnd3lGZlZrT3djZm9FVVBiMmJYRmZGdnVHc0xlSjJ4VmdiSUEwbmJMWUFWQlEremtuWG01bTRpOUtyZ0xtUENtSDV4VTFycXZ2a2QyT3pESDNIRllIZnVQOHUwb2dqZ3ZOSTRUVTU4VnFCemo3eU9QUDhQUXhJY1RET0RrbHEwRGI4Y2F1bWNyQ01GeDBTWmN1ZjJKQ0pZRG5PWnNyZmt6ZEpVTVM0MGxoV2lrMEdDc2FoT01tS0hKMmRrL2IwMjBFWjc1M0pHci94MlYvNlB5NFNXcGllTW5YNVVnNUc0QUczcUdPK0hLeDUyNU1ackZiVXRBZm53dVIra0I2ckgrOVo5R29na0R4VlhqME93M2MyVlpWN0VKOEhkYThiTThsUkdoN0Z5ejFRUXB5RzZSTHQwTlRuMEZ2YkJTbFFOc1FOS3lTOXBzcEg1Y2RHTFBJRDBMcWZsVE04QWV5UUU5SUFlNnB5OFFaUlRqd1BZZVY5UVhtOU13THRQaVZUOXN1VEEyWlNnNFFTZ2tTc0NXZXAwbVB0SWJibDRidWowYTRUN2tyODNwWXVablZFRHBQSUR1N3JlTGhqcXplb1MwYWcybzhwSTlnK2lVc2JYWTBFRmViUEpzWjBxRWkzZ2s1TlVZMVVFSk1lakNwbkc1Qlowckc0Y3M0WTJ6WEE1WXQwZ3ZRRW8vd3BHclFRL2VEK21DUThGckFnbkRYMGM1R0JBNG5COWp4ZFhlWlo0eGFmNzIxeGlZWVJEREVoYUZTUHptdjZnL0M5QlgyUzFJVm81SkJRZnFMME9ad1BxTEpGTzRqWk5kYjNaREpjNC9lcThUSVhyUUE0aFppZEhqZjRrUUY3VkFrUGQwMERqeElycEx4Mkd4bFBSMW45R1YzOVUwYmpZREtBV3lHNGpwV0l5amJrN3Jxd1hOc3A2RWxtancwS2hGUDdYV2FXQ2NsVzI1NXZWZEJEcDk3cnBJUUlZZjRFaTdpekZQWEdvandUM1UrcWJxUXpPTE5zNVRXTTFyL1BZdjVFTmQ4V0cyaGx0Z2ZtNzlmd3RjYWUvUkJaRXRMV0ovbFZOR3hhc3Z6UksrbnVzZVJIMW13bmNVR3BGdFM0YmQ2TFRHazB2cExkUlQwVVZnaHhkY3J5a1RlMmoyWkF0N05DbFVHaUR0WjBBNFZjb1k1L09JNW8rLzljRGZXMmk1WVFpeUxFTytXLzhmMkFCSnY3OTl1WENlVXF1Y0NSaDUxWjExM0RHY213UHF5VkFKYnZBUVVTNlhXazlWOHlRbytncEZsTTIyRmIwZjVIUGN3MWVtNTh4d0MxODBjK2VwRHRWSjF3L2pYOEVPT0NycG0xWGNlS2NSdS9sTFhnN0pEVTRMbWFKTy9NR0F1YkFsbnhYek1sTjBXcExzK210dGtydlMySjhKdXpRbWdzdnR3NWVsbEtDVVoxOVVVRG41NnVMZU9XRzM0eFZTQlVBaW1WdXkzT0hieDVGNmkwdk8vNWp1THAwQ3MrMkpvblp5SmhmMEJFeVk2U1hUS3IzSVMzRE5pbm1PaGw2bmJoS0Y3TUU0K1h0UkRoMkUzalBDM2Mza3BRbEpFaGladHpuZGxiVzQzMERmbHNaT1JIMmRtaWYxTTJ5VEdvQ0JleGhTZFMzdmxSZDNxaFczdEMzUjFyVVFMV1hpd2p4TmZURnVDTFZocml0cysyYjNmY3F5YXRCVkM5bUkrTzhMdS9TTjAxd28yazMxRUszNEhKWFZsWGVHM0dZcVRuWVI5NGRYKy9ldTF6djF4L0dOeThZUnRlakw4MFMvQnZxaFdCeE1ZcERMSWNzNDRqV3JXb08yVVNvYjEzcXUzTVZGSmY0V09vQjVBVi9LNFBaU2tVUGthR2VvNk5CajJRc2QvdTB0bkVDWjM4NUg0Y1RaY3dtM2hXTnl5dnUzOGI3UXdUNmVPZ2t1SGNpM29VQmtRY3I4MUIvM3VHMkNxRFZzcnozQXIwL2ozUWJRd2MweWJqV2M0d2JuN29xOExNN042cGMrVFJ1bWRNUDNKeW1FSEo0K1RBZnorcm1Xc0UzdW80M1ZrcStxdFVsSVJiWU1YeVFWenhEbXdsOTZGNlE0THp6Q1I1aU5yVUtZV2hwR2lBOC9RTWZNcGQ3MFFhaEFBMjM5QWFUQUpHR2UrVjJyNjlwS3hmejJBRHBNbGtqUXRCdTd3c1lhTG53QWNkNVdkQU5Fa0hGT2RLSGdCbGtVcHlUbmJxTEo2bTY4dWpxNWpIVDR6TW5VZ0ZwMzQyL08xaGNYNDVXdk5OMkE1NGhzQVFiSk1TNDRJSU95akxvd1RmVTBQVGhkVGJyQjlCdDhtQWFHRlZHS2FPa0t2VVZ3TEVKM3ltSm02YWQyOXBYdVpra3V0OFlhUVNDSlV1VFpOM0NPcmV3RFlHNGR6YmtKTUNBMnpnQ0d4c2p5RWNvSExINVdjSzZVcmtSUGFQT0FYeDZMSEpkQ1ZmUjRQZzRKR2poWjVkZzQwd3FJdkFERjl4WDVZSXZqb3V2Ri9jVnFwUy9ZSjRHVEtqbXRiVkVvZzgrdXFIelovZnlSekJqQnprekRjOTFydFNkek1TZWRQaHc0VHhndS8zMXlvdlJmYi81S0IrcVdsOWdtbVJEeXgrK3dLb1JBNVVxMEU5ckNyUE9YZW9pZlZpTlp4b2VYakZoYnhsWkpUNFFVNDNSRlNrZjUwOWU4RWlLQ0VqK3lNRkVJR3laVmQremZYZlF6enFzUzFkczdxcW1RYzhkOVU1b2Q2UkVqZXZiWUhLL3pzVytJODdFeDZudHpEaTNoNE1hUE9VbjJIMElDbU9GVmNMbU9MZzh0dCtKVlo2cngyLzFYODBtMHAwSTErWFNEd1dDMFlZL1RjeVp1U1ZRenZJcFlZMTBodlVrWEtURWJKL01DOFhSdU9CQklHQllSWW9EcVVPUlhyYW9NQ2ovcFptcHpsa0MwQ0JFWTJueGVDSUcwWlJaSVhHUnQzOERkem1yZlpaalZQdU9lUmhwV01hN0swSUt5VFFLcm11a2VjWnc3QVdUSkF5bjduWTNpTWMvTExxVmpCT1NzK2d1VHp3UVpSd2NCN2RQTngyL0xQUGxpOTIwNG1UU3VyUDB2MXVsZ1dHYlEvZS8rQlpVdENMRTcwREo0a3ZrTmRKdGQ2MFpYbjZsdE8zUTRwSVdDY1pwTWNNTmxuTDdaekJvNS91MmNrS0s2eUhlVVNYN1R4M3JjcXB0RjAxNitXQnVIOVQ1dDlXMHJ0RzZTR2ZqY0hmNE1RZzgwTkhXU0duN1hBZms2OFdKc3M0NU1HckNaYVFyZm4yQmhvMFFIZjg2cnEwZjBvYVp2UDk2STZFaEcxYlgzcXFZZkluWmtNZDdIYTZpNTNqZStpZ3NKdm56WGxLWTNXVDhYQnhGTUlaYWdaRmxPd2Rab0NuL3JDa05YZWQzVmcwUE5pWDdYcVpjRGFGVXd2Ymo2MWFYNExlZlBnNFJVWjhuNmE5ZHRuZEF5UGJSSmdRRzczRmU0a2RoOWpPcHVoWXlidkJLcnZrQkV6OVdJTVhVMnhaTyt3V3NVOEpOUFVwNlZzR0xTZ3Q5dElWUVMwcFQvbjNDYXlLeERKbkRiZUJnYU5OcXdRcE90MUJoVlVjU2xVdW5SUTBvZytXS202UnRsa042eG84WXluK000RklENW8rQTBtcGs2ZllHaGtncTA4QWpQa0ZkQWdsUHZuYnU4TytUek81ZWZJbEMyQ0I5WXlwWHhLQlZXTUxUWEZ6YWxqMFhjd3VlMW0yRVVrL0FkR1Y5UmZNTEhUQXlKeEVuY2EwUXdLNlFUZ05JL2R3TmZhdit2enFRM3FGc2lRazhvb0llbG5RSEY3NklZT3loWGhRemxIQ0VDNWVLWFVXRHN3L3c5THZpSVBDUGVSdm4ydWVmdTdLeXR0TE5TdHZwTWVaZWdhSTMwcGl2Wk9iNnBjVm5vSEo2MXpLd0UwRzgyQm1vVk5PT3lUNzdmVXRRR0tBVGU0TUs4NDNnZysvdUlwcFY3Z05sZG5mL2ZXUUVHM0pzT05CRW51K3FMeVMyYS9sZnpFa3pZM2NWOWNsRDBjc1REc2tzUzBjSXpnTmZHRnlVNnFYS1ovSmpnUVF5d3o0K041QmQ4OHIxUS9RR29NNWhmcVE4OEU2WklJZ3FudmNpM2JNU1JyZGxoVjUxLzdLR2tVV0ErcWxVQ08wMjhBY1IvaUhCN3FvN1ZsRXhRVDBMUU9sQjc3ZjNLL1pLeHVlL0VrRmgzQ0pUbkc1VVZrRDVGSExyRVBNeXh0ZnBLRjd1em85anlpZ0FJbzBzSk5SamsvZzNUenQydC9UQ2c3VmQ5VXZxTWR4LzJVaE5hdVRuSFd0b2tBVlNnUDA3NzdaQ0h6RktHVmZ6cnF5ZlE3ekZFclU2OFg0TVZzR0o4aUExbFh5UTlxQzlvZXFIYzA2QWxDVk5mQmxJcHgzOHJnNS9LeXcwN3Ftb3pIQUdIT0hPbXZRQWdyeW4wYmRNU3JtSHZmblZhMFNMUnEyRmVDS1JzTGJxWHUrcnFRZG1uVWtpRHZOeFNZQ1krcGJONXhYaDBkaTZiemVjVHM5S1c1NkVjVzEzYWJ0SDcwMXB1MHoydThFTnlPbjdKaUFFYVZMbXlZZzhWQzhHUEk0S0Z1dGUxb2F3Z1oyb2daaFdjRTBDT2QrelVsbWVvSzF5NnduV0Eyb2xaS0I0Rk50M1kzem1MWTBjSWJBeEJIRGhGbkVsS25kQ1RCK3FpNG41cVNqR2pJWHRNL1hLeEZ2TVZNVHdGc0lONE95b2V2b1c0UnJXNGNadk10NTNudTFZaW85SlAxZ2xRQWhIUzJuY25VQ3R3QktGN01IbFNndGxCck1TY0dVanROMjBtYTMzdmo0T2dlaWdYUzRZWmdkQmZ6V1VkTFZYYjRrRXpscHEvaVBJc0lLckd4QUpLTnlKNldLM2dXY0FkQkFGNzFmeUxFaTFIMXdNSmtiSnFydWxxbDh0S1hZQWhUUkhWMlRqNXQ5c0pjS0ZJWHJma3hxYWw4UGFoODBDV1dDem9jb3ZQL0NkN2RGWjV4YStDdjFCbmdUaC9WNkZiUGxaOEg1N01jcTlLREIyVWkxenpiYlBEU0orb3l6YW5QMWNudVQrMStTZVlVcWFlR2sydDg4KzN4MVVsUEtTTmdQSmo4UTZqSVZSQnJQb1o1cEFRTjFudkVrenFvMG1nSVg0Ukptd2p4U2R2bE1BcFFtN1ZUakhlSjU1YiswbEpoRE1Mb2EvQXdQalVVUGN5SzB5NldjV3R6RzczOXNEWHA0R2x1K1NhLytRVkUvMFZDc1hHcXB6dFBCd2JmNkZERDdZVXNpaC9JaUs4MVM2WCtBTktUbjloUjVXejRXRGh1MHhzZjBYUG9nZUJUNUdiZXNOZTFUWG91MW5KekN0VnJmSlkrRVY3OXFwRkdvQXFIQkhrNmtPVEI5emJsMCtwSWpMZ1p6NENHZGNXblEwaTRsVmdNSFlIaDg5MEZ4WCtsZzJBU0gwdEtkTGNYNi8xQkc4aXFpSDVUSGpFWW9nWVBrWHdKNjg0emxpK2poRi9CNXduTmYyRml2YkpFaTAycXMwNTZGdER1NnQzY2hMckVIMDhxZk16a0Z3QVlnbVRVbERYcktjdDN6bk5VbGdPS0NCM1dEbDBTOTRKL2IvaHZKVERyTi9PTmJ6QmFITlFoZ1NMQVVJQVRPZVFxUlZ0TWplVHRRZVQwa1FJVlVjSmNvODZvMWtGUG43dTVyL3BCMEU2cTUxUXdhSVRFZnVFd3VJajI4dmNRMWpGUWZwYngyVGlKdThnNXlFdDF0aGhLTmw4RVNTTTZyN054R1lUWmRmVUx0ZXpxeFp2eTdIQWt6L1psRFVobHc5NSs4Z2hVbHNxYWJHeDdnNG1VT3VvdThKMVZCNnRNTTJKWGVXa29EeFFQZzVWOTdrUEppY2F2Y2RZV0ZNRW9CUHAxOS84WjQ5NGdvdFJNKzhickxpYnJ1WnU0RXFTODV5dkVlSWxQN1RtNFV6eXk4d3UwSHd3MTdFRVBFWURyOElNZlEvTHBvSGhPN0hhSi9DMGQ0QjhqMlJuRWowYk0vTGUrT2VNR0xiMW1sajZJanErNjZ1bWlRVUtuK25tck5FZmV3a1VoYXBSdVgwdFJrQyt2aW1xSDI0M2FyVG5yQWFHNjJPMGRjeHozSUZMWE1JZ3Qxa3JmRU03TzRuV1psTDAwUmhYZFZuQWhZbitURmp0WXBtZEpqdDlabXhOSFRqVjFMSEhJUGdGa0xEbnFTK3VJZ1l3d0Voc3NJeDZnRG8rT2M5SUtUbjZpaS9PaWl4UEYvM1RZTzkrL3dJVklURzZvZW0zZHF0YSszTDRmZ3JtUUdtU3hvRGE4dXphU2R4Z3JaaEg1ZnJuclFJUlVGN3NpcHJMUStYSFNDSlN1bzc2Y1pQSmRoY0N1VkMyNlQwRk5QeUc2Q1BhLytreFRzV3lHTDR1SGFqUk1DVzZyY09PME82WFNOT0oxa3Z4eXZMUFlPaVFHNjA5endZVHVZOUR2ZW1zRENXTlFaZjNCbXBHZmdaak5iSkRxL0VlK3BqZlZ4Vkl6VzJla0Y5T3BvNEZaQ0F0T1g4Q2ZOVVBhMmlETXIvWEJhN1JaWWZ5RllOZUJyU2hHaGtBcnA0MXY4M09IdnhnejlWeGVqM2lURTl4eHFwM3dEeDRmYjZBa3cxbGJMYnZuYjJBUHRiZlo4VjFidUZSZXNra2piL0djc29UNGpnQWtTNllDRitrL1pwNDMwUGJ5WDRDWlk3eFpGM0twSXRTS0xNSG1pVVhNZnZzaG90VkhTVjNob0pObWNuRlpMa3hEbkVPQXdkVWxGOUUrUmlJODJpWE5vQnpyWkd0NFNiL0J0ZzU2MmpwVU1vZ3VxQmIxVHZ2cFFCU0pydWM1L1VuVlJtWVlXaGorTzFOcjAyQnlON0gyYmh6L2MrOHZFUk52aGw3T3o5Y1dCNmlVV3U5TllxWW9ONktpV1VVTlZhYVo4SDYvS2ZEQ2FhWDB3TnQ1SThDNi9RZTlWTTQvMHdoTmVGM09qeFJuaU5OREl6ZHc2UFA3MFFjb3YzMHo4RjVYdU4rVStiaTZWeE9kaHR0MGVBMC80NVdIdE91VVUzR3R4SWRyV3dLblEzdlRNRjNwMWw5WXlGM1M4VDNvMnZKM0pDeEFtTCtRZE9ZeDVSeEVDZjBkdGFtWmZUZWR6dGxhbTFQK092V2lMT3dVYU9ibnRRTWM4ZDBUcSs1QVVFclJNQU1jTElvY0ZCN01CUEwvVS9jWkhZZVFlekNOblJwYVB4TWFzSmVLT0FMRS9heHhibWpQV1M3OXBIYjdFVTRVL1V0WDJBMWk3YmpxMTBPOUVNOGF5NjhleXJJNEhWWS9JYlJDVDc4QWN2K2psN0s4bm4rYnBHRld6REZzZ2ZSVjlEdEF6TFhGTWdLYTRTNGdpUlpXVDg1TGMraGdONW1ZY1o4eWtKZ242TWhnZmR6bk9xeEh2TC8vU2w1dnNvazhzc04vaC9GL1dZTUVrMkl3TkVCV3lteGxiQUNYK29KN3UwMnVHR0xpZThSaVdnQWFyd0dUdkpJRy9ySEU2emNoZHdCd3c5aEZzOVRTamZnNmJWNlorMWZVWG5COWtmZkpiVkNtSWNBZVpLRXE4djcxK0NsbnVuN3NDUFI4UHlpaTVPYXRNV2VZa1lQNHpDUWZySmc4ZWVzTHg5K3hGaDVKWjBWWVVXVlhmbWEzT0tRUTVRNGpBczVNVTBZMXV1SmxkL2E2WG5FZW02MlZmeTU3TWwvMlU1UUdZR2M2VlZVZnBqNFFlUzhmdU5ldEd1aHlUdE5pNGpyYUpyRGxUMFNUSkN6MExWOEVWemZsWlZIVDRTK2ZPZHJTK3lPWGxDQ1pCODQyWkp2d3ZvTUJ5UE5tR1Q4VUlqdnZ5OGY5MitzL3oxYlh2TTh6cnpuaFVyNnRrd2xrall1S3B2bzByOVRsZkNTT0dVSDF6bDJHNG5SZVpiR0pWVTlpZlJNQ0x3QVx4M2RceDNkJzt2YXIgZz0na25pdHNhaWwnO3ZhciBlaWQ9JzFqTlRhS09BQkxtZ3NlTVA1cEdDU0EnO3ZhciBzc19jZ2k9ZmFsc2U7dmFyIHNwPScnO3ZhciBoYXNoZWRfcXVlcnk9Jyc7dmFyIGNicz0nJzt2YXIgdXNzdj0nJzsoZnVuY3Rpb24oKXt2YXIgcT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sdT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixkKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1kLnZhbHVlO3JldHVybiBhfSx3PWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiYSIpO30seD13KHRoaXMpLHk9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBkPXg7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBsPTA7bDxhLmxlbmd0aC0xO2wrKyl7dmFyIGY9YVtsXTtpZighKGYgaW4gZCkpYnJlYWsgYTtkPWRbZl19YT1hW2EubGVuZ3RoLTFdO2w9ZFthXTtiPWIobCk7YiE9bCYmYiE9bnVsbCYmdShkLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fSx6PWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmFbU3ltYm9sLml0ZXJhdG9yXTtpZihiKXJldHVybiBiLmNhbGwoYSk7aWYodHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpxKGEpfTt0aHJvdyBFcnJvcigiYmAiK1N0cmluZyhhKSk7fTt5KCJQcm9taXNlIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7dGhpcy5pPW51bGx9ZnVuY3Rpb24gZChjKXtyZXR1cm4gYyBpbnN0YW5jZW9mIGY\/YzpuZXcgZihmdW5jdGlvbihlKXtlKGMpfSl9aWYoYSlyZXR1cm4gYTtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGMpe2lmKHRoaXMuaT09bnVsbCl7dGhpcy5pPVtdO3ZhciBlPXRoaXM7dGhpcy5sKGZ1bmN0aW9uKCl7ZS52KCl9KX10aGlzLmkucHVzaChjKX07dmFyIGw9eC5zZXRUaW1lb3V0O2IucHJvdG90eXBlLmw9ZnVuY3Rpb24oYyl7bChjLDApfTtiLnByb3RvdHlwZS52PWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmkmJnRoaXMuaS5sZW5ndGg7KXt2YXIgYz10aGlzLmk7dGhpcy5pPVtdO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7KytlKXt2YXIgaD1jW2VdO2NbZV09bnVsbDt0cnl7aCgpfWNhdGNoKGspe3RoaXMuQShrKX19fXRoaXMuaT1udWxsfTtiLnByb3RvdHlwZS5BPWZ1bmN0aW9uKGMpe3RoaXMubChmdW5jdGlvbigpe3Rocm93IGM7fSl9O3ZhciBmPWZ1bmN0aW9uKGMpe3RoaXMuaj0wO3RoaXMubD12b2lkIDA7dGhpcy5pPVtdO3RoaXMuRD0hMTt2YXIgZT10aGlzLkEoKTt0cnl7YyhlLnJlc29sdmUsZS5yZWplY3QpfWNhdGNoKGgpe2UucmVqZWN0KGgpfX07Zi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe2Z1bmN0aW9uIGMoayl7cmV0dXJuIGZ1bmN0aW9uKG0pe2h8fChoPSEwLGsuY2FsbChlLG0pKX19dmFyIGU9dGhpcyxoPSExO3JldHVybntyZXNvbHZlOmModGhpcy5KKSxyZWplY3Q6Yyh0aGlzLnYpfX07Zi5wcm90b3R5cGUuSj1mdW5jdGlvbihjKXtpZihjPT09dGhpcyl0aGlzLnYobmV3IFR5cGVFcnJvcigiQSBQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZiIpKTtlbHNlIGlmKGMgaW5zdGFuY2VvZiBmKXRoaXMuTChjKTtlbHNle2E6c3dpdGNoKHR5cGVvZiBjKXtjYXNlICJvYmplY3QiOnZhciBlPWMhPW51bGw7YnJlYWsgYTtjYXNlICJmdW5jdGlvbiI6ZT0hMDticmVhayBhO2RlZmF1bHQ6ZT0hMX1lP3RoaXMuSShjKTp0aGlzLkMoYyl9fTtmLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGMpe3ZhciBlPXZvaWQgMDt0cnl7ZT1jLnRoZW59Y2F0Y2goaCl7dGhpcy52KGgpO3JldHVybn10eXBlb2YgZT09ImZ1bmN0aW9uIj90aGlzLk0oZSxjKTp0aGlzLkMoYyl9O2YucHJvdG90eXBlLnY9ZnVuY3Rpb24oYyl7dGhpcy5GKDIsYyl9O2YucHJvdG90eXBlLkM9ZnVuY3Rpb24oYyl7dGhpcy5GKDEsYyl9O2YucHJvdG90eXBlLkY9ZnVuY3Rpb24oYyxlKXtpZih0aGlzLmohPTApdGhyb3cgRXJyb3IoImNgIitjKyJgIitlKyJgIit0aGlzLmopO3RoaXMuaj1jO3RoaXMubD1lO3RoaXMuaj09PTImJnRoaXMuSygpO3RoaXMuRygpfTtmLnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7dmFyIGM9dGhpcztsKGZ1bmN0aW9uKCl7aWYoYy5IKCkpe3ZhciBlPXguY29uc29sZTt0eXBlb2YgZSE9PSJ1bmRlZmluZWQiJiZlLmVycm9yKGMubCl9fSwxKX07Zi5wcm90b3R5cGUuSD1mdW5jdGlvbigpe2lmKHRoaXMuRClyZXR1cm4hMTt2YXIgYz14LkN1c3RvbUV2ZW50LGU9eC5FdmVudCxoPXguZGlzcGF0Y2hFdmVudDtpZih0eXBlb2YgaD09PSJ1bmRlZmluZWQiKXJldHVybiEwO3R5cGVvZiBjPT09ImZ1bmN0aW9uIj9jPW5ldyBjKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6dHlwZW9mIGU9PT0iZnVuY3Rpb24iP2M9bmV3IGUoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KTooYz14LmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGMuaW5pdEN1c3RvbUV2ZW50KCJ1bmhhbmRsZWRyZWplY3Rpb24iLCExLCEwLGMpKTtjLnByb21pc2U9dGhpcztjLnJlYXNvbj10aGlzLmw7cmV0dXJuIGgoYyl9O2YucHJvdG90eXBlLkc9ZnVuY3Rpb24oKXtpZih0aGlzLmkhPW51bGwpe2Zvcih2YXIgYz0wO2M8dGhpcy5pLmxlbmd0aDsrK2Mpdi5qKHRoaXMuaVtjXSk7dGhpcy5pPW51bGx9fTt2YXIgdj1uZXcgYjtmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGMpe3ZhciBlPXRoaXMuQSgpO2MuQihlLnJlc29sdmUsZS5yZWplY3QpfTtmLnByb3RvdHlwZS5NPWZ1bmN0aW9uKGMsZSl7dmFyIGg9dGhpcy5BKCk7dHJ5e2MuY2FsbChlLGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGMsZSl7ZnVuY3Rpb24gaChuLHQpe3JldHVybiB0eXBlb2Ygbj09ImZ1bmN0aW9uIj9mdW5jdGlvbihCKXt0cnl7ayhuKEIpKX1jYXRjaChDKXttKEMpfX06dH12YXIgayxtLEQ9bmV3IGYoZnVuY3Rpb24obix0KXtrPW47bT10fSk7dGhpcy5CKGgoYyxrKSxoKGUsbSkpO3JldHVybiBEfTtmLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxjKX07Zi5wcm90b3R5cGUuQj1mdW5jdGlvbihjLGUpe2Z1bmN0aW9uIGgoKXtzd2l0Y2goay5qKXtjYXNlIDE6YyhrLmwpO2JyZWFrO2Nhc2UgMjplKGsubCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZGAiK2suaik7fX12YXIgaz0KdGhpczt0aGlzLmk9PW51bGw\/di5qKGgpOnRoaXMuaS5wdXNoKGgpO3RoaXMuRD0hMH07Zi5yZXNvbHZlPWQ7Zi5yZWplY3Q9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7aChjKX0pfTtmLnJhY2U9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7Zm9yKHZhciBrPXooYyksbT1rLm5leHQoKTshbS5kb25lO209ay5uZXh0KCkpZChtLnZhbHVlKS5CKGUsaCl9KX07Zi5hbGw9ZnVuY3Rpb24oYyl7dmFyIGU9eihjKSxoPWUubmV4dCgpO3JldHVybiBoLmRvbmU\/ZChbXSk6bmV3IGYoZnVuY3Rpb24oayxtKXtmdW5jdGlvbiBEKEIpe3JldHVybiBmdW5jdGlvbihDKXtuW0JdPUM7dC0tO3Q9PTAmJmsobil9fXZhciBuPVtdLHQ9MDtkbyBuLnB1c2godm9pZCAwKSx0KyssZChoLnZhbHVlKS5CKEQobi5sZW5ndGgtMSksbSksaD1lLm5leHQoKTt3aGlsZSghaC5kb25lKX0pfTtyZXR1cm4gZn0pOwp2YXIgQT10aGlzfHxzZWxmO2Z1bmN0aW9uIEUoKXtyZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZX07dmFyIEY9d2luZG93LmxvY2F0aW9uO2Z1bmN0aW9uIEcoYSl7cmV0dXJuKGE9Ri5zZWFyY2gubWF0Y2gobmV3IFJlZ0V4cCgiWz8mXSIrYSsiPShcXGQrKSIpKSk\/TnVtYmVyKGFbMV0pOi0xfWZ1bmN0aW9uIEgoKXt2YXIgYT1nb29nbGUudGltZXJzLmxvYWQ7Z29vZ2xlLmMuZ3RzP2dvb2dsZS5jLmd0cyhmdW5jdGlvbigpe0koYSl9KTpJKGEpfQpmdW5jdGlvbiBJKGEpe3ZhciBiPWEuZSxkPWdvb2dsZS5zdHZzYztkJiYoYi5zc3I9MSk7aWYoZD9kLmlzQkY6RSgpPT09MiliLmJiPTE7RSgpPT09MSYmKGIucj0xKTthOntpZih3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiYoZD13aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpLGQubGVuZ3RoIT09MCkpe2Q9ZFswXTticmVhayBhfWQ9dm9pZCAwfWlmKGQpe3ZhciBsPWQudHlwZTtsJiYoYi5udD1sKTtsPWQuZGVsaXZlcnlUeXBlO2whPW51bGwmJihiLmR0PWwpO2Q9ZC50cmFuc2ZlclNpemU7ZCE9bnVsbCYmKGIudHM9ZCl9KGQ9d2luZG93Lm5hdmlnYXRpb24pJiYoZD1kLmFjdGl2YXRpb24pJiYoZD1kLm5hdmlnYXRpb25UeXBlKSYmKGIuYW50PWQpO2I9YS5tO2lmKCFifHwhYi5wcnMpe2Q9d2luZG93Ll9jc2M9PT0iYWdzYSImJndpbmRvdy5fY3NoaWQ7bD1FKCl8fGQ\/MDpHKCJxc3VidHMiKTtsPjAmJihiPUcoImZidHMiKSxiPjAmJihhLnQuc3RhcnQ9TWF0aC5tYXgobCxiKSkpO3ZhciBmPWEudCx2PWYuc3RhcnQ7Yj17fTthLndzcnQhPT12b2lkIDAmJihiLndzcnQ9YS53c3J0KTtpZih2KWZvcih2YXIgYyBpbiBmKWlmKGMhPT0ic3RhcnQiKXt2YXIgZT1mW2NdO2JbY109Yz09PSJzZ2wiP2U6TWF0aC5tYXgoZS12LDApfWw+MCYmKGIuZ3Nhc3J0PWEudC5zdGFydC1sLGM9RygicXNkIiksYz4wJiZnb29nbGUuYy5lKCJsb2FkIiwicXNkIixTdHJpbmcoYykpLChjPWEuZmJ0cykmJihiLmdzYXNydDI9TWF0aC5tYXgobCxjKS1sKSk7RSgpfHxkfHwhYS5xc3VidHN8fChjPWEuZmJ0cykmJihiLmdzYXNydDM9TWF0aC5tYXgoYS5xc3VidHMsYyktYS5xc3VidHMpO2M9YS5lO2E9Ii9nZW5fMjA0P3M9Iitnb29nbGUuc24rIiZ0PXNnJmF0eXA9Y3NpJmVpPSIrZ29vZ2xlLmtFSSsiJnJ0PSI7ZD0iIjtmb3IoayBpbiBiKWErPSIiK2QraysiLiIrYltrXSxkPSIsIjtmb3IodmFyIGggaW4gYylhKz0KIiYiK2grIj0iK2NbaF07dmFyIGs9IiI7QS5fY3NoaWQmJihrKz0iJmNzaGlkPSIrQS5fY3NoaWQpOyhoPXdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUua09QSXx8bnVsbCkmJihrKz0iJm9waT0iK2gpO2s9YSs9azt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb249PT0iZnVuY3Rpb24iP25hdmlnYXRvci5zZW5kQmVhY29uKGssIiIpOmdvb2dsZS5sb2coIiIsIiIsayl9fTt2YXIgSj1mdW5jdGlvbigpe3ZhciBhPWxvY2F0aW9uLmhyZWY7dGhpcy5pPXRoaXMuaj0iIjt2YXIgYj1hLmluZGV4T2YoIiMiKTtiPjAmJih0aGlzLmo9YS5zdWJzdHJpbmcoYiksYT1hLnN1YnN0cmluZygwLGIpKTtiPWEuaW5kZXhPZigiPyIpO2I+MCYmKHRoaXMuaT0iJiIrYS5zdWJzdHJpbmcoYisxKSxhPWEuc3Vic3RyaW5nKDAsYikpO3RoaXMubD1hfSxMPWZ1bmN0aW9uKGEsYixkKXtLKGEsYik7YS5pPWEuaSsiJiIrYisiPSIrZH0sSz1mdW5jdGlvbihhLGIpe2EuaT1hLmkucmVwbGFjZShuZXcgUmVnRXhwKCImIitiKyI9KFteJl0rKSIsImciKSwiIil9O0oucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdGhpcy5sKyh0aGlzLmk\/Ij8iK3RoaXMuaS5zdWJzdHJpbmcoMSk6IiIpK3RoaXMuan07CnZhciBNPWZ1bmN0aW9uKGEpe3RoaXMuaT1hfTtNLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLml9O3ZhciBOPWZ1bmN0aW9uKGEpe3RoaXMuTj1hfTtmdW5jdGlvbiBPKGEpe3JldHVybiBuZXcgTihmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgUD1bTygiZGF0YSIpLE8oImh0dHAiKSxPKCJodHRwcyIpLE8oIm1haWx0byIpLE8oImZ0cCIpLG5ldyBOKGZ1bmN0aW9uKGEpe3JldHVybi9eW146XSooWy8\/I118JCkvLnRlc3QoYSl9KV0sUT0vXlxzKig\/IWphdmFzY3JpcHQ6KSg\/OltcdysuLV0rOnxbXjovPyNdKig\/OlsvPyNdfCQpKS9pO2Z1bmN0aW9uIFIoKXt2YXIgYT1BW2ddO2lmKGEpe2E9eigoMCxhLmEpKHAsZnVuY3Rpb24oKXt9LCExKSkubmV4dCgpLnZhbHVlO3ZhciBiPVthYSgpXTtyZXR1cm4gYShiKX1TKEVycm9yKCJmIikpfWZ1bmN0aW9uIGFhKCl7dmFyIGE9bG9jYXRpb24uaHJlZixiPWhhc2hlZF9xdWVyeSxkPXt9O2ImJihkLnFoPWIsKGE9KGE9YS5tYXRjaCgvWz8mXXN0YXJ0PShcZCspL2cpKT9hW2EubGVuZ3RoLTFdLm1hdGNoKC9cZCsvKVswXToiIikmJihkLnN0PWEpKTtyZXR1cm4gZH0KZnVuY3Rpb24gVCgpe3ZhciBhO2E6e2lmKHdpbmRvdy5zdCYmKGE9d2luZG93LnN0KGxvY2F0aW9uLmhyZWYpKSlicmVhayBhO2E9cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLnRpbWluZyYmcGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD9wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0OnZvaWQgMH1pZihhKXRyeXt2YXIgYjsoKGI9d2luZG93KT09bnVsbD8wOmIuc2Vzc2lvblN0b3JhZ2UpJiZ3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlaWQsU3RyaW5nKGEpKX1jYXRjaChkKXt9fWZ1bmN0aW9uIFUoKXt2YXIgYT1laWQsYj1uZXcgSjtLKGIsInNnX3NzIik7TChiLCJzZWkiLGEpO3JldHVybiBiLnRvU3RyaW5nKCl9ZnVuY3Rpb24gVihhKXt2YXIgYj1laWQsZD1uZXcgSjtMKGQsInNnX3NzIixlbmNvZGVVUklDb21wb25lbnQoYSkpO0woZCwic2VpIixiKTtXKGQudG9TdHJpbmcoKSl9CmZ1bmN0aW9uIGJhKGEpe2lmKHdpbmRvdy5wcnMpe1goInBzcnQiKTtzY3RtJiZIKCk7dmFyIGI9VSgpO3dpbmRvdy5wcnMoYixhKS5jYXRjaChmdW5jdGlvbigpe1YoYSl9KX1lbHNlIFYoYSl9ZnVuY3Rpb24gVyhhKXtYKCJwc3J0Iik7c2N0bSYmSCgpO3dpbmRvdy5wcnM\/d2luZG93LnBycyhhKS5jYXRjaChmdW5jdGlvbigpe1koYSl9KTpZKGEpfQpmdW5jdGlvbiBZKGEpe2lmKHdpbmRvdy5wcil3aW5kb3cucHIoYSk7ZWxzZXthOnt2YXIgYj1iPT09dm9pZCAwP1A6YjtpZihhIGluc3RhbmNlb2YgTSliPWE7ZWxzZXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoOysrZCl7dmFyIGw9YltkXTtpZihsIGluc3RhbmNlb2YgTiYmbC5OKGEpKXtiPW5ldyBNKGEpO2JyZWFrIGF9fWI9dm9pZCAwfX1hPWxvY2F0aW9uO2lmKGIgaW5zdGFuY2VvZiBNKWlmKGIgaW5zdGFuY2VvZiBNKWI9Yi5pO2Vsc2UgdGhyb3cgRXJyb3IoImUiKTtlbHNlIGI9US50ZXN0KGIpP2I6dm9pZCAwO2IhPT12b2lkIDAmJmEucmVwbGFjZShiKX19ZnVuY3Rpb24gUyhhKXtuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL2dlbl8yMDQ\/Y2FkPXNnX2JfZSZlPSIrYSwiIil9ZnVuY3Rpb24gWChhKXtzY3RtJiZnb29nbGUudGljaygibG9hZCIsYSl9O25hdmlnYXRvcnx8KEEubmF2aWdhdG9yPXt9KTt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb24hPT0iZnVuY3Rpb24iJiYobmF2aWdhdG9yLnNlbmRCZWFjb249ZnVuY3Rpb24oYSl7KG5ldyBJbWFnZSkuc3JjPWF9KTt3aW5kb3cub25lcnJvcj1mdW5jdGlvbihhLGIsZCxsLGYpe25hdmlnYXRvci5zZW5kQmVhY29uKCIvZ2VuXzIwND9lbXNnPSIrKGYgaW5zdGFuY2VvZiBFcnJvcj9mLm1lc3NhZ2U6YSkrIiZzcmNwZz1zZ3MmanNyPTEmanNlbD0zIil9O1goInNzdCIpO3ZhciBaO3dpbmRvdy5zZ3MmJnVzc3Y\/KFgoInNzc3QiKSxaPXdpbmRvdy5zZ3Moc3ApLnRoZW4oZnVuY3Rpb24oYSl7WCgic3NldCIpO3ImJihUKCksYmEoYSkpO3JldHVybiEwfSxmdW5jdGlvbigpe3JldHVybiExfSkpOlo9UHJvbWlzZS5yZXNvbHZlKCExKTtaLnRoZW4oZnVuY3Rpb24oYSl7aWYoIWEmJihYKCJic3N0IiksYT1SKCksWCgiYnNldCIpLGEpKXt2YXIgYj1jYnM7YT1oYXNoZWRfcXVlcnk\/IkIuMS4iK2IrIi4iK2E6YTtiPW5ldyBEYXRlO2Iuc2V0U2Vjb25kcyhiLmdldFNlY29uZHMoKSsoTnVtYmVyKGNlKXx8MzAwKSk7dmFyIGQ9IlNHX1NTPSIrYSxsPWRvY3VtZW50LmNvb2tpZS5sZW5ndGgrZC5sZW5ndGg7ciYmKGw8NDA5MyYmIXNzX2NnaSYmKGRvY3VtZW50LmNvb2tpZT1kKygiOyBleHBpcmVzPSIrYi50b1VUQ1N0cmluZygpKSksVCgpLHNzX2NnaXx8ZG9jdW1lbnQuY29va2llLmluZGV4T2YoIlNHX1NTPSIpPDA\/VihhKTpXKFUoKSkpfX0pLmNhdGNoKGZ1bmN0aW9uKGEpe1MoYSl9KTt9KS5jYWxsKHRoaXMpO30pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iR0ZwUWJNYmN3UjFhRExVdFlOU2FvdyI+KGZ1bmN0aW9uKCl7dmFyIGNzc0lkPSd5dmxydWUnO3ZhciBldmVudF9pZD0nMWpOVGFLT0FCTG1nc2VNUDVwR0NTQSc7ZnVuY3Rpb24gc3coKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjc3NJZCkuc2V0QXR0cmlidXRlKCdzdHlsZScsJycpO25hdmlnYXRvci5zZW5kQmVhY29uKGAvZ2VuXzIwND9jYWQ9c2dfdHJibCZlaT0ke2V2ZW50X2lkfWAsJycpO30Kc2V0VGltZW91dChzdywyMDAwKTt9KSgpOzwvc2NyaXB0PiA8ZGl2IGlkPSJ5dmxydWUiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPklmIHlvdSdyZSBoYXZpbmcgdHJvdWJsZSBhY2Nlc3NpbmcgR29vZ2xlIFNlYXJjaCwgcGxlYXNlJm5ic3A7PGEgaHJlZj0iL3NlYXJjaD9xPWwlMjdlbGlvZ3JhZmljYSttaWxhbm8mYW1wO251bT0xMDAmYW1wO3NjYV9lc3Y9OGE3MGMxMGY3YWU1MGMzMyZhbXA7cHdzPTAmYW1wO2hsPWRlJmFtcDtuZWFyPURldXRzY2hsYW5kJmFtcDtnbD1ERSZhbXA7Z2xwPTEmYW1wO2didj0xJmFtcDtlbXNnPVNHX1JFTCZhbXA7c2VpPTFqTlRhS09BQkxtZ3NlTVA1cEdDU0EiPmNsaWNrIGhlcmU8L2E+LCBvciBzZW5kJm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vd2Vic2VhcmNoIj5mZWVkYmFjazwvYT4uPC9kaXY+PC9ib2R5PjwvaHRtbD4="}