D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
proc
/
self
/
root
/
usr
/
local
/
psa
/
var
/
modules
/
xovi
/
Filename :
serp_1.json
back
Copy
{"success":true,"settings":{"hash":"1","url":"https:\/\/www.google.com\/search?q=india+pushpesh+pant&as_rights=&num=100&start=0&pws=0&hl=en&near=United+States&uule=w+CAIQICINVW5pdGVkIFN0YXRlcw&gws_rd=cr&gl=US&glp=1&gbv=1"},"code":200,"exception":null,"bodyLen":84220,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT16T0JxYUlnLXhKcS12UV95LXRuNEJnIiBodHRwLWVxdWl2PSJyZWZyZXNoIj48ZGl2IHN0eWxlPSJkaXNwbGF5OmJsb2NrIj5QbGVhc2UgY2xpY2sgPGEgaHJlZj0iL2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT16T0JxYUlnLXhKcS12UV95LXRuNEJnIj5oZXJlPC9hPiBpZiB5b3UgYXJlIG5vdCByZWRpcmVjdGVkIHdpdGhpbiBhIGZldyBzZWNvbmRzLjwvZGl2Pjwvbm9zY3JpcHQ+PHNjcmlwdCBub25jZT0iYXJKUkF1NFdOTE14bFAyVFdKcGNwUSI+Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgdT1mdW5jdGlvbihLKXtyZXR1cm4gRC5jYWxsKHRoaXMsNTQsNSw1LEspfSxEPWZ1bmN0aW9uKEssRSxXLG0sYixGLGssZyxRLHApe2ZvcihRPUs7USE9OTc7KWlmKFE9PTY2KVE9KFdeMjYpPj0xMCYmKFd8Mik+PkU8RT84MTpFO2Vsc2UgaWYoUT09ODEpcD1tLFE9RTtlbHNlIGlmKFE9PUUpUT0oVy05XjI0KTxXJiYoVysyXjMpPj1XPzc3OjQ2O2Vsc2V7aWYoUT09NDYpcmV0dXJuIHA7aWYoUT09SylRPTY2O2Vsc2UgaWYoUT09Nzcpe2lmKGs9KGc9YixjLnRydXN0ZWRUeXBlcyksayYmay5jcmVhdGVQb2xpY3kpe3RyeXtnPWsuY3JlYXRlUG9saWN5KG0se2NyZWF0ZUhUTUw6dSxjcmVhdGVTY3JpcHQ6dSxjcmVhdGVTY3JpcHRVUkw6dX0pfWNhdGNoKHEpe2lmKGMuY29uc29sZSljLmNvbnNvbGVbRl0ocS5tZXNzYWdlKX1wPWd9ZWxzZSBwPWc7UT00Nn19fSxjPXRoaXN8fHNlbGY7KDAsZXZhbCkoZnVuY3Rpb24oSyxFKXtyZXR1cm4oRT1EKDU0LDUsMTgsImtzIixudWxsLCJlcnJvciIpKSYmSy5ldmFsKEUuY3JlYXRlU2NyaXB0KCIxIikpPT09MT9mdW5jdGlvbihXKXtyZXR1cm4gRS5jcmVhdGVTY3JpcHQoVyl9OmZ1bmN0aW9uKFcpe3JldHVybiIiK1d9fShjKShBcnJheShNYXRoLnJhbmRvbSgpKjc4MjR8MCkuam9pbigiXG4iKStbJy8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam9nTXl3aWMyOTFjbU5sY3lJNld5SWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSUNKZExDSnVZVzFsY3lJNld5SmpiRzl6ZFhKbFJIbHVZVzFwWTBKMWRIUnZiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFaWZRPT0nLAonKGZ1bmN0aW9uKCl7LyonLAonJywKJyBDb3B5cmlnaHQgR29vZ2xlIExMQycsCicgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAnLAonKi8nLAondmFyIFVLPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiKXt3aGlsZSgoSy02XjkpPEsmJihLKzheMTEpPj1LKXtzd2l0Y2goIShjPVhVKCJudW1iZXIiLGcsImFycmF5Iik9PT0iYXJyYXkiP2c6W2ddLHRoaXMuWikpe2Nhc2UgMCE9ZmFsc2U9PU51bWJlcigpOnRyeXtwPSF0aGlzLmoubGVuZ3RoLHU9W10seShRLDAsW2ZTLHUsY10sdGhpcykseSgxOSwwLFtQdyxXLHVdLHRoaXMpLEUmJiFwfHxjdyhmYWxzZSw0OCxFLHRydWUsdGhpcyl9Y2F0Y2goRil7TCgyMDQ4LDg1LEYsdGhpcyksVyh0aGlzLlopfWJyZWFrO2Nhc2UgdHJ1ZT09W106Vyh0aGlzLlopO2JyZWFrfWlmKCJPIilicmVha31yZXR1cm4oSy0zXjE2KT49SyYmSyszPj4xPEsmJihnPXNLW0UuU10oRS53biksZ1tFLlNdPWZ1bmN0aW9uKCl7cmV0dXJuIFd9LGcuY29uY2F0PWZ1bmN0aW9uKEYpe1c9Rn0sYj1nKSxifSxSND1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGLGspe3trPTgyO3doaWxlKGshPTcxKWlmKGs9PTY0KWs9NDQ7ZWxzZSBpZihrPT0xMCl7YTp7Zm9yKGI9W0U9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLCh1PVcsYyksRT09dHlwZW9mIHdpbmRvdyYmd2luZG93LEU9PXR5cGVvZiBzZWxmJiZzZWxmLEU9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07dTxiLmxlbmd0aDsrK3UpaWYoKHA9Ylt1XSkmJnBbZ109PU1hdGgpe0Y9cDticmVhayBhfXRocm93IEVycm9yKCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0Iik7fWs9OTd9ZWxzZSBpZihrPT05NylrPUstNj4+ND82MTozMztlbHNlIGlmKGs9PTczKXRoaXMuaD1XLGs9UTtlbHNlIGlmKGs9PTgyKWs9ODY7ZWxzZSBpZihrPT02MClrPXA8Vy5sZW5ndGg\/NTo3MjtlbHNlIGlmKGs9PVEpaz0oS142MSk+PTMmJihLXjI1KTwxOT80Mzo3NztlbHNlIGlmKGs9PTQ3KWctPTgsdS5wdXNoKChiPWM+PmcsKGJ8USkrNTEwLTIqKGJ8MjU1KSsoYiYtMjU2KSkpLGs9NjQ7ZWxzZSBpZihrPT01OSlrPTQ0O2Vsc2UgaWYoaz09ODYpaz0oSy02fDY5KTxLJiZLLTY8PDI+PUs\/MTA6OTc7ZWxzZSBpZihrPT02MSlrPShLPj4yJjcpPT0xPzczOlE7ZWxzZSBpZihrPT00MylXLmRHPWZ1bmN0aW9uKCl7cmV0dXJuIFcuVDI\/Vy5UMjpXLlQyPW5ldyBXfSxXLlQyPXZvaWQgMCxrPTc3O2Vsc2UgaWYoaz09NzIpRj11LGs9NjE7ZWxzZSBpZihrPT00NClrPWc+Nz80NzoxNjtlbHNlIGlmKGs9PTE2KXArKyxrPTYwO2Vsc2UgaWYoaz09NTIpaz02MDtlbHNlIGlmKGs9PTMzKXU9W10sZz1wPVEsaz01MjtlbHNle2lmKGs9PTc3KXJldHVybiBGO2s9PTUmJihnKz1FLGM9Yzw8RXxXW3BdLGs9NTkpfX19LERWPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayxtLEQscSxoKXtmb3IoRD04O0QhPTM5OylpZihEPT05OClGKyssRD0yMjtlbHNlIGlmKEQ9PTYwKXthOntpZihiJiZ0eXBlb2YgYi5sZW5ndGg9PWcpe2lmKHVHKDY3LDE2LFcsYikpe2s9dHlwZW9mIGIuaXRlbT09ImZ1bmN0aW9uInx8dHlwZW9mIGIuaXRlbT09RTticmVhayBhfWlmKHR5cGVvZiBiPT09ImZ1bmN0aW9uIil7az10eXBlb2YgYi5pdGVtPT0iZnVuY3Rpb24iO2JyZWFrIGF9fWs9S31EPShLUygxNiwiIiwwLHEsaz9tQSg1NiwwLGIpOmIpLDk4KX1lbHNlIGlmKEQ9PTIxKXE9ZnVuY3Rpb24obCl7bCYmdS5hcHBlbmRDaGlsZCh0eXBlb2YgbD09PSJzdHJpbmciP3AuY3JlYXRlVGV4dE5vZGUobCk6bCl9LEY9MSxEPTEyO2Vsc2UgaWYoRD09OTcpRD0oUSs4XjI3KTxRJiYoUS03XjEyKT49UT80MTozMztlbHNlIGlmKEQ9PTYzKUQ9KFFeNzUpJjE1PzcyOjE7ZWxzZSBpZihEPT0xKWM9dHlwZW9mIGcsdT1jIT1LP2M6Zz9BcnJheS5pc0FycmF5KGcpPyJhcnJheSI6YzoibnVsbCIsaD11PT1XfHx1PT1LJiZ0eXBlb2YgZy5sZW5ndGg9PUUsRD03MjtlbHNlIGlmKEQ9PTc3KWI9Y1tGXSxEPTI4O2Vsc2V7aWYoRD09NTgpcmV0dXJuIGg7aWYoRD09MjgpRD0hRFYoMTEsIm9iamVjdCIsImFycmF5IixnLGIpfHx1Ryg2NywxOCxXLGIpJiZiLm5vZGVUeXBlPjA\/NjE6NjA7ZWxzZSBpZihEPT00MSltPWZ1bmN0aW9uKCl7fSxFPXZvaWQgMCxjPWJHKEssZnVuY3Rpb24obCxWKXtmb3IoVj0zMDtWIT05OTspVj09MzA\/Vj1tPzYwOjk5OlY9PTYwJiYoVyYmV3coVyksRT1sLG0oKSxtPXZvaWQgMCxWPTk5KX0sISFXKSxnPWNbMV0sdT1jWzBdLGg9e3RvcDpmdW5jdGlvbihsLFYsdyxCLEEsSSxuKXtmb3Iobj03NjtuIT00NjspaWYobj09NTMpQT1tLG09ZnVuY3Rpb24oKXsoQSgpLFd3KShJKX0sbj00NjtlbHNlIGlmKG49PTkpbj1WPzIwOjcyO2Vsc2UgaWYobj09MjApbj1FPzM6NTM7ZWxzZXtpZihuPT03MilyZXR1cm4gQj11KHcpLGwmJmwoQiksQjtuPT03Nj8oST1mdW5jdGlvbigpe0UoZnVuY3Rpb24oZSl7V3coZnVuY3Rpb24oKXtsKGUpfSl9LHcpfSxuPTkpOm49PTMmJihJKCksbj00Nil9fSxwZTpmdW5jdGlvbihsKXtnJiZnKGwpfX0sRD0zMztlbHNlIGlmKEQ9PTg1KXtmb3IoZyBpbiBjPVcsRS5EKXtmb3IodT0ocD1FLkRbZ10sVyk7dTxwLmxlbmd0aDt1KyspKytjLHooSywyOCxwW3VdKTtkZWxldGUgKEUuQ0ktLSxFLkQpW2ddfUQ9MTZ9ZWxzZSBEPT00NT8oaD1LLEQ9NTgpOkQ9PTg\/RD05NzpEPT0zMz9EPVE8PDEmMTU\/NjM6MjE6RD09NzI\/RD0oUXw4MCk9PVE\/ODU6MTY6RD09MTY\/RD1RPj4yJjExPzU4OjQ1OkQ9PTEyP0Q9MjI6RD09MjI\/RD1GPGMubGVuZ3RoPzc3OjYzOkQ9PTYxJiYocShiKSxEPTk4KX19LEVLPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayxtLEQscSxoKXtmb3IoaD01NDtoIT05NzspaWYoaD09NjYpaD0oUSY5OCk9PVE\/MTc6NTtlbHNlIGlmKGg9PTY4KWg9ODE7ZWxzZXtpZihoPT03NylyZXR1cm4gcTtpZihoPT04MSloPShRXjYzKT4+Mz83Nzo1OTtlbHNlIGlmKGg9PTU5KXRoaXMuaWg9YS5kb2N1bWVudHx8ZG9jdW1lbnQsaD03NztlbHNlIGlmKGg9PTQ2KWg9US02JjE0PzgxOjY4O2Vsc2UgaWYoaD09NTQpaD02NjtlbHNlIGlmKGg9PTIwKUU9SyxxPWZ1bmN0aW9uKCl7cmV0dXJuIEU8Vy5sZW5ndGg\/e2RvbmU6ZmFsc2UsdmFsdWU6V1tFKytdfTp7ZG9uZTp0cnVlfX0saD00NjtlbHNlIGlmKGg9PTE3KXtpZihjLmg9KChjLmwrPShGPShtPShwPShEPShXfHxjLkg0KyssYy5PZj4wJiZjLnVoJiZjLmtXKSYmYy53Rzw9MSYmIWMuUCYmIWMuVCYmKCFXfHxjLlp4LWc+MSkmJmRvY3VtZW50LmhpZGRlbj09MCxjKS5IND09NCl8fEQ\/Yy5MKCk6Yy5aUixtLWMuWlIpLEY+PjE0KT4wLGMuaSkmJihjLmk9KGI9Yy5pLGs9KGMubCsxPj4yKSooRjw8MiksfmstfihifGspKyh+YiZrKSkpLGMubCsxKT4+MiE9MHx8Yy5oLHB8fEQpYy5IND0wLGMuWlI9bTtoPShEPyhjLk9mPmMuejImJihjLnoyPWMuT2YpLG0tYy5QNDxjLk9mLShFPzI1NTpXPzU6Mik\/cT1mYWxzZTooYy5aeD1nLHU9ZChXPzM0MjozMDksYyksWihjLEssYy5GKSxjLmoucHVzaChbUWIsdSxXP2crMTpnLGMuRyxjLkldKSxjLlQ9V3cscT10cnVlKSk6cT1mYWxzZSw1KX1lbHNlIGg9PTUmJihoPShRLTN8NzIpPFEmJlEtNjw8MT49UT8yMDo0Nil9fSxPSz1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGKXtmb3IoYj01MztiIT04MzspaWYoYj09NzApbzQuY2FsbCh0aGlzLEs\/Sy50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5VPW51bGwsSyYmdGhpcy5pbml0KEssRSksYj05NDtlbHNlIGlmKGI9PTI4KUY9YyxiPTYxO2Vsc2UgaWYoYj09OTQpYj0oKFd8MikmNyk+PTUmJihXPj4xJjgpPDQ\/MjQ6NzE7ZWxzZSBpZihiPT0yNClFPUtbVmJdLEY9RSBpbnN0YW5jZW9mIGE0P0U6bnVsbCxiPTcxO2Vsc2UgaWYoYj09NCl1PW5ldyBkbShFLHRoaXMpLGc9Sy5saXN0ZW5lcixwPUsuWFZ8fEsuc3JjLEsua1UmJkEyKDY0LDE5LCJvbiIsSywwKSxjPWcuY2FsbChwLHUpLGI9Mjg7ZWxzZXtpZihiPT03MSlyZXR1cm4gRjtiPT02Nj9iPUsuYWM\/UTo0OmI9PTYxP2I9KFcmNjApPT1XPzcwOjk0OmI9PTI1P2I9VysyPj0tMzUmJigoV14xOSkmOCk8Mj82Njo2MTpiPT01Mz9iPTI1OmI9PVEmJihjPXRydWUsYj0yOCl9fSxjdz1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGLGspe2ZvcihGPTQyO0YhPTE1OylpZihGPT02NCl7aWYoZy5qLmxlbmd0aCl7KGcudWgmJiI6VFFSOlRRUjoiKCksZy5rVz1XLGcpLnVoPXRydWU7dHJ5e3A9Zy5MKCksZy5aUj1wLGcuUDQ9cCxnLkg0PTAsZy56Mj0wLGM9S1MoNjMsdHJ1ZSwyLDI1LGZhbHNlLFcsZyksdT1FPzA6MTAsYj1nLkwoKS1nLlA0LGcuZUorPWIsZy5uSSYmZy5uSShiLWcubyxnLkcsZy5JLGcuejIpLGcuRz1RLGcuST1RLGcubz0wLGI8dXx8Zy54VS0tPD0wfHwoYj1NYXRoLmZsb29yKGIpLGcuSWMucHVzaChiPD0yNTQ\/YjoyNTQpKX1maW5hbGx5e2cudWg9UX1rPWN9Rj05OX1lbHNlIGlmKEY9PTg0KWRlbGV0ZSBXLkRbZ10sVy5DSS0tLEY9MjY7ZWxzZSBpZihGPT05OSlGPUsrMz4+Mz09MT82ODoyNjtlbHNlIGlmKEY9PTkwKXooUSw3LEUpLEY9Mzc7ZWxzZSBpZihGPT03MSlGPWcgaW4gVy5EJiZKKDE0LDEsVy5EW2ddLEUpPzkwOjI2O2Vsc2V7aWYoRj09NDApcmV0dXJuIGs7Rj09NjM\/KHRoaXMuc3JjPVEsdGhpcy5EPXt9LHRoaXMuQ0k9MCxGPTQwKTpGPT0yNj9GPUstNj4+Mz09MT82Mzo0MDpGPT02OD8oZz1FLnR5cGUsRj03MSk6Rj09NzA\/Rj1LPj4xJjc\/OTk6NjQ6Rj09Mzc\/Rj1XLkRbZ10ubGVuZ3RoPT0wPzg0OjI2OkY9PTQyJiYoRj03MCl9fSxtQT1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGLGssbSxELHEsaCxsKXt7aD03Njt3aGlsZShoIT0yOCl7aWYoaD09ODQpcmV0dXJuIGw7aWYoaD09MTgpe2lmKChFPVcubGVuZ3RoLEUpPkspe2ZvcihjPShnPUFycmF5KEUpLEspO2M8RTtjKyspZ1tjXT1XW2NdO2w9Z31lbHNlIGw9W107aD0xM31lbHNlIGlmKGg9PTg3KWg9NjA7ZWxzZSBpZihoPT02MCloPShRKzMmMTMpPT0xPzM6ODQ7ZWxzZSBpZihoPT03NiloPTE3O2Vsc2UgaWYoaD09NDkpaD1RLTMmOT82MDo4NztlbHNlIGlmKGg9PTE3KWg9KFF8NTYpPT1RPzE4OjEzO2Vsc2UgaWYoaD09MTMpaD1RKzI8MzUmJlE8PDI+PTE2PzQ2OjI2O2Vsc2UgaWYoaD09NDYpbD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoSyxKMikmJktbSjJdfHwoS1tKMl09KytqJCksaD0yNjtlbHNlIGlmKGg9PTMpaD04NDtlbHNlIGlmKGg9PTIxKXthOntmb3IoYj0ocD0ocT1JNCxjKS5zcGxpdChXKSxLKTtiPHAubGVuZ3RoLWc7YisrKXtpZighKG09cFtiXSxtIGluIHEpKWJyZWFrIGE7cT1xW21dfShGPShEPShrPXBbcC5sZW5ndGgtZ10scSlba10sdShEKSksRiE9RCkmJkYhPUUmJlR6KHEsayx7Y29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZSx2YWx1ZTpGfSl9aD00OX1lbHNlIGg9PTU5P2g9dT8yMTo0OTpoPT0yNiYmKGg9KFE8PDEmMjMpPT0yPzU5OjQ5KX19fSxMPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayxtLEQscSxoKXt7cT01MDt3aGlsZShxIT01MSlpZihxPT01MClxPTU4O2Vsc2UgaWYocT09MilFLmF0dGFjaEV2ZW50KEZVKGMudG9TdHJpbmcoKSwib24iLDE2KSxtKSxxPTQ7ZWxzZSBpZihxPT04MilxPUUuYXR0YWNoRXZlbnQ\/Mjo1OTtlbHNlIGlmKHE9PTMpcT0oSyYxMjQpPT1LPzUyOjY0O2Vsc2V7aWYocT09MjgpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO2lmKHE9PTUpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtpZihxPT03NiloPVEmJlEucGFyZW50Tm9kZT9RLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoUSk6bnVsbCxxPTY5O2Vsc2UgaWYocT09NjcpRS5aPSgoRS5aP0UuWisifiI6IkU6IikrVy5tZXNzYWdlKyI6IitXLnN0YWNrKS5zbGljZSgwLFEpLHE9OTc7ZWxzZSBpZihxPT0yMilxPUUuYWRkRXZlbnRMaXN0ZW5lcj82Njo4MjtlbHNlIGlmKHE9PTU4KXE9KEsmMTEwKT09Sz8xNTo0MjtlbHNlIGlmKHE9PTU5KXE9RS5hZGRMaXN0ZW5lciYmRS5yZW1vdmVMaXN0ZW5lcj82NTo1O2Vsc2UgaWYocT09OTYpcT1GLnByb3h5PzQyOjIzO2Vsc2UgaWYocT09NClxVisrLHE9NDI7ZWxzZXtpZihxPT02NClyZXR1cm4gaDtpZihxPT00MilxPShLfDQpPj4zPj0xJiYoS141OCk8MTk\/NzY6Njk7ZWxzZSBpZihxPT05NylxPShLKzUmMTUpPT00Pzk5OjM7ZWxzZSBpZihxPT05OSl7aWYoYj1XLkMuRFtTdHJpbmcoRSldKXtmb3IobT0oaz0oYj1iLmNvbmNhdCgpLDApLHRydWUpO2s8Yi5sZW5ndGg7KytrKShGPWJba10pJiYhRi5hYyYmRi5jYXB0dXJlPT1jJiYodT1GLmxpc3RlbmVyLHA9Ri5YVnx8Ri5zcmMsRi5rVSYmY3coUSw2LFcuQyxGKSxtPXUuY2FsbChwLGcpIT09ZmFsc2UmJm0pO2g9bSYmIWcuZGVmYXVsdFByZXZlbnRlZH1lbHNlIGg9dHJ1ZTtxPTN9ZWxzZSBpZihxPT04NClrPXVHKDY3LDE5LFcsYik\/ISFiLmNhcHR1cmU6ISFiLChEPU9LKDc4LEUsMTQpKXx8KEVbVmJdPUQ9bmV3IGE0KEUpKSxGPUQuYWRkKGMsdSxnLGsscCkscT05NjtlbHNlIGlmKHE9PTY1KUUuYWRkTGlzdGVuZXIobSkscT00O2Vsc2UgaWYocT09NjkpcT0oSz4+MSY3KT09Mj82Nzo5NztlbHNlIGlmKHE9PTIzKW09TlYoMCw2KSxGLnByb3h5PW0sbS5zcmM9RSxtLmxpc3RlbmVyPUYscT0yMjtlbHNlIGlmKHE9PTUyKXtpZigoYz0oZz1FLGEpLnRydXN0ZWRUeXBlcyxjKSYmYy5jcmVhdGVQb2xpY3kpe3RyeXtnPWMuY3JlYXRlUG9saWN5KFEse2NyZWF0ZUhUTUw6WlYsY3JlYXRlU2NyaXB0OlpWLGNyZWF0ZVNjcmlwdFVSTDpaVn0pfWNhdGNoKGwpe2lmKGEuY29uc29sZSlhLmNvbnNvbGVbV10obC5tZXNzYWdlKX1oPWd9ZWxzZSBoPWc7cT02NH1lbHNlIHE9PTY2Pyh6enx8KGI9ayksYj09PXZvaWQgMCYmKGI9USksRS5hZGRFdmVudExpc3RlbmVyKGMudG9TdHJpbmcoKSxtLGIpLHE9NCk6cT09MTUmJihxPWM\/ODQ6MjgpfX19fSxBMj1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGLGssbSl7e209NDc7d2hpbGUobSE9MzMpaWYobT09MTgpbT1jPT09IiJ8fGM9PXZvaWQgMD9ROjcyO2Vsc2V7aWYobT09MzQpcmV0dXJuIGs7bT09OD8oeihudWxsLDYsRSksbT02MCk6bT09Nz8odT1FLnR5cGUsYj1FLnByb3h5LHAucmVtb3ZlRXZlbnRMaXN0ZW5lcj9wLnJlbW92ZUV2ZW50TGlzdGVuZXIodSxiLEUuY2FwdHVyZSk6cC5kZXRhY2hFdmVudD9wLmRldGFjaEV2ZW50KEZVKHUsVywzKSxiKTpwLmFkZExpc3RlbmVyJiZwLnJlbW92ZUxpc3RlbmVyJiZwLnJlbW92ZUxpc3RlbmVyKGIpLHFWLS0sYz1PSyg3OCxwLDEzKSxtPTE0KTptPT0zMD9tPXAmJnBbQnddPzU3Ojc6bT09NzI\/KEUuc2V0QXR0cmlidXRlKEYsYyksbT0zNCk6bT09Nzc\/KHA9RS5zcmMsbT0zMCk6bT09MTk\/KEFycmF5LmlzQXJyYXkoYykmJihjPWMuam9pbigiICIpKSxGPSJhcmlhLSIrdSxtPTE4KTptPT02MD9tPShLLTF8NDApPj1LJiZLLTY8PDE8Sz8xOTozNDptPT00Nz9tPTU1Om09PTcwPyhiPXdtLHUgaW4gYj9FLnNldEF0dHJpYnV0ZShGLGJbdV0pOkUucmVtb3ZlQXR0cmlidXRlKEYpLG09MzQpOm09PTU1P209Sy0yPDwxPj1LJiYoSy0yXjE2KTxLPzQ1OjYwOm09PTkyP209Yy5DST09Zz8xMDo2MDptPT0xND9tPWM\/OTE6ODptPT01Nz8oY3cobnVsbCw1LHAuQyxFKSxtPTYwKTptPT05MT8oY3cobnVsbCw3LGMsRSksbT05Mik6bT09MTA\/KGMuc3JjPW51bGwscFtWYl09bnVsbCxtPTYwKTptPT1RP209d20\/NzA6Mzk6bT09NDU\/bT10eXBlb2YgRSE9PSJudW1iZXIiJiZFJiYhRS5hYz83Nzo2MDptPT0zOSYmKHA9e30sd209KHAuYXRvbWljPWcscC5hdXRvY29tcGxldGU9VyxwLmRyb3BlZmZlY3Q9VyxwLmhhc3BvcHVwPWcscC5saXZlPSJvZmYiLHAubXVsdGlsaW5lPWcscC5tdWx0aXNlbGVjdGFibGU9ZyxwLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIscC5yZWFkb25seT1nLHAucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixwLnJlcXVpcmVkPWcscC5zb3J0PVcscC5idXN5PWcscC5kaXNhYmxlZD1nLHAuaGlkZGVuPWcscC5pbnZhbGlkPSJmYWxzZSIscCksbT03MCl9fX0seWI9ZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwLGIsRixrLG0sRCxxKXtmb3IoRD04MDtEIT04MjspaWYoRD09OTEpRD1BcnJheS5pc0FycmF5KHUpPzkzOjkwO2Vsc2UgaWYoRD09MjUpRD0oUV4yMSkmMTU\/ODk6NDU7ZWxzZSBpZihEPT0yMylxPShiPW5TW0suc3Vic3RyaW5nKDAsMykrIl8iXSk\/YihLLnN1YnN0cmluZygzKSxXLEUsZyxjLHUscCk6eWIoNDEsVyxLKSxEPTI1O2Vsc2UgaWYoRD09NDUpdGhpc1t0aGlzKyIiXT10aGlzLHE9UHJvbWlzZS5yZXNvbHZlKCksRD04OTtlbHNlIGlmKEQ9PTEwKUQ9YyYmY1tCd10\/Mzc6MjE7ZWxzZSBpZihEPT03OClEPTcxO2Vsc2UgaWYoRD09NDApaysrLEQ9NzE7ZWxzZSBpZihEPT00NCkoRj1tLkphKGIscCx1LEUpKSYmQTIoNjQsMTgsIm9uIixGLDApLEQ9NjQ7ZWxzZSBpZihEPT02NylEPShRfDcpPj4zPT0zPzIzOjI1O2Vsc2UgaWYoRD09NylLKGZ1bmN0aW9uKGgpe2goVyl9KSxxPVtmdW5jdGlvbigpe3JldHVybiBXfSxmdW5jdGlvbigpe31dLEQ9NjU7ZWxzZSBpZihEPT04MClEPTY3O2Vsc2UgaWYoRD09OTMpaz1LLEQ9Nzg7ZWxzZSBpZihEPT02MiltPU9LKDc4LGMsMTUpLEQ9MztlbHNlIGlmKEQ9PTY0KUQ9KFF8NDApPT1RPzc6NjU7ZWxzZSBpZihEPT0yMSlEPWM\/NjI6NjQ7ZWxzZSBpZihEPT03MSlEPWs8dS5sZW5ndGg\/MDo2NDtlbHNlIGlmKEQ9PTM3KWMuQy5yZW1vdmUoU3RyaW5nKHUpLEUsYixwKSxEPTY0O2Vsc2V7aWYoRD09NjUpcmV0dXJuIHE7RD09MD8oeWIoODMsMCxudWxsLEUsZyxjLHVba10scCksRD00MCk6RD09OTQ\/KHE9ISEoRT1LLnFRLChFfFcpKyh+RV5XKS0ofkUmVyktKEV8flcpKSxEPTQ2KTpEPT00Nj9EPShRfDgwKT09UT85MTo2NDpEPT0zP0Q9bT80NDo2NDpEPT04OT9EPShRJjEyMik9PVE\/OTQ6NDY6RD09OTAmJihiPXVHKDY3LDIwLFcsZyk\/ISFnLmNhcHR1cmU6ISFnLEU9eSg2MCxFKSxEPTEwKX19LE1WPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayxtKXtmb3Ioaz02MztrIT0zNzspaWYoaz09MTcpbT1zS1tXXShzSy5wcm90b3R5cGUse3BvcDpLLHNwbGljZTpLLGRvY3VtZW50OksscHJvcGVydHlJc0VudW1lcmFibGU6SyxyZXBsYWNlOksscGFyZW50Okssc3RhY2s6Syxjb25zb2xlOkssbGVuZ3RoOkssZmxvb3I6SyxjYWxsOksscHJvdG90eXBlOkt9KSxrPTg5O2Vsc2UgaWYoaz09OSlrPShFKzJeMTkpPEUmJkUtNzw8Mj49RT8xNzo4OTtlbHNlIGlmKGs9PTYwKWs9RjxnLmxlbmd0aD84NDoxO2Vsc2UgaWYoaz09ODkpaz0oRT4+MiY3KTwxJiYoRV4yOSk+PTE\/Njc6MTtlbHNlIGlmKGs9PTQwKUYrKyxrPTYwO2Vsc2UgaWYoaz09OTMpaz1BcnJheS5pc0FycmF5KGcpPzU3Ojk2O2Vsc2UgaWYoaz09OTYpdT15KDYxLHUpLGMmJmNbQnddP2MuQy5hZGQoU3RyaW5nKGcpLHUsSyx1Ryg2NywxNyxudWxsLGIpPyEhYi5jYXB0dXJlOiEhYixwKTpMKGZhbHNlLDEwLG51bGwsYyxLLGcsdSxwLGIpLGs9MTtlbHNlIGlmKGs9PTg0KU1WKDMyLGZhbHNlLDAsUSxnW0ZdLGMsdSxwLGIpLGs9NDA7ZWxzZSBpZihrPT02OSlOVigwLDExLG51bGwsVyxjLHUsZyxiLHApLGs9MTtlbHNlIGlmKGs9PTY3KWs9YiYmYi5vbmNlPzY5OjkzO2Vsc2UgaWYoaz09NjMpaz05O2Vsc2UgaWYoaz09MjUpaz02MDtlbHNle2lmKGs9PTEpcmV0dXJuIG07az09NTcmJihGPVcsaz0yNSl9fSx5PWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCl7e3A9Nzg7d2hpbGUocCE9NTQpaWYocD09NjYpcD0oUS02JjE1KT49MTMmJihRLTQmMTUpPDE1Pzc6OTk7ZWxzZSBpZihwPT00OSlFLmouc3BsaWNlKEssSyxXKSxwPTIzO2Vsc2UgaWYocD09MzUpdHlwZW9mIEs9PT0iZnVuY3Rpb24iP3U9SzooS1tTJF18fChLW1MkXT1mdW5jdGlvbihiKXtyZXR1cm4gSy5oYW5kbGVFdmVudChiKX0pLHU9S1tTJF0pLHA9NjQ7ZWxzZXtpZihwPT0yMylyZXR1cm4gdTtpZihwPT05Mil0aGlzLk49dGhpcy5OLHRoaXMuTVE9dGhpcy5NUSxwPTY2O2Vsc2UgaWYocD09OTkpcD1RLTQ+PTIyJiZRLTY8Mzk\/MjA6MTk7ZWxzZSBpZihwPT0yMCl0aGlzLnR5cGU9Syx0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9Vyx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5MST1mYWxzZSxwPTE5O2Vsc2UgaWYocD09OClwPVErND4+ND09ND8zNTo2NDtlbHNlIGlmKHA9PTcpe2E6aWYodHlwZW9mIGc9PT0ic3RyaW5nIil1PXR5cGVvZiBFIT09InN0cmluZyJ8fEUubGVuZ3RoIT1LPy0xOmcuaW5kZXhPZihFLFcpO2Vsc2V7Zm9yKGM9VztjPGcubGVuZ3RoO2MrKylpZihjIGluIGcmJmdbY109PT1FKXt1PWM7YnJlYWsgYX11PS0xfXA9OTl9ZWxzZSBwPT03OD9wPTg6cD09MTk\/cD0oUT4+MiYxNSk9PTQ\/NDk6MjM6cD09NjQmJihwPVE8PDE8MjMmJihRKzUmMTUpPj05PzkyOjY2KX19fSxZNj1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGLGssbSl7e2s9Mzk7d2hpbGUoayE9MilpZihrPT02MilrPShRLTh8MjgpPFEmJihRKzdeMjIpPj1RPzkzOjg4O2Vsc2UgaWYoaz09ODEpaz0yMjtlbHNlIGlmKGs9PTQpYis9Sy5jaGFyQ29kZUF0KHApLGIrPWI8PDEwLGI9KHU9Yj4+NiwodXwwKSt+KGJ8dSkrMiooYiZ+dSktKGJ8fnUpKSxrPTMwO2Vsc2UgaWYoaz09NTYpYj1wPTAsaz04MTtlbHNlIGlmKGs9PTMwKXArKyxrPTIyO2Vsc2V7aWYoaz09MTgpcmV0dXJuIG07az09MjI\/az1wPEsubGVuZ3RoPzQ6NTA6az09ODg\/az0oUXwyNCk9PVE\/MjY6MTg6az09MjY\/KHRoaXNbdGhpcysiIl09dGhpcyxrPTE4KTprPT01MT9rPShRJjEwNyk9PVE\/NTY6NjI6az09Mzk\/az01MTprPT05Mz8obT1XLmNsYXNzTGlzdD9XLmNsYXNzTGlzdDpOVigwLDEwLEssInN0cmluZyIsVykubWF0Y2goL1xcUysvZyl8fFtdLGs9ODgpOms9PTUwJiYoYis9Yjw8MyxiXj1iPj4xMSxGPWIrKGI8PDE1KT4+PjAsYz1uZXcgTnVtYmVyKEYmKGc9MTw8VywtKGcmMSktMS0yKn5nK34oZ3wxKSkpLGNbMF09KEY+Pj5XKSVFLG09YyxrPTYyKX19fSxVPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayxtKXtpZigoSy05fDc4KT49SyYmKEstOXw2NSk8Syl7Zz1YKDQ2LEUpO3tjPTA7d2hpbGUoVz4wKWM9Yzw8UXxybSg4LHRydWUsRSksVy0tfVAoZyxFLGMpfXJldHVybigoKEs+PjEmMTV8fChGPWUkLGM9WzcxLDc4LC03Niw4OSwzMCw3MSxjLDUzLC00LC01Ml0sYj1nJjcscD1zS1tFLlNdKEUuQzkpLHBbRS5TXT1mdW5jdGlvbihEKXtiKz02Kyh1PUQsNypnKSxiJj03fSxwLmNvbmNhdD1mdW5jdGlvbihELHEsaCxsKXtyZXR1cm4oKGg9KHU9KEQ9NTQqdSp1LTEwOCpXKlcqdS0gLTQ4MDYqdStiK2NbKGw9VyUxNisxLGIpK1EmN10qVypsKyhGKCl8MCkqbC00MjEyKlcqdS1sKnUrMipXKlcqbCx2b2lkIDApLGMpW0RdLGMpWyhxPWIrNjksKHF8MCktMioocSYtOCktKH5xXjcpKyhxfC04KSkrKGcmMildPWgsYylbYisoZyYyKV09NzgsaH0sbT1wKSxLJjUyKT09SyYmKEU9cm0oOCx0cnVlLFcpLEUmMTI4JiYoRT0oRXwxMjcpLSAtMS0oRSYtMTI4KSsoRXwtMTI4KXxybSg4LHRydWUsVyk8PFEpLG09RSksSy0zJjE0KT09MiYmKG09az1mdW5jdGlvbigpe3t2YXIgRD04NTt3aGlsZShEIT01OClpZihEPT0zOSl7dmFyIHE9Y3coZmFsc2UsNDksKHkoODAsMCxoLHUpLFcpLFcsdSk7RD0xM31lbHNlIGlmKEQ9PTQ5KXAmJmImJnAucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGssQ1MpLEQ9NTg7ZWxzZSBpZihEPT04NSlEPXUuaD09dT81NDo1ODtlbHNlIGlmKEQ9PTgwKUQ9RT09MT82NjoxODtlbHNlIGlmKEQ9PTE4KXE9aUcoMiwyNSx1LGgpLEQ9MTM7ZWxzZXtpZihEPT0xMylyZXR1cm4gcTtpZihEPT05KXZhciBoPVt4NixjLGcsdm9pZCAwLHAsKEQ9NzYsYiksYXJndW1lbnRzXTtlbHNlIGlmKEQ9PTU0KUQ9dS5WPzk6NDk7ZWxzZSBpZihEPT03NilEPUU9PVE\/Mzk6ODA7ZWxzZSBpZihEPT02Nil7dmFyIGw9IXUuai5sZW5ndGg7eSg4MywwLGgsdSksbCYmY3coZmFsc2UsMzMsVyxXLHUpLEQ9MTN9fX19KSxLfDcpPj0yNCYmKEt8Nyk8MzcmJihRLlA\/bT1HeihRLFEudSk6KEU9dDIodHJ1ZSxRLDgpLChFfDApKzEyOC0oRXwxMjgpJiYoRT0oRXwxMjgpK34oRSYxMjgpLSAtMSxXPXQyKHRydWUsUSwyKSxFPShFPDwyKSsoV3wwKSksbT1FKSksbX0sWD1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGLGspe3JldHVybigoUV40NSk8MTAmJihRPDwxJjExKT49MyYmKEsuUD9rPUd6KEssSy51KTooVz10Mih0cnVlLEssOCksKFd8MCkrMTI4LShXfDEyOCkmJihXPShXfDEyOCkrfihXJjEyOCktIC0xLEU9dDIodHJ1ZSxLLDIpLFc9KFc8PDIpKyhFfDApKSxrPVcpKSwoUT4+MiY4KTw4JiZRPDwyPj0yOSYmKEsuUD9rPUd6KEssSy51KTooVz10Mih0cnVlLEssOCksKFd8MCkrMTI4LShXfDEyOCkmJihXPShXfDEyOCkrfihXJjEyOCktIC0xLEU9dDIodHJ1ZSxLLDIpLFc9KFc8PDIpKyhFfDApKSxrPVcpKSwoUSs1XjI5KTxRJiYoUS05fDMxKT49USkmJihrPSh1PShGPShjPVdbRV08PDI0LGI9V1syKihFfDEpLShFJi0yKSsofkVeMSktKH5FfDEpXTw8SywoYyZiKSt+KGMmYiktfmIrKGMmfmIpKSxwPVdbNCsoRSYtMyktKH5FJjIpXTw8OCwoRnwwKSsocHwwKSt+KEZ8cCktKH5GXnApKSxnPVdbLShFfDMpKzMqKEUmMykrMiooRV4zKV0sKHV8MCktKGd8MCkrKHUmZykrMioofnUmZykpKSxrfSwkNj1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGLGspe2ZvcihGPTQzO0YhPTMwOylpZihGPT00MylGPTcxO2Vsc2V7aWYoRj09NjEpcmV0dXJuIGs7aWYoRj09NzEpRj0oVyY1OSk9PVc\/OTQ6NDQ7ZWxzZSBpZihGPT1RKWM9SyxjXj1jPDwxMyxjXj1jPj4xNywoYz0oZ3wwKS1+KChjXmM8PDUpJmcpK35nKXx8KGM9MSksaz1+KEUmYyktMS1+RS0oRXx+YyksRj02MTtlbHNlIGlmKEY9PTk0KXthOntmb3IocD1FO3A8Yy5sZW5ndGg7KytwKWlmKGI9Y1twXSwhYi5hYyYmYi5saXN0ZW5lcj09ZyYmYi5jYXB0dXJlPT0hIXUmJmIuWFY9PUspe2s9cDticmVhayBhfWs9LTF9Rj00NH1lbHNlIEY9PTQ0JiYoRj0oV14xNCk+PjM+PTImJihXLTEmNik8Nj9ROjYxKX19LHVHPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUpe3t1PTYyO3doaWxlKHUhPTI5KWlmKHU9PTY4KWc9dHlwZW9mIEUsYz1nPT0ib2JqZWN0IiYmRSE9V3x8Zz09ImZ1bmN0aW9uIix1PTM7ZWxzZSBpZih1PT02NiljPXRoaXMubj09PTA\/MDpNYXRoLnNxcnQodGhpcy5HMi90aGlzLm4pLHU9UTtlbHNle2lmKHU9PTMpcmV0dXJuIGM7dT09UT91PUstOD4+ND8zOjY4OnU9PTYyP3U9MTI6dT09MTImJih1PShLfDgpPT1LPzY2OlEpfX19LEtTPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayxtLEQscSl7Zm9yKEQ9KHE9MTcsNzkpOzspdHJ5e2lmKHE9PTYzKWJyZWFrO2Vsc2UgaWYocT09MzApcT0oUSsxXjI3KT49USYmKFErNCY0Myk8UT8yNzo5NjtlbHNlIGlmKHE9PTMpYysrLHE9Njc7ZWxzZSBpZihxPT02NylxPWM8cD80NjoyMjtlbHNlIGlmKHE9PTE3KXE9MjA7ZWxzZSBpZihxPT0yNylxPTY1O2Vsc2UgaWYocT09NDkpcT02NztlbHNle2lmKHE9PTk2KXJldHVybiBrO3E9PTQ0PyhEPTkyLHA9aUcoVyxFLHUsYikscT0yNik6cT09NzE\/cT0oUSs4XjI4KTxRJiYoUS03fDczKT49UT85OToyMjpxPT0yNj8oRD03OSxxPTg3KTpxPT01NT8oRj11LlQsRihmdW5jdGlvbigpe2N3KGcsMzIsSyxLLHUpfSkscT0zMik6cT09OTE\/KEQ9NzksTCgyMDQ4LDM3LG0sdSkscT0yNik6cT09NTk\/KEh3LmNhbGwodGhpcyksdGhpcy5DPW5ldyBhNCh0aGlzKSx0aGlzLkVlPXRoaXMsdGhpcy5TSj1udWxsLHE9NzEpOnE9PTIyP3E9KFF8Nik+PjQ\/MzA6Mzg6cT09NDE\/KHUuVD1udWxsLGI9dS5qLnBvcCgpLHE9NDQpOnE9PTIwP3E9KFE+PjEmMTUpPj0xMSYmUSszPj41PDE\/NTk6NzE6cT09Mzg\/KEUuc2YoZnVuY3Rpb24oaCl7Zz1ofSxLLFcpLGs9ZyxxPTMwKTpxPT00Nj8oYyBpbiB1JiZFLmNhbGwodm9pZCAwLHVbY10sYyxnKSxxPTMpOnE9PTY2P3E9NjU6cT09NjU\/cT11LmoubGVuZ3RoPzQxOjMyOnE9PTMyPyhrPXAscT05Nik6cT09OTk\/KHA9Zy5sZW5ndGgsdT10eXBlb2YgZz09PSJzdHJpbmciP2cuc3BsaXQoSyk6ZyxjPVcscT00OSk6cT09ODcmJihxPWMmJnUuVD81NTo2Nil9fWNhdGNoKGgpe2lmKEQ9PTc5KXRocm93IGg7RD09OTImJihtPWgscT05MSl9fSx6PWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCl7e3A9ODM7d2hpbGUocCE9NjApaWYocD09NTkpVy5hYz10cnVlLFcubGlzdGVuZXI9USxXLnByb3h5PVEsVy5zcmM9USxXLlhWPVEscD04NTtlbHNlIGlmKHA9PTk3KXA9KEsmNTgpPT1LPzUyOjQ3O2Vsc2UgaWYocD09NClwPShLKzUmMTYpPDEyJiYoSzw8MSYxNSk+PTc\/NTk6ODU7ZWxzZSBpZihwPT0yOSlwPShLJjkwKT09Sz8xODo4NDtlbHNlIGlmKHA9PTgzKXA9NDtlbHNlIGlmKHA9PTE0KXZ3LmNhbGwodGhpcyksUXx8V258fChXbj1uZXcgRWMpLHRoaXMuaGE9dm9pZCAwLHRoaXMudjQ9ZmFsc2UsdGhpcy5RYz10aGlzLmdHPXRoaXMuQj10aGlzLkRSPXRoaXMuS0k9bnVsbCx0aGlzLldIPWZhbHNlLHA9Mjk7ZWxzZSBpZihwPT04NSlwPShLfDYpPj4zPT0yPzE0OjI5O2Vsc2UgaWYocD09MTgpdHlwZW9mIFcuY2xhc3NOYW1lPT1RP1cuY2xhc3NOYW1lPUU6Vy5zZXRBdHRyaWJ1dGUmJlcuc2V0QXR0cmlidXRlKCJjbGFzcyIsRSkscD04NDtlbHNlIGlmKHA9PTIzKXthOntmb3IoYyBpbiBnKWlmKEUuY2FsbCh2b2lkIDAsZ1tjXSxjLGcpKXt1PVE7YnJlYWsgYX11PVd9cD05N31lbHNlIGlmKHA9PTg0KXA9KEs8PDEmMTUpPT0yPzIzOjk3O2Vsc2UgaWYocD09NTIpdT15KDIxLFEsMCxXLEUpPj0wLHA9NDc7ZWxzZSBpZihwPT00NylyZXR1cm4gdX19LGtMPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayl7e0Y9NjA7d2hpbGUoRiE9OTgpaWYoRj09NjApRj02O2Vsc2UgaWYoRj09NilGPShXXjIwKSZLPzM4OlE7ZWxzZSBpZihGPT1RKWs9TWF0aC5mbG9vcih0aGlzLkwoKSksRj0zODtlbHNlIGlmKEY9PTM4KUY9Vz4+MiZLPzQyOjk0O2Vsc2UgaWYoRj09OTQpYi5jbGFzc0xpc3Q\/Yi5jbGFzc0xpc3QucmVtb3ZlKHApOihiLmNsYXNzTGlzdD9iLmNsYXNzTGlzdC5jb250YWlucyhwKTp6KEUsNDAscCxZNigzNyxjLGIpKSkmJnoodSw3NCxiLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChZNig2LGMsYiksZnVuY3Rpb24obSl7cmV0dXJuIG0hPXB9KS5qb2luKGcpKSxGPTQyO2Vsc2UgaWYoRj09NDIpcmV0dXJuIGt9fSxoUj1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGLGspe2ZvcihGPTQ2O0YhPVE7KWlmKEY9PTQ2KUY9OTE7ZWxzZSBpZihGPT05MSlGPShXK0smSyk9PTE\/Nzk6MjY7ZWxzZXtpZihGPT05OSlyZXR1cm4gaztpZihGPT0yNilGPShXPj4xJjcpPDQmJihXXjM0KT49Sz85Njo5OTtlbHNlIGlmKEY9PTc5KXthOntzd2l0Y2gocCl7Y2FzZSB1Oms9Yj8iZGlzYWJsZSI6ImVuYWJsZSI7YnJlYWsgYTtjYXNlIDI6az1iPyJoaWdobGlnaHQiOiJ1bmhpZ2hsaWdodCI7YnJlYWsgYTtjYXNlIGc6az1iPyJhY3RpdmF0ZSI6ImRlYWN0aXZhdGUiO2JyZWFrIGE7Y2FzZSA4Oms9Yj8ic2VsZWN0IjoidW5zZWxlY3QiO2JyZWFrIGE7Y2FzZSBFOms9Yj8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgYzprPWI\/ImZvY3VzIjoiYmx1ciI7YnJlYWsgYTtjYXNlIDY0Oms9Yj8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31GPTI2fWVsc2UgRj09OTYmJihrPU1hdGguZmxvb3IodGhpcy5lSisodGhpcy5MKCktdGhpcy5QNCkpLEY9OTkpfX0sTlY9ZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwLGIsRixrLG0sRCl7e209MzU7d2hpbGUobSE9NTkpaWYobT09NzUpaz1mdW5jdGlvbihxKXtyZXR1cm4gVy5jYWxsKGsuc3JjLGsubGlzdGVuZXIscSl9LFc9YnMsRD1rLG09MzE7ZWxzZSBpZihtPT00MylGdC5jYWxsKHRoaXMsVyxFfHxxRS5kRygpLGcpLG09Mjk7ZWxzZSBpZihtPT0zNiltPTM3O2Vsc2UgaWYobT09ODYpRD10eXBlb2YgZy5jbGFzc05hbWU9PUU\/Zy5jbGFzc05hbWU6Zy5nZXRBdHRyaWJ1dGUmJmcuZ2V0QXR0cmlidXRlKFcpfHwiIixtPTc0O2Vsc2UgaWYobT09MjkpbT0oSz4+MSY4KTw4JiYoSzw8MSYxNSk+PTEwPzc1OjMxO2Vsc2UgaWYobT09MTMpbT0oKEt8MikmNyk9PTI\/ODY6NzQ7ZWxzZSBpZihtPT0zMSltPShLLTgmNyk9PTM\/MTA6MTM7ZWxzZSBpZihtPT02MilOVigwLDMsbnVsbCxRLGcsYyx1W0ZdLHAsYiksbT0xNDtlbHNlIGlmKG09PTg0KUY9RSxtPTM2O2Vsc2UgaWYobT09MzUpbT04NztlbHNlIGlmKG09PTQwKWM9eSg2MixjKSxnJiZnW0J3XT9nLkMuYWRkKFN0cmluZyh1KSxjLHRydWUsdUcoNjcsMjEsVyxwKT8hIXAuY2FwdHVyZTohIXAsYik6TChmYWxzZSw2LG51bGwsZyx0cnVlLHUsYyxiLHApLG09MTM7ZWxzZSBpZihtPT04NyltPShLPj4xJjcpPT0yPzQzOjI5O2Vsc2UgaWYobT09MzcpbT1GPHUubGVuZ3RoPzYyOjEzO2Vsc2UgaWYobT09MTQpRisrLG09Mzc7ZWxzZSBpZihtPT0xMCltPUFycmF5LmlzQXJyYXkodSk\/ODQ6NDA7ZWxzZSBpZihtPT03NClyZXR1cm4gRH19LE9jPWZ1bmN0aW9uKCl7cmV0dXJuIG1ELmNhbGwodGhpcyw1Nyw1KX0sbUQ9ZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwLGIsRixrLG0pe3trPTg1O3doaWxlKGshPVEpaWYoaz09MjcpYz1iP3R5cGVvZiBiLmRHPT09ImZ1bmN0aW9uIj9iLmRHKCk6bmV3IGI6bnVsbCxrPTQ7ZWxzZSBpZihrPT00MylrPShLKzMmNyk8MSYmSz4+Mj49LTc4PzQ5OjU4O2Vsc2UgaWYoaz09NCl0aGlzLkg9YyxrPTQyO2Vsc2UgaWYoaz09NzgpcD10aGlzLmNvbnN0cnVjdG9yLGs9NTQ7ZWxzZSBpZihrPT00NClGPW1BKDgscCksaz0xMztlbHNlIGlmKGs9PTgyKWs9KGM9RSk\/NDo3ODtlbHNlIGlmKGs9PTQ5KWs9NTg7ZWxzZSBpZihrPT04KWNuLmNhbGwodGhpcyxnKSxrPTgyO2Vsc2UgaWYoaz09NzIpcD0odT1PYmplY3QuZ2V0UHJvdG90eXBlT2YocC5wcm90b3R5cGUpKSYmdS5jb25zdHJ1Y3RvcixrPTk4O2Vsc2UgaWYoaz09NTQpaz02MztlbHNlIGlmKGs9PTEzKWs9KGI9dXNbRl0pPzM1OjcyO2Vsc2UgaWYoaz09NTgpaz1LPj4yJjc\/NDI6ODtlbHNlIGlmKGs9PTM1KWs9Mjc7ZWxzZXtpZihrPT00MilyZXR1cm4gbTtrPT05OD9rPTYzOms9PTYzP2s9cD80NDoyNzprPT04NSYmKGs9NDMpfX19LHB6PWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiKXt7cD01MTt3aGlsZShwIT0yOSl7aWYocD09NylyZXR1cm4gYjtpZihwPT0xMyl0aGlzLmxpc3RlbmVyPUssdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPWMsdGhpcy50eXBlPWcsdGhpcy5jYXB0dXJlPSEhdSx0aGlzLlhWPUUsdGhpcy5rZXk9Kytncix0aGlzLmFjPXRoaXMua1U9ZmFsc2UscD01O2Vsc2UgaWYocD09NzIpcD1LPzg5OjM7ZWxzZSBpZihwPT04NSlwPShXPj4yJjE1KT09Mj83Mjo5OTtlbHNlIGlmKHA9PTcwKXRoaXMuQS5wdXNoKEspLHA9ODU7ZWxzZSBpZihwPT01MilwPVcrMSY3Pzg1OjUzO2Vsc2V7aWYocD09Myl0aHJvdyBFcnJvcigiSW52YWxpZCBjbGFzcyBuYW1lICIrSyk7aWYocD09ODkpcD10eXBlb2YgRSE9PSJmdW5jdGlvbiI\/NDI6OTk7ZWxzZSBpZihwPT01Myl0aGlzLm4rKyxwPTQ7ZWxzZSBpZihwPT05OCl0aGlzLm4rKyxFPUstdGhpcy52LHRoaXMudis9RS90aGlzLm4sdGhpcy5HMis9RSooSy10aGlzLnYpLHA9NztlbHNlIGlmKHA9PTUxKXA9NTI7ZWxzZSBpZihwPT00KXA9dGhpcy5BLmxlbmd0aDw1MD83MDo4MjtlbHNlIGlmKHA9PTk5KXA9KFd8MzIpPT1XPzEzOjU7ZWxzZSBpZihwPT04MilFPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLEU8NTAmJih0aGlzLkFbRV09SykscD04NTtlbHNle2lmKHA9PTQyKXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK0UpO3A9PTUmJihwPShXJlEpPT1XPzk4OjcpfX19fX0sbHM9ZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwKXtmb3IodT02Mzt1IT01NTspaWYodT09NjcpVy5jbGFzc0xpc3Q\/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChLLGZ1bmN0aW9uKGIpe2tMKDMwLDMsMywxLCIgIiwiY2xhc3MiLCJzdHJpbmciLGIsVyl9KTp6KCJzdHJpbmciLDY2LFcsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKFk2KDUsImNsYXNzIixXKSxmdW5jdGlvbihiKXtyZXR1cm4heigxLDQyLGIsSyl9KS5qb2luKCIgIikpLHU9NjtlbHNle2lmKHU9PTI4KXJldHVybiBwO2lmKHU9PTYyKVcuS0kmJlcuS0kuZm9yRWFjaChLLHZvaWQgMCksdT00NDtlbHNlIGlmKHU9PTUpRT0wLGM9IiIsdT0xMztlbHNlIGlmKHU9PTM2KXU9KFE+PjImOSk9PTE\/NzM6MjE7ZWxzZSBpZih1PT01Nil1PShRLTR8NDQpPj1RJiYoUS03fDcxKTxRPzYyOjQ0O2Vsc2UgaWYodT09MjEpdT0oUT4+MSYxMik9PTQ\/Njc6NjtlbHNlIGlmKHU9PTIyKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoSyxmdW5jdGlvbihiLEYsayl7Zm9yKGs9ODI7ayE9MTI7KWs9PTU2PyhXLmNsYXNzTGlzdC5hZGQoYiksaz0xMik6az09MTY\/az0oVy5jbGFzc0xpc3Q\/Vy5jbGFzc0xpc3QuY29udGFpbnMoYik6eigxLDMyLGIsWTYoNywiY2xhc3MiLFcpKSk\/MTI6NTU6az09NTU\/KEY9TlYoMCw4LCJjbGFzcyIsInN0cmluZyIsVykseigic3RyaW5nIiw3MixXLEYrKEYubGVuZ3RoPjA\/IiAiK2I6YikpLGs9MTIpOms9PTgyJiYoaz1XLmNsYXNzTGlzdD81NjoxNil9KSx1PTI4O2Vsc2UgaWYodT09NjkpYys9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLFcuc2xpY2UoRSxFKzgxOTIpKSx1PTg7ZWxzZSBpZih1PT03MylLPXdpbmRvdy5idG9hLHU9NDc7ZWxzZSBpZih1PT02Myl1PTU2O2Vsc2UgaWYodT09MjApdT1XLmNsYXNzTGlzdD8yMjo1ODtlbHNlIGlmKHU9PTM3KXA9ISEoZy5RdyZLKSYmeWIoMTgsZyxLKSE9RSYmKCEoZy5GNyZLKXx8Zy5kaXNwYXRjaEV2ZW50KGhSKDU5LDMsMTAsVyw0LDMyLDEsSyxFKSkpJiYhZy5OLHU9MzY7ZWxzZSBpZih1PT0yNil1PUU8Vy5sZW5ndGg\/Njk6MjQ7ZWxzZSBpZih1PT01OCl7Zm9yKGMgaW4oKGc9e30sQXJyYXkucHJvdG90eXBlKS5mb3JFYWNoLmNhbGwoWTYoMzYsImNsYXNzIixXKSxmdW5jdGlvbihiKXtnW2JdPXRydWV9KSxBcnJheS5wcm90b3R5cGUuZm9yRWFjaCkuY2FsbChLLGZ1bmN0aW9uKGIpe2dbYl09dHJ1ZX0pLEU9IiIsZylFKz1FLmxlbmd0aD4wPyIgIitjOmM7eigic3RyaW5nIiw2NCxXLEUpLHU9Mjh9ZWxzZSB1PT00Nz91PUs\/NTo1Nzp1PT05Mj8ocD1nLHU9MjEpOnU9PTg\/KEUrPTgxOTIsdT0yNik6dT09Nj91PShRfDU2KT09UT8yMDoyODp1PT0xMz91PTI2OnU9PTI0PyhnPUsoYykucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIiksdT05Mik6dT09NTc\/KGc9dm9pZCAwLHU9OTIpOnU9PTQ0JiYodT0oUSY2MCk9PVE\/Mzc6MzYpfX0sSj1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHApe2Zvcih1PTYzO3UhPTU2OylpZih1PT03NylnPXkoMjAsSywwLEUsVyksKGM9Zz49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChXLGcsSykscD1jLHU9ODQ7ZWxzZXtpZih1PT05MSlyZXR1cm4gcDt1PT02Mz91PTQxOnU9PTM1Pyh0aGlzLm49PT0wP3A9WzAsMF06KHRoaXMuQS5zb3J0KGZ1bmN0aW9uKGIsRil7cmV0dXJuIGItRn0pLHA9W3RoaXMubix0aGlzLkFbdGhpcy5BLmxlbmd0aD4+MV1dKSx1PTkxKTp1PT01OD8oUChLLEUsVyksV1tLel09Mjc5Nix1PTIzKTp1PT04ND91PShRPDwxJjEyKTw3JiYoUT4+MiY1KT49ND8zNTo5MTp1PT0yMz91PShRKzQmNyk9PTI\/Nzc6ODQ6dT09NDEmJih1PShRKzReMTIpPFEmJlEtNTw8MT49UT81ODoyMyl9fSxGVT1mdW5jdGlvbihRLEssVyxFLGcsYyx1KXtmb3IoZz04MTtnIT03NTspaWYoZz09MTApZz0oV3wyNCk9PVc\/NTM6MzU7ZWxzZSBpZihnPT02MiljPVEgaW4gRGE\/RGFbUV06RGFbUV09SytRLGc9MTA7ZWxzZSBpZihnPT01Myl1PWZ1bmN0aW9uKCl7fSx1LnByb3RvdHlwZT1FLnByb3RvdHlwZSxRLlI9RS5wcm90b3R5cGUsUS5wcm90b3R5cGU9bmV3IHUsUS5wcm90b3R5cGUuY29uc3RydWN0b3I9USxRLmNIPWZ1bmN0aW9uKHAsYixGKXtmb3IodmFyIGs9MTM7ayE9NTE7KWlmKGs9PTczKWs9NDU7ZWxzZSBpZihrPT00NClEKyssaz00NTtlbHNlIGlmKGs9PTgzKW1bRC1LXT1hcmd1bWVudHNbRF0saz00NDtlbHNlIGlmKGs9PTEzKXZhciBtPUFycmF5KChrPTczLGFyZ3VtZW50cy5sZW5ndGgpLUspLEQ9SztlbHNlIGlmKGs9PTQ1KWs9RDxhcmd1bWVudHMubGVuZ3RoPzgzOjUzO2Vsc2UgaWYoaz09NTMpcmV0dXJuIEUucHJvdG90eXBlW2JdLmFwcGx5KHAsbSl9LGc9MzU7ZWxzZSBpZihnPT00KWc9KFcrNyYyNSk+PVcmJihXLTR8MTUpPFc\/NjI6MTA7ZWxzZSBpZihnPT04MSlnPTQ7ZWxzZSBpZihnPT0zNSlyZXR1cm4gY30salg9ZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwLGIsRil7Zm9yKHA9KEUud249KEUuQzk9TVYoMzIse2dldDpmdW5jdGlvbigpe3doaWxlKCFbXT09MCl7cmV0dXJuIHRoaXMuY29uY2F0KCk7aWYodHJ1ZSlicmVha319fSxFLlMsKEUub3Q9RVtFLnA5PShFLmVQPXdyLEJuKSxQd10sMTUpKSxzS1tFLlNdKEUuQzkse3ZhbHVlOnt2YWx1ZTp7fX19KSksMCksYj1bXTtwPDM1MztwKyspYltwXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHApO2lmKChFLnVEPShFLlpSPSgoRS5qUD1mdW5jdGlvbihrKXtyZXR1cm4gUjQuY2FsbCh0aGlzLDAsNSxrKX0sRS5vPTAsRS5JYz1bXSxFLkc9KEUuSDQ9dm9pZCAwLEUuWj12b2lkIDAsRS5FZj1mYWxzZSxFLmw9MSwoRS5SYz1bXSxFLmhtPXZvaWQgMCxFLllVPShFLnJHPXZvaWQgMCxFLnU9dm9pZCAwLEUuaD1FLEUua1c9ZmFsc2UsRS5OOT0oRj13aW5kb3cucGVyZm9ybWFuY2V8fHt9LEUuWng9ODAwMSxFLks9dm9pZCAwLEUuT2Y9MCxRKSxbXSksRS56Mj0wLEUpLlA9dm9pZCAwLEUuVj1bXSxFLmVKPTAsRS53Rz0oRS5OUT1mYWxzZSxFLmRuPVtdLDApLEUuaj0oRS5YNz1bXSxFLnhVPTI1LEUuUDQ9MCxbXSksZmFsc2UpLEUpLkY9KEUuaT12b2lkIDAsRS5wST1bXSwwKSwoRS51aD0hKEUuVD0oRS5iRD0wLG51bGwpLDEpLEUpLkk9ZmFsc2UsRS5uST1LLDApLEYudGltZU9yaWdpbil8fChGLnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCxnKSYmZy5sZW5ndGg9PTImJihFLlg3PWdbMV0sRS5kbj1nWzBdKSxjKXRyeXtFLnJHPUpTT04ucGFyc2UoYyl9Y2F0Y2goayl7RS5yRz17fX1pZigoSig0MiwyMzYsKEooNDMsNDE5LChQKDIxMCwoUCgzNDIsKFAoMzA5LEUsKChKKDQzLDEwNywoSig0MywzNjQsZnVuY3Rpb24oayxtLEQscSxoLGwsVix3LEIpe2ZvcihCPTY3O0IhPTk3OylCPT01OD9CPTExOkI9PTExP0I9cS0tPzI2OjI3OkI9PTI3PyhSKGgsayxWKSxCPTk3KTpCPT02Nj9CPTExOkI9PTI2Pyh3PShtPVUoNywyMCxrKSwtMip+dysod15tKSsyKih+d3xtKSklRCxWLnB1c2gobFt3XSksQj02Nik6Qj09NjcmJihoPVUoaywyOSkscT1VKDcsMzYsayksVj1bXSxsPVMoMSxrKSx3PTAsRD1sLmxlbmd0aCxCPTU4KX0sRSksZnVuY3Rpb24oayxtLEQscSxoLGwsVix3LEIsQSl7e0E9NzA7d2hpbGUoQSE9ODYpQT09NzM\/KEIrKyxBPTg3KTpBPT03MD8odz1YKDM3LGspLHE9WCgxMCxrKSxtPVgoMzYsayksbD1kKHcsayksVj1kKHEsayksQj0wLEQ9IiIsQT0yOSk6QT09MjU\/KFooayxtLGxbRF0pLEE9ODYpOkE9PTg3P0E9QjxWLmxlbmd0aD8zNzoyNTpBPT0yOT9BPTg3OkE9PTM3JiYoRCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoaD1WW0JdLChofDApK35oLSh+aF4xMjEpKSksQT03Myl9fSksRSksSikoMTEsNDQ5LGZ1bmN0aW9uKGssbSxELHEsaCxsLFYsdyxCLEEpe2ZvcihBPTM4O0EhPTE2OylBPT0zOD8oQj1YKDgsayksVj1YKDEwLGspLHE9WCg5LGspLG09ZChWLGspLEQ9cihCLGspLHc9MCxoPSIiLEE9Nik6QT09NTY\/KFIocSxrLGggaW4gbXwwKSxBPTE2KTpBPT00Nz8oaCs9U3RyaW5nLmZyb21DaGFyQ29kZSgobD1EW3ddLC0obHwwKSsobHwxMjEpKyhsJi0xMjIpKSksQT05KTpBPT02P0E9Nzc6QT09Nzc\/QT13PEQubGVuZ3RoPzQ3OjU2OkE9PTkmJih3KyssQT03Nyl9LEUpLDApKSxFKSwwKSxFKSwwKSxmdW5jdGlvbihrLG0sRCxxLGgsbCxWLHcsQixBLEksbixlLGs2LFQsTFMsaDIsRyxOKXtmb3IoTj02MTtOIT04NTspTj09NDk\/KG1bcV0mJihsW3FdPVgoMzEsaykpLE49ODYpOk49PTE2PyhCKyssTj01NSk6Tj09Mzg\/KGg9bixoMj1bXSxOPTEpOk49PTExPyhMUz1HKDEpLG0ucHVzaChMUyksVis9TFM\/MDoxLE49OTgpOk49PTE\/Tj0zOk49PTU1P049Qjx3PzIwOjc3Ok49PTMzPyhKKDQzLEQsZnVuY3Rpb24odCxmLGxHLFksZ20sTyl7Zm9yKE89NjY7TyE9MTI7KU89PTE0P089OTM6Tz09Njg\/KGY9bEdbZl0sTz0zMSk6Tz09MTc\/KGdtKyssTz0yMCk6Tz09OTM\/Tz1mPj1sRy5sZW5ndGg\/NTA6Njg6Tz09Nj8odC5QPVVLKDgxLDYsaDIuc2xpY2UoKSx0KSx0LnU9VUsoODEsMTAsWSx0KSxPPTEyKTpPPT05MT9PPW1bZ21dPzMxOjcwOk89PTcwP089OTM6Tz09NTU\/Tz0yMDpPPT01MD8obEcucHVzaChYKDI3LHQpKSxPPTE0KTpPPT03OT8oZj1sW2dtXSxPPTkxKTpPPT0yMD9PPWdtPHc\/Nzk6NjpPPT02Nj8oWT1bXSxnbT0wLGxHPVtdLE89NTUpOk89PTMxJiYoWS5wdXNoKGYpLE89MTcpfSxrKSxOPTg1KTpOPT0zP049aC0tPzIzOjMzOk49PTIzPyhoMi5wdXNoKGQoVShrLDI2KSxrKSksTj03NSk6Tj09OTg\/KEErKyxOPTgyKTpOPT03NT9OPTM6Tj09ODI\/Tj1BPHc\/MTE6NDU6Tj09NDU\/KGs2PSgoVnwwKS0xKS50b1N0cmluZygyKS5sZW5ndGgsbD1bXSxCPTAsTj02NCk6Tj09OTA\/Tj00MzpOPT04Nj8ocSsrLE49NDMpOk49PTYxPyhHPWZ1bmN0aW9uKHQsZil7Zm9yKDtJPHQ7KVR8PXJtKDgsdHJ1ZSxrKTw8SSxJKz04O3JldHVybiBmPVQmKDE8PHQpLShJLT10LDEpLFQ+Pj10LGZ9LEQ9VShrLDMxKSxUPUk9MCxuPShlPUcoMyksKGUmMSktMS1+KGV8MSkpLHc9Ryg1KSxWPUE9MCxtPVtdLE49NzApOk49PTcwP049ODI6Tj09NDM\/Tj1xPHc\/NDk6Mzg6Tj09MjA\/KG1bQl18fChsW0JdPUcoazYpKSxOPTE2KTpOPT03Nz8ocT0wLE49OTApOk49PTY0JiYoTj01NSl9KSxFKSxmdW5jdGlvbihrLG0sRCxxLGgpe209ZCgoRD0oaD0ocT1VKGssMjUpLFgoMTAsaykpLGQocSxrKSE9MCksaCksayksRCYmUCgzMDksayxtKX0pLEUpLEopKDExLDMzNyxmdW5jdGlvbihrLG0sRCxxKXtxPShtPXJtKDgsKEQ9WCg0NSxrKSx0cnVlKSxrKSxYKSgxMSxrKSxaKGsscSxkKEQsayk+Pj5tKX0sRSkse30pSig0MSwxNzIsZnVuY3Rpb24oayxtKXtaKChtPVgoMzAsayksayksbSxbXSl9LEUpO2N3KCh5KDgyLCh5KDE2LDAsWygoWihFLCgoSigxMSwyODIsKFIoMTcwLCgoSigxMCwzMyxmdW5jdGlvbihrLG0sRCxxLGgsbCl7WihrLChxPXIoKGw9KEQ9WCg0NCwoaD1YKDI4LGspLGspKSxtPVUoaywyNCksZChELGspKSxoKSxrKT09bCxtKSwrcSl9LChKKDEwLDIyMCwoSigoSig0MCw1MDMsZnVuY3Rpb24oayxtLEQscSxoLGwpe2ZvcihsPTk7bCE9MjE7KWw9PTk\/bD1FSyg2NCwzMDksdHJ1ZSxmYWxzZSxtLGspPzIxOjk1Omw9PTc5P2w9ay5oPT1rfHxxPT1rLmpQJiZEPT1rPzkyOjIxOmw9PTkyPyhQKGguT2UsayxxLmFwcGx5KEQsaC5ZKSksay5aUj1rLkwoKSxsPTIxKTpsPT05NSYmKGg9YVgoOCwwLGssMiksRD1oLlBILHE9aC5EeCxsPTc5KX0sKEUucm49KEooNDAsKFIoMTU3LChKKDQyLDQ0MSxmdW5jdGlvbihrLG0sRCxxLGgsbCxWKXt7Vj01NTt3aGlsZShWIT05MilWPT02NT8oay5pPXQyKGZhbHNlLGssMzIpLGsuSz12b2lkIDAsVj05Mik6Vj09Mz9WPXE9PTIxND8zNDo5MjpWPT04MT9WPWsuaD09az83ODo5MjpWPT03OD8obT1kKEQsayksaD1kKGwsaykscihxLGspW2hdPW0sVj0zKTpWPT0zND8oay5LPXZvaWQgMCxWPTYyKTpWPT02Mj9WPWg9PTI\/NjU6OTI6Vj09NTUmJihxPVgoMTIsayksbD1VKGssMjkpLEQ9WCg0NCxrKSxWPTgxKX19LChKKDQwLDI0OCxmdW5jdGlvbihrLG0sRCxxLGgsbCl7WihrLChEPShtPVgoNDYsKHE9WCgoaD1VKGssMzApLDM3KSxrKSxrKSksbD1TKGgsayksZCkocSxrKSxtKSxsW0RdKX0sKEooNDEsKEooNDIsKChaKEUsOTgsKEooMTEsNDc5LGZ1bmN0aW9uKGspe05FKDMsayl9LChQKDE1MCxFLChaKEUsKEooNDAsKEooNDAsNzMsKEooMTAsKEooNDAsKEooMTAsNDQ3LChSKDgwLChQKChKKDQyLDI3NSxmdW5jdGlvbihrLG0sRCxxLGgpe3toPTQ3O3doaWxlKGghPTM0KWg9PTQ3P2g9RUsoNjYsMzA5LHRydWUsZmFsc2UsbSxrKT8zNDo2MDpoPT02MCYmKHE9WCgzNyxrKSxEPVgoMTEsayksUChELGssZnVuY3Rpb24obCl7cmV0dXJuIGV2YWwobCl9KFZXKGQocSxrLmgpKSkpLGg9MzQpfX0sKEooMTAsKFIoNTAyLChaKEUsMTUyLCgoSigxMSw0MDYsKEUuRzc9KEooNDEsMTM0LGZ1bmN0aW9uKGssbSxELHEpeyhtPVUoaywoRD1YKDM2LChxPVgoMTMsayksaykpLDI4KSksUikobSxrLGQocSxrKXx8ZChELGspKX0sKFIoKEooKEooNDEsKEooNDIsMTYsZnVuY3Rpb24oayxtLEQscSxoLGwsVix3LEIpe2ZvcihCPTI7QiE9NDY7KUI9PTc2P0I9aC0tPzEwOjkxOkI9PTkxPyhSKG0sayx3KSxCPTQ2KTpCPT0zNz9CPTc2OkI9PTYxP0I9NzY6Qj09MTA\/KHE9KGw9VSg3LDE2LGspLDIqKHF8bCktfihxJmwpK34ocXxsKSklVix3Kz1iW0RbcV1dLEI9NjEpOkI9PTImJihtPVgoNDYsayksaD1VKDcsNDgsayksdz0iIixEPWQoMSxrKSxWPUQubGVuZ3RoLHE9MCxCPTM3KX0sKFAoMjYxLEUsKFooRSwyMDksKEooNDEsMTIwLGZ1bmN0aW9uKGspe0FSKGssMSl9LChaKEUsNTUsW10pLEUpKSxbMTU0LDAsMF0pKSxvWCg0KSkpLEUpKSwxNDkpLGZ1bmN0aW9uKGssbSxEKXtaKGssKEQ9WCgzNywobT1YKDM2LGspLGspKSxEKSwiIitTKG0saykpfSxFKSwxMCksMzcxLGZ1bmN0aW9uKGssbSxELHEsaCxsLFYsdyxCLEEsSSl7Zm9yKEk9Nzg7SSE9MTQ7KUk9PTc4PyhoPVgoMzcsayksdz1YKDEzLGspLEQ9VShrLDI3KSxCPVgoNDQsayksbT1yKHcsayksbD1yKEIsayksVj1yKGgsay5oKSxBPXIoRCxrKSxJPTk4KTpJPT05OD9JPVYhPT0wPzU0OjE0Okk9PTU0JiYocT1VKDIsNSxmYWxzZSwxLGwsQSxrLFYsbSksVi5hZGRFdmVudExpc3RlbmVyKG0scSxDUykscig5OCxrKS5wdXNoKGZ1bmN0aW9uKCl7Vi5yZW1vdmVFdmVudExpc3RlbmVyKG0scSxDUyl9KSxSKDIxMCxrLFtWLG0scV0pLEk9MTQpfSxFKSw0ODQpLEUsW10pLEUpKSwwKSxmdW5jdGlvbihrLG0sRCxxLGgsbCxWLHcsQixBKXt7QT04NDt3aGlsZShBIT04OSlBPT04ND9BPUVLKDMyLDMwOSx0cnVlLGZhbHNlLG0sayk\/ODk6MzQ6QT09MzQmJihCPWFYKDgsMCxrLmgsMiksVj1CLk9lLGg9Qi5QSCx3PUIuRHgsRD1CLlkscT1ELmxlbmd0aCxsPXE9PTA\/bmV3IGhbd106cT09MT9uZXcgaFt3XShEWzBdKTpxPT0yP25ldyBoW3ddKERbMF0sRFsxXSk6cT09Mz9uZXcgaFt3XShEWzBdLERbMV0sRFsyXSk6cT09ND9uZXcgaFt3XShEWzBdLERbMV0sRFsyXSxEWzNdKToyKCksUChWLGssbCksQT04OSl9fSksRSksRSkubEQ9MCxbXSkpLEUpLDgxMSksMTY2KSxmdW5jdGlvbihrLG0sRCxxLGgpe209WCgyOCwoaD1YKDE0LGspLGspKTt3aGlsZSh0cnVlKWlmKHE9ZChoLGspLHRydWUpYnJlYWs7KEQ9WFUoIm51bWJlciIscSwiYXJyYXkiKSxQKShtLGssRCl9LEUpLEUpKSw2NyksRSxbXSksRSksYSksZnVuY3Rpb24oayxtLEQscSxoLGwsVix3LEIsQSxJLG4sZSxrNixUKXt7VD03O3doaWxlKFQhPTUxKWlmKFQ9PTcpVD1FSygzMiwzMDksdHJ1ZSx0cnVlLG0sayk\/NTE6Njg7ZWxzZSBpZihUPT0zOSlWKEIuc2xpY2UobCwobHwwKSsobnwwKSkscSksVD01OTtlbHNlIGlmKFQ9PTI3KVQ9NDU7ZWxzZSBpZihUPT02OCloPVgoNDUsayksdz1VKGssMjQpLEQ9WCgzMSxrKSxlPVgoOCxrKSxxPVMoZSxrKSxCPWQoaCxrKSxWPXIodyxrKSxuPWQoRCxrKSxUPTk4O2Vsc2UgaWYoVD09MTIpe2ZvcihJIGluIEE9W10sQilBLnB1c2goSSk7Qj0oVD01LEEpfWVsc2UgVD09ODU\/KG49bj4wP246MSxrNj1CLmxlbmd0aCxsPTAsVD0yNyk6VD09OTg\/VD1YVSgibnVtYmVyIixCLCJhcnJheSIpPT0ib2JqZWN0Ij8xMjo1OlQ9PTU5PyhsKz1uLFQ9NDUpOlQ9PTQ1P1Q9bDxrNj8zOTo1MTpUPT01JiYoVD1rLmg9PWs\/ODU6NTEpfX0pLEUpLDE4MSksZnVuY3Rpb24oayxtLEQscSxoLGwpeyhsPXIoKEQ9cigocT1YKChtPShoPVUoaywyNSksVShrLDI3KSksOSksayksbSksayksaCksayksUikocSxrLGwgaW4gRHwwKX0sRSksNzkpLGZ1bmN0aW9uKGssbSl7bT1TKFgoNDYsayksayksZHIoIiIsMCxtLDMwOSwxMDQsay5oKX0sRSksZnVuY3Rpb24oayl7QVIoayw0KX0pLEUpLDMwNiksZnVuY3Rpb24oayxtLEQscSxoLGwpe3tsPTk4O3doaWxlKGwhPTU5KWw9PTExPyhaKGssRCxtKSxsPTU5KTpsPT0zND8oaCsrLGw9MTUpOmw9PTgxP2w9MTU6bD09OTg\/KEQ9VShrLDMwKSxxPVUoNyw1MixrKSxoPTAsbT1bXSxsPTgxKTpsPT0xNT9sPWg8cT8zNjoxMTpsPT0zNiYmKG0ucHVzaChybSg4LHRydWUsaykpLGw9MzQpfX0sRSksMTE3KSxbMjA0OF0pLEUpKSxFKSksW10pKSxKKSg0MywyNDcsZnVuY3Rpb24oayxtLEQpeyhtPXIoKEQ9WCgyNyxrKSxEKSxrLmgpLG0pWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIobVsxXSxtWzJdLENTKX0sRSksMzIwKSxmdW5jdGlvbihrLG0sRCxxLGgpe3toPTY0O3doaWxlKGghPTk4KWg9PTQ3PyhSKDMwOSxrLGsuRiksaD05OCk6aD09MjA\/aD1tPzk0OjQ3Omg9PTk0PyhEPXJtKDgsdHJ1ZSxrKSxoPTg2KTpoPT05Nj9oPUQ+MD8zOjU3Omg9PTM\/KHE9WCg0NSxrKSxtW3FdPWsuVltxXSxoPTQ5KTpoPT04Nj9oPTk2Omg9PTQ5PyhELS0saD05Nik6aD09NTc\/KG1bMTUyXT1rLlZbMTUyXSxtWzExN109ay5WWzExN10say5WPW0saD05OCk6aD09NjQmJihtPWsuWVUucG9wKCksaD0yMCl9fSxFKSwxMTgpLGZ1bmN0aW9uKGspe1UoOCw3NCw0LGspfSxFKSxFKSksRSkpLEUpLHt9KSw3MCksZnVuY3Rpb24oKXt9LEUpLChuZXcgWmEoIlN1Ym1pdCIpKS5kaXNwb3NlKCksMCksRSkpLDExKSwyNDYsZnVuY3Rpb24oayxtLEQscSxoLGwsVix3KXtWPVMoKG09UygoaD1TKChxPVgoMjksKHc9WCg5LChsPVgoNDQsayksRD1YKDQ0LGspLGspKSxrKSksdyksaykscSksayksRCksayksWihrLGwsVSgyLDYsZmFsc2UsbSxoLFYsaykpfSxFKSxmdW5jdGlvbihrLG0sRCxxLGgpe1AoKG09KHE9UygoaD1YKDQ1LChEPVgoMjksayksaykpLEQpLGspLFMpKGgsayksaCksayxtK3EpfSksRSksRSkpLFApKDE4NixFLFswLDAsMF0pLEUpLDApLGZ1bmN0aW9uKGspe05FKDQsayl9KSxFKSxaKShFLDIxMyxvWCg0KSksMjUwKSxvWCg0KSkseSkoMTgsMCxbS3pdLEUpLHo4KSxXXSxFKSwwKSxbSlIsdV0sRSksZmFsc2UpLDMzLHRydWUsdHJ1ZSxFKX0sSVg9ZnVuY3Rpb24oUSl7cmV0dXJuIEwuY2FsbCh0aGlzLFEsNDMpfSxkPWZ1bmN0aW9uKFEsSyxXKXtXPUsuVltRXTtzd2l0Y2goIShXPT09dm9pZCAwKSl7Y2FzZSBbXSE9KG51bGwhPSghW109PXRydWUpKTowO2JyZWFrO2Nhc2UgIVtdOmlmKHRydWUhPSFbXSl0aHJvd1tUOCwzMCxRXTticmVha31pZihXLnZhbHVlKXJldHVybiBXLmNyZWF0ZSgpO3JldHVybiBXLmNyZWF0ZShRKjIqUSs3OCpRKy04OSksVy5wcm90b3R5cGV9LGJzPWZ1bmN0aW9uKFEsSyxXLEUsZyxjKXtyZXR1cm4gT0suY2FsbCh0aGlzLDc4LFEsMyxLLFcsRSxnLGMpfSxkcj1mdW5jdGlvbihRLEssVyxFLGcsYyl7Yy5ZVS5sZW5ndGg+Zz9VYyhRLEssYyxbVDgsMzZdKTooYy5ZVS5wdXNoKGMuVi5zbGljZSgpKSxjLlZbRV09dm9pZCAwLFAoRSxjLFcpKX0sWHQ9ZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwLGIsRixrKXtmb3IoZz0oRj0oRT1LLnJlcGxhY2UoL1xcclxcbi9nLCJcXG4iKSxbXSkscD0wKTtwPEUubGVuZ3RoO3ArKylrPUUuY2hhckNvZGVBdChwKSxrPDEyOD9GW2crK109azooazwyMDQ4P0ZbZysrXT1rPj42fDE5MjooKGsmNjQ1MTIpPT01NTI5NiYmcCsxPEUubGVuZ3RoJiYoRS5jaGFyQ29kZUF0KHArMSkmNjQ1MTIpPT01NjMyMD8oaz02NTUzNisoLShrfDEwMjMpLVEqfihrfDEwMjMpKyhrXjEwMjMpK1EqKH5rXjEwMjMpPDwxMCkrKEUuY2hhckNvZGVBdCgrK3ApJjEwMjMpLEZbZysrXT1rPj4xOHwyNDAsRltnKytdPShiPShXPWs+PjEyLDEyNi0oV3w2MykrKFd8LTY0KS0ofld8NjMpKSxRKihifDApLShiJjEyOCkrfmItIC0xMjkpKTpGW2crK109KGM9az4+MTIsLX4oYyYyMjQpK1EqKGMmLTIyNSkrKH5jJjIyNCkrKH5jfDIyNCkpLEZbZysrXT1rPj42JjYzfDEyOCksRltnKytdPSh1PWsmNjMsLX4odSYxMjgpKzMqKH51JjEyOCkrUSoodXwtMTI5KS0ofnV8MTI4KSkpO3JldHVybiBGfSxhWD1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGKXtiPShGPSgodT1YKDE0LChwPVdbZnpdfHx7fSxXKSkscCkuT2U9WChRLFcpLHAuWT1bXSxXLmg9PVc\/KGc9cm0oUSx0cnVlLFcpLEUqfihnJjEpLUUqfmctKGdeMSkpOjEpLFUoVywyOCkpO3tjPUs7d2hpbGUoYzxGKXAuWS5wdXNoKFgoMzYsVykpLGMrK31wLlBIPXIoYixXKTt7cC5EeD1kKHUsVyk7d2hpbGUoRi0tKXAuWVtGXT1TKHAuWVtGXSxXKX1yZXR1cm4gcH0sQz1mdW5jdGlvbihRLEssVyxFLGcsYyx1KXt3aGlsZSh7fSlpZih1PXRoaXMsMD09PS0wKWJyZWFrO3RyeXtqWChXLGMsSyx0aGlzLFEsZyxFKX1jYXRjaChwKXtMKDIwNDgsNSxwLHRoaXMpLEUoZnVuY3Rpb24oYil7Yih1LlopfSl9fSxhND1mdW5jdGlvbihRKXtyZXR1cm4gY3cuY2FsbCh0aGlzLFEsMTQpfSx5Vz1mdW5jdGlvbihRLEssVyxFLGcsYyl7cmV0dXJuIGQoMTU3LChSKEssKEx6KDIxLGZhbHNlLFcsKChjPVMoSyxXKSxXLlJjJiZjPFcuRik\/KFIoSyxXLFcuRiksZHIoUSwwLGcsSywxMDQsVykpOlooVyxLLGcpLEUpKSxXKSxjKSxXKSl9LGlHPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayxtKXt3aGlsZSghKCFbdW5kZWZpbmVkXSE9MCk9PSEiIilpZihtPUVbMF0se30pYnJlYWs7c3dpdGNoKCEobT09ZlMpKXtjYXNlIE5hTiE9PU5hTjppZihtPT1Qdyl7Yj1FWzFdO3RyeXtjPVcuWnx8Vy5XKEUpfWNhdGNoKEQpe0woMjA0OCw2OSxELFcpLGM9Vy5afShwPVcuTCgpLGIpKGMpLFcubys9Vy5MKCktcH1lbHNlIHN3aXRjaCghKG09PVFiKSl7Y2FzZSAhW3VuZGVmaW5lZF09PTA6c3dpdGNoKCEobT09ejgpKXtjYXNlIHRydWU6c3dpdGNoKCEobT09SlIpKXtjYXNlIDA9PSFbdHJ1ZS50cnVlXTpzd2l0Y2goIShtPT14Nikpe2Nhc2UgMD09IVt1bmRlZmluZWRdOi0wIT09MDticmVhaztjYXNlIGZhbHNlOnJldHVybiBrPUVbUV0sUigzNzAsVyxFWzZdKSxaKFcsMTU3LGspLFcuVyhFKTticmVha31tPT1uej8oVy5XKEUpLFcuSWM9W10sVy5WPW51bGwsVy5SYz1bXSk6bT09S3omJmEuZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJsb2FkaW5nIiYmKFcuVD1mdW5jdGlvbihELHEpe2Z1bmN0aW9uIGgobCl7Zm9yKGw9Mzg7bCE9NzA7KWw9PTM4P2w9cT83MDo0MjpsPT00MiYmKHE9dHJ1ZSxhLmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGgsQ1MpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsaCxDUyksRCgpLGw9NzApfShhLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChxPWZhbHNlLGgpLENTKSxhKS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixoLENTKX0pO2JyZWFrO2Nhc2UgZmFsc2U6dHJ5e2ZvcihnPTA7ZzxXLnBJLmxlbmd0aDtnKyspdHJ5e3U9Vy5wSVtnXSx1WzBdW3VbMV1dKHVbUV0pfWNhdGNoKEQpe319Y2F0Y2goRCl7fSgwLEVbMV0pKGZ1bmN0aW9uKEQscSl7Vy5zZihELHRydWUscSl9LGZ1bmN0aW9uKEQpeyh5KDE3LDAsW256XSwoRD0hVy5qLmxlbmd0aCxXKSksRCkmJmN3KGZhbHNlLDMyLHRydWUsZmFsc2UsVyl9LChGPShXLnBJPVtdLFcuTCgpKSxmdW5jdGlvbihEKXtyZXR1cm4gVy55dyhEKX0pLGZ1bmN0aW9uKEQscSxoKXtyZXR1cm4gVy5LOShELHEsaCl9KTt3aGlsZShOdW1iZXIodW5kZWZpbmVkKSE9PU5hTilpZihXLm8rPVcuTCgpLUYsdHJ1ZSlicmVhazticmVha31icmVhaztjYXNlIGZhbHNlOlcuRz10cnVlLFcuVyhFKTticmVha31icmVhaztjYXNlIGZhbHNlOkVbM10mJihXLkc9dHJ1ZSksRVs0XSYmKFcuST10cnVlKSxXLlcoRSk7YnJlYWt9YnJlYWs7Y2FzZSAhWyIiXSE9TnVtYmVyKCk6Vy54VT1LLFcuST10cnVlLFcuVyhFKTticmVha319LGRtPWZ1bmN0aW9uKFEsSyl7cmV0dXJuIE9LLmNhbGwodGhpcyw3OCxRLDgsSyl9LHgsWj1mdW5jdGlvbihRLEssVyl7c3dpdGNoKCEoSz09MzA5fHxLPT0zNDIpKXtjYXNlICEoIVtdPT10cnVlPT1udWxsKT09ISIiOnN3aXRjaCghKFEuRWYmJkshPTIxNCkpe2Nhc2UgMD09IVtdOmZhbHNlO2JyZWFrO2Nhc2UgLTAhPT0wIT1udWxsPT0hW106cmV0dXJuO2JyZWFrfUs9PTIwOXx8Sz09MjUwfHxLPT02N3x8Sz09MjYxfHxLPT0xNTJ8fEs9PTQ4NHx8Sz09NTV8fEs9PTE4Nnx8Sz09MjEzfHxLPT0xMTc\/US5WW0tdfHwoUS5WW0tdPVUoMjcsMzMsSyxRLDExOCxXKSk6US5WW0tdPVUoMjcsNjUsSyxRLDE3LFcpO2JyZWFrO2Nhc2UgZmFsc2U6US5WW0tdP1EuVltLXS5jb25jYXQoVyk6US5WW0tdPVVLKDgxLDcsVyxRKTticmVha31LPT0yMTQmJihRLmk9dDIoZmFsc2UsUSwzMiksUS5LPXZvaWQgMCl9LHJyPWZ1bmN0aW9uKFEsSyl7ZnVuY3Rpb24gVygpe3RoaXMuRzI9dGhpcy52PXRoaXMubj0wfXJldHVybltmdW5jdGlvbihFKXtLLmM0KEUpLFEuYzQoRSl9LChRPShLPShXLnByb3RvdHlwZS5jND0oVy5wcm90b3R5cGUucTk9ZnVuY3Rpb24oKXtyZXR1cm4gdUcuY2FsbCh0aGlzLDY3LDI0KX0sZnVuY3Rpb24oRSxnKXtyZXR1cm4gcHouY2FsbCh0aGlzLDMwLEUsNixnKX0pLG5ldyBXKSxuZXcgVyksZnVuY3Rpb24oRSl7cmV0dXJuIFE9KEU9W0sucTkoKSxRLnE5KCksSy52LFEudl0sbmV3IFcpLEV9KV19LFVjPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayxtLEQpe3N3aXRjaCghKCFXLkVmJiYoYz12b2lkIDAsRSYmRVswXT09PVQ4JiYoYz1FWzJdLEs9RVsxXSxFPXZvaWQgMCksZz1kKDE1MixXKSxnLmxlbmd0aD09MCYmKGs9ZCgzNDIsVyk+PjMsZy5wdXNoKEssaz4+OCYyNTUsayYyNTUpLGMhPXZvaWQgMCYmZy5wdXNoKChjfDI1NSktfihjJjI1NSkrfihjfDI1NSkpKSxiPVEsRSYmKEUubWVzc2FnZSYmKGIrPUUubWVzc2FnZSksRS5zdGFjayYmKGIrPSI6IitFLnN0YWNrKSksdT1yKDExNyxXKSx1WzBdPjMpKSl7Y2FzZSBOYU4hPT1OYU46MDticmVhaztjYXNlIGZhbHNlOlcuaD0oRj0oYj0odVswXS09KG09KGI9Yi5zbGljZSgwLCh1WzBdfDApLTMpLGIubGVuZ3RoKSwyKihtfDMpLShtJi00KS0ofm0mMykpLFh0KDIsYikpLFcuaCksVyk7dHJ5e1cuTlE\/KHA9KHA9cig0ODQsVykpJiZwW3AubGVuZ3RoLTFdfHw5NSwoRD1TKDU1LFcpKSYmRFtELmxlbmd0aC0xXT09cHx8TUUoMixXLFstfihwJjI1NSktIC0xKzIqKH5wJjI1NSkrMioocHwtMjU2KV0sNTUpKTpIKFcsWzk1XSw0ODQpLEgoVyx2KDIsYi5sZW5ndGgpLmNvbmNhdChiKSwyNTAsNTEpfWZpbmFsbHl7Vy5oPUZ9YnJlYWt9fSxDej1mdW5jdGlvbihRLEspe3JldHVybiBscy5jYWxsKHRoaXMsOSxLLFEpfSxUej10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKFEsSyxXLEUpe2ZvcihFPTk4O0UhPTQ7KXtpZihFPT02NClyZXR1cm4gUVtLXT1XLnZhbHVlLFE7aWYoRT09MzQpcmV0dXJuIFE7RT09OTgmJihFPVE9PUFycmF5LnByb3RvdHlwZXx8UT09T2JqZWN0LnByb3RvdHlwZT8zNDo2NCl9fSxTWD1mdW5jdGlvbihRLEssVyxFLGcpe3JldHVybiBwei5jYWxsKHRoaXMsMzAsZywzMixLLEUsVyxRKX0sWlY9ZnVuY3Rpb24oUSl7cmV0dXJuIERWLmNhbGwodGhpcywzLFEpfSxlWD1mdW5jdGlvbigpe3JldHVybiBFSy5jYWxsKHRoaXMsNil9LFJYPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayxtLEQscSxoLGwpeyhLLnB1c2goKGs9KGw9KGI9UVswXTw8MjQscD1RWzFdPDwxNiwtfmIrKGJecCkrKH5ifHApKSxEPVFbMl08PDgsLX4obCZEKS0xKyhsXkQpKSxXPVFbM10sKFd8MCkrflctfihrfFcpKSksSykucHVzaCgocT0obT1RWzRdPDwyNHxRWzVdPDwxNixnPVFbNl08PDgsMioobXwwKS0gLTErMip+bS1+KG18ZykpLGM9UVs3XSwocXwwKS0ocSZ+YykrKHFeYykpKSxLLnB1c2goKHU9KEY9UVs4XTw8MjQsRT1RWzldPDwxNiwtKEYmRSktMS0yKn4oRnxFKSsofkZeRSkpLGg9UVsxMF08PDgsLX5oLSh+dV5oKSsofnUmaCkrMioodXx+aCkpfFFbMTFdKX0scj1mdW5jdGlvbihRLEssVyl7aWYoVz1LLlZbUV0sVz09PXZvaWQgMCl0aHJvd1tUOCwzMCxRXTtpZihXLnZhbHVlKXJldHVybiBXLmNyZWF0ZSgpO3JldHVybihXLmNyZWF0ZShRKjIqUSs3OCpRKy04OSksVykucHJvdG90eXBlfSxpcz1mdW5jdGlvbihRLEspe2Z1bmN0aW9uIFcoKXt0aGlzLm49KHRoaXMuQT1bXSwwKX1yZXR1cm5bZnVuY3Rpb24oRSl7KEsuVWYoRSksUSkuVWYoRSl9LChRPShLPSgoVy5wcm90b3R5cGUuVWY9ZnVuY3Rpb24oRSxnKXtyZXR1cm4gcHouY2FsbCh0aGlzLDMwLEUsNyxnKX0sVy5wcm90b3R5cGUpLkw5PWZ1bmN0aW9uKCl7cmV0dXJuIEouY2FsbCh0aGlzLDE2KX0sbmV3IFcpLG5ldyBXKSxmdW5jdGlvbihFKXtyZXR1cm4gRT1LLkw5KCkuY29uY2F0KFEuTDkoKSksUT1uZXcgVyxFfSldfSxxRT1mdW5jdGlvbigpe3JldHVybiBtQS5jYWxsKHRoaXMsNDYpfSxORT1mdW5jdGlvbihRLEssVyxFLGcsYyx1KXtXPS1+KFEmMykrKFEmLTQpKyh+UXwzKTt3aGlsZSh0cnVlKWlmKGc9USY0LHRydWUpYnJlYWs7KGM9KHU9WCgxMiwoRT1YKDQ1LEspLEspKSxTKEUsSykpLGcmJihjPVh0KDIsIiIrYykpLFcmJk1FKDIsSyx2KDIsYy5sZW5ndGgpLHUpLEgpKEssYyx1KX0sTUU9ZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwLGIsRil7aWYoSy5oPT1LKXt7cD1yKEUsSyksRT09MjUwfHxFPT0yMTN8fEU9PTI2MT8oRj1mdW5jdGlvbihrLG0sRCxxLGgsbCxWLHcsQixBKXtmb3IoQj0odz0zNCwzMik7Oyl0cnl7aWYodz09NDEpYnJlYWs7ZWxzZSBpZih3PT04KUI9MjQscC5vYz14TCgxNixYKDQ4LDE2LHAsbSksRCwyNTUsWCg1MCwxNixwLC0zKn4obSY0KSstMit+KG18NCkrUSoobV40KSkpLHc9MTY7ZWxzZSBpZih3PT0xNilwLnB1c2goKHE9cC5vY1toJjddLChxJmspK34ocSZrKSsocSZ+ayktKHF8fmspKSksdz00MTtlbHNle2lmKHc9PTU0KXRocm93IEI9MzIsQTt3PT03ND93PXAuQjQhPVY\/Njc6MTY6dz09Njc\/KHAuQjQ9VixtPShsPVY8PDMsKGx8NCkrfihsJjQpLTMqKH5sJjQpLShsfC01KSksRD1bMCwwLGNbMV0sY1tRXV0sdz04KTp3PT0zNCYmKGg9cC5sZW5ndGgsVj0oaHwwKS00Pj4zLHc9NzQpfX1jYXRjaChJKXtpZihCPT0zMil0aHJvdyBJO0I9PTI0JiYoQT1JLHc9NTQpfX0sYz1yKDE4NixLKSk6Rj1mdW5jdGlvbihrKXtwLnB1c2goayl9LGcmJkYoZyYyNTUpLHU9Vy5sZW5ndGgsYj0wO3doaWxlKGI8dSlGKFdbYl0pLGIrK319fSx4TD1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHApe2Zvcih1PShjPVdbM118KHA9MCwwKSxXWzJdfDApO3A8MTU7cCsrKWc9Zz4+Pjh8Zzw8MjQsZys9S3wwLGM9Yz4+Pjh8Yzw8MjQsYys9dXwwLEs9Szw8M3xLPj4+MjksY149cCsxNTY0LGdePXUrMTU2NCx1PXU8PDN8dT4+PjI5LHVePWMsS149ZztyZXR1cm5bSz4+PjI0JkUsSz4+PlEmRSxLPj4+OCZFLEs+Pj4wJkUsZz4+PjI0JkUsZz4+PlEmRSxnPj4+OCZFLGc+Pj4wJkVdfSxjbj1mdW5jdGlvbihRKXtyZXR1cm4gei5jYWxsKHRoaXMsUSwxOSl9LFphPWZ1bmN0aW9uKFEsSyxXKXtyZXR1cm4gTlYuY2FsbCh0aGlzLDAsMjAsUSxLLFcpfSxMej1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYil7aWYoIVcuWil7Vy53RysrO3RyeXtmb3IoYj0ocD1XLkYsdm9pZCAwKSxjPTA7LS1FOyl0cnl7aWYodT12b2lkIDAsVy5QKWI9R3ooVyxXLlApO2Vsc2V7aWYoKGM9ZCgzMDksVyksYyk+PXApYnJlYWs7Yj1TKCh1PShaKFcsMzQyLGMpLFUoVywyNCkpLHUpLFcpfUVLKDM0LDMwOSxLLEssKGImJihnPWJbbnpdLDIwNDkrKGcmLTIwNDkpKyh+Z14yMDQ4KSk\/YihXLEUpOlVjKCIiLDAsVyxbVDgsMjEsdV0pLEUpLFcpfWNhdGNoKEYpe1MoNTAyLFcpP1VjKCIiLDIyLFcsRik6Uig1MDIsVyxGKX1zd2l0Y2goISFFKXtjYXNlICEhW106dHJ1ZTticmVhaztjYXNlIGZhbHNlOmlmKFcudG0pe0x6KDIxLChXLndHLS0sZmFsc2UpLFcsMjY0MzYzMzg1MjkzKTtyZXR1cm59VWMoIiIsMCxXLFtUOCwzM10pO2JyZWFrfX1jYXRjaChGKXt0cnl7VWMoIiIsMjIsVyxGKX1jYXRjaChrKXtMKDIwNDgsUSxrLFcpfX1XLndHLS19fSxybT1mdW5jdGlvbihRLEssVyl7cmV0dXJuIFcuUD9HeihXLFcudSk6dDIoSyxXLFEpfSx2PWZ1bmN0aW9uKFEsSyxXLEUpe2ZvcihFPShRfDApLTEsVz1bXTtFPj0wO0UtLSlXWyhRXjEpKzIqKH5RXjEpLTIqKH5RfDEpLShFfDApXT1LPj5FKjgmMjU1O3JldHVybiBXfSxGdD1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHApe3JldHVybiBtRC5jYWxsKHRoaXMsNTcsMyxRLEssVyxFLGcsYyx1LHApfSxvND1mdW5jdGlvbihRLEspe3JldHVybiB5LmNhbGwodGhpcywyNixRLEspfSx2dz1mdW5jdGlvbigpe3JldHVybiBLUy5jYWxsKHRoaXMsMjQpfSxIPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiKXtmb3IoTmFOO1EuaD09UTt1bmRlZmluZWQpe3tnPWQoVyxRKSxXPT0yNTB8fFc9PTIxM3x8Vz09MjYxPyhiPWZ1bmN0aW9uKEYsayxtLEQscSxoLGwsVix3LEIpe2ZvcihWPSh3PTM3LDIyKTs7KXRyeXtpZih3PT05NylicmVhaztlbHNlIGlmKHc9PTE1KXc9Zy5CNCE9az81Nzo1NTtlbHNlIGlmKHc9PTU3KWcuQjQ9ayxxPShoPWs8PDMsKGh8NCkrfihoJjQpLTMqKH5oJjQpLShofC01KSksbT1bMCwwLHVbMV0sdVsyXV0sdz0yNztlbHNlIGlmKHc9PTI3KVY9ODgsZy5vYz14TCgxNixYKDUxLDE2LGcscSksbSwyNTUsWCg0OSwxNixnLC0zKn4ocSY0KSstMit+KHF8NCkrMioocV40KSkpLHc9NTU7ZWxzZSBpZih3PT01NSlnLnB1c2goKEQ9Zy5vY1tsJjddLChEJkYpK34oRCZGKSsoRCZ+RiktKER8fkYpKSksdz05NztlbHNlIGlmKHc9PTM3KWw9Zy5sZW5ndGgsaz0obHwwKS00Pj4zLHc9MTU7ZWxzZSBpZih3PT0zMCl0aHJvdyBWPTIyLEI7fWNhdGNoKEEpe2lmKFY9PTIyKXRocm93IEE7Vj09ODgmJihCPUEsdz0zMCl9fSx1PXIoMTg2LFEpKTpiPWZ1bmN0aW9uKEYpe2cucHVzaChGKX0sRSYmYihFJjI1NSkscD0wLGM9Sy5sZW5ndGg7d2hpbGUocDxjKWIoS1twXSkscCsrfWlmKHRydWUpYnJlYWt9fSxBUj1mdW5jdGlvbihRLEssVyxFKXtNRSgyLFEsdihLLChXPVUoUSwyNiksRT1VKFEsMzEpLFMoVyxRKSkpLEUpfSxRdT1mdW5jdGlvbihRLEssVyxFLGcsYyl7cmV0dXJuIERWLmNhbGwodGhpcywxMCxRLEssVyxFLGcsYyl9LEc4PWZ1bmN0aW9uKFEsSyxXLEUsZyl7cmV0dXJuIGxzLmNhbGwodGhpcyw1NyxLLFEsVyxFLGcpfSxFYz1mdW5jdGlvbigpe3JldHVybiBFSy5jYWxsKHRoaXMsNTYpfSxQPWZ1bmN0aW9uKFEsSyxXKXtpZihRPT0zMDl8fFE9PTM0MilLLlZbUV0\/Sy5WW1FdLmNvbmNhdChXKTpLLlZbUV09VUsoODEsOSxXLEspO2Vsc2V7aWYoSy5FZiYmUSE9MjE0KXJldHVybjtRPT0yMDl8fFE9PTI1MHx8UT09Njd8fFE9PTI2MXx8UT09MTUyfHxRPT00ODR8fFE9PTU1fHxRPT0xODZ8fFE9PTIxM3x8UT09MTE3P0suVltRXXx8KEsuVltRXT1VKDI3LDk2LFEsSywxMTgsVykpOksuVltRXT1VKDI3LDY0LFEsSywxNyxXKX1RPT0yMTQmJihLLmk9dDIoZmFsc2UsSywzMiksSy5LPXZvaWQgMCl9LFM9ZnVuY3Rpb24oUSxLLFcpe2lmKChXPUsuVltRXSxXKT09PXZvaWQgMCl0aHJvd1tUOCwzMCxRXTtmb3IoMD09PS0wIT1bXTtXLnZhbHVlO3VuZGVmaW5lZCl7cmV0dXJuIFcuY3JlYXRlKCk7aWYoW10pYnJlYWt9cmV0dXJuIFcuY3JlYXRlKFEqMipRKzc4KlErLTg5KSxXLnByb3RvdHlwZX0sdDI9ZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwLGIsRixrLG0sRCxxLGgsbCl7aWYoZz1TKDMwOSxLKSxnPj1LLkYpdGhyb3dbVDgsMzFdO2ZvcihoPShFPShwPUsub3QubGVuZ3RoLFcpLGcpLEY9MDtFPjA7KWI9aCU4LG09aD4+MyxxPUsuUmNbbV0saz04LShifDApLEQ9azxFP2s6RSxRJiYobD1LLGwuSyE9aD4+NiYmKGwuSz1oPj42LGM9ZCgyMTQsbCksbC5obT14TCgxNixsLmksWzAsMCxjWzFdLGNbMl1dLDI1NSxsLkspKSxxXj1LLmhtW20mcF0pLEZ8PShxPj44LShifDApLShEfDApJigxPDxEKS0xKTw8KEV8MCktKER8MCksRS09RCxoKz1EO3JldHVybiBaKEssMzA5LChnfDApKyhXfCh1PUYsMCkpKSx1fSxvWD1mdW5jdGlvbihRLEssVyl7e1c9Mjt3aGlsZShXIT0yNSlpZihXPT04MilXPTE4O2Vsc2UgaWYoVz09MTgpVz1RLS0\/ODQ6MjI7ZWxzZSBpZihXPT0yNClXPTE4O2Vsc2UgaWYoVz09MilLPVtdLFc9MjQ7ZWxzZSBpZihXPT04NClLLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksVz04MjtlbHNlIGlmKFc9PTIyKXJldHVybiBLfX0sYkc9ZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwKXtyZXR1cm4geWIuY2FsbCh0aGlzLDI1LFEsSyxXLEUsZyxjLHUscCl9LHZuPWZ1bmN0aW9uKFEsSyxXLEUsZyl7c3dpdGNoKCEoUS5sZW5ndGg9PTMpKXtjYXNlIHRydWU6MDticmVhaztjYXNlICEiIiE9ISghW109PXRydWUpOmZvcihnPTA7ZzwzO2crKylLW2ddKz1RW2ddO0U9MDt7Vz1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdO3doaWxlKEU8OSlLWzNdKEssRSUzLFdbRV0pLEUrK31icmVha319LFhVPWZ1bmN0aW9uKFEsSyxXLEUsZyl7Zz10eXBlb2YgSztzd2l0Y2goIShnPT0ib2JqZWN0Iikpe2Nhc2UgMD09KCFbXSE9ZmFsc2UpOmlmKGc9PSJmdW5jdGlvbiImJnR5cGVvZiBLLmNhbGw9PSJ1bmRlZmluZWQiKXJldHVybiJvYmplY3QiO2JyZWFrO2Nhc2UgbnVsbD09KGZhbHNlPT1udWxsKT09MD09IVtdOnN3aXRjaCghSyl7Y2FzZSB0cnVlOnJldHVybiJudWxsIjticmVhaztjYXNlIDAhPSFbdW5kZWZpbmVkXTp3aGlsZShLIGluc3RhbmNlb2YgQXJyYXkpe3JldHVybiBXO2lmKCEhW10pYnJlYWt9aWYoSyBpbnN0YW5jZW9mIE9iamVjdClyZXR1cm4gZztpZihFPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChLKSxFPT0iW29iamVjdCBXaW5kb3ddIilyZXR1cm4ib2JqZWN0Ijt3aGlsZShFPT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgSy5sZW5ndGg9PVEmJnR5cGVvZiBLLnNwbGljZSE9InVuZGVmaW5lZCImJnR5cGVvZiBLLnByb3BlcnR5SXNFbnVtZXJhYmxlIT0idW5kZWZpbmVkIiYmIUsucHJvcGVydHlJc0VudW1lcmFibGUoInNwbGljZSIpKXtyZXR1cm4gVztpZigiaSIpYnJlYWt9aWYoRT09IltvYmplY3QgRnVuY3Rpb25dInx8dHlwZW9mIEsuY2FsbCE9InVuZGVmaW5lZCImJnR5cGVvZiBLLnByb3BlcnR5SXNFbnVtZXJhYmxlIT0idW5kZWZpbmVkIiYmIUsucHJvcGVydHlJc0VudW1lcmFibGUoImNhbGwiKSlyZXR1cm4iZnVuY3Rpb24iO2JyZWFrfWJyZWFrfXJldHVybiBnfSxIbj1mdW5jdGlvbigpe3JldHVybiBtQS5jYWxsKHRoaXMsMyl9LEh3PWZ1bmN0aW9uKCl7cmV0dXJuIHkuY2FsbCh0aGlzLDYpfSx0Uj1mdW5jdGlvbihRLEssVyxFKXt0cnl7RT1RWygoS3wwKSsyKSUzXSxRW0tdPShRW0tdfDApLShRWygoS3wwKSsxKSUzXXwwKS0oRXwwKV4oSz09MT9FPDxXOkU+Pj5XKX1jYXRjaChnKXt0aHJvdyBnO319LFI9ZnVuY3Rpb24oUSxLLFcpe2lmKFE9PTMwOXx8UT09MzQyKUsuVltRXT9LLlZbUV0uY29uY2F0KFcpOksuVltRXT1VSyg4MSw4LFcsSyk7ZWxzZXt3aGlsZShLLkVmJiZRIT0yMTQpe3JldHVybjtpZih7fSlicmVha31RPT0yMDl8fFE9PTI1MHx8UT09Njd8fFE9PTI2MXx8UT09MTUyfHxRPT00ODR8fFE9PTU1fHxRPT0xODZ8fFE9PTIxM3x8UT09MTE3P0suVltRXXx8KEsuVltRXT1VKDI3LDMzLFEsSywxMTgsVykpOksuVltRXT1VKDI3LDk3LFEsSywxNyxXKX1RPT0yMTQmJihLLmk9dDIoZmFsc2UsSywzMiksSy5LPXZvaWQgMCl9LCRMPWZ1bmN0aW9uKFEsSyl7e3ZhciBXPTM1O3doaWxlKFchPTM0KWlmKFc9PTc5KVc9ZzxZTC5sZW5ndGg\/NzE6ODU7ZWxzZSBpZihXPT0xMyl7dmFyIEU9YXJndW1lbnRzW3VdO2ZvcihjIGluIEUpUVtjXT1FW2NdO3ZhciBnPShXPTU4LDApfWVsc2UgaWYoVz09NzEpe3ZhciBjPVlMW2ddO1c9KE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChFLGMpJiYoUVtjXT1FW2NdKSwxNCl9ZWxzZSBpZihXPT0xNClnKyssVz03OTtlbHNlIGlmKFc9PTg1KXUrKyxXPTgyO2Vsc2UgaWYoVz09NjkpVz04MjtlbHNlIGlmKFc9PTU4KVc9Nzk7ZWxzZSBpZihXPT04MilXPXU8YXJndW1lbnRzLmxlbmd0aD8xMzozNDtlbHNlIGlmKFc9PTM1KXZhciB1PShXPTY5LDEpfX0sR3o9ZnVuY3Rpb24oUSxLLFcpe3JldHVybiBXPUsuY3JlYXRlKCkuc2hpZnQoKSxRLlAuY3JlYXRlKCkubGVuZ3RofHxRLnUuY3JlYXRlKCkubGVuZ3RofHwoUS51PXZvaWQgMCxRLlA9dm9pZCAwKSxXfSxJND1SNCgwLDcyLDAsIm9iamVjdCIsIk1hdGgiLHRoaXMpLGE9KG1BKDMzLDAsIi4iLG51bGwsMSwiU3ltYm9sIixmdW5jdGlvbihRLEssVyxFLGcsYyl7e0U9MTc7d2hpbGUoRSE9NjEpaWYoRT09MTcpYz1mdW5jdGlvbih1LHApe1R6KHRoaXMsImRlc2NyaXB0aW9uIiwodGhpcy5nbj11LHtjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlLHZhbHVlOnB9KSl9LGc9ZnVuY3Rpb24odSxwKXtmb3IocD0zNDtwIT04MDspe2lmKHA9PTc3KXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO2lmKHA9PTM0KXA9dGhpcyBpbnN0YW5jZW9mIGc\/Nzc6OTQ7ZWxzZSBpZihwPT05NClyZXR1cm4gbmV3IGMoSysodXx8IiIpKyJfIitXKyssdSl9fSxFPTc4O2Vsc2UgaWYoRT09NzgpRT1RPzEwOjgzO2Vsc2V7aWYoRT09MTApcmV0dXJuIFE7aWYoRT09ODMpcmV0dXJuIGMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ259LEs9ImpzY29tcF9zeW1ib2xfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSsiXyIsVz0wLGd9fX0pLHRoaXN8fHNlbGYpLEoyPSJjbG9zdXJlX3VpZF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApLFduLGokPTAseno9ZnVuY3Rpb24oUSxLLFcsRSxnLGMpe2M9MjU7e2c9Nzk7d2hpbGUodHJ1ZSl0cnl7aWYoYz09NjcpYnJlYWs7ZWxzZSBpZihjPT0yNSljPWEuYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzI5OjM3O2Vsc2UgaWYoYz09NzUpZz03OSxjPTQ4O2Vsc2V7aWYoYz09NDgpcmV0dXJuIGc9NzksUTtpZihjPT03NClnPTE2LEs9ZnVuY3Rpb24oKXt9LGEuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsSyxXKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLEssVyksYz00ODtlbHNle2lmKGM9PTM3KXJldHVybiBmYWxzZTtjPT0yOSYmKFE9ZmFsc2UsVz1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtRPXRydWV9fSksYz03NCl9fX1jYXRjaCh1KXtpZihnPT03OSl0aHJvdyB1O2c9PTE2JiYoRT11LGM9NzUpfX19KCk7KEh3LnByb3RvdHlwZS5PPSgoKG80LnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLkxJPXRydWV9LG80LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD10cnVlfSxIdykucHJvdG90eXBlLmRpc3Bvc2U9KEh3LnByb3RvdHlwZS5OPWZhbHNlLGZ1bmN0aW9uKFEpe3tRPTkyO3doaWxlKFEhPTQ5KVE9PTkyP1E9dGhpcy5OPzQ5OjE0OlE9PTE0JiYodGhpcy5OPXRydWUsdGhpcy5PKCksUT00OSl9fSksSHcucHJvdG90eXBlKVtTeW1ib2wuZGlzcG9zZV09ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX0sZnVuY3Rpb24oUSl7e1E9NDk7d2hpbGUoUSE9NzkpUT09NDk\/UT10aGlzLk1RPzUyOjc5OlE9PTUyP1E9Nzc6UT09Nz9RPTc3OlE9PTE3Pyh0aGlzLk1RLnNoaWZ0KCkoKSxRPTcpOlE9PTc3JiYoUT10aGlzLk1RLmxlbmd0aD8xNzo3OSl9fSksRlUpKGRtLDIsMjcsbzQpLGRtLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKFEsSyxXLEUsZyxjKXtmb3IoYz0xNDtjIT0yODspYz09NjQ\/KHRoaXMuYnV0dG9uPVEuYnV0dG9uLHRoaXMua2V5Q29kZT1RLmtleUNvZGV8fDAsdGhpcy5rZXk9US5rZXl8fCIiLHRoaXMuY2hhckNvZGU9US5jaGFyQ29kZXx8KEU9PSJrZXlwcmVzcyI\/US5rZXlDb2RlOjApLHRoaXMuY3RybEtleT1RLmN0cmxLZXksdGhpcy5hbHRLZXk9US5hbHRLZXksdGhpcy5zaGlmdEtleT1RLnNoaWZ0S2V5LHRoaXMubWV0YUtleT1RLm1ldGFLZXksdGhpcy5wb2ludGVySWQ9US5wb2ludGVySWR8fDAsdGhpcy5wb2ludGVyVHlwZT1RLnBvaW50ZXJUeXBlLHRoaXMuc3RhdGU9US5zdGF0ZSx0aGlzLnRpbWVTdGFtcD1RLnRpbWVTdGFtcCx0aGlzLlU9USxRLmRlZmF1bHRQcmV2ZW50ZWQmJmRtLlIucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxjPTI4KTpjPT0zMT8odGhpcy5yZWxhdGVkVGFyZ2V0PWcsYz02MSk6Yz09NDc\/Yz1FPT0ibW91c2VvdmVyIj8zMjo0OmM9PTMyPyhnPVEuZnJvbUVsZW1lbnQsYz0zMSk6Yz09OTY\/KHRoaXMuY2xpZW50WD1XLmNsaWVudFghPT12b2lkIDA\/Vy5jbGllbnRYOlcucGFnZVgsdGhpcy5jbGllbnRZPVcuY2xpZW50WSE9PXZvaWQgMD9XLmNsaWVudFk6Vy5wYWdlWSx0aGlzLnNjcmVlblg9Vy5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1XLnNjcmVlbll8fDAsYz02NCk6Yz09MTQ\/KEU9dGhpcy50eXBlPVEudHlwZSxXPVEuY2hhbmdlZFRvdWNoZXMmJlEuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP1EuY2hhbmdlZFRvdWNoZXNbMF06bnVsbCx0aGlzLnRhcmdldD1RLnRhcmdldHx8US5zcmNFbGVtZW50LHRoaXMuY3VycmVudFRhcmdldD1LLGc9US5yZWxhdGVkVGFyZ2V0LGM9NjUpOmM9PTc0Pyh0aGlzLm9mZnNldFg9US5vZmZzZXRYLHRoaXMub2Zmc2V0WT1RLm9mZnNldFksdGhpcy5jbGllbnRYPVEuY2xpZW50WCE9PXZvaWQgMD9RLmNsaWVudFg6US5wYWdlWCx0aGlzLmNsaWVudFk9US5jbGllbnRZIT09dm9pZCAwP1EuY2xpZW50WTpRLnBhZ2VZLHRoaXMuc2NyZWVuWD1RLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPVEuc2NyZWVuWXx8MCxjPTY0KTpjPT02MT9jPVc\/OTY6NzQ6Yz09Njk\/KGc9US50b0VsZW1lbnQsYz0zMSk6Yz09NjU\/Yz1nPzMxOjQ3OmM9PTQmJihjPUU9PSJtb3VzZW91dCI\/Njk6MzEpfSxkbS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7ZG0uUi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLlUuc3RvcFByb3BhZ2F0aW9uP3RoaXMuVS5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLlUuY2FuY2VsQnViYmxlPXRydWV9O3doaWxlKCFudWxsKWlmKGRtLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbihRKXsoZG0uUi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpLFE9dGhpcy5VLFEpLnByZXZlbnREZWZhdWx0P1EucHJldmVudERlZmF1bHQoKTpRLnJldHVyblZhbHVlPWZhbHNlfSx7fSlicmVhazt2YXIgQnc9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKSxncj0wLFlMPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIiksVmI9ImNsb3N1cmVfbG1fIisoKChhNC5wcm90b3R5cGUuYWRkPShhNC5wcm90b3R5cGUucmVtb3ZlPShhNC5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oUSxLLFcsRSxnKXtyZXR1cm4geih0cnVlLDksZmFsc2UsZnVuY3Rpb24oYyx1LHApe2ZvcihwPTc1O3AhPTQ5OylpZihwPT03NSl1PTAscD0yMztlbHNle2lmKHA9PTgwKXJldHVybiB0cnVlO2lmKHA9PTc2KXA9ZyYmY1t1XS50eXBlIT1FfHxXJiZjW3VdLmNhcHR1cmUhPUs\/NDU6ODA7ZWxzZXtpZihwPT0yNClyZXR1cm4gZmFsc2U7cD09NTQ\/cD11PGMubGVuZ3RoPzc2OjI0OnA9PTIzP3A9NTQ6cD09NDUmJigrK3UscD01NCl9fX0sKFc9SyE9PXZvaWQgMCxFPShnPVEhPT12b2lkIDApP1EudG9TdHJpbmcoKToiIix0aGlzLkQpKX0sZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwKXtmb3IocD0xMTtwIT03Nzspe2lmKHA9PTE4KXJldHVybiBmYWxzZTtpZihwPT00NylwPWc+LTE\/OTE6MTg7ZWxzZSBpZihwPT0yNClkZWxldGUgdGhpcy5EW3VdLHRoaXMuQ0ktLSxwPTM3O2Vsc2UgaWYocD09NzYpYz10aGlzLkRbdV0sZz0kNig4MCxFLDksMCxLLGMsVykscD00NztlbHNlIGlmKHA9PTkpcD11IGluIHRoaXMuRD83Njo1NjtlbHNlIGlmKHA9PTExKXU9US50b1N0cmluZygpLHA9OTtlbHNle2lmKHA9PTM3KXJldHVybiB0cnVlO2lmKHA9PTkxKXoobnVsbCw1LGNbZ10pLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChjLGcsMSkscD02NTtlbHNle2lmKHA9PTU2KXJldHVybiBmYWxzZTtwPT02NSYmKHA9Yy5sZW5ndGg9PTA\/MjQ6MzcpfX19fSksZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwLGIsRil7Zm9yKEY9NTM7RiE9NjA7KWlmKEY9PTU2KUY9Vz82ODozNjtlbHNlIGlmKEY9PTM2KWMua1U9ZmFsc2UsRj02ODtlbHNlIGlmKEY9PTMxKXU9JDYoODAsZyw4LDAsSyxwLEUpLEY9NTtlbHNlIGlmKEY9PTUwKUY9cD8zMTozMztlbHNlIGlmKEY9PTE5KWM9cFt1XSxGPTU2O2Vsc2UgaWYoRj09MzMpcD10aGlzLkRbYl09W10sdGhpcy5DSSsrLEY9MzE7ZWxzZSBpZihGPT01KUY9dT4tMT8xOToyNTtlbHNlIGlmKEY9PTI1KWM9bmV3IFNYKCEhRSxnLHRoaXMuc3JjLGIsSyksYy5rVT1XLHAucHVzaChjKSxGPTY4O2Vsc2V7aWYoRj09NjgpcmV0dXJuIGM7Rj09NTMmJihiPVEudG9TdHJpbmcoKSxwPXRoaXMuRFtiXSxGPTUwKX19KSxhNCkucHJvdG90eXBlLkphPWZ1bmN0aW9uKFEsSyxXLEUsZyxjKXtyZXR1cm4oZz0tKGM9dGhpcy5EW1cudG9TdHJpbmcoKV0sMSksYyYmKGc9JDYoODAsSywzLDAsRSxjLFEpKSxnKT4tMT9jW2ddOm51bGx9LE1hdGgpLnJhbmRvbSgpKjFFNnwwKSxEYT17fSxxVj0wLFMkPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7KCgoeD0oKEZVKHZ3LDIsMjYsSHcpLHZ3LnByb3RvdHlwZSlbQnddPXRydWUsdncucHJvdG90eXBlKSx4KS5tSD1mdW5jdGlvbihRKXt0aGlzLlNKPVF9LHgpLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oUSxLLFcsRSl7TVYoMzIsZmFsc2UsMCwzLFEsdGhpcyxLLEUsVyl9LHgucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihRLEssVyxFKXt5Yig4MSwwLG51bGwsSyxXLHRoaXMsUSxFKX0seC5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCxiLEYsayxtKXtmb3IobT04NzttIT0xOTspaWYobT09NzgpRj1uZXcgbzQoRixjKSxtPTY0O2Vsc2UgaWYobT09OTUpbT0hRi5MSSYmYjxrLmxlbmd0aD81OTo1MDtlbHNlIGlmKG09PTg3KUs9dGhpcy5TSixtPTcxO2Vsc2UgaWYobT09MTIpbT1rPzExOjU2O2Vsc2UgaWYobT09NilnPUYuY3VycmVudFRhcmdldD1jLEU9TChudWxsLDQ3LGcscCxGLHRydWUpJiZFLEYuTEl8fChFPUwobnVsbCw3OSxnLHAsRixmYWxzZSkmJkUpLG09Mjg7ZWxzZSBpZihtPT0xMSliPWsubGVuZ3RoLTEsbT00NTtlbHNlIGlmKG09PTMyKWItLSxtPTYwO2Vsc2UgaWYobT09NzQpSz1LLlNKLG09NTE7ZWxzZSBpZihtPT02NClFPXRydWUsbT0xMjtlbHNlIGlmKG09PTQ3KWc9Ri5jdXJyZW50VGFyZ2V0PWtbYl0sRT1MKG51bGwsMTUsZyxwLEYsdHJ1ZSkmJkUsbT0zMjtlbHNlIGlmKG09PTIzKXU9W10sbT04OTtlbHNlIGlmKG09PTc5KWs9dSxjPXRoaXMuRWUsRj1RLHA9Ri50eXBlfHxGLG09ODM7ZWxzZSBpZihtPT05MClXPUYsRj1uZXcgbzQocCxjKSwkTChGLFcpLG09NjQ7ZWxzZSBpZihtPT02MCltPSFGLkxJJiZiPj0wPzQ3OjU2O2Vsc2UgaWYobT09NTkpZz1GLmN1cnJlbnRUYXJnZXQ9a1tiXSxFPUwobnVsbCwzMSxnLHAsRixmYWxzZSkmJkUsbT0yMjtlbHNlIGlmKG09PTIyKWIrKyxtPTk1O2Vsc2UgaWYobT09MzQpbT05NTtlbHNlIGlmKG09PTMwKWI9MCxtPTM0O2Vsc2UgaWYobT09NTYpbT1GLkxJPzI4OjY7ZWxzZSBpZihtPT0yOCltPWs\/MzA6NTA7ZWxzZXtpZihtPT01MClyZXR1cm4gRTttPT01MT9tPUs\/MTM6Nzk6bT09NDY\/bT1GIGluc3RhbmNlb2YgbzQ\/Mjc6OTA6bT09Mjc\/KEYudGFyZ2V0PUYudGFyZ2V0fHxjLG09NjQpOm09PTcxP209Sz8yMzo3OTptPT0xMz8odS5wdXNoKEspLG09NzQpOm09PTgzP209dHlwZW9mIEY9PT0ic3RyaW5nIj83ODo0NjptPT04OT9tPTUxOm09PTQ1JiYobT02MCl9fSx4Lk89ZnVuY3Rpb24oKXt0aGlzLlNKPSgodncuUi5PLmNhbGwodGhpcyksdGhpcy5DKSYmRFYoODUsbnVsbCwwLHRoaXMuQyksbnVsbCl9LHgpLkphPWZ1bmN0aW9uKFEsSyxXLEUpe3JldHVybiB0aGlzLkMuSmEoUSxLLFN0cmluZyhXKSxFKX0seC5oYXNMaXN0ZW5lcj1mdW5jdGlvbihRLEspe3JldHVybiB0aGlzLkMuaGFzTGlzdGVuZXIoUSE9PXZvaWQgMD9TdHJpbmcoUSk6dm9pZCAwLEspfTt2YXIgd207KCh4PShGVShjbiwyLChSNCgwLCgoKCgoKCh4PSgiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLEVjKS5wcm90b3R5cGUseCkuSj1mdW5jdGlvbihRKXtyZXR1cm4gdHlwZW9mIFE9PT0ic3RyaW5nIj90aGlzLmloLmdldEVsZW1lbnRCeUlkKFEpOlF9LHgpLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKFEsSyl7cmV0dXJuKEt8fHRoaXMuaWgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhRKSl9LHgpLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oUSxLLFcpe3JldHVybihXPShLPVN0cmluZyhRKSx0aGlzLmloKSxXLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihLPUsudG9Mb3dlckNhc2UoKSksVykuY3JlYXRlRWxlbWVudChLKX0seC5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihRKXtyZXR1cm4gdGhpcy5paC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoUSkpfSx4LmFwcGVuZENoaWxkPWZ1bmN0aW9uKFEsSyl7US5hcHBlbmRDaGlsZChLKX0seCkuYXBwZW5kPWZ1bmN0aW9uKFEsSyl7d2hpbGUodHJ1ZSlpZihEVig4LGZhbHNlLG51bGwsInN0cmluZyIsIm51bWJlciIsYXJndW1lbnRzLFEsUS5ub2RlVHlwZT09OT9ROlEub3duZXJEb2N1bWVudHx8US5kb2N1bWVudCkse30pYnJlYWt9LHgpLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihRLEspe2ZvcihLPTYzO0shPTIzOyl7aWYoSz09ODgpcmV0dXJuIGZhbHNlO2lmKEs9PTYzKUs9US5ub2RlVHlwZSE9MT84ODo3ODtlbHNlIGlmKEs9PTc4KXtzd2l0Y2goUS50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfX19LHgpLnJlbW92ZU5vZGU9SVgseC5jb250YWlucz1mdW5jdGlvbihRLEssVyl7Zm9yKFc9MzU7VyE9NjY7KWlmKFc9PTUwKVc9SyYmUSE9Sz81Mjo2O2Vsc2UgaWYoVz09MjUpVz10eXBlb2YgUS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiE9InVuZGVmaW5lZCI\/MzY6MTA7ZWxzZSBpZihXPT05NClXPTUwO2Vsc2V7aWYoVz09MzYpcmV0dXJuIFE9PUt8fCEhKFEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oSykmMTYpO2lmKFc9PTc4KXJldHVybiBRPT1LfHxRLmNvbnRhaW5zKEspO2lmKFc9PTI0KVc9US5jb250YWlucyYmSy5ub2RlVHlwZT09MT83ODoyNTtlbHNlIGlmKFc9PTEwKVc9NTA7ZWxzZXtpZihXPT04NilyZXR1cm4gZmFsc2U7aWYoVz09NTIpSz1LLnBhcmVudE5vZGUsVz05NDtlbHNle2lmKFc9PTYpcmV0dXJuIEs9PVE7Vz09MzUmJihXPVEmJks\/MjQ6ODYpfX19fSwyMiksSG4pLEhuLnByb3RvdHlwZS5TUD0iIixIbi5wcm90b3R5cGUuSEg9MCwyOCksdncpLGNuLnByb3RvdHlwZSkseC5NOT1Ibi5kRygpLHguSj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkJ9LHgpLmdldFBhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkRSfSx4Lm1IPWZ1bmN0aW9uKFEsSyl7e0s9NzU7d2hpbGUoSyE9NTcpaWYoSz09NzUpSz10aGlzLkRSJiZ0aGlzLkRSIT1RPzEzOjU7ZWxzZSBpZihLPT01KWNuLlIubUguY2FsbCh0aGlzLFEpLEs9NTc7ZWxzZSBpZihLPT0xMyl0aHJvdyBFcnJvcigiTWV0aG9kIG5vdCBzdXBwb3J0ZWQiKTt9fSx4KS5Wdz1mdW5jdGlvbigpeyhscyg4MSxmdW5jdGlvbihRKXtRLnY0JiZRLlZ3KCl9LHRoaXMpLHRoaXMpLmhhJiZEVig4NCxudWxsLDAsdGhpcy5oYSksdGhpcy52ND1mYWxzZX0seC5PPWZ1bmN0aW9uKFEpe2ZvcihRPTgwO1EhPTI5OylRPT02MD9RPXRoaXMuaGE\/MTk6Mjc6UT09ODA\/KHRoaXMudjQmJnRoaXMuVncoKSxRPTYwKTpRPT0xOT8odGhpcy5oYS5kaXNwb3NlKCksZGVsZXRlIHRoaXMuaGEsUT0yNyk6UT09MjcmJihscyg4MCxmdW5jdGlvbihLKXtLLmRpc3Bvc2UoKX0sdGhpcyksIXRoaXMuV0gmJnRoaXMuQiYmSVgodGhpcy5CKSx0aGlzLkI9dGhpcy5LST10aGlzLmdHPXRoaXMuRFI9bnVsbCxjbi5SLk8uY2FsbCh0aGlzKSxRPTI5KX0seC5yZW1vdmVDaGlsZD1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYixGLGssbSxEKXt7RD0zMDt3aGlsZShEIT05NSlpZihEPT0zOCliPVEsRD04MTtlbHNlIGlmKEQ9PTgwKUQ9KG09US5RYyk\/NzU6ODg7ZWxzZSBpZihEPT04OClFPVEuTTksYz1RLEY9RS5TUCsiOiIrKEUuSEgrKykudG9TdHJpbmcoMzYpLG09Yy5RYz1GLEQ9NzU7ZWxzZSBpZihEPT00MClnPW51bGwsRD03MztlbHNlIGlmKEQ9PTI2KVc9dGhpcy5nRyxnPShXIT09bnVsbCYmayBpbiBXP1dba106dm9pZCAwKXx8bnVsbCxEPTczO2Vsc2UgaWYoRD09NTcpdS5EUj1udWxsLGNuLlIubUguY2FsbCh1LG51bGwpLEQ9NTQ7ZWxzZSBpZihEPT01NClEPVE\/Mjo0OTtlbHNlIGlmKEQ9PTczKVE9ZyxEPTMzO2Vsc2V7aWYoRD09MilyZXR1cm4gUTtpZihEPT0yMSlEPUs\/MTE6MzU7ZWxzZSBpZihEPT0zMylEPWsmJlE\/NDM6NTQ7ZWxzZSBpZihEPT00MylwPXRoaXMuZ0csayBpbiBwJiZkZWxldGUgcFtrXSxKKDIyLDEsdGhpcy5LSSxRKSxEPTIxO2Vsc2V7aWYoRD09MzYpdGhyb3cgRXJyb3IoIlVuYWJsZSB0byBzZXQgcGFyZW50IGNvbXBvbmVudCIpO2lmKEQ9PTUyKUQ9dGhpcy5nRyYmaz8yNjo0MDtlbHNle2lmKEQ9PTQ5KXRocm93IEVycm9yKCJDaGlsZCBpcyBub3QgaW4gcGFyZW50IGNvbXBvbmVudCIpO0Q9PTQ4P0Q9dT09bnVsbD8zNjo1NzpEPT05OT9EPXR5cGVvZiBRPT09InN0cmluZyI\/Mzg6ODA6RD09MzA\/RD1RPzk5OjU0OkQ9PTM1Pyh1PVEsRD00OCk6RD09ODE\/KGs9YixEPTUyKTpEPT03NT8oYj1tLEQ9ODEpOkQ9PTExJiYoUS5WdygpLFEuQiYmSVgoUS5CKSxEPTM1KX19fX19O3ZhciBXNixFRj17YnV0dG9uOiJwcmVzc2VkIixjaGVja2JveDoiY2hlY2tlZCIsbWVudWl0ZW06InNlbGVjdGVkIixtZW51aXRlbWNoZWNrYm94OihSNCgwLDI0LE9jKSwiY2hlY2tlZCIpLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSx1cz0oUjQoMCwyMywoRlUoZVgsMiwoKCgoeD1PYy5wcm90b3R5cGUseCkuWD1mdW5jdGlvbihRLEssVyxFLGcsYyx1KXt7dT05Mzt3aGlsZSh1IT0xMil1PT0zMz8oZz10aGlzLlJ0KCksZy5yZXBsYWNlKC9cXHhhMHxcXHMvZywiICIpLHRoaXMuVmM9ezE6ZysiLWRpc2FibGVkIiwyOmcrIi1ob3ZlciIsNDpnKyItYWN0aXZlIiw4OmcrIi1zZWxlY3RlZCIsMTY6ZysiLWNoZWNrZWQiLDMyOmcrIi1mb2N1c2VkIiw2NDpnKyItb3BlbiJ9LHU9MTMpOnU9PTcxP3U9dGhpcy5WYz8xMzozMzp1PT03MD91PUU\/NzE6MTI6dT09OTM\/KEU9US5KKCksdT03MCk6dT09MTMmJigoYz10aGlzLlZjW0tdKSYmdGhpcy5qSihjLFEsVyksdGhpcy5GVihFLEssVyksdT0xMil9fSx4KS5SdD1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifSx4LkZWPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCl7KChwPShjPShXNnx8KFc2PXsxOiJkaXNhYmxlZCIsODoic2VsZWN0ZWQiLDE2OiJjaGVja2VkIiw2NDoiZXhwYW5kZWQifSksVzZbS10pLFEpLmdldEF0dHJpYnV0ZSgicm9sZSIpfHxudWxsKT8odT1FRltwXXx8YyxnPWM9PSJjaGVja2VkInx8Yz09InNlbGVjdGVkIj91OmMpOmc9YyxFPWcpJiZBMig2NCwzLCJub25lIixRLGZhbHNlLFcsRSl9LHgpLlc0PWZ1bmN0aW9uKFEpe3JldHVybiBRLkooKX0seC5qSj1mdW5jdGlvbihRLEssVyxFKXsoRT1LLko\/Sy5KKCk6SykmJihXP0c4OkN6KShFLFtRXSl9LHguQWE9ZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSxwLGIpe2ZvcihiPSh1PTI2LDkyKTs7KXRyeXtpZih1PT00MClicmVhaztlbHNlIHU9PTM5PyhnLnRhYkluZGV4PTAsdT00MCk6dT09Njk\/dT15YigzNCxRLDMyKT83Nzo0OTp1PT0xND8oYj00OSxjLmJsdXIoKSx1PTMzKTp1PT03NT8oZy50YWJJbmRleD0tMSxnLnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSx1PTQwKTp1PT03Nz8oUS5mSSY0JiZRLlF3JjQmJlEuc2V0QWN0aXZlKGZhbHNlKSxRLmZJJjMyJiZRLlF3JjMyJiZscygyNCwzMiwxNixmYWxzZSxRKSYmUS5YKDMyLGZhbHNlKSx1PTQ5KTp1PT00Nj8oZz1jLHU9MTgpOnU9PTE4P3U9Sz8zOTo3NTp1PT0yMz91PSFLJiZ5YigzMixRLDMyKT8xNDo0OTp1PT00OT91PShXPWMuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpKT85MToxOTp1PT0xOT91PVchPUs\/NDY6NDA6dT09MzM\/KGI9OTIsdT02OSk6dT09OTE\/KEU9Yy50YWJJbmRleCxXPXR5cGVvZiBFPT09Im51bWJlciImJkU+PTAmJkU8MzI3NjgsdT0xOSk6dT09MjY\/dT1RLlF3JjMyJiYoYz1RLlc0KCkpPzIzOjQwOnU9PTYyJiYoYj05Mix1PTMzKX1jYXRjaChGKXtpZihiPT05Mil0aHJvdyBGO2I9PTQ5JiYocD1GLHU9NjIpfX0sMjQpLE9jKSxlWCkpLHt9KTsoZVgucHJvdG90eXBlLlJ0PWZ1bmN0aW9uKCl7cmV0dXJuImdvb2ctYnV0dG9uIn0sZVgpLnByb3RvdHlwZS5GVj1mdW5jdGlvbihRLEssVyl7c3dpdGNoKEspe2Nhc2UgODpjYXNlIDE2OkEyKDY0LDUsIm5vbmUiLFEsZmFsc2UsVywicHJlc3NlZCIpO2JyZWFrO2RlZmF1bHQ6Y2FzZSA2NDpjYXNlIDE6ZVguUi5GVi5jYWxsKHRoaXMsUSxLLFcpfX07d2hpbGUoe30paWYoISEoRlUoRnQsMiwzMCxjbiksW10pKWJyZWFrOygoKCgoKCh4PUZ0LnByb3RvdHlwZSx4LkJIPXRydWUseC5nPW51bGwseC5XND1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguVzQodGhpcyl9LHgpLlF3PTM5LHgpLk89ZnVuY3Rpb24oUSl7e1E9Nzc7d2hpbGUoUSE9MTgpUT09NTk\/UT10aGlzLnRhPzcwOjM0OlE9PTcwPyh0aGlzLnRhLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy50YSxRPTM0KTpRPT0zND8oZGVsZXRlIHRoaXMuSCx0aGlzLmc9bnVsbCxRPTE4KTpRPT03NyYmKEZ0LlIuTy5jYWxsKHRoaXMpLFE9NTkpfX0seC5qSj1mdW5jdGlvbihRLEssVyl7e1c9MTU7d2hpbGUoVyE9NClXPT04Mj9XPUs\/MjA6NDpXPT04ND9XPUsmJnRoaXMuZyYmSig2LDEsdGhpcy5nLEspPzcxOjQ6Vz09Njg\/KHRoaXMuSC5qSihLLHRoaXMsZmFsc2UpLFc9NCk6Vz09NzE\/Vz10aGlzLmcubGVuZ3RoPT0wPzc6Njg6Vz09MjA\/KHRoaXMuZz96KDEsMzQsSyx0aGlzLmcpfHx0aGlzLmcucHVzaChLKTp0aGlzLmc9W0tdLHRoaXMuSC5qSihLLHRoaXMsdHJ1ZSksVz00KTpXPT0xNT9XPVE\/ODI6ODQ6Vz09NyYmKHRoaXMuZz1udWxsLFc9NjgpfX0seCkuVnc9ZnVuY3Rpb24oKXsoRnQuUi5Wdy5jYWxsKHRoaXMpLHRoaXMudGEmJnRoaXMudGEuZGV0YWNoKCksdGhpcykuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkmJnRoaXMuSC5BYSh0aGlzLGZhbHNlKX0seC5mST0yNTUseCkuRjc9MCx4LnFRPTAseCkuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQkh9LHgpLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiF5YigxMCx0aGlzLDEpfSx4LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHliKDgsdGhpcyw0KX0seC5zZXRBY3RpdmU9ZnVuY3Rpb24oUSl7bHMoMzIsNCwxNixRLHRoaXMpJiZ0aGlzLlgoNCxRKX0seCkuZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xUX0seC5YPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCl7e3A9NjY7d2hpbGUocCE9ODUpcD09NjY\/cD1XfHxRIT0xPzM5OjE4OnA9PTg3Pyh0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLkguQWEodGhpcyxFKSx0aGlzLlgoMSwhRSx0cnVlKSxwPTg1KTpwPT00NT8odGhpcy5ILlgodGhpcyxRLEspLHRoaXMucVE9Sz8oZz10aGlzLnFRLChnfDApLShnJn5RKSsoZ15RKSk6KHU9dGhpcy5xUSwtflEtfnUtfih1fH5RKSsyKih+dXx+USkpLHA9ODUpOnA9PTc\/cD1jJiZ0eXBlb2YgYy5pc0VuYWJsZWQ9PSJmdW5jdGlvbiImJiFjLmlzRW5hYmxlZCgpfHwhbHMoMzYsMSwxNiwhRSx0aGlzKT84NTo1ODpwPT0xOD8oRT0hSyxjPXRoaXMuZ2V0UGFyZW50KCkscD03KTpwPT0zOT9wPXRoaXMuUXcmUSYmSyE9eWIoMTYsdGhpcyxRKT80NTo4NTpwPT04Mz8odGhpcy5zZXRBY3RpdmUoZmFsc2UpLGxzKDE2LDIsMTYsZmFsc2UsdGhpcykmJnRoaXMuWCgyLGZhbHNlKSxwPTg3KTpwPT01OCYmKHA9RT84Nzo4Myl9fTt3aGlsZSh0eXBlb2YgRnQhPT0iZnVuY3Rpb24iKXt0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitGdCk7aWYoMD09IVtdKWJyZWFrfWlmKHR5cGVvZiBPYyE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIkludmFsaWQgcmVuZGVyZXIgY2xhc3MgIitPYyk7dmFyIEtIPW1BKDYsRnQpLFd3PShweigzMCwiZ29vZy1idXR0b24iLDExLChGVShaYSwyLCgoKChSNCgoRlUoKHB6KDMwLCJnb29nLWNvbnRyb2wiLDksKHVzW0tIXT1PYyxmdW5jdGlvbigpe3JldHVybiBuZXcgRnQobnVsbCl9KSkscUUpLDIsMjksZVgpLDApLDI1LHFFKSxxRS5wcm90b3R5cGUpLkFhPWZ1bmN0aW9uKCl7fSxxRS5wcm90b3R5cGUpLlg9ZnVuY3Rpb24oUSxLLFcsRSxnKXtmb3IoZz05NjtnIT02NTspZz09ODY\/Zz1FJiZLPT0xPzIzOjY1Omc9PTk2PyhxRS5SLlguY2FsbCh0aGlzLFEsSyxXKSxFPVEuSigpLGc9ODYpOmc9PTIzJiYoRS5kaXNhYmxlZD1XLGc9NjUpfSxxRSkucHJvdG90eXBlLkZWPWZ1bmN0aW9uKCl7fSwyNSksRnQpLFphLnByb3RvdHlwZS5PPWZ1bmN0aW9uKCl7ZGVsZXRlIChaYS5SLk8uY2FsbCh0aGlzKSxkZWxldGUgdGhpcy5uOSx0aGlzKS5mOX0sZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFphKG51bGwpfSkpLGEucmVxdWVzdElkbGVDYWxsYmFjaz9mdW5jdGlvbihRKXtyZXF1ZXN0SWRsZUNhbGxiYWNrKGZ1bmN0aW9uKCl7USgpfSx7dGltZW91dDo0fSl9OmEuc2V0SW1tZWRpYXRlP2Z1bmN0aW9uKFEpe3NldEltbWVkaWF0ZShRKX06ZnVuY3Rpb24oUSl7c2V0VGltZW91dChRLDApfSksQ1M9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LG5TLGZ6PVN0cmluZy5mcm9tQ2hhckNvZGUoMTA1LDExMCwxMTYsMTAxLDEwMyw2NywxMDQsMTAxLDk5LDEwNyw2NiwxMjEsMTEyLDk3LDExNSwxMTUpLFQ4PXt9LEpSPSgoQy5wcm90b3R5cGUuYmg9InRvU3RyaW5nIixDLnByb3RvdHlwZSkueWM9dm9pZCAwLFtdKSx4Nj0oKEMucHJvdG90eXBlLnRtPWZhbHNlLEMucHJvdG90eXBlKS5zZT12b2lkIDAsW10pLFB3PVtdLFFiPVtdLG56PVtdLHo4PVtdLGZTPVtdLEt6PVtdLHNLPSgoKCgoUlgsZnVuY3Rpb24oKXt9KShvWCksZnVuY3Rpb24oKXt9KSh0UiksZnVuY3Rpb24oKXt9KSh2biksaXMsZnVuY3Rpb24oKXt9KShyciksVDgpLmNvbnN0cnVjdG9yLGUkPSgoKCh4PUMucHJvdG90eXBlLHguaUQ9ZnVuY3Rpb24oKXtyZXR1cm4ga0wuY2FsbCh0aGlzLDMwLDMsOCl9LHgpLkptPWZ1bmN0aW9uKFEsSyxXLEUpe3JldHVybiAkNi5jYWxsKHRoaXMsODAsSywyMCxRLFcsRSl9LHgpLnNmPWZ1bmN0aW9uKFEsSyxXLEUsZyxjKXtyZXR1cm4gVUsuY2FsbCh0aGlzLDgxLDIwLFEsSyxXLEUsZyxjKX0seC5tND1mdW5jdGlvbihRLEssVyxFLGcsYyx1LHAsYil7cmV0dXJuIFk2LmNhbGwodGhpcyw4LFEsSyxXLEUsZyxjLHUscCxiKX0seC5BbT1mdW5jdGlvbigpe3JldHVybiBoUi5jYWxsKHRoaXMsNTksMywzKX0seCkuSXQ9KEMucHJvdG90eXBlLlM9ImNyZWF0ZSIsZnVuY3Rpb24oUSxLLFcsRSxnLGMsdSl7cmV0dXJuIFI0LmNhbGwodGhpcywwLDEwLFEsSyxXLEUsZyxjLHUpfSkseC5MPSh3aW5kb3cucGVyZm9ybWFuY2V8fHt9KS5ub3c\/ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51RCt3aW5kb3cucGVyZm9ybWFuY2Uubm93KCl9OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSx4LllXPTAsdm9pZCAwKTt4PUMucHJvdG90eXBlLHguVz1mdW5jdGlvbihRLEspe3JldHVybiBLPXt9LFE9KGUkPWZ1bmN0aW9uKCl7cmV0dXJuIEs9PVE\/LTg5Oi0xMTN9LHt9KSxmdW5jdGlvbihXLEUsZyxjLHUscCxiLEYsayxtLEQscSxoLGwsVix3LEIsQSxJLG4sZSxrNixULExTLGgyLEcsTix0LGYsbEcsWSxnbSxPLGdZLHBILHBTLE0sUG4sc2Mpe3BTPShPPTUyLE09NCx1bmRlZmluZWQpO3twSD1mYWxzZTt3aGlsZSghWyIiXT09TnVtYmVyKCkpdHJ5e2lmKE89PTI1KWJyZWFrO2Vsc2UgaWYoTz09ODQpTz1rNi5kb25lPzUxOjU7ZWxzZSBpZihPPT00NylPPVQ8Zi5sZW5ndGg\/OTQ6Mjk7ZWxzZSBpZihPPT03OSlPPXBTIT09dW5kZWZpbmVkPzYwOjUzO2Vsc2UgaWYoTz09OTkpTz1BPT14Nj8yMzo5MTtlbHNlIGlmKE89PTM5KVk9WS5zbGljZSgwLDFFNiksSCh0aGlzLFtdLDIwOSwxOTcpLEgodGhpcyxbXSwyMDksMzYpLE89NDM7ZWxzZSBpZihPPT0yMClPPUE9PXo4PzU1OjU4O2Vsc2UgaWYoTz09NjEpe2lmKEk9ZCg5OCx0aGlzKSxOPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJklbU3ltYm9sLml0ZXJhdG9yXSljPU4uY2FsbChJKTtlbHNlIGlmKHR5cGVvZiBJLmxlbmd0aD09Im51bWJlciIpYz17bmV4dDpFSyg3NSwwLEkpfTtlbHNlIHRocm93IEVycm9yKFN0cmluZyhJKSsiIGlzIG5vdCBhbiBpdGVyYWJsZSBvciBBcnJheUxpa2UiKTtPPShrNj0obj1jLG4pLm5leHQoKSw1Nil9ZWxzZSBpZihPPT01NSlFPVdbMV0sTz04ODtlbHNlIGlmKE89PTgyKVQrKyxPPTQ3O2Vsc2UgaWYoTz09MTUpcFtrKytdPWIsTz0xMTtlbHNlIGlmKE89PTY3KWI9aC5jaGFyQ29kZUF0KGcpLE89NjM7ZWxzZSBpZihPPT0xNylXWzFdLnB1c2goUygxMTcsdGhpcylbMF0sZCg0ODQsdGhpcykubGVuZ3RoLFMoMjUwLHRoaXMpLmxlbmd0aCxyKDIwOSx0aGlzKS5sZW5ndGgsZCg2Nyx0aGlzKS5sZW5ndGgscigyMTMsdGhpcykubGVuZ3RoLGQoMjYxLHRoaXMpLmxlbmd0aCxyKDU1LHRoaXMpLmxlbmd0aCksWih0aGlzLDE1NyxXWzJdKSx0aGlzLlZbMjE4XSYmeVcoIiIsMzA5LHRoaXMsODAwMSxkKDIxOCx0aGlzKSksTz02MDtlbHNlIGlmKE89PTUwKU09MzAsaDI9cigxNTIsdGhpcyksaDIubGVuZ3RoPjAmJk1FKDIsdGhpcyx2KDIsaDIubGVuZ3RoKS5jb25jYXQoaDIpLDIwOSw0OCksSCh0aGlzLHYoMSx0aGlzLmwrMT4+MSksMjA5LDg3KSxNRSgyLHRoaXMsdigxLHRoaXNbUHddLmxlbmd0aCksMjA5KSxtPXRoaXMuTlE\/ZCg1NSx0aGlzKTpTKDQ4NCx0aGlzKSxtLmxlbmd0aD4wJiZIKHRoaXMsdigyLG0ubGVuZ3RoKS5jb25jYXQobSksMjYxLDY0KSxxPWQoMjYxLHRoaXMpLHEubGVuZ3RoPjQmJkgodGhpcyx2KDIscS5sZW5ndGgpLmNvbmNhdChxKSwyMDksNjUpLEc9MCxZPVMoMjUwLHRoaXMpLEcrPVMoMTcwLHRoaXMpJjIwNDcsRy09KHU9cigyMDksdGhpcykubGVuZ3RoLC0odXw1KSszKih1JjUpKzIqKHVeNSkpLFkubGVuZ3RoPjQmJihHLT0oWS5sZW5ndGh8MCkrMyksRz4wJiZIKHRoaXMsdigyLEcpLmNvbmNhdChvWChHKSksMjA5LDUzKSxPPTE2O2Vsc2UgaWYoTz09NjMpTz1iPjI1NT8yNDoxNTtlbHNlIGlmKE89PTUpRD1rNi52YWx1ZSxPPTIyO2Vsc2UgaWYoTz09NzYpTz1ZLmxlbmd0aD4xRTY\/Mzk6NDM7ZWxzZSBpZihPPT0zNClGPSIiLFQ9MCxPPTk2O2Vsc2UgaWYoTz09MjIpTT00MyxEKCksTz03MTtlbHNlIGlmKE89PTUyKUxTPUssSz1RLE89MTQ7ZWxzZSBpZihPPT0xMilNPTcsVWMoIiIsMTcsdGhpcyxQbikscFM9MjUsTz02MDtlbHNlIGlmKE89PTg3KXBTIT09dW5kZWZpbmVkPyhPPXBTLHBTPXVuZGVmaW5lZCk6Tz0yNTtlbHNlIGlmKE89PTcxKWs2PW4ubmV4dCgpLE89ODQ7ZWxzZSBpZihPPT02MClNPTQsSz1MUyxPPTg3O2Vsc2UgaWYoTz09MjQpcFtrKytdPS1+KGJ8MjU1KS0oYl4yNTUpKyh+YiYyNTUpKyhifC0yNTYpLGI+Pj04LE89MTU7ZWxzZSBpZihPPT04OSlPPWc8aC5sZW5ndGg\/Njc6NzI7ZWxzZXtpZihPPT03KXJldHVybiBnbTtpZihPPT0xNilPPVkubGVuZ3RoPjQ\/NzY6MzI7ZWxzZSBpZihPPT04OClNPTkwLGg9YXRvYihFKSxnPTAscD1bXSxrPTAsTz05NTtlbHNlIGlmKE89PTE0KU09NyxBPVdbMF0sTz0yMDtlbHNlIGlmKE89PTM2KU89QT09UHc\/NTk6NDk7ZWxzZSBpZihPPT01OClPPUE9PWZTPzE3OjM2O2Vsc2UgaWYoTz09NTEpSS5sZW5ndGg9MCxPPTYwO2Vsc2UgaWYoTz09OTYpTz00NztlbHNlIGlmKE89PTMyKU09Nyx0aGlzLmg9dCxPPTc5O2Vsc2UgaWYoTz09MTEpZysrLE89ODk7ZWxzZSBpZihPPT0yOSl3PUYscigxMTcsdGhpcylbMF09bC5zaGlmdCgpLGQoNDg0LHRoaXMpLmxlbmd0aD1sLnNoaWZ0KCksUygyNTAsdGhpcykubGVuZ3RoPWwuc2hpZnQoKSxyKDIwOSx0aGlzKS5sZW5ndGg9bC5zaGlmdCgpLGQoNjcsdGhpcykubGVuZ3RoPWwuc2hpZnQoKSxkKDIxMyx0aGlzKS5sZW5ndGg9bC5zaGlmdCgpLGQoMjYxLHRoaXMpLmxlbmd0aD1sLnNoaWZ0KCksZCg1NSx0aGlzKS5sZW5ndGg9bC5zaGlmdCgpLGdtPXcscFM9OTAsTz02MDtlbHNlIGlmKE89PTU2KU89ODQ7ZWxzZXtpZihPPT05MClyZXR1cm4gZ207aWYoTz09NDMpSCh0aGlzLHYoMixZLmxlbmd0aCkuY29uY2F0KFkpLDIwOSwxNjYpLE89MzI7ZWxzZSBpZihPPT03Mil0aGlzLlJjPXAsdGhpcy5GPXRoaXMuUmMubGVuZ3RoPDwzLFoodGhpcywyMTQsWzAsMCwwXSksTz0zODtlbHNlIGlmKE89PTY1KU09NyxPPTcxO2Vsc2UgaWYoTz09MzApTz1GPzU0OjM0O2Vsc2UgaWYoTz09NDkpTz1BPT1RYj8xOjk5O2Vsc2UgaWYoTz09OTUpTz04OTtlbHNlIGlmKE89PTU0KUY9IioiK0YsTz0yOTtlbHNlIGlmKE89PTkxKU89QT09bno\/NjE6NjA7ZWxzZSBpZihPPT0zOClNPTcsTHooMjEsZmFsc2UsdGhpcyw4MDAxKSxPPTYwO2Vsc2UgaWYoTz09MSl5VygiIiwzMDksdGhpcyxXWzJdLFdbMV0pLE89NjA7ZWxzZSBpZihPPT0yMylnbT15VygiIiwzMDksdGhpcyw4MDAxLFdbMV0pLHBTPTcsTz02MDtlbHNlIGlmKE89PTk0KWU9ZltUXVt0aGlzLmJoXSgxNiksZS5sZW5ndGg9PTEmJihlPSIwIitlKSxGKz1lLE89ODI7ZWxzZSBpZihPPT01OSlsPVdbMl0sVj12KDIsKFMoMjA5LHRoaXMpLmxlbmd0aHwwKSsyKSx0PXRoaXMuaCx0aGlzLmg9dGhpcyxPPTUwO2Vsc2UgaWYoTz09NTMpTT03LGY9b1goMikuY29uY2F0KGQoMjA5LHRoaXMpKSxmWzFdPWZbMF1eNjAsZlszXT1mWzFdXlZbMF0sZls0XT0oQj1mWzFdLGxHPVZbMV0sfkIrfmxHLTIqfihCfGxHKSksRj10aGlzLno3KGYpLE89MzA7ZWxzZSBpZihPPT0zMSl0aHJvdyBzYzt9fX1jYXRjaChRVyl7aWYoTT09KHNjPVFXLDQpKXRocm93IFFXO009PTc\/KHBTPTMxLE89NjApOk09PTkwPyhQbj1RVyxPPTEyKTpNPT00Mz8oZ1k9UVcsTz02NSk6TT09MzAmJihwUz0zMSxPPTMyKX19fX0oKTt2YXIgQm4sd3I9Ly4vLGtpPXo4LnBvcC5iaW5kKChDLnByb3RvdHlwZVtKUl09WzAsMCwoeC52SD0oeC5VZT0oeC5LOT1mdW5jdGlvbigpe3JldHVybiB5Yi5jYWxsKHRoaXMsNSl9LCh4Lno3PWZ1bmN0aW9uKFEsSyxXLEUsZyl7cmV0dXJuIGxzLmNhbGwodGhpcyw3LEssUSxXLEUsZyl9LHgpLnl3PWZ1bmN0aW9uKCl7cmV0dXJuIFk2LmNhbGwodGhpcywyNCl9LDApLDApLDEpLDEsMCwxLDFdLEMpLnByb3RvdHlwZVtmU10pLFZXPWZ1bmN0aW9uKFEsSyl7cmV0dXJuKEs9TCgia3MiLDE2LCJlcnJvciIsbnVsbCkpJiZRLmV2YWwoSy5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKFcpe3JldHVybiBLLmNyZWF0ZVNjcmlwdChXKX06ZnVuY3Rpb24oVyl7cmV0dXJuIiIrV319KChCbj1NVigzMix7Z2V0OmtpfSwod3JbQy5wcm90b3R5cGUuYmhdPWtpLEMucHJvdG90eXBlKS5TLDE0KSxDLnByb3RvdHlwZS5UNz12b2lkIDAsYSkpO25TPWEua25pdHNhaWx8fChhLmtuaXRzYWlsPXt9KSxuUy5tPjQwfHwoblMubT00MSxuUy5rcz1RdSxuUy5hPWJHKSxuUy53YlZfPWZ1bmN0aW9uKFEsSyxXLEUsZyxjLHUscCl7cmV0dXJuW2Z1bmN0aW9uKGIpe3JldHVybiBLUygzLGZhbHNlLGIscCl9LChwPW5ldyBDKGMsUSxFLEssdSxnKSxmdW5jdGlvbihiKXtwLnl3KGIpfSldfTt9KS5jYWxsKHRoaXMpOyddLmpvaW4oJ1xuJykpKTt9KS5jYWxsKHRoaXMpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9ImFySlJBdTRXTkxNeGxQMlRXSnBjcFEiPihmdW5jdGlvbigpe3ZhciByPScxJzt2YXIgY2U9MzA7dmFyIHNjdG09ZmFsc2U7dmFyIHA9J3diVnNsZElVYWg3OFZwenlQRStoSFJuZ3NUdzcvQmVOTHBIWGNtL2FLMnMvSzNCSkRNODM2bVdEUTc4NG5udTBPTjd0aDRUTndveGFBbWlGZ0Vvb01SU28rZHlSVUYwTnBvcG4vbGZNTTNJWnpSUnVNeVMvbkh3OFZOVHJZY2JKV0YzVVRBSStiMzBaaUVuRjNEWlFYS0ZnV1UrbG9td0t1UzhLN0NUOUJTdG04VHEzckNqNXFIc2RyZ1gwMFVJU2c0YldkVFRVcS8xdm55eU5hYzRteVFSZS96ZjZLTEhvcDg2MjFxdEN3NGdMa0UvY2hoaWo3Z3V1SWIxbmQ5ZysyYmgzcVdGSnc3UVA1a2xyR0E0WHNlby9rU0VMSXlVYlNrdlZacFJ1R2d5OVlzbkY1N2hrdEIxaStkdUxLb2lFVDdFK3FZWDltcmpjcGtxZUpUZ2hEOUJVbitITENjdzNwTlR0VlRtNzZ5b2VkREd3bGthbHgyRno5ZDVOUitCazhJQWlqVStTaWRZTUJhZEdEVzVXMGhWUDA4b05MMnVSUUJJbVZqS0hEbkRENXljUXpJemw4cmRULzZnMVkrbVZIajkrVkIvNGc0T1Fab28rWjB3R0xya0I2VGFkRXV2NkQ4djZsRU01U05aL01CYk5tRmtWYjNDc2N4YUlsblRnUmNYK2Y5SlJENUNFcUpXKzB1WTVwbkw0QXhxZUZkckFmeXgxdUhjLzE2UUFDNjVXeHg4UFFOKzd4Zk5raitOWWN6RGNaaVRoMi9qUTlFRkVPKzQ0bVJiVitnVmVXMzhROXdQK0ROenFpQ1FTVWpCTEl2YllBVVpsc1lqUCtIcjJKMWRSNUpYRVNMdHBrcFdVbmF1T1JuMnZaa2VUbFAxVDM5VTl0TzA2N3NNZjJ1aExsS3M5T3J1S1Z0QkZ1R3R5Z3l5cnIyeVNISkpQbjY0di8rTzlQUlduSTJ3bm1oNHNJV3VnNFZxeVhkUmt1Um1XSHpkdElySjJ2czc0dlBpRytiVmR5VUo0ckZJdzVIdGxFUUhmclVxSSt6NmU1NTQzYUx6ck9ObGhSUkUrM055OTZPdFZhZnFsS0hMeFphZ2J0UDUyd1BKVDJDY0RUdjZZTmRKamJJbW9jUjR2VU9qS3pRMGFNSi9NK1RMUG9PYVhxTy9zclhZYjQvbzhrc0E5MGFvTGZjVk9SWm1FdDIvTjkrODhaRVJ0dU92MkcvbVBUQ0IrNlo1ODRqVGpCayt1WDMzOW1DRXJOUkVYSDgrelpUeVY5UjJ4Z0JmcW8wMlNNZisraHVKalNBd3VLRnFlQkg3ZUdMdUtyWWRSN1NaZWFMUHZXZkJpa0dvd1NHUUdTZ2lSc2NCbEpUUnhBUUpPa0pDdFZLOUY4N3Y3NUpVV1VzQXlqdkJpYVF6NE1zR3dXSSsxbTFvYnZFQ05OUzRYbENGVzI4N3VkVVMyTHY1VGV6K1cwSWY1dWpiNGNxenk2T3VoeDZmakVUM3IrWUU3SndHbVluemJaM3lycS9ZZ2tQM2FCNmxFakZHQWo0YU4yK3ZmQkRpSXVRZ2FjU1JwakVGeUJnUUkrSklCdVlvZnhFSDM0bWJLU3dscTBXS2M3T0RGM0h2OTNlY05lUWdmRGNhUGVyNkhtQjEybjIvSjI3RVB2ZVlYbHhvTzlvclVPbFlCL1RSWEM2R0NubFEvamRrby9OcDB6SjNhYyszS2xPU1RSTDdINGIrS2VPc0lpQm9ROFBXb1pvWHVVUVk5WXF4YTFSNEY1WUlTUDl4ZzFGQjdQV1cxSGZJS2JwNXhFMXVyVEQvZFl4YThWa1FiWnpZdmNISWlRcnY4NlQweVNoYzR1UHhrcXRndmlielpaMko5T3ZqR25iVUhUbjA4NGJIVWZEOGRacnZKUERUOVk2QTFsK3RMQ3FVTUp5dThZdHBSRjliVzd3OUdNQmYzb0NsR1JycmdNNUtkQ0NuZU1yemRxc0NaekN1bHNBTm12L1NBb2xQNCtnMEpFRlVTYm1xMFNxYXlsQ0ZRRlV0Y25lZDkyOU5TbjN1YzV0MTJOWVhMU205REM0RmpYd2lUZjhOcDFHUHlWTU82UlFlaTlKZFVDV0xQVXF4dUkyLys1RDRuM3NneHcvRGRSa2RnbHJpdDBOZnJnMjk1dVBhSFh1TTFpL1FUckMwSWY1WW1NeUJkZW01M0JzcnBqdXpIRUxlRTlEQktzZFZXZEV4N21zRklpWVVHcEhLeEo0TnRSanZUZCthTjc1QTJQVFY4Q3pzem96Y2FHcnBISTVZd2ZRRCtQMlZ6ZVdkLzVzemFCU1lvREQ4R2JwQkZyR3R5dGFyMFJja1VURm5lRW5uZ0FWd1VwL1UxTFZpUVZpakR4S00xdmNTb3ZDUlA2NFBlOGlHL1lkSzQ0bTN2SzNvZnQ1bENwNGR0eHFIWUl6T1k5eVVFcFZhdGJPeDdMMEtQZTQvakRTVXZ6WlhBNXZtbzlqY2F2QlErZVIvVTBaM240Z01PRnkrNXRySGhPKzBrbUVybVovTlRXcjRERWpVUVVrSDhockM3Z3J1T0dnK0s0MnVuNnQ4MWlDSXNoeFd0SjBGNExDdG5BbjMvd0Z6cTdacGJQcUp2SnVwUnROWm9rd1J2VitMQThiQmplRFV6akN3a21pUE1wNE5LUmNHcTZuZERicHFMTktYNDFyM2xqenkzVzdTZ1hTSGdqTVZnN0lMenpkK0tmbUR5QlR1T2xBMFlwOUllMjI3ZXRlU1dLMzR3YVJWK2NSY3FXOXlDQ3NxcGxqQ3N6ZWRSemxIcmJwdzJwT1NFRVJ0blZLRVBkMVZCdmQ1ZjQ1aEpBTFNtY3B6SDhSVXV0RittQ1lJTFhmL3NaazNpaG82dGlMNHQ1S0Q3dlEzNFJHa0RUVUlCT1pLSEFsa1o0dHVWY0pqTEJ1M3htV0RrRklkSE9PQUdxTmJwYXhIVGJYZFQ1dDFHVFM2OTVheHBOY21DMjJiV3FZZ3dSanFDdnF1a3RDK1lxU0JPQ0ZBdm9MZUVVajBwWTQ1QlpaWXFEemVsU0NYN2lnWWpRSjJ3a0ZmZkczWVdnbklLMm1wNm5SVjhkQXZZaU5GK3dxM0Jod2NMaVgwS0NsVW5hbmwwekZ0OW5YTUExSGJhVCs2NTRJUHB6c01kRlYzOXl2a1gvYWoweVNlZ1hlUmJZNTFSNkYzdFUrRkxIQytUMWsvcGRYaEVLTWMvSDRybno5cU1oMjY3dDVyT2RiRW01ZUhLV2J5SkMzamVUamxRRkNRTlEyWFgrbGd4SDRqak1naUJzMjVWUEpJdkI2NDh3TkFNM2FxaCtxaUd1MmFlSk1ta2FGZXJjOU8zSHlxRjJwSU1VZUlaaEpIQXBhYXNmUlRTQm1sQk5nVzVYaHNFcU5sbTJ2QXVrR0J0Y3J5eUtvTGFLYmFHd3ZtK3c1QnNaNjhKUkRxSzRsT1l2TFhETW9hUU9vYW02ZVdXVlc1NGU5b1JrN0kwU3lLTmNVRC9OZE9GcHMrRTNKN2pWN0tsdllNR1lJOWxKUzB6Z1RWSDNOUHNvd2FjYnpKbnA1WW9KaWhPMVF3N1JCVExNYzVZRUlLSlI2SExEMlVxSXJ0WkNjT0RTWG9kaExWSTdiK0xPL1BHOEVFVlFrMmJrOXRaanNWZWY1U0VSelVsczhvVkpwUjdIQ0FVSW1BRmk0bDMxQ09DMmZXclVQS2xrNmZic0lCYmY4V2ZJQm9VQ3FIdG9XUXJERzFGSS9DS0ZMZEJBRURlL2UreVhqcGJUN3JHZnR6RVRuRzVzNkNWb29NZnhxdXd5ODFsRVZuZVhTdjUzZXk4OHozQ2tIbmFUWkd0UVRxN3JtS202N21sbU1EemtjY0sxRnoyZ0htc3VibUZnbk1IYWg0VlNFUk1QcUp1NEp6UlFONVVaWnhTc2RlY1o5NnJXdnEyNGYxUXRpN0xWUk0zR0E1a0NwSjFCRGhYdDJGRGc2UVlaQTRsNGY5NGowVzk1ZVRPbFJRa0JvbFRzcVl5SllvNExtMDBLeGErVWIvdlRyT2txMUM0QldmQk9oOWdzeHB6WGR6bTQ4N3MwbEQ2TjdpVVlXQUxTUEZ5K1drMjN2eS9yZys1YWhGRjk2NjZkUzA4bkNPYWwwa1o5K2ZZMmd3THE3L3N0Zk1GYS9NcjBpQ2lZL0MvTjc2TGJ6d0dYa1NPcC9FREVmWS81ajdxdHpxc2ZWTDlubWJvclhDTGRjM2hMZk5FVjFITnJrWGowWUVaWFZpZU9XYTNPZUFXTnhDS3hLNXc4cy84SEwxNEo5ZzJrMjdlaUF0ck02amcxUnhEYk1HZ2NMSk16UjJkc0FqalFPelJaSW1hWEZaU0hIYTErQWc2cFk2MzRaYkpaakFCamZBZTlVZXVPR1ZTdDRuWFlkcm9rcmZpRS91RVVyL0ZUdUtlbXhVNkhjZGxsUW9VM2RhQTliNmFJNUNqNlp0OXpyWE1MVGNSVTFDVC9ONVlqYldpZHgwangrWmZ4VzhZYy9RbWViTkVnVXFGNHVaOHRrVHBaQlIzbUJDYkZKR2FHV2VDWUJkclJhcXYzQjhDSFFvOUZ1cmZ0ZERtQWZjLzVuWUpoUkwxTTBKZFhsUG9UcVJyVzEzVmtuakdoUDlIMEIvK0tEeWNXUVEzVTlnY2VkVjY3LzlRdm1SRndteEdnK1R6VHMyTUZMeEg0UmxVSmdxZVp2WGtVbDRuWFdSMTVFTGVreldreE9UbEsvMXJEZlJUbW9IWEFrcWFrV04wSzZROVU5N3oxOHFOTWFTNmFpeW1ycHQvenNsRTlya3NuWjhBVnQzZklrcUhIWUR1RmVyajJWVVkzNkJ4Q1pMeVJhNGFtL1dzekdpK1hTc2ZjWFJ1UzBxT1BuZ1ZaS3JQdTVReENudDhFOFRUSWdIWEZCR0lWNGphWU4vaXhneUxxbjAzcGY2aUtvMWU1blNjS2VJOUpGeGFibmhRT3QzTTQ1S3JRbXdHRUlCQ2pPZmR3RWlZOHMyVlpQRFlmRGVWZFAyL0VuT0Q4VW9DejRGQkVhVGw5UUR0V3RWakZBZVFaY3JYQ1A0RXFpUW80MjdqRFcwOUFwSUJ1WVlMTEFnOGNoU3J2ZTFXd0lrTEgzaFkrZ1JyYndaSjdPZUkrUWhMbUd4YmkxR3B3LzkrZ0JYNDVXQzlKSU43cytLclY5Q1YyVm83UnVVbjZYL3dNRm5UcmFQeERPZmlUVitLekFhMXpHNzNMcGNIWkQvekFDdFdTQ3dIOUVSWSsyVy9UaDdKZVlDV2RLZ1pzeXNIeGpseVZkTDF2L3BNbStodElmVkJkUUxzSnBMZy9rYkpMSng0MkhRNjlDU09HblJGTkhlMHdXNVg3R0M0eG55VnRVaVR6UHM3KzJGV0FGN3BvOXljK2xQSGNtaGFOQ1N4RjhzcFhmSVpwbEplTlVRZVlPYUhUYVBrbWhjVURWeXp0Q2NOMnBmQ3RVcnVFL0dPbFNGQ1BTZEN6eURPNW9WSysxQnRudXRzTi9FSHNPekN5UTdlc2lYY0JiNU8zQndReGxYV28zZHRQbDVLYjZTQWcxeFloempOTlFqYmZ3MGNocktiKzVFQWxHck4xbUdyYUxGRk1CakVpS2RYb1pWNElRSEJkay9VV1JJejJXS3pnUkVHYzM3QVVhVHkxYVhqTTY2K2lEZTdtTGJHMEUvcEhuUGJZZmN5VE52dC9pSWxZbGl5WGZXTGVuS2xVKzRaWndsaFFFREFRcGhUK2RDQ1NYeUtZbVhEWW9NMUNnU0tacXNOY3FKUHc1MzcxOUEzbmlFaVRkVWlrMCtpRFRwTStzb3RydWMxZC9XZVdMeFRtTDhIRVpjU1dkTHJVRjhiYzJtbXlWV2lnWWovRzBubUFsd3QrTEN1ODQ1QjdsaThqMDBqY2ZDVjZ6Mkt2OWRKV1ZHMncxenJXVW5sQ2tOcEduTzRaNi9KcFZpWml0ekV5RXRnMUp1QTNDRzFCUDZSazU5cTZEcUx6TTkzQXZKdjNkbU56VTRBRXhoYnNaVEJ2cGpsWDdqN1BVRGw4WXlVWVlXRW8wTms5ZmI2VmxjcmNXNTVhMVozdVFFdWxBVEdNYXoyS3RsTS9Yak1HSHJBb2xGNHZMUUp3MGRPcy9XcjU4NkhJN3d1ZCtmMUZqbWpSek9Mb2R3bGU5cUYva1NuKzArOFJVcDR2VU5QYm5UazF2dmdiZXpDVTFWQzlYK25TdlBpK2NYbnk0Z0ZHMEF6QS9QQzMzOWpFQ1VSNloyMm9UVVZpT2xxQTBGcXFtWVJGcGdVUVhoZHhEa28ra3Q0eXRhUzIyUTFIZTV4Y2xkR2NvMyt5SU11YkJpbUlXQWdWK1lFL1lBaDRPM1IzUCszWkI3RjN4bGtMN0RxcmlvUm1DanBnUk1Za3Y2ejIwU1MyUzN0SU1oa0wzMmNKWUZvSk1NeVFLNjlwUWV4RlNsNGhDYkRhNmNzMmxLbHpwRDErQXdRM2pwcUZaTFJkd3RyMUFmUmp5SUVjaDFWOWpDNjYvSGtkS01GaDdGL2JERVhiOTE0VUhrcktLQTVSdWU0dWlaOHNGTkNUMDZhUHVKM0JPem5jTTJwOVdkaERGMGduUzlOU2N1V2xHR3ZMYkdTdXNnZXNFSWNhcTdkT244NnByTFJNTE5XK0E5VzVTczllcEZyMHI2djNpWUptSWNyY2EyVUhYOFdwNXdZcW9jZ2VUbzhvamdUZnNKaEZIcXBNTTc0WEdXTE9NSWJjRE5sUXB6Yi9iYjBWU09ZSWlheE13T0k2cFZ6ZXFYRVZoTlF3emFtQndkUEx5NDU2ZmRSNDRyZThYRnhycUJIOTduREdIS0luREtEc3BLQzdBRlZNRWJUSG52WE91RFdmYkZiR3ZoaVpBZnpEYzdTWndTL2R0R0syM0NycXViTzdJbzlMeHptck5DVGJJRGtMTHVHOU5UdkNFb1dZRGpmaGxGQ0Y4V1NoQ3JBOFlTY1U2S0FFMVplQ1FnOHBXYzlheFFlVzN5Q2lEM0lXNGhXTWl2QStZb0phZ2YwTmhyMEw2WXhoZFJzcEpYVEF1RGwwdUF6Q09lREY0VmxLaEtPVHdUU3VPSUVtUUlKbUpuVG1Vc3FMM2cvaU5hMWhpUEtOb0U3Y0k5Y3U3bUdpRnNaTUcwWG5FNDdidmN1Qkd4S0M0REF1UkhFMVRRSXBtUVROY1p4cVJCM04zS2VJNG50RUxjenU2RWMvODc5cGdZRm1RQXZ0UCs3cDRrdDM5L3NZS1VkWlo3TFRpdVJIYW81dUlSVHVKREJFSzZPMVRNK1JaY2I3d3I1cHVIYkUyRmZaRHkwMHMyblRDcTFWY3NjU2Mrbk83ZkkzU1B5K0dXZzkwUEpienRUOTNya2M3YTYwME1RRVAwWXIvNVp4eTM0VUQ2eEhOL2xINm1QNk41aDdWNDlmUm1jM3FuKzhUaCszY2dCZUtRNlQxMWpDSW5ndThIamtNNUF1QlBxZk5QK1lkQjNVb2VBTlpabGxwb2JXMGFJejIyaWxTbDBZTXIyNk1vRUtQdzRHRzAxZG5nUjhjakVOYmF5SEhRMmR0RmMyUUMybnFveUpQMU5udU9nNThpUWhDUjZHZzQ1M3lSUEc2dTBOaCtNbGNyQ2FaQmxuVS9iZkFWT1JpRkRQOTlYemdXb3AveXlDa2VZMHprZklwWVl0MytVbnZieE9IWTY1a290YitBZHVnbnlOenVJSmdQWG1DTG5pOUFGTmoyNGdHcjlGaTFNMkVaYVk2Rm5qMG9oNjJkbVZwODYvSGlrRlJ6ZmkweXVLaEtpeEY4K2dqVTZFT3ZtRVN4WGl4YlZORlZKVE1BSU5rZzlQMzA3MlVBOTRmZ1gzKzZZLzlBQ2RLTEZPK3lMWTZFSDVNdjI3OHB1cE9SUnpwYVAzb29talM0eitzTnZxN0FYUzkvbU54TjExa2cvMFRhanl4WjBkWHRCSytJTU9lTDhKR0FoenB2L3BqeDZkdGRQbUdXdnF3OU12b3VkcWhqa3g2VnNrNHk2SmVnWFF4c2ludU5hWTJaYXA5OUdiNmRoYVJjTzl4TUNON2IvVTJSMHBHeHlyeHBaME5PSzJTWHF0UVRsRmNadHdTTWZyRnFaS2NwcUdqVG1idEhQNjFIdmN2aGZUTVpoYmxUTGt0SDFCTEdpQ2FTaXBHU3dTWmxaQm90NWI1RlAvYXlYOHE2bnBHelh3T2JLR3VnSnA1cEZ4S2t1ZUlKSXNLRGtlbDIvMTBTdFJ4WHZBT0R4WmNqMmd1dDVFVUNZelppOFJaa1lzdDR6WHBYM0RIUUhpWXpBemVKeDJIRVYyNGorbmlnejQyeVBWcHFGL1BWRUZvMGREaVhYZ05LT3NKQzNpVDBOYUlZRENSZGhnMk42UStOd3NyTmF0VENHa3Z4a2xPYitiM3dRZUFqeXFjVG45dVdJbEJ6WnRtTm5YdmdRMGdmai9MMlErbUFzR2Z3dlN2M2g1QUdRR2NGekJEYjBkeTVCMTBBQkJlRnlWMFoweVBCSHFqaUNieEd6SXZZeEZDRHgxY3FqeEEwMDhUS3BUdE55SlZreTFRUVhPYmtua0MzUng3NVR5c2RudWY5elFZWUpNR2ovSkdKWW93OFR1ZS9lakRSQzNzRU1PalhKTUFuaXVUcUNaV0dPV0hKKzdlU3BTVVJITDRaVk9lV2hkaitHVWhoalI0SjROcEtnSjIyejRvRGZucU9aeGcwOEZkZlpNSE1VVS9kblVzenNUUXFjbHQvandVT1dWVUxjWGJ1MXIvejJBMXdqS1RDUW1SaHNpMEoydjFKOVFNdU9JK1k5T0pYV3VkK3ZUQzdiVCt4QVg0MlpTdCtERzJ3NnAvc0JDYmNHbzNmQ0diYkIraE9PSERzSFZJTzlIV0h1cHpvdU1JNjZkd3NDT2xIV1VzU2lsb1h2eXlrUkRNZXVlZFZlV2ozSU83MGhTbjRYYVY4OU9CSnlNR2QyUUNGdWRFQzBhMnRCN2NOdURDR3lNcWVNd1ZQM1BHUzkyWTB2dFFaTnl5L082cEE0SFlMMmQ5emhUV3dvODhEZmtUL0NjcUUwRGFGRXVnWWhNdzJOTmxNQmJ6eS8ycGNMYzdzRkdOaW1rRWtmWitHM0ZoVTZsV20vKzZIM3JBalJnSUY0OHZmb25Kek5TMHh6U0ZWTHVYQmxKOHhpQ1VXSzBHcDlOQTJRY2ZCZktVKzRLODRmVkUwY3VGMnNqbFdnVmFDQUVUQXJNRTZxVWxvMzRnOTlHbXowNEZzcHNSSWZFa2dGOXZvKzBJUTQ5RExGbE1mUEVxYTlneTVhTzBqcVZTY21nRHdGWk9mYmNtSUZQdFFwN0wzd2tGRWFod0oxN2k5d0IybFo4U2FpSnFhcTJvNjh1S1ZvMmp2c3E1cWxid2NRL2JXNU5KREJsNUgxMUZXRFJheFBqOGJ0SHVhWkFEcDlzUDRqSlRIUXhKRXlyK2QzWkhLOHBkUmNVMWthQzRrVTBzTDZLc2w0aUY3WW1EUnl6eVJjeGh1dENQRjE0a25GeEhudkF1SVdGUWdVTDM0K011UHhmRVFkZkcwQVI0aWQ1NDNteURkUFRuRW1XYnVPekdhLzIza1BBZGJnblU3cnMvOHJtVTYyWnRpbkdyNy92emorUi9LYXlYdlNkTE5YUjB0V0VjRndhb0Y0WEtpU2FBNEw0ejBXYkxhUFVxZGNuSGJnSXJUZjJxSzd1OS9vZ0JSRUFYZmRTTWVCM0VhdGxjalNiNXowOHR3d01BdGdtbnZzN1p6U3MrWmVmYmJ2eGgzY3l2T0lkM0MwWlc5Vmp4UTEyYm5EVTNjZktRUWxoSGU2b0orbkxmVmx2dmxpNC8vcHFIbFFoekRnT1NoTHhlVE9wblptaWtFZTRkNE44UlNmNkJpczZCV01sL2gwTWkyZ2Q2MnErTndpQVQwbWdYQWxEb0xVdUcwSkppM1QxNjRwMllxeS9pWHRxMU5LajF1SlUzamM5YVkrSzB5RXVWTjZwdmRGVWJzWnVacUlqWHlDQnh4enJCN2R0d1FlWFpEMzV1T3p4WmxZNk1VR2xOQktjbEhldnA4aUVrRGdSazdObGM1Q3F2UVJMOXhLV0lmWjhDNURZTG9Vc0NJTHBKTFhsVDh4YWNMbG9YMlVNUjByTjA4T1BoZExxNGJzUHNFK2J3Q3k1NlBYSkdMRStPbjdKMkF3cW9rbDhFbmQyUndHbTQ4ZlJPcDNhNXk5c0pFTlRCNEtQVGZ1SXMrZnRDQy93ZkpZVjRrdkVidnJuaHBXUjFBMGwyL1U2SytnZDRIRFgvL0JzbWIwb3RDcDdKKzZQMGJTdWcvN1BvQWhVM1VaaEhGaHhwQ2ZPdmN2WEFpNnBFY2d1MFYybjhCM2xQZFdSWXI4akVzeGdRd2FadFNjbmxJTjhVN3RHNUoyNlRlYUNvNUducUgwVkdrazlIbzNzQzMrbCtFUkhPMUh1TURIZlExYUJLdExmRWQ4YkY2WDB1ODRZT1N3Ti9uMzhRME9tNnI1SWZreUo0dXpzMDc3N09JNkhMOHhzZkhJMUNwWngvTjRodUNIQnRhK1BGWlUvQzhlRVp3UTMzVDVlYU1idmE2aXJXbVh2U2lGaWVKUWl5WEkvVWJtZWMzd3RWODM5cmRxMFBNWmMyN2tmUTg5NGRMZlFrQkl2cWNZYktyeEJZWEFOSXowNE05ZGkzWFZIN1Ria0I4dlB2MGZxbTl2aE81blVTclVkWlI3LzE5eEFzdERucXRiVXRVZ3NQaEUyTkxsRzcrcENENWhrTHJDc0xmM1ZySk5vZEVLZ1pvZ1hxMG1CVHVpaVo0OUd5Wk56RXFrLyt0alZzd0dzMVU3UDAxQnFkOXFTWGs1enVrcUtRWURXTGRSaUh6NmFMYmFXdGFaOHBBN3hWK0xVVXZ4ODFYWFA0OFd6Wk4vczBwZkc4RFF2UE5ZMENnY1FXTkZEMHVhZEQ5SVVKdXVLV08rVVBXbGNCQ1ZQYng2VXNhQis0R3d0cDBhNkkzUVN4WGZXTHg0ZE8wYllNVlpZNUprQnlVRXB3bVZtR216SWw0NE1EaHNZeWxZWDUzZzZwVk82dktmL1pyT0NxL21PZDM3TmZwUWlLSDU5bk5KV3lQbTRCNXBPbnlKN0F2eTlVNmg2TGhHQzkyVGpTbzgrQnZWekVKSkVFYUg4U0JjUWJPcmwwRHdvYWc2N0hvRDlzN2loaXVXNW5adzZUZ0ZmYU9LbnB3SmZnTVBXRHMvZHF6K200RGJoZWZ6aVFGSFRYTXdGSWZkY0MxWFU4dmx5NnBjL3c1Ly9Ra051NUJhOUpXazJZTkw5b2tKVno4QXJXMHhVY2hPQlBwdjhGckZLdEhjUWUrWUREcGRGd2dDcEdOSTdwL09qdTc3ZVlRTlM5NE1ZRUpFUkZlMnpMRlVjNlNRa0xqTDRCVEo2a3N4MUVRYXFHblgwdU5SQnNla2o1bk1yT2JBaTAzYnlWclJDenptYlRyQTBldVhSTUdPcGYwNnovWmRqTTBCUTVqdG01VlUyWFhYaWxQT1dUOTE3aUxyWGNheU84aGtaVWljcU9pOVZFQURQcmZ2NUwvbm5NTnQrM25OSmpaZXVOa2Rwa0gyTEtFcERTNkhLR2YyQ3ZNR2ZoTWZiS1Brdzd4cFI1N1ZkSDRRWW83ZEc2QkdYWHBsMkFKK24zd1diaDFZM2s3bzRpWmZvK2hTYXV4dnVXbGFheGxndUo5Tllza0FEUGxUVm9YbDBoMHlWYUM0ckU1M0dBazNUV3M0SWw1TjZTVjV3S3hoUVVEZ1pJQVByRGlBR2k3akcySnVFR0k3VHkzY0tIMWdpcHRnYlduTFJySmkzOXhKbnBjUnVqV1AvMzF2dUdjZERpV1dJSVZlVVhXT3EvM0JuV252aDJ6ZTdqOTRSSWxaaGdLN2RvVUFXQ2xKZ0NRUU14OXk1K1JsU1l5UzV0V0dHOFhSZytTTzJWai9uSGM0RGVRbnhlbzZXUzAvVWtEbXBaMVpkOGd6eUJnS1FnUStFMXdZbCtJQkVYWEpHNi9OcVVJeUNEeVl1QytWRk42aWVoWVNicWNCZjhaWUFlUXpXNnFaZDhLSmRhTVVFNnZ4T1RrNGQ1allYUld3K1V2amJCV1hZUGNMZFdyMEx4ZExNeTZ5VHFPckYxUDdtcUVSYUdFbVpzVDNiYnRuemF4YUhlQkJCTThuRHJQSkhwc1ZDVWhTNkt2cjJmblE0bGllNUxhOUppcmNUb1VzbHZpcFg1cVFIbC9nYkVWS04zN0Rma2lIYUtPbjFGVXIvNnJxcWszUFQ3Wk5XUUNKZ216ZWQrbzJ3c2czK3l4UXIyR0lkZDhVYktzV0VGcG5LWG9Bd3FrV2lFRHV5RDZvYi9BbTJZY0RQNkF1WG94bHN4ODA1RVJlS2ZoZ2VkWjN1d3pDRkNZMW5rU1k1eG1LaEV0K3pWQnRTZFYzL1E4RUZuazFGcWE1WVY1T3ZXeHI3TWtCbnFNSmhQVmg1QzlVeGd3NHJ4aU9PRUFkZzdSbjhDME1EUWtZWE1LM2ZBZEVvTWpQd010T2gxY2Z1WHBEeUkxY0JKc1lzQXJuUlBiaVdNQVJ6dGwyMHRCZUhBVURPN280K3ZjTHhIaWZhRURMZllZS011RkZ6NjM4UFBFeXRIWlhIZjdkbVoxQy9pNU1RUDdZSjdCR2RIRUlzVVJ5YzhDV0tVYmo5RlhDaWZTV1N0UGtxSWhaNlpZM3V2ZGg2djQzMy9iWStPdkdCajFobWtOOUt1ZWU3ZDJGb2lxeXRlbVBwbnQ3TnJaaDFRbm9XSFZmZWZIZGwzN3JjWGN6cXVzSmpGYjRvQmZqb0hXaU9naUdBRnpsUVBRaERQVkltcFdMY0tjeGJlOUFBSHVaK3pLbHJyNmtyQiswWFRCbjQyOWluYXZWbjEyQWpyRFYwNmJiUEJwK2k2RldvYjZreGlGQTc5RHlaejVkSng3em11cVBFNURtZ2NORjZWb1RWZjcxOHk5UU90VUZQN2hjR3BSc3BZeUhhSE9TYTJXckFFNHpxU3Q1YUVQWHVBa1FXVmZzNzdlNjB0WWJMWHUvMXpjb2NPamVROGIzY2szRGRQTmJWdllNQjdkS1NkaE1OOHlHc3hvUVl3SlVkdXpZNjVXbW1xajFmUVlGRlhDZ0ErUExaRXZkSzZzNmR2VktjR0F3SWZIazRJaHNqOFUvd2I1K2Z3V2dKSnp0MDdHWW1DM05XVVk0SDN1VDR3VVZqNHF2SzkvUkNER0JsaXpiMitlM1I4UzYrMmYybkdEVm1WNzZ5c21JZ2o4SCtVOFBsbmJkVitDNXowRjdYWDlxZXdDUHdzRzVrRU1zMlVreld3U0FJU1RJUnczbE1XY1hQbVpLd2ROUEJpbXM4WVVkTlNZYmdSNktIVXVBVHFCZXFTM1l2aEFSZDRwY0NDalJPcGZjOTlrbW9JQW9RRjdCdzdaOXFSaFpaMm5NSjlhM2hNMXA5a29kT0JUUkIwMmpIcnhML3Uxd3dKL0R0Z2hudVkyVjIrY0k0UWR1NkoydTcxOXNabnFpZlpGdDZ4YldweWFpcC9FTGVGSi9iRnBKSjBTWXR4L2NBNGVEWDdKUSszWDV5cjJHRTU0Mk0zVys5R3luaWtrWHR1UG0vZUd5cUVmU3lqMzBOZVc3TnJ2QlpVWnlpbGJkem1TT0FjdjQzY1dxTUZTbXlvTU82VUZ6RWtNS1ZHa25Sc2FPbDBFOUJQaHJZdlhnKzgrWHNISVRFVUVWZ3BIMHltS3Q5TFhxK0dFT2tLVitsNGlkV1E2RnNPblZvZTVzTG5lNm9NaFdlUVUvc3NYamdKN0cvVTA3Q2sxN095N0ZCalpRZ2oxUjJRdCtKRXBtajlabEI0V0xveEJRQm5Dc2ovM3hFWG5tN2VpNkFUSHlhVUZmYnV0V1FZenhEbnBjSHhjN1kxdDM3N1N0R0tjckRxK3YvdkprVmdrYmJQSW9tWGN4bkU0Wi9CcUM3ajA4YzdTUWZUdS9CYURBaHdhd0tTWW5MYkovVEEvZzNFcmlmRE5iZjNabHgyK0prbmYrU0djS2RSbHdENUhkQktxK2lKY1l1bCtNaFRNZVFuR2hubXQ0cHV6MGNPcDN0Sm53dUh1OUdXVk82dnh5dEZ1MmRTWXlxcFpocENEbVBlNlFxM0FPNGU5bCtaVVhxVWVnUThXalIwb1JKWnM2ak8zaWNZeEtweWJnL0loai9scUpEbmJXdFVNdFFUc3BUeEZFeXVTVUhJazdVSFZhK1ptZjBNNzdHd2FuRWJCS1ZNcm0wNG5CZjkyOVpiZXBkUEh4bG5SdmQyUDh2TGxKNEhEempmelRqSmhqK1kzNUZvZ0Yra0V2WDNPbzg3TWE5ZGZDQThOL2ZIWldYemZtOG5SZ3RidHFraWdYS0E3TUFhQlJOa0RlSERxenJmMkx3UFlqM2QxOUk5T3lVK3hVRU9Dei84SEcra1FhdFUrU0QyK0Z2a21TRFhJV1YwaFdlWlJWTjNDQnBFSjdZeEdPUFFobENNYjRuKzdTeDdKZjY1RzFOU1pwbnpNR0ttUGhuYXJHb24zek9jYzNHeTFNb3V3VmFZL2RHanJtM0VaUU9BNkx2QWVobVJ0WEVubUYyNzFXS0kvT3pRSnpNZUw4SFFUa0wvUytpVUJqWmw1ZFlOTUsrSE9DYTNqQkFSZGhmVndhZ2lveDY5dStIUXNjQ3RkOFlqbWthcFVNL3VLVmh5dkI2Ums2OGliZmJQMEFobko3RUt3cytTcm1zaGpwZ1VsQ3hOQnEvVnhOeHkrY1RZeHRIUlYybyt2ZitEd21OdFNyR3lDUFB5ekdsOXBrd1lQQXFLdmZZYitNMVBqU0ZzMGE5LzF1U1BQbEx4TGZPTXRhYm1td0VqSVVyQU1hSE9SeW9TQTA4ZjNFSmNqQ0xTaUUzYnhpTVovYzM3WHp5QjJ1TTYrYUN6WkxLQlpZRHl5M3d1bW44R2NzaEl2SU1YZWMxTUxJQ1B5SFZiajl3TnI2bm4xeHI1SUhkZjNZMVRnczJ2K05vSzdGN0oycFplSFc5cWdyZytBeE84Z3JpSHVpT0VLT2JXem1vOXdUOVhaL3hGdUdJYjc2MUY4UlhnT3NhWUVha2U1cGFFdndmMnBlQ0htL0k1YUh6MkpjZlE3VkIyZ011RVhpVWZqS21XdERjNDBmY01zSWdZbFZEcGorY2ZBMVpUZDgwanYzVlREd2trcHdkcVV2aDhpM0Q5NHNRTlBWUXJVaThlSWk1YlcvNFJxMlNELzMybUF1amIzSXluU3NYNkNnTU1aYzQ1dlU0VmpTMzd6ZGJlRUNqN2ZCV3N3NzZGejdMUUNNcW1yV3BWUDhxZ1pLc09vdEFtZzdYa2hpMmpLeFhHQUpubUZ2VTNEcjZ3dEFXTVY2MjdZN0tnWE5zdmhiUjhhT2VSR0Z3YlpseTJEaDMxRDZmK1p0ck9OY3Z3MzRaOEE4Vk1IbW9rSkx0alVPOFQzc05wRld2K1dnTzhWM0FhODNVejFMT1V4ajJDb3dIcm5WSnFDbEJBS0Z1Y2FtMHhEWXBHTGRKNmNIMEJEdCtFUkVtc0JBb2lIQjA2dDhRWTh5WURnQ2xSYnVpOEV3UnJnNElnblpmYmVQdkNOM2YzNVpsQkVKMWFwem1DdllZcVFJVHlHalpCckNNVmJMbytQWmxlY2F3Y3hFakpnWkdIaVc4SjQxVmRaVnpoOGhSbm96bFhRYlFpbHdhVlA1c3lKSUdEdytJSGt3U0N4eHNPZGlHMkh1TWIvUE1RVHhrQ3hqRDRJTUYyRThxbDg2Y0lrWjdUbUNvSXZ6b2F3cTI1eEtreXMzTkxaZENPcnpYTUY5VlJKNWpDT0ZDRjhmTnRqTkxtU2wzbldiNFNoZjVCQ2swdEZ1RlNxVTJhbmVuN3E3Y2lrTy90TzU2cUxjSEdXTmZpZUNWT0dicGJnZkRTcGZQTS9PSVY1cjVIR1F3WUF5d3NDQXZkKzMwdDNOTlRSYjErOU5xMFF1MkRIeXAwdlJVdlBKOU9HUi83bk9IVkdqcHpMdUd2K0hxdVFRMW91bjBWNm5sQTdxR1dCS0xMVnlGSUtpeGszKzQzQ2lyYW8yVDFyR3pHajlyZXBRNno5Q1d2U1k4UG1PYkt6VjFiRHF0bHNVWjVPM3gzQVR5VkZyUE5jMHpwRUxYOWxpT2hSc00rMUc5R1FidzNCVUVOYmNsbXRCMkFvMGNoR0lveG9iZ1ZuVWhwVElHOFE2Ump6b1M0dE9jUENxYWh0d1Y2bVVuL3p3ZE00MG1KdCtWQ2tlTTZnRmUxeGEzeVZUU0dEWTA0b2JCejJ1VzB5YmpTbDJuNG83SkVOdEUzeWM5VVFqamtTWHJ5bC8zNkh3ZEFMWTZ1TUhJa3VsNTFyTTlyMkd4NXIxVXMwSmZDYjRIM2tFODZFV0tuSmNZMkJBZ05PK081c29IbHdxNnRxKzArTS9GNk9WRlNPWGZCYjhHN2VmeFJpaUc2bkNvaXJFUHRYMGtjSmdFa0czSG5Lc1VTMCtYU045UVJlb01GM1I2NkgzZ0V1SlFZS2k2TjNBQmtOMGtWWlk0TDg0dE9sN3NTMTZ6aTAzQXd5eloza3JLd0tEUWFRZnQxWUxFb2h3Qk83UzlRMklNTGh2am9tc3RaeVFTdGVETWFOVWtaUHFKZmRDS3FuQXpDUC9iVFBHVFdiTWFLVk13R1EvOGJVUjF2WnV2WlJHVmlXZm5Rc21IVEIyWXc5QS9kL3dBcmptQkRpUFdhQmRaR1U0cEt2b0JGMlY1SFUzM0xCS2tiVlZwQThTbDNoVVpscGRua1RDOElJWmVlM1N6Y1FoTlI4ZFVaVmx4bktZU2dnRHRhcnFETUJPZVc4VlFpMzcwWG8xbFh3cU5qZVdmZ0FRaVkxYVdRNG5mSFE5UmhJWGdsRnpRUEM0Nm5sU1dBYkd6dXo1aWhldGJ2NUFCeHQwUmVpNWFpZ2ErYVRIOW81VVlTMWV2SGU3cVhGZGozLzVrTXFFbFBxc0pGbzRJc0RkWEliSlZLSHJMUVgvZWJiMjhMUVVjcWpndDl6cFNLTlp3Q25ONmU5NlRWQ3lzNEpOWWhGZ2YvSVJCR0JwRWQxaW5naG5aRFJBWXc5NWZjOXdub1Q1ZUFUT04zR2h5aWVJRWJGeFgrQ1Z2cGJ4YmRaK2plcnp0R2wvbmZjWDU2aFNpbnk2eVg3QWI5eXNhVEQxYWozQ2lzamNBTGZvakJ5WDBzOVNoenpBWTlKRXBTMW91MHVGRDZ5d3IzQTR0WVlzZEZVUWhoYlNBOE00QkVEallVUGZBUW9KZ0Q1MW9HdUxlRko2OU9WMldET3NpT0JMZVV2cWpiRUxoVTVjUjlCckFTQmVjUmFEK0krVDJDSEM0S1FLbHdRZDREc1pNU05RQlB6TWtxUUxqalVHMFIyY21LTTNLS2FKT2VGeVFtZTFKeTgvcnYwZnI0VWRmMFpmS1I3QmV6Vk82Q1ZwYTRMa3FqUnN4bnZhS0h0MWNnT1Q0VkhOK1Rlbm9neEZHa0Fvb0N1eTFkZ1FpOWlxN3VSbmpuT2x2OGtSYzlWRUhxaVorR3Fha3ExRXpNRFIrVWh0NHA4eGdPZEhJQWxuS3hoUjJBVE4vb0RURTNpZU92eTNMZk0xOHdIZnhHb2YySFArRDZSNEpkVC9pOXBvMnovVkw1NHg0NTByZ0hOVDM1ZVpTUFhsZ1VIMFd3VXhVZk1oWDdZTjNCeGZpUGxhR2U2eURYQnNHdDM1MjlncjFEYmI3UGpPUUNOV2Y0T3FCWFAvUjFhNFl4bDRBK1JGTER4M0owN1ppcEFVY0xjanQrYTBKa2F0Y3RhU1AwNWtBTkNGUWtTcGhCdEVBTXhQbUQwN2hWTTVPUGxHeDlvcWVnQWE5TDRwU1hlVjJ4ZS9DZHJrZy9la2R5Zmp0Sk9UM3dHQ0h3aDFXb0czY3lOdEkzeFFDalBCbzU1c250U3g2c0NyZzluMjNpc3hLZUdTRUtUU2U1VVBTdG5nQ3h5K2pTNi83SGV5TmRLN0kyZzgybWJTN1d1RktYR09PUlhuZVN1MUV2dGNzV0plQjA5OCs2TWM0RURvS1BNWUxnM0JJSHlDaTlhVXQ5V0ZZR0dZZkxtTWFzY2wwODU0OStsck90V1BUeTNCMWtCWGxDVjl6OVpyRUloUjUzTVkwWFFxWmV5ellTMzZZUnF5NlVWQVFLL0QxZmRDV3h1U1N6ZWhnNzErMXpJb2M3K0Rpd3JQOHVla3Uyc0thazE5cTNkMGtrbTdHYmdMZEJ2Sm4zdWp4cjJkb0pDanVWNEZDek0yTXRGZk9RMis3eUNxcU5XNndUM2tPeVIvZFQvN2RJSFFwL1FZdFNwK3NqcUF5dVZ6ZElnT3IwakEzTWZ6UmM3U1pydzFFUEVsN1Q2dUowOGVhTXRDbW10T0Q4cFM1WHFZTEp1VFZSaEV1bHFuWjBTcHBjV1pKSzJJRzNUaHR5NTJVSmFrVFVMMWJTSEVaL3ExUEtxenE1NWNsdlBSeUF4OHNuY0FCZVhnUXhjdXg2SzFIUGtSM2kvRVpNcWtQWmd5c1p5UDJlQTJadWpSM2s0a0hKUU5WdHloekt4VU41QldFVWF4ZzRVSjF1SkpOcDVCOXhXSFZiUEVnV3VNKzcrN1ZQM3Y1cytEdkNjZ3V3QThqVk1iK0F4Y1dDUElacnFOZ0VIbk91OUVUcnV0RzV2Q2pKNVFmb1hRWHJRbmo3a2NpS01CZkp3N0w1UTBwTUpzVlpxTDJuVmdTOXc4RlREcXU1cXhjSGhjWjMxWWYxZDZaRStQTzRNekovVk1xeXlGS0xIMzBXUndHQ053dEV5YWxReXl3RmlwZ2lHeWNNZlFhVUd2VEUyTGdtK0xUT1ZKeHRSNmUzeUR0VHgxVTJJUjdCODJ0R1E2ekJTSWFDaVdaUlN6eUIwSVlUd2x0Vmh0YXMzaG5iWldmNWUzS0NDbE9WcVRHVzZvMlhON0VhMUoyV1AvUGx2UG53T2EvMi9PUHBnRnVjdk1VTlNvS043UUhOTFVKNDFtYmNFemdJWkdXRmJZeHYrcEpSN1ZPc1YxUGlGZm1pWmVsMXBLUnJTTWlyZUxjbC9LbVR2TDU1aEJwSkF6S2d6MkgrU1RJdHV6L25BOEhEcnJvU204K1FuUmtleEpQQnNzaFhqTi9JcnlxMlJldXI0RkNud0tHMUhWZldoNUZUcld0ZFp5L1VqcmpZTUNwUTQrYTNPaFdjeUtGaGJuY0FJV21pVEg5d2FuazFZSXhDN1VZZWhrMTFlb25hcTBBU0I2MHA1bjRwdXRFKzlWZ3V4OGxpeEVIUENNRjh3VURCMWR3RElMYm93NVRNMGpEUmZGQ2lZeXR4MTF5UG93ZG9sSVBDWWl3VWFiUkh1TitBY1JyanJydkNmUGhUVG9Ea3lld0puNFhCWkxZRG5BZm41b3k0UThZNGJXcmVENWE2N240SXhBeWtRaElYdCt4bi81YkF3Z2dNbjFYTGVkeWFnU0ZoWHBRZGU2dTBOSlRKejJUc1NiR2s5TmZYb0JiOXl1dG5PSFEvRTFHSUpid2RaM2s1VmRhRURwbHIwV3RUbGlpWG9GTUU2Q05GdXBZaG8rdnBQYThvdmZKc0JiTkY4RHhPank4VkhEMjRwbU5IcDRCUUY4MjVhRGROYTZXY1ZWSDROeTN4R3VyZGMrcnFtWEhiMTZHbGJ1c1ZFeURkR2NrYVFvSTdhandQMFVGZExKdy90OTNkRloydURSb2d0N0R5QzA0VmtsdmlRRzA2Mmpqbk1NZDlWZ3B0SFBvVVJOQ0RNYWxFYjRvRkI4WGRyMG4yNDhaZVdCV1k3REpjdWZsei9PTjlpN3JMQkMxTnVtUENWUFlUTnRraUxGUXBTRGdGUFA1dDFoSTI5R1FyRlg0NGdLeGQzRDNQSE8rTUYvaGphU3BwMlkvdG1qc3RYVXhuUXBuTGZvRGtJekROalpBSTY4a1crdndOd2hSRlpvNUpFdFY1T2crSkhzM0FOK3c0V0lTZVpZZFhQNnlhdmpLTzlMVS9qUmNoREJKbWRzMmJabWo4bFdDcS9mZTFxWFFvU0dLbUc3OWszVTlhOW95SXF4Zyt3SlZSVjlOdi9waTJ0M1M4dnZQLy81dy8ybk5pT2hCbkhFRUs1MTg5SGVwclg5d25oam80VTFMc09TQnhrN2dXN3hBWW9lMmluQU5RajBhakJxUEhVNVluSDBzV3Z3cTYrcGJ5K0ZYYWlTa2l6YU9vamFTRjdNaDNkZmJCSHhQdGNnUWwyUm9jd3JXdklkdUp4QmdVUEpCQUtxNmlySzU0S1FHdjd4Yk5FVTJPNnBrNWx6aGkvN2YrNyt3UVRBVWsxaU1HZ0NmMmRiOFRxS0g5bXZrWVkzNWNsOFhvdnI2TVx4M2QnO3ZhciBnPSdrbml0c2FpbCc7dmFyIGVpZD0nek9CcWFJZy14SnEtdlFfeS10bjRCZyc7dmFyIHNzX2NnaT1mYWxzZTt2YXIgc3A9Jyc7dmFyIGhhc2hlZF9xdWVyeT0nJzt2YXIgY2JzPScnO3ZhciB1c3N2PScnOyhmdW5jdGlvbigpe3ZhciBxPWZ1bmN0aW9uKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg\/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fSx1PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGQpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWQudmFsdWU7cmV0dXJuIGF9LHc9ZnVuY3Rpb24oYSl7YT1bIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLGEsIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdywib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYsIm9iamVjdCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBkPWFbYl07aWYoZCYmZC5NYXRoPT1NYXRoKXJldHVybiBkfXRocm93IEVycm9yKCJhIik7fSx4PXcodGhpcykseT1mdW5jdGlvbihhLGIpe2lmKGIpYTp7dmFyIGQ9eDthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGw9MDtsPGEubGVuZ3RoLTE7bCsrKXt2YXIgZj1hW2xdO2lmKCEoZiBpbiBkKSlicmVhayBhO2Q9ZFtmXX1hPWFbYS5sZW5ndGgtMV07bD1kW2FdO2I9YihsKTtiIT1sJiZiIT1udWxsJiZ1KGQsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX19LHo9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIFN5bWJvbCE9InVuZGVmaW5lZCImJlN5bWJvbC5pdGVyYXRvciYmYVtTeW1ib2wuaXRlcmF0b3JdO2lmKGIpcmV0dXJuIGIuY2FsbChhKTtpZih0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OnEoYSl9O3Rocm93IEVycm9yKCJiYCIrU3RyaW5nKGEpKTt9O3koIlByb21pc2UiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXt0aGlzLmk9bnVsbH1mdW5jdGlvbiBkKGMpe3JldHVybiBjIGluc3RhbmNlb2YgZj9jOm5ldyBmKGZ1bmN0aW9uKGUpe2UoYyl9KX1pZihhKXJldHVybiBhO2IucHJvdG90eXBlLmo9ZnVuY3Rpb24oYyl7aWYodGhpcy5pPT1udWxsKXt0aGlzLmk9W107dmFyIGU9dGhpczt0aGlzLmwoZnVuY3Rpb24oKXtlLnYoKX0pfXRoaXMuaS5wdXNoKGMpfTt2YXIgbD14LnNldFRpbWVvdXQ7Yi5wcm90b3R5cGUubD1mdW5jdGlvbihjKXtsKGMsMCl9O2IucHJvdG90eXBlLnY9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuaSYmdGhpcy5pLmxlbmd0aDspe3ZhciBjPXRoaXMuaTt0aGlzLmk9W107Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDsrK2Upe3ZhciBoPWNbZV07Y1tlXT1udWxsO3RyeXtoKCl9Y2F0Y2goayl7dGhpcy5BKGspfX19dGhpcy5pPW51bGx9O2IucHJvdG90eXBlLkE9ZnVuY3Rpb24oYyl7dGhpcy5sKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX07dmFyIGY9ZnVuY3Rpb24oYyl7dGhpcy5qPTA7dGhpcy5sPXZvaWQgMDt0aGlzLmk9W107dGhpcy5EPSExO3ZhciBlPXRoaXMuQSgpO3RyeXtjKGUucmVzb2x2ZSxlLnJlamVjdCl9Y2F0Y2goaCl7ZS5yZWplY3QoaCl9fTtmLnByb3RvdHlwZS5BPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYyhrKXtyZXR1cm4gZnVuY3Rpb24obSl7aHx8KGg9ITAsay5jYWxsKGUsbSkpfX12YXIgZT10aGlzLGg9ITE7cmV0dXJue3Jlc29sdmU6Yyh0aGlzLkopLHJlamVjdDpjKHRoaXMudil9fTtmLnByb3RvdHlwZS5KPWZ1bmN0aW9uKGMpe2lmKGM9PT10aGlzKXRoaXMudihuZXcgVHlwZUVycm9yKCJBIFByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIGYpdGhpcy5MKGMpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGMpe2Nhc2UgIm9iamVjdCI6dmFyIGU9YyE9bnVsbDticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjplPSEwO2JyZWFrIGE7ZGVmYXVsdDplPSExfWU\/dGhpcy5JKGMpOnRoaXMuQyhjKX19O2YucHJvdG90eXBlLkk9ZnVuY3Rpb24oYyl7dmFyIGU9dm9pZCAwO3RyeXtlPWMudGhlbn1jYXRjaChoKXt0aGlzLnYoaCk7cmV0dXJufXR5cGVvZiBlPT0iZnVuY3Rpb24iP3RoaXMuTShlLGMpOnRoaXMuQyhjKX07Zi5wcm90b3R5cGUudj1mdW5jdGlvbihjKXt0aGlzLkYoMixjKX07Zi5wcm90b3R5cGUuQz1mdW5jdGlvbihjKXt0aGlzLkYoMSxjKX07Zi5wcm90b3R5cGUuRj1mdW5jdGlvbihjLGUpe2lmKHRoaXMuaiE9MCl0aHJvdyBFcnJvcigiY2AiK2MrImAiK2UrImAiK3RoaXMuaik7dGhpcy5qPWM7dGhpcy5sPWU7dGhpcy5qPT09MiYmdGhpcy5LKCk7dGhpcy5HKCl9O2YucHJvdG90eXBlLks9ZnVuY3Rpb24oKXt2YXIgYz10aGlzO2woZnVuY3Rpb24oKXtpZihjLkgoKSl7dmFyIGU9eC5jb25zb2xlO3R5cGVvZiBlIT09InVuZGVmaW5lZCImJmUuZXJyb3IoYy5sKX19LDEpfTtmLnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7aWYodGhpcy5EKXJldHVybiExO3ZhciBjPXguQ3VzdG9tRXZlbnQsZT14LkV2ZW50LGg9eC5kaXNwYXRjaEV2ZW50O2lmKHR5cGVvZiBoPT09InVuZGVmaW5lZCIpcmV0dXJuITA7dHlwZW9mIGM9PT0iZnVuY3Rpb24iP2M9bmV3IGMoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KTp0eXBlb2YgZT09PSJmdW5jdGlvbiI\/Yz1uZXcgZSgidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOihjPXguZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50IiksYy5pbml0Q3VzdG9tRXZlbnQoInVuaGFuZGxlZHJlamVjdGlvbiIsITEsITAsYykpO2MucHJvbWlzZT10aGlzO2MucmVhc29uPXRoaXMubDtyZXR1cm4gaChjKX07Zi5wcm90b3R5cGUuRz1mdW5jdGlvbigpe2lmKHRoaXMuaSE9bnVsbCl7Zm9yKHZhciBjPTA7Yzx0aGlzLmkubGVuZ3RoOysrYyl2LmoodGhpcy5pW2NdKTt0aGlzLmk9bnVsbH19O3ZhciB2PW5ldyBiO2YucHJvdG90eXBlLkw9ZnVuY3Rpb24oYyl7dmFyIGU9dGhpcy5BKCk7Yy5CKGUucmVzb2x2ZSxlLnJlamVjdCl9O2YucHJvdG90eXBlLk09ZnVuY3Rpb24oYyxlKXt2YXIgaD10aGlzLkEoKTt0cnl7Yy5jYWxsKGUsaC5yZXNvbHZlLGgucmVqZWN0KX1jYXRjaChrKXtoLnJlamVjdChrKX19O2YucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYyxlKXtmdW5jdGlvbiBoKG4sdCl7cmV0dXJuIHR5cGVvZiBuPT0iZnVuY3Rpb24iP2Z1bmN0aW9uKEIpe3RyeXtrKG4oQikpfWNhdGNoKEMpe20oQyl9fTp0fXZhciBrLG0sRD1uZXcgZihmdW5jdGlvbihuLHQpe2s9bjttPXR9KTt0aGlzLkIoaChjLGspLGgoZSxtKSk7cmV0dXJuIER9O2YucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGMpfTtmLnByb3RvdHlwZS5CPWZ1bmN0aW9uKGMsZSl7ZnVuY3Rpb24gaCgpe3N3aXRjaChrLmope2Nhc2UgMTpjKGsubCk7YnJlYWs7Y2FzZSAyOmUoay5sKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJkYCIray5qKTt9fXZhciBrPQp0aGlzO3RoaXMuaT09bnVsbD92LmooaCk6dGhpcy5pLnB1c2goaCk7dGhpcy5EPSEwfTtmLnJlc29sdmU9ZDtmLnJlamVjdD1mdW5jdGlvbihjKXtyZXR1cm4gbmV3IGYoZnVuY3Rpb24oZSxoKXtoKGMpfSl9O2YucmFjZT1mdW5jdGlvbihjKXtyZXR1cm4gbmV3IGYoZnVuY3Rpb24oZSxoKXtmb3IodmFyIGs9eihjKSxtPWsubmV4dCgpOyFtLmRvbmU7bT1rLm5leHQoKSlkKG0udmFsdWUpLkIoZSxoKX0pfTtmLmFsbD1mdW5jdGlvbihjKXt2YXIgZT16KGMpLGg9ZS5uZXh0KCk7cmV0dXJuIGguZG9uZT9kKFtdKTpuZXcgZihmdW5jdGlvbihrLG0pe2Z1bmN0aW9uIEQoQil7cmV0dXJuIGZ1bmN0aW9uKEMpe25bQl09Qzt0LS07dD09MCYmayhuKX19dmFyIG49W10sdD0wO2RvIG4ucHVzaCh2b2lkIDApLHQrKyxkKGgudmFsdWUpLkIoRChuLmxlbmd0aC0xKSxtKSxoPWUubmV4dCgpO3doaWxlKCFoLmRvbmUpfSl9O3JldHVybiBmfSk7CnZhciBBPXRoaXN8fHNlbGY7ZnVuY3Rpb24gRSgpe3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlfTt2YXIgRj13aW5kb3cubG9jYXRpb247ZnVuY3Rpb24gRyhhKXtyZXR1cm4oYT1GLnNlYXJjaC5tYXRjaChuZXcgUmVnRXhwKCJbPyZdIithKyI9KFxcZCspIikpKT9OdW1iZXIoYVsxXSk6LTF9ZnVuY3Rpb24gSCgpe3ZhciBhPWdvb2dsZS50aW1lcnMubG9hZDtnb29nbGUuYy5ndHM\/Z29vZ2xlLmMuZ3RzKGZ1bmN0aW9uKCl7SShhKX0pOkkoYSl9CmZ1bmN0aW9uIEkoYSl7dmFyIGI9YS5lLGQ9Z29vZ2xlLnN0dnNjO2QmJihiLnNzcj0xKTtpZihkP2QuaXNCRjpFKCk9PT0yKWIuYmI9MTtFKCk9PT0xJiYoYi5yPTEpO2E6e2lmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUmJihkPXdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIiksZC5sZW5ndGghPT0wKSl7ZD1kWzBdO2JyZWFrIGF9ZD12b2lkIDB9aWYoZCl7dmFyIGw9ZC50eXBlO2wmJihiLm50PWwpO2w9ZC5kZWxpdmVyeVR5cGU7bCE9bnVsbCYmKGIuZHQ9bCk7ZD1kLnRyYW5zZmVyU2l6ZTtkIT1udWxsJiYoYi50cz1kKX0oZD13aW5kb3cubmF2aWdhdGlvbikmJihkPWQuYWN0aXZhdGlvbikmJihkPWQubmF2aWdhdGlvblR5cGUpJiYoYi5hbnQ9ZCk7Yj1hLm07aWYoIWJ8fCFiLnBycyl7ZD13aW5kb3cuX2NzYz09PSJhZ3NhIiYmd2luZG93Ll9jc2hpZDtsPUUoKXx8ZD8wOkcoInFzdWJ0cyIpO2w+MCYmKGI9RygiZmJ0cyIpLGI+MCYmKGEudC5zdGFydD1NYXRoLm1heChsLGIpKSk7dmFyIGY9YS50LHY9Zi5zdGFydDtiPXt9O2Eud3NydCE9PXZvaWQgMCYmKGIud3NydD1hLndzcnQpO2lmKHYpZm9yKHZhciBjIGluIGYpaWYoYyE9PSJzdGFydCIpe3ZhciBlPWZbY107YltjXT1jPT09InNnbCI\/ZTpNYXRoLm1heChlLXYsMCl9bD4wJiYoYi5nc2FzcnQ9YS50LnN0YXJ0LWwsYz1HKCJxc2QiKSxjPjAmJmdvb2dsZS5jLmUoImxvYWQiLCJxc2QiLFN0cmluZyhjKSksKGM9YS5mYnRzKSYmKGIuZ3Nhc3J0Mj1NYXRoLm1heChsLGMpLWwpKTtFKCl8fGR8fCFhLnFzdWJ0c3x8KGM9YS5mYnRzKSYmKGIuZ3Nhc3J0Mz1NYXRoLm1heChhLnFzdWJ0cyxjKS1hLnFzdWJ0cyk7Yz1hLmU7YT0iL2dlbl8yMDQ\/cz0iK2dvb2dsZS5zbisiJnQ9c2cmYXR5cD1jc2kmZWk9Iitnb29nbGUua0VJKyImcnQ9IjtkPSIiO2ZvcihrIGluIGIpYSs9IiIrZCtrKyIuIitiW2tdLGQ9IiwiO2Zvcih2YXIgaCBpbiBjKWErPQoiJiIraCsiPSIrY1toXTt2YXIgaz0iIjtBLl9jc2hpZCYmKGsrPSImY3NoaWQ9IitBLl9jc2hpZCk7KGg9d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS5rT1BJfHxudWxsKSYmKGsrPSImb3BpPSIraCk7az1hKz1rO3R5cGVvZiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbj09PSJmdW5jdGlvbiI\/bmF2aWdhdG9yLnNlbmRCZWFjb24oaywiIik6Z29vZ2xlLmxvZygiIiwiIixrKX19O3ZhciBKPWZ1bmN0aW9uKCl7dmFyIGE9bG9jYXRpb24uaHJlZjt0aGlzLmk9dGhpcy5qPSIiO3ZhciBiPWEuaW5kZXhPZigiIyIpO2I+MCYmKHRoaXMuaj1hLnN1YnN0cmluZyhiKSxhPWEuc3Vic3RyaW5nKDAsYikpO2I9YS5pbmRleE9mKCI\/Iik7Yj4wJiYodGhpcy5pPSImIithLnN1YnN0cmluZyhiKzEpLGE9YS5zdWJzdHJpbmcoMCxiKSk7dGhpcy5sPWF9LEw9ZnVuY3Rpb24oYSxiLGQpe0soYSxiKTthLmk9YS5pKyImIitiKyI9IitkfSxLPWZ1bmN0aW9uKGEsYil7YS5pPWEuaS5yZXBsYWNlKG5ldyBSZWdFeHAoIiYiK2IrIj0oW14mXSspIiwiZyIpLCIiKX07Si5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit0aGlzLmwrKHRoaXMuaT8iPyIrdGhpcy5pLnN1YnN0cmluZygxKToiIikrdGhpcy5qfTsKdmFyIE09ZnVuY3Rpb24oYSl7dGhpcy5pPWF9O00ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaX07dmFyIE49ZnVuY3Rpb24oYSl7dGhpcy5OPWF9O2Z1bmN0aW9uIE8oYSl7cmV0dXJuIG5ldyBOKGZ1bmN0aW9uKGIpe3JldHVybiBiLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6In0pfXZhciBQPVtPKCJkYXRhIiksTygiaHR0cCIpLE8oImh0dHBzIiksTygibWFpbHRvIiksTygiZnRwIiksbmV3IE4oZnVuY3Rpb24oYSl7cmV0dXJuL15bXjpdKihbLz8jXXwkKS8udGVzdChhKX0pXSxRPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8\/I10qKD86Wy8\/I118JCkpL2k7ZnVuY3Rpb24gUigpe3ZhciBhPUFbZ107aWYoYSl7YT16KCgwLGEuYSkocCxmdW5jdGlvbigpe30sITEpKS5uZXh0KCkudmFsdWU7dmFyIGI9W2FhKCldO3JldHVybiBhKGIpfVMoRXJyb3IoImYiKSl9ZnVuY3Rpb24gYWEoKXt2YXIgYT1sb2NhdGlvbi5ocmVmLGI9aGFzaGVkX3F1ZXJ5LGQ9e307YiYmKGQucWg9YiwoYT0oYT1hLm1hdGNoKC9bPyZdc3RhcnQ9KFxkKykvZykpP2FbYS5sZW5ndGgtMV0ubWF0Y2goL1xkKy8pWzBdOiIiKSYmKGQuc3Q9YSkpO3JldHVybiBkfQpmdW5jdGlvbiBUKCl7dmFyIGE7YTp7aWYod2luZG93LnN0JiYoYT13aW5kb3cuc3QobG9jYXRpb24uaHJlZikpKWJyZWFrIGE7YT1wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UudGltaW5nJiZwZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P3BlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQ6dm9pZCAwfWlmKGEpdHJ5e3ZhciBiOygoYj13aW5kb3cpPT1udWxsPzA6Yi5zZXNzaW9uU3RvcmFnZSkmJndpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGVpZCxTdHJpbmcoYSkpfWNhdGNoKGQpe319ZnVuY3Rpb24gVSgpe3ZhciBhPWVpZCxiPW5ldyBKO0soYiwic2dfc3MiKTtMKGIsInNlaSIsYSk7cmV0dXJuIGIudG9TdHJpbmcoKX1mdW5jdGlvbiBWKGEpe3ZhciBiPWVpZCxkPW5ldyBKO0woZCwic2dfc3MiLGVuY29kZVVSSUNvbXBvbmVudChhKSk7TChkLCJzZWkiLGIpO1coZC50b1N0cmluZygpKX0KZnVuY3Rpb24gYmEoYSl7aWYod2luZG93LnBycyl7WCgicHNydCIpO3NjdG0mJkgoKTt2YXIgYj1VKCk7d2luZG93LnBycyhiLGEpLmNhdGNoKGZ1bmN0aW9uKCl7VihhKX0pfWVsc2UgVihhKX1mdW5jdGlvbiBXKGEpe1goInBzcnQiKTtzY3RtJiZIKCk7d2luZG93LnBycz93aW5kb3cucHJzKGEpLmNhdGNoKGZ1bmN0aW9uKCl7WShhKX0pOlkoYSl9CmZ1bmN0aW9uIFkoYSl7aWYod2luZG93LnByKXdpbmRvdy5wcihhKTtlbHNle2E6e3ZhciBiPWI9PT12b2lkIDA\/UDpiO2lmKGEgaW5zdGFuY2VvZiBNKWI9YTtlbHNle2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7KytkKXt2YXIgbD1iW2RdO2lmKGwgaW5zdGFuY2VvZiBOJiZsLk4oYSkpe2I9bmV3IE0oYSk7YnJlYWsgYX19Yj12b2lkIDB9fWE9bG9jYXRpb247aWYoYiBpbnN0YW5jZW9mIE0paWYoYiBpbnN0YW5jZW9mIE0pYj1iLmk7ZWxzZSB0aHJvdyBFcnJvcigiZSIpO2Vsc2UgYj1RLnRlc3QoYik\/Yjp2b2lkIDA7YiE9PXZvaWQgMCYmYS5yZXBsYWNlKGIpfX1mdW5jdGlvbiBTKGEpe25hdmlnYXRvci5zZW5kQmVhY29uKCIvZ2VuXzIwND9jYWQ9c2dfYl9lJmU9IithLCIiKX1mdW5jdGlvbiBYKGEpe3NjdG0mJmdvb2dsZS50aWNrKCJsb2FkIixhKX07bmF2aWdhdG9yfHwoQS5uYXZpZ2F0b3I9e30pO3R5cGVvZiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbiE9PSJmdW5jdGlvbiImJihuYXZpZ2F0b3Iuc2VuZEJlYWNvbj1mdW5jdGlvbihhKXsobmV3IEltYWdlKS5zcmM9YX0pO3dpbmRvdy5vbmVycm9yPWZ1bmN0aW9uKGEsYixkLGwsZil7bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9nZW5fMjA0P2Vtc2c9IisoZiBpbnN0YW5jZW9mIEVycm9yP2YubWVzc2FnZTphKSsiJnNyY3BnPXNncyZqc3I9MSZqc2VsPTMiKX07WCgic3N0Iik7dmFyIFo7d2luZG93LnNncyYmdXNzdj8oWCgic3NzdCIpLFo9d2luZG93LnNncyhzcCkudGhlbihmdW5jdGlvbihhKXtYKCJzc2V0Iik7ciYmKFQoKSxiYShhKSk7cmV0dXJuITB9LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSk6Wj1Qcm9taXNlLnJlc29sdmUoITEpO1oudGhlbihmdW5jdGlvbihhKXtpZighYSYmKFgoImJzc3QiKSxhPVIoKSxYKCJic2V0IiksYSkpe3ZhciBiPWNiczthPWhhc2hlZF9xdWVyeT8iQi4xLiIrYisiLiIrYTphO2I9bmV3IERhdGU7Yi5zZXRTZWNvbmRzKGIuZ2V0U2Vjb25kcygpKyhOdW1iZXIoY2UpfHwzMDApKTt2YXIgZD0iU0dfU1M9IithLGw9ZG9jdW1lbnQuY29va2llLmxlbmd0aCtkLmxlbmd0aDtyJiYobDw0MDkzJiYhc3NfY2dpJiYoZG9jdW1lbnQuY29va2llPWQrKCI7IGV4cGlyZXM9IitiLnRvVVRDU3RyaW5nKCkpKSxUKCksc3NfY2dpfHxkb2N1bWVudC5jb29raWUuaW5kZXhPZigiU0dfU1M9Iik8MD9WKGEpOlcoVSgpKSl9fSkuY2F0Y2goZnVuY3Rpb24oYSl7UyhhKX0pO30pLmNhbGwodGhpcyk7fSkoKTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJhckpSQXU0V05MTXhsUDJUV0pwY3BRIj4oZnVuY3Rpb24oKXt2YXIgY3NzSWQ9J3l2bHJ1ZSc7dmFyIGV2ZW50X2lkPSd6T0JxYUlnLXhKcS12UV95LXRuNEJnJztmdW5jdGlvbiBzdygpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNzc0lkKS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywnJyk7bmF2aWdhdG9yLnNlbmRCZWFjb24oYC9nZW5fMjA0P2NhZD1zZ190cmJsJmVpPSR7ZXZlbnRfaWR9YCwnJyk7fQpzZXRUaW1lb3V0KHN3LDIwMDApO30pKCk7PC9zY3JpcHQ+IDxkaXYgaWQ9Inl2bHJ1ZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+SWYgeW91J3JlIGhhdmluZyB0cm91YmxlIGFjY2Vzc2luZyBHb29nbGUgU2VhcmNoLCBwbGVhc2UmbmJzcDs8YSBocmVmPSIvc2VhcmNoP3E9aW5kaWErcHVzaHBlc2grcGFudCZhbXA7bnVtPTEwMCZhbXA7c2NhX2Vzdj03MzBlYmM5YWMzOTE0YmRjJmFtcDtwd3M9MCZhbXA7aGw9ZW4mYW1wO25lYXI9VW5pdGVkK1N0YXRlcyZhbXA7Z2w9VVMmYW1wO2dscD0xJmFtcDtnYnY9MSZhbXA7ZW1zZz1TR19SRUwmYW1wO3NlaT16T0JxYUlnLXhKcS12UV95LXRuNEJnIj5jbGljayBoZXJlPC9hPiwgb3Igc2VuZCZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3dlYnNlYXJjaCI+ZmVlZGJhY2s8L2E+LjwvZGl2PjwvYm9keT48L2h0bWw+"}