D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
local
/
psa
/
var
/
modules
/
xovi
/
Filename :
serp_4.json
back
Copy
{"success":true,"settings":{"hash":"4","url":"https:\/\/www.google.de\/search?q=aegian+air&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":83601,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZGUiPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT10cU5kYVBPS0Q3aWl2cjBQdDUzTk9RIiBodHRwLWVxdWl2PSJyZWZyZXNoIj48ZGl2IHN0eWxlPSJkaXNwbGF5OmJsb2NrIj48YSBocmVmPSIvaHR0cHNlcnZpY2UvcmV0cnkvZW5hYmxlanM\/c2VpPXRxTmRhUE9LRDdpaXZyMFB0NTNOT1EiPktsaWNrZSBoaWVyPC9hPiwgd2VubiBkdSBuYWNoIGVpbmlnZW4gU2VrdW5kZW4gbmljaHQgYXV0b21hdGlzY2ggd2VpdGVyZ2VsZWl0ZXQgd2lyc3QuPC9kaXY+PC9ub3NjcmlwdD48c2NyaXB0IG5vbmNlPSI1S2dYTDZJMFdNd0lRWUQxTmJHZjJ3Ij4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09CihmdW5jdGlvbigpe3ZhciBHPWZ1bmN0aW9uKEope3JldHVybiBMLmNhbGwodGhpcyw0LDY2LDE3LEopfSxMPWZ1bmN0aW9uKEosVSxBLGcsVyxtLFMseix3LGIpe3t3PTQ1O3doaWxlKHchPTQxKXtpZih3PT0xMClyZXR1cm4gYjtpZih3PT00NSl3PTY7ZWxzZSBpZih3PT1VKXc9QS1KPj4zPzEwOjE4O2Vsc2UgaWYodz09MTQpYj1nLHc9VTtlbHNlIGlmKHc9PTYpdz1BKzcmNj9VOjE0O2Vsc2UgaWYodz09MTgpe2lmKFM9KHo9VyxILnRydXN0ZWRUeXBlcyksUyYmUy5jcmVhdGVQb2xpY3kpe3RyeXt6PVMuY3JlYXRlUG9saWN5KGcse2NyZWF0ZUhUTUw6RyxjcmVhdGVTY3JpcHQ6RyxjcmVhdGVTY3JpcHRVUkw6R30pfWNhdGNoKE0pe2lmKEguY29uc29sZSlILmNvbnNvbGVbbV0oTS5tZXNzYWdlKX1iPXp9ZWxzZSBiPXo7dz0xMH19fX0sSD10aGlzfHxzZWxmOygwLGV2YWwpKGZ1bmN0aW9uKEosVSl7cmV0dXJuKFU9TCg0LDY2LDUsImtzIixudWxsLCJlcnJvciIpKSYmSi5ldmFsKFUuY3JlYXRlU2NyaXB0KCIxIikpPT09MT9mdW5jdGlvbihBKXtyZXR1cm4gVS5jcmVhdGVTY3JpcHQoQSl9OmZ1bmN0aW9uKEEpe3JldHVybiIiK0F9fShIKShBcnJheShNYXRoLnJhbmRvbSgpKjc4MjR8MCkuam9pbigiXG4iKStbJy8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam9nTXl3aWMyOTFjbU5sY3lJNld5SWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSUNKZExDSnVZVzFsY3lJNld5SmpiRzl6ZFhKbFJIbHVZVzFwWTBKMWRIUnZiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFaWZRPT0nLAonKGZ1bmN0aW9uKCl7LyonLAonJywKJyBDb3B5cmlnaHQgR29vZ2xlIExMQycsCicgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAnLAonKi8nLAondmFyIE49ZnVuY3Rpb24odyxVLEEsUyxiLHope3JldHVybigoKFV8KFUrND4+MTxVJiYoVSs0XjE2KT49VSYmKHcuZz96PXNVKHcuVyx3KTooUz1HVyh0cnVlLDgsdyksUyYxMjgmJihTPTIqKFN8MCktIC0xKzIqflMtKH5TXjEyOCksYj1HVyh0cnVlLDIsdyksUz0oQT1TPDwyLChBfGIpLTEtfmItKH5BJmIpKSksej1TKSksNDgpKT09VSYmKFM9JHpbdy5TXSh3LmJLKSxTW3cuU109ZnVuY3Rpb24oKXtyZXR1cm4gQX0sUy5jb25jYXQ9ZnVuY3Rpb24oTCl7QT1MfSx6PVMpLFUpLTYmNik9PTImJih3Lmc\/ej1zVSh3Llcsdyk6KFM9R1codHJ1ZSw4LHcpLFMmMTI4JiYoUz0yKihTfDApLSAtMSsyKn5TLSh+U14xMjgpLEE9R1codHJ1ZSwyLHcpLFM9KGI9Uzw8MiwoYnxBKS0xLX5BLSh+YiZBKSkpLHo9UykpLHp9LGxZPWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyxNLEgsSixnLFcseCl7Zm9yKFc9MTk7VyE9OTU7KWlmKFc9PTQzKWc9aEgoVSx6LDEyKT8hIXouY2FwdHVyZTohIXosUz1RaSgxNCw0MCxTKSxXPTg5O2Vsc2UgaWYoVz09NjMpQS5KPSgoQS5KP0EuSitVOiJFOiIpK1MubWVzc2FnZSsiOiIrUy5zdGFjaykuc2xpY2UoMCwyMDQ4KSxXPTUwO2Vsc2UgaWYoVz09ODkpVz1MJiZMW2ZIXT8xNjoyNjtlbHNlIGlmKFc9PTE5KVc9Mzg7ZWxzZSBpZihXPT02MSlsWSg2OCxudWxsLDAsUyxiW0hdLHosTCxHKSxXPTEyO2Vsc2UgaWYoVz09MjYpVz1MPzU4OjE1O2Vsc2UgaWYoVz09MTUpVz13KzE+PjE8dyYmKHcrMSY2MCk+PXc\/MTA6NTY7ZWxzZSBpZihXPT0zOClXPSh3PDwyJjcpPj0yJiYodz4+MiY0KTw0PzYzOjUwO2Vsc2UgaWYoVz09MzMpSD1BLFc9NTM7ZWxzZSBpZihXPT01OClNPXpXKDIzLDE2LEwpLFc9ODE7ZWxzZSBpZihXPT01MClXPXc8PDImMTM\/MTU6MzI7ZWxzZSBpZihXPT0xMClXPTU2O2Vsc2UgaWYoVz09MzIpVz1BcnJheS5pc0FycmF5KGIpPzMzOjQzO2Vsc2UgaWYoVz09NjApQS56NihmdW5jdGlvbihtKXtiPW19LFUsUykseD1iLFc9ODU7ZWxzZSBpZihXPT01MylXPTM5O2Vsc2UgaWYoVz09MTIpSCsrLFc9Mzk7ZWxzZSBpZihXPT0xNilMLk4ucmVtb3ZlKFN0cmluZyhiKSxTLGcsRyksVz0xNTtlbHNle2lmKFc9PTg1KXJldHVybiB4O1c9PTU2P1c9dy04Pj40Pzg1OjYwOlc9PTY3PygoSj1NLkhlKFMsZyxiLEcpKSYmUnooMjgsMzIsbnVsbCwib24iLEopLFc9MTUpOlc9PTgxP1c9TT82NzoxNTpXPT0zOSYmKFc9SDxiLmxlbmd0aD82MToxNSl9fSxJej1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxIKXt7TT00OTt3aGlsZShNIT00KWlmKE09PTgyKU09KEEmMTA4KT09QT93Ojc1O2Vsc2UgaWYoTT09dylIPVUgaW4gZHc\/ZHdbVV06ZHdbVV09UytVLE09NzU7ZWxzZSBpZihNPT03NSlNPShBfDE2KT09QT82MTo1NztlbHNlIGlmKE09PTYxKXthOntzd2l0Y2goTCl7Y2FzZSAxOkg9Rz8iZGlzYWJsZSI6ImVuYWJsZSI7YnJlYWsgYTtjYXNlIFU6SD1HPyJoaWdobGlnaHQiOiJ1bmhpZ2hsaWdodCI7YnJlYWsgYTtjYXNlIGI6SD1HPyJhY3RpdmF0ZSI6ImRlYWN0aXZhdGUiO2JyZWFrIGE7Y2FzZSA4Okg9Rz8ic2VsZWN0IjoidW5zZWxlY3QiO2JyZWFrIGE7Y2FzZSBTOkg9Rz8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgejpIPUc\/ImZvY3VzIjoiYmx1ciI7YnJlYWsgYTtjYXNlIDY0Okg9Rz8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31NPTU3fWVsc2UgaWYoTT09NDkpTT04MjtlbHNlIGlmKE09PTU3KXJldHVybiBIfX0sd1k9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0sSCl7Zm9yKEg9NTg7SCE9OTk7KXtpZihIPT04OClyZXR1cm4gTTtIPT04Mz9IPUc+Nz8yMjo0MTpIPT0yNz9IPTgzOkg9PTg2Pyh6PW5ldyBZeihVLHRoaXMpLEw9Uy5saXN0ZW5lcixiPVMubGV8fFMuc3JjLFMuZzYmJlJ6KDI4LDMzLG51bGwsIm9uIixTKSxHPUwuY2FsbChiLHopLEg9dyk6SD09Nzk\/KHo9ejw8VXxTW0xdLEcrPVUsSD02NCk6SD09NzE\/SD0oQSY0Mik9PUE\/NDk6Njg6SD09NzU\/SD1BLTQ+PjM\/NjU6MTQ6SD09NTg\/SD03MTpIPT13PyhNPUcsSD02OCk6SD09OTU\/KGI9UyxNPWZ1bmN0aW9uKCl7cmV0dXJuIGI8VS5sZW5ndGg\/e2RvbmU6ZmFsc2UsdmFsdWU6VVtiKytdfTp7ZG9uZTp0cnVlfX0sSD04OCk6SD09Nj8oRz10cnVlLEg9dyk6SD09MjI\/KEctPTgsYi5wdXNoKHo+PkcmMjU1KSxIPTI3KTpIPT00OT9IPVMuWU0\/Njo4NjpIPT02Nz8oTT1iLEg9NjUpOkg9PTY4P0g9KEFeNTApPj40Pzc1OjE4Okg9PTE0PyhMPTAsYj1bXSxHPTAsSD0yNSk6SD09NjQ\/SD04MzpIPT02NT9IPShBKzVeMTEpPj1BJiYoQSsxXjE4KTxBPzk1Ojg4Okg9PTMxP0g9TDxTLmxlbmd0aD83OTo2NzpIPT00MT8oTCsrLEg9MzEpOkg9PTI1P0g9MzE6SD09MTgmJihHPXR5cGVvZiB6LEw9RyE9Yj9HOno\/QXJyYXkuaXNBcnJheSh6KT8iYXJyYXkiOkc6Im51bGwiLE09TD09U3x8TD09YiYmdHlwZW9mIHoubGVuZ3RoPT1VLEg9NzUpfX0sRlQ9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0sSCxKKXt7SD05OTt3aGlsZShIIT01NilpZihIPT0xKXRoaXNbdGhpcysiIl09dGhpcyxKPVByb21pc2UucmVzb2x2ZSgpLEg9OTg7ZWxzZXtpZihIPT05NilyZXR1cm4gSjtpZihIPT13KUg9VS01PDwxPFUmJlUrOT4+MT49VT8xMjo4NztlbHNlIGlmKEg9PTI3KXthOmlmKHR5cGVvZiBiPT09InN0cmluZyIpSj10eXBlb2YgUyE9PSJzdHJpbmcifHxTLmxlbmd0aCE9MT8tMTpiLmluZGV4T2YoUyxBKTtlbHNle2Zvcih6PUE7ejxiLmxlbmd0aDt6KyspaWYoeiBpbiBiJiZiW3pdPT09Uyl7Sj16O2JyZWFrIGF9Sj0tMX1IPTk2fWVsc2UgaWYoSD09ODcpSD1VPDwxJjc\/OTg6MTtlbHNlIGlmKEg9PTk4KUg9KFV8NDApPT1VPzI3Ojk2O2Vsc2UgaWYoSD09OTkpSD13O2Vsc2UgaWYoSD09MTIpe2E6e2ZvcihHPUE7RzxiLmxlbmd0aDsrK0cpaWYoTT1iW0ddLCFNLllNJiZNLmxpc3RlbmVyPT16JiZNLmNhcHR1cmU9PSEhTCYmTS5sZT09Uyl7Sj1HO2JyZWFrIGF9Sj0tMX1IPTg3fX19fSxETj1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSl7Zm9yKEc9OTtHIT0xNjspaWYoRz09MzUpdGhpcy5uKyssUz1BLXRoaXMuQSx0aGlzLkErPVMvdGhpcy5uLHRoaXMuaWUrPVMqKEEtdGhpcy5BKSxHPTgwO2Vsc2UgaWYoRz09NjMpRz0oVXw4MCk9PVU\/Mjc6MzY7ZWxzZSBpZihHPT0yNSl0aGlzLmxpc3RlbmVyPWIsdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPVMsdGhpcy50eXBlPUEsdGhpcy5jYXB0dXJlPSEhTCx0aGlzLmxlPXosdGhpcy5rZXk9Kyt5aSx0aGlzLmc2PXRoaXMuWU09ZmFsc2UsRz00NTtlbHNlIGlmKEc9PTM3KVMoZnVuY3Rpb24oSCl7SChBKX0pLE09W2Z1bmN0aW9uKCl7cmV0dXJuIEF9LGZ1bmN0aW9uKCl7fV0sRz02MztlbHNlIGlmKEc9PTI3KUEuY2xhc3NMaXN0P0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoUyxmdW5jdGlvbihIKXtLSCg4LCJzdHJpbmciLCIgIix3LDAsSCxBKX0pOmpHKHcsOCxBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoUCg3OCwic3RyaW5nIixBKSxmdW5jdGlvbihIKXtyZXR1cm4hKEZUKDYwLDQxLDAsSCxTKT49MCl9KS5qb2luKCIgIiksQSksRz0zNjtlbHNle2lmKEc9PTgwKXJldHVybiBNO0c9PTM2P0c9KFU+PjImMyk9PTM\/MzU6ODA6Rz09MTQ\/KE09dHlwZW9mIGIuY2xhc3NOYW1lPT1BP2IuY2xhc3NOYW1lOmIuZ2V0QXR0cmlidXRlJiZiLmdldEF0dHJpYnV0ZShTKXx8IiIsRz0yNCk6Rz09OT9HPTQ0Okc9PTI0P0c9KFU+PjImNSk9PTE\/Mzc6NjM6Rz09NDQ\/Rz0oVSsyXjMpPj1VJiYoVS0yfDE0KTxVPzI1OjQ1Okc9PTQ1JiYoRz0oVV43MCk+PjQ\/MjQ6MTQpfX0sUHc9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0sSCxKLGcsVyx4LG0pe3ttPTQ2O3doaWxlKG0hPTMwKXtpZihtPT00NCl0aHJvdyBFcnJvcigiSW52YWxpZCBkZWNvcmF0b3IgZnVuY3Rpb24gIitVKTtpZihtPT05OSliLmFkZExpc3RlbmVyKEopLG09Mjg7ZWxzZSBpZihtPT01MyltPSh3JjkzKT09dz80Mjo4NztlbHNle2lmKG09PTc1KXRocm93IEVycm9yKCJJbnZhbGlkIGV2ZW50IHR5cGUiKTtpZihtPT04NSlkZWxldGUgUy5aW2JdLFMudEYtLSxtPTUzO2Vsc2UgaWYobT09OTgpbT1TPzQ4Ojc1O2Vsc2UgaWYobT09NDYpbT0zNDtlbHNle2lmKG09PTY0KXRocm93IEVycm9yKCJhZGRFdmVudExpc3RlbmVyIGFuZCBhdHRhY2hFdmVudCBhcmUgdW5hdmFpbGFibGUuIik7aWYobT09NjYpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0EpO2lmKG09PTg3KW09KHdeNTIpPj40PzQ6OTg7ZWxzZSBpZihtPT03NylKPXpXKDIzLDExKSxXLnByb3h5PUosSi5zcmM9YixKLmxpc3RlbmVyPVcsbT04MztlbHNlIGlmKG09PTkxKXZ3fHwoRz1IKSxHPT09dm9pZCAwJiYoRz1BKSxiLmFkZEV2ZW50TGlzdGVuZXIoUy50b1N0cmluZygpLEosRyksbT0yODtlbHNlIGlmKG09PTU5KW09KHctM14yOSk8dyYmKHcrMyY2MSk+PXc\/NjA6NTM7ZWxzZSBpZihtPT00Mil4PShNPWN3W1Uuc3Vic3RyaW5nKDAsMykrIl8iXSk\/TShVLnN1YnN0cmluZygzKSxBLFMsYix6LEwsRyk6RE4oImNsYXNzIiw1LFUsQSksbT04NztlbHNlIGlmKG09PTgzKW09Yi5hZGRFdmVudExpc3RlbmVyPzkxOjQxO2Vsc2UgaWYobT09NjUpbT0odyY4Nik9PXc\/Mzg6NTk7ZWxzZSBpZihtPT00NSliLmF0dGFjaEV2ZW50KEl6KDI5LFMudG9TdHJpbmcoKSwxMiwib24iKSxKKSxtPTI4O2Vsc2UgaWYobT09MzgpbT1BPzI1OjY2O2Vsc2UgaWYobT09OSltPVcucHJveHk\/NDo3NztlbHNlIGlmKG09PTMyKXJ3LmNhbGwodGhpcyksdGhpcy5OPW5ldyBVVSh0aGlzKSx0aGlzLmM2PXRoaXMsdGhpcy5oRj1udWxsLG09NjU7ZWxzZSBpZihtPT02MCliPUEudHlwZSxtPTc0O2Vsc2UgaWYobT09NDgpSD1oSChVLEcsMTQpPyEhRy5jYXB0dXJlOiEhRywoZz16VygyMywxNSxiKSl8fChiW3d3XT1nPW5ldyBVVShiKSksVz1nLmFkZChTLEwsTSxILHopLG09OTtlbHNle2lmKG09PTQpcmV0dXJuIHg7bT09MjU\/bT10eXBlb2YgVSE9PSJmdW5jdGlvbiI\/NDQ6NTk6bT09MzQ\/bT0odyY0Nik9PXc\/MzI6NjU6bT09NzQ\/bT1iIGluIFMuWiYmUnooMjgsNzAsVSxBLFMuWltiXSk\/NTQ6NTM6bT09NDA\/bT1TLlpbYl0ubGVuZ3RoPT1VPzg1OjUzOm09PTU0PyhPVSgxLDU5LHRydWUsQSksbT00MCk6bT09Mjg\/KEJ3KyssbT00KTptPT0xMz9tPWIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXI\/OTk6NjQ6bT09NDEmJihtPWIuYXR0YWNoRXZlbnQ\/NDU6MTMpfX19fX19LGg9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0pe2lmKCh3Pj4xJjZ8fChVLmc\/TT1zVShVLlcsVSk6KGI9R1codHJ1ZSw4LFUpLGImMTI4JiYoYj0yKihifDApLSAtMSsyKn5iLSh+Yl4xMjgpLEE9R1codHJ1ZSwyLFUpLGI9KFM9Yjw8MiwoU3xBKS0xLX5BLSh+UyZBKSkpLE09YikpLCh3KzVeMTUpPj13KSYmKHctM14yMik8dyl7Yj1oKDE2LFMpO3t6PTA7d2hpbGUoQT4wKXo9KEw9ejw8OCxHPWd3KDgsUyx0cnVlKSwtKEx8MCktVSp+TCszKih+TCZHKStVKihMfH5HKSksQS0tfVYoYixTLHopfXJldHVybiBNfSx1WT1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxILEosZyxXLHgsbSxRKXtmb3IobT00MDttIT04MDspe2lmKG09PTc0KXJldHVybiBRO2lmKG09PTU1KXthOntmb3IoRz0oeD0oSj16LnNwbGl0KFMpLFZpKSx3KTtHPEoubGVuZ3RoLUE7RysrKXtpZighKChnPUpbR10sZylpbiB4KSlicmVhayBhO3g9eFtnXX0oTT0oSD0oVz1KW0oubGVuZ3RoLUFdLHhbV10pLEwoSCkpLE0pIT1IJiZNIT1iJiZreih4LFcse2NvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWUsdmFsdWU6TX0pfW09NjV9ZWxzZSBpZihtPT0yNyltPUw\/NTU6NjU7ZWxzZSBpZihtPT01MiltPShVJjczKT09VT8yNzo2NTtlbHNlIGlmKG09PTI2KW09RyYmRy5vbmNlPzkwOjE1O2Vsc2UgaWYobT09OTApcUgoMjAsMzQsMCxBLEcsYixMLFMseiksbT01MjtlbHNlIGlmKG09PTYyKXcuRzYmJncuRzYuZm9yRWFjaChBLHZvaWQgMCksbT03NDtlbHNlIGlmKG09PTIzKU0rKyxtPTE2O2Vsc2UgaWYobT09NzgpbT0oVT4+MSYxNSk9PTE\/ODc6NDc7ZWxzZSBpZihtPT04NylOSC5jYWxsKHRoaXMpLHd8fGVHfHwoZUc9bmV3IHRIKSx0aGlzLm1xPXRoaXMuRzY9dGhpcy5mbz1udWxsLHRoaXMucmg9ZmFsc2UsdGhpcy5UPW51bGwsdGhpcy5CZT1mYWxzZSx0aGlzLlpfPXZvaWQgMCx0aGlzLndoPW51bGwsbT00NztlbHNlIGlmKG09PTY1KW09KFVeMzkpPj4zPT0yPzYyOjc0O2Vsc2UgaWYobT09MTUpbT1BcnJheS5pc0FycmF5KFMpPzM3OjM4O2Vsc2UgaWYobT09NDApbT0xMDtlbHNlIGlmKG09PTE2KW09TTxTLmxlbmd0aD80Mjo1MjtlbHNlIGlmKG09PTM3KU09MCxtPTUzO2Vsc2UgaWYobT09MzgpYj1RaSgxNCw0NCxiKSxMJiZMW2ZIXT9MLk4uYWRkKFN0cmluZyhTKSxiLHcsaEgoQSxHLDcpPyEhRy5jYXB0dXJlOiEhRyx6KTpQdyg0OCxudWxsLGZhbHNlLFMsTCx6LGIsRyx3KSxtPTUyO2Vsc2UgaWYobT09NDIpdVkoZmFsc2UsMTIsbnVsbCxTW01dLGIseixMLEcpLG09MjM7ZWxzZSBpZihtPT00NyltPShVKzcmMTUpPT0zPzI2OjUyO2Vsc2UgaWYobT09MTApbT1VLTM+PjM9PTI\/MTE6Nzg7ZWxzZSBpZihtPT01MyltPTE2O2Vsc2UgaWYobT09MTEpe2lmKEo9ei5OLlpbU3RyaW5nKFMpXSl7Zm9yKGc9KEg9KEo9Si5jb25jYXQoKSx0cnVlKSx3KTtnPEoubGVuZ3RoOysrZykoTT1KW2ddKSYmIU0uWU0mJk0uY2FwdHVyZT09QSYmKEc9TS5sZXx8TS5zcmMsTD1NLmxpc3RlbmVyLE0uZzYmJlB3KDE5LHcsTSx6Lk4pLEg9TC5jYWxsKEcsYikhPT1mYWxzZSYmSCk7UT1IJiYhYi5kZWZhdWx0UHJldmVudGVkfWVsc2UgUT10cnVlO209Nzh9fX0sQVA9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0sSCxKLGcsVyx4KXt7Zz00OTt3aGlsZShnIT01MSlpZihnPT05NilVbC5jYWxsKHRoaXMsVT9VLnR5cGU6IiIpLHRoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbCx0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wLHRoaXMua2V5PSIiLHRoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTAsdGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PWZhbHNlLHRoaXMuc3RhdGU9bnVsbCx0aGlzLnBvaW50ZXJJZD0wLHRoaXMucG9pbnRlclR5cGU9IiIsdGhpcy50aW1lU3RhbXA9MCx0aGlzLklRPW51bGwsVSYmdGhpcy5pbml0KFUsQSksZz04NztlbHNlIGlmKGc9PTczKWc9TTx6Lmxlbmd0aD8yODo0NjtlbHNlIGlmKGc9PTQ5KWc9Mzc7ZWxzZSBpZihnPT02Myl4KEgpLGc9MzI7ZWxzZSBpZihnPT0xOCl4PWZ1bmN0aW9uKG0pe20mJkwuYXBwZW5kQ2hpbGQodHlwZW9mIG09PT0ic3RyaW5nIj9HLmNyZWF0ZVRleHROb2RlKG0pOm0pfSxNPTEsZz0xMTtlbHNlIGlmKGc9PTExKWc9NzM7ZWxzZSBpZihnPT0zMilNKyssZz03MztlbHNle2lmKGc9PTg3KXJldHVybiBXO2lmKGc9PTMpe2E6e2lmKEgmJnR5cGVvZiBILmxlbmd0aD09Im51bWJlciIpe2lmKGhIKFUsSCw2KSl7Sj10eXBlb2YgSC5pdGVtPT0iZnVuY3Rpb24ifHx0eXBlb2YgSC5pdGVtPT0ic3RyaW5nIjticmVhayBhfWlmKHR5cGVvZiBIPT09ImZ1bmN0aW9uIil7Sj10eXBlb2YgSC5pdGVtPT0iZnVuY3Rpb24iO2JyZWFrIGF9fUo9ZmFsc2V9aEgoYixTLDgseCxKP09VKDEsNSxTLEgpOkgpLGc9MzJ9ZWxzZSBnPT05NT8oTD1BLEw9KGI9TDw8MTMsMiooTCZ+YiktKEx8fmIpKyh+THxiKSksTF49TD4+MTcsTD0oej1MPDw1LChMJnopK34oTCZ6KS0ofkxeeikpLChMPTIqKEx8UyktfihMJlMpLSAtMSsyKn4oTHxTKSl8fChMPTEpLFc9VV5MLGc9OTkpOmc9PTY1P2c9KHdeMzcpPj4zPT0xPzk2Ojg3Omc9PTU5Pyh0aGlzLlI9VSxnPTY1KTpnPT00Nj9nPSh3fDkpPDE2JiZ3KzU+PjQ+PTA\/NTk6NjU6Zz09Mjg\/KEg9eltNXSxnPTM1KTpnPT05OT9nPXcrNj4+MTx3JiYodysyJjQyKT49dz8xODo0NjpnPT0zNT9nPSF3WSgyNCwibnVtYmVyIiw1MixBLCJvYmplY3QiLEgpfHxoSChVLEgsMTMpJiZILm5vZGVUeXBlPlM\/NjM6MzpnPT0zNyYmKGc9KHcmNjApPT13Pzk1Ojk5KX19fSxQPWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwpe3t6PTQ0O3doaWxlKHohPTk2KWlmKHo9PTg0KXo9KCh3fDIpJjE1KT09Mj8yMjo1MTtlbHNlIGlmKHo9PTk5KXo9KHctOXw0NCk8dyYmKHcrOCY3NCk+PXc\/Njc6Mzc7ZWxzZSBpZih6PT03NCl6PSh3JjEwOSk9PXc\/NjU6ODQ7ZWxzZSBpZih6PT02NSlMPSEhKFMuTG8mQSkmJiEhKFMuRyZBKSE9YiYmKCEoUy52NiZBKXx8Uy5kaXNwYXRjaEV2ZW50KEl6KDI5LDIsMTYsVSw0LDMyLEEsYikpKSYmIVMudSx6PTg0O2Vsc2V7aWYoej09MzcpcmV0dXJuIEw7ej09OTA\/KHRoaXMuWGs9dGhpcy5Yayx0aGlzLnU9dGhpcy51LHo9OTkpOno9PTY3PyhMPSR6W0FdKCR6LnByb3RvdHlwZSx7c3RhY2s6VSxkb2N1bWVudDpVLHBvcDpVLHBhcmVudDpVLHNwbGljZTpVLHJlcGxhY2U6VSxwcm90b3R5cGU6VSxjb25zb2xlOlUsY2FsbDpVLHByb3BlcnR5SXNFbnVtZXJhYmxlOlUsbGVuZ3RoOlUsZmxvb3I6VX0pLHo9MzcpOno9PTUxP3o9KHctNyYxMyk9PTE\/OTA6OTk6ej09NzM\/KEw9QS5jbGFzc0xpc3Q\/QS5jbGFzc0xpc3Q6RE4oImNsYXNzIiw2NixVLCJjbGFzcyIsQSkubWF0Y2goL1xcUysvZyl8fFtdLHo9NzQpOno9PTQ0P3o9NjI6ej09MjI\/KEw9TWF0aC5mbG9vcih0aGlzLlkoKSksej01MSk6ej09NjImJih6PSh3LTV8NjkpPHcmJih3KzFeMSk+PXc\/NzM6NzQpfX19LHh6PWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyxNLEgsSil7Zm9yKEo9MzQ7SiE9OTc7KWlmKEo9PTU4KXRoaXMuRms9cS5kb2N1bWVudHx8ZG9jdW1lbnQsSj05MTtlbHNlIGlmKEo9PTE1KUo9KHd8MSk+PjU8NSYmKHctMiYxNSk+PTEzPzIyOjg2O2Vsc2UgaWYoSj09NzIpQT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqdGhpcy5uKSxBPDUwJiYodGhpcy5qW0FdPVUpLEo9MTU7ZWxzZSBpZihKPT05MSlKPSh3fDEpPDE5JiYodzw8MSYxNSk+PTk\/MTY6MTU7ZWxzZSBpZihKPT0xNil0aGlzLm4rKyxKPTY0O2Vsc2V7aWYoSj09MTEpcmV0dXJuIEg7aWYoSj09NDkpdGhpcy5qLnB1c2goVSksSj0xNTtlbHNlIGlmKEo9PTYxKUo9MTE7ZWxzZSBpZihKPT0zNClKPTkzO2Vsc2UgaWYoSj09NjQpSj10aGlzLmoubGVuZ3RoPDUwPzQ5OjcyO2Vsc2UgaWYoSj09MjIpe2lmKFMuTC5sZW5ndGgpe1MudmU9IShTLkp5PShTLnZlJiYiOlRRUjpUUVI6IigpLGIpLDApO3RyeXtHPVMuWSgpLFMuU2U9VSxTLmVlPUcsUy5KRj1HLFMuRVg9VSxMPWhIKDAsbnVsbCw4MSx0cnVlLDQsUyxiKSxNPUE\/MDoxMCx6PVMuWSgpLVMuSkYsUy5Dbys9eixTLlEzJiZTLlEzKHotUy5vLFMuRCxTLkssUy5FWCksUy5vPVUsUy5EPWZhbHNlLFMuSz1mYWxzZSx6PE18fFMuS28tLTw9VXx8KHo9TWF0aC5mbG9vcih6KSxTLnBvLnB1c2goejw9MjU0P3o6MjU0KSl9ZmluYWxseXtTLnZlPWZhbHNlfUg9TH1KPTg2fWVsc2UgSj09OTM\/Sj0odyYyOCk9PXc\/NTg6OTE6Sj09ODYmJihKPSh3XjczKT49LTY2JiYod140Nik+PjQ8Mj82MToxMSl9fSxRaT1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxIKXt7SD0xMjt3aGlsZShIIT01NSlpZihIPT05NylIPShVPj4xJjEzKT49OSYmKFVeMTcpPDEzPzE3OjgzO2Vsc2UgaWYoSD09OSlHPVAoODEsQSx6KSxMPUZUKDYwLDQzLFMsYixHKT49UyxIPTgwO2Vsc2UgaWYoSD09MTMpSD0oKFVeOSkmMTEpPT0xPzU3OjExO2Vsc2UgaWYoSD09MTcpaVkuY2FsbCh0aGlzLEEsU3x8Q0guY2UoKSxiKSxIPTgzO2Vsc2UgaWYoSD09ODApTT1MLEg9OTc7ZWxzZSBpZihIPT0xMilIPTEzO2Vsc2UgaWYoSD09MTUpTD16LmNsYXNzTGlzdC5jb250YWlucyhiKSxIPTgwO2Vsc2UgaWYoSD09ODMpSD0oVSs2Jjc0KT49VSYmKFUtNV53KTxVPzMzOjUwO2Vsc2UgaWYoSD09MTEpSD0oVV4yMCk+PjM9PTM\/NjM6OTc7ZWxzZXtpZihIPT01MClyZXR1cm4gTTtIPT0zMz8odGhpcy5zcmM9QSx0aGlzLnRGPTAsdGhpcy5aPXt9LEg9NTApOkg9PTYzP0g9ei5jbGFzc0xpc3Q\/MTU6OTpIPT01NyYmKHR5cGVvZiBBPT09ImZ1bmN0aW9uIj9NPUE6KEFbVFddfHwoQVtUV109ZnVuY3Rpb24oSil7cmV0dXJuIEEuaGFuZGxlRXZlbnQoSil9KSxNPUFbVFddKSxIPTExKX19fSxqRz1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxILEope2ZvcihIPTU5O0ghPTYwOylpZihIPT0xNSlIPShVJjkyKT09VT82Nzo5NjtlbHNlIGlmKEg9PTUzKUo9dyYmdy5wYXJlbnROb2RlP3cucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh3KTpudWxsLEg9OTE7ZWxzZSBpZihIPT0wKUw9WFQsYiBpbiBMP3ouc2V0QXR0cmlidXRlKEcsTFtiXSk6ei5yZW1vdmVBdHRyaWJ1dGUoRyksSD05OTtlbHNlIGlmKEg9PTU5KUg9MTU7ZWxzZSBpZihIPT0xMSlBcnJheS5pc0FycmF5KFMpJiYoUz1TLmpvaW4oIiAiKSksRz0iYXJpYS0iK2IsSD0zMztlbHNlIGlmKEg9PTY3KXR5cGVvZiBTLmNsYXNzTmFtZT09InN0cmluZyI\/Uy5jbGFzc05hbWU9QTpTLnNldEF0dHJpYnV0ZSYmUy5zZXRBdHRyaWJ1dGUodyxBKSxIPTk2O2Vsc2V7aWYoSD09OTkpcmV0dXJuIEo7aWYoSD09MzcpSD1YVD8wOjY7ZWxzZSBpZihIPT04NSlIPShVfDMpPj4zPT0yPzUzOjkxO2Vsc2UgaWYoSD09NzUpe2ZvcihMIGluIEc9QSxTLlope2ZvcihiPSh6PUEsUykuWltMXTt6PGIubGVuZ3RoO3orKykrK0csT1UoMSw0Myx3LGJbel0pO2RlbGV0ZSBTLlpbUy50Ri0tLExdfUg9ODV9ZWxzZSBIPT05Nj9IPShVKzQmNjIpPFUmJihVLTJeMjkpPj1VPzc1Ojg1Okg9PTYxPyh6LnNldEF0dHJpYnV0ZShHLFMpLEg9OTkpOkg9PTkxP0g9KFU8PDImMTUpPj0yJiYoVV4xNSk8MTM\/MTE6OTk6SD09Nj8oTT17fSxYVD0oTVt3XT1mYWxzZSxNLmF1dG9jb21wbGV0ZT0ibm9uZSIsTS5kcm9wZWZmZWN0PSJub25lIixNLmhhc3BvcHVwPWZhbHNlLE1bQV09Im9mZiIsTS5tdWx0aWxpbmU9ZmFsc2UsTS5tdWx0aXNlbGVjdGFibGU9ZmFsc2UsTS5vcmllbnRhdGlvbj0idmVydGljYWwiLE0ucmVhZG9ubHk9ZmFsc2UsTS5yZWxldmFudD0iYWRkaXRpb25zIHRleHQiLE0ucmVxdWlyZWQ9ZmFsc2UsTS5zb3J0PSJub25lIixNLmJ1c3k9ZmFsc2UsTS5kaXNhYmxlZD1mYWxzZSxNLmhpZGRlbj1mYWxzZSxNLmludmFsaWQ9ImZhbHNlIixNKSxIPTApOkg9PTMzJiYoSD1TPT09IiJ8fFM9PXZvaWQgMD8zNzo2MSl9fSxXdz1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxILEosZyl7e0o9MTM7d2hpbGUoSiE9MTYpaWYoSj09OTgpTCs9dy5jaGFyQ29kZUF0KEgpLEwrPUw8PDEwLEw9KGI9TD4+NiwoTHwwKS0oYnwwKSstMi0yKihMfH5iKSksSj00MDtlbHNlIGlmKEo9PTMpe2lmKHo9cS50cnVzdGVkVHlwZXMsYj1TLHomJnouY3JlYXRlUG9saWN5KXt0cnl7Yj16LmNyZWF0ZVBvbGljeShBLHtjcmVhdGVIVE1MOkxILGNyZWF0ZVNjcmlwdDpMSCxjcmVhdGVTY3JpcHRVUkw6TEh9KX1jYXRjaChXKXtpZihxLmNvbnNvbGUpcS5jb25zb2xlW3ddKFcubWVzc2FnZSl9Zz1ifWVsc2UgZz1iO0o9ODR9ZWxzZXtpZihKPT04NClyZXR1cm4gZztKPT00MD8oSCsrLEo9NjIpOko9PTY5PyhIPUw9MCxKPTI4KTpKPT02Mj9KPUg8dy5sZW5ndGg\/OTg6NDpKPT0xMz9KPTYwOko9PTQyP0o9VS00Pj40PDImJihVfDcpPj0yMT8zOjg0Oko9PTI4P0o9NjI6Sj09NjA\/Sj1VKzY+PjQ\/NDI6Njk6Sj09NCYmKEwrPUw8PDMsTF49TD4+MTEsTT1MKyhMPDwxNSk+Pj4wLEc9bmV3IE51bWJlcigoej0oMTw8UyktMSwtfihNJnopKyhNJn56KSsofk18eikpKSxHWzBdPShNPj4+UyklQSxnPUcsSj00Mil9fX0sdT1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxILEope3tKPTExO3doaWxlKEohPTU5KWlmKEo9PTQ3KXthOntmb3IoRz1bdz09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYix3PT10eXBlb2Ygd2luZG93JiZ3aW5kb3csKHo9QSx3PT10eXBlb2Ygc2VsZiYmc2VsZiksdz09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTt6PEcubGVuZ3RoOysreilpZigoTD1HW3pdKSYmTFtTXT09TWF0aCl7TT1MO2JyZWFrIGF9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTt9Sj01MX1lbHNlIGlmKEo9PTU1KUg9ZnVuY3Rpb24oKXt9LEgucHJvdG90eXBlPVMucHJvdG90eXBlLHcuVj1TLnByb3RvdHlwZSx3LnByb3RvdHlwZT1uZXcgSCx3LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj13LHcuUDY9ZnVuY3Rpb24oZyxXLHgpe2Zvcih2YXIgbT0zNjttIT01OylpZihtPT02MylsKyssbT0xODtlbHNlIGlmKG09PTE4KW09bDxhcmd1bWVudHMubGVuZ3RoPzg4Ojg2O2Vsc2UgaWYobT09ODgpUVtsLUFdPWFyZ3VtZW50c1tsXSxtPTYzO2Vsc2UgaWYobT09NDIpbT0xODtlbHNle2lmKG09PTg2KXJldHVybiBTLnByb3RvdHlwZVtXXS5hcHBseShnLFEpO2lmKG09PTM2KXZhciBRPShtPTQyLEFycmF5KShhcmd1bWVudHMubGVuZ3RoLUEpLGw9QX19LEo9ODE7ZWxzZXtpZihKPT01MSlyZXR1cm4gTTtKPT0xOD9KPShVJjQ2KT09VT81NTo4MTpKPT03OT9KPShVJjEyMyk9PVU\/NjU6MTg6Sj09MTE\/Sj03OTpKPT02NT8oVihBLHcsUyksU1twSF09Mjc5NixKPTE4KTpKPT04MSYmKEo9VS0zPDwyPj1VJiYoVS00XjE5KTxVPzQ3OjUxKX19fSx6Vz1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxILEosZyl7e2c9OTg7d2hpbGUoZyE9NDIpaWYoZz09OTIpZz0xMTtlbHNlIGlmKGc9PTY3KWc9Uz83NDo0MztlbHNlIGlmKGc9PTI2KVM9QVt3d10sSD1TIGluc3RhbmNlb2YgVVU\/UzpudWxsLGc9OTc7ZWxzZSBpZihnPT03Myl0aGlzLnR5cGU9QSx0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9Uyx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5WMz1mYWxzZSxnPTM1O2Vsc2UgaWYoZz09NjUpZz1VKzE+PjE8VSYmKFUrNiYxMik+PVU\/MzQ6OTtlbHNlIGlmKGc9PTUwKVM9d2luZG93LmJ0b2EsZz02NztlbHNlIGlmKGc9PTYyKXorPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxBLnNsaWNlKEwsTCs4MTkyKSksZz01MztlbHNlIGlmKGc9PTM4KUg9YixnPTE7ZWxzZSBpZihnPT03NCl6PSIiLEw9MCxnPTkyO2Vsc2UgaWYoZz09MylKPWZ1bmN0aW9uKFcpe3JldHVybiBBLmNhbGwoSi5zcmMsSi5saXN0ZW5lcixXKX0sQT1BSCxIPUosZz01OTtlbHNlIGlmKGc9PTM0KU09ZnVuY3Rpb24oKXt9LHo9dm9pZCAwLEw9SkgoQSxmdW5jdGlvbihXLHgpe2Zvcih4PTQ1O3ghPTQxOyl4PT02PyhTJiZTRyhTKSx6PVcsTSgpLE09dm9pZCAwLHg9NDEpOng9PTQ1JiYoeD1NPzY6NDEpfSwhIVMpLEc9TFswXSxiPUxbMV0sSD17dG9wOmZ1bmN0aW9uKFcseCxtLFEsbCxhLFope2ZvcihaPTE4O1ohPTE0Oyl7aWYoWj09MjYpcmV0dXJuIFE9RyhtKSxXJiZXKFEpLFE7Wj09ODU\/Wj16PzQ5OjkwOlo9PTQ5PyhhKCksWj0xNCk6Wj09OTA\/KGw9TSxNPWZ1bmN0aW9uKCl7bCgpLFNHKGEpfSxaPTE0KTpaPT0xOD8oYT1mdW5jdGlvbigpe3ooZnVuY3Rpb24oZSl7U0coZnVuY3Rpb24oKXtXKGUpfSl9LG0pfSxaPTU3KTpaPT01NyYmKFo9eD84NToyNil9fSxwZTpmdW5jdGlvbihXKXtiJiZiKFcpfX0sZz05O2Vsc2UgaWYoZz09NTMpTCs9ODE5MixnPTExO2Vsc2UgaWYoZz09MSlnPSgoVV4zOSkmdyk9PTQ\/Mzo1OTtlbHNlIGlmKGc9PTExKWc9TDxBLmxlbmd0aD82MjoyNztlbHNlIGlmKGc9PTk4KWc9NjU7ZWxzZXtpZihnPT05NylyZXR1cm4gSDtnPT0zNT9nPShVfDcyKT09VT81MDoxOmc9PTk\/Zz0oVXw4MCk9PVU\/NzM6MzU6Zz09Mjc\/KGI9Uyh6KS5yZXBsYWNlKC9cXCsvZywiLSIpLnJlcGxhY2UoL1xcLy9nLCJfIikucmVwbGFjZSgvPS9nLCIiKSxnPTM4KTpnPT00Mz8oYj12b2lkIDAsZz0zOCk6Zz09NTkmJihnPShVfDYpPDMzJiZVKzU+PTE5PzI2Ojk3KX19fSxPVT1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSl7Zm9yKE09MDtNIT05MzspaWYoTT09ODIpTT0oVSs0XjkpPj1VJiYoVS0zfDM1KTxVPzY6ODk7ZWxzZSBpZihNPT04NCl7aWYoKEw9Uy5sZW5ndGgsTCk+QSl7Zm9yKGI9KHo9QXJyYXkoTCksQSk7YjxMO2IrKyl6W2JdPVNbYl07Rz16fWVsc2UgRz1bXTtNPTY3fWVsc2V7aWYoTT09ODkpcmV0dXJuIEc7TT09OTA\/KFMuWU09QSxTLmxpc3RlbmVyPW51bGwsUy5wcm94eT1udWxsLFMuc3JjPW51bGwsUy5sZT1udWxsLE09MjYpOk09PTU1Pyh0aGlzW3RoaXMrIiJdPXRoaXMsTT04Mik6TT09Njc\/TT0oVSs3JjE0KT09Mj85MDoyNjpNPT0xMD9NPShVJjkzKT09VT84NDo2NzpNPT0wP009MTA6TT09MjY\/TT0oVT4+dyYxNSk9PTM\/NTU6ODI6TT09NiYmKE09ODkpfX0sUno9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0sSCxKKXt7SD03Mzt3aGlsZShIIT05NilpZihIPT02MylIPUc\/MTA6OTk7ZWxzZSBpZihIPT00KU09Yi5wcm94eSx6PWIudHlwZSxMLnJlbW92ZUV2ZW50TGlzdGVuZXI\/TC5yZW1vdmVFdmVudExpc3RlbmVyKHosTSxiLmNhcHR1cmUpOkwuZGV0YWNoRXZlbnQ\/TC5kZXRhY2hFdmVudChJeigyOSx6LDgsUyksTSk6TC5hZGRMaXN0ZW5lciYmTC5yZW1vdmVMaXN0ZW5lciYmTC5yZW1vdmVMaXN0ZW5lcihNKSxCdy0tLEc9elcoMjMsMTQsTCksSD02MztlbHNlIGlmKEg9PTk3KUg9Ry50Rj09MD8zMzoyO2Vsc2UgaWYoSD09MzgpSD0oVS0yXjYpPj1VJiYoVSszJjQ1KTxVPzQxOjE0O2Vsc2UgaWYoSD09MTApUHcoMjYsMCxiLEcpLEg9OTc7ZWxzZSBpZihIPT04OCl6PUZUKDYwLDQ1LEEsUyxiKSwoTD16Pj1BKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGIseiwxKSxKPUwsSD13O2Vsc2UgaWYoSD09NzMpSD0zODtlbHNlIGlmKEg9PTE0KUg9KFV8Nik+PS03NCYmKFU+PjEmMTYpPDQ\/ODg6dztlbHNlIGlmKEg9PTIpSD0oVSs5XncpPj1VJiYoVS02fDM2KTxVPzU2OjUzO2Vsc2UgaWYoSD09dylIPShVXjI3KT49LTczJiZVLTY+PjQ8Mj83NzoyO2Vsc2V7aWYoSD09NTMpcmV0dXJuIEo7SD09MTc\/KFB3KDIzLDAsYixMLk4pLEg9Mik6SD09OT8oTD1iLnNyYyxIPTUxKTpIPT0zMz8oRy5zcmM9QSxMW3d3XT1BLEg9Mik6SD09NTY\/KHRoaXMubj09PTA\/Sj1bMCwwXToodGhpcy5qLnNvcnQoZnVuY3Rpb24oZyxXKXtyZXR1cm4gZy1XfSksSj1bdGhpcy5uLHRoaXMualt0aGlzLmoubGVuZ3RoPj4xXV0pLEg9NTMpOkg9PTc3P0g9dHlwZW9mIGIhPT0ibnVtYmVyIiYmYiYmIWIuWU0\/OToyOkg9PTk5PyhPVSgxLDI3LHRydWUsYiksSD0yKTpIPT01MT9IPUwmJkxbZkhdPzE3OjQ6SD09NDEmJihKPSEhKGI9Uy5NdywtMS1+QS0ofmImQSkpJiYhIShTLkxvJkEpLEg9MTQpfX19LGhIPWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyxNLEgsSixnLFcseCl7Sj0zNjt7Vz03Mjt3aGlsZSgwPT0hWyIiXSl0cnl7aWYoSj09MjEpYnJlYWs7ZWxzZSBpZihKPT01MylKPTE1O2Vsc2UgaWYoSj09NzQpSj1HPEw\/Mjg6MzQ7ZWxzZSBpZihKPT0yKU09ei5VLE0oZnVuY3Rpb24oKXt4eigxNyx3LFMseixTKX0pLEo9MjM7ZWxzZSBpZihKPT04OSlBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFUsZnVuY3Rpb24obSxRLGwpe2ZvcihsPTY1O2whPTc4OylsPT00NT9sPVFpKDE0LDksInN0cmluZyIsMCxtLHcpPzc4OjMzOmw9PTY1P2w9dy5jbGFzc0xpc3Q\/MTg6NDU6bD09MzM\/KFE9RE4oImNsYXNzIiw2NSwic3RyaW5nIiwiY2xhc3MiLHcpLGpHKCJjbGFzcyIsMjgsUSsoUS5sZW5ndGg+MD8iICIrbTptKSx3KSxsPTc4KTpsPT0xOCYmKHcuY2xhc3NMaXN0LmFkZChtKSxsPTc4KX0pLEo9OTA7ZWxzZSBpZihKPT0zNClKPShBfDcyKT09QT82NTo5MDtlbHNlIGlmKEo9PTY1KUo9dy5jbGFzc0xpc3Q\/ODk6OTU7ZWxzZSBpZihKPT0xNSlKPXouTC5sZW5ndGg\/OTM6MjM7ZWxzZSBpZihKPT04MilKPTE1O2Vsc2UgaWYoSj09OTUpe2Zvcih6IGluIFM9KEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoUCg3NSwoYj17fSwic3RyaW5nIiksdyksZnVuY3Rpb24obSl7YlttXT10cnVlfSksQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChVLGZ1bmN0aW9uKG0pe2JbbV09dHJ1ZX0pLCIiKSxiKVMrPVMubGVuZ3RoPjA\/IiAiK3o6ejtqRygiY2xhc3MiLDEyLFMsdyksSj05MH1lbHNlIGlmKEo9PTMzKUo9KEFeODkpPj40PzMwOjgyO2Vsc2UgaWYoSj09MTQpTD1iLmxlbmd0aCx6PXR5cGVvZiBiPT09InN0cmluZyI\/Yi5zcGxpdCh3KTpiLEc9VSxKPTg0O2Vsc2UgaWYoSj09OTApSj0oQV42Mik+PjM\/MTg6ODA7ZWxzZSBpZihKPT0zKUo9KEEmMTIwKT09QT8xNDozNDtlbHNle2lmKEo9PTMwKXJldHVybiBnO2lmKEo9PTIyKVc9NzIsSj0yNjtlbHNlIGlmKEo9PTIzKWc9RyxKPTMwO2Vsc2UgaWYoSj09MjYpSj1MJiZ6LlU\/Mjo1MztlbHNlIGlmKEo9PTg0KUo9NzQ7ZWxzZSBpZihKPT0xOClKPUEtNj4+NDwyJiYoQTw8MiYyNSk+PTEwPzMxOjMzO2Vsc2UgaWYoSj09NjApRysrLEo9NzQ7ZWxzZSBpZihKPT03MylXPTUwLEc9YXooeixiLCJsb2FkIixIKSxKPTIyO2Vsc2UgaWYoSj09MzYpSj0zO2Vsc2UgaWYoSj09MzEpUz10eXBlb2YgVSxnPVM9PSJvYmplY3QiJiZVIT13fHxTPT0iZnVuY3Rpb24iLEo9MzM7ZWxzZSBpZihKPT00NSlXPTcyLGxZKDM3LCJ+Iix6LHgpLEo9MjI7ZWxzZSBpZihKPT05Myl6LlU9VSxIPXouTC5wb3AoKSxKPTczO2Vsc2UgaWYoSj09ODApe2E6e2Zvcih6IGluIFMpaWYoYi5jYWxsKHZvaWQgMCxTW3pdLHosUykpe2c9dzticmVhayBhfWc9VX1KPTE4fWVsc2UgSj09MjgmJihHIGluIHomJlMuY2FsbCh2b2lkIDAseltHXSxHLGIpLEo9NjApfX1jYXRjaChtKXtpZihXPT03Mil0aHJvdyBtO1c9PTUwJiYoeD1tLEo9NDUpfX19LHA9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0sSCxKLGcsVyx4LG0pe2Zvcih4PTE3O3ghPTEzOylpZih4PT04KXg9MzQ7ZWxzZSBpZih4PT02Mil6PShNPU9iamVjdC5nZXRQcm90b3R5cGVPZih6LnByb3RvdHlwZSkpJiZNLmNvbnN0cnVjdG9yLHg9ODY7ZWxzZSBpZih4PT0xNyl4PTM1O2Vsc2UgaWYoeD09MzcpVS5jZT1mdW5jdGlvbigpe3JldHVybiBVLmFRP1UuYVE6VS5hUT1uZXcgVX0sVS5hUT12b2lkIDAseD0xNTtlbHNlIGlmKHg9PTM1KXg9KHc+PjEmMzEpPj0xMSYmKHdeMzUpPDMwPzM3OjE1O2Vsc2UgaWYoeD09MjUpej10aGlzLmNvbnN0cnVjdG9yLHg9NzM7ZWxzZSBpZih4PT04Nil4PTIyO2Vsc2UgaWYoeD09MjcpbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoVSxKUCkmJlVbSlBdfHwoVVtKUF09KytTaCkseD05MTtlbHNlIGlmKHg9PTEpTD1wKDUseikseD01MjtlbHNlIGlmKHg9PTIxKW09TWF0aC5mbG9vcih0aGlzLkNvKyh0aGlzLlkoKS10aGlzLkpGKSkseD05NDtlbHNlIGlmKHg9PTkxKXg9KHctMiYxMik8MTImJih3LTQmMTQpPj0zPzIxOjk0O2Vsc2UgaWYoeD09MjIpeD16PzE6MzQ7ZWxzZSBpZih4PT0xOSl4PShiPUEpPzcwOjI1O2Vsc2UgaWYoeD09NTIpeD0oRz16bVtMXSk\/ODo2MjtlbHNlIGlmKHg9PTM5KXtpZigoei5SPSh6Lk8rPShKPShTfHx6LlNlKyssSD16Lk5JPjAmJnoudmUmJnouSnkmJnoueTM8PTEmJiF6LmcmJiF6LlUmJighU3x8ei5WMC1iPjEpJiZkb2N1bWVudC5oaWRkZW49PTAsKFc9ei5TZT09VSl8fEg\/ei5ZKCk6ei5lZSksZz1KLXouZWUsZyk+PjE0PjAsei5oJiYoei5oPShMPXouaCxNPSh6Lk8rMT4+MikqKGc8PDIpLChNfDApLTErfkwtMioofkx8TSkpKSx6Lk8pKzE+PjIhPTB8fHouUixXKXx8SCl6LlNlPTAsei5lZT1KO3g9KEg\/KHouTkk+ei5FWCYmKHouRVg9ei5OSSksSi16LkpGPHouTkktKEE\/MjU1OlM\/NToyKT9tPWZhbHNlOih6LlYwPWIsRz1SKFM\/MTY3OjQ2MCx6KSxWKDQ2MCx6LHouQiksei5MLnB1c2goW2JCLEcsUz9iKzE6Yix6LkQsei5LXSksei5VPVNHLG09dHJ1ZSkpOm09ZmFsc2UsNil9ZWxzZSBpZih4PT05NCl4PXcrNz4+ND49MCYmKHdeNjUpPDE4PzM5OjY7ZWxzZSBpZih4PT0zNCliPUc\/dHlwZW9mIEcuY2U9PT0iZnVuY3Rpb24iP0cuY2UoKTpuZXcgRzpudWxsLHg9NzA7ZWxzZSBpZih4PT03Myl4PTIyO2Vsc2UgaWYoeD09MTUpeD0ody03XjMpPHcmJih3KzMmMzEpPj13PzI3OjkxO2Vsc2UgaWYoeD09Nil4PSh3fDgwKT09dz80NDoyO2Vsc2UgaWYoeD09NzApdGhpcy5IPWIseD0yO2Vsc2UgaWYoeD09NDQpSEEuY2FsbCh0aGlzLFMpLHg9MTk7ZWxzZSBpZih4PT0yKXJldHVybiBtfSxjPWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyxNLEgsSixnKXsoQXw0OCk9PUEmJihKPWc9ZnVuY3Rpb24oKXt7dmFyIFc9Nzg7d2hpbGUoVyE9ODkpe2lmKFc9PTQ2KXJldHVybiBtO2lmKFc9PTYwKXt2YXIgeD0hUy5MLmxlbmd0aDtXPShLSCgyMCwwLFMsUSkseCYmeHooNjQsMCx3LFMsdyksNDYpfWVsc2UgaWYoVz09OTApVz1MPT0yPzc6MTE7ZWxzZSBpZihXPT0xMSlXPUw9PVU\/NjA6NTE7ZWxzZSBpZihXPT03KXt2YXIgbT14eigzMSwwLHcsKEtIKDIxLDAsUyxRKSxTKSx3KTtXPTQ2fWVsc2UgaWYoVz09MTkpRyYmTSYmRy5yZW1vdmVFdmVudExpc3RlbmVyKE0sZyxzbCksVz04OTtlbHNlIGlmKFc9PTM1KXZhciBRPVtHbSx6LChXPTkwLGIpLHZvaWQgMCxHLE0sYXJndW1lbnRzXTtlbHNlIFc9PTc4P1c9Uy5SPT1TPzEzOjg5Olc9PTEzP1c9Uy5JPzM1OjE5Olc9PTUxJiYobT1heihTLDQsImxvYWQiLFEpLFc9NDYpfX19KTtzd2l0Y2goISgoQXwyKT4+Mz09Mykpe2Nhc2UgdHJ1ZTpOYU47YnJlYWs7Y2FzZSBmYWxzZTpzd2l0Y2goIShMPWdZKCJudWxsIixTLCJjYWxsIik9PT0iYXJyYXkiP1M6W1NdLHRoaXMuSikpe2Nhc2UgIVsiIl09PTA6dHJ5e3o9IXRoaXMuTC5sZW5ndGgsYj1bXSxLSCg1LDAsdGhpcyxbTDEsYixMXSksS0goNTIsMCx0aGlzLFtXQSxVLGJdKSx3JiYhenx8eHooNjUsMCx0cnVlLHRoaXMsdyl9Y2F0Y2goVyl7bFkoNSwifiIsdGhpcyxXKSxVKHRoaXMuSil9YnJlYWs7Y2FzZSAwIT0oTnVtYmVyKCkhPSFbdm9pZCBOYU5dKTpVKHRoaXMuSik7YnJlYWt9YnJlYWt9cmV0dXJuKEEtOHw1OCk8KChBLSgoQV4xNik+PjN8fChKPXdbU108PFV8d1soU3wwKSsxXTw8MTZ8d1soU3wwKSsyXTw8OHx3WzgrKFNeMykrMiooU3wtNCldKSwzKSY3KT49NiYmKEE+PjEmMTYpPDE0JiYoYj1ndyg4LHcsdHJ1ZSksLX5iLShiXjEyOCkrMioofmImMTI4KSsoYnwtMTI5KSYmKGI9KFM9YiZVLHo9Z3coOCx3LHRydWUpPDw3LC0oUyZ6KS1+KFMmeikrLTItfihTfHopKSksSj1iKSxBKSYmKEEtNF44KT49QSYmKE09UyY3LGI9Wy04OCw3OSwtNjQsNjEsLTM3LC03NyxiLDgzLDIzLC0xM10sSD1tdyxHPSR6W3cuU10ody5ZRCksR1t3LlNdPWZ1bmN0aW9uKFcpe00rPTYrNyooTD1XLFMpLE0mPTd9LEcuY29uY2F0PWZ1bmN0aW9uKFcseCxtLFEsbCl7cmV0dXJuIFE9KEw9KFc9NDUqKHg9eiUxNisxLEwpKkwrKEgoKXwwKSp4LXgqTCtiW2w9TSszNSw3KzIqKGwmLTgpLTIqKGxeNykrKH5sJjcpXSp6KngtMjcwMCpMLTQ1KnoqeipMLVUqeipMKzEqeip6KngrTSx2b2lkIDApLGJbV10pLGJbKG09TSsyMSwyKihtfDApLShtfDcpLTIqKG0mLTgpKyhtXjcpKSsoUyYyKV09USxiW00rKC0yKn4oUyYyKS0xK35TKyhTJi0zKSldPTc5LFF9LEo9RyksSn0sZFk9ZnVuY3Rpb24odyxVKXtmdW5jdGlvbiBBKCl7KHRoaXMuaj1bXSx0aGlzKS5uPTB9cmV0dXJuW2Z1bmN0aW9uKFMpe2lmKHRydWUpdy5QZShTKTtVLlBlKFMpfSwoKEEucHJvdG90eXBlLlpwPWZ1bmN0aW9uKCl7cmV0dXJuIFJ6LmNhbGwodGhpcywyOCwzOCl9LEEucHJvdG90eXBlKS5QZT1mdW5jdGlvbihTLGIpe3JldHVybiB4ei5jYWxsKHRoaXMsNSxTLGIpfSx3PW5ldyBBLFU9bmV3IEEsZnVuY3Rpb24oUyl7cmV0dXJuIFM9dy5acCgpLmNvbmNhdChVLlpwKCkpLFU9bmV3IEEsU30pXX0sQkE9ZnVuY3Rpb24odyxVKXtmdW5jdGlvbiBBKCl7dGhpcy5pZT10aGlzLkE9dGhpcy5uPTB9cmV0dXJuWyhVPW5ldyAodz0oQS5wcm90b3R5cGUuRF89ZnVuY3Rpb24oUyxiKXtyZXR1cm4gRE4uY2FsbCh0aGlzLCJjbGFzcyIsMjgsUyxiKX0sQS5wcm90b3R5cGUuZk89ZnVuY3Rpb24oKXtyZXR1cm4gcUguY2FsbCh0aGlzLDIwLDkpfSxuZXcgQSksQSksZnVuY3Rpb24oUyl7KHcuRF8oUyksVSkuRF8oUyl9KSxmdW5jdGlvbihTKXtyZXR1cm4gVT1uZXcgKFM9W3cuZk8oKSxVLmZPKCksdy5BLFUuQV0sQSksU31dfSxHVz1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxILEosZyxXLHgsbSxRKXtpZihiPUkoQSw0NjApLGI+PUEuQil0aHJvd1skVywzMV07Zm9yKG09KFE9KGc9KE09VSxiKSxBLlNaLmxlbmd0aCksMCk7TT4wOyl6PWc+PjMseD1nJTgsUz1BLnc2W3pdLEc9OC0oeHwwKSxMPUc8TT9HOk0sdyYmKEo9QSxKLlghPWc+PjYmJihKLlg9Zz4+NixXPUkoSiwyODIpLEoudWU9eFcoMTQ4NCxbMCwwLFdbMV0sV1syXV0sSi5YLDI0LEouaCkpLFNePUEudWVbeiZRXSksbXw9KFM+PjgtKHh8MCktKEx8MCkmKDE8PEwpLTEpPDwoTXwwKS0oTHwwKSxNLT1MLGcrPUw7cmV0dXJuIFYoNDYwLEEsKChIPW0sYil8MCkrKFV8MCkpLEh9LHNVPWZ1bmN0aW9uKHcsVSxBKXtyZXR1cm4oQT13LmNyZWF0ZSgpLnNoaWZ0KCksVS5nLmNyZWF0ZSgpLmxlbmd0aHx8VS5XLmNyZWF0ZSgpLmxlbmd0aCl8fChVLlc9dm9pZCAwLFUuZz12b2lkIDApLEF9LHhXPWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyl7ej1VW0c9MCwyXXwwO3tMPVVbM118MDt3aGlsZShHPDE2KUE9QT4+Pjh8QTw8UyxBKz1ifDAsQV49eit3LEw9TD4+Pjh8TDw8UyxiPWI8PDN8Yj4+PjI5LEwrPXp8MCxMXj1HK3csYl49QSx6PXo8PDN8ej4+PjI5LHpePUwsRysrfXJldHVybltiPj4+UyYyNTUsYj4+PjE2JjI1NSxiPj4+OCYyNTUsYj4+PjAmMjU1LEE+Pj5TJjI1NSxBPj4+MTYmMjU1LEE+Pj44JjI1NSxBPj4+MCYyNTVdfSxxSD1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxILEosZyl7e0o9ODk7d2hpbGUoSiE9NzgpaWYoSj09OTYpZz10aGlzLm49PT0wPzA6TWF0aC5zcXJ0KHRoaXMuaWUvdGhpcy5uKSxKPTQxO2Vsc2UgaWYoSj09dylKPVUrMz49LTg4JiYoVT4+MiY4KTw3Pzk2OjQxO2Vsc2UgaWYoSj09NDEpSj1VPDwyPj0tNjEmJihVLTEmOCk8Mz8xODo5MDtlbHNlIGlmKEo9PTg5KUo9dztlbHNlIGlmKEo9PTUxKXo9UWkoMTQsMjgseiksTCYmTFtmSF0\/TC5OLmFkZChTdHJpbmcoRykseix0cnVlLGhIKFMsYiw1KT8hIWIuY2FwdHVyZTohIWIsTSk6UHcoNDksbnVsbCxmYWxzZSxHLEwsTSx6LGIsdHJ1ZSksSj05MDtlbHNlIGlmKEo9PTE4KUo9QXJyYXkuaXNBcnJheShHKT83OjUxO2Vsc2UgaWYoSj09ODApSj1IPEcubGVuZ3RoPzk4OjkwO2Vsc2UgaWYoSj09ODUpSj04MDtlbHNlIGlmKEo9PTgxKUgrKyxKPTgwO2Vsc2UgaWYoSj09NylIPUEsSj04NTtlbHNle2lmKEo9PTkwKXJldHVybiBnO0o9PTk4JiYocUgoMjAsMzMsMCxudWxsLGIseixMLEdbSF0sTSksSj04MSl9fX0sVVU9ZnVuY3Rpb24odyl7cmV0dXJuIFFpLmNhbGwodGhpcywxNCwzLHcpfSxZVz1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxIKXtzd2l0Y2goISh3LlI9PXcpKXtjYXNlIHRydWU6dm9pZCBmYWxzZTticmVhaztjYXNlICFbIiJdIT0wOmZvcih6PUkodyxBKSxBPT0zNjF8fEE9PVV8fEE9PTEwNT8oTD1mdW5jdGlvbihKLGcsVyx4LG0sUSxsLGEsWil7Zm9yKGE9KFo9MiwxOCk7Oyl0cnl7aWYoWj09MzgpYnJlYWs7ZWxzZXtpZihaPT02OCl0aHJvdyBhPTE4LGw7Wj09Nzc\/KHoucHVzaCgobT16LnI2W1cmN10sKG18MCkrKEp8MCktMioobSZKKSkpLFo9MzgpOlo9PTgxPyhhPTY1LHoucjY9eFcoMTQ4NCxnLGMoeiwyNCwxOSwoeHwwKSs0KSwyNCxjKHosMjQsMTYseCkpLFo9NzcpOlo9PTUxP1o9ei5XZSE9UT8yMDo3NzpaPT0yMD8oeD0oUTw8MyktNCx6LldlPVEsZz1bMCwwLEdbMV0sR1syXV0sWj04MSk6Wj09MiYmKFc9ei5sZW5ndGgsUT0oV3wwKS00Pj4zLFo9NTEpfX1jYXRjaChlKXtpZihhPT0xOCl0aHJvdyBlO2E9PTY1JiYobD1lLFo9NjgpfX0sRz15KDE0Nix3KSk6TD1mdW5jdGlvbihKKXt6LnB1c2goSil9LGImJkwoYiYyNTUpLE09MCxIPVMubGVuZ3RoO008SDtNKyspTChTW01dKTticmVha319LGd3PWZ1bmN0aW9uKHcsVSxBKXtyZXR1cm4gVS5nP3NVKFUuVyxVKTpHVyhBLHcsVSl9LFRtPWZ1bmN0aW9uKHcsVSxBLFMsYix6KXtyZXR1cm4gelcuY2FsbCh0aGlzLDIzLDUsdyxVLEEsUyxiLHopfSxhST1mdW5jdGlvbih3LFUpe3t2YXIgQT0xOTt3aGlsZShBIT04NClpZihBPT03OSl7dmFyIFM9YXJndW1lbnRzW0xdO2Zvcih6IGluIFMpd1t6XT1TW3pdO3ZhciBiPShBPTQ2LDApfWVsc2UgaWYoQT09MTUpQT01MDtlbHNlIGlmKEE9PTQ2KUE9NjtlbHNlIGlmKEE9PTcwKWIrKyxBPTY7ZWxzZSBpZihBPT01MClBPUw8YXJndW1lbnRzLmxlbmd0aD83OTo4NDtlbHNlIGlmKEE9PTYpQT1iPFpXLmxlbmd0aD80NTo3MjtlbHNlIGlmKEE9PTcyKUwrKyxBPTUwO2Vsc2UgaWYoQT09NDUpe3ZhciB6PVpXW2JdO0E9KE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChTLHopJiYod1t6XT1TW3pdKSw3MCl9ZWxzZSBpZihBPT0xOSl2YXIgTD0oQT0xNSwxKX19LENIPWZ1bmN0aW9uKCl7cmV0dXJuIE9VLmNhbGwodGhpcywxLDQ1KX0sVWw9ZnVuY3Rpb24odyxVKXtyZXR1cm4gelcuY2FsbCh0aGlzLDIzLDgwLHcsVSl9LGlZPWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyl7cmV0dXJuIHAuY2FsbCh0aGlzLDg0LHcsVSxBLFMsYix6LEwsRyl9LHVCPWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyxNLEgpe2lmKChMPU4oUywoRz1TW2lCXXx8e30sMzEpKSxHKS50eT1OKFMsdyksNilHLlA9W107aWYoW10pej1TLlI9PVM\/KGd3KDgsUyxiKXxVKS1BOjE7Zm9yKEg9KE09TihTLDcpLFUpO0g8ejtIKyspRy5QLnB1c2goTihTLDM3KSk7Zm9yKEcuZVo9SShTLE0pO3otLTspRy5QW3pdPUkoUyxHLlBbel0pO3JldHVybiBHLklhPVIoTCxTKSxHfSxLMT1mdW5jdGlvbih3KXtyZXR1cm4gakcuY2FsbCh0aGlzLHcsMTcpfSxhej1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxILEosZyl7aWYoYj1TWzBdLGI9PUwxKXcuS289MjUsdy5LPXRydWUsdy5pKFMpO2Vsc2Ugc3dpdGNoKCEoYj09V0EpKXtjYXNlIDA9PWZhbHNlOmlmKGI9PWJCKVNbM10mJih3LkQ9dHJ1ZSksU1tVXSYmKHcuSz10cnVlKSx3LmkoUyk7ZWxzZSBpZihiPT12QSl3LkQ9dHJ1ZSx3LmkoUyk7ZWxzZSBzd2l0Y2goIShiPT1JSSkpe2Nhc2UgTnVtYmVyKHVuZGVmaW5lZCkhPT1OYU46Zm9yKDAhPShOYU49PT1OYU4pO2I9PUdtO2ZhbHNlKXtyZXR1cm4gRz1TWzJdLEsoU1s2XSx3LDU5KSxWKDkzLHcsRyksdy5pKFMpO2lmKCFmYWxzZT09ISIiKWJyZWFrfWI9PWxCPyh3LmkoUyksdy53Nj1bXSx3Lkk9bnVsbCx3LnBvPVtdKTpiPT1wSCYmcS5kb2N1bWVudC5yZWFkeVN0YXRlPT09ImxvYWRpbmciJiYody5VPWZ1bmN0aW9uKFcseCl7ZnVuY3Rpb24gbShRKXtmb3IoUT00NjtRIT00OTspUT09Mjg\/KHg9dHJ1ZSxxLmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG0sc2wpLHEucmVtb3ZlRXZlbnRMaXN0ZW5lcihBLG0sc2wpLFcoKSxRPTQ5KTpRPT00NiYmKFE9eD80OToyOCl9KHEuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbSwoeD1mYWxzZSxzbCkpLHEpLmFkZEV2ZW50TGlzdGVuZXIoQSxtLHNsKX0pO2JyZWFrO2Nhc2UgIVsiIl0hPU51bWJlcigpOnRyeXtmb3IoTT0wO008dy54TS5sZW5ndGg7TSsrKXRyeXtnPXcueE1bTV0sZ1swXVtnWzFdXShnWzJdKX1jYXRjaChXKXt9fWNhdGNoKFcpe30oKDAsU1sxXSkoZnVuY3Rpb24oVyx4KXt3Lno2KFcsdHJ1ZSx4KX0sZnVuY3Rpb24oVyl7S0goMzYsKFc9IXcuTC5sZW5ndGgsMCksdyxbbEJdKSxXJiZ4eig3OSwwLGZhbHNlLHcsdHJ1ZSl9LCh6PSh3LnhNPVtdLHcpLlkoKSxmdW5jdGlvbihXKXtyZXR1cm4gdy5VWChXKX0pLGZ1bmN0aW9uKFcseCxtKXtyZXR1cm4gdy5naChXLHgsbSl9KSx3KS5vKz13LlkoKS16O2JyZWFrfWJyZWFrO2Nhc2UgLU51bWJlcigpIT09MDpMPVNbMV07dHJ5e0o9dy5KfHx3LmkoUyl9Y2F0Y2goVyl7bFkoMzMsIn4iLHcsVyksSj13Lkp9KChIPXcuWSgpLEwpKEopLHcpLm8rPXcuWSgpLUg7YnJlYWt9fSxmMT1mdW5jdGlvbih3LFUsQSxTKXtYMyhVLChTPU4oVSwoQT1OKFUsMTcpLDM1KSksUyksRihSKEEsVSksdykpfSxrVz1mdW5jdGlvbigpe3JldHVybiB4ei5jYWxsKHRoaXMsMzQpfSxNMT1mdW5jdGlvbih3LFUsQSxTLGIpe3JldHVybiBETi5jYWxsKHRoaXMsImNsYXNzIiwxNixTLHcsVSxiLEEpfSxDMT1mdW5jdGlvbigpe3JldHVybiBsWS5jYWxsKHRoaXMsMjcpfSxyWT1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxIKXt3LmJLPSh3LllEPSgody5TWj13W1dBXSx3LmRoPXExLHcpLmlLPU4xLFAoNyx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29uY2F0KCl9fSx3LlMpKSwkelt3LlNdKHcuWUQse3ZhbHVlOnt2YWx1ZTp7fX19KSk7d2hpbGUodHJ1ZSlpZigoRz1bXSxmYWxzZSk9PTApYnJlYWs7Zm9yKE09MDtNPDMyMDtNKyspR1tNXT1TdHJpbmcuZnJvbUNoYXJDb2RlKE0pOygody5xdz1bXSx3KS5FWD0ody5KPXZvaWQgMCwwKSx3KS52ZT0ody5TZT0ody5XPSgody5kNj1bXSx3LnhNPVtdLHcuTD1bXSx3KS5wbz1bXSx2b2lkIDApLHZvaWQgMCksZmFsc2UpO3doaWxlKHRydWUpaWYoTnVtYmVyKCh3Lmc9dm9pZCAwLCgxKS5FKSkhPT1OYU4pYnJlYWs7dy54RD0ody5SPSh3LkQ9ZmFsc2Usdy5CPSh3LlVRPVMsMCksdy5NST0ody5KRj0wLCEody5qZT1mYWxzZSwxKSksdyksMCksdy55Mz0wLHcuSz1mYWxzZTt3aGlsZSg4KWlmKCEody5JPVtdLFtdKSE9dHJ1ZSlicmVhaztIPSgoKHcuQ289MCx3KS5GJD1bXSwody5FUT1mdW5jdGlvbihKKXtyZXR1cm4gQVAuY2FsbCh0aGlzLDMsSil9LHcpLktvPTI1LHcuWD12b2lkIDAsdykuSnk9ZmFsc2UsKHcuUTM9Yix3KS5WMD04MDAxLHcuVT1udWxsLHcudWU9dm9pZCAwLHcuTkk9MCx3Lnc2PSh3Lm89MCx3LmVlPTAsW10pLHdpbmRvdy5wZXJmb3JtYW5jZXx8e30pLHcuaHk9KHcuTz0xLHcuaD12b2lkIDAsSCkudGltZU9yaWdpbnx8KEgudGltaW5nfHx7fSkubmF2aWdhdGlvblN0YXJ0fHwwO3doaWxlKHRydWUpaWYoVSYmVS5sZW5ndGg9PTImJih3LkYkPVVbMF0sdy5xdz1VWzFdKSx0cnVlKWJyZWFrO2lmKHcuQUY9dm9pZCAwLEwpdHJ5e3cuQUY9SlNPTi5wYXJzZShMKX1jYXRjaChKKXt3LkFGPXt9fXh6KDE3LDAsdHJ1ZSwoS0goNjgsMCwoS0goNTMsMCwoS0goMzcsMCwodSh3LDUwLDMzOSwoVigxMDUsdyx0UCgoVig0MjAsdywoSyhbXSwodSh3LDQ5LChLKCh1KCh1KHcsMTksNjcsKHUodywzLDQ0NSwodSh3LDE2LCh1KHcsMTksKHUodyw1MSwzOTQsKHUodywodSgodSh3LChyKDkzLChWKDEzNSwodSh3LDExLCh3LnBPPSh1KChLKFswLCh1KHcsMTgsNDE1LChWKDM1NiwoSygwLCh1KHcsMTYsMzQsKHUodywzLChWKCh1KChLKCh1KHcsMTcsKHUodywocig1OCx3LCgocigzMjUsdywodSh3LDE5LDM1NSwodSh3LDExLCh1KHcsKHUoKHUodywxNiwzMDgsKHUodyw0MSwoSyhbXSx3LCgocigocigzMzMsdyxbKHIoMTI1LHcsKHUodywxMSwodSh3LDE4LDI0OCwodSh3LDQzLDQ5MSwoSygwLChWKDQ2MCwodSh3LDQ4LDM1MiwodSh3LDQxLDQ5MiwodSh3LDE4LDIxNyxmdW5jdGlvbihKLGcsVyx4LG0sUSxsLGEsWil7Zm9yKFo9ODg7WiE9NTY7KVo9PTU4P1o9NTc6Wj09Njg\/KFYoUSxKLHgpLFo9NTYpOlo9PTQ1PyhsPShhPWMoSiwxMjcsMTApLC0yLX5sLX5hKSVXLHgucHVzaChtW2xdKSxaPTU4KTpaPT01Nz9aPWctLT80NTo2ODpaPT03NT9aPTU3Olo9PTg4JiYoUT1oKDM1LEopLGc9YyhKLDEyNyw3MykseD1bXSxtPVIoNDA4LEopLGw9MCxXPW0ubGVuZ3RoLFo9NzUpfSksZnVuY3Rpb24oSixnLFcseCxtLFEsbCxhLFope3taPTI3O3doaWxlKFohPTQ5KVo9PTI3PyhnPU4oSiwyNSksUT1OKEosNiksbT1oKDE4LEopLFc9eShRLEopLHg9UihnLEopLGE9IiIsbD0wLFo9MTApOlo9PTY1PyhsKyssWj04Myk6Wj09ODM\/Wj1sPFcubGVuZ3RoPzQ4OjMwOlo9PTQ4PyhhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFdbbF1eMTIxKSxaPTY1KTpaPT0zMD8oSyh4W2FdLEosbSksWj00OSk6Wj09MTAmJihaPTgzKX19KSksZnVuY3Rpb24oSixnLFcseCxtLFEsbCxhLFope3taPTc0O3doaWxlKFohPTYpWj09Mzk\/KHIoZyxKLFEgaW4gYXwwKSxaPTYpOlo9PTIzP1o9eDxtLmxlbmd0aD85OjM5Olo9PTk\/KFErPVN0cmluZy5mcm9tQ2hhckNvZGUobVt4XV4xMjEpLFo9NzgpOlo9PTIwP1o9MjM6Wj09NzQ\/KFc9TihKLDE2KSxsPWgoMTYsSiksZz1OKEosMjQpLGE9UihsLEopLG09SShKLFcpLHg9MCxRPSIiLFo9MjApOlo9PTc4JiYoeCsrLFo9MjMpfX0pKSx3KSwwKSx3KSwxNjcpLGZ1bmN0aW9uKEosZyxXLHgsbSl7Vz1OKEosMTApO3doaWxlKHRydWUpaWYoZz1OKEosNSkse30pYnJlYWs7cigoeD1nWSgibnVsbCIsKG09SShKLFcpLG0pLCJjYWxsIiksZyksSix4KX0pKSxmdW5jdGlvbihKLGcsVyx4LG0sUSl7Zm9yKFE9MTE7USE9Njk7KVE9PTc5P1E9bTx4PzUxOjg5OlE9PTExPyhnPWgoMzUsSikseD1jKEosMTI3LDkpLG09MCxXPVtdLFE9NzMpOlE9PTczP1E9Nzk6UT09NTk\/KG0rKyxRPTc5KTpRPT04OT8ocihnLEosVyksUT02OSk6UT09NTEmJihXLnB1c2goZ3coOCxKLHRydWUpKSxRPTU5KX0pKSwxOTgpLGZ1bmN0aW9uKEosZyxXLHgsbSl7eD1JKEosKGc9KFc9TihKLChtPWgoMyxKKSwxMSkpLHkpKG0sSiksVykpLFYoVyxKLHgrZyl9KSxxKSksMjA0OCldKSwzNjEpLHcsdFAoNCkpLHcpLlQkPTAsMTcpKSwxNTYpLGZ1bmN0aW9uKEosZyxXLHgpe2c9aCgxNiwoeD0oVz1OKEosMzYpLGd3KDgsSix0cnVlKSksSikpLHIoZyxKLEkoSixXKT4+PngpfSksZnVuY3Rpb24oSixnLFcseCxtLFEsbCxhLFosZSx2LG1kLE8sbixmLE1ILEUsYlksayl7e2s9NTI7d2hpbGUoayE9NjEpaz09MzA\/az1hPGc\/MzQ6ODg6az09MzU\/KG0ucHVzaChSKE4oSiwyNSksSikpLGs9ODApOms9PTM0PyhlW2FdfHwoRVthXT1iWSh2KSksaz0yNSk6az09OTQ\/az01NDprPT04MD9rPTc0Oms9PTM2Pyh1KEosNTEsbWQsZnVuY3Rpb24oZCxYLFpOLEMsb3osdCl7Zm9yKHQ9MzI7dCE9NDM7KXQ9PTIzPyhDKyssdD0zKTp0PT0zMj8oQz0wLFpOPVtdLG96PVtdLHQ9MjQpOnQ9PTA\/KFg9RVtDXSx0PTE5KTp0PT02ND8ob3oucHVzaChYKSx0PTIzKTp0PT0xMT8oZC5nPU4oZCw1MSxtLnNsaWNlKCkpLGQuVz1OKGQsNTMsb3opLHQ9NDMpOnQ9PTYyP3Q9WD49Wk4ubGVuZ3RoPzI4OjY3OnQ9PTY3PyhYPVpOW1hdLHQ9NjQpOnQ9PTM\/dD1DPGc\/MDoxMTp0PT0yOD8oWk4ucHVzaChOKGQsMTYpKSx0PTc2KTp0PT0xNT90PTYyOnQ9PTE5P3Q9ZVtDXT82NDoxNTp0PT0yND90PTM6dD09NzYmJih0PTYyKX0pLGs9NjEpOms9PTQ1PyhXKyssaz03Nik6az09Nzg\/KG09W10sWj1sLGs9ODEpOms9PTQyP2s9MzA6az09ODg\/KFc9MCxrPTcwKTprPT03Pyh2PSgyKn4oUSYxKS0yKn5RLShRXjEpKS50b1N0cmluZygyKS5sZW5ndGgsYT0wLEU9W10saz00Mik6az09ND8oTz1iWSgxKSxlLnB1c2goTyksUSs9Tz8wOjEsaz01OSk6az09NzY\/az1XPGc\/NDY6Nzg6az09MjU\/KGErKyxrPTMwKTprPT00Nj8oZVtXXSYmKEVbV109TihKLDMwKSksaz00NSk6az09NTI\/KGJZPWZ1bmN0aW9uKGQsWCl7Zm9yKDt4PGQ7KW58PWd3KDgsSix0cnVlKTw8eCx4Kz04O3JldHVybiBYPSh4LT1kLG4mKDE8PGQpLTEpLG4+Pj1kLFh9LG1kPU4oSiwxNykseD1uPTAsbD0oTUg9YlkoMyksLTQqfihNSCYxKSstNCszKihNSF4xKSsyKih+TUh8MSkpLGc9YlkoNSksUT1mPTAsZT1bXSxrPTk0KTprPT03ND9rPVotLT8zNTozNjprPT04MT9rPTc0Oms9PTcwP2s9NzY6az09NTQ\/az1mPGc\/NDo3Oms9PTU5JiYoZisrLGs9NTQpfX0pKSx3KSw5LDI2LGZ1bmN0aW9uKEosZyxXKXtyKChnPU4oSiwyOCksVz1OKEosMzgpLFcpLEosIiIreShnLEopKX0pLDQ5KSwzMjgsZnVuY3Rpb24oSil7ZjEoMSxKKX0pLDQ5NCksZnVuY3Rpb24oSixnLFcseCxtLFEsbCxhKXt7YT03Nzt3aGlsZShhIT00OSlhPT03Nz8oUT1OKEosNDIpLGw9TihKLDEwKSx4PWgoMTcsSiksYT01OSk6YT09MzI\/KEouaD1HVyhmYWxzZSwzMixKKSxKLlg9dm9pZCAwLGE9NDkpOmE9PTU5P2E9Si5SPT1KPzA6NDk6YT09MD8obT1JKEosbCksVz1JKEosUSksZz1JKEoseCksV1ttXT1nLGE9OTApOmE9PTkwP2E9UT09MjgyPzU0OjQ5OmE9PTQzP2E9bT09Mj8zMjo0OTphPT01NCYmKEouWD12b2lkIDAsYT00Myl9fSksZnVuY3Rpb24oSixnLFcseCl7VigoZz0oeD1oKDMsKFc9TihKLDQzKSxKKSksTihKLDE3KSksZyksSixSKFcsSil8fEkoSix4KSl9KSksNzg1KSksbmV3IFBBKCJTdWJtaXQiKSkuZGlzcG9zZSgpLFtdKSksNDMpLDEyNixmdW5jdGlvbigpe30pLDY0KSxmdW5jdGlvbihKKXtoKDIxLDIsNCxKKX0pLHRQKDQpKSx3LDI3MyksdyksMTcsMjUzLGZ1bmN0aW9uKEosZyxXLHgsbSxRKXt7UT0yNDt3aGlsZShRIT0xMSlRPT00Nz8obT11QigxNywwLDEsSix0cnVlKSx4PW0uSWEsVz1tLmVaLFE9OTUpOlE9PTI0P1E9cCg2OCw0LGZhbHNlLHRydWUsZyxKKT8xMTo0NzpRPT03OT8oVihtLnR5LEoseC5hcHBseShXLG0uUCkpLEouZWU9Si5ZKCksUT0xMSk6UT09OTUmJihRPUouUj09Snx8eD09Si5FUSYmVz09Sj83OToxMSl9fSksMzA3KSx3LFsxNTQsMCwwXSksNDgyKSxmdW5jdGlvbihKLGcsVyx4LG0sUSxsLGEsWixlLHYpe3t2PTc7d2hpbGUodiE9NjQpdj09Nz8oZz1OKEosMTYpLGU9TihKLDI0KSx4PU4oSiwxNyksVz1oKDMsSiksbT1JKEouUixnKSxsPVIoVyxKKSxhPUkoSix4KSxRPUkoSixlKSx2PTM1KTp2PT0zNT92PW0hPT0wPzk4OjY0OnY9PTk4JiYoWj1jKGZhbHNlLDEsNDgsSixsLGEsMSxtLFEpLG0uYWRkRXZlbnRMaXN0ZW5lcihRLFosc2wpLHkoMzU2LEopLnB1c2goZnVuY3Rpb24oKXttLnJlbW92ZUV2ZW50TGlzdGVuZXIoUSxaLHNsKX0pLEsoW20sUSxaXSxKLDExMCksdj02NCl9fSksdSh3LDQ4LDI3NixmdW5jdGlvbihKLGcsVyx4LG0sUSxsLGEsWixlKXtmb3IoZT00NTtlIT0zMDspZT09ODc\/KFc9dUIoMTcsMCwxLEouUix0cnVlKSxaPVcudHkseD1XLklhLG09Vy5QLFE9Vy5lWixhPW0ubGVuZ3RoLGw9YT09MD9uZXcgUVt4XTphPT0xP25ldyBRW3hdKG1bMF0pOmE9PTI\/bmV3IFFbeF0obVswXSxtWzFdKTphPT0zP25ldyBRW3hdKG1bMF0sbVsxXSxtWzJdKTphPT00P25ldyBRW3hdKG1bMF0sbVsxXSxtWzJdLG1bM10pOjIoKSxLKGwsSixaKSxlPTMwKTplPT00NSYmKGU9cCg2OSw0LGZhbHNlLHRydWUsZyxKKT8zMDo4Nyl9KSxmdW5jdGlvbihKKXtwMSg0LEopfSkpLHcpLDQ0NiksdyksW10pLGZ1bmN0aW9uKEosZyxXLHgpe1IoKHg9KGc9aCgzLChXPWgoMTgsSiksSikpLFIoZyxKKSksVyksSikhPTAmJksoeCxKLDQ2MCl9KSksMCksMF0sdywxNDYpLHcpLDksMjAzLGZ1bmN0aW9uKEosZyl7VigoZz1oKDE3LEopLGcpLEosW10pfSksMCksNDk4KSxmdW5jdGlvbihKLGcsVyx4LG0sUSxsLGEpeyhhPUkoSiwobT0oeD0oVz0oZz1oKDM1LChsPU4oSiwyNCksSikpLE4oSiwyOSkpLFE9TihKLDYpLFIoZyxKKSkseShXLEopKSxRKSksVikobCxKLGMoZmFsc2UsMSw0OSxKLG0seCxhKSl9KSx3KSxbXSksdykse30pLDUwKSwxODQsZnVuY3Rpb24oSil7ZjEoNCxKKX0pLHcpLDksMjIwLGZ1bmN0aW9uKEosZyxXLHgsbSxRLGwsYSl7e2E9NzI7d2hpbGUoYSE9NzcpYT09MTk\/YT03NDphPT05Mj9hPTc0OmE9PTc0P2E9bC0tPzQ0OjMwOmE9PTMwPyhyKG0sSix4KSxhPTc3KTphPT00ND8oZz0oKGd8MCkrKGMoSiwxMjcsNjUpfDApKSVXLHgrPUdbUVtnXV0sYT0xOSk6YT09NzImJihtPU4oSiw3KSxsPWMoSiwxMjcsNjYpLHg9IiIsUT15KDQwOCxKKSxXPVEubGVuZ3RoLGc9MCxhPTkyKX19KSwzKSwyMTIsZnVuY3Rpb24oSixnLFcseCxtLFEpe1YoKGc9UigoUT0oeD0obT1oKDM1LEopLE4oSiwyNSkpLFc9aCgxNyxKKSxSKSh4LEopLG0pLEopLFcpLEosZyBpbiBRfDApfSksZnVuY3Rpb24oSil7cDEoMyxKKX0pKSwxODIpLGZ1bmN0aW9uKEosZyxXLHgsbSxRKXt4PShRPShXPU4oSiwobT1oKDE2LEopLDUpKSxoKDE3LEopKSxSKShXLEopLGc9SShKLG0pPT14LEsoK2csSixRKX0pLDQ2MyksZnVuY3Rpb24oSixnLFcpeyhnPU4oSiwyNCksVz1JKEouUixnKSxXWzBdKS5yZW1vdmVFdmVudExpc3RlbmVyKFdbMV0sV1syXSxzbCl9KSxmdW5jdGlvbihKLGcsVyx4LG0pe3ttPTMxO3doaWxlKG0hPTUpbT09NjQ\/KFc9TihKLDI1KSx4PU4oSiwxNiksVih4LEosZnVuY3Rpb24oUSl7cmV0dXJuIGV2YWwoUSl9KGVoKEkoSi5SLFcpKSkpLG09NSk6bT09MzEmJihtPXAoNjUsNCxmYWxzZSx0cnVlLGcsSik\/NTo2NCl9fSkpLGZ1bmN0aW9uKEosZyl7UkkoNDYwLDYsKGc9SShKLE4oSiwzOSkpLGcpLDAsSi5SLDEwNCl9KSksdyksMTcsMzkwLGZ1bmN0aW9uKEosZyxXLHgsbSxRLGwsYSxaLGUsdixtZCxPLG4sZil7e2Y9NTM7d2hpbGUoZiE9NTQpaWYoZj09OTEpVz1tLmxlbmd0aCxPPU8+MD9POjEsbD0wLGY9ODM7ZWxzZSBpZihmPT05MilmPUouUj09Sj85MTo1NDtlbHNlIGlmKGY9PTU2KW4obS5zbGljZShsLChsfDApKyhPfDApKSxtZCksZj0yMztlbHNlIGlmKGY9PTQ5KWY9Z1koIm51bGwiLG0sImNhbGwiKT09Im9iamVjdCI\/NTo5MjtlbHNlIGlmKGY9PTIzKWwrPU8sZj04OTtlbHNlIGlmKGY9PTgzKWY9ODk7ZWxzZSBpZihmPT01MylmPXAoNzAsNCx0cnVlLHRydWUsZyxKKT81NDo3NztlbHNlIGlmKGY9PTg5KWY9bDxXPzU2OjU0O2Vsc2UgaWYoZj09Nzcpdj1OKEosMTYpLHg9TihKLDE2KSxhPWgoMTgsSiksWj1oKDE2LEopLG09SShKLHYpLE89eShhLEopLG1kPUkoSixaKSxuPXkoeCxKKSxmPTQ5O2Vsc2UgaWYoZj09NSl7Zm9yKGUgaW4gUT1bXSxtKVEucHVzaChlKTtmPTkyLG09UX19fSksMCksdywxMTApLHcubk89MCw0MjcpLGZ1bmN0aW9uKEosZyxXLHgsbSxRKXsobT1SKChXPU4oSiwoZz0oeD1OKEosMjUpLGgoMTgsSikpLDI0KSkseCksSiksUT15KGcsSikscikoVyxKLG1bUV0pfSksdyksMzAxKSx3KSksNCkpKSxmdW5jdGlvbihKLGcsVyx4LG0pe3ttPTg5O3doaWxlKG0hPTY0KW09PTEwP209Zz85OjY1Om09PTgxP209Vz4wPzc3OjMxOm09PTc1PyhXLS0sbT04MSk6bT09MzE\/KGdbMTM1XT1KLklbMTM1XSxnWzMzM109Si5JWzMzM10sSi5JPWcsbT02NCk6bT09OT8oVz1ndyg4LEosdHJ1ZSksbT02MSk6bT09Nzc\/KHg9aCgzLEopLGdbeF09Si5JW3hdLG09NzUpOm09PTg5PyhnPUouZDYucG9wKCksbT0xMCk6bT09NjE\/bT04MTptPT02NSYmKHIoNDYwLEosSi5CKSxtPTY0KX19KSksdyksW3BIXSksdyksW3ZBLEFdKSx3KSxbSUksel0pLHcpLHRydWUpfSxPbD1mdW5jdGlvbih3LFUsQSxTLGIpe3JldHVybiBoSC5jYWxsKHRoaXMsdyxVLDczLEEsUyxiKX0sVnc9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0pe2lmKCFBLkope0EueTMrKzt0cnl7Rz12b2lkIDAsTT0wO3t6PUEuQjt3aGlsZSgtLVMpdHJ5e2lmKGI9dm9pZCAwLEEuZylHPXNVKEEuZyxBKTtlbHNle2lmKE09SShBLDQ2MCksTT49eilicmVhaztHPUkoQSwoYj1oKDE4LChyKDE2NyxBLE0pLEEpKSxiKSl9cCg2NCw0LGZhbHNlLGZhbHNlLChHJiYoTD1HW2xCXSwtMip+KEwmVSktdyt+KEx8VSkrKExeVSkpP0coQSxTKTpoUChBLDAsWyRXLDIxLGJdLDYpLFMpLEEpfWNhdGNoKEgpe0koQSwzMjUpP2hQKEEsMjIsSCw2KTpyKDMyNSxBLEgpfX1pZighUyl7aWYoQS5sSyl7VncoMSwoQS55My0tLDIwNDgpLEEsNjYzMTkwNTQ0NDU3KTtyZXR1cm59aFAoQSwwLFskVywzM10sNil9fWNhdGNoKEgpe3RyeXtoUChBLDIyLEgsNil9Y2F0Y2goSil7bFkoNDUsIn4iLEEsSil9fUEueTMtLX19LEYzPWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyxNLEgsSixnLFcpe2ZvcihBPVc9KEw9VS5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksSD1bXSwwKTtXPEwubGVuZ3RoO1crKylnPUwuY2hhckNvZGVBdChXKSxnPDEyOD9IW0ErK109ZzooZzwyMDQ4P0hbQSsrXT1nPj53fDE5MjooKGd8MCktIC0xKyh+Z142NDUxMikrKH5nJjY0NTEyKT09NTUyOTYmJlcrMTxMLmxlbmd0aCYmKEwuY2hhckNvZGVBdChXKzEpJjY0NTEyKT09NTYzMjA\/KGc9KHo9KGcmMTAyMyk8PDEwLC0yLTIqfig2NTUzNnx6KS0oNjU1MzZeeikpKyhMLmNoYXJDb2RlQXQoKytXKSYxMDIzKSxIW0ErK109KGI9Zz4+MTgsMjQxKyhiXjI0MCkrKGJ8LTI0MSkpLEhbQSsrXT0oUz1nPj4xMiwxLX5TKyhTJi02NCkrMiooflN8NjMpKXwxMjgpOkhbQSsrXT1nPj4xMnwyMjQsSFtBKytdPShHPShNPWc+PncsKE18MCktKE1eNjMpKyh+TSY2MykpLDEyOCt+KEcmMTI4KS1+RykpLEhbQSsrXT0oSj1nJjYzLC1+SisoSl4xMjgpKyh+SnwxMjgpKSk7cmV0dXJuIEh9LEk9ZnVuY3Rpb24odyxVLEEpe0E9dy5JW1VdO3N3aXRjaCghKEE9PT12b2lkIDApKXtjYXNlIHRydWU6bnVsbD09ZmFsc2U7YnJlYWs7Y2FzZSBOYU49PT1OYU46dGhyb3dbJFcsMzAsVV07YnJlYWt9c3dpdGNoKCFBLnZhbHVlKXtjYXNlIDA9PSFbXTp0cnVlO2JyZWFrO2Nhc2UgdHJ1ZT09W10hPSFbXTpyZXR1cm4gQS5jcmVhdGUoKTticmVha31yZXR1cm4oQS5jcmVhdGUoVSoxKlUrNzkqVSs2MCksQSkucHJvdG90eXBlfSxrej10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKHcsVSxBLFMpe2ZvcihTPTc5O1MhPTMzOyl7aWYoUz09ODgpcmV0dXJuIHc7aWYoUz09NzkpUz13PT1BcnJheS5wcm90b3R5cGV8fHc9PU9iamVjdC5wcm90b3R5cGU\/ODg6NDg7ZWxzZSBpZihTPT00OClyZXR1cm4gd1tVXT1BLnZhbHVlLHd9fSxOSD1mdW5jdGlvbigpe3JldHVybiBQdy5jYWxsKHRoaXMsMTApfSxydz1mdW5jdGlvbigpe3JldHVybiBQLmNhbGwodGhpcywxMCl9LEY9ZnVuY3Rpb24odyxVLEEsUyl7Zm9yKFM9W10sQT0oVXwwKS0xO0E+PTA7QS0tKVNbKFV8MCktMS0oQXwwKV09dz4+QSo4JjI1NTtyZXR1cm4gU30sTEg9ZnVuY3Rpb24odyl7cmV0dXJuIEtILmNhbGwodGhpcyw2LHcpfSxLSD1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSl7Zm9yKE09MTY7TSE9MTc7KWlmKE09PTU1KU09KHdeNTQpJjE0PzY5OjM4O2Vsc2UgaWYoTT09MTYpTT01O2Vsc2UgaWYoTT09NzcpTC5jbGFzc0xpc3Q\/TC5jbGFzc0xpc3QucmVtb3ZlKHopOlFpKDE0LDEwLFUsYix6LEwpJiZqRyhTLDI0LEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChQKDgzLFUsTCksZnVuY3Rpb24oSCl7cmV0dXJuIEghPXp9KS5qb2luKEEpLEwpLE09NzE7ZWxzZSBpZihNPT02OSlNPSh3JjU4KT09dz83Nzo3MTtlbHNlIGlmKE09PTUpTT0odz4+MSYxNSk+PTcmJih3PDwxJjEyKTw1Pzg5OjU1O2Vsc2V7aWYoTT09MzEpcmV0dXJuIEc7TT09NzE\/TT0odz4+MSY3KT09Mj84NjozMTpNPT0zOD8oRz1VLE09NjkpOk09PTg5P009NTU6TT09ODYmJihBLkwuc3BsaWNlKFUsVSxTKSxNPTMxKX19LHRIPWZ1bmN0aW9uKCl7cmV0dXJuIHh6LmNhbGwodGhpcyw4KX0samg9ZnVuY3Rpb24odyxVLEEsUyxiKXtzd2l0Y2goISh3Lmxlbmd0aD09Mykpe2Nhc2UgdHJ1ZTpmYWxzZTticmVhaztjYXNlIGZhbHNlOmZvcihiPTA7YjwzO2IrKylVW2JdKz13W2JdO1M9WzEzLDgsMTMsMTIsMTYsNSwzLDEwLDE1XTt7QT0wO3doaWxlKEE8OSlVWzNdKFUsQSUzLFNbQV0pLEErK31icmVha319LFgzPWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyxNKXtpZih3LlI9PXcpZm9yKEc9SSh3LFUpLFU9PTM2MXx8VT09MjczfHxVPT0xMDU\/KGI9ZnVuY3Rpb24oSCxKLGcsVyx4LG0sUSxsLGEpe2ZvcihhPShRPTc4LDEwKTs7KXRyeXtpZihRPT0yMilicmVhaztlbHNlIGlmKFE9PTU3KVE9Ry5XZSE9eD85NDo2MztlbHNlIGlmKFE9PTIzKWE9NTksRy5yNj14VygxNDg0LGcsYyhHLDI0LDIxLChXfDApKzQpLDI0LGMoRywyNCwyMCxXKSksUT02MztlbHNlIGlmKFE9PTYzKUcucHVzaCgobT1HLnI2W0omN10sKG18MCkrKEh8MCktMioobSZIKSkpLFE9MjI7ZWxzZSBpZihRPT03OClKPUcubGVuZ3RoLHg9KEp8MCktND4+MyxRPTU3O2Vsc2UgaWYoUT09OTQpRy5XZT14LGc9WzAsMCxMWzFdLExbMl1dLFc9KHg8PDMpLTQsUT0yMztlbHNlIGlmKFE9PTExKXRocm93IGE9MTAsbDt9Y2F0Y2goWil7aWYoYT09MTApdGhyb3cgWjthPT01OSYmKGw9WixRPTExKX19LEw9UigxNDYsdykpOmI9ZnVuY3Rpb24oSCl7Ry5wdXNoKEgpfSxTJiZiKFMmMjU1KSx6PTAsTT1BLmxlbmd0aDt6PE07eisrKWIoQVt6XSl9LFF3PWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyxNLEgpeyhVLnB1c2goKFM9d1swXTw8MjR8d1sxXTw8MTYsRz13WzJdPDw4LC1+RysoU15HKSsoU3x+RykpfHdbM10pLFUpLnB1c2goKEg9d1s0XTw8MjR8d1s1XTw8MTYsQT13WzZdPDw4LChBfDApLSh+SF5BKSsoSHx+QSkpfHdbN10pLFUucHVzaCgoTT0oej13WzhdPDwyNHx3WzldPDwxNixiPXdbMTBdPDw4LCh6JmIpKzIqfih6JmIpLX56LX5iKSxMPXdbMTFdLC1+KE0mTCkrMiooTV5MKSsofk1eTCkpKX0seXc9ZnVuY3Rpb24odyxVLEEsUyxiLHope3JldHVybiByKDQ2MCwoVncoKCh6PUkoQSw0NjApLEEudzYmJno8QS5CKT8ocig0NjAsQSxBLkIpLFJJKDQ2MCw2LFMsYixBLDEwNCkpOksoUyxBLDQ2MCksMSksdyxBLFUpLEEpLHopLHkoOTMsQSl9LHRQPWZ1bmN0aW9uKHcsVSxBKXtmb3IoQT01MztBIT01ODspaWYoQT09NTQpQT13LS0\/ODc6NDY7ZWxzZSBpZihBPT01NylBPTU0O2Vsc2UgaWYoQT09ODcpVS5wdXNoKE1hdGgucmFuZG9tKCkqMjU1fDApLEE9ODM7ZWxzZXtpZihBPT00NilyZXR1cm4gVTtBPT01Mz8oVT1bXSxBPTU3KTpBPT04MyYmKEE9NTQpfX0sVCxyPWZ1bmN0aW9uKHcsVSxBKXtzd2l0Y2goISh3PT00NjB8fHc9PTE2Nykpe2Nhc2UgdHJ1ZTppZihVLk1JJiZ3IT0yODIpcmV0dXJuO3c9PTMwN3x8dz09MzYxfHx3PT01OHx8dz09MTA1fHx3PT0xMzV8fHc9PTMwMXx8dz09MTd8fHc9PTE0Nnx8dz09MjczfHx3PT0zMzM\/VS5JW3ddfHwoVS5JW3ddPWMoVSwzNTU1LDcwLDQ2LEEsdykpOlUuSVt3XT1jKFUsMzU1NSw2OSwxMTMsQSx3KTticmVhaztjYXNlIG51bGw9PWZhbHNlOlUuSVt3XT9VLklbd10uY29uY2F0KEEpOlUuSVt3XT1OKFUsNTQsQSk7YnJlYWt9dz09MjgyJiYoVS5oPUdXKGZhbHNlLDMyLFUpLFUuWD12b2lkIDApfSxSPWZ1bmN0aW9uKHcsVSxBKXtBPVUuSVt3XTt3aGlsZShBPT09dm9pZCAwKXt0aHJvd1skVywzMCx3XTtpZigwPT0hWyIiXSlicmVha313aGlsZShBLnZhbHVlKXtyZXR1cm4gQS5jcmVhdGUoKTtpZihOdW1iZXIoKT09KGZhbHNlIT0hW10pKWJyZWFrfXJldHVybiBBLmNyZWF0ZSh3KjEqdys3OSp3KzYwKSxBLnByb3RvdHlwZX0sbjE9ZnVuY3Rpb24oKXtyZXR1cm4gS0guY2FsbCh0aGlzLDE3KX0sQUg9ZnVuY3Rpb24odyxVLEEsUyxiLHope3JldHVybiB3WS5jYWxsKHRoaXMsMjQsVSwzMix3LEEsUyxiLHopfSxwMT1mdW5jdGlvbih3LFUsQSxTLGIseixMKXtYMyhVLCgoYj1SKChBPSh6PU4oVSwoTD0oUz13JjQsMy1+dyt+KHd8MykpLDE3KSksTikoVSwzNCkseiksVSksUyYmKGI9RjMoNiwiIitiKSksTCkmJlgzKFUsQSxGKGIubGVuZ3RoLDIpKSxBKSxiKX0seT1mdW5jdGlvbih3LFUsQSl7QT1VLklbd107c3dpdGNoKCEoQT09PXZvaWQgMCkpe2Nhc2UgdHJ1ZTpOYU47YnJlYWs7Y2FzZSBOdW1iZXIoKSE9IVtdOnRocm93WyRXLDMwLHddO2JyZWFrfWlmKEEudmFsdWUpcmV0dXJuIEEuY3JlYXRlKCk7cmV0dXJuIEEuY3JlYXRlKHcqMSp3Kzc5KncrNjApLEEucHJvdG90eXBlfSxIQT1mdW5jdGlvbih3KXtyZXR1cm4gdVkuY2FsbCh0aGlzLHcsMyl9LFk9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCl7TD10aGlzO3RyeXtyWSh0aGlzLHosQSx3LFMsVSxiKX1jYXRjaChHKXtsWSg0MSwifiIsdGhpcyxHKSxVKGZ1bmN0aW9uKE0pe00oTC5KKX0pfX0sZ1k9ZnVuY3Rpb24odyxVLEEsUyxiKXtiPXR5cGVvZiBVO3N3aXRjaCghKGI9PSJvYmplY3QiKSl7Y2FzZSBOYU4hPT1OYU46c3dpdGNoKCEoYj09ImZ1bmN0aW9uIiYmdHlwZW9mIFUuY2FsbD09InVuZGVmaW5lZCIpKXtjYXNlIHRydWU6MDticmVhaztjYXNlIHRydWU9PSFbXTpyZXR1cm4ib2JqZWN0IjticmVha31icmVhaztjYXNlIE5hTj09PU5hTjpzd2l0Y2goIVUpe2Nhc2UgIVtdIT10cnVlOnJldHVybiB3O2JyZWFrO2Nhc2UgZmFsc2U6d2hpbGUoVSBpbnN0YW5jZW9mIEFycmF5KXtyZXR1cm4iYXJyYXkiO2lmKC0wPT09MClicmVha31zd2l0Y2goIShVIGluc3RhbmNlb2YgT2JqZWN0KSl7Y2FzZSAhIVtdOnRydWU7YnJlYWs7Y2FzZSBOYU49PT1OYU46cmV0dXJuIGI7YnJlYWt9aWYoUz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoVSksUz09IltvYmplY3QgV2luZG93XSIpcmV0dXJuIm9iamVjdCI7aWYoUz09IltvYmplY3QgQXJyYXldInx8dHlwZW9mIFUubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIFUuc3BsaWNlIT0idW5kZWZpbmVkIiYmdHlwZW9mIFUucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhVS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgic3BsaWNlIikpcmV0dXJuImFycmF5IjtpZihTPT0iW29iamVjdCBGdW5jdGlvbl0ifHx0eXBlb2YgVS5jYWxsIT0idW5kZWZpbmVkIiYmdHlwZW9mIFUucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhVS5wcm9wZXJ0eUlzRW51bWVyYWJsZShBKSlyZXR1cm4iZnVuY3Rpb24iO2JyZWFrfWJyZWFrfXJldHVybiBifSxSST1mdW5jdGlvbih3LFUsQSxTLGIseil7Yi5kNi5sZW5ndGg+ej9oUChiLFMsWyRXLDM2XSxVKTooYi5kNi5wdXNoKGIuSS5zbGljZSgpKSxiLklbd109dm9pZCAwLFYodyxiLEEpKX0sRWw9ZnVuY3Rpb24odyxVLEEsUyxiLHope3RyeXtTPXdbKChVJjIpKy0zLTIqfihVfDIpKyh+VXwyKSklM10sd1tVXT0oej0od1tVXXwwKS0od1soKFV8MCkrMSklM118MCktKFN8MCksYj1VPT0xP1M8PEE6Uz4+PkEsLTIqKHp8MCkrMiooenxiKSsoenx+YiktKH56fGIpKX1jYXRjaChMKXt0aHJvdyBMO319LEs9ZnVuY3Rpb24odyxVLEEpe3N3aXRjaCghKEE9PTQ2MHx8QT09MTY3KSl7Y2FzZSBOdW1iZXIoKT09IVsiIl06Zm9yKDAhPT0tMDtVLk1JJiZBIT0yODI7ZmFsc2Upe3JldHVybjtpZihOYU4hPT1OYU4pYnJlYWt9QT09MzA3fHxBPT0zNjF8fEE9PTU4fHxBPT0xMDV8fEE9PTEzNXx8QT09MzAxfHxBPT0xN3x8QT09MTQ2fHxBPT0yNzN8fEE9PTMzMz9VLklbQV18fChVLklbQV09YyhVLDM1NTUsNSw0Nix3LEEpKTpVLklbQV09YyhVLDM1NTUsNiwxMTMsdyxBKTticmVhaztjYXNlIE51bWJlcigpIT0hW3VuZGVmaW5lZF06VS5JW0FdP1UuSVtBXS5jb25jYXQodyk6VS5JW0FdPU4oVSw1MCx3KTticmVha31BPT0yODImJihVLmg9R1coZmFsc2UsMzIsVSksVS5YPXZvaWQgMCl9LHcxPWZ1bmN0aW9uKHcsVSl7cmV0dXJuIEROLmNhbGwodGhpcywiY2xhc3MiLDgxLHcsVSl9LFBBPWZ1bmN0aW9uKHcsVSxBKXtyZXR1cm4gUWkuY2FsbCh0aGlzLDE0LDE4LHcsVSxBKX0sSkg9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHKXtyZXR1cm4gUHcuY2FsbCh0aGlzLDUsdyxVLEEsUyxiLHosTCxHKX0sVj1mdW5jdGlvbih3LFUsQSl7c3dpdGNoKCEodz09NDYwfHx3PT0xNjcpKXtjYXNlIHRydWU6aWYoVS5NSSYmdyE9MjgyKXJldHVybjt3PT0zMDd8fHc9PTM2MXx8dz09NTh8fHc9PTEwNXx8dz09MTM1fHx3PT0zMDF8fHc9PTE3fHx3PT0xNDZ8fHc9PTI3M3x8dz09MzMzP1UuSVt3XXx8KFUuSVt3XT1jKFUsMzU1NSw2OCw0NixBLHcpKTpVLklbd109YyhVLDM1NTUsNywxMTMsQSx3KTticmVhaztjYXNlIGZhbHNlOlUuSVt3XT9VLklbd10uY29uY2F0KEEpOlUuSVt3XT1OKFUsNTIsQSk7YnJlYWt9dz09MjgyJiYoVS5oPUdXKGZhbHNlLDMyLFUpLFUuWD12b2lkIDApfSxoUD1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSxILEosZyxXLHgsbSl7c3dpdGNoKCEoIXcuTUkmJihNPXZvaWQgMCxBJiZBWzBdPT09JFcmJihVPUFbMV0sTT1BWzJdLEE9dm9pZCAwKSxXPXkoMTM1LHcpLFcubGVuZ3RoPT0wJiYobT1JKHcsMTY3KT4+MyxXLnB1c2goVSwoZz1tPj44LChnfDI1NSktfihnJjI1NSkrfihnfDI1NSkpLG0mMjU1KSxNIT12b2lkIDAmJlcucHVzaChNJjI1NSkpLEw9IiIsQSYmKEEubWVzc2FnZSYmKEwrPUEubWVzc2FnZSksQS5zdGFjayYmKEwrPSI6IitBLnN0YWNrKSksSj1JKHcsMzMzKSxKWzBdPjMpKSl7Y2FzZSAwPT0hW3VuZGVmaW5lZF06MTticmVhaztjYXNlIC0wIT09MDp3LlI9KHg9KEw9RjMoKEpbMF0tPShiPShMPUwuc2xpY2UoMCwoej1KWzBdLH4oeiYzKS0yKn56K34oenwzKSkpLEwubGVuZ3RoKSx+KGImMyktMyp+KGJ8MyktMiooYiYtNCkrMiooYnwtNCkpLFMpLEwpLHcuUiksdyk7dHJ5e3cuamU\/KEc9KEc9SSh3LDMwMSkpJiZHW0cubGVuZ3RoLTFdfHw5NSwoSD1SKDE3LHcpKSYmSFtILmxlbmd0aC0xXT09R3x8WDModywxNyxbRyYyNTVdKSk6WDModywzMDEsWzk1XSksWDModywzNjEsRihMLmxlbmd0aCwyKS5jb25jYXQoTCksNTEpfWZpbmFsbHl7dy5SPXh9YnJlYWt9fSxZej1mdW5jdGlvbih3LFUpe3doaWxlKHRydWUpe3JldHVybiBBUC5jYWxsKHRoaXMsNDIsdyxVKTtpZihmYWxzZSE9bnVsbClicmVha319LFZpPXUoIm9iamVjdCIsMjAsMCwiTWF0aCIsdGhpcykscT0odVkoMCw4LDEsIi4iLG51bGwsIlN5bWJvbCIsZnVuY3Rpb24odyxVLEEsUyxiLHope2ZvcihiPTY0O2IhPTgxOyl7aWYoYj09NTUpcmV0dXJuIHoucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTnd9LFU9ImpzY29tcF9zeW1ib2xfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSsiXyIsQT0wLFM7aWYoYj09NjUpcmV0dXJuIHc7Yj09NjQ\/KHo9ZnVuY3Rpb24oTCxHKXsodGhpcy5Odz1MLGt6KSh0aGlzLCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWUsdmFsdWU6R30pfSxTPWZ1bmN0aW9uKEwsRyl7Zm9yKEc9NTA7RyE9NDY7KWlmKEc9PTUwKUc9dGhpcyBpbnN0YW5jZW9mIFM\/MTQ6NTI7ZWxzZXtpZihHPT0xNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtpZihHPT01MilyZXR1cm4gbmV3IHooVSsoTHx8IiIpKyJfIitBKyssTCl9fSxiPTM5KTpiPT0zOSYmKGI9dz82NTo1NSl9fSksdGhpc3x8c2VsZiksSlA9ImNsb3N1cmVfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCksZUcsU2g9MCx2dz1mdW5jdGlvbih3LFUsQSxTLGIseil7Zm9yKHo9MTQsYj0yNTs7KXRyeXtpZih6PT05OSlicmVhaztlbHNlIGlmKHo9PTc0KWI9ODAsVT1mdW5jdGlvbigpe30scS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixVLEEpLHEucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsVSxBKSx6PTY1O2Vsc2UgaWYoej09MTQpej1xLmFkZEV2ZW50TGlzdGVuZXImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eT84MToyNztlbHNle2lmKHo9PTI3KXJldHVybiBmYWxzZTtpZih6PT03MiliPTI1LHo9NjU7ZWxzZSBpZih6PT04MSl3PWZhbHNlLEE9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7dz10cnVlfX0pLHo9NzQ7ZWxzZSBpZih6PT02NSlyZXR1cm4gYj0yNSx3fX1jYXRjaChMKXtpZihiPT0yNSl0aHJvdyBMO2I9PTgwJiYoUz1MLHo9NzIpfX0oKSxmSD0oKCgodShZeiw0NCwyLChydy5wcm90b3R5cGVbKHJ3LnByb3RvdHlwZS51PWZhbHNlLFVsLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLlYzPXRydWV9LFVsLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD10cnVlfSxydy5wcm90b3R5cGUuRj1mdW5jdGlvbih3KXtmb3Iodz02MTt3IT0yODspdz09NjE\/dz10aGlzLlhrPzM1OjI4Onc9PTQyP3c9ODQ6dz09ODQ\/dz10aGlzLlhrLmxlbmd0aD80OToyODp3PT0zNT93PTg0Onc9PTQ5JiYodGhpcy5Yay5zaGlmdCgpKCksdz00Mil9LHJ3LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKHcpe2Zvcih3PTUwO3chPTYyOyl3PT01MD93PXRoaXMudT82MjoxOnc9PTEmJih0aGlzLnU9dHJ1ZSx0aGlzLkYoKSx3PTYyKX0sU3ltYm9sKS5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfSxVbCkpLFl6KS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih3LFUsQSxTLGIseil7Zm9yKHo9MzU7eiE9NTM7KXo9PTU4Pyh0aGlzLm9mZnNldFg9dy5vZmZzZXRYLHRoaXMub2Zmc2V0WT13Lm9mZnNldFksdGhpcy5jbGllbnRYPXcuY2xpZW50WCE9PXZvaWQgMD93LmNsaWVudFg6dy5wYWdlWCx0aGlzLmNsaWVudFk9dy5jbGllbnRZIT09dm9pZCAwP3cuY2xpZW50WTp3LnBhZ2VZLHRoaXMuc2NyZWVuWD13LnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPXcuc2NyZWVuWXx8MCx6PTQ1KTp6PT0zND8oQT13LmZyb21FbGVtZW50LHo9OTApOno9PTg5P3o9Uz09Im1vdXNlb3ZlciI\/MzQ6Mjp6PT0yP3o9Uz09Im1vdXNlb3V0Ij83Nzo5MDp6PT02MD8odGhpcy5jbGllbnRYPWIuY2xpZW50WCE9PXZvaWQgMD9iLmNsaWVudFg6Yi5wYWdlWCx0aGlzLmNsaWVudFk9Yi5jbGllbnRZIT09dm9pZCAwP2IuY2xpZW50WTpiLnBhZ2VZLHRoaXMuc2NyZWVuWD1iLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWIuc2NyZWVuWXx8MCx6PTQ1KTp6PT05MD8odGhpcy5yZWxhdGVkVGFyZ2V0PUEsej0zOCk6ej09MzU\/KFM9dGhpcy50eXBlPXcudHlwZSxiPXcuY2hhbmdlZFRvdWNoZXMmJncuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP3cuY2hhbmdlZFRvdWNoZXNbMF06bnVsbCx0aGlzLnRhcmdldD13LnRhcmdldHx8dy5zcmNFbGVtZW50LHRoaXMuY3VycmVudFRhcmdldD1VLEE9dy5yZWxhdGVkVGFyZ2V0LHo9NjcpOno9PTc3PyhBPXcudG9FbGVtZW50LHo9OTApOno9PTY3P3o9QT85MDo4OTp6PT00NT8odGhpcy5idXR0b249dy5idXR0b24sdGhpcy5rZXlDb2RlPXcua2V5Q29kZXx8MCx0aGlzLmtleT13LmtleXx8IiIsdGhpcy5jaGFyQ29kZT13LmNoYXJDb2RlfHwoUz09ImtleXByZXNzIj93LmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PXcuY3RybEtleSx0aGlzLmFsdEtleT13LmFsdEtleSx0aGlzLnNoaWZ0S2V5PXcuc2hpZnRLZXksdGhpcy5tZXRhS2V5PXcubWV0YUtleSx0aGlzLnBvaW50ZXJJZD13LnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPXcucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT13LnN0YXRlLHRoaXMudGltZVN0YW1wPXcudGltZVN0YW1wLHRoaXMuSVE9dyx3LmRlZmF1bHRQcmV2ZW50ZWQmJll6LlYucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSx6PTUzKTp6PT0zOCYmKHo9Yj82MDo1OCl9LFl6KS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7WXouVi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLklRLnN0b3BQcm9wYWdhdGlvbj90aGlzLklRLnN0b3BQcm9wYWdhdGlvbigpOnRoaXMuSVEuY2FuY2VsQnViYmxlPXRydWV9LFl6LnByb3RvdHlwZSkucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24odyl7KHc9KFl6LlYucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSx0aGlzLklRKSx3LnByZXZlbnREZWZhdWx0KT93LnByZXZlbnREZWZhdWx0KCk6dy5yZXR1cm5WYWx1ZT1mYWxzZX0sImNsb3N1cmVfbGlzdGVuYWJsZV8iKSsoTWF0aC5yYW5kb20oKSoxRTZ8MCksWlc9ImNvbnN0cnVjdG9yIGhhc093blByb3BlcnR5IGlzUHJvdG90eXBlT2YgcHJvcGVydHlJc0VudW1lcmFibGUgdG9Mb2NhbGVTdHJpbmcgdG9TdHJpbmcgdmFsdWVPZiIuc3BsaXQoIiAiKSx5aT0wLHd3PSgoVVUucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKHcsVSxBLFMsYil7cmV0dXJuIGI9KEE9KFM9VSE9PXZvaWQgMCx3KSE9PXZvaWQgMCk\/dy50b1N0cmluZygpOiIiLGhIKHRydWUsZmFsc2UsNTcsdGhpcy5aLGZ1bmN0aW9uKHosTCxHKXtmb3IoRz05ODtHIT04MzspaWYoRz09OTgpTD0wLEc9MTQ7ZWxzZSBpZihHPT0xNClHPTUyO2Vsc2UgaWYoRz09MzUpKytMLEc9NTI7ZWxzZSBpZihHPT00NylHPUEmJnpbTF0udHlwZSE9Ynx8UyYmeltMXS5jYXB0dXJlIT1VPzM1Ojk5O2Vsc2V7aWYoRz09NjgpcmV0dXJuIGZhbHNlO2lmKEc9PTk5KXJldHVybiB0cnVlO0c9PTUyJiYoRz1MPHoubGVuZ3RoPzQ3OjY4KX19KX0sVVUucHJvdG90eXBlKS5IZT0oKFVVLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0sSCl7Zm9yKEg9NDQ7SCE9NjI7KXtpZihIPT0xKXJldHVybiB6O0g9PTMyPyh6Lmc2PWZhbHNlLEg9MSk6SD09NDQ\/KE09dy50b1N0cmluZygpLEw9dGhpcy5aW01dLEg9NDApOkg9PTM\/KEw9dGhpcy5aW01dPVtdLHRoaXMudEYrKyxIPTE0KTpIPT00Mz9IPUc+LTE\/NDU6NzY6SD09NDU\/KHo9TFtHXSxIPTcwKTpIPT03Nj8oej1uZXcgTTEodGhpcy5zcmMsVSwhIVMsTSxiKSx6Lmc2PUEsTC5wdXNoKHopLEg9MSk6SD09MTQ\/KEc9RlQoNjAsMywwLGIsTCxVLFMpLEg9NDMpOkg9PTQwP0g9TD8xNDozOkg9PTcwJiYoSD1BPzE6MzIpfX0sVVUpLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHKXtmb3IoRz00MjtHIT0yOyl7aWYoRz09MzQpcmV0dXJuIGZhbHNlO2lmKEc9PTY0KUc9YiBpbiB0aGlzLlo\/MTg6NjA7ZWxzZSBpZihHPT00MiliPXcudG9TdHJpbmcoKSxHPTY0O2Vsc2V7aWYoRz09NjApcmV0dXJuIGZhbHNlO2lmKEc9PTQpT1UoMSwxMSx0cnVlLExbel0pLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChMLHosMSksRz05MjtlbHNlIGlmKEc9PTkyKUc9TC5sZW5ndGg9PTA\/MzE6OTk7ZWxzZSBpZihHPT01MClHPXo+LTE\/NDozNDtlbHNle2lmKEc9PTk5KXJldHVybiB0cnVlO0c9PTE4PyhMPXRoaXMuWltiXSx6PUZUKDYwLDYsMCxTLEwsVSxBKSxHPTUwKTpHPT0zMSYmKGRlbGV0ZSB0aGlzLlpbYl0sdGhpcy50Ri0tLEc9OTkpfX19fSxmdW5jdGlvbih3LFUsQSxTLGIseil7aWYoej10aGlzLlpbQS50b1N0cmluZygpXSwhW109PTApYj0tMTtyZXR1cm4geiYmKGI9RlQoNjAsNSwwLFMseix3LFUpKSxiPi0xP3pbYl06bnVsbH0pLCJjbG9zdXJlX2xtXyIpKyhNYXRoLnJhbmRvbSgpKjFFNnwwKSxkdz17fSxCdz0wLFRXPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7KCgoVD0oKHUoTkgsNDYsMixydyksTkgucHJvdG90eXBlKVtmSF09dHJ1ZSxOSCkucHJvdG90eXBlLFQuVDY9ZnVuY3Rpb24odyl7dGhpcy5oRj13fSxULmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odyxVLEEsUyl7dVkoZmFsc2UsMjgsbnVsbCx3LFUsUyx0aGlzLEEpfSxUKS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHcsVSxBLFMpe2xZKDY0LG51bGwsMCxVLHcsQSx0aGlzLFMpfSxULmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0sSCxKLGcpe3tnPTIzO3doaWxlKGchPTg5KWlmKGc9PTk4KUgudGFyZ2V0PUgudGFyZ2V0fHxNLGc9NzY7ZWxzZSBpZihnPT05NCl6PXouaEYsZz04NTtlbHNlIGlmKGc9PTIyKWc9Sj83OjE3O2Vsc2UgaWYoZz09MjcpZz1KPzQzOjc4O2Vsc2V7aWYoZz09MTcpcmV0dXJuIFU7Zz09MjU\/Zz1IIGluc3RhbmNlb2YgVWw\/OTg6ODM6Zz09OTc\/KEg9bmV3IFVsKEgsTSksZz03Nik6Zz09NDk\/Zz0xMjpnPT01Nj8oTC0tLGc9MTIpOmc9PTg1P2c9ej82MTozOTpnPT01Nz8oYj1bXSxnPTIpOmc9PTc2PyhVPXRydWUsZz0yNyk6Zz09ODM\/KEc9SCxIPW5ldyBVbChBLE0pLGFJKEgsRyksZz03Nik6Zz09Nzg\/Zz1ILlYzPzIyOjk2Omc9PTU1P2c9dHlwZW9mIEg9PT0ic3RyaW5nIj85NzoyNTpnPT0yP2c9ODU6Zz09Mzk\/KEg9dyxBPUgudHlwZXx8SCxNPXRoaXMuYzYsSj1iLGc9NTUpOmc9PTQ1PyhMKyssZz03OSk6Zz09NDA\/KFM9SC5jdXJyZW50VGFyZ2V0PUpbTF0sVT11WSgwLDE5LGZhbHNlLEEsSCxTKSYmVSxnPTQ1KTpnPT03PyhMPTAsZz03MCk6Zz09OTY\/KFM9SC5jdXJyZW50VGFyZ2V0PU0sVT11WSgwLDIyLHRydWUsQSxILFMpJiZVLEguVjN8fChVPXVZKDAsMjEsZmFsc2UsQSxILFMpJiZVKSxnPTIyKTpnPT0yMz8oej10aGlzLmhGLGc9MjYpOmc9PTQzPyhMPUoubGVuZ3RoLTEsZz00OSk6Zz09Nzk\/Zz0hSC5WMyYmTDxKLmxlbmd0aD80MDoxNzpnPT03MD9nPTc5Omc9PTY2PyhTPUguY3VycmVudFRhcmdldD1KW0xdLFU9dVkoMCwyMCx0cnVlLEEsSCxTKSYmVSxnPTU2KTpnPT02MT8oYi5wdXNoKHopLGc9OTQpOmc9PTI2P2c9ej81NzozOTpnPT0xMiYmKGc9IUguVjMmJkw+PTA\/NjY6NzgpfX19LFQpLkY9ZnVuY3Rpb24oKXsoTkguVi5GLmNhbGwodGhpcyksdGhpcykuTiYmakcodHJ1ZSw2NywwLHRoaXMuTiksdGhpcy5oRj1udWxsfSxULkhlPWZ1bmN0aW9uKHcsVSxBLFMpe3JldHVybiB0aGlzLk4uSGUodyxVLFN0cmluZyhBKSxTKX0sVCkuaGFzTGlzdGVuZXI9ZnVuY3Rpb24odyxVKXtyZXR1cm4gdGhpcy5OLmhhc0xpc3RlbmVyKHchPT12b2lkIDA\/U3RyaW5nKHcpOnZvaWQgMCxVKX07dmFyIFhUO2lmKCgoKFQ9KCJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIikuY29uY2F0KFsiQlVUVE9OIiwiSU5QVVQiXSksdEgpLnByb3RvdHlwZSxULkM9ZnVuY3Rpb24odyl7cmV0dXJuIHR5cGVvZiB3PT09InN0cmluZyI\/dGhpcy5Gay5nZXRFbGVtZW50QnlJZCh3KTp3fSxULmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKHcsVSl7cmV0dXJuKFV8fHRoaXMuRmspLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyh3KSl9LFQuY3JlYXRlRWxlbWVudD1mdW5jdGlvbih3LFUsQSl7cmV0dXJuKChVPXRoaXMuRmssQT1TdHJpbmcodyksVSkuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKEE9QS50b0xvd2VyQ2FzZSgpKSxVKS5jcmVhdGVFbGVtZW50KEEpfSxUKS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbih3KXtyZXR1cm4gdGhpcy5Gay5jcmVhdGVUZXh0Tm9kZShTdHJpbmcodykpfSxULmFwcGVuZENoaWxkPWZ1bmN0aW9uKHcsVSl7dy5hcHBlbmRDaGlsZChVKX0sVC5hcHBlbmQ9ZnVuY3Rpb24odyxVKXtBUCgzMCxudWxsLCJhcnJheSIsMCwiIixhcmd1bWVudHMsdyx3Lm5vZGVUeXBlPT05P3c6dy5vd25lckRvY3VtZW50fHx3LmRvY3VtZW50KX0sVCkuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKHcsVSl7e1U9NjQ7d2hpbGUoVSE9MTkpaWYoVT09NjQpVT13Lm5vZGVUeXBlIT0xPzg5OjYyO2Vsc2V7aWYoVT09ODkpcmV0dXJuIGZhbHNlO2lmKFU9PTYyKXtzd2l0Y2gody50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfX19fSxULnJlbW92ZU5vZGU9SzEsVCkuY29udGFpbnM9ZnVuY3Rpb24odyxVLEEsUyl7e1M9NDU7d2hpbGUoUyE9NzEpaWYoUz09NDUpUz13JiZVPzQ2OjQ3O2Vsc2UgaWYoUz09NjkpUz03NztlbHNle2lmKFM9PTM0KXJldHVybiB3PT1VfHwhIShBPXcuY29tcGFyZURvY3VtZW50UG9zaXRpb24oVSksMzQrfihBfDE2KS0ofkFeMTYpKzIqKEF8LTE3KSk7aWYoUz09NDcpcmV0dXJuIGZhbHNlO2lmKFM9PTk0KXJldHVybiBVPT13O2lmKFM9PTgpcmV0dXJuIHc9PVV8fHcuY29udGFpbnMoVSk7Uz09NjM\/Uz03NzpTPT00Nj9TPXcuY29udGFpbnMmJlUubm9kZVR5cGU9PTE\/ODo1MDpTPT01MD9TPXR5cGVvZiB3LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIj8zNDo2OTpTPT01Mj8oVT1VLnBhcmVudE5vZGUsUz02Myk6Uz09NzcmJihTPVUmJnchPVU\/NTI6OTQpfX19LCJrIilwKDM2LG4xKTsoKFQ9KHUoSEEsKChuMS5wcm90b3R5cGUuWCQ9IiIsbjEpLnByb3RvdHlwZS5MTz0wLDYpLDIsTkgpLEhBLnByb3RvdHlwZSksVC55MD1uMS5jZSgpLFQpLkM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UfSxULmdldFBhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZvfSxUKS5SUT1mdW5jdGlvbigpe3RoaXMuQmU9ISgodVkodGhpcyw0OCxmdW5jdGlvbih3KXt3aGlsZShbXSlpZih3LkJlJiZ3LlJRKCksdHJ1ZSlicmVha30pLHRoaXMpLlpfJiZqRyh0cnVlLDY2LDAsdGhpcy5aXyksMSl9LFQuRj1mdW5jdGlvbih3KXtmb3Iodz00Mjt3IT01Mzspdz09NDI\/KHRoaXMuQmUmJnRoaXMuUlEoKSx3PTYxKTp3PT05Mj8odVkodGhpcyw0OSxmdW5jdGlvbihVKXtVLmRpc3Bvc2UoKX0pLCF0aGlzLnJoJiZ0aGlzLlQmJksxKHRoaXMuVCksdGhpcy5mbz10aGlzLlQ9dGhpcy5HNj10aGlzLm1xPW51bGwsSEEuVi5GLmNhbGwodGhpcyksdz01Myk6dz09NjE\/dz10aGlzLlpfPzg2OjkyOnc9PTg2JiYodGhpcy5aXy5kaXNwb3NlKCksZGVsZXRlIHRoaXMuWl8sdz05Mil9LFQuVDY9ZnVuY3Rpb24odyxVKXtmb3IoVT03MztVIT05OTspaWYoVT09NjQpSEEuVi5UNi5jYWxsKHRoaXMsdyksVT05OTtlbHNle2lmKFU9PTM3KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO1U9PTczJiYoVT10aGlzLmZvJiZ0aGlzLmZvIT13PzM3OjY0KX19LFQucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0sSCxKLGcsVyl7e1c9ODA7d2hpbGUoVyE9NDkpaWYoVz09MjEpZz10aGlzLm1xLGI9KGchPT1udWxsJiZNIGluIGc\/Z1tNXTp2b2lkIDApfHxudWxsLFc9NDtlbHNlIGlmKFc9PTE1KVc9dz80Mzo2ODtlbHNlIGlmKFc9PTgyKXouZm89bnVsbCxIQS5WLlQ2LmNhbGwoeixudWxsKSxXPTE1O2Vsc2UgaWYoVz09MTYpYj1udWxsLFc9NDtlbHNlIGlmKFc9PTEyKVc9KEw9dy53aCk\/NjQ6NTtlbHNlIGlmKFc9PTQpdz1iLFc9NzI7ZWxzZSBpZihXPT02NClKPUwsVz0zOTtlbHNlIGlmKFc9PTcyKVc9TSYmdz82NzoxNTtlbHNlIGlmKFc9PTg1KXo9dyxXPTk4O2Vsc2UgaWYoVz09OTgpVz16PT1udWxsPzI1OjgyO2Vsc2UgaWYoVz09NjcpQT10aGlzLm1xLE0gaW4gQSYmZGVsZXRlIEFbTV0sUnooMjgsNzIsMCx3LHRoaXMuRzYpLFc9Mjk7ZWxzZSBpZihXPT01KVM9dyxHPXcueTAsSD1HLlgkKyI6IisoRy5MTysrKS50b1N0cmluZygzNiksTD1TLndoPUgsVz02NDtlbHNlIGlmKFc9PTM5KU09SixXPTg7ZWxzZXtpZihXPT02OCl0aHJvdyBFcnJvcigiQ2hpbGQgaXMgbm90IGluIHBhcmVudCBjb21wb25lbnQiKTtpZihXPT04MClXPXc\/ODY6MTU7ZWxzZSBpZihXPT04KVc9dGhpcy5tcSYmTT8yMToxNjtlbHNle2lmKFc9PTI1KXRocm93IEVycm9yKCJVbmFibGUgdG8gc2V0IHBhcmVudCBjb21wb25lbnQiKTtpZihXPT0yOSlXPVU\/NjY6ODU7ZWxzZSBpZihXPT02Nil3LlJRKCksdy5UJiZLMSh3LlQpLFc9ODU7ZWxzZSBpZihXPT05MSlKPXcsVz0zOTtlbHNlIGlmKFc9PTg2KVc9dHlwZW9mIHc9PT0ic3RyaW5nIj85MToxMjtlbHNlIGlmKFc9PTQzKXJldHVybiB3fX19fTt2YXIgVW4sQWE9e2J1dHRvbjoicHJlc3NlZCIsY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtOiJzZWxlY3RlZCIsbWVudWl0ZW1jaGVja2JveDoiY2hlY2tlZCIsbWVudWl0ZW1yYWRpbzoiY2hlY2tlZCIscmFkaW86KFQ9KHAoMzcsa1cpLGtXKS5wcm90b3R5cGUsVC5rTT1mdW5jdGlvbih3KXtyZXR1cm4gdy5DKCl9LCJjaGVja2VkIiksdGFiOiJzZWxlY3RlZCIsdHJlZWl0ZW06InNlbGVjdGVkIn0sem09KChwKDMyLCh1KEMxLDEyLDIsKFQuc1g9KFQucUk9KFQudj1mdW5jdGlvbih3LFUsQSxTLGIseixMKXtmb3IoTD02NDtMIT0zMjspTD09NDc\/KHo9dGhpcy5SYSgpLHoucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLk9YPXsxOnorIi1kaXNhYmxlZCIsMjp6KyItaG92ZXIiLDQ6eisiLWFjdGl2ZSIsODp6KyItc2VsZWN0ZWQiLDE2OnorIi1jaGVja2VkIiwzMjp6KyItZm9jdXNlZCIsNjQ6eisiLW9wZW4ifSxMPTgwKTpMPT04MD8oKGI9dGhpcy5PWFt3XSkmJnRoaXMucUkoVSxiLEEpLHRoaXMuc1goUyx3LEEpLEw9MzIpOkw9PTY0PyhTPVUuQygpLEw9NzEpOkw9PTcxP0w9Uz84OjMyOkw9PTgmJihMPXRoaXMuT1g\/ODA6NDcpfSxULlJhPWZ1bmN0aW9uKCl7cmV0dXJuImdvb2ctY29udHJvbCJ9LGZ1bmN0aW9uKHcsVSxBLFMpeyhTPXcuQz93LkMoKTp3KSYmKEE\/T2w6dzEpKFMsW1VdKX0pLGZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyl7KEw9KCh6PXcuZ2V0QXR0cmlidXRlKChHPShVbnx8KFVuPXsxOiJkaXNhYmxlZCIsODoic2VsZWN0ZWQiLDE2OiJjaGVja2VkIiw2NDoiZXhwYW5kZWQifSksVW5bVV0pLCJyb2xlIikpfHxudWxsKT8oUz1BYVt6XXx8RyxiPUc9PSJjaGVja2VkInx8Rz09InNlbGVjdGVkIj9TOkcpOmI9RyxiKSkmJmpHKCJhdG9taWMiLDUsImxpdmUiLEEsTCx3KX0pLFQub1E9ZnVuY3Rpb24odyxVLEEsUyxiLHosTCxHLE0pe2ZvcihHPTIwLE09NjM7Oyl0cnl7aWYoRz09NTgpYnJlYWs7ZWxzZSBHPT05Mz8oei50YWJJbmRleD0wLEc9NTgpOkc9PTI1P0c9KFM9QS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzU3OjI5Okc9PTg5P0c9IVUmJncuRyYzMj84ODoyNTpHPT01Nz8oYj1BLnRhYkluZGV4LFM9dHlwZW9mIGI9PT0ibnVtYmVyIiYmYj49MCYmYjwzMjc2OCxHPTI5KTpHPT0yOT9HPVMhPVU\/NjA6NTg6Rz09MTM\/KHoudGFiSW5kZXg9LTEsei5yZW1vdmVBdHRyaWJ1dGUoInRhYkluZGV4IiksRz01OCk6Rz09Mjg\/KE09NjMsRz04Nik6Rz09ODY\/KE09NjMsRz05NSk6Rz09NDQ\/Rz1VPzkzOjEzOkc9PTIwP0c9dy5MbyYzMiYmKEE9dy5rTSgpKT84OTo1ODpHPT04OD8oTT0yMSxBLmJsdXIoKSxHPTg2KTpHPT05NT9HPXcuRyYzMj84MjoyNTpHPT04Mj8oUnooMjgsNTAsNCx3KSYmdy5zZXRBY3RpdmUoZmFsc2UpLFJ6KDI4LDQ1LDMyLHcpJiZQKDEzLDE2LDMyLHcsZmFsc2UpJiZ3LnYoZmFsc2UsMzIpLEc9MjUpOkc9PTYwJiYoej1BLEc9NDQpfWNhdGNoKEgpe2lmKE09PTYzKXRocm93IEg7TT09MjEmJihMPUgsRz0yOCl9fSxrVykpLEMxKSksQzEpLnByb3RvdHlwZS5SYT1mdW5jdGlvbigpe3JldHVybiJnb29nLWJ1dHRvbiJ9LHt9KTsoKEMxLnByb3RvdHlwZS5zWD1mdW5jdGlvbih3LFUsQSl7c3dpdGNoKFUpe2Nhc2UgODpjYXNlIDE2OmpHKCJhdG9taWMiLDMsImxpdmUiLEEsInByZXNzZWQiLHcpO2JyZWFrO2RlZmF1bHQ6Y2FzZSA2NDpjYXNlIDE6QzEuVi5zWC5jYWxsKHRoaXMsdyxVLEEpfX0sdSkoaVksMTQsMixIQSksVD1pWS5wcm90b3R5cGUsVCkua009ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ILmtNKHRoaXMpfTt3aGlsZShbXSlpZihULnY2PTAsW10hPShOdW1iZXIoKT09IVsiIl0pKWJyZWFrO1Quc2V0QWN0aXZlPWZ1bmN0aW9uKHcpe1AoMzMsMTYsNCx0aGlzLHcpJiZ0aGlzLnYodyw0KX0sVC5HPTAsVC5Mbz0zOSwoVC5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkd9LFQuTXc9KFQuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4hISh0aGlzLkcmNCl9LFQuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISh0aGlzLkcmMSl9LDI1NSksVC52PWZ1bmN0aW9uKHcsVSxBLFMsYix6LEwsRyl7e0c9NjE7d2hpbGUoRyE9OTQpRz09Nzc\/KGI9IXcsUz10aGlzLmdldFBhcmVudCgpLEc9NDgpOkc9PTQ4P0c9UyYmdHlwZW9mIFMuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhUy5pc0VuYWJsZWQoKXx8IVAoOSwxNiwxLHRoaXMsIWIpPzk0OjY0Okc9PTk3Pyh0aGlzLkgudihVLHRoaXMsdyksdGhpcy5HPXc\/KHo9dGhpcy5HLC1+eisoeiZ+VSkrKH56JlUpKyh+enxVKSk6KEw9dGhpcy5HLC0xLX5MLShMJn5+VSkpLEc9OTQpOkc9PTkxPyh0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLkgub1EodGhpcyxiKSx0aGlzLnYoIWIsMSx0cnVlKSxHPTk0KTpHPT01MT9HPXRoaXMuTG8mVSYmdyE9ISEodGhpcy5HJlUpPzk3Ojk0Okc9PTY1Pyh0aGlzLnNldEFjdGl2ZShmYWxzZSksUCgxMiwxNiwyLHRoaXMsZmFsc2UpJiZ0aGlzLnYoZmFsc2UsMiksRz05MSk6Rz09NjQ\/Rz1iPzkxOjY1Okc9PTYxJiYoRz1BfHxVIT0xPzUxOjc3KX19LFQpLnNRPShULmw9bnVsbCxULnFJPWZ1bmN0aW9uKHcsVSxBKXt7QT0yMjt3aGlsZShBIT03NilBPT04NT9BPXRoaXMubC5sZW5ndGg9PTA\/Mzk6NDI6QT09MjI\/QT1VPzI4OjMyOkE9PTMyP0E9dyYmdGhpcy5sJiZSeigyOCw3MSwwLHcsdGhpcy5sKT84NTo3NjpBPT0yOD9BPXc\/NDg6NzY6QT09NDI\/KHRoaXMuSC5xSSh0aGlzLHcsZmFsc2UpLEE9NzYpOkE9PTQ4Pyh0aGlzLmw\/RlQoNjAsNDIsMCx3LHRoaXMubCk+PTB8fHRoaXMubC5wdXNoKHcpOnRoaXMubD1bd10sdGhpcy5ILnFJKHRoaXMsdyx0cnVlKSxBPTc2KTpBPT0zOSYmKHRoaXMubD1udWxsLEE9NDIpfX0sVC5SUT1mdW5jdGlvbigpe2lmKG51bGw9PWZhbHNlPT0oaVkuVi5SUS5jYWxsKHRoaXMpLDApKXRoaXMuYmUmJnRoaXMuYmUuZGV0YWNoKCk7dGhpcy5pc1Zpc2libGUoKSYmdGhpcy5pc0VuYWJsZWQoKSYmdGhpcy5ILm9RKHRoaXMsZmFsc2UpfSwhKFQuRj0oVC5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zUX0sZnVuY3Rpb24odyl7Zm9yKHc9OTk7dyE9MDspdz09OD8oZGVsZXRlIHRoaXMuSCx0aGlzLmw9bnVsbCx3PTApOnc9PTUwP3c9dGhpcy5iZT80MTo4Onc9PTk5PyhpWS5WLkYuY2FsbCh0aGlzKSx3PTUwKTp3PT00MSYmKHRoaXMuYmUuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLmJlLHc9OCl9KSwwKSk7Zm9yKDA7dHlwZW9mIGlZIT09ImZ1bmN0aW9uIjswKXt0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitpWSk7aWYoe30pYnJlYWt9Zm9yKGZhbHNlO3R5cGVvZiBrVyE9PSJmdW5jdGlvbiI7dHJ1ZSl7dGhyb3cgRXJyb3IoIkludmFsaWQgcmVuZGVyZXIgY2xhc3MgIitrVyk7aWYoNylicmVha312YXIgSmE9cCg2LGlZKTtQdyg2NiwoKHUoUEEsMzYsMiwoKChwKDMzLCh1KENILChQdygxOCwoem1bSmFdPWtXLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBpWShudWxsKX0pLCJnb29nLWNvbnRyb2wiKSwzOCksMixDMSksQ0gpKSxDSC5wcm90b3R5cGUpLm9RPWZ1bmN0aW9uKCl7fSxDSC5wcm90b3R5cGUuc1g9ZnVuY3Rpb24oKXt9LENILnByb3RvdHlwZSkudj1mdW5jdGlvbih3LFUsQSxTLGIpe2ZvcihiPTk3O2IhPTU3OyliPT00NT9iPVMmJnc9PTE\/Nzc6NTc6Yj09OTc\/KENILlYudi5jYWxsKHRoaXMsdyxVLEEpLFM9VS5DKCksYj00NSk6Yj09NzcmJihTLmRpc2FibGVkPUEsYj01Nyl9LGlZKSksUEEpLnByb3RvdHlwZS5GPWZ1bmN0aW9uKCl7ZGVsZXRlIChQQS5WLkYuY2FsbCh0aGlzKSxkZWxldGUgdGhpcy5RMCx0aGlzKS5EcH0sZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFBBKG51bGwpfSksImdvb2ctYnV0dG9uIik7dmFyIGN3LFNHPXEucmVxdWVzdElkbGVDYWxsYmFjaz9mdW5jdGlvbih3KXtyZXF1ZXN0SWRsZUNhbGxiYWNrKGZ1bmN0aW9uKCl7dygpfSx7dGltZW91dDo0fSl9OnEuc2V0SW1tZWRpYXRlP2Z1bmN0aW9uKHcpe3NldEltbWVkaWF0ZSh3KX06ZnVuY3Rpb24odyl7c2V0VGltZW91dCh3LDApfSxzbD17cGFzc2l2ZTp0cnVlLGNhcHR1cmU6dHJ1ZX0saUI9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDUsMTEwLDExNiwxMDEsMTAzLDY3LDEwNCwxMDEsOTksMTA3LDY2LDEyMSwxMTIsOTcsMTE1LDExNSksV0E9W10sJFc9e30sYkI9W10sbEI9KFkucHJvdG90eXBlLm5vPSgoWS5wcm90b3R5cGUubEs9ZmFsc2UsWS5wcm90b3R5cGUpLnokPXZvaWQgMCwidG9TdHJpbmciKSxbXSkscEg9W10sTDE9W10sSUk9W10sR209W10sdkE9KFkucHJvdG90eXBlLkF5PXZvaWQgMCxbXSk7UXcsdFA7d2hpbGUoTmFOIT09TmFOKWlmKG51bGwhPShFbCxmYWxzZSkpYnJlYWs7dmFyICR6PSgoVD0oKGpoLGRZLGZ1bmN0aW9uKCl7fSkoQkEpLFkucHJvdG90eXBlKSxULkNPPWZ1bmN0aW9uKHcsVSxBLFMsYix6KXtyZXR1cm4gd1kuY2FsbCh0aGlzLDI0LFUsNSx3LEEsUyxiLHopfSxUKS5hYT1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcsTSl7cmV0dXJuIFd3LmNhbGwodGhpcyx3LDMsQSxVLFMsYix6LEwsRyxNKX0sJFcpLmNvbnN0cnVjdG9yLG13PShULm9hPTAsVC5HJD1mdW5jdGlvbigpe3JldHVybiBQLmNhbGwodGhpcywxNil9LFQuejY9KFkucHJvdG90eXBlLlM9ImNyZWF0ZSIsZnVuY3Rpb24odyxVLEEsUyxiLHope3JldHVybiBjLmNhbGwodGhpcyxVLHcsMjQsQSxTLGIseil9KSxULlk9KHdpbmRvdy5wZXJmb3JtYW5jZXx8e30pLm5vdz9mdW5jdGlvbigpe3JldHVybiB0aGlzLmh5K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9LHZvaWQgMCk7d2hpbGUoNilpZihULkI2PWZ1bmN0aW9uKCl7cmV0dXJuIHAuY2FsbCh0aGlzLDI5KX0sdHJ1ZSlicmVhaztUPShULlc2PWZ1bmN0aW9uKHcsVSxBLFMsYix6KXtyZXR1cm4gQVAuY2FsbCh0aGlzLDE2LHcsVSxBLFMsYix6KX0sWS5wcm90b3R5cGUpO3doaWxlKCJxIilpZihULmk9ZnVuY3Rpb24odyxVKXtyZXR1cm4gbXc9KHc9e30sVT17fSxmdW5jdGlvbigpe3JldHVybiB3PT1VPzYwOjIyfSksZnVuY3Rpb24oQSxTLGIseixMLEcsTSxILEosZyxXLHgsbSxRLGwsYSxaLGUsdixtZCxPLG4sZixNSCxFLGJZLGssZCxYLFpOLEMsb3osdCxEVyxvSSx6dSxIdyxELEIsYncsbkgsY0Epe0Q9KEI9MzUsSHc9dW5kZWZpbmVkLDkxKTt7Ync9ZmFsc2U7d2hpbGUoIVtdPT0wKXRyeXtpZihEPT00NilicmVhaztlbHNlIGlmKEQ9PTgwKVM9WC52YWx1ZSxEPTc2O2Vsc2UgaWYoRD09MTMpe2lmKE09KE89eSgzNTYsdGhpcyksdHlwZW9mIFN5bWJvbCE9InVuZGVmaW5lZCImJlN5bWJvbC5pdGVyYXRvciYmT1tTeW1ib2wuaXRlcmF0b3JdKSlEVz1NLmNhbGwoTyk7ZWxzZSBpZih0eXBlb2YgTy5sZW5ndGg9PSJudW1iZXIiKURXPXtuZXh0OndZKDI0LE8sMTUsMCl9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKE8pKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO3o9RFcsWD16Lm5leHQoKSxEPTYyfWVsc2UgaWYoRD09NzQpQj03NixEPTU1O2Vsc2UgaWYoRD09OTcpQz0iIixNSD0wLEQ9MjI7ZWxzZSBpZihEPT03MylCPTc2LGhQKHRoaXMsMTcsb0ksNiksSHc9NDYsRD0xODtlbHNlIGlmKEQ9PTc2KUI9MjgsUygpLEQ9NTU7ZWxzZSBpZihEPT01MCluSD15dygyMDQ4LDgwMDEsdGhpcyxBWzFdLDApLEh3PTI3LEQ9MTg7ZWxzZSBpZihEPT01MSlCPTc2LFZ3KDEsMjA0OCx0aGlzLDgwMDEpLEQ9MTg7ZWxzZSBpZihEPT03MSlCPTkyLG1kPWF0b2Iob3opLGJZPTAsbj1bXSxaTj0wLEQ9MzA7ZWxzZSBpZihEPT03MilEPUU+MjU1Pzg2OjMzO2Vsc2UgaWYoRD09NTIpQj0zMCxlPXkoMTM1LHRoaXMpLGUubGVuZ3RoPjAmJlgzKHRoaXMsMzA3LEYoZS5sZW5ndGgsMikuY29uY2F0KGUpLDQ4KSxZVyh0aGlzLDI3MywzMDcsRih0aGlzLk8rMT4+MSwxKSw4NyksWVcodGhpcywyNzMsMzA3LEYodGhpc1tXQV0ubGVuZ3RoLDEpKSxMPXRoaXMuamU\/SSh0aGlzLDE3KTpSKDMwMSx0aGlzKSxMLmxlbmd0aD4wJiZYMyh0aGlzLDEwNSxGKEwubGVuZ3RoLDIpLmNvbmNhdChMKSw2NCksZD15KDEwNSx0aGlzKSxkLmxlbmd0aD40JiZZVyh0aGlzLDI3MywzMDcsRihkLmxlbmd0aCwyKS5jb25jYXQoZCksNjUpLGw9MCxsLT0oeD1JKHRoaXMsMzA3KS5sZW5ndGgsMTArKHheNSktMioofngmNSkpLGwrPUkodGhpcyw0NDYpJjIwNDcsZz1JKHRoaXMsMzYxKSxnLmxlbmd0aD40JiYobC09KGI9Zy5sZW5ndGgsLTQtMip+Yi0oYl4zKS0yKihifC00KSkpLGw+MCYmWVcodGhpcywyNzMsMzA3LEYobCwyKS5jb25jYXQodFAobCkpLDUzKSxEPTY1O2Vsc2UgaWYoRD09NDIpRD1YLmRvbmU\/NDM6ODA7ZWxzZSBpZihEPT0zMyluW1pOKytdPUUsRD0xO2Vsc2UgaWYoRD09ODUpRD1DPzc4Ojk3O2Vsc2UgaWYoRD09NSlEPVE9PWJCPzI6MjE7ZWxzZSBpZihEPT0zMil0aGlzLnc2PW4sdGhpcy5CPXRoaXMudzYubGVuZ3RoPDwzLEsoWzAsMCwwXSx0aGlzLDI4MiksRD01MTtlbHNlIGlmKEQ9PTQ1KUI9NzYsdGhpcy5SPUosRD04O2Vsc2UgaWYoRD09MzgpRD1iWTxtZC5sZW5ndGg\/Mzc6MzI7ZWxzZSBpZihEPT02NCl2PVpbTUhdW3RoaXMubm9dKDE2KSx2Lmxlbmd0aD09MSYmKHY9IjAiK3YpLEMrPXYsRD05O2Vsc2UgaWYoRD09MTkpSD1BWzJdLGE9Rigoaz1JKHRoaXMsMzA3KS5sZW5ndGgsLTIqfmsrKGteMikrMioofmt8MikpLDIpLEo9dGhpcy5SLHRoaXMuUj10aGlzLEQ9NTI7ZWxzZSBpZihEPT05KU1IKyssRD04MztlbHNlIGlmKEQ9PTE2KUh3IT09dW5kZWZpbmVkPyhEPUh3LEh3PXVuZGVmaW5lZCk6RD00NjtlbHNlIGlmKEQ9PTgpRD1IdyE9PXVuZGVmaW5lZD8xODoxNztlbHNlIGlmKEQ9PTIyKUQ9ODM7ZWxzZSBpZihEPT02MSlEPWcubGVuZ3RoPjFFNj80Nzo2OTtlbHNlIGlmKEQ9PTQzKU8ubGVuZ3RoPTAsRD0xODtlbHNle2lmKEQ9PTI3KXJldHVybiBuSDtpZihEPT05NilEPVE9PXZBPzgyOjYwO2Vsc2UgaWYoRD09MzcpRT1tZC5jaGFyQ29kZUF0KGJZKSxEPTcyO2Vsc2UgaWYoRD09ODYpbltaTisrXT0oRXwyNTUpLShFJi0yNTYpLSh+RSYyNTUpLEU+Pj04LEQ9MzM7ZWxzZSBpZihEPT00MClCPTc2LFE9QVswXSxEPTk2O2Vsc2UgaWYoRD09ODIpb3o9QVsxXSxEPTcxO2Vsc2UgaWYoRD09OTQpbT1DLFIoMzA3LHRoaXMpLmxlbmd0aD1ILnNoaWZ0KCksUig1OCx0aGlzKS5sZW5ndGg9SC5zaGlmdCgpLEkodGhpcywxMDUpLmxlbmd0aD1ILnNoaWZ0KCksSSh0aGlzLDI3MykubGVuZ3RoPUguc2hpZnQoKSxSKDMzMyx0aGlzKVswXT1ILnNoaWZ0KCksSSh0aGlzLDM2MSkubGVuZ3RoPUguc2hpZnQoKSxJKHRoaXMsMTcpLmxlbmd0aD1ILnNoaWZ0KCksUigzMDEsdGhpcykubGVuZ3RoPUguc2hpZnQoKSxuSD1tLEh3PTQ5LEQ9MTg7ZWxzZXtpZihEPT00OSlyZXR1cm4gbkg7aWYoRD09NDcpZz1nLnNsaWNlKDAsMUU2KSxYMyh0aGlzLDMwNyxbXSwxOTcpLFgzKHRoaXMsMzA3LFtdLDM2KSxEPTY5O2Vsc2UgaWYoRD09NjApRD1RPT1MMT82ODowO2Vsc2UgaWYoRD09NzgpQz0iKiIrQyxEPTk0O2Vsc2UgaWYoRD09NjIpRD00MjtlbHNlIGlmKEQ9PTE3KUI9NzYsWj10UCgyKS5jb25jYXQoeSgzMDcsdGhpcykpLFpbMV09KEc9WlswXSwyKihHfDYwKSsyKn4oR3w2MCktKEd8LTYxKS0ofkd8NjApKSxaWzNdPVpbMV1eYVswXSxaWzRdPShmPVpbMV0sVz1hWzFdLC0oZnwwKSsoV3wwKSsyKihmJn5XKSksQz10aGlzLm1mKFopLEQ9ODU7ZWxzZSBpZihEPT0xKWJZKyssRD0zODtlbHNlIGlmKEQ9PTgzKUQ9TUg8Wi5sZW5ndGg\/NjQ6OTQ7ZWxzZSBpZihEPT0yKXl3KDIwNDgsQVsyXSx0aGlzLEFbMV0sMCksRD0xODtlbHNlIGlmKEQ9PTU1KVg9ei5uZXh0KCksRD00MjtlbHNlIGlmKEQ9PTE4KUI9MzUsdz10LEQ9MTY7ZWxzZSBpZihEPT05MSl0PXcsdz1VLEQ9NDA7ZWxzZSBpZihEPT02OClBWzFdLnB1c2goSSh0aGlzLDMwNykubGVuZ3RoLFIoNTgsdGhpcykubGVuZ3RoLHkoMTA1LHRoaXMpLmxlbmd0aCx5KDI3Myx0aGlzKS5sZW5ndGgsUigzMzMsdGhpcylbMF0seSgzNjEsdGhpcykubGVuZ3RoLFIoMTcsdGhpcykubGVuZ3RoLFIoMzAxLHRoaXMpLmxlbmd0aCksVig5Myx0aGlzLEFbMl0pLHRoaXMuSVs0NDRdJiZ5dygyMDQ4LDgwMDEsdGhpcyx5KDQ0NCx0aGlzKSwwKSxEPTE4O2Vsc2UgaWYoRD09MzApRD0zODtlbHNlIGlmKEQ9PTY1KUQ9Zy5sZW5ndGg+ND82MTo0NTtlbHNlIGlmKEQ9PTQ0KUQ9UT09bEI\/MTM6MTg7ZWxzZSBpZihEPT0wKUQ9UT09V0E\/MTk6NTtlbHNlIGlmKEQ9PTY5KVlXKHRoaXMsMjczLDMwNyxGKGcubGVuZ3RoLDIpLmNvbmNhdChnKSwxNjYpLEQ9NDU7ZWxzZSBpZihEPT0yMSlEPVE9PUdtPzUwOjQ0O2Vsc2UgaWYoRD09OTApdGhyb3cgY0E7fX19Y2F0Y2goRVUpe2lmKEI9PShjQT1FVSwzNSkpdGhyb3cgRVU7Qj09NzY\/KEh3PTkwLEQ9MTgpOkI9PTkyPyhvST1FVSxEPTczKTpCPT0zMD8oSHc9OTAsRD00NSk6Qj09MjgmJih6dT1FVSxEPTc0KX19fX0oKSx0cnVlKWJyZWFrO3ZhciBOMT0oVC5rRD0wLFQubWY9ZnVuY3Rpb24odyxVLEEsUyxiKXtyZXR1cm4gelcuY2FsbCh0aGlzLDIzLDcyLHcsVSxBLFMsYil9LC8uLyk7aWYoInoiKVQuZ2g9ZnVuY3Rpb24oKXtyZXR1cm4gRlQuY2FsbCh0aGlzLDYwLDEyKX07dmFyIHExLFNMPShULmpaPShULlVYPWZ1bmN0aW9uKCl7cmV0dXJuIE9VLmNhbGwodGhpcywxLDYpfSwwKSxZLnByb3RvdHlwZVtJSV09WzAsMCwxLDEsMCwxLDFdLHZBLnBvcC5iaW5kKFkucHJvdG90eXBlW0wxXSkpLGVoPShxMT1QKChOMVtZLnByb3RvdHlwZS5ub109U0wsNikse2dldDpTTH0sWS5wcm90b3R5cGUuUyksWS5wcm90b3R5cGUuSDY9dm9pZCAwLGZ1bmN0aW9uKHcsVSl7cmV0dXJuKFU9V3coImVycm9yIiwxNiwia3MiLG51bGwpKSYmdy5ldmFsKFUuY3JlYXRlU2NyaXB0KCIxIikpPT09MT9mdW5jdGlvbihBKXtyZXR1cm4gVS5jcmVhdGVTY3JpcHQoQSl9OmZ1bmN0aW9uKEEpe3JldHVybiIiK0F9fShxKSk7KGN3PXEua25pdHNhaWx8fChxLmtuaXRzYWlsPXt9KSxjdy5tKT40MHx8KGN3Lm09NDEsY3cua3M9VG0sY3cuYT1KSCksY3cuUmJnXz1mdW5jdGlvbih3LFUsQSxTLGIseixMLEcpe3JldHVyblsoRz1uZXcgWShTLFUsdyxiLEwseiksZnVuY3Rpb24oTSl7cmV0dXJuIGxZKDEwLGZhbHNlLEcsTSl9KSxmdW5jdGlvbihNKXtHLlVYKE0pfV19O30pLmNhbGwodGhpcyk7J10uam9pbignXG4nKSkpO30pLmNhbGwodGhpcyk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iNUtnWEw2STBXTXdJUVlEMU5iR2YydyI+KGZ1bmN0aW9uKCl7dmFyIHI9JzEnO3ZhciBjZT0zMDt2YXIgc2N0bT1mYWxzZTt2YXIgcD0nUmJnbGE3eVc5RVdJa3JzZ2hHSWdHUktGSk0rSjFRWTNxR2JVQ1BZSWs1NE5haXdZbUdPN3RvMkJLUlZvakZhdWF1ZnVZbGRJanhzY0JyMWJTWWNPNll1MCtXd01Qa2Q2ZlBLWi90bGJyMTFqcUV1Z2w5U3VTNHVrN2hxQ3FDdUJ5WTlkWE1tVG1lL2VQM01hSk93dC9ldStKcTQ0cVRucUc3RjhSRTFwMVR3UVZQWndlS0hZSEw2ekdVQzgvUFZjWi80M0FtaUt3TXhnd1lIK2VzcDBOME9taFRZa3pUWlNKQ0FhTWlCWUYwSFFOTlZhaFpHTGdhRmIrc3FUVjdZNC80S3c5ckI2WC9OWVRTTUpJOWMrZDE4blZwbmtrTlZ6b25SR00rbmo0RjdOQkpiUjc1Y0UrRFptWlIxSTJJL3hRdUpXN1k2R0I5WkVCSkpxTTV2SVN1c1hFNDhGSS90aGZnMkNvZzFKaUxnY2ZVdC83eEJCNTFHa0plNjBpbklqaklBZHpDUUNTZDZLOE9ZcnMzaWJGbHB6ZHRmNGZ4M3FJeklqUVFzUUxSWm1sdEg5WmhlQUY2eG5sc1VFdHp5aVZ2TDArajlPamJQTGJDaFU0TXFlNkpRSFpuSGRGL2Y2LzhBMjRENThTSlJZQ05FM0R6YXBsa1NqaHdRQkE5eHp6VGhpaUtMckZCVWljNUdJVjlhQW9OT2ZwQklxcUNwUVFJeloyUUQwYnpaTmdoemsvUUpqQVhReEVOd1k2OG9aSDZsR2xueldleDdQc1gxYzVyb3g0N3I0cHZCeVpwUmJ4aC9VRzlFQjhoOHpRUUVxSlEvdkFBeFNlandMNXdxODFZMmFmSlJkTXpsa0VOSEdtL3FCOTBPdnpZNXdPR0ZacDRhbUsvR3dJeXdVMEVmdHcwVkE1RnBOZ2hBbGFPWUNoc3RlSWF0UmhtNVZoNzJwUG1BZm81RFdZb1FoV3hkNVp5VTVOTzlnZTNJQVBNMzVIZ3Rib05QeU1KaUxPcWJaekZlMjZyVldPdzR3VnRRSU0vY0RabEJrUzZndTRsZXZwY1Z4VTcvY0J3eGRhbzV0elQzTDJVSzVUUHBPNlcwSFhqZ001cW81VXlUTFdYaFdOUUlYWHB3anNRMGlrU3ZoN1JGaXpVUnR2MThxeVFCLzhzb1JKNG1PSWc5a09vZ2ZvYyt0WWNMR0VjS1ZVZU1pTkxjaDRlTUlrYWRoTWxRNWdFWFRUc0lEaVVSQkZSKzQ2YjZ1dWY1YzFJMkRIOVJjZ2tDSmZCYkw3UkFETnJxMTkvb1puYjZWVVlqRFQ5WXhweDBwR2RoTHoxZ2ZCUUZCYi9xbUFkL01kZElYSFduWE8xNzlRb1JET2hnM2ZPZTE3cis1eDNvcnhkMGtiWDJsdlpra2JuMzZRUXpUNHFYWWlBVFlaRGVHeWwvZHZUSWFoTE1ZKytXdUxIYjFnM1RkQmJtbnRoZEpKbjI0ZlphNFJkUzY3bTZQN3hsejZaYXJKcjVja3ptdFJxbSt5bUlzc0kva3N4b2ZXY1FiVWEyaTFIN25PNW1aSXFFTGtOUUhyN3I4dHBnY01vVHk1M3pjTkh3cEp5OVUyYkNqMXJRT000UVp6ZVBvRVdwNnNYK1djWDdaNEh0UGtsTkh1Sk12b05NS205RFhlb05IRXhyZXdKSnhVV3JVNW56Ymt1YnNLVlAvWlhNT3pZK29WVStxZjRSSXBXN1Rod01FRGljTGZCOGgrMXAxNFJMY3hOMFRLTEZzVmM3TVJVRStDYkQxYUFMblMvSnc1V2NWN1N4eTNISXhTTmtpT2xGNGJRT2d5VldMVmUyaitxeC9PcGh1cGJWcE1vSkRXWTgvVWVHbzhHS1JjbEZQZEM1STJ5Z212RkxXYkFPeFV5TG5rcTdFbmJTemN1MEIzSVpQamlIa0xQb2dSMWhRY0pzaXR5dzhoYjc5d214MkpMVElhVnZ1eElRY2xQb3A2ODZJd0NQZ0tDWUE1UTUrWk11aUpHcFI4cEo3N3BxSFUzZUpXSEJuOUIxc1VnY3Y4eE9RU2VCaXNGRnJKcnlaT3FoV0tWSHczTTRiMTZSWFpSRHprNk9WaGR2L1p1b0tmdFp4SUpBVURXUE15ZlcxSTY5dm1xNUF1aW5YYUV6S1JaZjlSeDFGT0trY2VkS3pUbWJvejM4K3B6S3FoV01xb3BJT0lBa0cxd1lzT1ZBczJPcW1hQTJkb21tL0htRlNvNm9pM05zMVVxV2FndGpBSjY4ckJ2VDNsSzYrZE9GRjdjc0FSdE81NTNCTW1YVExpVnYwOVZqcnNZNU1jb1o1TnhCUVROTG11b1NLVGF1aUZ4Qzh0aTAycHBuQmNBRjU5ZDUwa1VQajhvN1BGd2pnVnRBL2VTdmJCd3VzSmtoNG1CdnZHTGF4Z3Vlc2JNVGlRd0RXb25PdHJ3NmlXVU5GVHZEY2owaTUyRGlDYzNxOThsQ1JlQWdBdWdFV1RrSnJKaC9UVjVtR29RdWxrdzUrdkpMRW9kcXhRUmFYWml2TUQvMXFxYjRzT1l1eERuSlNiL1lGMm00Y3BJTXZKQXhCSmE1WlpSajNINGhWQTVWSlZzbFk5Vjlxd0ordCtwMzB5aHFuZ1ZwZkorckpEWi9mUXdzMnhQMmFwSjhHNEpVV3hUOEt1TTd5VnVwQW1tWktuYy9Vdm1RVkR6S3BhU3RZMzBuaGdFVGhxZ1NjYXpZbHhaZDhOTnQwU01kdUNRK3RDaExlZmY3eXlBbDhsVGxMK01QQzM1R0IvUUNIQldVVFdVYUoxS094cC9qbTFEY3hTTXNIY3FrSHAwMkxxS29NNE5vV3hUTVlNY2hmRE9wM210SUh2OThvMzVkV1F5TUk3TGVBV3RYRElMYkZ0UFFSR05JMUIrcGNZS3pFYXNqbCsyaTU3OTUxRk5DZUNHMGhLdnkrVkxhTVdRdjR5ZUovMm5Mb0wwOHVJTDlBRDFzNEhjQWZSNURSeUhIRTZ2UDI3K3BSeTBvYkpPTkNzb2tPTUFMS2d1UW91WXQ0VGJIUERsUlJYWFFoMHk2RzRGcytGYThOQWM5QkJVWkptZll2T1NxRUNvNHQra0lPSE5WalkvL1lXaEhwZUdWYzRDcE91aEdZVGNkNTE5Zlp4NTd2ZEdvQmJta1puNm1CUmFBb2xCRUZVRWhvNEthbG9RRkRoQ09oZlRlL3dWcmtrOEtaME9CcEQ3QUQ1Wlp6anVXRHQzTURVaFlaLzFTdE85S2U1V3grRVNMK2t3bmhhdUxtYXdPVllWZ2xrY2NaMFVzL3lvdmZ3SDlNbjJ6NFB6MzBmUXFzVEZneEY5UjJ4b2VWcWtrT3BORUZTcVR6eHg2Wk1SL3o4c1FXQTE2Zlo0aXNDWFY3dFFQbkpaK2xpTkRYek40aVg5REw1OUluOWc4NjFVdzdybWZrOFcvdDNsZnp6eGIxYUNhT1JqSWhDYU43S2xmQnpZSHlIZ2ZyK1VmSFd2aUE1ZGFZV0ZhQTZBN3Z5clh6SjFLcmx0Qy9adFBOMkk3UlpSQlVHVS9pUXgzNkFuTWtJTVErTjlBV2psSzI0VWdVdnFQYU5zenF0Q2V5Y3RPRjc2WE9hTTJnWmxYZldPNXp1eTBKUFJramhqRllZQXJORUlGaVBzcE9HV2JFOG03SnRxczNSZ0VUWUhsY1l5akhta2p2RitVRExGL0JVemZ3K1JVbHpwWVkrMXM2ZHM0aW5scDRLeHNSNVNtSHpMNFZHNEh3WXVHKzhZaisyWWpNbXJGejR3ZUlGZ2pwcHhHQzZNbDdJb0RVWVYwVnoxVHpQWkQweHN1TFNPM2kzMHc2S2l2YlhUbSsvOUVWSEhrZ1FqckxoU2E2K2NRTkI0MDZqZjdhcTVJOVBST3VTcGZ3MWMzVXBzaXFXTFdKWW5LRmdJTWl0bm9iVktHWUJtTUZPdlZydkR6ajYyZlZaWjhSYmlYWVVxbWxMbUhVdTlkektST2p4cFA1QS9rZktTV2FuSU4yS09jNkVFR3Q4WVluSnBxQWhpQXRqaXFybzlKUXdwQ0dQTXp0K3RvM3hyMnlwUnVlWWt0ZW1RZXZmdDlCdkJ3WjYwTkxPVHM4SGJpYStJMVF1WFl1U1JrMGp0YzdXS0NRSDFHbXBsZWpTTlJvMnplQWd0VUFzeDcwNTRIZFNiN0FRbkpBQktxN2p6N2xQc0ljSU82ZGZLakJSTXZMNTRTclk0WUFjUEoyVS84QWRJQ2cyNDNKbFBEOWtpMGpjN1ZtUjYwYVQwWG9zL2F5QUNsVTVDTDlLZFJEQWt0SjRiaEo3YmgwbGZoQzd2ZEE0aVRWT2Jja1dka2hpSlBBdTJUeUdJYzB6ZEJqOUEvNCt4aEd2c1I2Z3BTN2NyTzQzOWNHOGZCZ3JONTQyK21xN3RLYlpYM2g2Q09ZRVFHb01xUGRDNFFLNVV3WDRpd2hXVk96elZydnNlbWEwUUdvZVBod2EyV3JoekY4KzJkV3lZMzN6eGpwT1F6MnZSYU5hSWwreVF4R1J3N0VVMUVmSEIzZWFVK0w0UzZuU1BXbDZyZmQvS2R1VEVKQW00ckxSWnJWTnJnd3Arc2doQVRKQ3VqMHNFSkM3YXEzdkhXZlV6K3NZaEJ1S3Q4enkveWpYWjZYT1ZPcEJURlZKaG5pL0FqRDE4bklBaVJTRldCcUpxSk5VbVVjcFVlbE9qVDdaSEFqWEZnTXYwalNsNnJjc0R0Y2RJZDBBNG9yRHNsaW9sd0E0bVhIVmFINjFBaHB5OGlQRmluQ3d4WTJYdE1OSWVISWtVSm5VM0ZMc2pKWFBkZWxuT0dtNGtXb0FObEc5dkhqTWFLdmdsemNTczd2Qjh3K3pQVjZCVHdKeVlJQXlLN3ZYYWYxL2w2ZHN1NjZiQ1N5ODF5R2U0azVvQlZ5b0xvN2FnMjdBdjd6dGpaeG5HZjNncm44UmovbkFVVTFiUFYxekpaeWhtb2Q5c29uR2J2MmdEcENXa1pvUE9CSUdFUktWNzZ6ZUtXWXJHTTJ0T1N0NG5Nc3diNmlpSGc5TXlVSm53M0o4cnNQVlRQSTUxempiOHdIRE9XY3J4em1jem0yN0szR3pPaTZ1d0dUekpST28yZzVTMVA1b3habm9uRHA3cE1nTlZ3NTBuSDVXako0K2NoUDE3UENRZXkva2poSFREd2hmTGY5eGt5WEVDd0xYRXJ4aDdoV2F4RUMzTHJwR2krT0FlZEdMMnNrK1pNVmVKUzZYUFhQNG9mc0owM0lESjdlbDJkaGtyRERzV1p2SDVReEZMbDkvTW15N2xkSjBDaUtKQlZqSnJCZFFiUFg2S2laRllUeWZtMnNyNWxWVFR2VVV1Y1BjY3pWTzQ4NDFXUFF2TmJBU3VSVWltVTREQ25veERPWXRRWTJBQlNDWWw4dDFCRmtaVUV4cUdyMjBuc01zTWxnMkJrbGdNZURQd3YvZXo1OFh0a0Y3MDZGVTVJcklEOHdZVmxSQk9mTFZJR3dWWEZYRk0vNGJUTzROMkwxeTNsZEpkaXBKYm56bWFpU0pWbEJTSnpiblVOWU53QUkyeC9xWkJHTitOV0F5K2hOWjRwaEVEUHBBV1pDOVRxSmwzREdpSUdialN2TENMbElaVDdWZCtuUVQ5MGtmNzdwUXFSbkpaZHNTTFdrQ0NvNy9YdzNzbXRoN2lPTUduWUJqTUZXM2xpMllKWXprSktzUHFvWElnaEJ2YzZERkJpZVk3NDRDK2xIaDNOcWliTFZmWVRkM0lvRmpSL1ltVjRRNVQ1dDhCVVVobWJ6WnlLSXY2YW9vOEVwbXZhdFZXWVJWd1UxM1BWN0toQWwwcHcwbm5meS9SMHZmaCttNFVSUmdWdW1MMExOQ3JGOElDcklXRGRPNHV1U3ZJYVA3ei9BUE1PVWY3TEFoNW1hbStEdmYrMi9xSmZ1ODIxdkFBdkdnNjdncms2VXhXQXFFMTJDdnAwRWJQd0VyeCsrY2V5ZUFKMVVxUVpBSnlwNkVyYXBNVE1XWjdZNUFQTHhrTzgvVERnS2ZoYzNNU1dzeFk3MytvQy8rT3h0OHkzWUVLTFJTaUxuWW9yTDdISWhqUFJNd1JmY3JqbmxMSFBUaUxLZkEzZFRlcm9Vb3NyM2xHV0xTZCtDWHA3UEpvSzE5SUxDSWdsRkltNUdCdEpGNDczczFLWGRFNEM4UVdqUmF3QjBzVGV5YUl3SHczZUJFdEdsL0dudW1uLzdOTVlpV1JFeml6b1ZzUlgwbzhTUUR1R2dWM3FTWm13SWNuZXNuOHJWMlUwcVVDckxIYU03VXNyWk1MOVpzcVMyNGZaUXpXRU5rUFhlc21pS0NzMTlLM1h1eVFScnFUSDJCZ09LTWp6NUVLVFpMdjJOdHNHTndYTHNjUkhyMWJxa2lDT1I1eG5WM2I5Tm5FUFliWllITTRhRGd0Nk5pWXF6c3VpTzhiaXhudUZUdlgvR1ZoaXFXd0ppaWxUQVdCa3BBVWhXaEJWRlFyWDA3QjdBSmNZMlUzU2RibUFwU21YZUVFQ2pyTkFaMXo4OXdOUkNLcXhRT0dCTjlUSFlCZ2QzVDA2aHBCOWhsWDhtWlMza2VBeVhIUlRlclFoeENQOVpvdnhNTHFoenN1YmNKQ21mdm9mREJNOW9tN0Vna1ErWE1hN1dMMkdVNTB4N2hXcElHR20wdmdSbUtYMXN1d0lKY3Z4R0ZZTHhtM01Yd3dLU1J1NzBISUVBdUx0T0xBbC9KdWxzSWlST3BEc1k2MkhNUTJLaXJyZTdCTUFWR3BMb1ZoQ3QvUUJLSzVlM2RsRzVBc3J0MGxJMHlOTjl6Slo2dE5Ib2tuUE9RTUNtS1Z3WGtkcE1mRTJhbXlNNW9Jc3I0aWZvRVFhU3ZxYkM4UmZrVmlxN2g5eW5EZzM4Vnp1c1cxRWRtRHRDcFNKUGQxK3dRbUdva2RxUS9vRSt3NmhCcXFheGtxZkhhNFY5L2lLMkdrd1lhYWc1TzJaWXJxVHA3T0czQU96cjFQRFlaL3VoQnUycXNTdHlZc3c1UEkrR3hyaWZENmxScGxFbnhwbVh0QUFrQ0cxeU9YWjZMeGJ6czVZMFdDTzlleXk1Y2ZvS0tuNkxVTmtQaFM5VVpRSTRyditBVnZlOFN4ZzM0RC8xaldYN1hFR0NVS2VxanU2dmJpUE45b3JWaWFzYTRWcDh5VEc2MzY4c1I4bkRwTjZ2NXJiazNEZ2c2TDRuLzhIQmQyYkRNL0lYa3RBcEVxUGExTzRuUEpuc3p2MkovTmF1MHBCaml2dWRxaTlySjhkUUJjemJNVm93OGRtalNpWGdTVVkzN3plWUlsWTRNUk9JVkdWNDBOSnVJVVNlSy83RDE0dTFtcnQrTVRsT3g2TFN6SlpEQ05vcUYvQ3V0OGNqckRHK3RYY1RjZUYwc0phZStBUEZnUmV3cjdXdFk0R2ZHbzNHeFA0N2g2TFVpd0R2OXhIWTc0Ym0zREVRcSs2aGtqV2U4YW94YUc0UmlQY1hBbGtRTW1FTVhnZlQ0VDliN2RpTS9rVWpQamZ3d3oxcG0wWkVtajJXKzBFUmF5Q1lQMmRmZDM4ZTJOc2x0STF1bUJDYlRxM3dXRllEQVlMQ2V4VXZ3d2VsaGI4d2tvVWQxeFJzUWlqcXlPT1o3Z1hwM2RtdTBSNkphbktTSi9FdTNUTnR1aU9SemppNERiM3Jsd1ZIUks1VHF5cGdkc3hvQmhhVUpFWkp4dUo2d0Z1M2FHbjFzbFo0TkFBRXAwcTBNZ2xvQmYvSFVJTStZK1l2NDBaenUzQnJCWXVsa1ZDdUtsT3JkTDk3T2o5NUEwblN2V0JCUGdHVEtaOXF1V1pibDRnWDhlWWd1TUpmV3F0WGIwOXdvU3dVM01Ta2pzTVlHWDhCQ1BSSUU1aFBXREdGRzB5NGxSL3VKa2pZVzlrdmZCL1RKbENkdGh2RThSUTZmT0MrY3ZLUG1yZVdsd0NLR3A1QWxJZU4xdFBTKzVwUERlcnIwWnZveHF1cTVtNERuZGFJYnJ5dHo3cXVsV0VwMnovV0NZbDMxRUVsQk1YNW0yR254TTdTUlZmZUlvZDdyOTA3engzVkZ5KzdRVUltSmxSS0N5R24rQ1NOdWw3ZXN3UDBVNUlycVFkS0F6MlBPR0E3dGVrekJFaGo4aklHbGd5VjllOGJjMVNsMTJsbGc3T25KdzNvY1BQNmVDMSsva3dWeUdVSHpNVWxrdHQxV1VRRy84bkJGS0M3L1IwTkhwMExnd1F0cktDNVZBVkZwSlBKckVUN3NHem9IT0RWd1QwK0hxMHBZM05yNWhRSjUzc1BlN1lmVEVmZ25PdVpUVnA2SHZHZTM2Uk5GL1BTS244WEMvaThLWmZVTllSUmF0SHcwTUdCWHc1OGY2aXpiU2xFZU5Ob2tIYU8wbG84dkxpTm5CZXFlQ0lPQWJ4Q0pQekpLVEt2M3hBeDRLR2x6bkhkblJseWZuRVB1OU9SZWhjRWE0NFlUR3U5eVUyUmJWUEEzR3BNK2gvUXhnTXN3L1dIQ1ZJWWo2Z2NYYXF4Y0Fqcy9wVVFFcHJxdGpjOTU5d093MWFGQWxKTFBSR21Wd0hmS2pINGpUZlpOa2pra0N2RGN6RFQ1SWdxWmFEenFIVm0vZGtGODdKYlpxaWlSc0ltSUorZ3VlemphTFNOTUdXU3lKZVFzUXMwQmp6a1k0OWlkaFVhTDNZZi8zL0lxTHl6UVlrSU5UaHE4WWlpeWp3NEdka1l3cmtZWFI5UUlJemhIZHp1ekVtQWdQUjhQQlFVZHluc1JnbXZLdWcyK0Q0U2htVWMvS3doc21SUU1JZWFSa3FEZ1ZkLzBRdmNoNGVNQVVESjlwb0dGa2czNVdwMVFlR2dNbUdUR1U0ekE0RzZwRzgwa00vS0JHdGlCM2tuL2VPZUJOM1RmZWExcEEzcmxoQi9mS2ZPa1ROZDVMbTc1aWlOaGl2a0JJWjBhNXpqRlNNZTRFZUxIQlhjN2g2RnRwLzVhbmZBQ1lOb1JZRmJndUVmaGNZRXFjMURSWTVjRmdVN0NGOVZsdm9nR0dQdFpqUnZ1Qm5STzNiamtuekh5ZUVEZlpyZTdRUFFydHFJbDM5UGFyZU5MWmMzMlhsS3AvcFFDWWd2L1lBTEJnV0dNRU1tZHhRTUdrc0JPVlBOdklDV3JTRVZFODAxd0h1NjNtbElFQVVDZDFLYVdqWnpIamk2Wk9KOUwrZ3VCNXZZekRvOVNTaDQveGhKMWQwbmFhZVluRU05ZGkzWTh3SVcrTVlUNlZiUWpjRVNLakY4WlJwOXdJaWpQS29Lb3c0bHBrVXFPNVBSNlFENzJQK3V4NEFPSzcwamxCOHk3YWpyRDlSNVpDOFh1NTd6NkpzaUd6TWJ2YmhjSlVXL1FrYW5LYjVCeGxNZFJaWGsvczQ5NE41U1RlS09JRGJpOUlPYWo0S2hTcjFXRDR0Y2ZxYVkxQ1dVVmxvenZLcGh6V0Fwa3pja2RtRTkxVHNpTzRjdVNQczhBQmZabkNKdy9sWVVlUm5IUEFIbUtzNlJaWTBLZWhuc01rcG9hNUZlc2hpYTJJeEVrR0Z6YUR2dys3Y2hoRzlTVWtVYUpieG4rRW81ZXpQU3AxV28rUWpmUE03Z2kzdTJ2UHBsNlc1SExWN3h2L0ZMVHNDNllQTVVDNGZWT1o3SjFtZmNlNWVPeGcrdFRrZTZnRVEwU1RDbm44aHFuQjRjTFY4N2tpZmJKcExkb0F6MU1vRVVJK1JRRC9qYkVvZUxDVlBDWTJxOG9nSVlVSFd6S3JzRElCVEJZQXdCdlhlaDVxaUZBY0VINGJtT2ZZV2NMRlRlRUlidkwxeUxCMVBjTWxhdWtpRVBCVzFPM1VPcnBpUVErMkFmbXBrRzFNYXpOMEVHVWg5QnE2TTJxV0ZkWDdpMU9xNU1PdnJ3SVljbjBQVHBLMW9NWlN5SW5GYXVKdlgyM1JZMGpOUEpUcDBJR20xOEhNMHpkYUVtUDA0NWlNRllKanBJQnFEaFEvbkV0WUhoV3laZkhlSGJIbnZGRlRPdmdsVlA1eDViWGw3UStUZTFWMkxzYnZMSHNlUDVwMlNDb0U3b1hieVlhbU1UdGxiRkZSVFVWNXZSb0RvWUVTTXNDK3dLN2RER1c2ajQzSmVDS0xMaFlKQkNIRE14N1gySmVhc3BmRHpZbE8vbitSakgyTTU4eEp5Y1FmRHB5TTJCKy9LTDhVSitIRkJpdU45ejNDOGpQS09SVkVYYm83eEp3VXM2NW9RNUhPQlM0UWtXN0t2WlV3Zm1YeU9uTUVYWnRzZml2UElIWm9QUlRUWHgrT1lWNUZyOVdEYk1BeDFLNFR6eFhpZlFkbXI5MDRRMVVrRXY3VVdqT1VPRzJuQllJTDBpVkVnUGpESFozQmF4N0o0L2NUWFl3RCtyWGlQM2h0Um5aQVA5b2dOYWtKQ1pMK1JXTWhaUVFMdFY5VXpaSzllSHZMdWlySlA1UU1JVGpYOGF4ZkhGVWFsU2xyMndHd1FvdTRxY1dnK3k5MEpVT1JjZmVJcDlxZFArZk5udFRkMkxHcGtSSmFZaTRrd2hCT1laMHp0R3dJNU15UmMyTGtuM1JnbXF5Qys3WjVKeDhsRFFLcWNnVnYzVWNDMDE2ZzBzVVZST2tKeWVjRG4vVEF0TWR4ek5qeFJBVlowVFkvTG9LOWxWK0dEV1RVYkM3MXNPbmtqaGd4M0ROS1VxM1gycGQzYUkyWnozSG1pcmtBLzZyWDE5QUJFUm5oRnZzWWNQblJzemhtRHZUaFZwMlZGaVM1SWFyaGZlbUN5dUtEV2pHdng4bWRwS0ZHNEgycDdWTFlrYmJ2Mlh1R0VBdThzdjhackpqblJTTGh2eFRQK2trWnVUQzBLWWpHQzNxRlVwNURzeVlzaUQxOFdqWGVsN3ZWbCthWlR5Y3RpNllRb09BWVZsblZhMENTUEpudURFUlFzdWR4bFVwdm5BenF2ejNQTDhDMjF4M2FsaktCNi9iVnpCcG41Tk5RbkRrazFJamtjSWY3UDFUS1lGNGFvNzFwRUZIamZZWmhzY1hzZWJ3RUdrRUwySjZ5UUxKNmdKT1NKSVJTVGhHLzM3SmY1NWdyZm4wTU1aa0ZmdW5lTGZFLzJhLzZvUVZtOXZidE9BTVhuUjJ5Q0RkUmN4UkFBb0E4V2V0Y1pzK0o3blNkZkJOdVFiTlBBL1FPczNRblJoTXpaWHVvNWRwQmNxS2hqZFVHeHhTMFprNmhwa3NKdGVMNHJTU09nZlVqZnk3cXdqVWIzUEhlbWRaN2lTQk9qcHBNaXhmOEMwM3VuZXBqKzlKcDEva2NPay96ZStSVFRha1pPYTBlcXJHVUtmSmkwcjNwNC9LaDNKRzNhS05JV3M4WXBCcUFqMmkycTNnRlN0bkxtYlZOeEp2dEtaKy9kM085R1Ira2I4SmtDQmlhNjd6ck0xTHRaRHpya0NXOGk5UEsyaExhRnAwSCtjMGtlTXFCOW5YZCtrL2JITysxV0I4ZlpJNUZheDJzSWVWdXJvUUFqTFZsd0Q5NEFkL1hQZzdNUngrUy82NE9MYUM3UzdHeEljeEpLbjVuakQ0WDRsMXhkY3F1VnBFcm1aNk55bFlxZmEvVFZMRk5TeHJTZzA4d29xZTRaUGpQaTVVallEMWViVVE5TmRhVVEwZ1RIRmMycE8zazZob3NsVkJkWFl2U1QzU3NaWnRpTzZUMU0yVlZqcFB2TTBwalUwMFhTOU05bWIvbklhQ3ZCWFFZakNxbm1ja2tQdzFvQys5bnBJR0ZycC8rZkswREVjNE5zSm40OFVJT21jaUJYWHVvVUpCakduTjJYVitCOTFSZ29iNGlZbkdOREZuWlpIWGd5TzNGandQelk4czlQeTlST2NoLzFRclNrUWM4MVpqTU5hNGlxZ3MreldmSENxdzdjSmltWkc2aHU1QXhmVGZMRTNzNmhITjEwaUZ3K2dYVkhlQUJMbDFxYmFha29DZDlYdnpGTUNkcFExZ3JvYnBhdnV0MVdPZWVzcWt0dFBFb2gvNmxoTW1pT3pwQnBuTEh0UkpyVXl4ZzRSODljTVQvRVZaWG4wY09jVkIzWGh4bnlrazhzZG03cjFJVTZERFY2Yi9kTVNPYjdUenRrdGVZd1pzeTRFWnFZb1RITHVidEtaeFM5UG5mQ3RHZ2VKalZUUXRsRGlERUFYR0pVZ0F5OWZnN2NsNHo4Rkp1MmMvNzFCQWlJMHN1ZjdNNU5GWldVTENqZGt3SVZyQmNCWVp0SzFSeDJCN21GbStKUElMbzIxajZ0Sldja3ZoajNQa1M0Q2dBMEFtZXd3ZVVGQ3pGM2w3aWNKa1BZRWdFYk5UQXFvMEppVjZiTGc5VWdDMElXY2Q0RUVoV2l3TEdOeE1hSGtTMjRJTHh2MktKeFgyY0IwOHc3QS8zOXJhbzRFSTZrbGY2TFBqbkhLaEE0ZC9RUkRVMGliaWM3dUlyOTRYK0tpZWV4SzZwZ2ZPOE1HVWdxVUpDRzJCbjRxZm9jT1BBd295dkRORUdXV05kVVFpbDBZS2x3M3RPbkNGUGViSnUydUxsc01qbm1pQmNxbTAwNWx5ZHBCcUFzMmZUbkdIR29zRDh4b29aeUFrNDJXMG9GNWFNdFdrSG9RMGFuODc4MHp4VXN5OGs2TSt3aUVFc2t2eDhlNytockpSaE9jeXdwRk5HNGg0MkZhcWt2ckw3MFphM3RxUWFXQUxENWR3S2xBajFPMVV2TWF4eCtsbWJwd1dxcnRMWXlGczlGUkxBUzBrUXMxUFRzc1pmMmhnVy9yNDFoRVRVa2xxYXI4TFFJZndRZzhYMHJXSDQ3d3BFQTI4Q0tvNXVrM1plRHRWL2lkWlhhRFJmREpnMXpvZWYyMnpJUmkxdi9YS1prb21wMFdadmVkaTF3R0xrL3FjYUJzbWMyYThRMFVFeXZ4UkdVUzhva2tOd09QbUZiNGkzVzF4cWFnaTV2dnFlSHdwZHQ4VklVeGxrU0pxR0NDY3lMUHhELy9TL2ZsMGQ3R2FqekZlNHJsSWJVVHJTZmlUYWpqbXV6QVRYWExqL3pTRC9iaVlqa1ZaM1dCVktIUk1MTUVIaVVXQWNtWUM3dmhOK3dkRlR3WjVMdmN6ckdSMm1iUEdiQi91TzRWVGNqR3hwOUYwcDJIZ0hBemVzRjdWRWxLM050eGExcTJHVWs2aWdwbGdmdEdHWjhUTlgrOG1VZ1ZkbXNmTnEvQ1JLS09ERWFXZmlMNHZwVFVCc0hrUGx1aDcvYkR5M1FlQW1xb1ZTbzVVQmlJUmg2WmVJcXRxTjhRZ0h5UDJEd2plSmFydXhWL1cwRUhtZmhIQzNnc0xCQ0dMaExHZ3NiWW1jb0J6YktnOVQ3M3ZuejRqVlErVzRWYysrdUJUa3ptNVJOeWhvTnRib0RkS2dteCtxM2lZeDNERzl5S1NEVGVkQ0VzLzBtdWpKeTc3UUkyWFg1OUVlOUZXcUJlazhrLzgxZXRLdkJmTXViMjF4ZDFuYStGQWFpc05rRG5ENWR0bEJ1RVJPT216L1RaYlRsNnFTck1vYkR0eUlKK0FJSnVSSEFvWVpHWjYrL011bDRDTW5MQ0NLTHBMcnp0ODc4N0FIWUpKNHJSYThPZ2tOTnhWbE13YnNlOGRTRFlNell1VVJHRGo2enJhYU0zQTBrRi9vUExmSGRIOUgwYURvUDJiUk1SbVFpWmVYQzNyaGRlTlNKSkxZdmtkdnlSWWsyRTdhcks4cWpwR2ZIaEN0ZTBMbUFHR01xbWVsNnY0dm04bnp1bHVtM0EzT2JLSkR6ajhpK2tSZlI1cHRNWXBMUWRUR01xL3hHb3pkOFo2TG9RbW90VWUzMHkrSjdWQkZzTXV1LzUwdDd3eUlMc2VRSFNubDZ4Tzk0Nmc3bm4wcFRNWkY2dFhycms3QXJ2VGhxZU1zL211MHZuQ0czZnU0NkFhUVFXZEJqY3NJdEJENWFHTXlFL1ZWa1Z0dWxtL1p5ZGdYSXJSTnR6bFhaQzZ4anVzYk5meXEyK21XWUFIbkxPVTVrM0JuZVZoL1JaSllCWng4YXF3NHEveDd0RjJSUDRBZXVSTDRjTHYzdVNSbk4xUno5VGp4UnlzOG1yZUVjNEFxMUNJdmtlVUoxREkvaTV5TDhZRlpxa0lnaDB5OWtnNDNzZUVkWjBWdmloaFZ3bVBIUjcrZE14OXBXdGxFYmdUOXhmWGhBOGxLUDYxeStJT2w0M0xuMlhBVXl4WDF1VVlwMkEwMTg1SjdvR1FkSG9jTjVuZVFVc1puaUNxdjJFd0pvYXhPaGQzKzhBRnE5NUl4UXhhTVhMSU1Fb2sxRE1jRVNzVW9JcmhVK3RnSnlwSlBBdzVBR1MzZ0FlWW1XT25kbXRDM1ZrcjczQkZOVTNaSzFlTEhmeVhkRXlOdFY0Y01NVnVGejZZcyt5TWJVLzBZZEt6TS9STjVIUlRybEhOV1F6TEtLZk1ib0ZLVVcwSkQwM3pMbUxKV0pCNFlJcDdDa0xnV21BcGlTaDJnbDZIaEx6RlRjSTJOWWNsQWZtWmQ0VUgrcHMyS01xSDVFUXExcEtzWHlvdFhTSVpqT3ZNcEd1Z2p1WDFmVTZSZTRMNExxcEVmUE5BRC9nNTdjT1FFYUhZTFlpOVpVRUlBS0ZvSjJXMUwzYURUNUFIOXhDL3hBbTZXT2pEdzUwZkI3OS9lbXM5OVZ0UmFKNHFYNkdtYVYrS2JNbHpqZEllNTFmaWpTL1BUNGZiL1FGMFBxT1hCM1pRcU02Q0NwMWkxbVBoTHZtQ0lDaVg3dFFXdVFFSWYzZXc2d3hYY0lRdyt1dEZnQjNBbTM5Y2tHK2IwRVo4U1lYeTZldEs2QVMrZ2JjZ29hbnJiRnRmcEpHUEV1blZNQ1Y4SW5Yc3FkTkJXdjdsczNDOXBMWGdIbWpRQUhHZWc3VXpPNDdCZURyZmF5WVM0ajN5YkdWRXpvbURIVHZveS9PN2tnd3R0d2FqM1lWQXZkeld2c1crR2VmZytEaFFuR3VDTXdvTjV4YnFRdXVuV1NBcDZyQWtZc3pTZUtGRFdBZTRtck5Fck03NXpqZng0V2l3WU0vYkF6ZWVsa2VpMkJsN2VLNjZpUVluUlc0MlJLSS9UTVFZc1RyZWtwM0dNQ2FJNGVrM2JhOWxwcnhjQUZoOFBhM3lpYWNJY1dod2lrYzZZRmVPZlhWczMwdmlJY0xaKzBjeE4vQUx1UUtvLzUrUHVuNmFtUUlWb1lnWnJCSmxyR1VPTlJIMFduUHdNekI2RmREbmtkTm9SekszSE5DcDFKaEpDR1BnVmlpL3AwUUdhZkxRUklPcUVOZ2ZxVGVFRGJKeEpmWGlYVkd3d0YyNVZ2THhOeVBCTVNhSHQzbTFCSjg0d0xEeXVNMUJTMzc3b3ljYXRMWTY1Mys4R0VXVGtFYU5XMjFEQURVOEVkaWNTQkwwTlp2cmxDYlFKN2NWTEVUbkpOTlhycE1RQThlWjB3RGNvQjYxdnFwcWZZSmhmUTdOQllKeHZWV2ljUXo0b2VjcEp6V2tEUVFXMGQ0eGhqT2ZlR01ZbzF5SjJaQTMrMGxOSi8xVlowNlRWQUpLWjdWZmFralN0VDZHbDFra085TXJmSWdXMWNoTXZxUU1jUUxCR2pXRnFGZ3gzMENmTDgvYlV2bXM1VlJYUFlYUHEweXpRL1lXTkpCT25BUkxHdVFSditJQW82M2ZHVjRTc3Y4VkEwQ0NMUnpxNEdIeTZwZ0M2WGptNllxMk1RQU1EeUY1aUNMaVNGcCtKS0dWUFJoR0lyYi9ESWpVTURtQVBZczJIMGdFZVpGS1V5d3BDSklpeTJzTStjRUlCZkNXVjB5QXJ6WWtncDJkUjYvRWxqcDlIQlp0MndEQkdKSlE0bWJKMmJwQ3ZZOVJDcVE1VFM4b0NlbFBpdFMvTk1RMEtXTWNQcGJiUDdKOHhQT0orZHR5UU0wMUdNNWc0ZmY4WXZtbi9IRDhiRER6eHRkSDJyRGlXZEcvQXovSFJQWDVWT2pCTnYvQVhTMzg1cndDYkR0NG9yQzlLc0R3VUZLaWFTSEoxUHBhVmdCVXd1SGJiYnFDalp5engxdVpoSTNmVWphS3ZnVUZzdEdnTCs3L0lGZmQvY3hJMEI0SkhRdGgxUjFXelY4ZjNBcnlZaWVSbm1WVEZjNHQ1N1hWay9GOHFHV3JKL0oxUXVWSkllKzRON3hpRDJuS1VTYzBtVmhmSEJiYzh4VGlXWDFzcTZKSWx4c0xxL3o2YVVRb0VNTkV5MFBwMkVGb1BMWkg1VGFWYnJaSmRBR3QxUXNuQkZ1SzdNRzBWTXpUZmF3MjFhOUZWWExoMjdsUmVpajNnZmV3VTFGYW5aY09EbGwxekk5TTF3K2txbnROQlhPNkFxYlJ6NU5RV1NGTzk1L2RNNkJ4bjdVdXJSVDRQUU1yTE9aSStUMkhSN245dmZyRTNtR3ljSWN1WDI2dUVVUm1reG9lQkFiY0U4dUhlK2cyMDlnSVVsS0hFSndUcmJnVWpNUHJ2TFlkTXg4RStNWktUNk9TZVBwRnZsZHdqZkM3RDk5MGh1aEJRUDJ4aFM3dEZiRkdhTnVFWmpGSUtiV1ptdXFxQS9GeW0rQWE2Zy9wUkxkMUx4RHlQNEh0S2FDRy9zV1diTFNPMXVLL2JBVE4vZnNQS2xlMCtmc29JNi9SMld6V2VyemYvOVRVbWE3OFlyWG5ZREJDWkl1YXEvaWdnUjE2ZUltQTl0TFo2R2VzWnVNZDdSTHJEbllRQjZjV05rcjJGQys5blBGek0rQi9nb1VGU0k3ZUZ0NTUvMHZueFhxbm8rSVRUVlJRZDd0YzdDbjd6T0p6cEg3bGNQbW12Y1RSdnhRRksyVmdDcEk2ai9NK3pqWEkybmlvUktqQlU5UDRpUGhmQTlyNTFNUVVaOGtWNXRUOWhtZTZMcWU5NXYwZTlRaWtJcFRrUXljRkxLK044T200TXdDV3N4QjVqZzFGeFpJQ1NzbjhDT0UxRGQ2c3JlZ2ZhVEU1QjVNQlVOZk1WSFUwUXU5NWhLdTUvbHo2Rmp0YmlndldRSEorNzZpR1ZNNVV4ajVWV3RlTUx3V2V6REZlYnJvVk1Ndmdjc05qL3F3SW9xL0d6eTdObytBcFB3M2h5Vjc1RTZ0Z0p6VmVjRmNzdnFIbmhPK3NYb3ZpV0ZiaUtIdDRvZjRKTmtMWS9qempiQ2lJMkxvbUlRblNSQms5Uk1xa1JZV2NmYjBFT3BWTGs0dkc3VVpaYkg4OUpndE5ENmd2eGRjOUtHRmZnMWJJd0w4MGFkWHhBWmxhVmFlaVVyai82R3JEaHlNWmpoWVluWlJZdTBOMHMwbTV5bmRYOUlhK2VtVzVZZGFJUHNmYXVRMjE1MDZRRVlWVHZ1QkJWOGh3Skd5R3ozbkNabS92Z3RZYjBZT1I3S09ITWl0WE9tMXJZQ2JwazRua2hHRGtGLzdLMWNLUm9hKzlqb0M2ZHNjbXZYczByOHgzLzhWaDBMTTM3L2VwOVRLUEh4a24zMzU1bm84SHRTMWtVNFFnU05tMHZDMnFnY3RmeWNONlBtVUd0TXVVMWpRUkF4ZjNTNktIME5VTTlqRmt0RE53QjlsMlZlOUNOL09zVmd3U3VxU0hTeEJwamZ1clRrMk9jeUJVdXVCVEN3c0FNYlplWGpEeEtzSlZENnEvMEZ6RFk4M2FjeVpQRU5sZ09rbzBGVW95bzJnV1M1eHFSVDZkblhYYmpYRjJCUlZZaFNud3NxL1dCQ3YxUVlvRnhGdm5BSHMrcWMxWkVpaU1KT0lITHNFUFFENUs1OE8yQmxxeHBmY0VIR0RpNGp2c3ovc2M1L1paL0UvYUs3cUxVNjFUdEF5RlFZMy9PQSt2UjZoSzRYZ2tBRGZZMkJsOFE5UXBiVDd5Q1RUL2Q0d1hIR1Bkc3plaElTcG9yNzNUMzZhZXhnOEc0Z0lUeG1GbkFYa1ZON0F0KzRNVElHVlROVmhiTjBYdk12amt3RzNBZGpQRURlQXQxYUIyUVlGOEswRk9LS3k5Z1VMU1JkTUhkMERNWmFJN3FHL3d3NVF5UmFoL3dwMFhtRjRGeUxIUVB5U01NMkl2ZUtKRktsSjRmYVBtS0dzTExnZWc5Q2dmcGx4b0czN1hjREpDcHFiUjBna1ZnTGNMZEIrTDFyN05xVXNsWlJCY3d1aDEzRnM5eEh1c2wvVndMekxkNFcxTDFNTlFtci9rdDFDbkJRYWdDTFZEeXZhMXprTzZyMEh0NTNyKzg4a2l5U0xjTTFLUHA1bHdMVjBRNC9Wc29FeWRpZXM1UDBIWXRYVktNU0RVQXZmb2FoN3Q2MytNTUh3aHRzUktVTUFQS0RXV0J1TlNTOEN4VzE4THNnYzlDQnZrK1h4UEhqLzl5VEZON2xzOVduSWRjWHh5QklHTjZEMXhRR2VvTk9Lc2d2d2FhM3c2Q0djOFE0bVVNWWRCdWdYbUZIM3I1YnpEQkhBendVVm4vWlJ6emM2eUJBYTVqa1c4K1hkZzNzenFwTCsrN0xEeU9TOTY1L1ZWZUJpTUVzaE1LdGs4WkYxTzIvWTg5aXNXSG51UHBmd0FMN2crUG5DN3cvUUZxR1Z0UjhQaTdqYjl6N2Ezd3o4YUdadzgrSmRPeTlHUDlqeE05aWtGeVRNM1pYa09hQ2owcllVcU1seEEzM09jc0ltSG9BS0NsZ1dobUtJWVlwUGErRWdLSDZpWVQyM3VMT0g5Ym92ZTlneUZSSjVLL1luVkVHZ0h5aVladWNKK0lCNVowWGkxdXpaR0ZkdXVsRGJoSVM2Tm1RMGNaejRiYk1EbXJWd3dVT3lXZGxUUEh2S0pEWjN2ZXZaVmYwVGtpMFRJUU5VVGRWdlpPbHVXOTlWbWwzRWJMaC9zNWZDUElOSE1TUDlyZzBiZElUNnlxcGpYOW9tNzRxYVNNZktqODE5TlBlUlR3c001aVpneGNGNlNOT0ljVkdWa001WlhGeWRNYUZSUG1FUTNISThzZDRuUkxZb012Q0NFeFA4eXBMdHNQTlR4SzE4YStWcnpyK2U1OGU3YkxjNVdIaEptcHdFc0RxVTVLQkNERTNwZmtMUHZRTFZBek1LSDE2Sk1aTDN1ZFJ4LzhiY3ZrZTBkU1dPd256K0tyVHF4NHV4alRyaE5XVGRIazA2VXpNRDBpMFFZQmNMSG9iQ2FScmhSalY0SnM3WkRRTUs3SW50d0w5c3dRM1h5c1JaN21GL2FrU1l2d21QUGNlaWgzWXVQVmZ2b3VvQXRadTJRbldqR2M2emF5bTkyMUpOelZLZTJiOHkxY2F5NHp0V041L29OaE92ZzZJQ0RZWmNDWU9aQW9MSVpRUmpPV2hrTy9SejdBMm5mZmRKSUxqbnBqTm1WdFJKRkd0NERIcWI0Q2JvbEdHdmc2dmt3TnQ1WnlPMkM1K25oTFo0SjJMc09JUG5qZVB2M29YaHh5eXdOK0R5WjB4bnJYVGZUODVXT3YvUVErRkhjTEthZ05PM0FiTjdVeUVsRjg1S0pnbmpKenk0OElqWW9yY08zcXVLaFowLzJMSHQ4WE5XdHpzU0kvVmRjVUVaMUdtbUo5VFJqUzBBbWs2dnhvL3Y4STNsbFZhdlJFQWxrMjhlckpITXdzSkVyQzdzb0Qxd3NkWTVjeVBNYU51a0pROGZUSlVlK2IyKzIvbFhxemRiUFYwaTVTWlEvZmluUTE1Y1lnSnhXZDBJMk9wejJOb3RjdEF5Uy9nT0c0RDZsRlhkTzlNTUcxY0I1ZXFZTFRTNGl4b2NQTmZHeUEzR3BhdXFUb2QrempyalQ5dTZoZ1JualhDSitJR2xSVkJUTGNTVW12dWQzemdTZ1x4M2RceDNkJzt2YXIgZz0na25pdHNhaWwnO3ZhciBlaWQ9J3RxTmRhUE9LRDdpaXZyMFB0NTNOT1EnO3ZhciBzc19jZ2k9ZmFsc2U7dmFyIHNwPScnO3ZhciBoYXNoZWRfcXVlcnk9Jyc7dmFyIGNicz0nJzt2YXIgdXNzdj0nJzsoZnVuY3Rpb24oKXt2YXIgcT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sdT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixkKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1kLnZhbHVlO3JldHVybiBhfSx3PWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiYSIpO30seD13KHRoaXMpLHk9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBkPXg7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBsPTA7bDxhLmxlbmd0aC0xO2wrKyl7dmFyIGY9YVtsXTtpZighKGYgaW4gZCkpYnJlYWsgYTtkPWRbZl19YT1hW2EubGVuZ3RoLTFdO2w9ZFthXTtiPWIobCk7YiE9bCYmYiE9bnVsbCYmdShkLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fSx6PWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmFbU3ltYm9sLml0ZXJhdG9yXTtpZihiKXJldHVybiBiLmNhbGwoYSk7aWYodHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpxKGEpfTt0aHJvdyBFcnJvcigiYmAiK1N0cmluZyhhKSk7fTt5KCJQcm9taXNlIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7dGhpcy5pPW51bGx9ZnVuY3Rpb24gZChjKXtyZXR1cm4gYyBpbnN0YW5jZW9mIGY\/YzpuZXcgZihmdW5jdGlvbihlKXtlKGMpfSl9aWYoYSlyZXR1cm4gYTtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGMpe2lmKHRoaXMuaT09bnVsbCl7dGhpcy5pPVtdO3ZhciBlPXRoaXM7dGhpcy5sKGZ1bmN0aW9uKCl7ZS52KCl9KX10aGlzLmkucHVzaChjKX07dmFyIGw9eC5zZXRUaW1lb3V0O2IucHJvdG90eXBlLmw9ZnVuY3Rpb24oYyl7bChjLDApfTtiLnByb3RvdHlwZS52PWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmkmJnRoaXMuaS5sZW5ndGg7KXt2YXIgYz10aGlzLmk7dGhpcy5pPVtdO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7KytlKXt2YXIgaD1jW2VdO2NbZV09bnVsbDt0cnl7aCgpfWNhdGNoKGspe3RoaXMuQShrKX19fXRoaXMuaT1udWxsfTtiLnByb3RvdHlwZS5BPWZ1bmN0aW9uKGMpe3RoaXMubChmdW5jdGlvbigpe3Rocm93IGM7fSl9O3ZhciBmPWZ1bmN0aW9uKGMpe3RoaXMuaj0wO3RoaXMubD12b2lkIDA7dGhpcy5pPVtdO3RoaXMuRD0hMTt2YXIgZT10aGlzLkEoKTt0cnl7YyhlLnJlc29sdmUsZS5yZWplY3QpfWNhdGNoKGgpe2UucmVqZWN0KGgpfX07Zi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe2Z1bmN0aW9uIGMoayl7cmV0dXJuIGZ1bmN0aW9uKG0pe2h8fChoPSEwLGsuY2FsbChlLG0pKX19dmFyIGU9dGhpcyxoPSExO3JldHVybntyZXNvbHZlOmModGhpcy5KKSxyZWplY3Q6Yyh0aGlzLnYpfX07Zi5wcm90b3R5cGUuSj1mdW5jdGlvbihjKXtpZihjPT09dGhpcyl0aGlzLnYobmV3IFR5cGVFcnJvcigiQSBQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZiIpKTtlbHNlIGlmKGMgaW5zdGFuY2VvZiBmKXRoaXMuTChjKTtlbHNle2E6c3dpdGNoKHR5cGVvZiBjKXtjYXNlICJvYmplY3QiOnZhciBlPWMhPW51bGw7YnJlYWsgYTtjYXNlICJmdW5jdGlvbiI6ZT0hMDticmVhayBhO2RlZmF1bHQ6ZT0hMX1lP3RoaXMuSShjKTp0aGlzLkMoYyl9fTtmLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGMpe3ZhciBlPXZvaWQgMDt0cnl7ZT1jLnRoZW59Y2F0Y2goaCl7dGhpcy52KGgpO3JldHVybn10eXBlb2YgZT09ImZ1bmN0aW9uIj90aGlzLk0oZSxjKTp0aGlzLkMoYyl9O2YucHJvdG90eXBlLnY9ZnVuY3Rpb24oYyl7dGhpcy5GKDIsYyl9O2YucHJvdG90eXBlLkM9ZnVuY3Rpb24oYyl7dGhpcy5GKDEsYyl9O2YucHJvdG90eXBlLkY9ZnVuY3Rpb24oYyxlKXtpZih0aGlzLmohPTApdGhyb3cgRXJyb3IoImNgIitjKyJgIitlKyJgIit0aGlzLmopO3RoaXMuaj1jO3RoaXMubD1lO3RoaXMuaj09PTImJnRoaXMuSygpO3RoaXMuRygpfTtmLnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7dmFyIGM9dGhpcztsKGZ1bmN0aW9uKCl7aWYoYy5IKCkpe3ZhciBlPXguY29uc29sZTt0eXBlb2YgZSE9PSJ1bmRlZmluZWQiJiZlLmVycm9yKGMubCl9fSwxKX07Zi5wcm90b3R5cGUuSD1mdW5jdGlvbigpe2lmKHRoaXMuRClyZXR1cm4hMTt2YXIgYz14LkN1c3RvbUV2ZW50LGU9eC5FdmVudCxoPXguZGlzcGF0Y2hFdmVudDtpZih0eXBlb2YgaD09PSJ1bmRlZmluZWQiKXJldHVybiEwO3R5cGVvZiBjPT09ImZ1bmN0aW9uIj9jPW5ldyBjKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6dHlwZW9mIGU9PT0iZnVuY3Rpb24iP2M9bmV3IGUoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KTooYz14LmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGMuaW5pdEN1c3RvbUV2ZW50KCJ1bmhhbmRsZWRyZWplY3Rpb24iLCExLCEwLGMpKTtjLnByb21pc2U9dGhpcztjLnJlYXNvbj10aGlzLmw7cmV0dXJuIGgoYyl9O2YucHJvdG90eXBlLkc9ZnVuY3Rpb24oKXtpZih0aGlzLmkhPW51bGwpe2Zvcih2YXIgYz0wO2M8dGhpcy5pLmxlbmd0aDsrK2Mpdi5qKHRoaXMuaVtjXSk7dGhpcy5pPW51bGx9fTt2YXIgdj1uZXcgYjtmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGMpe3ZhciBlPXRoaXMuQSgpO2MuQihlLnJlc29sdmUsZS5yZWplY3QpfTtmLnByb3RvdHlwZS5NPWZ1bmN0aW9uKGMsZSl7dmFyIGg9dGhpcy5BKCk7dHJ5e2MuY2FsbChlLGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGMsZSl7ZnVuY3Rpb24gaChuLHQpe3JldHVybiB0eXBlb2Ygbj09ImZ1bmN0aW9uIj9mdW5jdGlvbihCKXt0cnl7ayhuKEIpKX1jYXRjaChDKXttKEMpfX06dH12YXIgayxtLEQ9bmV3IGYoZnVuY3Rpb24obix0KXtrPW47bT10fSk7dGhpcy5CKGgoYyxrKSxoKGUsbSkpO3JldHVybiBEfTtmLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxjKX07Zi5wcm90b3R5cGUuQj1mdW5jdGlvbihjLGUpe2Z1bmN0aW9uIGgoKXtzd2l0Y2goay5qKXtjYXNlIDE6YyhrLmwpO2JyZWFrO2Nhc2UgMjplKGsubCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZGAiK2suaik7fX12YXIgaz0KdGhpczt0aGlzLmk9PW51bGw\/di5qKGgpOnRoaXMuaS5wdXNoKGgpO3RoaXMuRD0hMH07Zi5yZXNvbHZlPWQ7Zi5yZWplY3Q9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7aChjKX0pfTtmLnJhY2U9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7Zm9yKHZhciBrPXooYyksbT1rLm5leHQoKTshbS5kb25lO209ay5uZXh0KCkpZChtLnZhbHVlKS5CKGUsaCl9KX07Zi5hbGw9ZnVuY3Rpb24oYyl7dmFyIGU9eihjKSxoPWUubmV4dCgpO3JldHVybiBoLmRvbmU\/ZChbXSk6bmV3IGYoZnVuY3Rpb24oayxtKXtmdW5jdGlvbiBEKEIpe3JldHVybiBmdW5jdGlvbihDKXtuW0JdPUM7dC0tO3Q9PTAmJmsobil9fXZhciBuPVtdLHQ9MDtkbyBuLnB1c2godm9pZCAwKSx0KyssZChoLnZhbHVlKS5CKEQobi5sZW5ndGgtMSksbSksaD1lLm5leHQoKTt3aGlsZSghaC5kb25lKX0pfTtyZXR1cm4gZn0pOwp2YXIgQT10aGlzfHxzZWxmO2Z1bmN0aW9uIEUoKXtyZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZX07dmFyIEY9d2luZG93LmxvY2F0aW9uO2Z1bmN0aW9uIEcoYSl7cmV0dXJuKGE9Ri5zZWFyY2gubWF0Y2gobmV3IFJlZ0V4cCgiWz8mXSIrYSsiPShcXGQrKSIpKSk\/TnVtYmVyKGFbMV0pOi0xfWZ1bmN0aW9uIEgoKXt2YXIgYT1nb29nbGUudGltZXJzLmxvYWQ7Z29vZ2xlLmMuZ3RzP2dvb2dsZS5jLmd0cyhmdW5jdGlvbigpe0koYSl9KTpJKGEpfQpmdW5jdGlvbiBJKGEpe3ZhciBiPWEuZSxkPWdvb2dsZS5zdHZzYztkJiYoYi5zc3I9MSk7aWYoZD9kLmlzQkY6RSgpPT09MiliLmJiPTE7RSgpPT09MSYmKGIucj0xKTthOntpZih3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiYoZD13aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpLGQubGVuZ3RoIT09MCkpe2Q9ZFswXTticmVhayBhfWQ9dm9pZCAwfWlmKGQpe3ZhciBsPWQudHlwZTtsJiYoYi5udD1sKTtsPWQuZGVsaXZlcnlUeXBlO2whPW51bGwmJihiLmR0PWwpO2Q9ZC50cmFuc2ZlclNpemU7ZCE9bnVsbCYmKGIudHM9ZCl9KGQ9d2luZG93Lm5hdmlnYXRpb24pJiYoZD1kLmFjdGl2YXRpb24pJiYoZD1kLm5hdmlnYXRpb25UeXBlKSYmKGIuYW50PWQpO2I9YS5tO2lmKCFifHwhYi5wcnMpe2Q9d2luZG93Ll9jc2M9PT0iYWdzYSImJndpbmRvdy5fY3NoaWQ7bD1FKCl8fGQ\/MDpHKCJxc3VidHMiKTtsPjAmJihiPUcoImZidHMiKSxiPjAmJihhLnQuc3RhcnQ9TWF0aC5tYXgobCxiKSkpO3ZhciBmPWEudCx2PWYuc3RhcnQ7Yj17fTthLndzcnQhPT12b2lkIDAmJihiLndzcnQ9YS53c3J0KTtpZih2KWZvcih2YXIgYyBpbiBmKWlmKGMhPT0ic3RhcnQiKXt2YXIgZT1mW2NdO2JbY109Yz09PSJzZ2wiP2U6TWF0aC5tYXgoZS12LDApfWw+MCYmKGIuZ3Nhc3J0PWEudC5zdGFydC1sLGM9RygicXNkIiksYz4wJiZnb29nbGUuYy5lKCJsb2FkIiwicXNkIixTdHJpbmcoYykpLChjPWEuZmJ0cykmJihiLmdzYXNydDI9TWF0aC5tYXgobCxjKS1sKSk7RSgpfHxkfHwhYS5xc3VidHN8fChjPWEuZmJ0cykmJihiLmdzYXNydDM9TWF0aC5tYXgoYS5xc3VidHMsYyktYS5xc3VidHMpO2M9YS5lO2E9Ii9nZW5fMjA0P3M9Iitnb29nbGUuc24rIiZ0PXNnJmF0eXA9Y3NpJmVpPSIrZ29vZ2xlLmtFSSsiJnJ0PSI7ZD0iIjtmb3IoayBpbiBiKWErPSIiK2QraysiLiIrYltrXSxkPSIsIjtmb3IodmFyIGggaW4gYylhKz0KIiYiK2grIj0iK2NbaF07dmFyIGs9IiI7QS5fY3NoaWQmJihrKz0iJmNzaGlkPSIrQS5fY3NoaWQpOyhoPXdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUua09QSXx8bnVsbCkmJihrKz0iJm9waT0iK2gpO2s9YSs9azt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb249PT0iZnVuY3Rpb24iP25hdmlnYXRvci5zZW5kQmVhY29uKGssIiIpOmdvb2dsZS5sb2coIiIsIiIsayl9fTt2YXIgSj1mdW5jdGlvbigpe3ZhciBhPWxvY2F0aW9uLmhyZWY7dGhpcy5pPXRoaXMuaj0iIjt2YXIgYj1hLmluZGV4T2YoIiMiKTtiPjAmJih0aGlzLmo9YS5zdWJzdHJpbmcoYiksYT1hLnN1YnN0cmluZygwLGIpKTtiPWEuaW5kZXhPZigiPyIpO2I+MCYmKHRoaXMuaT0iJiIrYS5zdWJzdHJpbmcoYisxKSxhPWEuc3Vic3RyaW5nKDAsYikpO3RoaXMubD1hfSxMPWZ1bmN0aW9uKGEsYixkKXtLKGEsYik7YS5pPWEuaSsiJiIrYisiPSIrZH0sSz1mdW5jdGlvbihhLGIpe2EuaT1hLmkucmVwbGFjZShuZXcgUmVnRXhwKCImIitiKyI9KFteJl0rKSIsImciKSwiIil9O0oucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdGhpcy5sKyh0aGlzLmk\/Ij8iK3RoaXMuaS5zdWJzdHJpbmcoMSk6IiIpK3RoaXMuan07CnZhciBNPWZ1bmN0aW9uKGEpe3RoaXMuaT1hfTtNLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLml9O3ZhciBOPWZ1bmN0aW9uKGEpe3RoaXMuTj1hfTtmdW5jdGlvbiBPKGEpe3JldHVybiBuZXcgTihmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgUD1bTygiZGF0YSIpLE8oImh0dHAiKSxPKCJodHRwcyIpLE8oIm1haWx0byIpLE8oImZ0cCIpLG5ldyBOKGZ1bmN0aW9uKGEpe3JldHVybi9eW146XSooWy8\/I118JCkvLnRlc3QoYSl9KV0sUT0vXlxzKig\/IWphdmFzY3JpcHQ6KSg\/OltcdysuLV0rOnxbXjovPyNdKig\/OlsvPyNdfCQpKS9pO2Z1bmN0aW9uIFIoKXt2YXIgYT1BW2ddO2lmKGEpe2E9eigoMCxhLmEpKHAsZnVuY3Rpb24oKXt9LCExKSkubmV4dCgpLnZhbHVlO3ZhciBiPVthYSgpXTtyZXR1cm4gYShiKX1TKEVycm9yKCJmIikpfWZ1bmN0aW9uIGFhKCl7dmFyIGE9bG9jYXRpb24uaHJlZixiPWhhc2hlZF9xdWVyeSxkPXt9O2ImJihkLnFoPWIsKGE9KGE9YS5tYXRjaCgvWz8mXXN0YXJ0PShcZCspL2cpKT9hW2EubGVuZ3RoLTFdLm1hdGNoKC9cZCsvKVswXToiIikmJihkLnN0PWEpKTtyZXR1cm4gZH0KZnVuY3Rpb24gVCgpe3ZhciBhO2E6e2lmKHdpbmRvdy5zdCYmKGE9d2luZG93LnN0KGxvY2F0aW9uLmhyZWYpKSlicmVhayBhO2E9cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLnRpbWluZyYmcGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD9wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0OnZvaWQgMH1pZihhKXRyeXt2YXIgYjsoKGI9d2luZG93KT09bnVsbD8wOmIuc2Vzc2lvblN0b3JhZ2UpJiZ3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlaWQsU3RyaW5nKGEpKX1jYXRjaChkKXt9fWZ1bmN0aW9uIFUoKXt2YXIgYT1laWQsYj1uZXcgSjtLKGIsInNnX3NzIik7TChiLCJzZWkiLGEpO3JldHVybiBiLnRvU3RyaW5nKCl9ZnVuY3Rpb24gVihhKXt2YXIgYj1laWQsZD1uZXcgSjtMKGQsInNnX3NzIixlbmNvZGVVUklDb21wb25lbnQoYSkpO0woZCwic2VpIixiKTtXKGQudG9TdHJpbmcoKSl9CmZ1bmN0aW9uIGJhKGEpe2lmKHdpbmRvdy5wcnMpe1goInBzcnQiKTtzY3RtJiZIKCk7dmFyIGI9VSgpO3dpbmRvdy5wcnMoYixhKS5jYXRjaChmdW5jdGlvbigpe1YoYSl9KX1lbHNlIFYoYSl9ZnVuY3Rpb24gVyhhKXtYKCJwc3J0Iik7c2N0bSYmSCgpO3dpbmRvdy5wcnM\/d2luZG93LnBycyhhKS5jYXRjaChmdW5jdGlvbigpe1koYSl9KTpZKGEpfQpmdW5jdGlvbiBZKGEpe2lmKHdpbmRvdy5wcil3aW5kb3cucHIoYSk7ZWxzZXthOnt2YXIgYj1iPT09dm9pZCAwP1A6YjtpZihhIGluc3RhbmNlb2YgTSliPWE7ZWxzZXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoOysrZCl7dmFyIGw9YltkXTtpZihsIGluc3RhbmNlb2YgTiYmbC5OKGEpKXtiPW5ldyBNKGEpO2JyZWFrIGF9fWI9dm9pZCAwfX1hPWxvY2F0aW9uO2lmKGIgaW5zdGFuY2VvZiBNKWlmKGIgaW5zdGFuY2VvZiBNKWI9Yi5pO2Vsc2UgdGhyb3cgRXJyb3IoImUiKTtlbHNlIGI9US50ZXN0KGIpP2I6dm9pZCAwO2IhPT12b2lkIDAmJmEucmVwbGFjZShiKX19ZnVuY3Rpb24gUyhhKXtuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL2dlbl8yMDQ\/Y2FkPXNnX2JfZSZlPSIrYSwiIil9ZnVuY3Rpb24gWChhKXtzY3RtJiZnb29nbGUudGljaygibG9hZCIsYSl9O25hdmlnYXRvcnx8KEEubmF2aWdhdG9yPXt9KTt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb24hPT0iZnVuY3Rpb24iJiYobmF2aWdhdG9yLnNlbmRCZWFjb249ZnVuY3Rpb24oYSl7KG5ldyBJbWFnZSkuc3JjPWF9KTt3aW5kb3cub25lcnJvcj1mdW5jdGlvbihhLGIsZCxsLGYpe25hdmlnYXRvci5zZW5kQmVhY29uKCIvZ2VuXzIwND9lbXNnPSIrKGYgaW5zdGFuY2VvZiBFcnJvcj9mLm1lc3NhZ2U6YSkrIiZzcmNwZz1zZ3MmanNyPTEmanNlbD0zIil9O1goInNzdCIpO3ZhciBaO3dpbmRvdy5zZ3MmJnVzc3Y\/KFgoInNzc3QiKSxaPXdpbmRvdy5zZ3Moc3ApLnRoZW4oZnVuY3Rpb24oYSl7WCgic3NldCIpO3ImJihUKCksYmEoYSkpO3JldHVybiEwfSxmdW5jdGlvbigpe3JldHVybiExfSkpOlo9UHJvbWlzZS5yZXNvbHZlKCExKTtaLnRoZW4oZnVuY3Rpb24oYSl7aWYoIWEmJihYKCJic3N0IiksYT1SKCksWCgiYnNldCIpLGEpKXt2YXIgYj1jYnM7YT1oYXNoZWRfcXVlcnk\/IkIuMS4iK2IrIi4iK2E6YTtiPW5ldyBEYXRlO2Iuc2V0U2Vjb25kcyhiLmdldFNlY29uZHMoKSsoTnVtYmVyKGNlKXx8MzAwKSk7dmFyIGQ9IlNHX1NTPSIrYSxsPWRvY3VtZW50LmNvb2tpZS5sZW5ndGgrZC5sZW5ndGg7ciYmKGw8NDA5MyYmIXNzX2NnaSYmKGRvY3VtZW50LmNvb2tpZT1kKygiOyBleHBpcmVzPSIrYi50b1VUQ1N0cmluZygpKSksVCgpLHNzX2NnaXx8ZG9jdW1lbnQuY29va2llLmluZGV4T2YoIlNHX1NTPSIpPDA\/VihhKTpXKFUoKSkpfX0pLmNhdGNoKGZ1bmN0aW9uKGEpe1MoYSl9KTt9KS5jYWxsKHRoaXMpO30pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iNUtnWEw2STBXTXdJUVlEMU5iR2YydyI+KGZ1bmN0aW9uKCl7dmFyIGNzc0lkPSd5dmxydWUnO3ZhciBldmVudF9pZD0ndHFOZGFQT0tEN2lpdnIwUHQ1M05PUSc7ZnVuY3Rpb24gc3coKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjc3NJZCkuc2V0QXR0cmlidXRlKCdzdHlsZScsJycpO25hdmlnYXRvci5zZW5kQmVhY29uKGAvZ2VuXzIwND9jYWQ9c2dfdHJibCZlaT0ke2V2ZW50X2lkfWAsJycpO30Kc2V0VGltZW91dChzdywyMDAwKTt9KSgpOzwvc2NyaXB0PiA8ZGl2IGlkPSJ5dmxydWUiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPklmIHlvdSdyZSBoYXZpbmcgdHJvdWJsZSBhY2Nlc3NpbmcgR29vZ2xlIFNlYXJjaCwgcGxlYXNlJm5ic3A7PGEgaHJlZj0iL3NlYXJjaD9xPWFlZ2lhbithaXImYW1wO251bT0xMDAmYW1wO3NjYV9lc3Y9ZTVhMTViMWUyNTg5Yjk5OSZhbXA7cHdzPTAmYW1wO2hsPWRlJmFtcDtuZWFyPURldXRzY2hsYW5kJmFtcDtnbD1ERSZhbXA7Z2xwPTEmYW1wO2didj0xJmFtcDtlbXNnPVNHX1JFTCZhbXA7c2VpPXRxTmRhUE9LRDdpaXZyMFB0NTNOT1EiPmNsaWNrIGhlcmU8L2E+LCBvciBzZW5kJm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vd2Vic2VhcmNoIj5mZWVkYmFjazwvYT4uPC9kaXY+PC9ib2R5PjwvaHRtbD4="}