⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.74
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
self
/
root
/
opt
/
psa
/
var
/
modules
/
xovi
/
Edit File: serp_1.json
{"success":true,"settings":{"hash":"1","url":"https:\/\/www.google.de\/search?q=tatami+bank&as_rights=&num=100&start=0&pws=0&hl=de&near=Deutschland&uule=w+CAIQICIHR2VybWFueQ&gws_rd=cr&gl=DE&glp=1&gbv=1"},"code":200,"exception":null,"bodyLen":84044,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZGUiPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT1Rc2FGYU5iZk41bnE3X1VQbHA2eDZBdyIgaHR0cC1lcXVpdj0icmVmcmVzaCI+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jayI+PGEgaHJlZj0iL2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT1Rc2FGYU5iZk41bnE3X1VQbHA2eDZBdyI+S2xpY2tlIGhpZXI8L2E+LCB3ZW5uIGR1IG5hY2ggZWluaWdlbiBTZWt1bmRlbiBuaWNodCBhdXRvbWF0aXNjaCB3ZWl0ZXJnZWxlaXRldCB3aXJzdC48L2Rpdj48L25vc2NyaXB0PiA8c2NyaXB0IG5vbmNlPSJfVk1LdG9wYmFXaVhRcGxScXQ5cEtnIj4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09CihmdW5jdGlvbigpe3ZhciBTPWZ1bmN0aW9uKEcsVyxtLHEscCxBLEYseixsLEUpe3tsPTQ3O3doaWxlKGwhPTkyKXtpZihsPT0zOClyZXR1cm4gRTtpZihsPT0xMylsPShtLTh8MjkpPG0mJihtKzheRyk+PW0\/ODI6NTI7ZWxzZSBpZihsPT00NylsPTEzO2Vsc2UgaWYobD09ODIpRT1xLGw9NTI7ZWxzZSBpZihsPT01MilsPW0tNT4+VzwxJiZtPDwxPj0xPzg4OjM4O2Vsc2UgaWYobD09ODgpe2lmKCh6PShGPXEsUS50cnVzdGVkVHlwZXMpLHopJiZ6LmNyZWF0ZVBvbGljeSl7dHJ5e0Y9ei5jcmVhdGVQb2xpY3koQSx7Y3JlYXRlSFRNTDpWLGNyZWF0ZVNjcmlwdDpWLGNyZWF0ZVNjcmlwdFVSTDpWfSl9Y2F0Y2goVSl7aWYoUS5jb25zb2xlKVEuY29uc29sZVtwXShVLm1lc3NhZ2UpfUU9Rn1lbHNlIEU9RjtsPTM4fX19fSxWPWZ1bmN0aW9uKEcpe3JldHVybiBTLmNhbGwodGhpcyw5LDQsMzIsRyl9LFE9dGhpc3x8c2VsZjsoMCxldmFsKShmdW5jdGlvbihHLFcpe3JldHVybihXPVMoOSw0LDMsbnVsbCwiZXJyb3IiLCJrcyIpKSYmRy5ldmFsKFcuY3JlYXRlU2NyaXB0KCIxIikpPT09MT9mdW5jdGlvbihtKXtyZXR1cm4gVy5jcmVhdGVTY3JpcHQobSl9OmZ1bmN0aW9uKG0pe3JldHVybiIiK219fShRKShBcnJheShNYXRoLnJhbmRvbSgpKjc4MjR8MCkuam9pbigiXG4iKStbJy8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam9nTXl3aWMyOTFjbU5sY3lJNld5SWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSUNKZExDSnVZVzFsY3lJNld5SmpiRzl6ZFhKbFJIbHVZVzFwWTBKMWRIUnZiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFaWZRPT0nLAonKGZ1bmN0aW9uKCl7LyonLAonJywKJyBDb3B5cmlnaHQgR29vZ2xlIExMQycsCicgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAnLAonKi8nLAondmFyIE49ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYscSxmLFUsTSxyLFQpe1Q9MTY7e3I9Mzc7d2hpbGUodHJ1ZSl0cnl7aWYoVD09NzkpYnJlYWs7ZWxzZSBpZihUPT0yMilRTyhudWxsLDI1LFcpLFQ9MjtlbHNlIGlmKFQ9PTQ4KVQ9KEY+PjEmMTEpPT0zPzI3OjE3O2Vsc2UgaWYoVD09MjcpVT1mdW5jdGlvbigpe30sVS5wcm90b3R5cGU9bC5wcm90b3R5cGUsVy5KPWwucHJvdG90eXBlLFcucHJvdG90eXBlPW5ldyBVLFcucHJvdG90eXBlLmNvbnN0cnVjdG9yPVcsVy5sWT1mdW5jdGlvbih5LFgsWSl7Zm9yKHZhciB4PTY5O3ghPTI1OylpZih4PT02MylhW0ItbV09YXJndW1lbnRzW0JdLHg9ODg7ZWxzZSBpZih4PT04OClCKysseD03NjtlbHNlIGlmKHg9PTc2KXg9Qjxhcmd1bWVudHMubGVuZ3RoPzYzOjMwO2Vsc2UgaWYoeD09NjkpdmFyIGE9QXJyYXkoKHg9NzMsYXJndW1lbnRzKS5sZW5ndGgtbSksQj1tO2Vsc2V7aWYoeD09MzApcmV0dXJuIGwucHJvdG90eXBlW1hdLmFwcGx5KHksYSk7eD09NzMmJih4PTc2KX19LFQ9MTc7ZWxzZSBpZihUPT04MilUPUc\/NDI6ODE7ZWxzZSBpZihUPT0yOClUPUcgaW4gbC5nJiZyYyg0LDEsMTcsVyxsLmdbR10pPzIyOjQ4O2Vsc2UgaWYoVD09NSlkZWxldGUgbC5nW0ddLGwuY0gtLSxUPTQ4O2Vsc2UgaWYoVD09MTIpcj0zNyxIMCgifiIsNixsLFEsZiksVD05NDtlbHNlIGlmKFQ9PTk5KVQ9US5pLmxlbmd0aD80Nzo0NjtlbHNlIGlmKFQ9PTE2KVQ9NDA7ZWxzZSBpZihUPT05NilFPWs1KDQwLDMpLHEucHJveHk9RSxFLnNyYz16LEUubGlzdGVuZXI9cSxUPTk1O2Vsc2UgaWYoVD09OTcpei5hZGRMaXN0ZW5lcihFKSxUPTg2O2Vsc2UgaWYoVD09NTkpVD05OTtlbHNlIGlmKFQ9PTQwKVQ9KEZ8NzIpPT1GPzc1OjQ4O2Vsc2UgaWYoVD09ODYpRGkrKyxUPTg3O2Vsc2UgaWYoVD09NTUpVD16JiZRLlU\/NDU6MzM7ZWxzZXtpZihUPT04MSl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoVD09MzEpJDV8fChwPVYpLHA9PT12b2lkIDAmJihwPW0pLHouYWRkRXZlbnRMaXN0ZW5lcihHLnRvU3RyaW5nKCksRSxwKSxUPTg2O2Vsc2UgaWYoVD09OTUpVD16LmFkZEV2ZW50TGlzdGVuZXI\/MzE6NjA7ZWxzZSBpZihUPT00MilWPXFaKDI5LFcscCk\/ISFwLmNhcHR1cmU6ISFwLChBPWs1KDQwLDE2LHopKXx8KHpbTlpdPUE9bmV3IHYwKHopKSxxPUEuYWRkKEcsbCxRLFYsUyksVD0xMDtlbHNle2lmKFQ9PTU3KXRocm93IEVycm9yKCJhZGRFdmVudExpc3RlbmVyIGFuZCBhdHRhY2hFdmVudCBhcmUgdW5hdmFpbGFibGUuIik7aWYoVD09NDUpQT1RLlUsQShmdW5jdGlvbigpe3UoMzAsRyxXLFEsVyl9KSxUPTQ2O2Vsc2UgaWYoVD09MTEpcj05OSxTPVAwKHAsUSwwLDYpLFQ9OTQ7ZWxzZSBpZihUPT00NylRLlU9bSxwPVEuaS5wb3AoKSxUPTExO2Vsc2UgaWYoVD09OTQpcj0zNyxUPTU1O2Vsc2UgaWYoVD09OTgpej1sLmNsYXNzTGlzdC5jb250YWlucyhHKSxUPTc2O2Vsc2UgaWYoVD09MzQpVD16LmFkZExpc3RlbmVyJiZ6LnJlbW92ZUxpc3RlbmVyPzk3OjU3O2Vsc2UgaWYoVD09NjApVD16LmF0dGFjaEV2ZW50PzE5OjM0O2Vsc2UgaWYoVD09NDYpTT1TLFQ9OTI7ZWxzZSBpZihUPT0xNylUPShGKzdeMjkpPEYmJihGLTl8MTAwKT49Rj80OToyMDtlbHNlIGlmKFQ9PTMzKVQ9OTk7ZWxzZSBpZihUPT03NSlHPVcudHlwZSxUPTI4O2Vsc2UgaWYoVD09MilUPWwuZ1tHXS5sZW5ndGg9PW0\/NTo0ODtlbHNlIGlmKFQ9PTg3KVQ9Ris5Pj4zPT0yPzU5OjkyO2Vsc2UgaWYoVD09NDkpVD1sLmNsYXNzTGlzdD85ODo1MTtlbHNlIGlmKFQ9PTUxKVE9dSg3MixtLGwpLHo9TVooNzMsMTQsVyxHLFEpPj1XLFQ9NzY7ZWxzZSBpZihUPT0yMClUPShGfDQ4KT09Rj84Mjo4NztlbHNle2lmKFQ9PTkyKXJldHVybiBNO1Q9PTc2PyhNPXosVD0yMCk6VD09MTA\/VD1xLnByb3h5Pzg3Ojk2OlQ9PTE5JiYoei5hdHRhY2hFdmVudChzZig4MCwyOCwib24iLEcudG9TdHJpbmcoKSksRSksVD04Nil9fX19Y2F0Y2goeSl7aWYocj09MzcpdGhyb3cgeTtyPT05OSYmKGY9eSxUPTEyKX19fSx4NT1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBKXtmb3IocD02NTtwIT0zOylpZihwPT1tKXRoaXNbdGhpcysiIl09dGhpcyxwPTQyO2Vsc2UgaWYocD09NjUpcD05MztlbHNlIGlmKHA9PTQyKXA9bC0zPj0xMyYmKChsfDIpJjEyKTwyPzM0OjQ4O2Vsc2UgaWYocD09OTApe2E6e2ZvcihRIGluIHopaWYoRy5jYWxsKHZvaWQgMCx6W1FdLFEseikpe0E9VzticmVhayBhfUE9Rn1wPTYxfWVsc2UgaWYocD09MzQpUz10eXBlb2YgeixRPVMhPUc\/Uzp6P0FycmF5LmlzQXJyYXkoeik\/ImFycmF5IjpTOiJudWxsIixBPVE9PUZ8fFE9PUcmJnR5cGVvZiB6Lmxlbmd0aD09VyxwPTQ4O2Vsc2UgaWYocD09OTMpcD0obCYxMDUpPT1sPzkwOjYxO2Vsc2UgaWYocD09NjEpcD0obCs1JjUpPT0xP206NDI7ZWxzZSBpZihwPT00OClyZXR1cm4gQX0sWTU9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYpe2ZvcihBPTUxO0EhPTc5OylpZihBPT01MSlBPTE7ZWxzZSBpZihBPT02NilBPW07ZWxzZSBpZihBPT05MilHKz1GLFc9Vzw8RnxTW1FdLEE9MzY7ZWxzZSBpZihBPT0xKUE9KHA+PjEmNik8MSYmKHArbCYzKT49MT80Nzo3O2Vsc2UgaWYoQT09NylBPShwLTN8MjUpPHAmJihwLTN8MzYpPj1wPzQ4Ojg0O2Vsc2UgaWYoQT09MzYpQT1tO2Vsc2UgaWYoQT09MjgpRy09OCx6LnB1c2goVz4+RyYyNTUpLEE9NjY7ZWxzZSBpZihBPT00OClRPUc9MCx6PVtdLEE9NjU7ZWxzZXtpZihBPT04NClyZXR1cm4gRTtBPT0xMj9BPVE8Uy5sZW5ndGg\/OTI6NDk6QT09NDc\/KFY9ZnVuY3Rpb24oKXt9LHo9dm9pZCAwLEc9aVooUyxmdW5jdGlvbihxLGYpe2ZvcihmPTgwO2YhPTUxOylmPT05OD8oRiYmUmIoRiksej1xLFYoKSxWPXZvaWQgMCxmPTUxKTpmPT04MCYmKGY9Vj85ODo1MSl9LCEhRiksVz1HWzFdLFE9R1swXSxFPXt0b3A6ZnVuY3Rpb24ocSxmLFUsTSxyLFQseSl7Zm9yKFQ9ODtUIT0yOTspaWYoVD09NTgpVD1mPzM1OjQ3O2Vsc2V7aWYoVD09NDcpcmV0dXJuIE09UShVKSxxJiZxKE0pLE07VD09MzU\/VD16PzcyOjI6VD09NzI\/KHkoKSxUPTI5KTpUPT0yPyhyPVYsVj1mdW5jdGlvbigpeyhyKCksUmIpKHkpfSxUPTI5KTpUPT04JiYoeT1mdW5jdGlvbigpe3ooZnVuY3Rpb24oWCl7UmIoZnVuY3Rpb24oKXtxKFgpfSl9LFUpfSxUPTU4KX19LHBlOmZ1bmN0aW9uKHEpe1cmJlcocSl9fSxBPTcpOkE9PW0\/QT1HPjc\/Mjg6NTQ6QT09NDk\/KEU9eixBPTg0KTpBPT01ND8oUSsrLEE9MTIpOkE9PTY1JiYoQT0xMil9fSxBTj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUpe3tFPTI2O3doaWxlKEUhPTgyKWlmKEU9PTQ3KUU9KHotbCY4KTw3JiYoel4yNyk+PTE4PzcyOjgxO2Vsc2UgaWYoRT09NDkpRT0xMztlbHNlIGlmKEU9PTcyKVM9d2luZG93LmJ0b2EsRT04NDtlbHNlIGlmKEU9PTEzKUU9VzxHLmxlbmd0aD83Mzo2MDtlbHNlIGlmKEU9PTg0KUU9Uz8yNDo4MztlbHNlIGlmKEU9PTgxKUU9ej4+MiY3PzM0OjQwO2Vsc2UgaWYoRT09NzMpUSs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEcuc2xpY2UoVyxXKzgxOTIpKSxFPTg3O2Vsc2UgaWYoRT09NjApRj1TKFEpLnJlcGxhY2UoL1xcKy9nLCItIikucmVwbGFjZSgvXFwvL2csIl8iKS5yZXBsYWNlKC89L2csIiIpLEU9bTtlbHNlIGlmKEU9PTI0KVE9IiIsVz0wLEU9NDk7ZWxzZSBpZihFPT04NylXKz04MTkyLEU9MTM7ZWxzZSBpZihFPT0yNilFPTQ3O2Vsc2V7aWYoRT09MzQpcmV0dXJuIEE7aWYoRT09bSlBPUYsRT04MTtlbHNlIGlmKEU9PTQwKXthOntzd2l0Y2gocCl7Y2FzZSBHOkE9Uz8iZGlzYWJsZSI6ImVuYWJsZSI7YnJlYWsgYTtjYXNlIEY6QT1TPyJoaWdobGlnaHQiOiJ1bmhpZ2hsaWdodCI7YnJlYWsgYTtjYXNlIDQ6QT1TPyJhY3RpdmF0ZSI6ImRlYWN0aXZhdGUiO2JyZWFrIGE7Y2FzZSA4OkE9Uz8ic2VsZWN0IjoidW5zZWxlY3QiO2JyZWFrIGE7Y2FzZSBXOkE9Uz8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgUTpBPVM\/ImZvY3VzIjoiYmx1ciI7YnJlYWsgYTtjYXNlIDY0OkE9Uz8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31FPTM0fWVsc2UgRT09ODMmJihGPXZvaWQgMCxFPW0pfX19LEwyPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEpe2Zvcih6PTkxO3ohPTgwOylpZih6PT05KXRoaXMubj09PTA\/UT1bMCwwXToodGhpcy5vLnNvcnQoZnVuY3Rpb24oUyxwKXtyZXR1cm4gUy1wfSksUT1bdGhpcy5uLHRoaXMub1t0aGlzLm8ubGVuZ3RoPj4xXV0pLHo9MTQ7ZWxzZXtpZih6PT01NClyZXR1cm4gUTt6PT03Mz96PShsKzImNTYpPGwmJmwtMTw8Mj49bD85OjE0Ono9PTE0P3o9KGwrNSY4KTw3JiYobHw4KT49MTY\/NDU6NTQ6ej09bT8odGhpcy5BPXRoaXMuQSx0aGlzLmZRPXRoaXMuZlEsej03Myk6ej09NDU\/KHR5cGVvZiBXLmNsYXNzTmFtZT09Rj9XLmNsYXNzTmFtZT1HOlcuc2V0QXR0cmlidXRlJiZXLnNldEF0dHJpYnV0ZSgiY2xhc3MiLEcpLHo9NTQpOno9PTkxP3o9MTI6ej09MTImJih6PShsfDcpPj40PzczOm0pfX0sSD1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUpe3doaWxlKCEobSs1Pj40KSl7Zm9yKEc9SCgzMCxXKSx6PWw7Rj5sO0YtLSl6PXo8PDh8bFoodHJ1ZSxXLDgpO2lmKEQoVyxHLHopLCJtIilicmVha30obXwxKT49KG0tNyYxMHx8KHA9KHp8MCktMS0oel43KS0oenwtOCksQT1tYixXPVstNTYsLTI4LC00MSwtOCw1Nyw4MSxXLDQ4LC03MywtOTldLFE9R3VbRi5WXShGLmNrKSxRW0YuVl09ZnVuY3Rpb24oVil7cD0tNy0ocCs9NisoUz1WLDcqeiksMip+KHAmNykpKy0yKyh+cCY3KX0sUS5jb25jYXQ9ZnVuY3Rpb24oVixxLGYpe3JldHVybiBxPShTPShWPS0zMTUwKlMrKGY9RyUxNisxLFdbcCtsJjddKkcqZiktMTY4KkcqRypTK3AtZipTKyhBKCl8MCkqZi0gLTExNzYqRypTKzQyKlMqUys0KkcqRypmLHZvaWQgMCksV1tWXSksV1socCsxMyY3KSsoLTIqfnorLTMtKHp8LTMpKzIqKH56fDIpKV09cSxXW3ArKHomMildPS0yOCxxfSxFPVEpLDIwKSYmbSsxPj40PDImJihsLk8\/RT1XMChsLGwuaCk6KEc9Rk0obCw4LHRydWUpLDEtfkcrKEcmLTEyOSkrMioofkd8MTI4KSYmKEc9LTErKH5HJjEyOCktKH5HfDEyOCksVz1GTShsLDIsdHJ1ZSksRz0oRj1HPDwyLC0yKn4oRiZXKSstMisoRl5XKSkpLEU9RykpO3doaWxlKHt9KWlmKChtfDQ4KT09bSYmKFc9R3VbbC5WXShsLmlZKSxXW2wuVl09ZnVuY3Rpb24oKXtyZXR1cm4gRn0sVy5jb25jYXQ9ZnVuY3Rpb24oVil7Rj1WfSxFPVcpLHt9KWJyZWFrO3JldHVybiBFfSxyYz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCl7e3A9Mzc7d2hpbGUocCE9NTcpaWYocD09MzcpcD03ODtlbHNlIGlmKHA9PTk3KXo9TVooNzMsMTEsMCxXLEcpLChRPXo+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoRyx6LGwpLFM9USxwPTE0O2Vsc2UgaWYocD09NzgpcD0oRnw4KT09Rj81OTo5NTtlbHNle2lmKHA9PTE0KXJldHVybiBTO3A9PTk1P3A9Ri05Pj5tPzE0Ojk3OnA9PTU5JiYodGhpcy5zcmM9bCx0aGlzLmc9e30sdGhpcy5jSD0wLHA9OTUpfX19LHp1PWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWKXt7RT00Nzt3aGlsZShFIT05MilpZihFPT05NClFPTE1O2Vsc2UgaWYoRT09NDcpRT0xMztlbHNlIGlmKEU9PTUzKXp1KDQsNixGLHRydWUsbnVsbCx6LFEsU1tBXSxwKSxFPTc4O2Vsc2UgaWYoRT09MzgpRT0obF40Nik+Pm0\/ODI6OTM7ZWxzZSBpZihFPT03KUE9MCxFPTk0O2Vsc2UgaWYoRT09ODgpdGhpcy5saXN0ZW5lcj1XLHRoaXMucHJveHk9bnVsbCx0aGlzLnNyYz16LHRoaXMudHlwZT1RLHRoaXMuY2FwdHVyZT0hIUYsdGhpcy5Ecz1HLHRoaXMua2V5PSsrRWYsdGhpcy5CSD10aGlzLnlwPWZhbHNlLEU9NTI7ZWxzZSBpZihFPT01MilFPShsLTZeNik+PWwmJihsLTFeNSk8bD85NTozODtlbHNlIGlmKEU9PTY2KUY9UU8oRiw2KSx6JiZ6W1ZPXT96LkIuYWRkKFN0cmluZyhTKSxGLFcscVooMjYsRyxwKT8hIXAuY2FwdHVyZTohIXAsUSk6TihmYWxzZSxGLDU4LG51bGwsUyx6LFcsUSxwKSxFPTM4O2Vsc2UgaWYoRT09OTUpRT1BcnJheS5pc0FycmF5KFMpPzc6NjY7ZWxzZSBpZihFPT0xMylFPShsJjc3KT09bD84ODo1MjtlbHNlIGlmKEU9PTkzKXthOntmb3IoUz1XO1M8US5sZW5ndGg7KytTKWlmKHA9UVtTXSwhcC55cCYmcC5saXN0ZW5lcj09RiYmcC5jYXB0dXJlPT0hIXomJnAuRHM9PUcpe1Y9UzticmVhayBhfVY9LTF9RT04Mn1lbHNlIGlmKEU9PTc4KUErKyxFPTE1O2Vsc2V7aWYoRT09ODIpcmV0dXJuIFY7RT09MTUmJihFPUE8Uy5sZW5ndGg\/NTM6MzgpfX19LHY9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSl7e3A9MjQ7d2hpbGUocCE9NylpZihwPT02MilwPShXfDE2KT09Vz8wOjEyO2Vsc2UgaWYocD09MClEKG0sbCxGKSxGW1NBXT0yNzk2LHA9MTI7ZWxzZXtpZihwPT04MSlyZXR1cm4gQTtwPT03ND8oUysrLHA9NTgpOnA9PTcxPyhsLnhfKGZ1bmN0aW9uKEUpe0c9RX0sbSxGKSxBPUcscD02Mik6cD09MTI\/cD0oVy05XjE5KTxXJiZXLTg8PDE+PVc\/MjU6ODE6cD09NTg\/cD1TPFE\/Mjg6ODE6cD09MjQ\/cD0yMDpwPT0yMD9wPVctODwxNyYmKFd8NCk+PjM+PTE\/NzE6NjI6cD09MjU\/KFE9bC5sZW5ndGgsej10eXBlb2YgbD09PSJzdHJpbmciP2wuc3BsaXQoRik6bCxTPW0scD0yNik6cD09Mjg\/KFMgaW4geiYmRy5jYWxsKHZvaWQgMCx6W1NdLFMsbCkscD03NCk6cD09MjYmJihwPTU4KX19fSxNWj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMpe2ZvcihTPTkxO1MhPTg7KWlmKFM9PTcwKVM9KGxeNTApPj05JiYobF4yNCk8Mjc\/NDU6bTtlbHNle2lmKFM9PTk5KXJldHVybiBRO2lmKFM9PTI2KVM9KGwmMTI1KT09bD81Mjo3MDtlbHNlIGlmKFM9PTI3KVM9Rj8yMzoyMjtlbHNlIGlmKFM9PTIzKVM9dHlwZW9mIFchPT0iZnVuY3Rpb24iPzQ4Ojk5O2Vsc2V7aWYoUz09NDgpdGhyb3cgRXJyb3IoIkludmFsaWQgZGVjb3JhdG9yIGZ1bmN0aW9uICIrVyk7aWYoUz09NTIpVWYuY2FsbCh0aGlzKSxGfHxmMnx8KGYyPW5ldyBUdSksdGhpcy5lcT1udWxsLHRoaXMuTWE9ZmFsc2UsdGhpcy5ncT12b2lkIDAsdGhpcy5aPXRoaXMuekQ9dGhpcy5Pbj1udWxsLHRoaXMuTEM9ZmFsc2UsdGhpcy5RMT1udWxsLFM9NzA7ZWxzZSBpZihTPT00NSl7YTppZih0eXBlb2YgRz09PSJzdHJpbmciKVE9dHlwZW9mIFchPT0ic3RyaW5nInx8Vy5sZW5ndGghPTE\/LTE6Ry5pbmRleE9mKFcsRik7ZWxzZXtmb3Ioej1GO3o8Ry5sZW5ndGg7eisrKWlmKHogaW4gRyYmR1t6XT09PVcpe1E9ejticmVhayBhfVE9LTF9Uz1tfWVsc2V7aWYoUz09MjIpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0YpO1M9PTkxP1M9MjY6Uz09bSYmKFM9KGwrM14yOCk+PWwmJihsLTd8MTUpPGw\/Mjc6OTkpfX19fSxjPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWLHEsZil7e3E9MTM7d2hpbGUocSE9OTEpaWYocT09MTMpcT0xNztlbHNlIGlmKHE9PTMwKXE9KG0tOV4xOCk8bSYmKG0rMiYzMCk+PW0\/NjM6NzI7ZWxzZSBpZihxPT01NClxPShtPDwyJjIyKT49MTkmJihtLTcmMjgpPDI2PzU5OjM1O2Vsc2UgaWYocT09OTMpcT0obXw4OCk9PW0\/NTc6NTQ7ZWxzZSBpZihxPT01Nyl7aWYoVj16LkIuZ1tTdHJpbmcoVyldKXtmb3IoUT0oVj1WLmNvbmNhdCgpLEE9dHJ1ZSxsKTtRPFYubGVuZ3RoOysrUSkoRT1WW1FdKSYmIUUueXAmJkUuY2FwdHVyZT09RiYmKHA9RS5Ec3x8RS5zcmMsUz1FLmxpc3RlbmVyLEUuQkgmJk4obCx6LkIsNzIsRSksQT1TLmNhbGwocCxHKSE9PWZhbHNlJiZBKTtmPUEmJiFHLmRlZmF1bHRQcmV2ZW50ZWR9ZWxzZSBmPXRydWU7cT01NH1lbHNlIGlmKHE9PTE2KWwuYjQ9ZnVuY3Rpb24oKXtyZXR1cm4gbC5acz9sLlpzOmwuWnM9bmV3IGx9LGwuWnM9dm9pZCAwLHE9OTM7ZWxzZSBpZihxPT02MylxPTcyO2Vsc2V7aWYocT09NzIpcmV0dXJuIGY7cT09MTc\/cT0obSYxMDYpPT1tPzE2OjkzOnE9PTU5PyhmPSEhKFcud3EmRikmJiEhKFcuUCZGKSE9RyYmKCEoej1XLlh4LCh6fGwpKyh+el5GKS0oenx+RikpfHxXLmRpc3BhdGNoRXZlbnQoQU4oNTIsNSwyLDE2LDEsMywzMixHLEYpKSkmJiFXLkEscT0zNSk6cT09MzU\/cT0obV40OSk+PjM9PTE\/ODg6MzA6cT09ODgmJihXLmkuc3BsaWNlKGwsbCxGKSxxPTMwKX19fSxwXz1mdW5jdGlvbihtLGwpe3JldHVybiBNVC5jYWxsKHRoaXMsbnVsbCxtLDE5LGwpfSxnPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEpe2lmKFtdKShtJjQ1KT09bSYmKGwuTz9RPVcwKGwsbC5oKTooRj1GTShsLDgsdHJ1ZSksMS1+RisoRiYtMTI5KSsyKih+RnwxMjgpJiYoRj0tMSsofkYmMTI4KS0ofkZ8MTI4KSxXPUZNKGwsMix0cnVlKSxGPShHPUY8PDIsLTIqfihHJlcpKy0yKyhHXlcpKSksUT1GKSk7cmV0dXJuKChtXjI3KSYoKG0tN14xNyk+PW0mJihtLTR8MzUpPG0mJihsLk8\/UT1XMChsLGwuaCk6KEY9Rk0obCw4LHRydWUpLDEtfkYrKEYmLTEyOSkrMioofkZ8MTI4KSYmKEY9LTErKH5GJjEyOCktKH5GfDEyOCksVz1GTShsLDIsdHJ1ZSksRj0oRz1GPDwyLC0yKn4oRyZXKSstMisoR15XKSkpLFE9RikpLDYpKTwzJiZtLTM+PS02MiYmKFc9bFoodHJ1ZSxGLDgpLFcmMTI4JiYoVz0oRz0tMip+Vyt+KFd8MTI3KS0ofldeMTI3KStsKih+V3wxMjcpLHo9bFoodHJ1ZSxGLDgpPDw3LC1+KEd8eikrKEdeeikrKH5HXnopKSksUT1XKSxRfSxHNz1mdW5jdGlvbihtLGwsRixXLEcseixRKXt7ej01Nzt3aGlsZSh6IT03OClpZih6PT03MSlGKGZ1bmN0aW9uKFMpe1MoVyl9KSxRPVtmdW5jdGlvbigpe3JldHVybiBXfSxmdW5jdGlvbigpe31dLHo9OTQ7ZWxzZSBpZih6PT00OSlHPUYsUT1mdW5jdGlvbigpe3JldHVybiBHPFcubGVuZ3RoP3tkb25lOmZhbHNlLHZhbHVlOldbRysrXX06e2RvbmU6dHJ1ZX19LHo9NDtlbHNlIGlmKHo9PW0pUT1NYXRoLmZsb29yKHRoaXMublErKHRoaXMuUigpLXRoaXMuc24pKSx6PTY3O2Vsc2UgaWYoej09NTApej1sLTkmMz85NDo3MTtlbHNlIGlmKHo9PTU0KXo9KGwmMTEpPT1sPzc6NTA7ZWxzZSBpZih6PT00KXo9KGx8NzIpPT1sP206Njc7ZWxzZSBpZih6PT00Nyl6PShsfDE2KT09bD80OTo0O2Vsc2UgaWYoej09NTcpej01NDtlbHNlIGlmKHo9PTIzKVE9TWF0aC5mbG9vcih0aGlzLlIoKSksej00NztlbHNlIGlmKHo9PTk0KXo9KGwtNSY3KT09MT8yMzo0NztlbHNlIGlmKHo9PTcpaE4uY2FsbCh0aGlzLEYsV3x8bWUuYjQoKSxHKSx6PTUwO2Vsc2UgaWYoej09NjcpcmV0dXJuIFF9fSxvYj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVixxLGYpe2ZvcihxPTc4O3EhPTkxOylpZihxPT05OSlxPVE\/MjE6NTY7ZWxzZSBpZihxPT0yKXE9Vj83NTo1NjtlbHNlIGlmKHE9PTU2KXE9KChtfDQpJjEyKTw2JiYobXwzKT49LTczPzQ0OjI3O2Vsc2UgaWYocT09Mzcpej10aGlzLmNvbnN0cnVjdG9yLHE9NTg7ZWxzZSBpZihxPT04MClxPUFycmF5LmlzQXJyYXkoUyk\/MjQ6NjA7ZWxzZSBpZihxPT05NylhYi5jYWxsKHRoaXMsVykscT05NDtlbHNlIGlmKHE9PTMyKVEuQi5yZW1vdmUoU3RyaW5nKFMpLHoscCxXKSxxPTU2O2Vsc2UgaWYocT09ODUpcT00MTtlbHNlIGlmKHE9PTc2KXE9OTU7ZWxzZSBpZihxPT01OClxPTM5O2Vsc2UgaWYocT09MzEpej0oUz1PYmplY3QuZ2V0UHJvdG90eXBlT2Yoei5wcm90b3R5cGUpKSYmUy5jb25zdHJ1Y3RvcixxPTQzO2Vsc2UgaWYocT09NzgpcT03NDtlbHNlIGlmKHE9PTIzKXE9KEc9d2NbcF0pPzc2OjMxO2Vsc2UgaWYocT09MjEpVj1rNSg0MCw4LFEpLHE9MjtlbHNlIGlmKHE9PTM0KUUrKyxxPTQxO2Vsc2UgaWYocT09NDQpe2lmKCh6PUYubGVuZ3RoLHopPmwpe2ZvcihHPShXPUFycmF5KHopLGwpO0c8ejtHKyspV1tHXT1GW0ddO2Y9V31lbHNlIGY9W107cT0yN31lbHNlIGlmKHE9PTg3KXRoaXMuTD1RLHE9MTk7ZWxzZSBpZihxPT03NClxPW08PDEmNz81Njo4MDtlbHNlIGlmKHE9PTQxKXE9RTxTLmxlbmd0aD8zOjU2O2Vsc2UgaWYocT09NDMpcT0zOTtlbHNlIGlmKHE9PTI0KUU9RixxPTg1O2Vsc2UgaWYocT09NzUpKEE9Vi5GdyhTLHosVyxwKSkmJkooMCxudWxsLDQxLEEpLHE9NTY7ZWxzZSBpZihxPT05NSlRPUc\/dHlwZW9mIEcuYjQ9PT0iZnVuY3Rpb24iP0cuYjQoKTpuZXcgRzpudWxsLHE9ODc7ZWxzZSBpZihxPT02MClwPXFaKDI4LGwsRyk\/ISFHLmNhcHR1cmU6ISFHLHo9UU8oeiwzKSxxPTM2O2Vsc2UgaWYocT09MzkpcT16PzYyOjk1O2Vsc2UgaWYocT09MzYpcT1RJiZRW1ZPXT8zMjo5OTtlbHNlIGlmKHE9PTk0KXE9KFE9Rik\/ODc6Mzc7ZWxzZSBpZihxPT02MilwPXFaKDUseikscT0yMztlbHNlIGlmKHE9PTI3KXE9bS04Pj40PzE5Ojk3O2Vsc2V7aWYocT09MTkpcmV0dXJuIGY7cT09MyYmKG9iKDI4LG51bGwsMCxXLEcseixRLFNbRV0pLHE9MzQpfX0sU0s9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYscSxmLFUsTSl7Zm9yKFU9NDtVIT0zOTspe2lmKFU9PTc0KXJldHVybiBNO2lmKFU9PTI3KVU9Rj4+MSY3PzM2Ojk7ZWxzZSBpZihVPT05KVU9UT8yNTozNjtlbHNlIGlmKFU9PTQpVT0yNztlbHNlIGlmKFU9PTM2KVU9KEZ8MjQpPT1GPzE5Ojc0O2Vsc2UgaWYoVT09MjUpe2E6e2ZvcihwPShmPVZxLHouc3BsaXQoVykpLEU9RztFPHAubGVuZ3RoLWw7RSsrKXtpZihWPXBbRV0sIShWIGluIGYpKWJyZWFrIGE7Zj1mW1ZdfShTPVEoKEE9ZltxPXBbcC5sZW5ndGgtbF0scV0sQSkpLFMhPUEmJlMhPW0pJiZxVChmLHEse2NvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWUsdmFsdWU6U30pfVU9MzZ9ZWxzZSBVPT0xOSYmKE09R3VbbV0oR3UucHJvdG90eXBlLHtwcm90b3R5cGU6bCxzcGxpY2U6bCxwcm9wZXJ0eUlzRW51bWVyYWJsZTpsLGxlbmd0aDpsLGZsb29yOmwsY2FsbDpsLHBvcDpsLHBhcmVudDpsLHJlcGxhY2U6bCxjb25zb2xlOmwsZG9jdW1lbnQ6bCxzdGFjazpsfSksVT03NCl9fSxKPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWLHEsZixVKXt7VT0xMTt3aGlsZShVIT03NClpZihVPT01OCl6PVcudHlwZSxHPVcucHJveHksUS5yZW1vdmVFdmVudExpc3RlbmVyP1EucmVtb3ZlRXZlbnRMaXN0ZW5lcih6LEcsVy5jYXB0dXJlKTpRLmRldGFjaEV2ZW50P1EuZGV0YWNoRXZlbnQoc2YoODAsMjAsIm9uIix6KSxHKTpRLmFkZExpc3RlbmVyJiZRLnJlbW92ZUxpc3RlbmVyJiZRLnJlbW92ZUxpc3RlbmVyKEcpLERpLS0sUz1rNSg0MCwyNCxRKSxVPTQ2O2Vsc2UgaWYoVT09NClmPXR5cGVvZiBXLmNsYXNzTmFtZT09bT9XLmNsYXNzTmFtZTpXLmdldEF0dHJpYnV0ZSYmVy5nZXRBdHRyaWJ1dGUobCl8fCIiLFU9Mjk7ZWxzZSBpZihVPT00NilVPVM\/MTg6NDU7ZWxzZSBpZihVPT0zOSlVPShGfDcyKT09Rj8yODo4MztlbHNlIGlmKFU9PTE4KU4obSxTLDc0LFcpLFU9MjU7ZWxzZSBpZihVPT03OSlVPVEmJlFbVk9dPzM2OjU4O2Vsc2UgaWYoVT09OTQpVT0oRj4+MSYxNSk9PTM\/NTY6MjtlbHNlIGlmKFU9PTI1KVU9Uy5jSD09bT80MzozOTtlbHNlIGlmKFU9PTQ1KVFPKGwsMjcsVyksVT0zOTtlbHNlIGlmKFU9PTExKVU9OTQ7ZWxzZSBpZihVPT03MSlRPVcuc3JjLFU9Nzk7ZWxzZSBpZihVPT0zNilOKG0sUS5CLDczLFcpLFU9Mzk7ZWxzZSBpZihVPT0xKWY9ISEoRz1XLlN2LH4oRyZtKS0gLTEtbCp+bStsKihHfH5tKSkmJiEhKFcud3EmbSksVT00NDtlbHNlIGlmKFU9PTU2KXtpZigoKHE9KFY9KHA9KEE9bS5DUT4oenx8bS5YdysrLGwpJiZtLm1RJiZtLkJrJiZtLmk0PD0xJiYhbS5PJiYhbS5VJiYoIXp8fG0uUmItRz4xKSYmZG9jdW1lbnQuaGlkZGVuPT0wLG0uWHcpPT00KXx8QT9tLlIoKTptLlJqLFYtbS5SaiksbS5OKz1xPj4xND5sLG0pLlMmJihtLlM9KFE9bS5TLEU9KG0uTisxPj4yKSoocTw8MiksMyooUXxsKS0oRXxsKSsyKn5RLTIqKFF8fkUpKSksbSkuWT1tLk4rMT4+MiE9bHx8bS5ZLHB8fEEpbS5Saj1WLG0uWHc9bDtVPShBPyhtLkNRPm0uUEgmJihtLlBIPW0uQ1EpLFYtbS5zbjxtLkNRLShXPzI1NTp6PzU6Mik\/Zj1mYWxzZToobS5SYj1HLFM9ZShtLHo\/ODA6NDYpLEQobSw0NixtLmopLG0uaS5wdXNoKFtJYixTLHo\/RysxOkcsbS5sLG0uS10pLG0uVT1SYixmPXRydWUpKTpmPWZhbHNlLDIpfWVsc2UgaWYoVT09ODMpVT0oRnw4MCk9PUY\/NDoyOTtlbHNlIGlmKFU9PTIpVT0oRiY3Myk9PUY\/MTo0NDtlbHNlIGlmKFU9PTI4KXo9bSx6Xj16PDwxMyx6PShHPXo+PjE3LChHfDApLSh6JkcpKyh6Jn5HKSksel49ejw8NSwoej0tfih6JlcpKyh+eiZXKSsoenx+VykpfHwoej0xKSxmPWxeeixVPTgzO2Vsc2UgaWYoVT09NDIpVT10eXBlb2YgVyE9PSJudW1iZXIiJiZXJiYhVy55cD83MTozOTtlbHNle2lmKFU9PTI5KXJldHVybiBmO1U9PTQ0P1U9KEZ8NDApPT1GPzQyOjM5OlU9PTQzJiYoUy5zcmM9bCxRW05aXT1sLFU9MzkpfX19LFFPPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWLHEsZil7Zm9yKGY9MTg7ZiE9NTc7KXtpZihmPT03OSlyZXR1cm4gcTtpZihmPT05MSlmPTg7ZWxzZSBpZihmPT0wKWY9KGwtOSYzKT49MSYmbC03PDE4Pzk4OjY4O2Vsc2UgaWYoZj09MjQpZj0obHwyNCk9PWw\/ODY6MDtlbHNlIGlmKGY9PTQ0KUE9U1tFXSxmPTE3O2Vsc2UgaWYoZj09MjMpRSsrLGY9ODtlbHNlIGlmKGY9PTE4KWY9MjQ7ZWxzZSBpZihmPT04MylWKEEpLGY9MjM7ZWxzZSBpZihmPT04KWY9RTxTLmxlbmd0aD80NDo3OTtlbHNlIGlmKGY9PTE3KWY9IXg1KDE3LDE2LEcsIm51bWJlciIsbSxBKXx8cVooMzAsbnVsbCxBKSYmQS5ub2RlVHlwZT5GPzgzOjUxO2Vsc2UgaWYoZj09ODYpRi55cD10cnVlLEYubGlzdGVuZXI9bSxGLnByb3h5PW0sRi5zcmM9bSxGLkRzPW0sZj0wO2Vsc2UgaWYoZj09OTgpdHlwZW9mIG09PT0iZnVuY3Rpb24iP3E9bToobVtVal18fChtW1VqXT1mdW5jdGlvbihVKXtyZXR1cm4gbS5oYW5kbGVFdmVudChVKX0pLHE9bVtVal0pLGY9Njg7ZWxzZSBpZihmPT01MSl7YTp7aWYoQSYmdHlwZW9mIEEubGVuZ3RoPT0ibnVtYmVyIil7aWYocVooMjcsbnVsbCxBKSl7cD10eXBlb2YgQS5pdGVtPT0iZnVuY3Rpb24ifHx0eXBlb2YgQS5pdGVtPT0ic3RyaW5nIjticmVhayBhfWlmKHR5cGVvZiBBPT09ImZ1bmN0aW9uIil7cD10eXBlb2YgQS5pdGVtPT0iZnVuY3Rpb24iO2JyZWFrIGF9fXA9V31mPSh2KEYscD9vYigzLEYsQSk6QSwiIiwzMixWKSwyMyl9ZWxzZSBmPT02OD9mPShsJjEyMik9PWw\/MTI6Nzk6Zj09MTImJihWPWZ1bmN0aW9uKFUpe1UmJlEuYXBwZW5kQ2hpbGQodHlwZW9mIFU9PT0ic3RyaW5nIj96LmNyZWF0ZVRleHROb2RlKFUpOlUpfSxFPTEsZj05MSl9fSxKTj1mdW5jdGlvbihtLGwsRixXLEcpe2ZvcihXPTMyO1chPTY3OylpZihXPT1tKUIwLmNhbGwodGhpcyksdGhpcy5CPW5ldyB2MCh0aGlzKSx0aGlzLkRLPXRoaXMsdGhpcy50Tz1udWxsLFc9NztlbHNlIGlmKFc9PTcpVz0oRl40KT49bCYmKEYtOCY2KTw2Pzk3OjIzO2Vsc2UgaWYoVz09MzIpVz00NTtlbHNlIGlmKFc9PTQ1KVc9Ri0yPj40Pzc6bTtlbHNle2lmKFc9PTIzKXJldHVybiBHO1c9PTk3JiYoVz0yMyl9fSx0Tj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVil7Zm9yKFY9MzU7ViE9NTA7KWlmKFY9PTIwKXA9e30sbjI9KHBbV109ZmFsc2UscC5hdXRvY29tcGxldGU9Im5vbmUiLHAuZHJvcGVmZmVjdD0ibm9uZSIscC5oYXNwb3B1cD1mYWxzZSxwW0ZdPSJvZmYiLHAubXVsdGlsaW5lPWZhbHNlLHAubXVsdGlzZWxlY3RhYmxlPWZhbHNlLHAub3JpZW50YXRpb249InZlcnRpY2FsIixwLnJlYWRvbmx5PWZhbHNlLHAucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixwLnJlcXVpcmVkPWZhbHNlLHAuc29ydD0ibm9uZSIscC5idXN5PWZhbHNlLHAuZGlzYWJsZWQ9ZmFsc2UscC5oaWRkZW49ZmFsc2UscC5pbnZhbGlkPSJmYWxzZSIscCksVj01ODtlbHNlIGlmKFY9PTIzKUcuc2V0QXR0cmlidXRlKEEseiksVj05MztlbHNlIGlmKFY9PTg0KVY9bjI\/NTg6MjA7ZWxzZSBpZihWPT01OClTPW4yLFEgaW4gUz9HLnNldEF0dHJpYnV0ZShBLFNbUV0pOkcucmVtb3ZlQXR0cmlidXRlKEEpLFY9OTM7ZWxzZSBpZihWPT05MylWPWwtND49MjUmJmwtNzw0ND8yNzoxNTtlbHNlIGlmKFY9PTUzKVY9ej09PSIifHx6PT12b2lkIDA\/ODQ6MjM7ZWxzZSBpZihWPT05MSlFPUYmJkYucGFyZW50Tm9kZT9GLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoRik6bnVsbCxWPTgyO2Vsc2V7aWYoVj09ODIpcmV0dXJuIEU7Vj09MzU\/Vj05NDpWPT0wPyhGLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24ocSl7dE4oNTQsMjksInN0cmluZyIsIiAiLCJjbGFzcyIsMCxGLHEpfSk6TDIoNDcsMzAsInN0cmluZyIsRixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwodSg3MywiY2xhc3MiLEYpLGZ1bmN0aW9uKHEpe3JldHVybiEoTVooNzMsMTAsMCxxLFcpPj0wKX0pLmpvaW4oIiAiKSksVj1tKTpWPT02OD8oQXJyYXkuaXNBcnJheSh6KSYmKHo9ei5qb2luKCIgIikpLEE9ImFyaWEtIitRLFY9NTMpOlY9PW0\/Vj0obCs3JjI5KTxsJiYobCsxXjQpPj1sPzY4OjkzOlY9PTk0P1Y9KGw+PjImMTIpPDEmJmwrMz49Mz8wOm06Vj09MTU\/Vj0obCYxMjQpPT1sPzkxOjgyOlY9PTI3JiYoUS5jbGFzc0xpc3Q\/US5jbGFzc0xpc3QucmVtb3ZlKFMpOk4oRyxRLDE3LHosUykmJkwyKDQ3LDMyLEYsUSxBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwodSg3NSxHLFEpLGZ1bmN0aW9uKHEpe3JldHVybiBxIT1TfSkuam9pbihXKSksVj0xNSl9fSxBZT1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVil7e1Y9OTU7d2hpbGUoViE9NTgpaWYoVj09MjYpUz10cnVlLFY9MzM7ZWxzZSBpZihWPT03NylWPUFycmF5LmlzQXJyYXkoUSk\/NTc6NzQ7ZWxzZSBpZihWPT0zMClRPW5ldyBwXyhGLHRoaXMpLHo9bC5Ec3x8bC5zcmMsRz1sLmxpc3RlbmVyLGwuQkgmJkooMCxudWxsLDQwLGwpLFM9Ry5jYWxsKHosUSksVj0zMztlbHNlIGlmKFY9PTI3KUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoRixmdW5jdGlvbihxLGYsVSl7Zm9yKFU9MTI7VSE9NzU7KVU9PTYyPyhsLmNsYXNzTGlzdC5hZGQocSksVT03NSk6VT09MzM\/VT1OKCJjbGFzcyIsbCwxNiwwLHEpPzc1OjY5OlU9PTEyP1U9bC5jbGFzc0xpc3Q\/NjI6MzM6VT09NjkmJihmPUooInN0cmluZyIsImNsYXNzIiw4MCxsKSxMMig0NywxNiwic3RyaW5nIixsLGYrKGYubGVuZ3RoPjA\/IiAiK3E6cSkpLFU9NzUpfSksVj01NDtlbHNlIGlmKFY9PTY5KVY9KChXXjQzKSYxMyk+PTkmJihXfDQpPj41PDU\/MTQ6NjI7ZWxzZSBpZihWPT02MCl6dSg0LDcsUyxGLGwscCx6LFEsRyksVj02OTtlbHNlIGlmKFY9PTU0KVY9Vzw8MSY3PzcwOjE1O2Vsc2UgaWYoVj09OTgpQWUoZmFsc2UsbnVsbCx0cnVlLDU4LEcseixRW0FdLFMscCksVj0xMTtlbHNle2lmKFY9PTcwKXJldHVybiBFO2lmKFY9PTc5KVY9KFctNV4zMCk8VyYmKFcrNiY1OSk+PVc\/NTU6NTQ7ZWxzZSBpZihWPT0zMylFPVMsVj02MjtlbHNlIGlmKFY9PTQxKVY9QTxRLmxlbmd0aD85ODo2OTtlbHNlIGlmKFY9PTc0KVM9UU8oUyw3KSxwJiZwW1ZPXT9wLkIuYWRkKFN0cmluZyhRKSxTLG0scVooMjUsbCxHKT8hIUcuY2FwdHVyZTohIUcseik6TihtLFMsNTcsbnVsbCxRLHAsbSx6LEcpLFY9Njk7ZWxzZSBpZihWPT03MylWPUcmJkcub25jZT82MDo3NztlbHNlIGlmKFY9PTE1KWwuT24mJmwuT24uZm9yRWFjaChGLHZvaWQgMCksVj03MDtlbHNlIGlmKFY9PTgyKXtmb3IoeiBpbiBTPUYsRy5nKXtmb3IoUT0ocD1HLmdbel0sRik7UTxwLmxlbmd0aDtRKyspKytTLFFPKGwsMjkscFtRXSk7ZGVsZXRlIChHLmNILS0sRykuZ1t6XX1WPTc5fWVsc2UgaWYoVj09NjIpVj0oVy01XjYpPj1XJiYoVy04XjMpPFc\/ODI6Nzk7ZWxzZSBpZihWPT0xMSlBKyssVj00MTtlbHNlIGlmKFY9PTMpVj00MTtlbHNlIGlmKFY9PTQ2KVY9KFctM14xOSk8VyYmKFcrNl4yMCk+PVc\/NzM6Njk7ZWxzZSBpZihWPT0xNClWPWwueXA\/MjY6MzA7ZWxzZSBpZihWPT01NSlWPWwuY2xhc3NMaXN0PzI3OjE7ZWxzZSBpZihWPT0xKXtmb3IoeiBpbiBHPSgoQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbCh1KDc0LCJjbGFzcyIsKFE9e30sbCkpLGZ1bmN0aW9uKHEpe1FbcV09dHJ1ZX0pLEFycmF5LnByb3RvdHlwZSkuZm9yRWFjaC5jYWxsKEYsZnVuY3Rpb24ocSl7UVtxXT10cnVlfSksIiIpLFEpRys9Ry5sZW5ndGg+MD8iICIrejp6O1Y9KEwyKDQ3LDMxLCJzdHJpbmciLGwsRyksNTQpfWVsc2UgVj09OTU\/Vj00NjpWPT01NyYmKEE9MCxWPTMpfX19LGs1PWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEpe3t6PTU2O3doaWxlKHohPTIpe2lmKHo9PTM0KXJldHVybiBRO3o9PTY1PyhXPUZbTlpdLFE9VyBpbnN0YW5jZW9mIHYwP1c6bnVsbCx6PTU1KTp6PT01NT96PWw+PjI+PTAmJihsLTkmNik8Nj82MzozNDp6PT01Nj96PW06ej09bT96PShsJjEyNSk9PWw\/NjU6NTU6ej09NjMmJihHPWZ1bmN0aW9uKFMpe3JldHVybiBGLmNhbGwoRy5zcmMsRy5saXN0ZW5lcixTKX0sRj1PZixRPUcsej0zNCl9fX0sZUE9ZnVuY3Rpb24obSxsLEYsVyxHLHope3t6PW07d2hpbGUoeiE9NTUpaWYoej09bCl0aGlzLlk9Vyx6PTYzO2Vsc2UgaWYoej09MTQpej0oRis5XjE2KTxGJiYoRi04XjI1KT49Rj9sOjYzO2Vsc2UgaWYoej09bSl6PTIzO2Vsc2UgaWYoej09MjMpej0oRl4xOCk+PjM+PTAmJihGPDwyJjgpPDg\/MzE6MTQ7ZWxzZSBpZih6PT0zMSlHPXRoaXMubj09PTA\/MDpNYXRoLnNxcnQodGhpcy51NC90aGlzLm4pLHo9MTQ7ZWxzZSBpZih6PT02MylyZXR1cm4gR319LFFxPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWKXtpZigoVy0oVzw8MSY2fHwoRT0oej1GW0ddPDwyNCxRPUZbfihHJmwpLSAtNiszKihHJi0yKSsyKih+R15sKV08PDE2LDIqKHomUSkrfih6JlEpKyh6Jn5RKS0oenx+USkpfEZbMiooRyYyKSsoRyYtMykrKH5HJjIpXTw8OHxGWyhHfDApKzNdKSwxKSY1KTw1JiZXLTU+PjM+PTEpc3dpdGNoKCEoej1XbSgiY2FsbCIsRywiYXJyYXkiKT09PSJhcnJheSI\/RzpbR10sdGhpcy5DKSl7Y2FzZSB0cnVlOnRyeXtTPSF0aGlzLmkubGVuZ3RoLFE9W10sYyg1NywwLFtqSyxRLHpdLHRoaXMpLGMoNTcsMCxbRlYsbCxRXSx0aGlzKSxGJiYhU3x8dSgyOSwyNTQsbSx0aGlzLEYpfWNhdGNoKHEpe0gwKCJ+IiwzMiwiOiIsdGhpcyxxKSxsKHRoaXMuQyl9YnJlYWs7Y2FzZSAwIT0hWyhmYWxzZSE9bnVsbCkudHJ1ZV06bCh0aGlzLkMpO2JyZWFrfXJldHVybihXLTdeMTgpPFcmJihXKzleMjMpPj1XJiYoRT1WPWZ1bmN0aW9uKCl7Zm9yKHZhciBxPTM0O3EhPTM3OylpZihxPT01OClwJiZBJiZwLnJlbW92ZUV2ZW50TGlzdGVuZXIoQSxWLHo3KSxxPTM3O2Vsc2UgaWYocT09NDkpcT1HLkc\/MjI6NTg7ZWxzZSBpZihxPT0xMilxPXo9PWw\/MjY6MjQ7ZWxzZSBpZihxPT0zKXE9ej09Rj80NjoxMjtlbHNlIGlmKHE9PTM0KXE9Ry5ZPT1HPzQ5OjM3O2Vsc2UgaWYocT09NDYpe3ZhciBmPXUoMjgsKGMoNTYsMCxVLEcpLDI1NCksZmFsc2UsRyxmYWxzZSk7cT02N31lbHNle2lmKHE9PTY3KXJldHVybiBmO2lmKHE9PTIyKXZhciBVPVtFaixTLFEsdm9pZCAwLHAsQSwocT0zLGFyZ3VtZW50cyldO2Vsc2UgaWYocT09MjYpe3ZhciBNPSFHLmkubGVuZ3RoOyhjKDYwLDAsVSxHKSxNKSYmdSgyNywyNTQsZmFsc2UsRyxmYWxzZSkscT02N31lbHNlIHE9PTI0JiYoZj1QMChVLEcsMCw2KSxxPTY3KX19KSxFfSx1PWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSl7Zm9yKEU9NzQ7RSE9OTU7KWlmKEU9PTQ4KXtpZigoej0oRz1sLHcpLnRydXN0ZWRUeXBlcykmJnouY3JlYXRlUG9saWN5KXt0cnl7Rz16LmNyZWF0ZVBvbGljeShXLHtjcmVhdGVIVE1MOlppLGNyZWF0ZVNjcmlwdDpaaSxjcmVhdGVTY3JpcHRVUkw6Wml9KX1jYXRjaChWKXtpZih3LmNvbnNvbGUpdy5jb25zb2xlW0ZdKFYubWVzc2FnZSl9QT1HfWVsc2UgQT1HO0U9ODJ9ZWxzZSBpZihFPT05NClFPShtfDU2KT09bT80MToyMjtlbHNlIGlmKEU9PTQyKUE9Ri5jbGFzc0xpc3Q\/Ri5jbGFzc0xpc3Q6Sigic3RyaW5nIixsLDgxLEYpLm1hdGNoKC9cXFMrL2cpfHxbXSxFPTQ5O2Vsc2UgaWYoRT09NDkpRT1tKzM8NDMmJm0tMj49MjQ\/MzU6OTQ7ZWxzZSBpZihFPT0zNSl7aWYoVy5pLmxlbmd0aCl7Vy5tUT0hKFcubVEmJiI6VFFSOlRRUjoiKCksVy5Caz1HLDApO3RyeXt6PVcuUigpLFcuUEg9MCxXLnNuPXosVy5Saj16LFcuWHc9MCxTPU4obnVsbCwiOiIsOCx0cnVlLDI1NCxHLFcpLFE9Rj8wOjEwLHA9Vy5SKCktVy5zbixXLm5RKz1wLFcuS1EmJlcuS1EocC1XLkYsVy5sLFcuSyxXLlBIKSxXLks9ZmFsc2UsVy5sPWZhbHNlLFcuRj0wLHA8UXx8Vy5OYS0tPD0wfHwocD1NYXRoLmZsb29yKHApLFcucnEucHVzaChwPD1sP3A6MjU0KSl9ZmluYWxseXtXLm1RPWZhbHNlfUE9U31FPTk0fWVsc2UgaWYoRT09MjcpRT1tPj4yJjE1PzgyOjQ4O2Vsc2V7aWYoRT09NjYpcmV0dXJuIEE7RT09NDM\/KEE9bCxFPTY2KTpFPT03ND9FPTI3OkU9PTQxP0U9MjI6RT09MjI\/RT0obSY1OCk9PW0\/NDM6NjY6RT09ODImJihFPShtLTheMjgpPj1tJiYobSs0JjYzKTxtPzQyOjQ5KX19LEgwPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEpe3tRPTE2O3doaWxlKFEhPTcyKWlmKFE9PTM0KXRoaXMuby5wdXNoKEYpLFE9NDk7ZWxzZSBpZihRPT0zOClRPXRoaXMuby5sZW5ndGg8NTA\/MzQ6MTE7ZWxzZSBpZihRPT0yNylXLkM9KChXLkM\/Vy5DK206IkU6IikrRy5tZXNzYWdlK0YrRy5zdGFjaykuc2xpY2UoMCwyMDQ4KSxRPTk0O2Vsc2UgaWYoUT09OTkpdGhpcy52SD13LmRvY3VtZW50fHxkb2N1bWVudCxRPTQyO2Vsc2UgaWYoUT09NDIpUT0obF4zNCk+PjU8MiYmKGwrNSYxMyk+PTEyPzI2OjQ5O2Vsc2UgaWYoUT09MTYpUT00MztlbHNlIGlmKFE9PTQzKVE9KGxeNDEpPj41PDImJihsPDwyJjcpPj00Pzk5OjQyO2Vsc2UgaWYoUT09MjYpdGhpcy5uKyssUT0zODtlbHNle2lmKFE9PTk0KXJldHVybiB6O1E9PTExPyhXPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLFc8NTAmJih0aGlzLm9bV109RiksUT00OSk6UT09NDkmJihRPShsKzgmNDMpPj1sJiZsKzg+PjI8bD8yNzo5NCl9fX0sSG09ZnVuY3Rpb24obSxsLEYsVyxHLHope0YuVEQubGVuZ3RoPmw\/TF8oW3JNLDM2XSxGLHosbSk6KEYuVEQucHVzaChGLkcuc2xpY2UoKSksRi5HW0ddPXZvaWQgMCxaKEYsRyxXKSl9LE1UPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWKXtmb3IoVj05MTtWIT0zMTspaWYoVj09NTEpVj0oKEZ8MikmMTUpPT0yPzQyOjc5O2Vsc2UgaWYoVj09NjYpVj03MztlbHNlIGlmKFY9PTY3KWZfLmNhbGwodGhpcyxsP2wudHlwZToiIiksdGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1tLHRoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD10aGlzLm9mZnNldFk9dGhpcy5vZmZzZXRYPTAsdGhpcy5rZXk9IiIsdGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MCx0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmFsdEtleT10aGlzLmN0cmxLZXk9ZmFsc2UsdGhpcy5zdGF0ZT1tLHRoaXMucG9pbnRlcklkPTAsdGhpcy5wb2ludGVyVHlwZT0iIix0aGlzLnRpbWVTdGFtcD0wLHRoaXMuR0Q9bSxsJiZ0aGlzLmluaXQobCxXKSxWPTc0O2Vsc2UgaWYoVj09NzApeis9bC5jaGFyQ29kZUF0KFMpLHorPXo8PDEwLHpePXo+PjYsVj02NTtlbHNlIGlmKFY9PTc5KVY9KEZ8MjQpPT1GPzk6Mzk7ZWxzZSBpZihWPT0zOSlWPUYtMTw8MT49RiYmKEYrOV4xMyk8Rj82Nzo3NDtlbHNlIGlmKFY9PTkpdGhpcy5uKyssVz1sLXRoaXMuSCx0aGlzLkgrPVcvdGhpcy5uLHRoaXMudTQrPVcqKGwtdGhpcy5IKSxWPTM5O2Vsc2UgaWYoVj09NDIpej1TPTAsVj02NjtlbHNle2lmKFY9PTc0KXJldHVybiBFO1Y9PTkxP1Y9Mzg6Vj09MD8oeis9ejw8Myx6Xj16Pj4xMSxwPXorKHo8PDE1KT4+PjAsQT1uZXcgTnVtYmVyKHAmKFE9MTw8VywxLSh+UV4xKSsyKihRfC0yKSkpLEFbMF09KHA+Pj5XKSVHLEU9QSxWPTc5KTpWPT04OT8oRT0oQT1UN1tsLnN1YnN0cmluZygwLDMpKyJfIl0pP0EobC5zdWJzdHJpbmcoMyksVyxHLHosUSxTLHApOkc3KDMxLDUsVyxsKSxWPTUxKTpWPT02NT8oUysrLFY9NzMpOlY9PTczP1Y9UzxsLmxlbmd0aD83MDowOlY9PTM4JiYoVj0oRiY3OSk9PUY\/ODk6NTEpfX0scVo9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSl7e3A9Njt3aGlsZShwIT0yOClpZihwPT05MSlwPShtKzgmNyk+PTMmJm0rMjwxOD80NDoxO2Vsc2V7aWYocD09NDUpcmV0dXJuIEE7aWYocD09MTEpe2E6e2ZvcihRPVtsPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxHLGw9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyxsPT0oUz1XLHR5cGVvZiBzZWxmKSYmc2VsZixsPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO1M8US5sZW5ndGg7KytTKWlmKCh6PVFbU10pJiZ6W0ZdPT1NYXRoKXtBPXo7YnJlYWsgYX10aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpO31wPTkxfWVsc2UgcD09ODQ\/KHRoaXNbdGhpcysiIl09dGhpcyxBPVByb21pc2UucmVzb2x2ZSgpLHA9NDUpOnA9PTQ0PyhBPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChsLGJaKSYmbFtiWl18fChsW2JaXT0rK0MyKSxwPTEpOnA9PTI2PyhXPXR5cGVvZiBGLEE9Vz09Im9iamVjdCImJkYhPWx8fFc9PSJmdW5jdGlvbiIscD04NSk6cD09ODU\/cD0obV4zMyk8MTUmJihtLTcmNyk+PTA\/ODQ6NDU6cD09Nj9wPTg4OnA9PTg4P3A9bTw8MSYxND85MToxMTpwPT0xJiYocD0obS0yXjMxKTxtJiYobSs4JjQ0KT49bT8yNjo4NSl9fX0sc2Y9ZnVuY3Rpb24obSxsLEYsVyxHLHope2Zvcih6PTY2O3ohPTk1OylpZih6PT0yNSl6PShsKzleNCk+PWwmJihsKzheMTApPGw\/MTY6NDc7ZWxzZSBpZih6PT02Nil6PTM0O2Vsc2UgaWYoej09bSl6PWwrMj4+ND8yNTo0NTtlbHNlIGlmKHo9PTM0KXo9KGwrNiY3KT09Mj8xODptO2Vsc2UgaWYoej09MTYpej00NztlbHNlIGlmKHo9PTQ1KXRoaXMudHlwZT1GLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1XLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLlFwPWZhbHNlLHo9MjU7ZWxzZXtpZih6PT00NylyZXR1cm4gRzt6PT0xOCYmKEc9VyBpbiBkYz9kY1tXXTpkY1tXXT1GK1csej1tKX19LGI9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSl7UT10aGlzO3RyeXt5cShGLGwsRyxXLHRoaXMsbSx6KX1jYXRjaChTKXtIMCgifiIsMjgsIjoiLHRoaXMsUyksbChmdW5jdGlvbihwKXtwKFEuQyl9KX19LGtQPWZ1bmN0aW9uKG0sbCl7ZnVuY3Rpb24gRigpe3RoaXMubz0odGhpcy5uPTAsW10pfXJldHVybiBsPW5ldyAobT0oRi5wcm90b3R5cGUuYWo9KEYucHJvdG90eXBlLnphPWZ1bmN0aW9uKCl7cmV0dXJuIEwyLmNhbGwodGhpcyw0NywxOSl9LGZ1bmN0aW9uKFcsRyl7cmV0dXJuIEgwLmNhbGwodGhpcywifiIsOCxXLEcpfSksbmV3IEYpLEYpLFtmdW5jdGlvbihXKXttLmFqKFcpLGwuYWooVyl9LGZ1bmN0aW9uKFcpe3JldHVybiBsPW5ldyAoVz1tLnphKCkuY29uY2F0KGwuemEoKSksRiksV31dfSxXMD1mdW5jdGlvbihtLGwsRil7cmV0dXJuIEY9bC5jcmVhdGUoKS5zaGlmdCgpLG0uTy5jcmVhdGUoKS5sZW5ndGh8fG0uaC5jcmVhdGUoKS5sZW5ndGh8fChtLmg9dm9pZCAwLG0uTz12b2lkIDApLEZ9LCRQPWZ1bmN0aW9uKG0sbCxGLFcpe0RnKGQobihsLChGPUgoMjksKFc9ZygzNyxsKSxsKSksVykpLG0pLGwsRil9LE89ZnVuY3Rpb24obSxsLEYpe2lmKEY9bS5HW2xdLEY9PT12b2lkIDApdGhyb3dbck0sMzAsbF07aWYoRi52YWx1ZSlyZXR1cm4gRi5jcmVhdGUoKTtyZXR1cm4gRi5jcmVhdGUobCo0KmwrLTI4KmwrNzUpLEYucHJvdG90eXBlfSxYVj1mdW5jdGlvbihtLGwsRixXLEcpe3JldHVybiBBZS5jYWxsKHRoaXMsZmFsc2UsbSxsLDMsRixXLEcpfSxkPWZ1bmN0aW9uKG0sbCxGLFcsRyl7Rj1bXTt7Rz0tNC0yKn4obHwxKS0obF4xKTt3aGlsZShHPj0wKUZbLX4obCYxKSt+KGx8MSkrMioobCYtMiktKEd8MCldPShXPW0+PkcqOCwtMip+KFcmMjU1KSt+VysyKihXJi0yNTYpKyh+V3wyNTUpKSxHLS19cmV0dXJuIEZ9LFppPWZ1bmN0aW9uKG0pe3JldHVybiB1LmNhbGwodGhpcyw4LG0pfSxUdT1mdW5jdGlvbigpe3JldHVybiBIMC5jYWxsKHRoaXMsIn4iLDExKX0sdUc9ZnVuY3Rpb24obSxsKXt7dmFyIEY9NzM7d2hpbGUoRiE9NDEpaWYoRj09ODYpRj16PHZtLmxlbmd0aD83MjozMztlbHNlIGlmKEY9PTQyKUY9UTxhcmd1bWVudHMubGVuZ3RoPzIxOjQxO2Vsc2UgaWYoRj09NzIpe3ZhciBXPXZtW3pdO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChHLFcpJiYobVtXXT1HW1ddKSxGPTgxfWVsc2UgaWYoRj09OTgpRj00MjtlbHNlIGlmKEY9PTMzKVErKyxGPTQyO2Vsc2UgaWYoRj09ODEpeisrLEY9ODY7ZWxzZSBpZihGPT0yMSl7dmFyIEc9YXJndW1lbnRzW1FdO2ZvcihXIGluIEcpbVtXXT1HW1ddO3ZhciB6PShGPTY3LDApfWVsc2UgaWYoRj09NzMpdmFyIFE9KEY9OTgsMSk7ZWxzZSBGPT02NyYmKEY9ODYpfX0sTlQ9ZnVuY3Rpb24obSxsLEYsVyl7dHJ5e1c9bVsoKGx8MCkrMiklM10sbVtsXT0obVtsXXwwKS0obVsoKGx8MCkrMSklM118MCktKFd8MCleKGw9PTE\/Vzw8RjpXPj4+Ril9Y2F0Y2goRyl7dGhyb3cgRzt9fSxEPWZ1bmN0aW9uKG0sbCxGKXtzd2l0Y2goIShsPT00Nnx8bD09ODApKXtjYXNlICFbdHJ1ZS50cnVlXT09TnVtYmVyKCk6aWYobS5xYSYmbCE9MzgwKXJldHVybjtsPT01MTF8fGw9PTE4fHxsPT0yNDV8fGw9PTQ3fHxsPT0yMnx8bD09NDczfHxsPT0zOTR8fGw9PTM5N3x8bD09MzY4fHxsPT0xMTY\/bS5HW2xdfHwobS5HW2xdPUgoNDMsMjcsbSxGLGwsOTQpKTptLkdbbF09SCgxMSwyNyxtLEYsbCwxNTMpO2JyZWFrO2Nhc2UgZmFsc2U6bS5HW2xdP20uR1tsXS5jb25jYXQoRik6bS5HW2xdPUgoNTEsbSxGKTticmVha31sPT0zODAmJihtLlM9Rk0obSwzMixmYWxzZSksbS5EPXZvaWQgMCl9LHQ9ZnVuY3Rpb24obSxsLEYpe2lmKGw9PTQ2fHxsPT04MCltLkdbbF0\/bS5HW2xdLmNvbmNhdChGKTptLkdbbF09SCg1MCxtLEYpO2Vsc2V7aWYobS5xYSYmbCE9MzgwKXJldHVybjtsPT01MTF8fGw9PTE4fHxsPT0yNDV8fGw9PTQ3fHxsPT0yMnx8bD09NDczfHxsPT0zOTR8fGw9PTM5N3x8bD09MzY4fHxsPT0xMTY\/bS5HW2xdfHwobS5HW2xdPUgoNDQsMjcsbSxGLGwsOTQpKTptLkdbbF09SCgzOSwyNyxtLEYsbCwxNTMpfWw9PTM4MCYmKG0uUz1GTShtLDMyLGZhbHNlKSxtLkQ9dm9pZCAwKX0saUc9ZnVuY3Rpb24obSxsLEYpe2ZvcihGPTkxO0YhPTM7KWlmKEY9PTkxKWw9W10sRj0zMDtlbHNlIGlmKEY9PTMwKUY9NDQ7ZWxzZXtpZihGPT03OSlyZXR1cm4gbDtGPT04NT9GPTQ0OkY9PTI\/KGwucHVzaChNYXRoLnJhbmRvbSgpKjI1NXwwKSxGPTg1KTpGPT00NCYmKEY9bS0tPzI6NzkpfX0seXE9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSl7Zm9yKEE9KEcuY2s9U0soRy5WLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25jYXQoKX19LChHLkhrPVBtLEcuVjE9R1tHLnVZPWNtLEZWXSwyNSkpLEcuaVk9R3VbRy5WXShHLmNrLHt2YWx1ZTp7dmFsdWU6e319fSkscD0wLFtdKTtwPDMzNTtwKyspQVtwXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHApOyhHLmk9W10sRykuZE89KCgoRy5DPXZvaWQgMCxHKS5uQz0oRy5GPTAsMCksRy5ycT1bXSxHLmo9MCxHKS5Caz0oRy5xYT1mYWxzZSxmYWxzZSksRy5Jaj1mYWxzZSxHLlU9bnVsbCxHLlJiPTgwMDEsZnVuY3Rpb24oRSl7cmV0dXJuIGVBLmNhbGwodGhpcywxMiw4NywxMCxFKX0pO3doaWxlKE5hTiE9PU5hTilpZighKEcuWT1HLG51bGwpKWJyZWFrO2lmKEcuRW49KChHLndPPShHLldrPSgoKEcuaTQ9MCxHLkc9W10sRy5LUT1XLEcuYlk9KFM9d2luZG93LnBlcmZvcm1hbmNlfHx7fSwoRy5PPXZvaWQgMCxHKS5Saj0wLEcuSz0hKEcuaD12b2lkIDAsMSksRy5DUT0wLEcuTj0oKEcuVEQ9W10sRy5zbj0wLEcpLk5hPTI1LDEpLChHLm5RPTAsRykubD1mYWxzZSxHLkdhPXZvaWQgMCxHLlBIPTAsW10pLChHLkpPPVtdLEcpLkhIPShHLlM9dm9pZCAwLEcuWHc9dm9pZCAwLEcuRD12b2lkIDAsW10pLEcpLm1RPWZhbHNlLEcpLkliPUYsW10pLFMudGltZU9yaWdpbnx8KFMudGltaW5nfHx7fSkubmF2aWdhdGlvblN0YXJ0fHwwKSxRJiZRLmxlbmd0aD09MikmJihHLldrPVFbMF0sRy5iWT1RWzFdKSx2b2lkIDApLG0pdHJ5e0cuRW49SlNPTi5wYXJzZShtKX1jYXRjaChFKXtHLkVuPXt9fWlmKHYoRywyNzgsZnVuY3Rpb24oRSxWLHEsZixVKXt7VT04NDt3aGlsZShVIT0zNClVPT05Mz8oZj1IKDI2LEUpLHE9ZygzNixFKSxEKEUscSxmdW5jdGlvbihNKXtyZXR1cm4gZXZhbChNKX0oc2ooZShFLlksZikpKSksVT0zNCk6VT09ODQmJihVPUooRSwwLDcsZmFsc2UsVix0cnVlKT8zNDo5Myl9fSwodihHLDg1LCgodihHLDEsKHQoRyw0NiwodihHLDMwNCwodihHLCh2KEcsMzksZnVuY3Rpb24oRSxWLHEsZixVLE0scixUKXtmb3IoVD05MTtUIT03MzspVD09MzA\/VD1yLS0\/ODg6ODU6VD09ODg\/KGY9KChmfDApKyhnKDE2LDIsRSl8MCkpJVUsVi5wdXNoKE1bZl0pLFQ9MTIpOlQ9PTk1P1Q9MzA6VD09MTI\/VD0zMDpUPT04NT8oWihFLHEsViksVD03Myk6VD09OTEmJihxPWcoNDYsRSkscj1nKDEwLDIsRSksVj1bXSxNPW4oRSw0ODQpLFU9TS5sZW5ndGgsZj0wLFQ9OTUpfSw1MSksMTQxKSxmdW5jdGlvbihFLFYscSxmLFUsTSxyLFQseSxYKXtmb3IoWD03NjtYIT02OTspWD09MTg\/KHQoRSxWLHFbVF0pLFg9NjkpOlg9PTIwP1g9eTxNLmxlbmd0aD8zODoxODpYPT0zNz8oeSsrLFg9MjApOlg9PTE3P1g9MjA6WD09Mzg\/KFQrPVN0cmluZy5mcm9tQ2hhckNvZGUoKHI9TVt5XSwtKH5yXjEyMSkrKH5yJjEyMSkrKHJ8LTEyMikpKSxYPTM3KTpYPT03NiYmKFU9SCgyMSxFKSxmPWcoMTIsRSksVj1nKDEyLEUpLE09bihFLGYpLHE9bihFLFUpLFQ9IiIseT0wLFg9MTcpfSw1MCksZnVuY3Rpb24oRSxWLHEsZixVLE0scixULHkpe3t5PTUwO3doaWxlKHkhPTM4KXk9PTg5P3k9VTxWLmxlbmd0aD8zMDoyMzp5PT01MD8ocT1nKDUsRSksTT1nKDM5LEUpLGY9SCgyMCxFKSxUPU8oRSxNKSxWPU8oRSxxKSxVPTAscj0iIix5PTIwKTp5PT0yMD95PTg5Onk9PTMwPyhyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFZbVV1eMTIxKSx5PTM2KTp5PT0yMz8odChFLGYsciBpbiBUfDApLHk9MzgpOnk9PTM2JiYoVSsrLHk9ODkpfX0pLDUzKSwwKSksWihHLDgwLDApLGZ1bmN0aW9uKEUsVixxLGYsVSxNLHIsVCx5LFgsWSx4LGEsQixSLHVaLGsscDIpe3trPTUzO3doaWxlKGshPTQ2KWs9PTExPyhhPVtdLGY9VSxrPTYyKTprPT0xND8oVisrLGs9NjcpOms9PTgzPyh5Kyssaz00Myk6az09Mjk\/KEJbTV0mJihyW01dPUgoMjIsRSkpLGs9NzcpOms9PTI4PyhhLnB1c2gobihFLEgoMjksRSkpKSxrPTYzKTprPT03NT8oTT0wLGs9NCk6az09ND9rPTM1Oms9PTM1P2s9TTxYPzI5OjExOms9PTc4P2s9NDM6az09NTM\/KHAyPWZ1bmN0aW9uKEksaCl7Zm9yKDtxPEk7KVR8PWxaKHRydWUsRSw4KTw8cSxxKz04O3JldHVybiBUPj49KGg9VCYocS09SSwoMTw8SSktMSksSSksaH0sUj1nKDUzLEUpLHE9VD0wLFU9KHAyKDMpfDApKzEsWD1wMig1KSxWPTAsQj1bXSx4PTAsaz00OSk6az09NDk\/az02NzprPT0yMD8odVo9KCh4fDApLTEpLnRvU3RyaW5nKDIpLmxlbmd0aCxyPVtdLHk9MCxrPTc4KTprPT0zOT9rPWYtLT8yODozNDprPT02Mz9rPTM5Oms9PTQzP2s9eTxYPzI0Ojc1Oms9PTI0PyhCW3ldfHwoclt5XT1wMih1WikpLGs9ODMpOms9PTYyP2s9Mzk6az09Njc\/az1WPFg\/NDU6MjA6az09NDU\/KFk9cDIoMSksQi5wdXNoKFkpLHgrPVk\/MDoxLGs9MTQpOms9PTM0Pyh2KEUsUixmdW5jdGlvbihJLGgseU8sYzAsWE0sUCl7Zm9yKFA9OTtQIT03NjspUD09NT8oYzAucHVzaChYTSksUD00MSk6UD09Mjk\/UD1YTT49eU8ubGVuZ3RoPzExOjIxOlA9PTExPyh5Ty5wdXNoKGcoMzYsSSkpLFA9NCk6UD09NTM\/KFhNPXJbaF0sUD02MSk6UD09NzE\/UD0zMDpQPT02MT9QPUJbaF0\/NTozMjpQPT0zMD9QPWg8WD81MzoxNDpQPT0yMT8oWE09eU9bWE1dLFA9NSk6UD09ND9QPTI5OlA9PTQxPyhoKyssUD0zMCk6UD09OT8oaD0wLHlPPVtdLGMwPVtdLFA9NzEpOlA9PTMyP1A9Mjk6UD09MTQmJihJLk89SCg1MixJLGEuc2xpY2UoKSksSS5oPUgoNDgsSSxjMCksUD03Nil9LDUxKSxrPTQ2KTprPT03NyYmKE0rKyxrPTM1KX19KSw1NiksdikoRyw0ODYsZnVuY3Rpb24oRSxWLHEpe1Y9KHE9SCgyMCxFKSxuKShFLlkscSksVlswXS5yZW1vdmVFdmVudExpc3RlbmVyKFZbMV0sVlsyXSx6Nyl9LDUyKSxmdW5jdGlvbihFLFYscSxmLFUpe1ooRSwoVT1XbSgiY2FsbCIsKFY9TyhFLChxPUgoKGY9ZygxMixFKSwyMSksRSksZikpLFYpLCJhcnJheSIpLHEpLFUpfSksNTApLDQ4KSksIlAiKXQoRywyNDUsW10pO2lmKCh2KCh2KEcsNjgsKFooRyw1MTEsKHYoRywodihHLDI2MCxmdW5jdGlvbihFLFYscSxmLFUpe3tVPTYwO3doaWxlKFUhPTYxKVU9PTY5PyhmPWcoMzYsRSkscVtmXT1FLkdbZl0sVT05KTpVPT03Nz9VPTU3OlU9PTU3P1U9Vj4wPzY5OjkxOlU9PTk\/KFYtLSxVPTU3KTpVPT02MD8ocT1FLlRELnBvcCgpLFU9Nik6VT09MzA\/KFY9bFoodHJ1ZSxFLDgpLFU9NzcpOlU9PTkxPyhxWzIyXT1FLkdbMjJdLHFbMTE2XT1FLkdbMTE2XSxFLkc9cSxVPTYxKTpVPT02P1U9cT8zMDo5MzpVPT05MyYmKFooRSw0NixFLmopLFU9NjEpfX0sKHYoRyw0MTksZnVuY3Rpb24oRSl7JFAoNCxFKX0sKEQoRywxMTYsKHYoRywxODUsZnVuY3Rpb24oRSl7SCgzLDAsNCxFKX0sKHYoRywzODIsKFooKEcuRW09KEcuck89KHYoRywyNjYsKHYoRywxOTcsKHYoRywyNTYsKHYoRywodihHLCh2KEcsKEQoRywzOTcsKHQoRywodChHLCh2KEcsKHQoRywoWigodihHLDI2MiwodChHLDMwNSwodihHLDIyNCxmdW5jdGlvbihFLFYscSxmLFUpe3QoKFY9ZShFLChmPShVPUgoKHE9Zyg0NyxFKSwyMCksRSksTyhFLFUpKSxxKSksRSksVSxmK1YpfSw0OSkse30pKSxmdW5jdGlvbihFLFYscSxmLFUsTSl7cT1PKChWPU8oRSwoZj0oTT1nKDEzLChVPWcoNTIsRSksRSkpLEgoMjUsRSkpLFUpKSxFKSxNKTt3aGlsZSghWyIiXT09MCE9W10paWYodChFLGYsVltxXSksMTYpYnJlYWt9KSw1NSksRyksMzY4LGlHKDQpKSw0NjApLFtdKSwxNDIpLGZ1bmN0aW9uKEUsVixxKXt0KEUsKHE9Zyg0NywoVj1IKDI1LEUpLEUpKSxxKSwiIitlKEUsVikpfSw0OSksMjE5KSwwKSw0NyksaUcoNCkpLFswLDAsMF0pKSw1MCksZnVuY3Rpb24oRSxWLHEsZixVLE0scixULHksWCxZLHgsYSxCLFIpe3tSPTE1O3doaWxlKFIhPTgzKWlmKFI9PTUzKXEoYS5zbGljZShZLC0yKn4oWXxCKSsyKihZJn5CKS0oWV5CKSsyKih+WXxCKSkseSksUj05MztlbHNlIGlmKFI9PTkyKXI9Zyg1NCxFKSxYPUgoMjUsRSkseD1nKDM3LEUpLFU9SCgyOSxFKSxxPW4oRSxYKSxCPU8oRSx4KSxhPW4oRSxyKSx5PU8oRSxVKSxSPTk4O2Vsc2UgaWYoUj09NjApe2ZvcihmIGluIE09W10sYSlNLnB1c2goZik7Uj0oYT1NLDQ1KX1lbHNlIFI9PTE1P1I9SihFLDAsNix0cnVlLFYsdHJ1ZSk\/ODM6OTI6Uj09OTM\/KFkrPUIsUj03MSk6Uj09Nzk\/Uj03MTpSPT03MT9SPVk8VD81Mzo4MzpSPT01ND8oQj1CPjA\/QjoxLFk9MCxUPWEubGVuZ3RoLFI9NzkpOlI9PTQ1P1I9RS5ZPT1FPzU0OjgzOlI9PTk4JiYoUj1XbSgiY2FsbCIsYSwiYXJyYXkiKT09Im9iamVjdCI\/NjA6NDUpfX0sNTEpLDM2NSksZnVuY3Rpb24oRSxWLHEsZil7dChFLChxPWcoNTMsKFY9ZygxMiwoZj1nKDUzLEUpLEUpKSxFKSkscSksbihFLGYpfHxlKEUsVikpfSw1NiksMjQzKSxmdW5jdGlvbihFLFYscSxmLFUsTSl7Zm9yKE09ODA7TSE9NzE7KU09PTM4PyhxPVJKKDU0LDAsRSwyKSxVPXEuc20sZj1xLllULE09OSk6TT09MzQ\/KEQoRSxxLkNDLGYuYXBwbHkoVSxxLkkpKSxFLlJqPUUuUigpLE09NzEpOk09PTgwP009SihFLDAsMzksZmFsc2UsVix0cnVlKT83MTozODpNPT05JiYoTT1FLlk9PUV8fGY9PUUuZE8mJlU9PUU\/MzQ6NzEpfSw1NCksZnVuY3Rpb24oRSl7WVAoRSwzKX0pLDUzKSxmdW5jdGlvbihFLFYscSxmKXtEKEUsKGY9ZygoVj1sWih0cnVlLChxPWcoNTQsRSksRSksOCksNDcpLEUpLGYpLG4oRSxxKT4+PlYpfSksNTYpLGZ1bmN0aW9uKCl7fSksNTUpLDApLDApLEcpLDIzLDY5KSxmdW5jdGlvbihFLFYscSxmLFUsTSxyLFQpe2ZvcihUPTg7VCE9OTI7KVQ9PTE0PyhVPSgoVXwwKSsoZygxNywyLEUpfDApKSVmLFYrPUFbTVtVXV0sVD04Mik6VD09NTg\/KEQoRSxxLFYpLFQ9OTIpOlQ9PTg\/KHE9Zyg0NixFKSxyPWcoMywyLEUpLFY9IiIsTT1lKEUsNDg0KSxmPU0ubGVuZ3RoLFU9MCxUPTk0KTpUPT05ND9UPTc0OlQ9PTgyP1Q9NzQ6VD09NzQmJihUPXItLT8xNDo1OCl9KSw1MCksNDgpKSxbMjA0OF0pKSw1NCkpLDU0KSksMjQpLGZ1bmN0aW9uKEUsVixxLGYsVSxNLHIsVCx5LFgsWSl7Zm9yKFk9NzY7WSE9MjspWT09MTQ\/WT1YIT09MD8xMToyOlk9PTExPyhNPVFxKHRydWUsMSwyLDUsRSwxLFQscSxYLFYpLFguYWRkRXZlbnRMaXN0ZW5lcihWLE0sejcpLG4oRSw0NjApLnB1c2goZnVuY3Rpb24oKXtYLnJlbW92ZUV2ZW50TGlzdGVuZXIoVixNLHo3KX0pLHQoRSwyMTksW1gsVixNXSksWT0yKTpZPT03NiYmKFU9ZygxMyxFKSxyPUgoMjYsRSksZj1IKDI1LEUpLHk9SCgyNixFKSxxPW4oRSxmKSxWPWUoRSxyKSxYPU8oRS5ZLFUpLFQ9ZShFLHkpLFk9MTQpfSw0OCksWzE1NCwwLDBdKSksZnVuY3Rpb24oRSl7WVAoRSw0KX0pLDU1KSxHKSwzMjEsZnVuY3Rpb24oRSxWLHEsZixVLE0scixUKXt7VD01MDt3aGlsZShUIT05MilUPT01MD8ocT1IKDMwLEUpLHI9ZygzOSxFKSxNPUgoMjEsRSksVD0yMik6VD09NTM\/VD1mPT0yPzUxOjkyOlQ9PTU5PyhFLkQ9dm9pZCAwLFQ9NTMpOlQ9PTIyP1Q9RS5ZPT1FPzEzOjkyOlQ9PTk2P1Q9cT09MzgwPzU5OjkyOlQ9PTUxPyhFLlM9Rk0oRSwzMixmYWxzZSksRS5EPXZvaWQgMCxUPTkyKTpUPT0xMyYmKGY9TyhFLHIpLFY9bihFLHEpLFU9bihFLE0pLFZbZl09VSxUPTk2KX19LDUwKSwwKT09IVtdKVooRywxMDcsMCk7dSgzMSwoYyg2MiwoYyg1NiwwLChjKDU5LDAsKEcuVGE9KHYoRywzNDgsKHYoRywodihHLCh2KEcsMjg1LGZ1bmN0aW9uKEUsVixxLGYsVSl7Vj1uKEUsKFU9KHE9ZygzNyxFKSxmPUgoMjIsRSksbihFLHEpIT0wKSxmKSksVSYmRChFLDQ2LFYpfSwodihHLDE0NyxmdW5jdGlvbihFLFYscSxmLFUsTSl7Zj1uKEUsKFY9KHE9Zyg1LChVPWcoMTMsKE09Zyg1LEUpLEUpKSxFKSksbihFLFUpKSxNKSk7d2hpbGUoW10hPShOYU49PT1OYU4hPW51bGwpKWlmKHQoRSxxLGYgaW4gVnwwKSwhIVtdKWJyZWFrfSwoKG5ldyB4UCgoRChHLCgoWihHLCh0KEcsMTgsKEQoRywoRChHLDQ3MywodihHLCh2KEcsNDY0LGZ1bmN0aW9uKEUsVil7SG0oMjA0OCwxMDQsKFY9ZShFLGcoNSxFKSksRS5ZKSxWLDQ2LDApfSwodihHLDE3MixmdW5jdGlvbihFLFYscSxmLFUsTSl7e009Mjc7d2hpbGUoTSE9NilNPT02ND8oWihFLGYscSksTT02KTpNPT0yNz8oZj1IKDIyLEUpLFY9ZygxMSwyLEUpLFU9MCxxPVtdLE09OTgpOk09PTQwP009VTxWPzg5OjY0Ok09PTE5PyhVKyssTT00MCk6TT09ODk\/KHEucHVzaChsWih0cnVlLEUsOCkpLE09MTkpOk09PTk4JiYoTT00MCl9fSw1MyksNTIpKSwzNTUpLGZ1bmN0aW9uKEUsVixxLGYsVSxNLHIsVCl7RChFLChUPShxPU8oRSwoVT0oZj1nKDM2LChyPShWPUgoMjEsRSksSCkoMjksRSksRSkpLEgoMjAsRSkpLE09TyhFLGYpLHIpKSxPKShFLFUpLFYpLFFxKHRydWUsMSwyLDMsRSxULE0scSkpfSw0OSksW10pKSxEKEcsMzk0LFtdKSwyMiksW10pLGlHKSg0KSksNDY5KSx3KSx2KShHLDMzMixmdW5jdGlvbihFLFYscSxmLFUsTSxyLFQseSxYKXt7WD04ODt3aGlsZShYIT00NylYPT0zPyhVPVJKKDU0LDAsRS5ZLDIpLFQ9VS5DQyxyPVUuSSx5PVUuc20sTT1yLmxlbmd0aCxmPVUuWVQscT1NPT0wP25ldyB5W2ZdOk09PTE\/bmV3IHlbZl0oclswXSk6TT09Mj9uZXcgeVtmXShyWzBdLHJbMV0pOk09PTM\/bmV3IHlbZl0oclswXSxyWzFdLHJbMl0pOk09PTQ\/bmV3IHlbZl0oclswXSxyWzFdLHJbMl0sclszXSk6MigpLHQoRSxULHEpLFg9NDcpOlg9PTg4JiYoWD1KKEUsMCwzOCxmYWxzZSxWLHRydWUpPzQ3OjMpfX0sNDkpLDQzNCksRyksIlN1Ym1pdCIpKSkuZGlzcG9zZSgpLDUyKSksNTEpKSwxOSksZnVuY3Rpb24oRSxWLHEsZixVLE0pe1ooKFU9ZShFLChWPWUoKHE9KGY9SCgoTT1IKDMwLEUpLDIyKSxFKSxIKDI2LEUpKSxFKSxmKSxNKSk9PVYsRSkscSwrVSl9LDUyKSw0NTQpLGZ1bmN0aW9uKEUsVil7RChFLChWPWcoMTMsRSksViksW10pfSw1MyksZnVuY3Rpb24oRSl7JFAoMSxFKX0pLDQ4KSwwKSxbU0FdKSxHKSxbQm0sel0pLEcpLDApLFtKZSxsXSxHKSwyNTQpLHRydWUsRyx0cnVlKX0scVQ9dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzPT0iZnVuY3Rpb24iP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihtLGwsRixXKXt7Vz01O3doaWxlKFchPTg4KXtpZihXPT03OClyZXR1cm4gbVtsXT1GLnZhbHVlLG07aWYoVz09NDgpcmV0dXJuIG07Vz09NSYmKFc9bT09QXJyYXkucHJvdG90eXBlfHxtPT1PYmplY3QucHJvdG90eXBlPzQ4Ojc4KX19fSxuPWZ1bmN0aW9uKG0sbCxGKXtpZigoRj1tLkdbbF0sRik9PT12b2lkIDApdGhyb3dbck0sMzAsbF07c3dpdGNoKCFGLnZhbHVlKXtjYXNlIDA9PT0tMDotTnVtYmVyKCk9PT0wO2JyZWFrO2Nhc2UgZmFsc2U6cmV0dXJuIEYuY3JlYXRlKCk7YnJlYWt9cmV0dXJuKEYuY3JlYXRlKGwqNCpsKy0yOCpsKzc1KSxGKS5wcm90b3R5cGV9LEssZT1mdW5jdGlvbihtLGwsRil7Rj1tLkdbbF07Zm9yKHRydWUrdHJ1ZTtGPT09dm9pZCAwO3VuZGVmaW5lZCl7dGhyb3dbck0sMzAsbF07aWYoW10pYnJlYWt9aWYoRi52YWx1ZSlyZXR1cm4gRi5jcmVhdGUoKTtyZXR1cm4oRi5jcmVhdGUobCo0KmwrLTI4KmwrNzUpLEYpLnByb3RvdHlwZX0sWj1mdW5jdGlvbihtLGwsRil7aWYobD09NDZ8fGw9PTgwKW0uR1tsXT9tLkdbbF0uY29uY2F0KEYpOm0uR1tsXT1IKDQ5LG0sRik7ZWxzZXtpZihtLnFhJiZsIT0zODApcmV0dXJuO2w9PTUxMXx8bD09MTh8fGw9PTI0NXx8bD09NDd8fGw9PTIyfHxsPT00NzN8fGw9PTM5NHx8bD09Mzk3fHxsPT0zNjh8fGw9PTExNj9tLkdbbF18fChtLkdbbF09SCg0MCwyNyxtLEYsbCw5NCkpOm0uR1tsXT1IKDEyLDI3LG0sRixsLDE1Myl9bD09MzgwJiYobS5TPUZNKG0sMzIsZmFsc2UpLG0uRD12b2lkIDApfSxJSj1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCl7aWYobS5ZPT1tKWZvcihRPWUobSxGKSxGPT0xOHx8Rj09MzY4fHxGPT00Nz8oej1mdW5jdGlvbihBLEUsVixxLGYsVSxNLHIpe2ZvcihyPTQ0LE09Mjg7Oyl0cnl7aWYocj09ODkpYnJlYWs7ZWxzZSBpZihyPT0xNylRLnB1c2goUS5oT1stfnErKH5xXjcpKyh+cSY3KV1eQSkscj04OTtlbHNlIGlmKHI9PTUxKU09NTksUS5oTz1LXygzLFFxKHRydWUsMSxRLDgsRSksVixRcSh0cnVlLDEsUSw0MCwyKihFfDQpLX4oRSY0KSt+KEV8NCkpLDE2KSxyPTE3O2Vsc2V7aWYocj09MCl0aHJvdyBNPTI4LFU7cj09NDI\/KEU9KGY8PDMpLTQsVj1bMCwwLHBbMV0scFsyXV0sUS5MUT1mLHI9NTEpOnI9PTUzP3I9US5MUSE9Zj80MjoxNzpyPT00NCYmKHE9US5sZW5ndGgsZj0ocXwwKS00Pj4zLHI9NTMpfX1jYXRjaChUKXtpZihNPT0yOCl0aHJvdyBUO009PTU5JiYoVT1ULHI9MCl9fSxwPWUobSwzOTcpKTp6PWZ1bmN0aW9uKEEpe1EucHVzaChBKX0sVyYmeihXJjI1NSksUz0wLEc9bC5sZW5ndGg7UzxHO1MrKyl6KGxbU10pfSxMXz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVixxKXtpZighbC5xYSYmKFE9dm9pZCAwLG0mJm1bMF09PT1yTSYmKEY9bVsxXSxRPW1bMl0sbT12b2lkIDApLEE9ZShsLDIyKSxBLmxlbmd0aD09MCYmKFM9TyhsLDgwKT4+MyxBLnB1c2goRixTPj44JjI1NSxTJjI1NSksUSE9dm9pZCAwJiZBLnB1c2goLTI1NS0yKn4oUXwyNTUpKzIqKH5RXjI1NSkrKH5RJjI1NSkpKSxxPSIiLG0mJihtLm1lc3NhZ2UmJihxKz1tLm1lc3NhZ2UpLG0uc3RhY2smJihxKz0iOiIrbS5zdGFjaykpLHA9TyhsLDExNikscFswXT4zKSl7ej0ocT1kTSgocFtxPXEuc2xpY2UoMCwocFswXXwwKS0zKSwwXS09KFY9cS5sZW5ndGgsNisoViYtNCktKH5WJjMpKSxxKSxXKSxsLlkpLGwuWT1sO3RyeXtsLklqPyhFPShFPW4obCw0NzMpKSYmRVtFLmxlbmd0aC0xXXx8OTUsKEc9TyhsLDM5NCkpJiZHW0cubGVuZ3RoLTFdPT1FfHxJSihsLFstfihFfDI1NSktKEUmLTI1NikrKEV8LTI1NildLDM5NCkpOkRnKFs5NV0sbCw0NzMpLERnKGQocS5sZW5ndGgsMikuY29uY2F0KHEpLGwsMTgsNTEpfWZpbmFsbHl7bC5ZPXp9fX0sdjA9ZnVuY3Rpb24obSl7cmV0dXJuIHJjLmNhbGwodGhpcyw0LG0sOCl9LFVmPWZ1bmN0aW9uKCl7cmV0dXJuIEpOLmNhbGwodGhpcyw4NiwyNSwzKX0saVo9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTKXtyZXR1cm4gTVQuY2FsbCh0aGlzLG51bGwsbSw3LGwsRixXLEcseixRLFMpfSxPZj1mdW5jdGlvbihtLGwsRixXLEcseil7cmV0dXJuIEFlLmNhbGwodGhpcyxmYWxzZSxtLGwsNyxGLFcsRyx6KX0sUko9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSl7Rz1IKDIwLChBPSgoUT1nKG0sKHA9RltuX118fHt9LEYpKSxwLkNDPWcoMzksRikscCkuST1bXSxGLlk9PUY\/KHo9bFoodHJ1ZSxGLDgpLH4oeiYxKS1+KHp8MSktVyoofnomMSkpOjEpLEYpKTt7Uz1sO3doaWxlKFM8QSlwLkkucHVzaChnKDM3LEYpKSxTKyt9e3AuWVQ9ZShGLFEpO3doaWxlKEEtLSlwLklbQV09bihGLHAuSVtBXSl9cmV0dXJuIHAuc209TyhGLEcpLHB9LGZfPWZ1bmN0aW9uKG0sbCl7cmV0dXJuIHNmLmNhbGwodGhpcyw4MCw1LG0sbCl9LGhlPWZ1bmN0aW9uKG0pe3JldHVybiB0Ti5jYWxsKHRoaXMsNTQsMTYsbSl9LGhOPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyl7cmV0dXJuIG9iLmNhbGwodGhpcyw5LG0sbCxGLFcsRyx6LFEsUyl9LG1lPWZ1bmN0aW9uKCl7aWYoZmFsc2UhPW51bGwpcmV0dXJuIGMuY2FsbCh0aGlzLDMpfSxHTj1mdW5jdGlvbihtLGwsRixXLEcpe3doaWxlKG0ubGVuZ3RoPT0zKXt7Vz0wO3doaWxlKFc8MylsW1ddKz1tW1ddLFcrK31HPTA7e0Y9WzEzLDgsMTMsMTIsMTYsNSwzLDEwLDE1XTt3aGlsZShHPDkpbFszXShsLEclMyxGW0ddKSxHKyt9aWYoIVsiIl09PTApYnJlYWt9fSxCMD1mdW5jdGlvbigpe3JldHVybiBMMi5jYWxsKHRoaXMsNDcsNil9LFlQPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEpe0lKKCgoKEc9TygoRj1nKDUyLChRPWcoKHo9LX4obCYzKSsobCYtNCkrKH4oVz1sJjQsbCl8MyksNTIpLG0pLG0pKSxtKSxRKSxXKSYmKEc9ZE0oIiIrRywyMDQ4KSkseikmJkRnKGQoRy5sZW5ndGgsMiksbSxGKSxtKSxHLEYpfSxtTj1mdW5jdGlvbihtLGwpe3JldHVybiB0Ti5jYWxsKHRoaXMsNTQsMyxtLGwpfSxhSj1mdW5jdGlvbihtLGwsRixXLEcpe3JldHVybiB6dS5jYWxsKHRoaXMsNCw1LEcsbCxtLEYsVyl9LHhQPWZ1bmN0aW9uKG0sbCxGKXtyZXR1cm4gRzcuY2FsbCh0aGlzLDMxLDMsbSxsLEYpfSxlSz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMpe2lmKCFXLkMpe1cuaTQrKzt0cnl7UT12b2lkIDAsRz0wO3t6PVcuajt3aGlsZSgtLUYpdHJ5e2lmKChTPXZvaWQgMCxXKS5PKVE9VzAoVyxXLk8pO2Vsc2V7aWYoRz1lKFcsbCksRz49eilicmVhaztRPW4oVywoUz1nKDQ2LCh0KFcsODAsRyksVykpLFMpKX1RJiZRW3RlXSYyMDQ4P1EoVyxGKTpMXyhbck0sMjEsU10sVywwLDIwNDgpLEooVywwLDcwLG0sRixtKX1jYXRjaChwKXtlKFcsMjMpP0xfKHAsVywyMiwyMDQ4KTpEKFcsMjMscCl9fWlmKCFGKXtmb3IodW5kZWZpbmVkO1cucVc7W109PXRydWUpe1cuaTQtLSxlSyhmYWxzZSw0NiwzMTMwMjY0MTE0MTEsVyk7cmV0dXJuO2lmKFtdIT10cnVlKWJyZWFrfUxfKFtyTSwzM10sVywwLDIwNDgpfX1jYXRjaChwKXt0cnl7d2hpbGUoIVsiIl09PTApaWYoTF8ocCxXLDIyLDIwNDgpLDEpYnJlYWt9Y2F0Y2goQSl7SDAoIn4iLDM0LCI6IixXLEEpfX1XLmk0LS19fSxsWj1mdW5jdGlvbihtLGwsRil7cmV0dXJuIGwuTz9XMChsLGwuaCk6Rk0obCxGLG0pfSxaZz1mdW5jdGlvbihtLGwsRixXLEcseil7cmV0dXJuIG4oKHQobCwoZUsoZmFsc2UsRywoKHo9TyhsLEcpLGwuSk8pJiZ6PGwuaj8odChsLEcsbC5qKSxIbSgyMDQ4LDEwNCxsLFcsRyxtKSk6WihsLEcsVyksRiksbCksRykseiksbCksMzA1KX0sV209ZnVuY3Rpb24obSxsLEYsVyxHKXtpZigoRz10eXBlb2YgbCxHKT09Im9iamVjdCIpaWYobCl7c3dpdGNoKCEobCBpbnN0YW5jZW9mIEFycmF5KSl7Y2FzZSAwPT0oW109PXRydWUpOk5hTj09PU5hTjticmVhaztjYXNlIGZhbHNlOnJldHVybiBGO2JyZWFrfXdoaWxlKGwgaW5zdGFuY2VvZiBPYmplY3Qpe3JldHVybiBHO2lmKFtdKWJyZWFrfWlmKChXPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChsKSxXKT09IltvYmplY3QgV2luZG93XSIpcmV0dXJuIm9iamVjdCI7c3dpdGNoKCEoVz09IltvYmplY3QgQXJyYXldInx8dHlwZW9mIGwubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGwuc3BsaWNlIT0idW5kZWZpbmVkIiYmdHlwZW9mIGwucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhbC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgic3BsaWNlIikpKXtjYXNlICFmYWxzZT09ISIiOiFbXSE9MDticmVhaztjYXNlIE51bWJlcih0cnVlLnRydWUpPT09TmFOPT1udWxsOnJldHVybiBGO2JyZWFrfWlmKFc9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBsLmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgbC5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFsLnByb3BlcnR5SXNFbnVtZXJhYmxlKG0pKXJldHVybiJmdW5jdGlvbiJ9ZWxzZSByZXR1cm4ibnVsbCI7ZWxzZSBmb3IodHJ1ZTtHPT0iZnVuY3Rpb24iJiZ0eXBlb2YgbC5jYWxsPT0idW5kZWZpbmVkIjt0cnVlKXtyZXR1cm4ib2JqZWN0IjtpZigwPT0oISIiIT0hZmFsc2UpKWJyZWFrfXJldHVybiBHfSxiRz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBKXsobC5wdXNoKChXPShGPW1bMF08PDI0fG1bMV08PDE2LFE9bVsyXTw8OCwyKihRfDApK34oRiZRKS0ofkYmUSktKH5GfFEpKSxTPW1bM10sLTEtflcrKH5XJlMpKSksbC5wdXNoKG1bNF08PDI0fG1bNV08PDE2fG1bNl08PDh8bVs3XSksbCkucHVzaCgocD0oRz1tWzhdPDwyNCx6PW1bOV08PDE2LChHJnopKyhHJn56KSsofkcmeikpLEE9bVsxMF08PDgsLTEtfkErKHAmfkEpKXxtWzExXSl9LEtfPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyl7Zm9yKHo9KFE9RlsyXXwwLFM9RlttXXwwLDApO3o8Rzt6KyspUz1TPj4+OHxTPDwyNCxXPVc+Pj44fFc8PDI0LFcrPWx8MCxsPWw8PG18bD4+PjI5LFdePVErMzI2MCxTKz1RfDAsbF49VyxRPVE8PG18UT4+PjI5LFNePXorMzI2MCxRXj1TO3JldHVybltsPj4+MjQmMjU1LGw+Pj5HJjI1NSxsPj4+OCYyNTUsbD4+PjAmMjU1LFc+Pj4yNCYyNTUsVz4+PkcmMjU1LFc+Pj44JjI1NSxXPj4+MCYyNTVdfSxGTT1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBLEUsVixxLGYsVSxNLHIpe2lmKChWPWUobSw0NiksVik+PW0uail0aHJvd1tyTSwzMV07Zm9yKE09KHE9KEc9bCxFPVYsbS5WMS5sZW5ndGgpLDApO0c+MDspej1FPj4zLHI9RSU4LFc9bS5KT1t6XSxmPTgtKHJ8MCksUT1mPEc\/ZjpHLEYmJihBPW0sUz1FLEEuRCE9Uz4+NiYmKEEuRD1TPj42LHA9TyhBLDM4MCksQS5HYT1LXygzLEEuUyxbMCwwLHBbMV0scFsyXV0sQS5ELDE2KSksV149bS5HYVt6JnFdKSxNfD0oVz4+OC0ocnwwKS0oUXwwKSYoMTw8USktMSk8PChHfDApLShRfDApLEctPVEsRSs9UTtyZXR1cm4gWihtLChVPU0sNDYpLChWfDApKyhsfDApKSxVfSxDXz1mdW5jdGlvbigpe3JldHVybiB1LmNhbGwodGhpcyw1Nyl9LERnPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwKXtzd2l0Y2goIShsLlk9PWwpKXtjYXNlICFbdW5kZWZpbmVkXT09MDowO2JyZWFrO2Nhc2UgIShmYWxzZT09bnVsbCkhPSEiIj09bnVsbDpmb3IocD1PKGwsRiksRj09MTh8fEY9PTM2OHx8Rj09NDc\/KHo9ZnVuY3Rpb24oQSxFLFYscSxmLFUsTSxyKXtmb3IoTT0ocj03Nyw3Myk7Oyl0cnl7aWYocj09NDQpYnJlYWs7ZWxzZSBpZihyPT0xMilyPXAuTFEhPXE\/NzE6NjA7ZWxzZSBpZihyPT02MClwLnB1c2gocC5oT1stflYrKH5WXjcpKyh+ViY3KV1eQSkscj00NDtlbHNlIGlmKHI9PTk1KU09OTYscC5oTz1LXygzLFFxKHRydWUsMSxwLDEyLEUpLGYsUXEodHJ1ZSwxLHAsMTYsMiooRXw0KS1+KEUmNCkrfihFfDQpKSwxNikscj02MDtlbHNlIGlmKHI9PTc3KVY9cC5sZW5ndGgscT0oVnwwKS00Pj4zLHI9MTI7ZWxzZSBpZihyPT03MSlmPVswLDAsR1sxXSxHWzJdXSxwLkxRPXEsRT0ocTw8MyktNCxyPTk1O2Vsc2UgaWYocj09NTcpdGhyb3cgTT03MyxVO31jYXRjaChUKXtpZihNPT03Myl0aHJvdyBUO009PTk2JiYoVT1ULHI9NTcpfX0sRz1lKGwsMzk3KSk6ej1mdW5jdGlvbihBKXtwLnB1c2goQSl9LFcmJnooVyYyNTUpLFM9MCxRPW0ubGVuZ3RoO1M8UTtTKyspeihtW1NdKTticmVha319LGxhPWZ1bmN0aW9uKCl7cmV0dXJuIEpOLmNhbGwodGhpcyw4NiwyNSwyNCl9LFAwPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyxwLEEsRSxWKXtpZihwPW1bRl0scD09akspbC5LPXRydWUsbC5OYT0yNSxsLlQobSk7ZWxzZSBzd2l0Y2goIShwPT1GVikpe2Nhc2UgIVtdPT0hbnVsbD09MDpzd2l0Y2goIShwPT1JYikpe2Nhc2UgMD09PS0wOnN3aXRjaCghKHA9PUJtKSl7Y2FzZSB0cnVlOmlmKHA9PUplKXt0cnl7e0U9Rjt3aGlsZShFPGwuSEgubGVuZ3RoKXt0cnl7Uz1sLkhIW0VdLFNbRl1bU1sxXV0oU1syXSl9Y2F0Y2gocSl7fUUrK319fWNhdGNoKHEpe30oMCxtWzFdKShmdW5jdGlvbihxLGYpe2wueF8ocSx0cnVlLGYpfSxmdW5jdGlvbihxKXsoYyg1OCwocT0hbC5pLmxlbmd0aCxGKSxbdGVdLGwpLHEpJiZ1KDMzLDI1NCxmYWxzZSxsLHRydWUpfSwobC5ISD1bXSxBPWwuUigpLGZ1bmN0aW9uKHEpe3JldHVybiBsLm9qKHEpfSksZnVuY3Rpb24ocSxmLFUpe3JldHVybiBsLk9tKHEsZixVKX0pLGwuRis9bC5SKCktQX1lbHNle2ZvcigwO3A9PUVqO05hTil7cmV0dXJuIEc9bVsyXSx0KGwsMjI2LG1bV10pLHQobCwzMDUsRyksbC5UKG0pO2lmKHRydWUpYnJlYWt9cD09dGU\/KGwuVChtKSxsLkpPPVtdLGwucnE9W10sbC5HPW51bGwpOnA9PVNBJiZ3LmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihsLlU9ZnVuY3Rpb24ocSxmKXtmdW5jdGlvbiBVKE0pe3tNPTU4O3doaWxlKE0hPTQ5KU09PTc3PyhmPXRydWUsdy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixVLHo3KSx3LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFUsejcpLHEoKSxNPTQ5KTpNPT01OCYmKE09Zj80OTo3Nyl9fXcuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsVSwoZj1mYWxzZSx6NykpLHcuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsVSx6Nyl9KX1icmVhaztjYXNlIGZhbHNlOmwubD10cnVlLGwuVChtKTticmVha31icmVhaztjYXNlIE5hTj09PU5hTjptWzNdJiYobC5sPXRydWUpLG1bNF0mJihsLks9dHJ1ZSksbC5UKG0pO2JyZWFrfWJyZWFrO2Nhc2UgISFudWxsOndoaWxlKHRydWUpaWYoMD09KFE9bVsxXSxmYWxzZSkpYnJlYWs7dHJ5e1Y9bC5DfHxsLlQobSl9Y2F0Y2gocSl7SDAoIn4iLDMwLCI6IixsLHEpLFY9bC5DfShRKCh6PWwuUigpLFYpKSxsKS5GKz1sLlIoKS16O2JyZWFrfX0sb0o9ZnVuY3Rpb24oKXtyZXR1cm4gc2YuY2FsbCh0aGlzLDgwLDE4KX0sZE09ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYscSl7Zm9yKEY9KHE9KEc9bS5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksMCksW10pLFM9MDtTPEcubGVuZ3RoO1MrKylFPUcuY2hhckNvZGVBdChTKSxFPDEyOD9GW3ErK109RTooRTxsP0ZbcSsrXT0oej1FPj42LDM4NCt+KHomMTkyKS0ofnomMTkyKS0ofnp8MTkyKSk6KChFJjY0NTEyKT09NTUyOTYmJlMrMTxHLmxlbmd0aCYmKEcuY2hhckNvZGVBdChTKzEpJjY0NTEyKT09NTYzMjA\/KEU9KFc9KEUmMTAyMyk8PDEwLDEzMTA3NCsoNjU1MzZeVykrMiooLTY1NTM3fFcpKSsocD1HLmNoYXJDb2RlQXQoKytTKSwxMDIzKyh+cF4xMDIzKS0ofnB8MTAyMykpLEZbcSsrXT1FPj4xOHwyNDAsRltxKytdPShBPShWPUU+PjEyLChWfDApK34oViY2MyktIC02NC0oVl42MykpLDEyOC1+KEEmMTI4KSstMTI5KyhBXjEyOCkpKTpGW3ErK109RT4+MTJ8MjI0LEZbcSsrXT1FPj42JjYzfDEyOCksRltxKytdPShRPUUmNjMsLX4oUXwxMjgpKyh+USYxMjgpKyhRfC0xMjkpKSk7cmV0dXJuIEZ9LGFiPWZ1bmN0aW9uKG0pe3JldHVybiBNWi5jYWxsKHRoaXMsNzMsNDAsbSl9LE9qPWZ1bmN0aW9uKG0sbCl7ZnVuY3Rpb24gRigpe3RoaXMudTQ9dGhpcy5IPXRoaXMubj0wfXJldHVybiBsPShtPShGLnByb3RvdHlwZS5sND0oRi5wcm90b3R5cGUuSmo9ZnVuY3Rpb24oKXtyZXR1cm4gZUEuY2FsbCh0aGlzLDEyLDg3LDUpfSxmdW5jdGlvbihXLEcpe3JldHVybiBNVC5jYWxsKHRoaXMsbnVsbCxXLDI0LEcpfSksbmV3IEYpLG5ldyBGKSxbZnVuY3Rpb24oVyl7bS5sNChXKSxsLmw0KFcpfSxmdW5jdGlvbihXKXtyZXR1cm4gVz1bbS5KaigpLGwuSmooKSxtLkgsbC5IXSxsPW5ldyBGLFd9XX0sd009ZnVuY3Rpb24obSxsLEYsVyxHLHope3JldHVybiBZNS5jYWxsKHRoaXMsNzQsNCxsLEcsVyx6LEYsbSwzKX0sVnE9cVooOCwib2JqZWN0IiwiTWF0aCIsMCx0aGlzKTt3aGlsZSh0cnVlKWlmKFNLKG51bGwsMSwxNiwiLiIsMCwiU3ltYm9sIixmdW5jdGlvbihtLGwsRixXLEcseil7Zm9yKEc9MztHIT02Nzspe2lmKEc9PTExKXJldHVybiBtO2lmKEc9PTUzKXJldHVybiBXLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmV2fSxsPSJqc2NvbXBfc3ltYm9sXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCkrIl8iLEY9MCx6O0c9PTM\/KFc9ZnVuY3Rpb24oUSxTKXtxVCh0aGlzLCJkZXNjcmlwdGlvbiIsKHRoaXMuZXY9USx7Y29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZSx2YWx1ZTpTfSkpfSx6PWZ1bmN0aW9uKFEsUyl7Zm9yKFM9NDM7UyE9ODE7KWlmKFM9PTQzKVM9dGhpcyBpbnN0YW5jZW9mIHo\/MzU6NTE7ZWxzZXtpZihTPT0zNSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtpZihTPT01MSlyZXR1cm4gbmV3IFcobCsoUXx8IiIpKyJfIitGKyssUSl9fSxHPTQpOkc9PTQmJihHPW0\/MTE6NTMpfX0pLHRydWUpYnJlYWs7dmFyIHc9dGhpc3x8c2VsZixiWj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxDMj0wLGYyLCQ1PWZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtmb3Ioej0oRz0zOSw3OCk7Oyl0cnl7aWYoRz09OTMpYnJlYWs7ZWxzZXtpZihHPT02NSlyZXR1cm4gZmFsc2U7aWYoRz09NDQpbT1mYWxzZSxsPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe209dHJ1ZX19KSxHPTIyO2Vsc2UgaWYoRz09MjIpej02OSxGPWZ1bmN0aW9uKCl7fSx3LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLEYsbCksdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixGLGwpLEc9NzY7ZWxzZSBpZihHPT0zOSlHPXcuYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzQ0OjY1O2Vsc2V7aWYoRz09NzYpcmV0dXJuIHo9NzgsbTtHPT0yNCYmKHo9NzgsRz03Nil9fX1jYXRjaChRKXtpZih6PT03OCl0aHJvdyBRO3o9PTY5JiYoVz1RLEc9MjQpfX0oKSxWTz0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKCgoKChmXy5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPSgoKGZfLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD10cnVlfSwoQjAucHJvdG90eXBlLkE9ZmFsc2UsQjApLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKG0pe3ttPTg4O3doaWxlKG0hPTMzKW09PTU2Pyh0aGlzLkE9dHJ1ZSx0aGlzLnYoKSxtPTMzKTptPT04OCYmKG09dGhpcy5BPzMzOjU2KX19LEIwKS5wcm90b3R5cGVbU3ltYm9sLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCl9LEIwKS5wcm90b3R5cGUudj1mdW5jdGlvbihtKXtmb3IobT00NjttIT01NzspbT09OD8odGhpcy5mUS5zaGlmdCgpKCksbT05Nik6bT09Mz9tPTcyOm09PTQ2P209dGhpcy5mUT8zOjU3Om09PTk2P209NzI6bT09NzImJihtPXRoaXMuZlEubGVuZ3RoPzg6NTcpfSxmdW5jdGlvbigpe3RoaXMuUXA9dHJ1ZX0pLE4oMixmXywzOSxwXykscF8ucHJvdG90eXBlKS5pbml0PWZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtmb3Ioej04NDt6IT01Nzspej09Mjc\/ej1HPT0ibW91c2VvdmVyIj85Mzo0Njp6PT04ND8oRz10aGlzLnR5cGU9bS50eXBlLEY9bS5jaGFuZ2VkVG91Y2hlcyYmbS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg\/bS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsLHRoaXMudGFyZ2V0PW0udGFyZ2V0fHxtLnNyY0VsZW1lbnQsdGhpcy5jdXJyZW50VGFyZ2V0PWwsVz1tLnJlbGF0ZWRUYXJnZXQsej04Nyk6ej09NzU\/KHRoaXMuYnV0dG9uPW0uYnV0dG9uLHRoaXMua2V5Q29kZT1tLmtleUNvZGV8fDAsdGhpcy5rZXk9bS5rZXl8fCIiLHRoaXMuY2hhckNvZGU9bS5jaGFyQ29kZXx8KEc9PSJrZXlwcmVzcyI\/bS5rZXlDb2RlOjApLHRoaXMuY3RybEtleT1tLmN0cmxLZXksdGhpcy5hbHRLZXk9bS5hbHRLZXksdGhpcy5zaGlmdEtleT1tLnNoaWZ0S2V5LHRoaXMubWV0YUtleT1tLm1ldGFLZXksdGhpcy5wb2ludGVySWQ9bS5wb2ludGVySWR8fDAsdGhpcy5wb2ludGVyVHlwZT1tLnBvaW50ZXJUeXBlLHRoaXMuc3RhdGU9bS5zdGF0ZSx0aGlzLnRpbWVTdGFtcD1tLnRpbWVTdGFtcCx0aGlzLkdEPW0sbS5kZWZhdWx0UHJldmVudGVkJiZwXy5KLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksej01Nyk6ej09MjI\/KHRoaXMub2Zmc2V0WD1tLm9mZnNldFgsdGhpcy5vZmZzZXRZPW0ub2Zmc2V0WSx0aGlzLmNsaWVudFg9bS5jbGllbnRYIT09dm9pZCAwP20uY2xpZW50WDptLnBhZ2VYLHRoaXMuY2xpZW50WT1tLmNsaWVudFkhPT12b2lkIDA\/bS5jbGllbnRZOm0ucGFnZVksdGhpcy5zY3JlZW5YPW0uc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9bS5zY3JlZW5ZfHwwLHo9NzUpOno9PTQ2P3o9Rz09Im1vdXNlb3V0Ij85Njo5Nzp6PT05MT96PUY\/MTY6MjI6ej09OTM\/KFc9bS5mcm9tRWxlbWVudCx6PTk3KTp6PT05Nz8odGhpcy5yZWxhdGVkVGFyZ2V0PVcsej05MSk6ej09MTY\/KHRoaXMuY2xpZW50WD1GLmNsaWVudFghPT12b2lkIDA\/Ri5jbGllbnRYOkYucGFnZVgsdGhpcy5jbGllbnRZPUYuY2xpZW50WSE9PXZvaWQgMD9GLmNsaWVudFk6Ri5wYWdlWSx0aGlzLnNjcmVlblg9Ri5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1GLnNjcmVlbll8fDAsej03NSk6ej09ODc\/ej1XPzk3OjI3Ono9PTk2JiYoVz1tLnRvRWxlbWVudCx6PTk3KX0scF8pLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXsocF8uSi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLkdELnN0b3BQcm9wYWdhdGlvbik\/dGhpcy5HRC5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLkdELmNhbmNlbEJ1YmJsZT10cnVlfSxwXy5wcm90b3R5cGUpLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKG0pe3doaWxlKFtdKWlmKHBfLkoucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxbXSlicmVhazsobT10aGlzLkdELG0pLnByZXZlbnREZWZhdWx0P20ucHJldmVudERlZmF1bHQoKTptLnJldHVyblZhbHVlPWZhbHNlfSxNYXRoLnJhbmRvbSgpKjFFNil8MCksdm09ImNvbnN0cnVjdG9yIGhhc093blByb3BlcnR5IGlzUHJvdG90eXBlT2YgcHJvcGVydHlJc0VudW1lcmFibGUgdG9Mb2NhbGVTdHJpbmcgdG9TdHJpbmcgdmFsdWVPZiIuc3BsaXQoIiAiKSxFZj0wLE5aPSJjbG9zdXJlX2xtXyIrKCgodjAucHJvdG90eXBlLkZ3PWZ1bmN0aW9uKG0sbCxGLFcsRyx6KXtyZXR1cm4oKEc9LSh6PXRoaXMuZ1ttLnRvU3RyaW5nKCldLDEpLHopJiYoRz16dSg0LDM0LGwsMCxGLFcseikpLEcpPi0xP3pbR106bnVsbH0sdjAucHJvdG90eXBlLnJlbW92ZT0odjAucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKG0sbCxGLFcsRyl7cmV0dXJuIHg1KDE3LChHPShGPW0hPT0oVz1sIT09dm9pZCAwLHZvaWQgMCkpP20udG9TdHJpbmcoKToiIiw4KSxmYWxzZSx0cnVlLGZ1bmN0aW9uKHosUSxTKXtmb3IoUz05MztTIT00MTspe2lmKFM9PTIxKXJldHVybiB0cnVlO2lmKFM9PTgyKXJldHVybiBmYWxzZTtTPT04OD8oKytRLFM9NTMpOlM9PTUzP1M9UTx6Lmxlbmd0aD80ODo4MjpTPT05Mz8oUT0wLFM9MjQpOlM9PTQ4P1M9RiYmeltRXS50eXBlIT1HfHxXJiZ6W1FdLmNhcHR1cmUhPWw\/ODg6MjE6Uz09MjQmJihTPTUzKX19LHRoaXMuZyl9LGZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyl7Zm9yKFM9NjY7UyE9MzA7KXtpZihTPT05NSlyZXR1cm4gZmFsc2U7aWYoUz09MTIpUz16IGluIHRoaXMuZz8zNjo5NTtlbHNlIGlmKFM9PTczKWRlbGV0ZSB0aGlzLmdbel0sdGhpcy5jSC0tLFM9MjM7ZWxzZSBpZihTPT0zNilHPXRoaXMuZ1t6XSxRPXp1KDQsMzMsbCwwLFcsRixHKSxTPTExO2Vsc2V7aWYoUz09MjMpcmV0dXJuIHRydWU7aWYoUz09MjYpUz1HLmxlbmd0aD09MD83MzoyMztlbHNlIGlmKFM9PTExKVM9UT4tMT83MDo1NDtlbHNlIGlmKFM9PTY2KXo9bS50b1N0cmluZygpLFM9MTI7ZWxzZXtpZihTPT01NClyZXR1cm4gZmFsc2U7Uz09NzAmJihRTyhudWxsLDI4LEdbUV0pLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChHLFEsMSksUz0yNil9fX19KSx2MC5wcm90b3R5cGUpLmFkZD1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCxBKXt7QT02OTt3aGlsZShBIT01MSlpZihBPT0zNCl6PVNbUV0sQT0yO2Vsc2UgaWYoQT09ODApei5CSD1mYWxzZSxBPTQ1O2Vsc2UgaWYoQT09ODcpUT16dSg0LDMyLGwsMCxHLFcsUyksQT0yMDtlbHNlIGlmKEE9PTY5KXA9bS50b1N0cmluZygpLFM9dGhpcy5nW3BdLEE9NTI7ZWxzZSBpZihBPT0yKUE9Rj80NTo4MDtlbHNlIGlmKEE9PTI0KXo9bmV3IGFKKEcsbCx0aGlzLnNyYyxwLCEhVyksei5CSD1GLFMucHVzaCh6KSxBPTQ1O2Vsc2UgaWYoQT09MjApQT1RPi0xPzM0OjI0O2Vsc2V7aWYoQT09NDUpcmV0dXJuIHo7QT09NTI\/QT1TPzg3OjQ2OkE9PTQ2JiYoUz10aGlzLmdbcF09W10sdGhpcy5jSCsrLEE9ODcpfX19LE1hdGgpLnJhbmRvbSgpKjFFNnwwKSxkYz17fSxEaT0wLFVqPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7KChLPSgoTigyLEIwLDYsVWYpLFVmLnByb3RvdHlwZSlbVk9dPXRydWUsVWYpLnByb3RvdHlwZSxLLmtfPWZ1bmN0aW9uKG0pe3RoaXMudE89bX0sSykuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihtLGwsRixXKXtpZigwPT09LTAhPSFbXSlBZShmYWxzZSxudWxsLHRydWUsNTksRixXLG0sbCx0aGlzKX0sSy5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKG0sbCxGLFcpe29iKDI0LG51bGwsMCxXLEYsbCx0aGlzLG0pfSxLLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYpe3tWPTc2O3doaWxlKFYhPTYyKWlmKFY9PTEzKVY9IVcuUXAmJnA+PTA\/NTY6NDc7ZWxzZSBpZihWPT03MylWPXo\/NTA6NDc7ZWxzZSBpZihWPT01MylWPSFXLlFwJiZwPHoubGVuZ3RoPzY2OjU3O2Vsc2UgaWYoVj09ODcpUz1XLmN1cnJlbnRUYXJnZXQ9RyxsPWMoODksMCx0cnVlLFEsVyxTKSYmbCxXLlFwfHwobD1jKDkxLDAsZmFsc2UsUSxXLFMpJiZsKSxWPTE2O2Vsc2UgaWYoVj09NjMpVj1FPzQ6Njk7ZWxzZSBpZihWPT03KVY9VyBpbnN0YW5jZW9mIGZfPzgyOjQ1O2Vsc2UgaWYoVj09NDUpQT1XLFc9bmV3IGZfKFEsRyksdUcoVyxBKSxWPTM4O2Vsc2UgaWYoVj09NzEpVj10eXBlb2YgVz09PSJzdHJpbmciPzU0Ojc7ZWxzZSBpZihWPT03NilFPXRoaXMudE8sVj02MztlbHNlIGlmKFY9PTM2KXAtLSxWPTEzO2Vsc2UgaWYoVj09MTEpVj1FPzU4OjY5O2Vsc2UgaWYoVj09NClGPVtdLFY9MTc7ZWxzZXtpZihWPT01NylyZXR1cm4gbDtWPT01Mj8ocD0wLFY9NDEpOlY9PTcyPyhFPUUudE8sVj0xMSk6Vj09NjQ\/KHArKyxWPTUzKTpWPT00MT9WPTUzOlY9PTU4PyhGLnB1c2goRSksVj03Mik6Vj09NTA\/KHA9ei5sZW5ndGgtMSxWPTM1KTpWPT01ND8oVz1uZXcgZl8oVyxHKSxWPTM4KTpWPT02OT8oVz1tLEc9dGhpcy5ESyxRPVcudHlwZXx8Vyx6PUYsVj03MSk6Vj09MTY\/Vj16PzUyOjU3OlY9PTgyPyhXLnRhcmdldD1XLnRhcmdldHx8RyxWPTM4KTpWPT0zOD8obD10cnVlLFY9NzMpOlY9PTE3P1Y9MTE6Vj09NDc\/Vj1XLlFwPzE2Ojg3OlY9PTU2PyhTPVcuY3VycmVudFRhcmdldD16W3BdLGw9Yyg5MCwwLHRydWUsUSxXLFMpJiZsLFY9MzYpOlY9PTM1P1Y9MTM6Vj09NjYmJihTPVcuY3VycmVudFRhcmdldD16W3BdLGw9Yyg4OCwwLGZhbHNlLFEsVyxTKSYmbCxWPTY0KX19fSxLLnY9ZnVuY3Rpb24oKXtVZi5KLnYuY2FsbCh0aGlzKSx0aGlzLkImJkFlKGZhbHNlLG51bGwsMCwxNCx0aGlzLkIpLHRoaXMudE89bnVsbH0sSy5Gdz1mdW5jdGlvbihtLGwsRixXKXtyZXR1cm4gdGhpcy5CLkZ3KFN0cmluZyhtKSxsLEYsVyl9LEspLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKG0sbCl7cmV0dXJuIHRoaXMuQi5oYXNMaXN0ZW5lcihtIT09dm9pZCAwP1N0cmluZyhtKTp2b2lkIDAsbCl9O3ZhciBuMjsoSz0oTigyLCgoYygoKCgoKCgoKCJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIikuY29uY2F0KFsiQlVUVE9OIiwiSU5QVVQiXSksSz1UdS5wcm90b3R5cGUsSykudT1mdW5jdGlvbihtLGwpe3JldHVybiBsPXRoaXMudkgsdHlwZW9mIG09PT0ic3RyaW5nIj9sLmdldEVsZW1lbnRCeUlkKG0pOm19LEspLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKG0sbCl7cmV0dXJuKGx8fHRoaXMudkgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhtKSl9LEspLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24obSxsLEYpe3JldHVybihsPVN0cmluZygoRj10aGlzLnZILG0pKSxGKS5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYobD1sLnRvTG93ZXJDYXNlKCkpLEYuY3JlYXRlRWxlbWVudChsKX0sSykuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24obSl7cmV0dXJuIHRoaXMudkguY3JlYXRlVGV4dE5vZGUoU3RyaW5nKG0pKX0sSy5hcHBlbmRDaGlsZD1mdW5jdGlvbihtLGwpe20uYXBwZW5kQ2hpbGQobCl9LEspLmFwcGVuZD1mdW5jdGlvbihtLGwpe1FPKCJvYmplY3QiLDMyLDAsZmFsc2UsImFycmF5IixtLm5vZGVUeXBlPT05P206bS5vd25lckRvY3VtZW50fHxtLmRvY3VtZW50LG0sYXJndW1lbnRzKX0sSy5jYW5IYXZlQ2hpbGRyZW49ZnVuY3Rpb24obSxsKXtmb3IobD0zODtsIT0yMDspaWYobD09MzgpbD1tLm5vZGVUeXBlIT0xPzc4Ojk5O2Vsc2V7aWYobD09NzgpcmV0dXJuIGZhbHNlO2lmKGw9PTk5KXtzd2l0Y2gobS50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfX19LEspLnJlbW92ZU5vZGU9aGUsSykuY29udGFpbnM9ZnVuY3Rpb24obSxsLEYsVyl7Zm9yKFc9Njc7VyE9NDM7KXtpZihXPT05MSlyZXR1cm4gbT09bHx8bS5jb250YWlucyhsKTtpZihXPT03MSlXPXR5cGVvZiBtLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIj82NDozO2Vsc2UgaWYoVz09ODkpVz04NTtlbHNlIGlmKFc9PTg1KVc9bCYmbSE9bD8zMDoxOTtlbHNlIGlmKFc9PTMwKWw9bC5wYXJlbnROb2RlLFc9ODk7ZWxzZXtpZihXPT02NClyZXR1cm4gbT09bHx8ISEoRj1tLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGwpLDE3KyhGXjE2KS0yKih+RiYxNikrKH5GfDE2KSk7aWYoVz09MjQpVz1tLmNvbnRhaW5zJiZsLm5vZGVUeXBlPT0xPzkxOjcxO2Vsc2V7aWYoVz09NjEpcmV0dXJuIGZhbHNlO2lmKFc9PTMpVz04NTtlbHNle2lmKFc9PTE5KXJldHVybiBsPT1tO1c9PTY3JiYoVz1tJiZsPzI0OjYxKX19fX19LDM0KSxDXyksQ18ucHJvdG90eXBlLm1HPTAsQ18pLnByb3RvdHlwZS50aj0iIixVZiksNixhYiksYWIpLnByb3RvdHlwZSxLKS5mQz1DXy5iNCgpO3doaWxlKG51bGwhPWZhbHNlKWlmKEsudT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlp9LHt9KWJyZWFrO2lmKCFmYWxzZT09ISIiIT1bXSlLLmdldFBhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnpEfTtLLllfPShLLnY9KEsucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTLHAsQSxFLFYscSl7Zm9yKHE9NjY7cSE9MzI7KWlmKHE9PTc1KVM9dGhpcy5lcSxwPShTIT09bnVsbCYmRSBpbiBTP1NbRV06dm9pZCAwKXx8bnVsbCxxPTExO2Vsc2UgaWYocT09MTgpRT1RLHE9MTA7ZWxzZSBpZihxPT03NylXPW0scT00NjtlbHNlIGlmKHE9PTQ0KXE9RSYmbT82OTozOTtlbHNlIGlmKHE9PTY1KUE9bSxGPW0uZkMsVj1GLnRqKyI6IisoRi5tRysrKS50b1N0cmluZygzNiksRz1BLlExPVYscT0xNjtlbHNlIGlmKHE9PTY5KXo9dGhpcy5lcSxFIGluIHomJmRlbGV0ZSB6W0VdLHJjKDQsMSwxOCxtLHRoaXMuT24pLHE9MTM7ZWxzZXtpZihxPT02Nyl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50Iik7aWYocT09NDYpcT1XPT1udWxsPzY3OjQxO2Vsc2UgaWYocT09MTEpbT1wLHE9NDQ7ZWxzZSBpZihxPT0xMClxPXRoaXMuZXEmJkU\/NzU6NTI7ZWxzZSBpZihxPT02NilxPW0\/MjE6Mzk7ZWxzZSBpZihxPT01OSlxPShHPW0uUTEpPzE2OjY1O2Vsc2V7aWYocT09NjIpcmV0dXJuIG07aWYocT09MTYpUT1HLHE9MTg7ZWxzZSBpZihxPT04NiltLllfKCksbS5aJiZoZShtLlopLHE9Nzc7ZWxzZSBpZihxPT0yMSlxPXR5cGVvZiBtPT09InN0cmluZyI\/Mjc6NTk7ZWxzZXtpZihxPT0xNSl0aHJvdyBFcnJvcigiQ2hpbGQgaXMgbm90IGluIHBhcmVudCBjb21wb25lbnQiKTtxPT0yNz8oUT1tLHE9MTgpOnE9PTUyPyhwPW51bGwscT0xMSk6cT09Mzk\/cT1tPzYyOjE1OnE9PTQxPyhXLnpEPW51bGwsYWIuSi5rXy5jYWxsKFcsbnVsbCkscT0zOSk6cT09MTMmJihxPWw\/ODY6NzcpfX19fSxmdW5jdGlvbihtKXtmb3IobT00OTttIT02OTspbT09NTk\/bT10aGlzLmdxPzc4OjE1Om09PTQ5Pyh0aGlzLk1hJiZ0aGlzLllfKCksbT01OSk6bT09MTU\/KEFlKGZhbHNlLHRoaXMsZnVuY3Rpb24obCl7bC5kaXNwb3NlKCl9LDgpLCF0aGlzLkxDJiZ0aGlzLlomJmhlKHRoaXMuWiksdGhpcy5aPXRoaXMuZXE9dGhpcy56RD10aGlzLk9uPW51bGwsYWIuSi52LmNhbGwodGhpcyksbT02OSk6bT09NzgmJih0aGlzLmdxLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy5ncSxtPTE1KX0pLEsua189ZnVuY3Rpb24obSxsKXt7bD03Mjt3aGlsZShsIT0xOClpZihsPT03MilsPXRoaXMuekQmJnRoaXMuekQhPW0\/Mzg6NTM7ZWxzZSBpZihsPT01MylhYi5KLmtfLmNhbGwodGhpcyxtKSxsPTE4O2Vsc2UgaWYobD09MzgpdGhyb3cgRXJyb3IoIk1ldGhvZCBub3Qgc3VwcG9ydGVkIik7fX0sZnVuY3Rpb24oKXt0aGlzLk1hPSEoKEFlKGZhbHNlLHRoaXMsZnVuY3Rpb24obSl7bS5NYSYmbS5ZXygpfSwxMiksdGhpcy5ncSkmJkFlKGZhbHNlLG51bGwsMCwxMyx0aGlzLmdxKSwxKX0pO3ZhciBXSSxqMz0oYygzMixvSikse2J1dHRvbjoicHJlc3NlZCIsY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtOiJzZWxlY3RlZCIsbWVudWl0ZW1jaGVja2JveDoiY2hlY2tlZCIsbWVudWl0ZW1yYWRpbzoiY2hlY2tlZCIscmFkaW86ImNoZWNrZWQiLHRhYjoic2VsZWN0ZWQiLHRyZWVpdGVtOiJzZWxlY3RlZCJ9KSx3Yz0oKE4oMixvSiwoKCgoKEs9b0oucHJvdG90eXBlLEspLmpxPWZ1bmN0aW9uKG0pe3JldHVybiBtLnUoKX0sSykuVnA9ZnVuY3Rpb24obSxsLEYsVyxHLHosUSxTKXsoUz0oKEc9bS5nZXRBdHRyaWJ1dGUoKFdJfHwoV0k9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSxXPVdJW2xdLCJyb2xlIikpfHxudWxsKT8oUT1qM1tHXXx8Vyx6PVc9PSJjaGVja2VkInx8Vz09InNlbGVjdGVkIj9ROlcpOno9Vyx6KSkmJnROKDU0LDI2LCJsaXZlIiwiYXRvbWljIixtLEYsUyl9LEsuWD1mdW5jdGlvbihtLGwsRixXLEcseixRKXt7UT0xOTt3aGlsZShRIT0zMClRPT0yOT8oRz10aGlzLmdPKCksRy5yZXBsYWNlKC9cXHhhMHxcXHMvZywiICIpLHRoaXMuQU89ezE6RysiLWRpc2FibGVkIiwyOkcrIi1ob3ZlciIsNDpHKyItYWN0aXZlIiw4OkcrIi1zZWxlY3RlZCIsMTY6RysiLWNoZWNrZWQiLDMyOkcrIi1mb2N1c2VkIiw2NDpHKyItb3BlbiJ9LFE9NjIpOlE9PTE5Pyh6PW0udSgpLFE9MTIpOlE9PTQ4P1E9dGhpcy5BTz82MjoyOTpRPT02Mj8oKFc9dGhpcy5BT1tsXSkmJnRoaXMuV0gobSxXLEYpLHRoaXMuVnAoeixsLEYpLFE9MzApOlE9PTEyJiYoUT16PzQ4OjMwKX19LEsuZ089ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1jb250cm9sIn0sSykuV0g9ZnVuY3Rpb24obSxsLEYsVyl7KFc9bS51P20udSgpOm0pJiYoRj9YVjptTikoVyxbbF0pfSxLKS5wUT1mdW5jdGlvbihtLGwsRixXLEcseixRLFMscCl7Uz02NTt7UT02OTt3aGlsZSghZmFsc2U9PSEiIil0cnl7aWYoUz09NTQpYnJlYWs7ZWxzZSBTPT00Mz8oRj16LFM9OCk6Uz09ODQ\/KEYudGFiSW5kZXg9LTEsRi5yZW1vdmVBdHRyaWJ1dGUoInRhYkluZGV4IiksUz01NCk6Uz09OTY\/Uz0hbCYmbS5QJjMyPzMwOjM5OlM9PTQ2PyhRPTY5LFM9NjYpOlM9PTU4PyhRPTY5LFM9NDYpOlM9PTMwPyhRPTUwLHouYmx1cigpLFM9NDYpOlM9PTM1PyhXPXoudGFiSW5kZXgsRz10eXBlb2YgVz09PSJudW1iZXIiJiZXPj0wJiZXPDMyNzY4LFM9MzgpOlM9PTY2P1M9bS5QJjMyPzc1OjM5OlM9PTc1PyhKKDQsMiw5LG0pJiZtLnNldEFjdGl2ZShmYWxzZSksSigzMiwyLDgsbSkmJmMoMjEsMCwzMixtLGZhbHNlKSYmbS5YKDMyLGZhbHNlKSxTPTM5KTpTPT0yMD8oRi50YWJJbmRleD0wLFM9NTQpOlM9PTY1P1M9bS53cSYzMiYmKHo9bS5qcSgpKT85Njo1NDpTPT04P1M9bD8yMDo4NDpTPT0zOD9TPUchPWw\/NDM6NTQ6Uz09MzkmJihTPShHPXouaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpKT8zNTozOCl9Y2F0Y2goQSl7aWYoUT09NjkpdGhyb3cgQTtRPT01MCYmKHA9QSxTPTU4KX19fSw3MCksbGEpLGMoNDAsbGEpLGxhKS5wcm90b3R5cGUuZ089ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1idXR0b24ifSxsYS5wcm90b3R5cGUuVnA9ZnVuY3Rpb24obSxsLEYpe3N3aXRjaChsKXtjYXNlIDg6Y2FzZSAxNjp0Tig1NCwyNSwibGl2ZSIsImF0b21pYyIsbSxGLCJwcmVzc2VkIik7YnJlYWs7ZGVmYXVsdDpjYXNlIDY0OmNhc2UgMTpsYS5KLlZwLmNhbGwodGhpcyxtLGwsRil9fSx7fSk7aWYodHJ1ZSlOKDIsYWIsNzEsaE4pO2lmKCgoKCgoKCgoKCgoSz1oTi5wcm90b3R5cGUsSykuU3Y9MjU1LEspLmhqPXRydWUsSykuUD0wLEspLndxPTM5LEsudj1mdW5jdGlvbihtKXtmb3IobT05MjttIT03MTspbT09MTY\/KGRlbGV0ZSB0aGlzLkwsdGhpcy5XPW51bGwsbT03MSk6bT09OTI\/KGhOLkoudi5jYWxsKHRoaXMpLG09NjUpOm09PTY1P209dGhpcy5TcT80ODoxNjptPT00OCYmKHRoaXMuU3EuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLlNxLG09MTYpfSxLLlc9bnVsbCxLKS5ZXz1mdW5jdGlvbigpeygoaE4uSi5ZXy5jYWxsKHRoaXMpLHRoaXMpLlNxJiZ0aGlzLlNxLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkpJiZ0aGlzLkwucFEodGhpcyxmYWxzZSl9LEspLlh4PTAsSy5qcT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkwuanEodGhpcyl9LEspLldIPWZ1bmN0aW9uKG0sbCxGKXt7Rj05Mjt3aGlsZShGIT01OClGPT0zMj9GPW0mJnRoaXMuVyYmcmMoNCwxLDE2LG0sdGhpcy5XKT84Njo1ODpGPT05Mj9GPWw\/MjY6MzI6Rj09NDM\/KHRoaXMuVz1udWxsLEY9NTYpOkY9PTI2P0Y9bT81NDo1ODpGPT01ND8odGhpcy5XP01aKDczLDE1LDAsbSx0aGlzLlcpPj0wfHx0aGlzLlcucHVzaChtKTp0aGlzLlc9W21dLHRoaXMuTC5XSCh0aGlzLG0sdHJ1ZSksRj01OCk6Rj09ODY\/Rj10aGlzLlcubGVuZ3RoPT0wPzQzOjU2OkY9PTU2JiYodGhpcy5MLldIKHRoaXMsbSxmYWxzZSksRj01OCl9fSxLKS5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oan0sSykuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISh0aGlzLlAmMSl9LEsuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4hISh0aGlzLlAmNCl9LEspLnNldEFjdGl2ZT1mdW5jdGlvbihtKXtjKDEzLDAsNCx0aGlzLG0pJiZ0aGlzLlgoNCxtKX0sSy5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlB9LEsuWD1mdW5jdGlvbihtLGwsRixXLEcseixRKXtmb3IoUT0wO1EhPTEyOylRPT0zPyh0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLkwucFEodGhpcyxHKSx0aGlzLlgoMSwhRyx0cnVlKSxRPTEyKTpRPT0wP1E9Rnx8bSE9MT8xODo5MjpRPT0xOD9RPXRoaXMud3EmbSYmbCE9ISEodGhpcy5QJm0pPzk1OjEyOlE9PTI2Pyh0aGlzLnNldEFjdGl2ZShmYWxzZSksYygyMywwLDIsdGhpcyxmYWxzZSkmJnRoaXMuWCgyLGZhbHNlKSxRPTMpOlE9PTkyPyhHPSFsLHo9dGhpcy5nZXRQYXJlbnQoKSxRPTM4KTpRPT0zOD9RPXomJnR5cGVvZiB6LmlzRW5hYmxlZD09ImZ1bmN0aW9uIiYmIXouaXNFbmFibGVkKCl8fCFjKDE1LDAsMSx0aGlzLCFHKT8xMjo2NDpRPT05NT8odGhpcy5MLlgodGhpcyxtLGwpLHRoaXMuUD1sPyhXPXRoaXMuUCwobXwwKSt+bS1+KFd8bSkpOnRoaXMuUCZ+bSxRPTEyKTpRPT02NCYmKFE9Rz8zOjI2KX0sdHlwZW9mIGhOKSE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIkludmFsaWQgY29tcG9uZW50IGNsYXNzICIraE4pO3N3aXRjaCghKHR5cGVvZiBvSiE9PSJmdW5jdGlvbiIpKXtjYXNlICEoTnVtYmVyKCkhPSFbXSkhPSEiIiE9bnVsbDp1bmRlZmluZWQ7YnJlYWs7Y2FzZSBOdW1iZXIoKSE9IVtdOnRocm93IEVycm9yKCJJbnZhbGlkIHJlbmRlcmVyIGNsYXNzICIrb0opO2JyZWFrfXZhciBGUz1xWigzLGhOKTtjKDEwLChOKDIsbGEsMzgsKE1aKDczLDYsKHdjW0ZTXT1vSiwiZ29vZy1jb250cm9sIiksZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGhOKG51bGwpfSksbWUpKSxtZSkpLG1lLnByb3RvdHlwZS5wUT1mdW5jdGlvbigpe307d2hpbGUoMTEpaWYobWUucHJvdG90eXBlLlg9ZnVuY3Rpb24obSxsLEYsVyxHKXtmb3IoRz03O0chPTEwOylHPT03PyhtZS5KLlguY2FsbCh0aGlzLG0sbCxGKSxXPW0udSgpLEc9MzcpOkc9PTg0PyhXLmRpc2FibGVkPUYsRz0xMCk6Rz09MzcmJihHPVcmJmw9PTE\/ODQ6MTApfSx0cnVlIT1bXSlicmVhaztNWig3MywzLCJnb29nLWJ1dHRvbiIsKChOKDIsaE4sMzgsKG1lLnByb3RvdHlwZS5WcD1mdW5jdGlvbigpe30seFApKSx4UCkucHJvdG90eXBlLnY9ZnVuY3Rpb24oKXtkZWxldGUgKHhQLkoudi5jYWxsKHRoaXMpLGRlbGV0ZSB0aGlzLk5XLHRoaXMpLktDfSxmdW5jdGlvbigpe3JldHVybiBuZXcgeFAobnVsbCl9KSk7dmFyIFQ3LFJiPXcucmVxdWVzdElkbGVDYWxsYmFjaz9mdW5jdGlvbihtKXtyZXF1ZXN0SWRsZUNhbGxiYWNrKGZ1bmN0aW9uKCl7bSgpfSx7dGltZW91dDo0fSl9Oncuc2V0SW1tZWRpYXRlP2Z1bmN0aW9uKG0pe3NldEltbWVkaWF0ZShtKX06ZnVuY3Rpb24obSl7c2V0VGltZW91dChtLDApfSx6Nz17cGFzc2l2ZTp0cnVlLGNhcHR1cmU6dHJ1ZX0sbl89U3RyaW5nLmZyb21DaGFyQ29kZSgxMDUsMTEwLDExNiwxMDEsMTAzLDY3LDEwNCwxMDEsOTksMTA3LDY2LDEyMSwxMTIsOTcsMTE1LDExNSksSmU9W10sRlY9KGIucHJvdG90eXBlLlVuPSJ0b1N0cmluZyIsW10pLFNBPVtdLEJtPVtdLHJNPXt9LEVqPVtdLHRlPVtdLGpLPShiLnByb3RvdHlwZS5vYj12b2lkIDAsW10pLEliPShiLnByb3RvdHlwZS5xVz1mYWxzZSxiLnByb3RvdHlwZS54VD12b2lkIDAsW10pLG1iPSgoKGJHLGlHLGZ1bmN0aW9uKCl7fSkoTlQpLEdOLGtQLGZ1bmN0aW9uKCl7fSkoT2opLHZvaWQgMCksR3U9KCgoKEs9Yi5wcm90b3R5cGUsSy5wQz1mdW5jdGlvbihtLGwsRixXLEcseixRLFMpe3JldHVybiBNVC5jYWxsKHRoaXMsbnVsbCxtLDE2LGwsRixXLEcseixRLFMpfSxLKS5rVD0wLEsuWks9ZnVuY3Rpb24oKXtyZXR1cm4gRzcuY2FsbCh0aGlzLDMxLDcyKX0sSykueF89ZnVuY3Rpb24obSxsLEYsVyxHLHope3JldHVybiBRcS5jYWxsKHRoaXMsdHJ1ZSxtLGwsMTMsRixXLEcseil9LEspLmp2PWZ1bmN0aW9uKG0sbCxGLFcsRyl7cmV0dXJuIEouY2FsbCh0aGlzLGwsbSw3NCxGLFcsRyl9LEsuUj0od2luZG93LnBlcmZvcm1hbmNlfHx7fSkubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHRoaXMud08rd2luZG93LnBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sck0uY29uc3RydWN0b3IpOyhLLlVtPShLLnZrPWZ1bmN0aW9uKCl7cmV0dXJuIEc3LmNhbGwodGhpcywzMSw2KX0sYi5wcm90b3R5cGUuVj0iY3JlYXRlIixmdW5jdGlvbihtLGwsRixXLEcseil7cmV0dXJuIFk1LmNhbGwodGhpcyw3NCw0LGwsRyxXLHosRixtLDI3KX0pLEs9Yi5wcm90b3R5cGUsSykuVD1mdW5jdGlvbihtLGwpe3JldHVybiBtPShtYj0obD17fSxmdW5jdGlvbigpe3JldHVybiBtPT1sPzc1OjEyMH0pLHt9KSxmdW5jdGlvbihGLFcsRyx6LFEsUyxwLEEsRSxWLHEsZixVLE0scixULHksWCxZLHgsYSxCLFIsdVosayxwMixJLGgseU8sYzAsWE0sUCxLMixqQSxnTSxMLEMsRVYpe3doaWxlKHRydWUpaWYoTD02NSwiSyIpYnJlYWs7Zm9yKFhNPShDPShqQT11bmRlZmluZWQsMTYpLGZhbHNlKTs7KXRyeXtpZihMPT00NilicmVhaztlbHNlIGlmKEw9PTExKVM9SS5jaGFyQ29kZUF0KFcpLEw9ODc7ZWxzZSBpZihMPT00NSlLMj1aZygwLHRoaXMsODAwMSxGWzFdLDQ2KSxqQT00MixMPTk1O2Vsc2UgaWYoTD09NzMpWmcoMCx0aGlzLEZbMl0sRlsxXSw0NiksTD05NTtlbHNlIGlmKEw9PTQ4KVcrKyxMPTk3O2Vsc2UgaWYoTD09ODIpTD1WLmxlbmd0aD40PzQ0Ojc7ZWxzZSBpZihMPT05NylMPVc8SS5sZW5ndGg\/MTE6MjA7ZWxzZSBpZihMPT01NSlULmxlbmd0aD0wLEw9OTU7ZWxzZSBpZihMPT0zOClDPTgsTF8oUCx0aGlzLDE3LDIwNDgpLGpBPTQ2LEw9OTU7ZWxzZSBpZihMPT03NilqQSE9PXVuZGVmaW5lZD8oTD1qQSxqQT11bmRlZmluZWQpOkw9NDY7ZWxzZSBpZihMPT00MSlGWzFdLnB1c2goTyh0aGlzLDQ3KS5sZW5ndGgsbih0aGlzLDM5NCkubGVuZ3RoLG4odGhpcyw0NzMpLmxlbmd0aCxPKHRoaXMsMTgpLmxlbmd0aCxlKHRoaXMsMjQ1KS5sZW5ndGgsbih0aGlzLDM2OCkubGVuZ3RoLG4odGhpcyw1MTEpLmxlbmd0aCxuKHRoaXMsMTE2KVswXSksRCh0aGlzLDMwNSxGWzJdKSx0aGlzLkdbMzg5XSYmWmcoMCx0aGlzLDgwMDEsbih0aGlzLDM4OSksNDYpLEw9OTU7ZWxzZSBpZihMPT02KUU9IiIsZj0wLEw9MzQ7ZWxzZSBpZihMPT03KUM9OCx0aGlzLlk9cDIsTD04O2Vsc2UgaWYoTD09MilMPUc9PXRlPzI1Ojk1O2Vsc2UgaWYoTD09MzQpTD04ODtlbHNlIGlmKEw9PTk2KUM9ODMsUj1PKHRoaXMsMjIpLFIubGVuZ3RoPjAmJklKKHRoaXMsZChSLmxlbmd0aCwyKS5jb25jYXQoUiksNTExLDQ4KSxEZyhkKHRoaXMuTisxPj4xLDEpLHRoaXMsNTExLDg3KSxEZyhkKHRoaXNbRlZdLmxlbmd0aCwxKSx0aGlzLDUxMSksaD10aGlzLklqP24odGhpcywzOTQpOk8odGhpcyw0NzMpLGgubGVuZ3RoPjAmJklKKHRoaXMsZChoLmxlbmd0aCwyKS5jb25jYXQoaCksNDcsNjQpLFg9bih0aGlzLDQ3KSxYLmxlbmd0aD40JiZEZyhkKFgubGVuZ3RoLDIpLmNvbmNhdChYKSx0aGlzLDUxMSw2NSksYT0wLGErPU8odGhpcywxMDcpJjIwNDcsVj1lKHRoaXMsMTgpLGEtPShPKHRoaXMsNTExKS5sZW5ndGh8MCkrNSxWLmxlbmd0aD40JiYoYS09KFYubGVuZ3RofDApKzMpLGE+MCYmSUoodGhpcyxkKGEsMikuY29uY2F0KGlHKGEpKSw1MTEsNTMpLEw9ODI7ZWxzZSBpZihMPT0yNilWPVYuc2xpY2UoMCwxRTYpLElKKHRoaXMsW10sNTExLDE5NyksRGcoW10sdGhpcyw1MTEsMzYpLEw9NzA7ZWxzZSBpZihMPT0xOSlrPXgudmFsdWUsTD0xMztlbHNlIGlmKEw9PTcxKUw9Rz09RWo\/NDU6MjtlbHNlIGlmKEw9PTY3KUM9OCxMPTMwO2Vsc2UgaWYoTD09OTIpTD04NjtlbHNlIGlmKEw9PTIyKUE9RlsyXSx1Wj1kKChxPWUodGhpcyw1MTEpLmxlbmd0aCwtMip+cSsocV4yKSsyKih+cXwyKSksMikscDI9dGhpcy5ZLHRoaXMuWT10aGlzLEw9OTY7ZWxzZSBpZihMPT03OSlMPUc9PWpLPzQxOjA7ZWxzZSBpZihMPT0xNSlDPTU0LEk9YXRvYih5KSxXPTAsTT1bXSxyPTAsTD04MDtlbHNlIGlmKEw9PTg1KUU9IioiK0UsTD05MTtlbHNle2lmKEw9PTQyKXJldHVybiBLMjtpZihMPT0zNSlNW3IrK109UyxMPTQ4O2Vsc2UgaWYoTD09MClMPUc9PUZWPzIyOjc1O2Vsc2V7aWYoTD09OTApcmV0dXJuIEsyO2lmKEw9PTY5KUM9OCxHPUZbMF0sTD03MjtlbHNlIGlmKEw9PTY0KUw9RT84NTo2O2Vsc2UgaWYoTD09MTIpQz04LGVLKGZhbHNlLDQ2LDgwMDEsdGhpcyksTD05NTtlbHNlIGlmKEw9PTk1KUM9MTYsbT1jMCxMPTc2O2Vsc2UgaWYoTD09MzApeD1CLm5leHQoKSxMPTg2O2Vsc2UgaWYoTD09NTcpQz04LFE9aUcoMikuY29uY2F0KE8odGhpcyw1MTEpKSxRWzFdPShZPVFbMF0sLShZfDApKyhZfDYwKSsoWSYtNjEpKSxRWzNdPVFbMV1edVpbMF0sUVs0XT1RWzFdXnVaWzFdLEU9dGhpcy5QayhRKSxMPTY0O2Vsc2UgaWYoTD09NzIpTD1HPT1CbT83NDo3OTtlbHNlIGlmKEw9PTgpTD1qQSE9PXVuZGVmaW5lZD85NTo1NztlbHNlIGlmKEw9PTkxKXlPPUUsZSh0aGlzLDQ3KS5sZW5ndGg9QS5zaGlmdCgpLE8odGhpcywzOTQpLmxlbmd0aD1BLnNoaWZ0KCksbih0aGlzLDQ3MykubGVuZ3RoPUEuc2hpZnQoKSxPKHRoaXMsMTgpLmxlbmd0aD1BLnNoaWZ0KCksbih0aGlzLDI0NSkubGVuZ3RoPUEuc2hpZnQoKSxPKHRoaXMsMzY4KS5sZW5ndGg9QS5zaGlmdCgpLG4odGhpcyw1MTEpLmxlbmd0aD1BLnNoaWZ0KCksbih0aGlzLDExNilbMF09QS5zaGlmdCgpLEsyPXlPLGpBPTkwLEw9OTU7ZWxzZSBpZihMPT0yNSl7aWYoej0oVD1uKHRoaXMsNDYwKSx0eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIikmJlN5bWJvbC5pdGVyYXRvciYmVFtTeW1ib2wuaXRlcmF0b3JdKXA9ei5jYWxsKFQpO2Vsc2UgaWYodHlwZW9mIFQubGVuZ3RoPT0ibnVtYmVyIilwPXtuZXh0Okc3KDMxLDE2LDAsVCl9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKFQpKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO0w9KHg9KEI9cCxCLm5leHQoKSksOTIpfWVsc2UgaWYoTD09NjUpYzA9bSxtPWwsTD02OTtlbHNlIGlmKEw9PTk0KU1bcisrXT1TJjI1NSxTPj49OCxMPTM1O2Vsc2UgaWYoTD09ODgpTD1mPFEubGVuZ3RoPzE0OjkxO2Vsc2UgaWYoTD09MTQpVT1RW2ZdW3RoaXMuVW5dKDE2KSxVLmxlbmd0aD09MSYmKFU9IjAiK1UpLEUrPVUsTD02NjtlbHNlIGlmKEw9PTQ0KUw9Vi5sZW5ndGg+MUU2PzI2OjcwO2Vsc2UgaWYoTD09ODcpTD1TPjI1NT85NDozNTtlbHNlIGlmKEw9PTgwKUw9OTc7ZWxzZSBpZihMPT04NilMPXguZG9uZT81NToxOTtlbHNlIGlmKEw9PTIwKXRoaXMuSk89TSx0aGlzLmo9dGhpcy5KTy5sZW5ndGg8PDMsWih0aGlzLDM4MCxbMCwwLDBdKSxMPTEyO2Vsc2UgaWYoTD09NzQpeT1GWzFdLEw9MTU7ZWxzZSBpZihMPT02NilmKyssTD04ODtlbHNlIGlmKEw9PTEzKUM9NTgsaygpLEw9MzA7ZWxzZSBpZihMPT03NSlMPUc9PUliPzczOjcxO2Vsc2UgaWYoTD09NzApRGcoZChWLmxlbmd0aCwyKS5jb25jYXQoViksdGhpcyw1MTEsMTY2KSxMPTc7ZWxzZSBpZihMPT01MCl0aHJvdyBnTTt9fX1jYXRjaChsRyl7aWYoQz09KGdNPWxHLDE2KSl0aHJvdyBsRztDPT01OD8oRVY9bEcsTD02Nyk6Qz09OD8oakE9NTAsTD05NSk6Qz09ODM\/KGpBPTUwLEw9Nyk6Qz09NTQmJihQPWxHLEw9MzgpfX19KCksSy5Qaz1mdW5jdGlvbihtLGwsRixXLEcpe3JldHVybiBBTi5jYWxsKHRoaXMsNTIsNSxGLFcsbSw1LGwsRyl9LEsuT209ZnVuY3Rpb24oKXtyZXR1cm4gcVouY2FsbCh0aGlzLDM0KX0sSy5vaj1mdW5jdGlvbigpe3JldHVybiB4NS5jYWxsKHRoaXMsMTcsNil9O3ZhciBjbTtLLkZ4PTA7d2hpbGUoe30paWYoKEsuYWI9MCwwIT0oIVtdPT0oMD09IVsiIl0pKT09bnVsbCk9PSFbXSlicmVhazt2YXIgUG09KGIucHJvdG90eXBlW0plXT1bMCwwLDEsMSwwLDEsMV0sLy4vKSx6Tj1CbS5wb3AuYmluZChiLnByb3RvdHlwZVtqS10pO2NtPVNLKGIucHJvdG90eXBlLlYsKFBtW2IucHJvdG90eXBlLlVuXT16Tix7Z2V0OnpOfSksMjQpO3doaWxlKGZhbHNlPT0hW10paWYoYi5wcm90b3R5cGUuTVc9dm9pZCAwLHRydWUpYnJlYWs7dmFyIHNqPWZ1bmN0aW9uKG0sbCl7cmV0dXJuKGw9dSgzLG51bGwsImVycm9yIiwia3MiKSkmJm0uZXZhbChsLmNyZWF0ZVNjcmlwdCgiMSIpKT09PTE\/ZnVuY3Rpb24oRil7cmV0dXJuIGwuY3JlYXRlU2NyaXB0KEYpfTpmdW5jdGlvbihGKXtyZXR1cm4iIitGfX0odyk7KChUNz13LmtuaXRzYWlsfHwody5rbml0c2FpbD17fSksVDcubSk+NDB8fChUNy5tPTQxLFQ3LmtzPXdNLFQ3LmE9aVopLFQ3KS5DZVVfPWZ1bmN0aW9uKG0sbCxGLFcsRyx6LFEsUyl7cmV0dXJuW2Z1bmN0aW9uKHApe3JldHVybiB2KGZhbHNlLFMscCw4KX0sKFM9bmV3IGIobSxsLFEsRyxXLHopLGZ1bmN0aW9uKHApe1Mub2oocCl9KV19O30pLmNhbGwodGhpcyk7J10uam9pbignXG4nKSkpO30pLmNhbGwodGhpcyk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iX1ZNS3RvcGJhV2lYUXBsUnF0OXBLZyI+KGZ1bmN0aW9uKCl7dmFyIHI9JzEnO3ZhciBjZT0zMDt2YXIgc2N0bT1mYWxzZTt2YXIgcD0nQ2VVKzQ1TkdPQmk4eStXMXJ4ZTl2NTBQZlNEeG00V2ZvSzdXOXVhOGZPNHYyVGMrSTBjWHJ0LzJNMUFaeUxPb2FzVTdpTC9rQ1V4WUtXUkhnNmFwblJBdUltTW5BajRWVlQ3USs1UzdFNzltaFQvN3ZiNXJhSVptaUdrTUxGUTBCS1h0Ly8vQzNZUWZySDl6VWRkRGJ1ditiZmpreFVLcTUwQkVVUVB2dTRkejdXT0NreGtjK2RUU3BsOUV2aklmRVVYQXRjT09UejlFQ3VKeUR4c2pXNEhlMjN0eDZYZlhuTmsySHhvbGNpY1VDQkNsTWJmSjVEb0dpdWtub3NSRHVubGlkbVRWWkFvZnJoelhRYXFIT09pMUZuaU5WSEcvVlNoQUNvai82YUlxbEkrYzNEbWQzNzVWMkhYNWpOb1ZLaUNhbjkwd1huTEhCc2ROc1NEODdVV3B3NE5xMmZJd01FSWpYTVJIRnZ1ME1sNHEyVG1MeDZza3I4dnE5aTU3SXlWdTFTMDRSVnpTcHczaTRoREx0Uk9nOEt6cmZ6b0dwNmFCQVJYY0htYVc0SExabUVYWExOckdCRXFFZkNRTlIwOUpKVlJ0UmVwOXljeTB1N1p0czNCR3A0aTQrVTZXTGRXQmJ3OUQvbytNM0FORlNqMFFnbncwbTdZa1dDT3p0YXpWMVc2UCs5ckZiY3hxNy90YUtoZ1Z4S2ZIV2EyMHZPdW5pSEZIam9RZnJEZm1KMkRPQlIvNkpxeG5lc0pLdVJMeWw0ak90SnRUU2c4S1ZvMmZqRFZiMzh4SlByTUxlUzdXYVhJQ2pwYzJhd3FXeTF1ZFFCWlcrZGZTWWkybEpsN0dHT0Evdmk5VGkxZkhZWHlSWjl1Ukx5cE16anpKcXBFMlM2cXM3OGxWL2JUNTJURDNOZVMxRDVwSEx0T1BYWFljcGhQN0ROUmd6M1M1dEtxSHptUmcwTWFFK0JMVGNQdDR6YlNWK0FBcTcvSHRuZkVSRVI4THBkNVNCY0dLQW44b1I3N1VDMXBOZk00c2crR3lMZDdHakVnMExBckNuN3BBaW9saHJTeXVTRzJGZnFXRzJwZDh1eHoybU5VbjBJSVBCb2dobzltNEdERWtwc1BLamVERHh5RWdINnliN3AzdXppb0xtaTZ4THUwMW1iQ2NscUN4V0E5d0JOUTI0YmZKSlNZaWp6K3dpSHdIVGFsRUlxTHZCTGg1N3B2Mk5DT2ZWd0xacDM0T2s4YnZsVGdKN1hVbGhTakRGWi90SUlkZjRFSm82aVdwSzdoNXl1YkdNOGpjVWp1NmtBb3E3SU5tOVhsUHM3eHZvUjZBb3RUN3lVeWgwbGRIVlJhbiswR21uYkZOalNVQnhaRUxFRWZnNGh1WFZpbmxHa2NGMjJ5Z2NCWWNFWmVrZ1diN1dIMU8xZFVQd24vcWR4UGVhTkc1SWpjaVlnU091NFYyTm1UbStrMUlmRGdBM1pzeUwwSFJyZU4xSmYxUTZDTFQ4RmR0Y05qSk1jbE5EUmNSbFFaUnhPclhFRnJzTitMa3pYdXhZWWtwUkgvdUZ2ZmhmdFhUM2VsMGtFN2xyZTlpT1loNFZ1TGZXdHVTU2dHakNmS3BLai9DMm85T3BPQlRVRlI0cVhFeFRFUEpDQkd6eUtGamFoRnorbGYvWnJneDA2SWVaRzFad255L1NRcmltT1ZSckRJc2x1MzhsaVY1dHZnVU5INXVHcTVDVUo5bmlmQXNoM2dNNkxvT0phTG5PbkJ4ZTlBWDlIVFhLNEppcEFzMVNsTDJETThGbDhXWjBNbDFmZzJLU0kvZkk2Rm5SYVk5dnJ4N1JNMmpWR016bDNXU2xpUWEvTXB3OGU0a0FyYkEzUmswTU1mV2lWRzF5WmgrYkpCbmk4UzhtSkhsUFpOUjJESmh4MnhueW1ELzFUZEp6Y2FnR2pPdFZJeEpZbU9vOUE0aE5NakQ4bmdYNzVhZ2RQaGxyNGJDRGFEUldoK2ZCZUh2ZklxQ1o0Y3djWXZUeml0ODROc0FDdkRDVmxoZ3kvS25HMmxsMkFscmJteHB6cHlwZW1qVm9oeVB3SzVSWkF6cmtJVGcxZkxzem0zdlcvQjU5OVJQemEySjNqSkVUV0prWXdZNC8wdk5EMVA3Zmoxc011VlZ3RDg3T2VaQzNCbTIzTEwrdzlKSzJmSXpsTTBVR1ZuVnhTOXI5SUxNREg4eTNNaHNkV2pWaGZNTWNYVUJuVXBYSmZNK29vbnViaEN2NUJyN3pEZU5KcjQwK0lNTk1ieHpDcnc2U1k4SWxDRXNaOEFldjlVb3kzT2o1RStPYk9hTHVmcm53VlQ1ZjBJcXZHWElFY1E0YmE0TFpMQTZBdk9yZnZ4bGNQOEFsYjdrVVljTUk0Ukh1RGtvUEVEQTVuaUVUVnBuMHNVNEw0bkpUYzhyUXFFTEJhMU5Tei9VL1U3bHBSbTMreEgzYUhudUxncXFnWWhMNVF4QmhtZllNeFphWWkvTTJqeitQK3BTTVhiazZ6WkIwc0s5WHBxNi8weGpTTzVQcUJnVUI4OGtpa1VqL0U3NFpKWndMSDlhRzhNeUc4ZkJoSlM5RkQ1NjdsWDMrY05XZUZxYXBEdlN0TnZjVU1CZzVIWEY2eXJOb3laNzVFWElIOGpjb0wyL0UwN1d0NTI2YVZXYWw3Q004Tnc4K3htNFpSS0NQaExuRW0rRkRha2Zha1RYM0ptSlBQL2JFZzE3clplV21DK1FyczRjTThoUDFybmJVRGJTRnVGV283Q0FYT0gwd1AyVTdOWHczd202ZHc4YWdYM2pVdWNMdzF1QXFPcFY2UmQzREh2K3M4UWZ5Rm42Z0d3L2hCM1h6QjNWTkh4c2loSFlrdzNNNUVCd0d5dWxCZEdOcTZDRW53UWlXK2NGQ2JCNVcxM2tWTkFpdElaNm5MSEdWcVlYNURhZWsrRy9LVVJEQ01BdG5uRkdIcjNPbkozdnVDVHNiN2laeFd3TjFQaFBmVmdXNzRMdmhXRHQzV3dHcTVLQk1Lbkg0c0hidDBjcEJ3SVZpWTJRWVRhcUFydUxRcGt6eVhKWFZOZ2dPQyswRlRXcE8rdEFvc2pBUjBjRHd6eHV2QVIwOStTQUNRcTRKUWo1a3hnRGRIbnFIQklFR0NmY0JSTlhnZGhGeWoycFNWUEVDQnRmZ0t1dFkyWVhqbFIzWG1hRll2VTJuR09kUGxmUk1JUUxuQVY5UC9xTW12NGhyWlNVRUNXL3g2QUZZWGRxOFZoVmdKS0xYUVlpMU1zY1Q1Yyt5aVB6NHdlbDZlNlhOdlA2YUJqY05qSHFYYjR3aE5RK01Uck5CZHVMYUUxUEJjcVhQZW5ocHlMTVVjcVh5akY5ejRoZnp0bTVha2RML25mWWhzd2pmWm14dXJNNnJzdEdiVUhzT2VUMk8rUjNGY3QybUlsdmFwU0NpdFM2MC9ZcnMrQWVvd3JQU250R0hDVDZPRU8yTEZXc3hkeUh0UHA1Q0l5TUNicEQvZnZ3VkhNOGwzSVE5OU11bTFXUGpHdVN2Q1Z1OFQ3SWJzZWM5OENtcWtMRmcyS2JLbDZXLzFnU1dyWVhwUFdGNFVubTQ0RkZHY0s1aUlKVXRNbERhekpTTTlTeWdaanpCWUdCUDVocGI0WU0rVzBXbDlzQTY1OWJWWXdGYzRnczF1NUw1akhHdzFWRnlNZXpleVZzRDFVbmp1VjcxOE13WkYrSEQ3Q0NHcDA1cUtidVltTm16WGFnQ3JuMHJlZmtwU0RoWXhpTStiUmJ1MVl4Q3lYZ1U2bWpVc1ZQbW1XcGxSYkRWaXVrbVJHOXpIUDdBeDlxL0NsOTlJVllad2xabVBCd1hCVEQ5SFppcjFrV3VIYU1wTjd2NmliNnBIb2Q2QU1UYXJvQVVZaUlNMFpuazIxL3crOWJNVlBQcnllWXpiL0M5ZmRsaW11RjlNdmJvWDd1Ti9yRVRYalozS2Q1dERFcFVNY3gwME9rbGM4YzYvMG9hVHFSRXdleVVzc1V5Rk1MOVBJbWU3RkxYL0dQSDZkd3dncTNmT2lYSG5Tb2M5clBzWUVkOU04Ui9LNis1dEw1dllVWGFOeWRDa096Z2I0NFl4djl2TlNpeWVVdU1VMnZKMWZ3WnIyNGFQbGxvZnNGdlgzeTI2eXdzMGdqOTJnTzNyRFgxY0paejdtVm5oV2ZZVERVWkRDQis0QW96SVJtdVZYejNmUzRUMzVUT29NWXlONGhBRlRsUThrenpzOVhTTFBXNi9ra0xnRHFsblZsa1U5eEtrQllremE5Q3BmZld4VTlzK0s1OHRDNXRoWVZXNEh1M0c0L3pjaWF4SnVqaElrMGRTVWh6eTMzZEh4aWlNNXAzZzkxQlNnRWR1blIzZXJhVEt3ZTgyZHp4UytJT2ZKUDNUZnJ5ZVBPYTRjSTlHNmU3ZHhFMjBpcjNMSUJmTGJES1NQdFJsRGU0bkppWkwxTnAzTGZQK1dQdG1la3ZHWk5pNFFMNisyZHk5RDdwN2tNQnV6d2xaZUhubmFvRXZtOURuNGFscWhBblNzeVJQRmRoT2U3NTZYOE1TZDFpNHBFa0tONTdvSW55Z0ZVdDVHdFRpQnJPVG9zUjlYZVJZS0MrNHNuWERYdy9VbWpCVlp6aThzdUtXVitZUU5xaStMZ3VnSWtlNFV5MEZmWXR4NlV0Nml0NzBienpZc2o5OE1ML2NlaXQ4RU5wVUkzM0czS3cwdXVMTEJyaStyVVI2cVBWaUpRNjZsbzZxMkltbFVYSEZSRWFkck5GeGp1R3dvUDN6eW8vbllSdm9rbmxVVFp4clpQM2RDVGFWM3I5ZVowcW1OOXpoeHVuQXpTSHp0NUVVYlBUQ2o3c1BoV2ZHMUtwUjJPRzFsTFJHWGNlUG9FL0hlSkhtUC93dEMzRWYzRU1PSEFaUndrdjNYZFNSdnZpOGtVMk9EVm9UZXJmVjYzbkYxUFZVczluM05tTzd3RFZHYUsxSENqRXRsTlBFQTFQSzk0bFNhRWFMWGczS2QzOExGT0pRQXZQQTA2aVFGY2V6dU9xcFNlNERNQXFhYWtXRkhKYkQwMmhVK0xvWXROeEU1UUp0OERIWGF2ZXFSQWthR21WS29oVXAyaERsTVVSbnphLzBRUzhCMy8xTGMzenk0M0c0aVc4MitXRW1qeXYyd0hmd2V6TG93c1pUL3JrWUtaaERwZ0t1UG1CMlZjNGluMXJjSGM4cm5hWldBWm1rS1NBaXcyU3YvcFBSV1F2V3hRczJIYmUvYi9BRlplZjVUbVVmT01zdmNuYUx5cHhqMzNvd2ZLeUJzNlVITk5scXhkTDd0Qk5yMnNJZzVtS29lNmpDRzd1QWdnRWk0TXlOY3NPMEhtNk03VWdPRXp1dm9SQWlROHlsSTduY1ltVE1sR0JDb3FpU2VvZGpsTG9rSE1veHlWWER3bWRaelg0K3IrdkxlTFdNK1BCZGRiMEtoOWZOMWo0ZjY4ek9HNUdubDRHTTJuYTVDZXQ4QTRLZzhFNnFGVUJPMzd0WENRMTVjRDNwYjZaaXpsdUZuY21IY2lKYmZBU2haa2pQVWRsV01PS3lsMEJPZWxZRCtPV244T2ZIWC8rQ0dvNXZMdUR5UDMvUzB1MFZlZXNJdjUrODBCakVqVjVqTWJCRW1IQ0lmRlhKOUxtMGRoU2N5M3M4dmVGbjF1OWd0UlhjNmF1Mk1XWVd0ZWxXM3o1NU1HWVRheTI4ODkwM0dScXB5TTNUNUZ0dkdzVVpIL2h1WitWR04yWUF3UUhUeWRUWXBmdkIzaDRzamYxK2ZsUEpqL1BHY1ArbGlubEZ2YVkvbGNkaENTUGNiS2ZTR2tzZXpTbzF5cHJOZ282T3VhdHZKclBnZkVBSjZWRnNHeUY0cDlhK3ZsNDNTKzQ2ZTlzQ29pMWpndHN5bTZSRDhQTllVY3c1SUFCdHRIRVkxUlBsYVhCMDZZQzhhUGV3MTdtUVdEell3Z2Y5TTNkVjdzdkQ0Mm90U1JaenVabjBrYlZSUHczeW52cnd5Y21LeHNkNE9ISk9ucTJNTzlwTmRqbkJlVXBoc0VGWEtuYUc0OTlOYnNKak5rNmgzUFZzVWZDYzRzZFU0bGF5VzN5aXFGTkowT2NRZ21vWG8vOXhCMGRRMDR4akM2VUxvWW9wcmxkUENWNjNEVENhVUQycDVwcUFYc2d5N3N0VVFGUUFnT0RnMTRCdG92YlhKMXdhQTNFL01pMWxJbVduYlRVNWE3c0cvQUpyUUxWUjhhdURyMzBGTGg5RURkeGJNWXo4Z3EwR05qNWdZQnlvSG5ER09Jbkh0L0xlT1NCZnpXdnR3aVB5L1BmT3RWQzQwWXhkYktlck1GZEd2cmdjV3ZOOFAwSlVzaWdHeEZpdWEwZTd4blM5N0dqT3NuTDlYaFdlNWxDRzJldmtHMW5la2hOcVhWOU9NbTV2NFcvRGN2ZGtEYzVDNW5YMnlyQitsQnd1OXFLWkMvclRDVTZwZTVQT2RaQnVrdTdRRHRuZFNTaDVIb2pkWjF5QWd3bTdQVkU1WmIvT1ArbVp4R2Y4RGMzK3Q0WFRObmozZC9CVXQ0RHAzeEtDV3ZYYmlHRk45cVh1Rk45RVMyd05NMWdhR0tQK1Vab1hYQ0FqUmVjZFdtNUZOOTNRNE9PdzZ3ZXRRNkIySWFsQU90M25nay8xcHlES1F4Q01GdGQrMTdIQTEzdUJWREJCREEwd1oySjFqNnFzbjVQSGE4MDFxZEdaUFNYWkxxU3BKMTY1K2JwQzNaeWExT0xxUm8vTlRUVG1SZlNFR0hwaG91V0k0Wnh2N3dJVUtWRUs2UkxtL2FGZjQzWmhHQnFkWURrZWpaQ0tHQjVMQzF0ekNDUkk1TjA4OHUwRHBVNXExUDFIUGFIZ3JsbXdjbHV4b1BveXdnQTF3citpTEMrM0JoMHJ3ZWkwVC83S1RYaUk0UUxOcWFTb0Y3UDVTRnhVRjRoempjcDYxYWRSV01DTHNoaXVzb3NSb3phMU0ycGlYTEtMYkVGWnZ4UXpoSWxXV0d2ZmZMMUxmTGw3aGU1U0FGNDVZa0xGSnlCUGgrMDB1NlZpSDBzM3lxbmxndVIrSVd5TTZNelo4dkZOTmlsNTdRRngxRGU4VTZiYnh5bytqUVRQVXhQYzh5RUwzUitwcytjcFR6NTFobGdqYXhYL2lVWUgvK25SY3IvVzdINHhGaW4zREhYTXdBZVJMa2tSS0lGZDVXdnRKY015RlQzSDVTNnRMa2xBVzZsZXdQTjNqL2pFc0RjaDBSN2xUTlN2NEZ0S2NzaW1WUjVuOG8xc3Q0N1B3aTVHYmNQRHZrOG1tK01ZeHZjUDhDaE15RDdMbzQ4Vkc4VTVlL0NsU21kQ2RndE1tQ1IvdElCVURnek1NRndNa2NLSlVIVXJZSWIwOUNtcWQwbHdiZERnNEp5Rk5aRjZsSGJjZUN4YUdPeVlvTkk3Q25LMTc5bFlZMjdPT1Q5b1hUZTE1eC93dVFzalFtUWthQlJNT1ZKS1BUREhreE44YVpsODg0N1dhQnYzOU96dER6cS9EVUhxZzBOTXBmZDJMcFpaQ1llQmZkQzI4dHBuTjVlQUpvUStjTFhhcDNxcjZBcHhNYjJUbE5MNk9FT2JzNzFadGV6N0E2K3ZycGphdjJHeWI3eHVhall1MTdQakx5eVdCUElhdlo3SGNZSzZZa2w2d0hQQ0tGSjNjakZIYWlSdXhHQzlqUE9NNEZFSVdWWnhDcDRnZmRxVGUyRU5pSTNsbDdNTmJNdDlOQVZCRmFuc3hSa2w3V2k2SVA1WjF1eGc5eG5LRi9STWEwWlRxbXp5M0pHL0ZwejIyQWo0TXU2QVVoSzBRcHY1NnVpRktkNG5xQlhxOXhzNjZ2OGNXNGZ0ellLeEFOOVVKaCtVSUY2aVoxUVpRaUJSMm9tbUZaTEJaVzhiem9wTXFwaThGUDU1aW5pMCtqYWJnR3J3b0syWC93QkFBcS8waTk3TjFVY1BzYzFSbHRLL0FQWU9uc21LdGNONVd6aVhreTlqWXorT21JR0I2cEcwUFl0T3M1M1VLNm01V0gzYy9NSElxN0JoNXZIMncyQjVtbEVoZUVUOHRRcHVJNUdsc2pqdzRFSERUcGllRVFlQkxMY205WTk4U3ZDTWN0a2oyTmJ6WFJnZWl6YlU3OGhlM2ordi9wQWtBTVhGaEtzb2J5ZXJtcTdsM09ZN1NQVUFDSkQyK0JHbHlRZ2h2R1E4N0xBWjhiZ3h5MCtxcngyamJGaHJORTk1YkxTbXYvVVZaOHM3OTk5bEI1S3JrRHVuWG95dkNka2lMWnQzeXV6NXBpcjZ6dUFiWGYreTJXVHZ6ZWJPTWVoeUl0WnVvWkk1Q1JsR0ZSQi9IQVVDUnIxbFlWcmdTOW9tV2dOTjNZdFdQRGJSUjFaYWkvMEExcUcvd1NBeFd4TmQrZnFtVjk1UXk1N2VFRFdGMEJKWXhhUWE4VmlsV3p1NVR3cmxDVUV0KzdCcC9JK3dPM1gvZDNjWkV4M2h5SzBHSjN6amYwb1pIL3AybzBjekM3WWJGQnY5YUc4TTdEYnZIQ0lLTE9VRkllL3l5cTZBaFc1OGR1NjJPcGVqcU5vS2FNblhFOFdjenJxUTRmOHNDcW85QUFhRzZTVFhSUkQ3MFVMaStjdHZVRzRYY2E4RFpKR3dHRXhnOEtRTWtiZmc1SG9CTVNiRTZqVHZqeFJGa2U1cjZ0OEU3eThsUEIxa2JsNzd6NW8wQ1h2emhMUjZxNXFJNytHU3FlekU5bkJUajhKL0dreVlSZGZNWjVZNlgzTGgxaG05aS8xY1VoNDh6QmMzdjk5ZllXeENGa2V5dEtqT1gzMUJZYUpMT0NkRmNHOS9USFk5MGttblZEVm5jbjFjd0hFWFowWWdpVFg2dnhpS1p5c1BpczBoQmVCZ1V5VGNxTWdSMTBFeG1FZkRncDBJNGhOQzYvY3BpenZhbmE2S0p2Tk9iTnNlb0VtNTkrMU9XZzUyN3ZxdGI2RDFQQWJWTUF5ZEIwUjM0U09UcVlVRWtVNDlIMEZBYTJOM0JieUt2bjdrcTY0R2dHa0k4TVpkS1ZJOFNPRWt4UlRaS3VPNS9raXJObUI2aUI2Ni9EOTlJRkZzakZXd0JTZkJzV2pGWk9YOUFFeUNlanlQQlZVQ1FlS09RbWhTbmtDaUkxZ3ZXTkNRdkZlcm1QTzlacFN0RXJVK1lnS2lnM3A3eVRtd3FUdGVTUkZPUnJMUHpidHUyWmg0eGMxZ0ZHZzYxb2RJZXN3Y3VZMUtFR2UwSjE2U2JSeGdmaTA3bDJrZWthNEg2WUJ1WjQ0anQ3cGxrRnZIazhCRkFXcFFNbUw1WEZvTWJTb1ZxWkovc0xKS0hIR1ZiMnFBZWN4NFFCRWJrSXoyMmF6dmw3b1c1N0wyNkZHMGFzbGRjK1hvZng3ZmN5b3VvV1N6Yys1Z1lSS1RNTGg1QlhYM2NBNW5rbE1pckZvTHNzWlRtSzhCVnVHUHhMaEJJNVN0aW9USFlWcWZoV25GNkErVTB3RVhmdTliaG5GTlpIb1FIL0tQVEY1bDVxYXc4blo3UjdIZlhKeVhjVU52NVBBcHZGN3FkeGRwRXE2bWtMVm1VYkVOcUp5TGNlazloaW9vUnJHd0tIRUl6ZXlSRHUrVWozbDdjVVFiemR5Qnpka28xcTErdGRhOWhmMDcrQ1lvQmphWGFiRVpvSkZnbVZvVUp3Z3hFVDdMUCtZTjdvQm5XQjZ1QUcvN2dPUTFTd3ozWGtJVVhDZVlqL01ZSWFGNWovV2pnTnJtbVUzWVkvNS9LTy9yMmxHTlcyRVRyWUc2TmR5bks4dkNVVUFmb0JSTm5VVUx4UEo2Yy9kSzhKNmJNeWRJVXJjOEJCc0R2YzF2SDI5cmFGRnJaRVhmWmhYaTZoZVhWTDNLZEdTOU44b3cvRUFxOVF4eUFMakhQUnh3NTh4dlVDd25adThhQm84b2xaQkw0dTBOUDZlR01SaWluc0ZjMmx4bzgxVnE0c3FlZ0RCTlhDaEh2OTRURjZKbVVNWWtUK0tYV0xUWk9zdWJhQmVWZ2J1cTgvcE5sS1ZmSjRxZmh6b2VyOXpOeGlzMVh3ZWE2TkhLamhaUlA3OFordlhMVVdyS2NZWEVTeVl1OFVoTDhQMGQ2QnJ2SXdEbVgrOVhqSWgveGN0UzRTRXhqU2ozeUgzcml3YzN2ckl6cXplVHZySUUya1NHWGhDMXMvZFZhdmt0ZG9BQlNFN0RYMDBjaWlxSUJjVzZJNFRjOWpRRThkaysyancwQnFJU29uYVBvQUFSamRQdjJpSGxqMlBMQk5uVHJRcCtvOTNsRE9wMi93NGVYZW0zZGZkR3E1UDI5TFdVSHZoM3BIN0pkdldPSzhkb3Yvb3R5Tm1FcFkxWU9qSjY4Sk1PNzg5NXJvYnMrc1pWMFdFWGoxN3JnUnZTOE1PTEJndjRLSUE0WDBaMGk4aFNaaHVyZGp2TFlYY2pVTXhKYVhKMzV0U0dvSnVaV2srS1h1bmJyK0R1SnhFaUdjK2F4bjZ6YU9sWnE3ZTVhSHo0WXBmSVVBSysxMlJFY25pSERPRU1ieHZUaEE0a28yaDVjNko4QkpRaHJ6N2l4Tk1qK3pzS2tzdThkUXZKV2VXT2hrSWFjSXFRQ0RMbUhOY0FCNjdzeTQxbmpIZ2UwQ1BHbXhkTURFNVdmMCtkR3ZMZC9pcXFLcnlaZUVQamhlVnlkUHVPWU53TitidWtNMWtVOG1mVExYMVgxTURieUE4ZElLZDZIK0ljT2JTRjRITWhpblhacDA4b3R6SW93cEVTWklsSUc5SnFuMi9iZ1I0SWdGbW05NFZhOUg2OUpiTGJoMDcwOEFKa09RNkNhRXcwT29UVkJlZjkrdnV3ZFVHdWJVUzl1S3BMVWI0YXhRQnJ3aU1ONTF6blFQM1JCVnRwOVlyTDVwczZ0alkzMUVSaC93VjRmWWZGbVhWL1Z5NktlWVlKWCtnR2pTQUNvK0IvbUs4Z3plSVBlRUNzZ2lnTDJ3UzVQeHl1UEZHeXJicW55YlFta0xqWFFMQkhwMnJTM3NiR2hIVC9rUFkzSkluNzhsME1VamorczdTRzc5eks3QThZc1VIQ0J4Z1RraFd6dHhiaDZIV2o1WllGRzhUUTFKWEJLMVQvVzJkVWFDTFRoQk1wZTVtbzdwek9aM0ZHWVh5bmthNnRlYnNNWi9TYVBiVlV5aml5N0ZaUk94N2VBMjFaWlFIbWVpU3RIQmEwTUQ1dHVvQ0N4UzlOb1dTcWt6NFg5SnRMM3ZHNWFVeThHYXRnNlZzWkp2VUZKdzZDU0NOK1ZoRDFnUmdBQldibnNTeWNuVXhkQlp1eWM2VFFINkVBRUZ6U0t3a2dBdGpDWDk5Zkw3Yjd0SVYzSjRWNkU3Y0tSb1hkSy9HRUJCWERaS094WU5EVlJ0RmFzVmxwTTFBNjF0bWpFc2JQYlR2dkdwaCtpNklWNTdyc1pINUxxRDVNL2VMTC84cGplSk5ST3E5anl1N05hS2wxd2hEMHdvSzZ0bjNpbXJFZS9vNi9RK1hVZ0JOR0M4Ymx5Q3RFQm0rTmpzNUdhRENnclNUVmFHTTVKUXNJUXUxR090UWk2SHo5dndEb2FGR0k0MDgxREZ5ejY2MzR1ckpDeVVzdG9QVW5rajkvNTV3dS9tSUpIaUIrSGlLeDA0VkdwWVR4dDMzYVRvUU5XZWJFR3IzRysrQURwOStXYlM1N1VGTmZpVitja1V5U0h0NS82TTFxVU9IQ0VYOW5GcHZWRTdabDhmbVJNR1pVVTVIaG5tTFlLbnpjZE1iQkpIaTNKRzhqcnJhR0hrajA4NXRJOTlhcVd0Ny9rN3FHS3U5a2tuMlRjMDgvT2FMSHIzTzk0S0FuS1M3RXozcEhxV3ZoRXZUQ3Vmemc4SEJKYmg1NklQdENxa05OeVNCaHVxeVhBeHRGZVhncklLeGtIbXdndUhZZGhyWE56N2RmeDY0K2YvczJ6VEZtV3V0MkpXY3FsRHdjY0dNSUNRcmRuZXI1bmZ2RUk3S1VhYTA4Sk5aa3p1M0VZbjhNYlZGTC80bmUxNW13VndMbUNRdDNVWVBGR2hSODZLQU1KVVdpdERva3NPMjFzK1RXVC9jaGdITWZhck9rUnJYVGZVczhMUE5xTzU1Q0Y0ZGhsU01FSWlWWk5hM1hvRUhRUDMxbnU0QWVJQ1h1bkliYVlyVCs1TWhKcEdxeHFEWE5QMkpIK0ZOMHd5ejNGWHl0WTNRcTBRMmRHTkZFbzdGUFhZM0hWL3lkSC9VOTVDVWhyeStwa2NEMkI3ZE8zR0JoNTdBSzVFR25jRGZEK3pmUW1IQ3YzcEpxdytmWFBEa0I4ZnRPMDF2NjJIRVF1QytteS9ISFdQL05FWDJndjhUeHJJeFJRaXN1akVneDZRdjVaOXVUQnJwNVhibm1nU1VmRmpRWllkUWJBejlIS1N2dnM1OVQvVThwREFVbE85NTNHaFQ5bnVVWjZhUTg4WUY5U0VBTWd4MXJ5anVYb1BYUDh0WUpTZ3pidDBqOUhtUEVtczYzdzFsdSt5dmhKRnVtRFdZRFZoK1dtYnVTKzl3OWVGUFIvWTd0eWg3WWRhMEt2UXhtRXkrMlBpOEZEaVRMOWlRMDNjRjhSK2NnQ25sQk1RUDdzcEpVekRWcDVFR3ZGV01PUW1jU0FVTE54SnZxNXhTL1FUWUtFWDNDcVBTcG1PS0x6cTRzdWR1YmpDUEx3aVB6N2o1ekFzNVlqK2FKTmtnalJ1ZE9SYm5RQ1VIQjUzTFRpQTlROU1GRG9LOFpiVGl4VXZPUGxhMmQ3VUpVc0FGQkpIZ2owano5VDNlWjFkMEc3emw2NFdIbEpzUGpKVm9yS2RjVWU2WVAvWmZTWHE0emtwNFhaRUNTK2x5S3BsTGVXbHFBeEpUQWRYaDVxaW96RE9hL3duVUhrYy9KWEk5TmkrVUZXZ2xqUEpoL1hxNGJSdExzQ0lYaU9TZW5OUXFnZmFkbU5WTHVaWmVtRTRleWMreGhoSm9leG5EbzVpeVF0TitwdE9mcGZFTVo4OXA5NEVqeUZDVGlXK0FnZ0M1VEpGUm92T0h4cERrRDRnKzRMMU9kckUxVmFVT0lZQitCU29qcVg0VlhYWlI5TzdPNEhvcEs3cDM1cnZzUUJXb3FLVkJ2RTNaakxSM2RQSGk5RW8zK3QrNnhMRi83Y2ZyM3UwVDhaYjB0MWNOK0ZybGNtOTM0QUgvWjl1dkZQSE9xWUVobVdrUG1GcFA4Q0YwTTRvQUVQVmM4aVhpR2VLMEtOSTUzNWJFdW03V3dsM0pLZXJtVE81WnRlb3Y0V3VqcjhBMVdHem56MjJxN09uQThsZlJlZHZXUnhsSXpjYUlKNU5nMktZTVZIVlV0QWhxNkJkMWtCMVVPSk1CVWY0Ync2TUNDMmk0b2tQRGU0SUprbWgvU205dDFwcldMZnU1TmFKekEzbjIxeEFjdFVkRUtTNUxNYTQ0WTJwM1NoRkMxamdyK0wwZXh5RGJ5azZRWU5KQi9Sa3llK2UwTCtpZk9oTG9DRTJuY1ExMTFOZ05VcU5VZGE0SEFDOVg3MkN1QnNnakphMVVUeU1Tc0FsMTFwUjh5dFB3dWc4cHAzczhJYVVYOXNRam5IeHZaK2Q1NytyYjdUU2xyK242R0Y1elNPNm1tdFFZcXRjL1pOeGUwZVExcjFGVFRod09QSTFwMll2S1UycENYWEVIQnUrT2M1czBuUEZ2emdYeHJsRFBZOE9NeFZPQVFZSlFCL1B2SjVGSW5nOTlaU04xNzZWZ0xIWDBzMTdRQTBDVmYvalA3YnVHTjNkNFUyL3RXL0tCOWRnM3NTZXA2bGtvcGluaHVhUFBHY0N6WVhLZ2JqMERUWjlVVy9sWnd2SEdkbG11U1BQTEdobU5LK1FxNXMyQmJoTHJVMnVyK0h6NEg1RUNRb1ZLQzc4RlZZY3RTOVlSVjZHa1JNNkZLUk1nU1EvMmZJRDk0SjEyWHNQMVEyeFNaR2FKU1c5N1BiNWpIRDZVNGFTSndUbGZ6L2xnYU4wMGlKT1ptRnhnK0d5a2JnbXlZWGNueEtyQlcrRm1CckdZQU44MjJLTU9xczZpY1RzTzNaQXlwRmo4V1l5L1lEbUdKRXcxaTdtZ2JGWXpZQVBpazBkUU9TZDE3c2drc2NiVHU1b1lHRWxvRk1CLzdUY0NyUnY1YjZoVjNvSk1HSGlwLzBBS2U2bENxUm0rYkRZRUlEWUZaZmRieHNvemVaRjZvS2s0a25zZU13Yy9XMVV6VXI4SVpiTHI2SXlveGFjdGQ2SkNlbXRsVENFSllBeDBWaHczT0V0WFRPOGdPM2RWRUpsbXBKWkR0RlJ0RHZ5VU5HUjN2MlJPMjU2Q1dWbGhFSEJSYmxkNVlDemlpMW1hZitrb1g2ZmVkWG1NNDFhKzlHd0doL1lveEpUMXNQNkFESEJ6NzhWcmVIcFRINmNzOEllTUJwVkpwNlV1bFZWU0hRSUpHTWtXTWJTczczNndxNDJTVTJ5MDdIZEFJTHllVHI0MjNCazlZNmoxQ1poY0dxeWxCeEdyNUtYZnRySklMTzhMK0Y2bmpIYnVwMlJwa0s1S1ozU0JsKzdIZkdsOHMrVlk0QUlPMEcvM1FOYitlRzIxMzJ3eit1VUhyZDNpbHA1ZzRXZEZxSFZjNS9SMWJpSlB4Q2Y1SnhjVm9lNXJ6Z1lHc2lFaGdEQUIxTXlBMkZpbG9vcGwxL3M3TmRFNGt2bHREaFVMRkZESXAwVE5NU3M0UlJTblVNL2s5SFczNWxVbFc2WW4rd1E0Uk1iczdESWlZUER6LzhVSE1DUTZ4SW9yK1JtUzgrblpIVHJDVmpRR3k1cmVkMkl4VVY1ZGVBaldHbWlsRmtKL2p0ZVl2SXdXZDdDNXBCL0psSHdtQWpoWHF6SC83Q2NVSTRGRmllejNSbVdBczVRVWw5NW9xNDVLK20xOWxGdnA0MmQza093b3I2NXVzZUJNZUlRR0poSEhjRFUwTjZSNmhnSUlVcS8wcjJMR1dXdW9TV21VRFFWRU40dFJWNk85T0F1MmYvOHlCb2VTYXpESUQ2RkRxeTR1VklUUUFhL09DeTBUSmNTSm0rWC9BQUI0THhacGR1VjEzcFY3N0J6UmQ2YVV1OGl1Y24zZFo5Y2ZQSDJvSVNCeEhLNkdOaDUvSEdWTWkzV1plMUQwUU1iYlZNVjZ5VWRnUTIyWHBqQUVnQjNwclE5eXA2c3VZbnRXanJ4TEc4Vk9RMVJjNmJVek1IbmlJRGV2bnloZlBxYm9kNUE0cWx4L0p2TkdXY0RmRHhGQllJTUV3Q0tqaDlRc1ZQNXZEL05qcGJWU2ZWaGExZzB5ZjJTcTM2STlsbG85bk1Wa3Q3cGttWDNEb3lxc3FCc0lGZDl6aklSRkNoa0VlVEp2dXBBdGtnUmJ1RWZEOTMxV1JqaGs3dk5Nc0sweDgzR0pNc2Y5TGNsK1FpTExOY1hhcjBCOEE3aTNkd01MdWFXbFg2RDcxVzN2VUpDYmFHT3VNQ0JWSS9WMnZaYWNJcUNxUDQ5M3l2VlU3SDZSSHk0SFNMQ1NCRkRDTng4Tmg3aU9LbWlUVGJGWitMMktIMEROS2F4YUZvbmc3ZkpzVG1nT0N2NEd6cnlLOWJLZ0hpaVNHdXJvMVBYYUFlUjR6b1FDa3RHUFVnb1Nmb3hDQ1VBVTFSRThVbklUSWdDVTlWczFja3ZpYUoxU2FlRWhJUDhrOCtUVGE0YllLNU84bmYwUm5DWFVaR1g4T0JubnhkWTltOTNScW51Y1pKZGJTc0cyd3VxUXl4UTBQN1dGYnZyYXpodkFtUGpaZ1JjNmRsck5neFk5czZFcTdRUmZiSEUyQ0FPVDBXdjRwc1ZZS0VyVC8xZ2h1c2ZWRzJWRVhRY2pKMzRBRmc3YkM4ZHBnajBsNWRraXRWRUNkbkdKSFRNeTJnSXlTZFFmeEhCcGovTWNuMlR6SWNaUUNZSmUxOWxJdWlNMEM1Y1RvTmtsUm02eEdPT2xDKzZkLytXZjQ5NWdFNTZ2N2dVeUtCVW1MalZuUVlHOW1NMzlkSFVyVEJwVmtia0s5UDh1eXB4T0kyYURPdXkzTkhYMWF3VHlLc01HRXVUaE5HMVI2bXNoVytVYUtPL0J4M0RsdmNzSjg3enA0Mld1aUVLNXAzMFJKR0swRGRpRGZjdVRDTW5sdDl3SmMyMlNoL2VqVDY4TGkzMFRrWGRVTGZtRS9zTHFqRHgxZGs5Q2hSSnRDS0pTWkVJazdLdUZDSUxMeDl5WkRPRkxkZ3RSaVNqY0JLSVRmanRxaThsc1haZXdObVRleHljNmozTU5hRjJrNldlSkxLR3JtTDV6Nlo3TEJXbTZuTUkzbEtnMEZTdHRqUVlodDJ4S0NEQ1RKODhHUUhnb3Z1RjVmclIwQzBVcTB5WTU1bHE4TE02RGNjOHN4bUdoeTI5OENnK1ovdENXWkZLcTBYeEJWUUxKK203Zm5VYml5eHp6b1l4NlVhWVhNSUJ6ZWtRR1lUa0tzNmVVU1MvTGpxY2tncUJsUmxQUlJRQWcxNkhZMWhhcjE5Y2FYN3VpaXZxVkN6V042M0s4cjN2b2gvWVdDN1VKTVl5WHdSVGs3M01XMGVzUDhwUnErOVRrTkdQNlpISFZDZ1lRUDJrYURIRjgxcDFpZVpBZnlUTmRVUktLRDBRWVIzY1ZCVWMwZXNqMjMxK1ZyanlGN2pHNHc5UkYvN2FqdFlPcHg0Z2tPa2xlcXVSaHFrNDR2WDREWUozazlXMjNGamV5Sy9sYzJOSitRM2kvMEdGSjZBWGZib0RRQVVqYzUxWURDVFhQT0FHSzlwcnNFcUZHVGxnR1FxQk51bTk0Wjg5NnNnS1YyNWNtY2c4U3RwOEVZWnJWYURJeUIrZXFVRFJDcC82YWM0ZjJXV0xnZFJkTkpabGl6c3oveUh0LzRUUTBmSC9kb1R5UUFFYnlNQ0VpMWpYOUNkTWV6c0dVWmJCbXJGQk5qOHlyUFJTRjBCbDNmME1DQndLQ1Y0Y0ZKZ3U4VDA5K2NTdkMyOTBtWTlGVThaRzF3NkZIQWV4WUhHckRIeDRaZ0I0WHA5eVpPL05KYzg2OFhjcDNSVHBuKzBRN1ZQMnY4b3R6L0dHRTVDZ1BYMHZCdTVJYVR2SkkyZURZbEVEN3ZURHZiRlAyUW1MWXFjOFBFdFFjSGg4eGw0cGNJVlc2NVM3K3JTVUc1TzJSbU10Z2RsdlltVFhydjNYNTVLcVc5SDQ5RHFSb2Q0ckRGR3NBdE4vc2Z1cG91OHFNUVRraFQyRURtSFNiS2JXWEZrYWE1QW5JUVhPTkhHK3dJbitCdThwczI5RDVzNXNHMXp2ZWMvQUQyK3RLN0wyZkZXM2tLS3dQKzh3djF4bEg1RUJHdm5DejZ1K1kyYnBJZDB5bjI2WTBPUVRIWU9BbnBKdnFxV3I4KzRnUFh6eXc5RHhNK0l0OXE0b2x5SUZWM2lXS1p3NjRRcDFpYjhEdlVWRm52TWttUHo3dHhud1JQVCtXK2Q4K1Ntb2VIT2lseFYxdkNSL1J2ZUhQalhXZlo5REE1ckxKYVVVS0RxK2c3elFZdTkybXU3eHBDd3ZjbU5vTnZDSFlOLzNQZElMOUNTeFJ4dzBvUWxYNWNCS2txaHZ3eGRDQWJKWElacG5hMjZXVUxmRm01WERNbXVtcHVUeEZEUk12WGE0ajNSbExtaGp0YUtJNzJYWmJmSFR5NklPbXVwaHUrOHJFRTlrVUFJZFl0QndseFIxUXJ5K3RjQmFpK0xRY2NGVjlxNEJQWE8reFlsb1EyWkg3U0UwMlVDNlRYQnNvNm1oQWZnZ2RhMUZCQ2VKSGEvRmV0SVRieWIzenZJT3BvUS9aRVRBVWxqVGFDMWdockhsS1pxdnBVSGdvMGh5TGo5MWFlUjg2a0NRNDV2WkpuNFJMeVk0b1JrRzZrSVkrYThjNnZYR203L0pMZVRwcjBKOFFwS2xITVVINjVuaTIyek0xKzIrUVhOOWRHUlptOWpReEpXaTVRZmlIcFliQ3lnempNUjZXVXpETU85RS8rektVNXhDVG0wVzcxSlNSNlVaaS9wbFZNeDRlTnp6T2lpQ05NNGkrZ2QyUGpxTHZodUxqMS9uRXVSTmw5ZkorR2NmVEZ1SEFISWl5VDVQZUVaR2VLS3czL3BGVmVQMHJKMElzYzI1RU5EaU1ZdjNSamsxTnJlREhxZFM3VW5idWZSVWRWOTVKa2dJVkx4eGNRSDdUSjNIZnRlcHJDak14U1VaMHVYVjhnSFpHVXQ2VFRWalBTZ3BvVzF2UURRMnFZeVh3VkdtL05iRVNDM0hibTEwWW1odExHYlFXY3RSOXBDWVRRaDlldVE4VHl3VGVuL2E1Z05tQ0twOGhsejlwNlhsSUpzbFlaZWdYV2laZVA0R2pwZ0N5NFZUSjRweFJLbThiQVJPQVhuT216MTVmbzE3MTRpVnZhSlFBMXpReU5BQkswYUlTVGJWaUpnS3RmbDJDcjdleVRvNkVLai9vSnhnYXNrZ1k1VGxQUHhiUWNEaGJWMmZZZHpNN2JzS21YbjJkTFRIVG1RVjJJbG9kYXFqWjd6S2x4Qy9xaWcvWHRoeHh1d01KWWZCcm9vbE5seWN4UG5LeCtTQk1MYzNXWGxoU011RUtTVjZSR2xzVGNnQk1EUTBXdG1FV0h4SEhUbVpyRTRxZUxCYmpNdFhXMGxHdFpKQ2JLSzQ0d2JMeit2eDVxWVB2eUhJSUJzRVZlV0xteFAvZzVuSHVYWEoyNkpyM2VzOHhIZ054NWl5NDlrZWpnYUpQTjZ2Z3V2ZHlWYk5aeTJrcDdiMS9ram9SNXNpOVRHbmRyZ0JTNzlGRkRqTmJoV3ZHamJxMFRMdFpVeHpuaW9YYmtvNjExcURTbkRMUm1FUkpPS1c2c0RXRm1RK1RQSkdQYVFGREVDck9iMXpUemo0ZDhRMTUvRHFRMDN3WWcrcm9HNWR1SFM2WFNRM1lOR0lvVXdCdXQ3M1Y2K3RpREkwcXpMcXgwYk9yNCtxODVPR1hYdzBpajVnVXBwZ2pZNlNBR0Q3Z2tYOS8zM2VVTjRFYVhRazRGS3J4MG1wS0xIYW9LeHJ5RFNZYlk3eHJYOFlIcjJiYVRhRkJqTm9QQ0d1aEZXcTZBaXJaTkFGRU5XLzJLQ3RIck81QlVUWGdLY1BiZUJHNnhqQVo0b3JBK0ZJQWJQS1pLR01Zem1XcnJJU1hUTjZycFJseFNWQW9kdWRvZjE3bVlDYzI2eXFrRVp3eUc2R3doTFlNR2NyOHVKaW1oS2R3blZvUHowcGF6Q3hLWVB2cE1SUWtHUnpRUVo3eU92THE5OC9VOVR5YmlwaWl2S2crYmxiM0lQdlQzN09iMDlYaWIzTGlKblB5NEE5U2RNb1R2aGdUWTRCdk5XanpSWlBNbXJrOTgwQlA2THptZC9zU2ZUNDlnQ3R3NmFvSmIwUW9jVzlxb2VMYXpDcVB2YkRqbi96cFZGRTFaT0RHZVM4LzNIMXpxaklGNk9Rb2ZGbzllRjgxdUpGTU5XaG42d2pCMEVwWVk2RzhVUHNDckNhQWpuaTl0bXNqKzNXRlJ0V2dZemVlejVZSmZDMVJ3Yi9nUjFqZ3JLd3pSMC92Tk0xMW96RGptMFowZkppLzdZaGNxVEpHMGdYL0VPV0JkQUxVUnBndW8rWmRyYzJPWnF4WkFceDNkJzt2YXIgZz0na25pdHNhaWwnO3ZhciBlaWQ9J1FzYUZhTmJmTjVucTdfVVBscDZ4NkF3Jzt2YXIgc3NfY2dpPWZhbHNlO3ZhciBzcD0nJzt2YXIgaGFzaGVkX3F1ZXJ5PScnO3ZhciBjYnM9Jyc7dmFyIHVzc3Y9Jyc7KGZ1bmN0aW9uKCl7dmFyIHE9ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX19LHU9dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzPT0iZnVuY3Rpb24iP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihhLGIsZCl7aWYoYT09QXJyYXkucHJvdG90eXBlfHxhPT1PYmplY3QucHJvdG90eXBlKXJldHVybiBhO2FbYl09ZC52YWx1ZTtyZXR1cm4gYX0sdz1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGQ9YVtiXTtpZihkJiZkLk1hdGg9PU1hdGgpcmV0dXJuIGR9dGhyb3cgRXJyb3IoImEiKTt9LHg9dyh0aGlzKSx5PWZ1bmN0aW9uKGEsYil7aWYoYilhOnt2YXIgZD14O2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgbD0wO2w8YS5sZW5ndGgtMTtsKyspe3ZhciBmPWFbbF07aWYoIShmIGluIGQpKWJyZWFrIGE7ZD1kW2ZdfWE9YVthLmxlbmd0aC0xXTtsPWRbYV07Yj1iKGwpO2IhPWwmJmIhPW51bGwmJnUoZCxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfX0sej1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6cShhKX07dGhyb3cgRXJyb3IoImJgIitTdHJpbmcoYSkpO307eSgiUHJvbWlzZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3RoaXMuaT1udWxsfWZ1bmN0aW9uIGQoYyl7cmV0dXJuIGMgaW5zdGFuY2VvZiBmP2M6bmV3IGYoZnVuY3Rpb24oZSl7ZShjKX0pfWlmKGEpcmV0dXJuIGE7Yi5wcm90b3R5cGUuaj1mdW5jdGlvbihjKXtpZih0aGlzLmk9PW51bGwpe3RoaXMuaT1bXTt2YXIgZT10aGlzO3RoaXMubChmdW5jdGlvbigpe2UudigpfSl9dGhpcy5pLnB1c2goYyl9O3ZhciBsPXguc2V0VGltZW91dDtiLnByb3RvdHlwZS5sPWZ1bmN0aW9uKGMpe2woYywwKX07Yi5wcm90b3R5cGUudj1mdW5jdGlvbigpe2Zvcig7dGhpcy5pJiZ0aGlzLmkubGVuZ3RoOyl7dmFyIGM9dGhpcy5pO3RoaXMuaT1bXTtmb3IodmFyIGU9MDtlPGMubGVuZ3RoOysrZSl7dmFyIGg9Y1tlXTtjW2VdPW51bGw7dHJ5e2goKX1jYXRjaChrKXt0aGlzLkEoayl9fX10aGlzLmk9bnVsbH07Yi5wcm90b3R5cGUuQT1mdW5jdGlvbihjKXt0aGlzLmwoZnVuY3Rpb24oKXt0aHJvdyBjO30pfTt2YXIgZj1mdW5jdGlvbihjKXt0aGlzLmo9MDt0aGlzLmw9dm9pZCAwO3RoaXMuaT1bXTt0aGlzLkQ9ITE7dmFyIGU9dGhpcy5BKCk7dHJ5e2MoZS5yZXNvbHZlLGUucmVqZWN0KX1jYXRjaChoKXtlLnJlamVjdChoKX19O2YucHJvdG90eXBlLkE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBjKGspe3JldHVybiBmdW5jdGlvbihtKXtofHwoaD0hMCxrLmNhbGwoZSxtKSl9fXZhciBlPXRoaXMsaD0hMTtyZXR1cm57cmVzb2x2ZTpjKHRoaXMuSikscmVqZWN0OmModGhpcy52KX19O2YucHJvdG90eXBlLko9ZnVuY3Rpb24oYyl7aWYoYz09PXRoaXMpdGhpcy52KG5ldyBUeXBlRXJyb3IoIkEgUHJvbWlzZSBjYW5ub3QgcmVzb2x2ZSB0byBpdHNlbGYiKSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgZil0aGlzLkwoYyk7ZWxzZXthOnN3aXRjaCh0eXBlb2YgYyl7Y2FzZSAib2JqZWN0Ijp2YXIgZT1jIT1udWxsO2JyZWFrIGE7Y2FzZSAiZnVuY3Rpb24iOmU9ITA7YnJlYWsgYTtkZWZhdWx0OmU9ITF9ZT90aGlzLkkoYyk6dGhpcy5DKGMpfX07Zi5wcm90b3R5cGUuST1mdW5jdGlvbihjKXt2YXIgZT12b2lkIDA7dHJ5e2U9Yy50aGVufWNhdGNoKGgpe3RoaXMudihoKTtyZXR1cm59dHlwZW9mIGU9PSJmdW5jdGlvbiI\/dGhpcy5NKGUsYyk6dGhpcy5DKGMpfTtmLnByb3RvdHlwZS52PWZ1bmN0aW9uKGMpe3RoaXMuRigyLGMpfTtmLnByb3RvdHlwZS5DPWZ1bmN0aW9uKGMpe3RoaXMuRigxLGMpfTtmLnByb3RvdHlwZS5GPWZ1bmN0aW9uKGMsZSl7aWYodGhpcy5qIT0wKXRocm93IEVycm9yKCJjYCIrYysiYCIrZSsiYCIrdGhpcy5qKTt0aGlzLmo9Yzt0aGlzLmw9ZTt0aGlzLmo9PT0yJiZ0aGlzLksoKTt0aGlzLkcoKX07Zi5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3ZhciBjPXRoaXM7bChmdW5jdGlvbigpe2lmKGMuSCgpKXt2YXIgZT14LmNvbnNvbGU7dHlwZW9mIGUhPT0idW5kZWZpbmVkIiYmZS5lcnJvcihjLmwpfX0sMSl9O2YucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtpZih0aGlzLkQpcmV0dXJuITE7dmFyIGM9eC5DdXN0b21FdmVudCxlPXguRXZlbnQsaD14LmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGg9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgYz09PSJmdW5jdGlvbiI\/Yz1uZXcgYygidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBlPT09ImZ1bmN0aW9uIj9jPW5ldyBlKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGM9eC5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxjLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxjKSk7Yy5wcm9taXNlPXRoaXM7Yy5yZWFzb249dGhpcy5sO3JldHVybiBoKGMpfTtmLnByb3RvdHlwZS5HPWZ1bmN0aW9uKCl7aWYodGhpcy5pIT1udWxsKXtmb3IodmFyIGM9MDtjPHRoaXMuaS5sZW5ndGg7KytjKXYuaih0aGlzLmlbY10pO3RoaXMuaT1udWxsfX07dmFyIHY9bmV3IGI7Zi5wcm90b3R5cGUuTD1mdW5jdGlvbihjKXt2YXIgZT10aGlzLkEoKTtjLkIoZS5yZXNvbHZlLGUucmVqZWN0KX07Zi5wcm90b3R5cGUuTT1mdW5jdGlvbihjLGUpe3ZhciBoPXRoaXMuQSgpO3RyeXtjLmNhbGwoZSxoLnJlc29sdmUsaC5yZWplY3QpfWNhdGNoKGspe2gucmVqZWN0KGspfX07Zi5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihjLGUpe2Z1bmN0aW9uIGgobix0KXtyZXR1cm4gdHlwZW9mIG49PSJmdW5jdGlvbiI\/ZnVuY3Rpb24oQil7dHJ5e2sobihCKSl9Y2F0Y2goQyl7bShDKX19OnR9dmFyIGssbSxEPW5ldyBmKGZ1bmN0aW9uKG4sdCl7az1uO209dH0pO3RoaXMuQihoKGMsayksaChlLG0pKTtyZXR1cm4gRH07Zi5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsYyl9O2YucHJvdG90eXBlLkI9ZnVuY3Rpb24oYyxlKXtmdW5jdGlvbiBoKCl7c3dpdGNoKGsuail7Y2FzZSAxOmMoay5sKTticmVhaztjYXNlIDI6ZShrLmwpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImRgIitrLmopO319dmFyIGs9CnRoaXM7dGhpcy5pPT1udWxsP3YuaihoKTp0aGlzLmkucHVzaChoKTt0aGlzLkQ9ITB9O2YucmVzb2x2ZT1kO2YucmVqZWN0PWZ1bmN0aW9uKGMpe3JldHVybiBuZXcgZihmdW5jdGlvbihlLGgpe2goYyl9KX07Zi5yYWNlPWZ1bmN0aW9uKGMpe3JldHVybiBuZXcgZihmdW5jdGlvbihlLGgpe2Zvcih2YXIgaz16KGMpLG09ay5uZXh0KCk7IW0uZG9uZTttPWsubmV4dCgpKWQobS52YWx1ZSkuQihlLGgpfSl9O2YuYWxsPWZ1bmN0aW9uKGMpe3ZhciBlPXooYyksaD1lLm5leHQoKTtyZXR1cm4gaC5kb25lP2QoW10pOm5ldyBmKGZ1bmN0aW9uKGssbSl7ZnVuY3Rpb24gRChCKXtyZXR1cm4gZnVuY3Rpb24oQyl7bltCXT1DO3QtLTt0PT0wJiZrKG4pfX12YXIgbj1bXSx0PTA7ZG8gbi5wdXNoKHZvaWQgMCksdCsrLGQoaC52YWx1ZSkuQihEKG4ubGVuZ3RoLTEpLG0pLGg9ZS5uZXh0KCk7d2hpbGUoIWguZG9uZSl9KX07cmV0dXJuIGZ9KTsKdmFyIEE9dGhpc3x8c2VsZjtmdW5jdGlvbiBFKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24mJndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGV9O3ZhciBGPXdpbmRvdy5sb2NhdGlvbjtmdW5jdGlvbiBHKGEpe3JldHVybihhPUYuc2VhcmNoLm1hdGNoKG5ldyBSZWdFeHAoIls\/Jl0iK2ErIj0oXFxkKykiKSkpP051bWJlcihhWzFdKTotMX1mdW5jdGlvbiBIKCl7dmFyIGE9Z29vZ2xlLnRpbWVycy5sb2FkO2dvb2dsZS5jLmd0cz9nb29nbGUuYy5ndHMoZnVuY3Rpb24oKXtJKGEpfSk6SShhKX0KZnVuY3Rpb24gSShhKXt2YXIgYj1hLmUsZD1nb29nbGUuc3R2c2M7ZCYmKGIuc3NyPTEpO2lmKGQ\/ZC5pc0JGOkUoKT09PTIpYi5iYj0xO0UoKT09PTEmJihiLnI9MSk7YTp7aWYod2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSYmKGQ9d2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5hdmlnYXRpb24iKSxkLmxlbmd0aCE9PTApKXtkPWRbMF07YnJlYWsgYX1kPXZvaWQgMH1pZihkKXt2YXIgbD1kLnR5cGU7bCYmKGIubnQ9bCk7bD1kLmRlbGl2ZXJ5VHlwZTtsIT1udWxsJiYoYi5kdD1sKTtkPWQudHJhbnNmZXJTaXplO2QhPW51bGwmJihiLnRzPWQpfShkPXdpbmRvdy5uYXZpZ2F0aW9uKSYmKGQ9ZC5hY3RpdmF0aW9uKSYmKGQ9ZC5uYXZpZ2F0aW9uVHlwZSkmJihiLmFudD1kKTtiPWEubTtpZighYnx8IWIucHJzKXtkPXdpbmRvdy5fY3NjPT09ImFnc2EiJiZ3aW5kb3cuX2NzaGlkO2w9RSgpfHxkPzA6RygicXN1YnRzIik7bD4wJiYoYj1HKCJmYnRzIiksYj4wJiYoYS50LnN0YXJ0PU1hdGgubWF4KGwsYikpKTt2YXIgZj1hLnQsdj1mLnN0YXJ0O2I9e307YS53c3J0IT09dm9pZCAwJiYoYi53c3J0PWEud3NydCk7aWYodilmb3IodmFyIGMgaW4gZilpZihjIT09InN0YXJ0Iil7dmFyIGU9ZltjXTtiW2NdPWM9PT0ic2dsIj9lOk1hdGgubWF4KGUtdiwwKX1sPjAmJihiLmdzYXNydD1hLnQuc3RhcnQtbCxjPUcoInFzZCIpLGM+MCYmZ29vZ2xlLmMuZSgibG9hZCIsInFzZCIsU3RyaW5nKGMpKSwoYz1hLmZidHMpJiYoYi5nc2FzcnQyPU1hdGgubWF4KGwsYyktbCkpO0UoKXx8ZHx8IWEucXN1YnRzfHwoYz1hLmZidHMpJiYoYi5nc2FzcnQzPU1hdGgubWF4KGEucXN1YnRzLGMpLWEucXN1YnRzKTtjPWEuZTthPSIvZ2VuXzIwND9zPSIrZ29vZ2xlLnNuKyImdD1zZyZhdHlwPWNzaSZlaT0iK2dvb2dsZS5rRUkrIiZydD0iO2Q9IiI7Zm9yKGsgaW4gYilhKz0iIitkK2srIi4iK2Jba10sZD0iLCI7Zm9yKHZhciBoIGluIGMpYSs9CiImIitoKyI9IitjW2hdO3ZhciBrPSIiO0EuX2NzaGlkJiYoays9IiZjc2hpZD0iK0EuX2NzaGlkKTsoaD13aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLmtPUEl8fG51bGwpJiYoays9IiZvcGk9IitoKTtrPWErPWs7dHlwZW9mIG5hdmlnYXRvci5zZW5kQmVhY29uPT09ImZ1bmN0aW9uIj9uYXZpZ2F0b3Iuc2VuZEJlYWNvbihrLCIiKTpnb29nbGUubG9nKCIiLCIiLGspfX07dmFyIEo9ZnVuY3Rpb24oKXt2YXIgYT1sb2NhdGlvbi5ocmVmO3RoaXMuaT10aGlzLmo9IiI7dmFyIGI9YS5pbmRleE9mKCIjIik7Yj4wJiYodGhpcy5qPWEuc3Vic3RyaW5nKGIpLGE9YS5zdWJzdHJpbmcoMCxiKSk7Yj1hLmluZGV4T2YoIj8iKTtiPjAmJih0aGlzLmk9IiYiK2Euc3Vic3RyaW5nKGIrMSksYT1hLnN1YnN0cmluZygwLGIpKTt0aGlzLmw9YX0sTD1mdW5jdGlvbihhLGIsZCl7SyhhLGIpO2EuaT1hLmkrIiYiK2IrIj0iK2R9LEs9ZnVuY3Rpb24oYSxiKXthLmk9YS5pLnJlcGxhY2UobmV3IFJlZ0V4cCgiJiIrYisiPShbXiZdKykiLCJnIiksIiIpfTtKLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIiK3RoaXMubCsodGhpcy5pPyI\/Iit0aGlzLmkuc3Vic3RyaW5nKDEpOiIiKSt0aGlzLmp9Owp2YXIgTT1mdW5jdGlvbihhKXt0aGlzLmk9YX07TS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pfTt2YXIgTj1mdW5jdGlvbihhKXt0aGlzLk49YX07ZnVuY3Rpb24gTyhhKXtyZXR1cm4gbmV3IE4oZnVuY3Rpb24oYil7cmV0dXJuIGIuc3Vic3RyKDAsYS5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PWErIjoifSl9dmFyIFA9W08oImRhdGEiKSxPKCJodHRwIiksTygiaHR0cHMiKSxPKCJtYWlsdG8iKSxPKCJmdHAiKSxuZXcgTihmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSldLFE9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaTtmdW5jdGlvbiBSKCl7dmFyIGE9QVtnXTtpZihhKXthPXooKDAsYS5hKShwLGZ1bmN0aW9uKCl7fSwhMSkpLm5leHQoKS52YWx1ZTt2YXIgYj1bYWEoKV07cmV0dXJuIGEoYil9UyhFcnJvcigiZiIpKX1mdW5jdGlvbiBhYSgpe3ZhciBhPWxvY2F0aW9uLmhyZWYsYj1oYXNoZWRfcXVlcnksZD17fTtiJiYoZC5xaD1iLChhPShhPWEubWF0Y2goL1s\/Jl1zdGFydD0oXGQrKS9nKSk\/YVthLmxlbmd0aC0xXS5tYXRjaCgvXGQrLylbMF06IiIpJiYoZC5zdD1hKSk7cmV0dXJuIGR9CmZ1bmN0aW9uIFQoKXt2YXIgYTthOntpZih3aW5kb3cuc3QmJihhPXdpbmRvdy5zdChsb2NhdGlvbi5ocmVmKSkpYnJlYWsgYTthPXBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS50aW1pbmcmJnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQ\/cGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydDp2b2lkIDB9aWYoYSl0cnl7dmFyIGI7KChiPXdpbmRvdyk9PW51bGw\/MDpiLnNlc3Npb25TdG9yYWdlKSYmd2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oZWlkLFN0cmluZyhhKSl9Y2F0Y2goZCl7fX1mdW5jdGlvbiBVKCl7dmFyIGE9ZWlkLGI9bmV3IEo7SyhiLCJzZ19zcyIpO0woYiwic2VpIixhKTtyZXR1cm4gYi50b1N0cmluZygpfWZ1bmN0aW9uIFYoYSl7dmFyIGI9ZWlkLGQ9bmV3IEo7TChkLCJzZ19zcyIsZW5jb2RlVVJJQ29tcG9uZW50KGEpKTtMKGQsInNlaSIsYik7VyhkLnRvU3RyaW5nKCkpfQpmdW5jdGlvbiBiYShhKXtpZih3aW5kb3cucHJzKXtYKCJwc3J0Iik7c2N0bSYmSCgpO3ZhciBiPVUoKTt3aW5kb3cucHJzKGIsYSkuY2F0Y2goZnVuY3Rpb24oKXtWKGEpfSl9ZWxzZSBWKGEpfWZ1bmN0aW9uIFcoYSl7WCgicHNydCIpO3NjdG0mJkgoKTt3aW5kb3cucHJzP3dpbmRvdy5wcnMoYSkuY2F0Y2goZnVuY3Rpb24oKXtZKGEpfSk6WShhKX0KZnVuY3Rpb24gWShhKXtpZih3aW5kb3cucHIpd2luZG93LnByKGEpO2Vsc2V7YTp7dmFyIGI9Yj09PXZvaWQgMD9QOmI7aWYoYSBpbnN0YW5jZW9mIE0pYj1hO2Vsc2V7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDsrK2Qpe3ZhciBsPWJbZF07aWYobCBpbnN0YW5jZW9mIE4mJmwuTihhKSl7Yj1uZXcgTShhKTticmVhayBhfX1iPXZvaWQgMH19YT1sb2NhdGlvbjtpZihiIGluc3RhbmNlb2YgTSlpZihiIGluc3RhbmNlb2YgTSliPWIuaTtlbHNlIHRocm93IEVycm9yKCJlIik7ZWxzZSBiPVEudGVzdChiKT9iOnZvaWQgMDtiIT09dm9pZCAwJiZhLnJlcGxhY2UoYil9fWZ1bmN0aW9uIFMoYSl7bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9nZW5fMjA0P2NhZD1zZ19iX2UmZT0iK2EsIiIpfWZ1bmN0aW9uIFgoYSl7c2N0bSYmZ29vZ2xlLnRpY2soImxvYWQiLGEpfTtuYXZpZ2F0b3J8fChBLm5hdmlnYXRvcj17fSk7dHlwZW9mIG5hdmlnYXRvci5zZW5kQmVhY29uIT09ImZ1bmN0aW9uIiYmKG5hdmlnYXRvci5zZW5kQmVhY29uPWZ1bmN0aW9uKGEpeyhuZXcgSW1hZ2UpLnNyYz1hfSk7d2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24oYSxiLGQsbCxmKXtuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL2dlbl8yMDQ\/ZW1zZz0iKyhmIGluc3RhbmNlb2YgRXJyb3I\/Zi5tZXNzYWdlOmEpKyImc3JjcGc9c2dzJmpzcj0xJmpzZWw9MyIpfTtYKCJzc3QiKTt2YXIgWjt3aW5kb3cuc2dzJiZ1c3N2PyhYKCJzc3N0IiksWj13aW5kb3cuc2dzKHNwKS50aGVuKGZ1bmN0aW9uKGEpe1goInNzZXQiKTtyJiYoVCgpLGJhKGEpKTtyZXR1cm4hMH0sZnVuY3Rpb24oKXtyZXR1cm4hMX0pKTpaPVByb21pc2UucmVzb2x2ZSghMSk7Wi50aGVuKGZ1bmN0aW9uKGEpe2lmKCFhJiYoWCgiYnNzdCIpLGE9UigpLFgoImJzZXQiKSxhKSl7dmFyIGI9Y2JzO2E9aGFzaGVkX3F1ZXJ5PyJCLjEuIitiKyIuIithOmE7Yj1uZXcgRGF0ZTtiLnNldFNlY29uZHMoYi5nZXRTZWNvbmRzKCkrKE51bWJlcihjZSl8fDMwMCkpO3ZhciBkPSJTR19TUz0iK2EsbD1kb2N1bWVudC5jb29raWUubGVuZ3RoK2QubGVuZ3RoO3ImJihsPDQwOTMmJiFzc19jZ2kmJihkb2N1bWVudC5jb29raWU9ZCsoIjsgZXhwaXJlcz0iK2IudG9VVENTdHJpbmcoKSkpLFQoKSxzc19jZ2l8fGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJTR19TUz0iKTwwP1YoYSk6VyhVKCkpKX19KS5jYXRjaChmdW5jdGlvbihhKXtTKGEpfSk7fSkuY2FsbCh0aGlzKTt9KSgpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9Il9WTUt0b3BiYVdpWFFwbFJxdDlwS2ciPihmdW5jdGlvbigpe3ZhciBjc3NJZD0neXZscnVlJzt2YXIgZXZlbnRfaWQ9J1FzYUZhTmJmTjVucTdfVVBscDZ4NkF3JztmdW5jdGlvbiBzdygpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNzc0lkKS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywnJyk7bmF2aWdhdG9yLnNlbmRCZWFjb24oYC9nZW5fMjA0P2NhZD1zZ190cmJsJmVpPSR7ZXZlbnRfaWR9YCwnJyk7fQpzZXRUaW1lb3V0KHN3LDIwMDApO30pKCk7PC9zY3JpcHQ+IDxkaXYgaWQ9Inl2bHJ1ZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+SWYgeW91J3JlIGhhdmluZyB0cm91YmxlIGFjY2Vzc2luZyBHb29nbGUgU2VhcmNoLCBwbGVhc2UmbmJzcDs8YSBocmVmPSIvc2VhcmNoP3E9dGF0YW1pK2JhbmsmYW1wO251bT0xMDAmYW1wO3NjYV9lc3Y9NzcyNWQ1ODgyNmU3YmY0NSZhbXA7cHdzPTAmYW1wO2hsPWRlJmFtcDtuZWFyPURldXRzY2hsYW5kJmFtcDtnbD1ERSZhbXA7Z2xwPTEmYW1wO2didj0xJmFtcDtlbXNnPVNHX1JFTCZhbXA7c2VpPVFzYUZhTmJmTjVucTdfVVBscDZ4NkF3Ij5jbGljayBoZXJlPC9hPiwgb3Igc2VuZCZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3dlYnNlYXJjaCI+ZmVlZGJhY2s8L2E+LjwvZGl2PjwvYm9keT48L2h0bWw+"}
Simpan