Python3_编写网络监听工具

独行   ·   发表于 2020-06-09 10:42:40   ·   安全工具
PGgyIGlkPSJoMi11NTI0RHU4QTAwIj48YSBuYW1lPSLliY3oqIAiIGNsYXNzPSJyZWZlcmVuY2UtbGluayI+PC9hPjxzcGFuIGNsYXNzPSJoZWFkZXItbGluayBvY3RpY29uIG9jdGljb24tbGluayI+PC9zcGFuPuWJjeiogDwvaDI+PHA+6K+l5paH56ug5Li76KaB5piv5o+P5YaZ5aaC5L2V5L2/55SoUHl0aG9uM+adpee8luWGmee9kee7nOebkeWQrOW3peWFt+OAguaWh+eroOWIhuS4uuS4pOS4qumDqOWIhuOAgummluWFiO+8jOWFiOesrOS4gOmDqOWIhuadpeino+ivtOmcgOimgeS9v+eUqOeahOS7o+eggeWKn+iDveS4juS9v+eUqO+8jOS4uuS6huiuqeS4jeWkqueGn+aCiVB5dGhvbjPor63oqIDnmoTmnIvlj4vog73lpJ/mm7Tlpb3nmoTpgJrov4for6Xmlofnq6DlrabkuaDjgILkuYvlkI7kvJrluKbpooblkITkvY3mnaXmlbTkvZPnvJblhpnnvZHnu5znm5HlkKzlt6XlhbfjgII8L3A+CjxoMiBpZD0iaDItLSI+PGEgbmFtZT0i56ys5LiA6YOo5YiG77yaIiBjbGFzcz0icmVmZXJlbmNlLWxpbmsiPjwvYT48c3BhbiBjbGFzcz0iaGVhZGVyLWxpbmsgb2N0aWNvbiBvY3RpY29uLWxpbmsiPjwvc3Bhbj7nrKzkuIDpg6jliIbvvJo8L2gyPjxwPjHvvJtzeXMuYXJndltdPGJyPuaIkeS7rOaDs+aDs+eci++8jOW4uOingeS9v+eUqOS4gOasvuW3peWFt+eahOaXtuWAmeaYr+S4jeaYr+aJk+W8gOaYr+i/meagt+eahOagvOW8j++8muKAnOW3peWFt+WQjeensCBb6YCJ6aG5XSBb6L6T5YWl5YaF5a65XeKAnSDpgqPkuYjnjrDlnKjpl67popjmnaXkuobjgILmiJHku6zovpPlhaXnmoTigJxb6L6T5YWl5YaF5a65XeKAneaYr+WmguS9lei/m+WFpeWIsOaIkeS7rOeahOS7o+eggeW9k+S4reWRou+8n+WcqOaIkeS7rOeahFB5dGhvbuivreiogOS4reS9v+eUqOWHveaVsHN5cy5hcmd2W13mnaXojrflj5blkb3ku6TooYzlj4LmlbDvvIjku47nqIvluo/lpJbpg6jojrflj5blj4LmlbDvvInjgII8L3A+CjxwPuOAgOOAgOaOpeS4i+adpeaIkeS7rOadpea8lOekuuS4gOS4i++8jOivpeWHveaVsOWmguS9leS9v+eUqO+8mjwvcD4KPHA+44CA44CA5oiR5Lus5p2l55yL55yL5LiL6Z2i5Luj56CB5oiR5Lus5YWI5LqG6Kej5Lul5LiL5LuW5piv5LiA5Liq5LuA5LmI57G755qE5pWw5o2u77yaPC9wPgo8cHJlPjxjb2RlIGNsYXNzPSJsYW5nLXB5dGhvbiI+I+WvvOWFpXN5c+W6kwppbXBvcnQgc3lzCiPmn6XnnItzeXMuYXJnduaYr+S7gOS5iOagt+eahOagvOW8jwpwcmludCh0eXBlKHN5cy5hcmd2KSkKPC9jb2RlPjwvcHJlPgo8cD7ov5DooYzku6PnoIHvvIzmiJHku6zlj5HnjrDlroPmmK/kuIDkuKrliJfooajvvJo8L3A+CjxwcmU+PGNvZGUgY2xhc3M9ImxhbmctcHl0aG9uIj4oU3R1ZHlpbmcpIGFhcm9uQE1pV2lGaS1SMy1zcnY6fi9QeWNoYXJtUHJvamVjdHMvU3R1ZHlpbmckIHB5dGhvbjMuNyB0ZXN0LnB5IHNkZgombHQ7Y2xhc3MgJiMzOTtsaXN0JiMzOTsmZ3Q7CjwvY29kZT48L3ByZT4KPHA+44CA44CA546w5Zyo5oiR5Lus55+l6YGT5LqGc3lzLmFyZ3bmmK/kuIDkuKrliJfooajmoLzlvI/nmoTmlbDmja7jgILpgqPkuYjvvIzmiJHku6zlpKfmpoLog73lpJ/nkIbop6PjgILmiJHku6zovpPlhaXnmoTlj4LmlbDlsIbkvJrku6XliJfooajnmoTlvaLlvI/kv53lrZjlnKjigJxzeXMuYXJnduKAneOAgumCo+S5iOaIkeS7rOWmguS9leaPkOWPluWtmOWFpeeahOWPguaVsOWRou+8n+eGn+aCieeahOaci+WPi+W3sue7j+S6huino+S6huOAguaOpeS4i+adpe+8jOaIkeS7rOadpemAmui/h+S7o+eggeadpeivtOaYjuS4gOS4i++8mjwvcD4KPHByZT48Y29kZSBjbGFzcz0ibGFuZy1weXRob24iPiPlr7zlhaVzeXPlupMKaW1wb3J0IHN5cwoj6L6T5Ye66L6T5YWl5Y+C5pWwCnByaW50KCZxdW90O+i+k+WHuuesrOS4gOS4quWPguaVsO+8miVzJnF1b3Q7ICUgc3lzLmFyZ3ZbMF0pCnByaW50KCZxdW90O+i+k+WHuuesrOS6jOS4quWPguaVsO+8miVzJnF1b3Q7ICUgc3lzLmFyZ3ZbMV0pCnByaW50KCZxdW90O+i+k+WHuuesrOS4ieS4quWPguaVsO+8miVzJnF1b3Q7ICUgc3lzLmFyZ3ZbMl0pCnByaW50KCZxdW90O+i+k+WHuuesrOWbm+S4quWPguaVsO+8miVzJnF1b3Q7ICUgc3lzLmFyZ3ZbM10pCjwvY29kZT48L3ByZT4KPHA+6L+Q6KGM5Luj56CB5oiR5Lus5Y+R546wc3lzLmFyZ3ZbMF3ooajnpLrnmoTmmK/mlofku7bmnKzouqvvvIxzeXMuYXJndlsxXSDlvIDlp4vmmK/miJHku6zovpPlhaXnmoTnrKzkuIDkvY3lj4LmlbA8L3A+CjxwcmU+PGNvZGUgY2xhc3M9ImxhbmctcHl0aG9uIj4oU3R1ZHlpbmcpIGFhcm9uQE1pV2lGaS1SMy1zcnY6fi9QeWNoYXJtUHJvamVjdHMvU3R1ZHlpbmckIHB5dGhvbjMuNyB0ZXN0LnB5IOWPguaVsDEg5Y+C5pWwMiDlj4LmlbAzCui+k+WHuuesrOS4gOS4quWPguaVsO+8mnRlc3QucHkK6L6T5Ye656ys5LqM5Liq5Y+C5pWw77ya5Y+C5pWwMQrovpPlh7rnrKzkuInkuKrlj4LmlbDvvJrlj4LmlbAyCui+k+WHuuesrOWbm+S4quWPguaVsO+8muWPguaVsDMKKFN0dWR5aW5nKSBhYXJvbkBNaVdpRmktUjMtc3J2On4vUHljaGFybVByb2plY3RzL1N0dWR5aW5nJAo8L2NvZGU+PC9wcmU+CjxwPuOAgOOAgDLvvJtnZXRvcHQuZ2V0b3B0PGJyPuOAgOOAgOeOsOWcqO+8jOaIkeS7rOW3sue7j+S6huino+S6huWmguS9leWwhuWklumDqOeahOWPguaVsOivu+WPluS7peWIl+ihqOeahOW9ouW8j+S/neWtmOS4i+adpeOAguaIkeS7rOadpeaDs+aDs+eci+WcqOaIkeS7rOi+k+WFpeeahOWPguaVsOW9k+S4reaciemAiemhuemYv++8jOmCo+ivpeaAjuS5iOWkhOeQhuWRouOAguaIkeS7rOWPr+S7peaFouaFouaPkOWPluWHuuadpeOAgumCo+i/meagt+aYr+WQpui/h+S6jue5geeQkOWRouOAguayoeacieacieS4gOenjeaWueazleiDveWkn+W4ruaIkeS7rOWkhOeQhui/meS4qumXrumimOWRouOAguetlOahiOaYr+acieeahOOAguS4i+mdouaIkeS7rOadpeeci+eci2dldG9wdC5nZXRvcHQoKeaWueazleOAgjxicj7jgIDjgIDmiJHku6zlhYjkuobop6PkuIDkuItnZXRvcHQuZ2V0b3B0KCnmlrnms5XnmoTor63ms5XvvJo8L3A+CjxwcmU+PGNvZGUgY2xhc3M9ImxhbmctcHl0aG9uIj5nZXRvcHQuZ2V0b3B0KGFyZ3Msb3B0aW9uc1ssbG9uZ19vcHRpb25zXSkKPC9jb2RlPjwvcHJlPgo8cD7jgIDlj4LmlbDor7TmmI7vvJo8L3A+CjxwPmFyZ3M6IOihqOekuumcgOimgeino+aekOeahOWRveS7pOihjOWIl+ihqDxicj5vcHRpb25z77ya5a2X56ym5Liy5qC85byP5a6a5LmJ44CC77yI5aaC5p6c6YCJ6aG55pyJ5YaS5Y+35YiZ6KGo56S66K+l6YCJ6aG55ZCO6Z2i5pyJ5Y+C5pWw77yJPGJyPmxvbmdfb3B0aW9uc++8muWIl+ihqOagvOW8j+WumuS5ieOAgu+8iOWmguaenGxvbmdfb3B0aW9uIOmAiemhueacieKAnD3igJ0g5YiZ6KGo56S66YCJ6aG55ZCO6Z2i5pyJ5Y+C5pWw77yJPGJyPuOAgOOAgOeOsOWcqOaIkeS7rOW3sue7j+efpemBk+S6huivpeaWueazleeahOS9v+eUqO+8jOS4i+mdouaIkeS7rOadpeeUqOS7o+eggeaEn+WPl+S4gOS4i+ivpeaWueazleeahOS9v+eUqDwvcD4KPHByZT48Y29kZSBjbGFzcz0ibGFuZy1weXRob24iPiPlr7zlhaVzeXPlupMKaW1wb3J0IHN5cwppbXBvcnQgZ2V0b3B0Cgoj6L6T5Ye66L6T5YWl5Y+C5pWwCmEgPSBnZXRvcHQuZ2V0b3B0KHN5cy5hcmd2WzE6XSwmIzM5O3Q6cDomIzM5OyxbJnF1b3Q7dGFyZ2V0PSZxdW90OywmcXVvdDtwb3J0PSZxdW90O10pCgpwcmludChhKQo8L2NvZGU+PC9wcmU+CjxwPuaIkeS7rOadpeWwneivlei/kOihjOS4gOS4i+S7o+egge+8jOaIkeS7rOWPkeeOsOi+k+WFpeeahO+8iOmAiemhueWSjOWRveS7pOWPguaVsO+8ieaYr+S7peWFg+e7hOeahOaVsOaNruagvOW8j+adpeS/neWtmOeahOOAgjwvcD4KPHByZT48Y29kZSBjbGFzcz0ibGFuZy1weXRob24iPihTdHVkeWluZykgYWFyb25ATWlXaUZpLVIzLXNydjp+L1B5Y2hhcm1Qcm9qZWN0cy9TdHVkeWluZyQgcHl0aG9uMy43IHRlc3QucHkgLXQgMTkyLjE2OC4xLjEgLXAgODAKKFsoJiMzOTstdCYjMzk7LCAmIzM5OzE5Mi4xNjguMS4xJiMzOTspLCAoJiMzOTstcCYjMzk7LCAmIzM5OzgwJiMzOTspXSwgW10pCihTdHVkeWluZykgYWFyb25ATWlXaUZpLVIzLXNydjp+L1B5Y2hhcm1Qcm9qZWN0cy9TdHVkeWluZyQgcHl0aG9uMy43IHRlc3QucHkgLS10YXJnZXQgMTkyLjE2OC4xLjEgLS1wb3J0IDgwCihbKCYjMzk7LS10YXJnZXQmIzM5OywgJiMzOTsxOTIuMTY4LjEuMSYjMzk7KSwgKCYjMzk7LS1wb3J0JiMzOTssICYjMzk7ODAmIzM5OyldLCBbXSkKKFN0dWR5aW5nKSBhYXJvbkBNaVdpRmktUjMtc3J2On4vUHljaGFybVByb2plY3RzL1N0dWR5aW5nJAo8L2NvZGU+PC9wcmU+CjxwPuOAgOOAgDPvvJtzb2NrZXQ8L3A+CjxwPuOAgOOAgOaIkeS7rOmDveefpemBk++8jOaIkeS7rOmcgOimgee8luWGmeeahOS7o+eggeaYr+mcgOimgemAmui/h+e9kee7nOadpeS8oOi+k+aVsOaNrueahO+8jOmCo+S5iOaIkeS7rOWmguS9lemAmui/h1B5dGhvbjPmnaXlpITnkIbov5nkuKrpl67popjlkaLjgILov5nph4zmiJHku6zpnIDopoHkvb/nlKhzb2NrZXTmqKHlnZfjgILmjqXkuIvmnaXvvIzmiJHku6zmnaXph43ngrnlhbPms6jkuIDkuIvor6XmqKHlnZfvvJo8L3A+CjxwPuOAgOOAgOWcqOi/meS5i+WJje+8jOaIkeS7rOeOsOS6huino+S4gOS4i+KAnOWll+aOpeWtl++8iHNvY2tldO+8ieKAneOAguaJgOiwk+eahOKAnOWll+aOpeWtl+KAneaYr+S4gOenjeiuoeeul+acuue9kee7nOaVsOaNrue7k+aehO+8jOS7u+S9leexu+Wei+eahOmAmuiur+W8gOWni+S5i+WJjeaYr+S4gOWumuimgeWIm+W7uuWll+aOpeWtl+OAguWll+aOpeWtl+S4u+imgeaYr+WIhuS4uuS4pOS4qumDqOWIhu+8muWfuuS6juaWh+S7tuWSjOmdouWQkee9kee7nOOAguS4i+mdouaIkeS7rOeJueWIq+ivtOaYjumdouWQkee9kee7nOeahOWll+aOpeWtl+OAguaIkeS7rOefpemBk+WcqOe9kee7nOW9k+S4re+8jOaciVRDUOi/nuaOpeWSjFVEUOmTvuaOpeOAgumdouWvueS4pOenjeS4jeWQjOeahOaWueW8j++8jOaIkeS7rOW9k+eEtumcgOimgeS4jeWQjOeahOWll+aOpeWtl+OAgjwvcD4KPHVsPgo8bGk+VENQL0lQ5aWX5o6l5a2XPHByZT48Y29kZSBjbGFzcz0ibGFuZy1weXRob24iPnRjcFNvY2sgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKPC9jb2RlPjwvcHJlPgo8L2xpPjxsaT5VRFAvSVDlpZfmjqXlrZc8cHJlPjxjb2RlIGNsYXNzPSJsYW5nLXB5dGhvbiI+dWRwU29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsc29ja2V0LlNPQ0tfREdSQU0pCjwvY29kZT48L3ByZT4K5aWX5o6l5a2X5Yib5bu65a6M5oiQ5LmL5ZCO77yM5oiR5Lus5Y+v5Lul5Yip55So5aWX5o6l5a2X5b2T5Lit55qE5pa55rOV5p2l6L+b6KGM5Y+R6YCB5pWw5o2u77yM55uR5ZCs77yM5o6l5pS25pWw5o2u77ya6K+m57uG5pa55rOV5aaC5LiL5Zu+77yaPC9saT48L3VsPgo8cD48aW1nIHNyYz0iaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMjg4OC9iZmE4ZjEzNzY4NjhkOTE1MGE2MTM2MDg2YTEwYmFmOF81NDczOS5wbmciIGFsdD0iIj48YnI+PGltZyBzcmM9Imh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzI4ODgvZWYyOGUwOTc3ZDI3NTc5MDcyNGNjZmI0YmY5MmE3NTBfMjg5NDEucG5nIiBhbHQ9IiI+PC9wPgo8cD4g44CA44CANO+8m3N1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KCk8L3A+CjxwPuOAgOOAgOaWueazleeahOS9nOeUqOaYr+aJp+ihjOaMh+WumuWRveS7pOOAgjwvcD4KPHA+44CA44CA5o6l5LiL5p2l77yM5oiR5Lus5p2l55So5a6e5L6L5p2l55yL5LiA5LiL5pWI5p6c77ya5b6I5piO5pi+77yM5oiR5Lus55qE5ZG95Luk4oCcZGYgLWjigJ3lt7Lnu4/ooqvmiafooYzjgII8L3A+CjxwcmU+PGNvZGUgY2xhc3M9ImxhbmctcHl0aG9uIj4mZ3Q7Jmd0OyZndDsgaW1wb3J0IHN1YnByb2Nlc3MKJmd0OyZndDsmZ3Q7IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KCZxdW90O2RmIC1oJnF1b3Q7LHNoZWxsPVRydWUpCmImIzM5O1x4ZTZceDk2XHg4N1x4ZTRceGJiXHhiNlx4ZTdceGIzXHhiYlx4ZTdceGJiXHg5ZiBceGU1XHhhZVx4YjlceGU5XHg4N1x4OGYgXHhlNVx4YjdceGIyXHhlN1x4OTRceGE4IFx4ZTVceDhmXHhhZlx4ZTdceDk0XHhhOCBceGU1XHhiN1x4YjJceGU3XHg5NFx4YTglIFx4ZTZceDhjXHg4Mlx4ZThceGJkXHhiZFx4ZTdceDgyXHhiOVxudWRldiAzLjlHIDAgMy45RyAwJSAvZGV2XG50bXBmcyA3OTRNIDEuNU0gNzkzTSAxJSAvcnVuXG4vZGV2L3NkYTEgMTEwRyA1OEcgNDdHIDU2JSAvXG50bXBmcyAzLjlHIDc1TSAzLjlHIDIlIC9kZXYvc2htXG50bXBmcyA1LjBNIDAgNS4wTSAwJSAvcnVuL2xvY2tcbnRtcGZzIDMuOUcgMCAzLjlHIDAlIC9zeXMvZnMvY2dyb3VwXG50bXBmcyA3OTRNIDguMEsgNzk0TSAxJSAvcnVuL3VzZXIvMTAwMFxuJiMzOTsKJmd0OyZndDsmZ3Q7CjwvY29kZT48L3ByZT4KPGgyIGlkPSJoMi0tIj48YSBuYW1lPSLnrKzkuozpg6jliIbvvJoiIGNsYXNzPSJyZWZlcmVuY2UtbGluayI+PC9hPjxzcGFuIGNsYXNzPSJoZWFkZXItbGluayBvY3RpY29uIG9jdGljb24tbGluayI+PC9zcGFuPuesrOS6jOmDqOWIhu+8mjwvaDI+PHA+44CA44CA5aW95LqG77yM56ys5LiA6YOo5YiG5oiR5Lus5bey57uP6K+05piO5LqG57yW5YaZ6K+l5bel5YW3552A6YeN6ZyA6KaB5rOo5oSP55qE54K544CC6YKj5LmI5o6l5LiL5p2l5oiR5Lus5p2l5q2j5byP6L+b5YWl57yW5YaZ56iL5bqP55qE6Zi25q61PC9wPgo8cD7jgIDjgIAx77yb5oiR5Lus5YWI6K+V5oOz5LiA5LiL77yM5oiR5Lus55qEbmV0Y2F0IOivpeacieS7gOS5iOagt+eahOWKn+iDveWRou+8n+aWh+S7tuS4iuS8oO+8jOaJp+ihjOWRveS7pO+8jHNoZWxs77yM55uR5ZCs5a+55ZCn44CC5piv5LiN5piv6L+Y6ZyA6KaB6K6+5a6a55uu5qCH5Zyw5Z2A5ZGi77yf6L+Y6ZyA6KaB6K6+5a6a56uv5Y+j5piv5oqK44CC5aW955qE77yM6YKj5o6l5LiL5p2l77yM5oiR5Lus5YaN5p2l5oOz5oOz44CC6K+l5aaC5L2V5Y675YGa5piv5LiN5piv5oiR5Lus6Ieq5bex6YCJ5oup55qE44CC5omn6KGM5ZG95Luk5piv5LiN5piv5oiR5Lus5p2l6L6T5YWl5ZG95Luk5ZGi77yf5aW955qE44CC5oOz5Yiw6L+Z5YS/77yM5b6I5piO5pi+5LqG44CC5oiR5Lus6ZyA6KaB55So5Yiw56ys5LiA6YOo5YiGc3lzLmFyZ3ZbXSDlkowgZ2V0b3B0LmdldG9wdCgpIOS4pOS4quefpeivhueCueWRou+8n+mCo+S5iOaOpeS4i+adpeaIkeS7rOeci+S7o+egge+8mjwvcD4KPHA+44CA44CAMS4xIO+8m+mmluWFiOaIkeS7rOWumuS5ieS4gOS6m+WPmOmHj++8jOi/meS6m+WPmOmHj+WwseaYr+eUqOadpeWMuuWIhuS4jeWQjOeahOmAiemhueeahOOAguS4jeaYjueZveeahOWPr+S7peeojeWAmee7p+e7reeci+S4i+WOu++8mjwvcD4KPHByZT48Y29kZSBjbGFzcz0ibGFuZy1weXRob24iPiPlrprkuYnlhajlsYDlj5jph48KbGlzdGVuID0gRmFsc2UKY29tbWFuZCA9IEZhbHNlCnVwbG9hZCA9IEZhbHNlCmV4ZWN1dGUgPSAmcXVvdDsmcXVvdDsKdGFyZ2V0ID0gJnF1b3Q7JnF1b3Q7CnVwbG9hZF9kZXN0aW5hdGlvbiA9ICZxdW90OyZxdW90Owpwb3J0ID0gMAo8L2NvZGU+PC9wcmU+CjxwPuOAgOOAgDEuMu+8m+i/meS6m+WPmOmHj+WlveS6hu+8jOmCo+S5iOaIkeS7rOmcgOimgeiAg+iZkeeahOaYr+WmguS9leWwhuWklumDqOWPguaVsOS4iuS8oOWIsOWGhemDqOOAguivpue7hu+8jOaIkeS7rOeci+S4i+mdouS7o+egge+8mjwvcD4KPHByZT48Y29kZSBjbGFzcz0ibGFuZy1weXRob24iPm9wdHMsYXJncyA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLCZxdW90O2hsZTp0OnA6Y3U6JnF1b3Q7LFsmcXVvdDtoZWxwJnF1b3Q7LCZxdW90O2xpc3RlbiZxdW90OywmcXVvdDtleGVjdXRlJnF1b3Q7LCZxdW90O3RhcmdldCZxdW90OywmcXVvdDtwb3J0JnF1b3Q7LCZxdW90O2NvbW1hbmQmcXVvdDssJnF1b3Q7dXBsb2FkJnF1b3Q7XSkKPC9jb2RlPjwvcHJlPgo8cD7jgIDjgIDmiJHku6zpgJrov4dzeXMuYXJnduWwhuWklumDqOWPguaVsOmAgei/m+adpeW5tuS4lOmAmui/h2dldG9wdC5nZXRvcHQoKeadpeaVtOeQhui/meS6m+i+k+WFpeeahOWPguaVsOOAgu+8iOazqOaEj++8jOWPmOmHj29wdHMg55So5p2l5a2Y5YKo5a6a5LmJ55qE5Y+C5pWw77yM5Y+Y6YePYXJnc+eUqOadpeWtmOWCqOmineWklueahOWPguaVsO+8iTwvcD4KPHA+44CA44CAMS4z77yb6YCa6L+H5LiK6Z2i55qE5Luj56CB77yM5oiR5Lus5bey57uP6IO95aSf5bCG5aSW6YOo5Y+C5pWw5bey5YWD57uE55qE5b2i5byP5L+d5a2Y5Zyo5Y+Y6YePb3B0cyDlvZPkuK3kuobjgILpgqPkuYjvvIzmiJHku6zlpoLkvZXlsIbmlbDmja7kv53lrZjkuIvmnaXlubbkuJTkvb/nlKjlkaLjgILmiJHku6zpg73nn6XpgZPkuI3lkIznmoTpgInpobnku6PooajkuI3lkIznmoTlip/og73jgILpgqPkuYjvvIzlj5jph49vcHRz5b2T5Lit5a2Y5Zyo5LuA5LmI6YCJ6aG55bCx5Luj6KGo55So5oi35oOz6KaB5omn6KGM5LuA5LmI5qC355qE5Yqf6IO95a+55LiN5a+577yf6YKj5LmI5aaC5L2V56Gu5a6a5ZGi77yf5Y+v5Lul6YCa6L+HZm9yIOW+queOr+adpemAkOatpeaPkOWPluWHuuadpei/m+ihjOWvueavlOOAguWwseWPr+S7peWPkeeOsG9wdHPlj5jph4/kuK3nmoTpgInpobnkuobjgILlpb3nmoTvvIzmg7Pms5Xlt7Lnu4/mnInkuobjgILkuIvpnaLmiJHku6zokL3lrp7liLDku6PnoIHkuIrpnaLvvJo8L3A+CjxwcmU+PGNvZGUgY2xhc3M9ImxhbmctcHl0aG9uIj4gZm9yIG8sYSBpbiBvcHRzOgogaWYgbyBpbiAoJnF1b3Q7LWgmcXVvdDssJnF1b3Q7LS1oZWxwJnF1b3Q7KToKIHVzYWdlKCkKIGVsaWYgbyBpbiAoJnF1b3Q7LWwmcXVvdDssJnF1b3Q7LS1saXN0ZW4mcXVvdDspOgogbGlzdGVuID0gVHJ1ZQogZWxpZiBvIGluICgmcXVvdDstZSZxdW90OywmcXVvdDstLWV4ZWN1dGUmcXVvdDspOgogZXhlY3V0ZSA9YQogZWxpZiBvIGluICgmcXVvdDstYyZxdW90OywmcXVvdDstLWNvbW1hbmRzaGVsbCZxdW90Oyk6CiBjb21tYW5kID0gVHJ1ZQogZWxpZiBvIGluICgmcXVvdDstdSZxdW90OywmcXVvdDstLXVwbG9hZCZxdW90Oyk6CiB1cGxvYWRfZGVzdGluYXRpb24gPSBhCiBlbGlmIG8gaW4gKCZxdW90Oy10JnF1b3Q7LCZxdW90Oy0tdGFyZ2V0JnF1b3Q7KToKIHRhcmdldCA9IGEKIGVsaWYgbyBpbiAoJnF1b3Q7LXAmcXVvdDssJnF1b3Q7LS1wb3J0JnF1b3Q7KToKIHBvcnQgPSBpbnQoYSkKIGVsc2U6CiBhc3NlcnQgRmFsc2UgLCAmcXVvdDtVbmhhbmRsZWQgT3B0aW9uJnF1b3Q7CjwvY29kZT48L3ByZT4KPHA+44CA44CA5LiK6Z2i5Luj56CB5Y+v5Lul6YGN5Y6G5Y+Y6YeP5b2T5Litb3B0c+S4reeahOWAvOW5tuS4lOWIhuWIq+aUvuWFpeWIsOWPmOmHj+KAnG/igJ3vvIzigJxh4oCdIOOAguWcqOW+queOr+S4re+8jOmAmui/h2lm6K+t5Y+l5a+55q+UaW7or63lj6XlvZPkuK3nmoTlhoXlrrnvvIzlr7nmr5TmiJDlip/liJnmiafooYzlr7nlupTnmoTmk43kvZzjgII8L3A+CjxwPuOAgOOAgDLvvJvnjrDlnKjmiJHku6zlt7Lnu4/miJDlip/nmoTlrozmiJDkuobovpPlhaXkuI3lkIzpgInpobnlr7nlupTkuobkuI3lkIznmoTlip/og73jgILpgqPkuYjkuIvpnaLmiJHku6zlvIDlp4vooaXlhajov5nkupvlip/og73jgII8L3A+CjxwPuOAgOOAgDIuMe+8m3VzYWdlKCkg5Yqf6IO9PC9wPgo8cD7jgIDjgIDov5nph4zmiJHku6zpgJrov4flhbPplK7lrZdkZWbmnaXlrprkuYnkuIDkuKrlip/og73lh73mlbDvvIzor6Xlip/og73lh73mlbDkuLvopoHmmK/pgInpobnigJwtaOKAneS4i+eahOWKn+iDve+8jOeUqOadpeaPkOekuuWmguS9leS9v+eUqOivpeS7o+eggeOAgjwvcD4KPHByZT48Y29kZSBjbGFzcz0ibGFuZy1weXRob24iPmRlZiB1c2FnZSgpOgogcHJpbnQoJnF1b3Q7QkhQIE5ldCBUb29sJnF1b3Q7KQogcHJpbnQoJnF1b3Q7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0mcXVvdDspCiBwcmludCgmcXVvdDtVc2FnZTogbmV0Y2F0X3B5dGhvbl9zdHVkeWluZy5weSAtdCB0YXJnZXRfaG9zdCAtcCBwb3J0ICZxdW90OykKIHByaW50KCZxdW90Oy1sIC0tbGlzdGVuIC1saXN0ZW4gb24gW2hvc3RdOltwb3J0XSBmb3IgaW5jb21pbmcgY29ubmVjdGlvbnMmcXVvdDspCiBwcmludCgmcXVvdDstZSAtLWV4ZWN1dGU9ZmlsZV90b19ydW4gLSBleGVjdXRlIHRoZSBnaXZlbiBmaWxlIHVwb24gcmVjZWl2aW5nIGEgY29ubmVjdGlvbiZxdW90OykKIHByaW50KCZxdW90Oy1jIC0tY29tbWFuZCAtIGluaXRpYWxpemUgYSBjb21tYW5kIHNoZWxsJnF1b3Q7KQogcHJpbnQoJnF1b3Q7LXUgLS11cGxvYWQ9ZGVzdGluYXRpb24gLSB1cG9uIHJlY2VpdmluZyBjb25uZWN0aW9uIHVwbG9hZCBhIGZpbGUgYW5kIHdyaXRlIHRvIFtkZXN0aW5hdGlvbl0mcXVvdDspCiBwcmludCgmcXVvdDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSZxdW90OykKIHByaW50KCZxdW90O0V4YW1wbGVzOiAmcXVvdDspCiBwcmludCgmcXVvdDtuZXRjYXRfcHl0aG9uX3N0dWR5aW5nLnB5IC10IDE5Mi4xNjguMS4xIC1wIDU1NTUgLWwgLWMmcXVvdDspCiBwcmludCgmcXVvdDtuZXRjYXRfcHl0aG9uX3N0dWR5aW5nLnB5IC10IDE5Mi4xNjguMS4xIC1wIDU1NTUgLWwgLXU9YzpcXHRhcmdldC5leGUmcXVvdDspCiBwcmludCgmcXVvdDtuZXRjYXRfcHl0aG9uX3N0dWR5aW5nLnB5IC10IDE5Mi4xNjguMS4xIC1wIDU1NTUgLWwgLWU9XCZxdW90O2NhdCAvZXRjL3Bhc3N3ZFwmcXVvdDsmcXVvdDspCiBwcmludCgmcXVvdDtlY2hvICYjMzk7c2Rmc2RmJiMzOTsgfCAuL25ldGNhdF9weXRob25fc3R1ZHlpbmcucHkgLXQgMTkyLjE2OC4xLjEgLXAgMTIzJnF1b3Q7KQogc3lzLmV4aXQoMCkKPC9jb2RlPjwvcHJlPgo8cD7jgIDjgIAyLjLvvJtydW5fY29tbWFuZCgpPC9wPgo8cD7jgIDjgIDku6PnoIHlip/og73lvZPkuK3pnIDopoHmiafooYzlkb3ku6TvvIzpgqPkuYjmiJHku6zpnIDopoHlrprkuYnkuIDkuKrmiafooYzlkb3ku6TnmoTlh73mlbDvvIzku6PnoIHlpoLkuIvvvJo8L3A+CjxwcmU+PGNvZGUgY2xhc3M9ImxhbmctcHl0aG9uIj5kZWYgcnVuX2NvbW1hbmQoY29tbWFuZCk6CiAj5o2i6KGMCiBjb21tYW5kID0gY29tbWFuZC5yc3RyaXAoKQoKICPov5DooYzlkb3ku6TlubblsIbovpPlh7rov5Tlm54KIHRyeToKIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGNvbW1hbmQsc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VULHNoZWxsPVRydWUpCiBleGNlcHQ6CiBvdXRwdXQgPSAmcXVvdDtGYWlsZWQgdG8gZXhlY3V0ZSBjb21tYW5kLlxyXG4mcXVvdDsKCiAj5bCG6L6T5Ye65Y+R6YCBCiByZXR1cm4gb3V0cHV0CjwvY29kZT48L3ByZT4KPHA+44CA44CA77yI5Luj56CB6Kej6YeK77ya5pWw5o2u55Sx5Y+C5pWwY29tbWFuZOi/m+WFpeWIsOWHveaVsOWGhemDqO+8jOmmluWFiOe7j+i/h+aWueazlXJzdHJpcCgpIOWkhOeQhuaVsOaNrue7k+WwvueahOepuuagvOespuWPt++8jOS5i+WQjuacieaWueazlXN1YnByb2Nlc3MuY2hlY2tfb3V0cHV05p2l5omn6KGM5ZG95ZCN77yM5pyA5ZCO6L+U5Zue5omn6KGM55qE57uT5p6cb3V0cHV044CC77yJPC9wPgo8cD7jgIDjgIAyLjPvvJtzZXJ2ZXJfbG9vcCgpPC9wPgo8cD7jgIDjgIDnm5HlkKzlip/og73mmK/lv4XopoHnmoTvvIzkuIvpnaLmiJHku6zlho3mnaXmt7vliqDkuIDkuIvnm5HlkKzlip/og73nmoTlh73mlbDvvIzor6bnu4blpoLkuIvku6PnoIHvvJo8L3A+CjxwcmU+PGNvZGUgY2xhc3M9ImxhbmctcHl0aG9uIj5kZWYgc2VydmVyX2xvb3AoKToKIGdsb2JhbCB0YXJnZXQKCiAj5aaC5p6c5rKh5pyJ5a6a5LmJ55uu5qCH77yM6YKj5LmI5oiR5Lus55uR5ZCs5omA5pyJ5o6l5Y+jCiBpZiBub3QgbGVuKHRhcmdldCk6CiB0YXJnZXQgPSAmcXVvdDswLjAuMC4wJnF1b3Q7Cgogc2VydmVyID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pCiBzZXJ2ZXIuYmluZCgodGFyZ2V0LHBvcnQpKQoKIHNlcnZlci5saXN0ZW4oNSkKCiB3aGlsZSBUcnVlOgogY2xpZW50X3NvY2tldCxhZGRyID0gc2VydmVyLmFjY2VwdCgpCiAj5YiG5ouG5LiA5Liq57q/56iL5aSE55CG5paw55qE5a6i5oi356uvCiBjbGllbnRfdGhyZWFkID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9Y2xpZW50X3NlbmRlcixhcmdzPShjbGllbnRfc29ja2V0KSkKIGNsaWVudF90aHJlYWQuc3RhcnQoKQo8L2NvZGU+PC9wcmU+CjxwPuOAgOOAgO+8iOS7o+eggeino+aekO+8mui/memHjOaIkeS7rOmAmui/h+WFqOWxgOWPmOmHj3RhcmdldCDmnaXnoa7lrprnm5HlkKznmoTlnLDlnYDvvIzov5nph4zpnIDopoHliJvlu7rkuIDkuKpUQ1AvSVDlpZfmjqXlrZfjgILliJvlu7rlrozmiJDkuYvlkI7kvb/nlKjmlrnms5ViaW5k5p2l57uR5a6a56uv5Y+j5Zyw5Z2A77yM5ZCv5Yqo55uR5ZCs5Yqf6IO944CC6K6+5a6a5LiA5Liq5q275b6q546v77yM5bm25LiU5ZCv5Yqo6KKr5Yqo6ZO+5o6l5pa55rOVYWNjZXB044CC5LiA5pem6ZO+5o6l5omn6KGM5Ye95pWwY2xpZW50X3NlbmRlciDvvIk8L3A+CjxwPuOAgOOAgOazqOaEj++8mmNsaWVudF9zZW5kZXIg5Ye95pWw6Ieq5a6a5LmJ5Ye95pWw44CC5Li76KaB5Yqf6IO95piv5Y+R6YCB5pWw5o2u44CCPC9wPgo8cD7jgIDjgIAyLjTvvJtjbGllbnRfc2VuZGVyKCk8L3A+CjxwPuOAgOOAgOaIkeS7rOmcgOimgeS4gOS4quWPkemAgeaVsOaNrueahOWKn+iDve+8jOmCo+S5iOaIkeS7rOadpeiHquWumuS5ieS4gOS4qu+8jOivpue7huWmguS4i+mdouS7o+egge+8mjwvcD4KPHByZT48Y29kZSBjbGFzcz0ibGFuZy1weXRob24iPmRlZiBjbGllbnRfc2VuZGVyKGJ1ZmZlcik6CiBjbGllbnQgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKCiB0cnk6CiAj6ZO+5o6l55uu5qCH5Li75py6CiBjbGllbnQuY29ubmVjdCgodGFyZ2V0LHBvcnQpKQoKIGlmIGxlbihidWZmZXIpOgogY2xpZW50LnNlbmQoYnVmZmVyKQoKIHdoaWxlIFRydWU6CiAj546w5Zyo562J5b6F5pWw5o2u5Zue5LygCiByZWN2X2xlbiA9IDEKIHJlc3BvbnNlID0gJnF1b3Q7JnF1b3Q7Cgogd2hpbGUgcmVjdl9sZW46CiBkYXRhID0gY2xpZW50LnJlY3YoNDA5NikKIHJlY3ZfbGVuID0gbGVuKGRhdGEpCiByZXNwb25zZSArPSBkYXRhCgogaWYgcmVjdl9sZW4gJmx0OyA0MDk2OgogYnJlYWsKCiBwcmludChyZXNwb25zZSkKCiAj562J5b6F5pu05aSa55qE6L6T5YWlCiBidWZmZXIgPSBpbnB1dCgmcXVvdDsmcXVvdDspCiBidWZmZXIgKz0gJnF1b3Q7XG4mcXVvdDsKCiAj5Y+R6YCB5Ye65Y67CiBjbGllbnQuc2VuZChidWZmZXIpCgogZXhjZXB0OgogcHJpbnQoJnF1b3Q7WypdIEV4Y2VwdGlvbiEgRXhpdGluZy4mcXVvdDspCiAj5YWz6Zet6ZO+5o6lCiBjbGllbnQuY2xvc2UoKQo8L2NvZGU+PC9wcmU+CjxwPuOAgOOAgDIuNe+8m2NsaWVudF9oYW5kbGVyKCk8L3A+CjxwPuOAgOOAgOOAgOeOsOWcqOaIkeS7rOadpeWujOWWhOS4gOS4i+S4iuS8oOaWh+S7tuWKn+iDve+8jOaJp+ihjOWRveS7pO+8jHNoZWxsIOWKn+iDveOAguivpue7huWmguS4i+S7o+egge+8mjwvcD4KPHByZT48Y29kZSBjbGFzcz0ibGFuZy1weXRob24iPmRlZiBjbGllbnRfaGFuZGxlcihjbGllbnRfc29ja2V0KToKIGdsb2JhbCB1cGxvYWQKIGdsb2JhbCBleGVjdXRlCiBnbG9iYWwgY29tbWFuZAoKICPmo4DmtYvkuIrkvKDmlofku7YKIGlmIGxlbih1cGxvYWRfZGVzdGluYXRpb24pOgogI+ivu+WPluaJgOacieeahOWtl+espuW5tuWGmeS4i+ebruaghwogZmlsZV9idWZmZXIgPSAmcXVvdDsmcXVvdDsKICPmjIHnu63or7vlj5bmlbDmja7nn6XpgZPmsqHmnInnrKblkIjnmoTmlbDmja4KIHdoaWxlIFRydWU6CiBkYXRhID0gY2xpZW50X3NvY2tldC5yZWN2KDEwMjQpCgogaWYgbm90IGRhdGE6CiBicmVhawogZWxzZToKIGZpbGVfYnVmZmVyICs9IGRhdGEKCiAjI+eOsOWcqOaIkeS7rOaOpeaUtui/meS6m+aVsOaNruW5tuWwhuS7luS7rOWGmeWHuuadpQogdHJ5OgogZmlsZV9kZXNjcmlwdG9yID0gb3Blbih1cGxvYWRfZGVzdGluYXRpb24sJnF1b3Q7d2ImcXVvdDspCiBmaWxlX2Rlc2NyaXB0b3Iud3JpdGUoZmlsZV9idWZmZXIpCiBmaWxlX2Rlc2NyaXB0b3IuY2xvc2UoKQoKICPnoa7orqTmlofku7blt7Lnu4/lhpnlh7rmnaUKIGNsaWVudF9zb2NrZXQuc2VuZCgmcXVvdDtTdWNjZXNzZnVsbHkgc2F2ZWQgZmlsZSB0byAlc1xyXG4mcXVvdDsgJSB1cGxvYWRfZGVzdGluYXRpb24pCiBleGNlcHQ6CiBjbGllbnRfc29ja2V0LnNlbmQoJnF1b3Q7RmFpbGVkIHRvIHNhdmUgZmlsZSB0byAlc1xyXG4mcXVvdDsgJSB1cGxvYWRfZGVzdGluYXRpb24pCgoKICPmo4Dmn6Xlkb3ku6TmiafooYwKIGlmIGxlbihleGVjdXRlKToKICPov5DooYzlkb3ku6QKIG91dHB1dCA9IHJ1bl9jb21tYW5kKGV4ZWN1dGUpCgogY2xpZW50X3NvY2tldC5zZW5kKG91dHB1dCkKCiAj5aaC5p6c6ZyA6KaB5LiA5Liq5ZG95Luk6KGMc2hlbGws6YKj5LmI5oiR5Lus6L+b5YWl5Y+m5LiA5Liq5b6q546vCiBpZiBjb21tYW5kOgogd2hpbGUgVHJ1ZToKICPot7Plh7rkuIDkuKrnqpflj6MKIGNsaWVudF9zb2NrZXQuc2VuZCgmcXVvdDsmbHQ7QkhQOiMmZ3Q7ICZxdW90OykKCiAj546w5Zyo5oiR5Lus5o6l5pS25paH5Lu255u05Yiw5Y+R546w5o2i6KGM56ym77yIZW50ZXIga2V577yJCiBjbWRfYnVmZmVyID0gJnF1b3Q7JnF1b3Q7CiB3aGlsZSAmcXVvdDtcbiZxdW90OyBub3QgaW4gY21kX2J1ZmZlcjoKIGNtZF9idWZmZXIgKz0gY2xpZW50X3NvY2tldC5yZWN2KDEwMjQpCgogI+i/lOi/mOWRveS7pOi+k+WHugogcmVzcG9uc2UgPSBydW5fY29tbWFuZChjbWRfYnVmZmVyKQoKICPov5Tlm57lk43lupTmlbDmja4KIGNsaWVudF9zb2NrZXQuc2VuZChyZXNwb25zZSkKPC9jb2RlPjwvcHJlPgo8cD7jgIDjgIAyLjbvvJvnjrDlnKjmiJHku6znmoTnp6/mnKjlt7Lnu4/pg73mnInkuobvvIjmiJHllpzmrKLlsIbku6PnoIHnqIvluo/mr5TkvZznp6/mnKjvvIzkuI3lkIznmoTnp6/mnKjmnInkuI3lkIznmoTlvaLnirbvvIzkuI3lkIznmoTlip/og73vvInvvIzpgqPkuYjmiJHku6znjrDlnKjmnaXnu4Tlu7rkuIDkuIvjgII8L3A+CjxwPuOAgOOAgOWklumDqOeoi+W6j+WPguaVsOi/m+WFpeeahOaXtuWAme+8jOaIkeS7rOadpeWIpOaWreS4gOS4i++8jOWmguaenOadoeS7tmxpc3RlbuS4jea7oei2s++8jCB0YXJnZXQgcG9ydCDpg73mnInvvIzmiJHku6zlsLHlj6/ku6Xlrp7ooYzlj5HpgIHmlbDmja7lip/og73jgILlpoLmnpxsaXN0ZW7lkK/liqjvvIzpgqPkuYjmiJHku6zlvIDlkK/nm5HlkKznmoTlip/og73jgILnjrDlnKjmgJ3ot6/mnInkuobjgILpgqPkuYjmiJHku6zmnaXlhpnkuIvov5nkuLLku6PnoIHvvJo8L3A+CjxwcmU+PGNvZGUgY2xhc3M9ImxhbmctcHl0aG9uIj4gIyDmiJHku6zmmK/ov5vooYznm5HlkKzov5jmmK/ku4Xku47moIflh4bovpPlhaXlj5HpgIHmlbDmja7vvJ8KIGlmIG5vdCBsaXN0ZW4gYW5kIGxlbih0YXJnZXQpIGFuZCBwb3J0ICZndDsgMDoKICPku47lkb3ku6TooYzor7vlj5blhoXlrZjmlbDmja4KICPov5nph4zlsIbpmLvloZ7vvIzmiYDku6XkuI3lnKjmoIflh4bovpPlhaXlj5HpgIHmlbDmja7ml7blj5HpgIFDVFJMLUQKIGJ1ZmZlciA9IHN5cy5zdGRpbi5yZWFkKCkKCiAj5Y+R6YCB5pWw5o2uCiBjbGllbnRfc2VuZGVyKGJ1ZmZlcikKCiAj5oiR5Lus5byA5aeL55uR5ZCs5bm25YeG5aSH5LiK5Lyg5paH5Lu277yM5omn6KGM5ZG95LukCiAj5pS+572u5LiA5Liq5Y+N5by5c2hlbGwKICPlj5blhrPkuo7kuIrpnaLnmoTlkb3ku6TooYzpgInpobkKIGlmIGxpc3RlbjoKIHNlcnZlcl9sb29wKCkKPC9jb2RlPjwvcHJlPgo8cD7jgIDjgIAz77yb546w5Zyo5oiR5Lus5bCG5Luj56CB5a6M5pW055qE5bGV546w5LiA5LiL77yaPC9wPgo8cHJlPjxjb2RlIGNsYXNzPSJsYW5nLXB5dGhvbiI+aW1wb3J0IHN5cwppbXBvcnQgc29ja2V0CmltcG9ydCBnZXRvcHQKaW1wb3J0IHRocmVhZGluZwppbXBvcnQgc3VicHJvY2VzcwoKI+WumuS5ieWFqOWxgOWPmOmHjwpsaXN0ZW4gPSBGYWxzZQpjb21tYW5kID0gRmFsc2UKdXBsb2FkID0gRmFsc2UKZXhlY3V0ZSA9ICZxdW90OyZxdW90Owp0YXJnZXQgPSAmcXVvdDsmcXVvdDsKdXBsb2FkX2Rlc3RpbmF0aW9uID0gJnF1b3Q7JnF1b3Q7CnBvcnQgPSAwCgpkZWYgdXNhZ2UoKToKIHByaW50KCZxdW90O0JIUCBOZXQgVG9vbCZxdW90OykKIHByaW50KCZxdW90Oy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJnF1b3Q7KQogcHJpbnQoJnF1b3Q7VXNhZ2U6IG5ldGNhdF9weXRob25fc3R1ZHlpbmcucHkgLXQgdGFyZ2V0X2hvc3QgLXAgcG9ydCAmcXVvdDspCiBwcmludCgmcXVvdDstbCAtLWxpc3RlbiAtbGlzdGVuIG9uIFtob3N0XTpbcG9ydF0gZm9yIGluY29taW5nIGNvbm5lY3Rpb25zJnF1b3Q7KQogcHJpbnQoJnF1b3Q7LWUgLS1leGVjdXRlPWZpbGVfdG9fcnVuIC0gZXhlY3V0ZSB0aGUgZ2l2ZW4gZmlsZSB1cG9uIHJlY2VpdmluZyBhIGNvbm5lY3Rpb24mcXVvdDspCiBwcmludCgmcXVvdDstYyAtLWNvbW1hbmQgLSBpbml0aWFsaXplIGEgY29tbWFuZCBzaGVsbCZxdW90OykKIHByaW50KCZxdW90Oy11IC0tdXBsb2FkPWRlc3RpbmF0aW9uIC0gdXBvbiByZWNlaXZpbmcgY29ubmVjdGlvbiB1cGxvYWQgYSBmaWxlIGFuZCB3cml0ZSB0byBbZGVzdGluYXRpb25dJnF1b3Q7KQogcHJpbnQoJnF1b3Q7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0mcXVvdDspCiBwcmludCgmcXVvdDtFeGFtcGxlczogJnF1b3Q7KQogcHJpbnQoJnF1b3Q7bmV0Y2F0X3B5dGhvbl9zdHVkeWluZy5weSAtdCAxOTIuMTY4LjEuMSAtcCA1NTU1IC1sIC1jJnF1b3Q7KQogcHJpbnQoJnF1b3Q7bmV0Y2F0X3B5dGhvbl9zdHVkeWluZy5weSAtdCAxOTIuMTY4LjEuMSAtcCA1NTU1IC1sIC11PWM6XFx0YXJnZXQuZXhlJnF1b3Q7KQogcHJpbnQoJnF1b3Q7bmV0Y2F0X3B5dGhvbl9zdHVkeWluZy5weSAtdCAxOTIuMTY4LjEuMSAtcCA1NTU1IC1sIC1lPVwmcXVvdDtjYXQgL2V0Yy9wYXNzd2RcJnF1b3Q7JnF1b3Q7KQogcHJpbnQoJnF1b3Q7ZWNobyAmIzM5O3NkZnNkZiYjMzk7IHwgLi9uZXRjYXRfcHl0aG9uX3N0dWR5aW5nLnB5IC10IDE5Mi4xNjguMS4xIC1wIDEyMyZxdW90OykKIHN5cy5leGl0KDApCgpkZWYgbWFpbigpOgogZ2xvYmFsIGxpc3RlbgogZ2xvYmFsIHBvcnQKIGdsb2JhbCBleGVjdXRlCiBnbG9iYWwgY29tbWFuZAogZ2xvYmFsIHVwbG9hZF9kZXN0aW5hdGlvbgogZ2xvYmFsIHRhcmdldAoKIGlmIG5vdCBsZW4oc3lzLmFyZ3ZbMTpdKToKIHVzYWdlKCkKCiAj6K+75Y+W5ZG95Luk6YCJ6aG5CiB0cnk6CiBvcHRzLGFyZ3MgPSBnZXRvcHQuZ2V0b3B0KHN5cy5hcmd2WzE6XSwmcXVvdDtobGU6dDpwOmN1OiZxdW90OyxbJnF1b3Q7aGVscCZxdW90OywmcXVvdDtsaXN0ZW4mcXVvdDssJnF1b3Q7ZXhlY3V0ZSZxdW90OywmcXVvdDt0YXJnZXQmcXVvdDssJnF1b3Q7cG9ydCZxdW90OywmcXVvdDtjb21tYW5kJnF1b3Q7LCZxdW90O3VwbG9hZCZxdW90O10pCiBleGNlcHQgZ2V0b3B0LkdldG9wdEVycm9yIGFzIGVycjoKIHByaW50KHN0cigpKQogdXNhZ2UoKQoKIGZvciBvLGEgaW4gb3B0czoKIGlmIG8gaW4gKCZxdW90Oy1oJnF1b3Q7LCZxdW90Oy0taGVscCZxdW90Oyk6CiB1c2FnZSgpCiBlbGlmIG8gaW4gKCZxdW90Oy1sJnF1b3Q7LCZxdW90Oy0tbGlzdGVuJnF1b3Q7KToKIGxpc3RlbiA9IFRydWUKIGVsaWYgbyBpbiAoJnF1b3Q7LWUmcXVvdDssJnF1b3Q7LS1leGVjdXRlJnF1b3Q7KToKIGV4ZWN1dGUgPWEKIGVsaWYgbyBpbiAoJnF1b3Q7LWMmcXVvdDssJnF1b3Q7LS1jb21tYW5kc2hlbGwmcXVvdDspOgogY29tbWFuZCA9IFRydWUKIGVsaWYgbyBpbiAoJnF1b3Q7LXUmcXVvdDssJnF1b3Q7LS11cGxvYWQmcXVvdDspOgogdXBsb2FkX2Rlc3RpbmF0aW9uID0gYQogZWxpZiBvIGluICgmcXVvdDstdCZxdW90OywmcXVvdDstLXRhcmdldCZxdW90Oyk6CiB0YXJnZXQgPSBhCiBlbGlmIG8gaW4gKCZxdW90Oy1wJnF1b3Q7LCZxdW90Oy0tcG9ydCZxdW90Oyk6CiBwb3J0ID0gaW50KGEpCiBlbHNlOgogYXNzZXJ0IEZhbHNlICwgJnF1b3Q7VW5oYW5kbGVkIE9wdGlvbiZxdW90OwoKICMg5oiR5Lus5piv6L+b6KGM55uR5ZCs6L+Y5piv5LuF5LuO5qCH5YeG6L6T5YWl5Y+R6YCB5pWw5o2u77yfCiBpZiBub3QgbGlzdGVuIGFuZCBsZW4odGFyZ2V0KSBhbmQgcG9ydCAmZ3Q7IDA6CiAj5LuO5ZG95Luk6KGM6K+75Y+W5YaF5a2Y5pWw5o2uCiAj6L+Z6YeM5bCG6Zi75aGe77yM5omA5Lul5LiN5Zyo5qCH5YeG6L6T5YWl5Y+R6YCB5pWw5o2u5pe25Y+R6YCBQ1RSTC1ECiBidWZmZXIgPSBzeXMuc3RkaW4ucmVhZCgpCgogI+WPkemAgeaVsOaNrgogY2xpZW50X3NlbmRlcihidWZmZXIpCgogI+aIkeS7rOW8gOWni+ebkeWQrOW5tuWHhuWkh+S4iuS8oOaWh+S7tu+8jOaJp+ihjOWRveS7pAogI+aUvue9ruS4gOS4quWPjeW8uXNoZWxsCiAj5Y+W5Yaz5LqO5LiK6Z2i55qE5ZG95Luk6KGM6YCJ6aG5CiBpZiBsaXN0ZW46CiBzZXJ2ZXJfbG9vcCgpCgpkZWYgY2xpZW50X3NlbmRlcihidWZmZXIpOgogY2xpZW50ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pCgogdHJ5OgogI+mTvuaOpeebruagh+S4u+acugogY2xpZW50LmNvbm5lY3QoKHRhcmdldCxwb3J0KSkKCiBpZiBsZW4oYnVmZmVyKToKIGNsaWVudC5zZW5kKGJ1ZmZlcikKCiB3aGlsZSBUcnVlOgogI+eOsOWcqOetieW+heaVsOaNruWbnuS8oAogcmVjdl9sZW4gPSAxCiByZXNwb25zZSA9ICZxdW90OyZxdW90OwoKIHdoaWxlIHJlY3ZfbGVuOgogZGF0YSA9IGNsaWVudC5yZWN2KDQwOTYpCiByZWN2X2xlbiA9IGxlbihkYXRhKQogcmVzcG9uc2UgKz0gZGF0YQoKIGlmIHJlY3ZfbGVuICZsdDsgNDA5NjoKIGJyZWFrCgogcHJpbnQocmVzcG9uc2UpCgogI+etieW+heabtOWkmueahOi+k+WFpQogYnVmZmVyID0gaW5wdXQoJnF1b3Q7JnF1b3Q7KQogYnVmZmVyICs9ICZxdW90O1xuJnF1b3Q7CgogI+WPkemAgeWHuuWOuwogY2xpZW50LnNlbmQoYnVmZmVyKQoKIGV4Y2VwdDoKIHByaW50KCZxdW90O1sqXSBFeGNlcHRpb24hIEV4aXRpbmcuJnF1b3Q7KQogI+WFs+mXremTvuaOpQogY2xpZW50LmNsb3NlKCkKCmRlZiBzZXJ2ZXJfbG9vcCgpOgogZ2xvYmFsIHRhcmdldAoKICPlpoLmnpzmsqHmnInlrprkuYnnm67moIfvvIzpgqPkuYjmiJHku6znm5HlkKzmiYDmnInmjqXlj6MKIGlmIG5vdCBsZW4odGFyZ2V0KToKIHRhcmdldCA9ICZxdW90OzAuMC4wLjAmcXVvdDsKCiBzZXJ2ZXIgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKIHNlcnZlci5iaW5kKCh0YXJnZXQscG9ydCkpCgogc2VydmVyLmxpc3Rlbig1KQoKIHdoaWxlIFRydWU6CiBjbGllbnRfc29ja2V0LGFkZHIgPSBzZXJ2ZXIuYWNjZXB0KCkKICPliIbmi4bkuIDkuKrnur/nqIvlpITnkIbmlrDnmoTlrqLmiLfnq68KIGNsaWVudF90aHJlYWQgPSB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1jbGllbnRfc2VuZGVyLGFyZ3M9KGNsaWVudF9zb2NrZXQpKQogY2xpZW50X3RocmVhZC5zdGFydCgpCgpkZWYgcnVuX2NvbW1hbmQoY29tbWFuZCk6CiAj5o2i6KGMCiBjb21tYW5kID0gY29tbWFuZC5yc3RyaXAoKQoKICPov5DooYzlkb3ku6TlubblsIbovpPlh7rov5Tlm54KIHRyeToKIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGNvbW1hbmQsc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VULHNoZWxsPVRydWUpCiBleGNlcHQ6CiBvdXRwdXQgPSAmcXVvdDtGYWlsZWQgdG8gZXhlY3V0ZSBjb21tYW5kLlxyXG4mcXVvdDsKCiAj5bCG6L6T5Ye65Y+R6YCBCiByZXR1cm4gb3V0cHV0CgpkZWYgY2xpZW50X2hhbmRsZXIoY2xpZW50X3NvY2tldCk6CiBnbG9iYWwgdXBsb2FkCiBnbG9iYWwgZXhlY3V0ZQogZ2xvYmFsIGNvbW1hbmQKCiAj5qOA5rWL5LiK5Lyg5paH5Lu2CiBpZiBsZW4odXBsb2FkX2Rlc3RpbmF0aW9uKToKICPor7vlj5bmiYDmnInnmoTlrZfnrKblubblhpnkuIvnm67moIcKIGZpbGVfYnVmZmVyID0gJnF1b3Q7JnF1b3Q7CiAj5oyB57ut6K+75Y+W5pWw5o2u55+l6YGT5rKh5pyJ56ym5ZCI55qE5pWw5o2uCiB3aGlsZSBUcnVlOgogZGF0YSA9IGNsaWVudF9zb2NrZXQucmVjdigxMDI0KQoKIGlmIG5vdCBkYXRhOgogYnJlYWsKIGVsc2U6CiBmaWxlX2J1ZmZlciArPSBkYXRhCgogIyPnjrDlnKjmiJHku6zmjqXmlLbov5nkupvmlbDmja7lubblsIbku5bku6zlhpnlh7rmnaUKIHRyeToKIGZpbGVfZGVzY3JpcHRvciA9IG9wZW4odXBsb2FkX2Rlc3RpbmF0aW9uLCZxdW90O3diJnF1b3Q7KQogZmlsZV9kZXNjcmlwdG9yLndyaXRlKGZpbGVfYnVmZmVyKQogZmlsZV9kZXNjcmlwdG9yLmNsb3NlKCkKCiAj56Gu6K6k5paH5Lu25bey57uP5YaZ5Ye65p2lCiBjbGllbnRfc29ja2V0LnNlbmQoJnF1b3Q7U3VjY2Vzc2Z1bGx5IHNhdmVkIGZpbGUgdG8gJXNcclxuJnF1b3Q7ICUgdXBsb2FkX2Rlc3RpbmF0aW9uKQogZXhjZXB0OgogY2xpZW50X3NvY2tldC5zZW5kKCZxdW90O0ZhaWxlZCB0byBzYXZlIGZpbGUgdG8gJXNcclxuJnF1b3Q7ICUgdXBsb2FkX2Rlc3RpbmF0aW9uKQoKCiAj5qOA5p+l5ZG95Luk5omn6KGMCiBpZiBsZW4oZXhlY3V0ZSk6CiAj6L+Q6KGM5ZG95LukCiBvdXRwdXQgPSBydW5fY29tbWFuZChleGVjdXRlKQoKIGNsaWVudF9zb2NrZXQuc2VuZChvdXRwdXQpCgogI+WmguaenOmcgOimgeS4gOS4quWRveS7pOihjHNoZWxsLOmCo+S5iOaIkeS7rOi/m+WFpeWPpuS4gOS4quW+queOrwogaWYgY29tbWFuZDoKIHdoaWxlIFRydWU6CiAj6Lez5Ye65LiA5Liq56qX5Y+jCiBjbGllbnRfc29ja2V0LnNlbmQoJnF1b3Q7Jmx0O0JIUDojJmd0OyAmcXVvdDspCgogI+eOsOWcqOaIkeS7rOaOpeaUtuaWh+S7tuebtOWIsOWPkeeOsOaNouihjOespu+8iGVudGVyIGtlee+8iQogY21kX2J1ZmZlciA9ICZxdW90OyZxdW90Owogd2hpbGUgJnF1b3Q7XG4mcXVvdDsgbm90IGluIGNtZF9idWZmZXI6CiBjbWRfYnVmZmVyICs9IGNsaWVudF9zb2NrZXQucmVjdigxMDI0KQoKICPov5Tov5jlkb3ku6TovpPlh7oKIHJlc3BvbnNlID0gcnVuX2NvbW1hbmQoY21kX2J1ZmZlcikKCiAj6L+U5Zue5ZON5bqU5pWw5o2uCiBjbGllbnRfc29ja2V0LnNlbmQocmVzcG9uc2UpCgppZiBfX25hbWVfXyA9PSAmcXVvdDtfX21haW5fXyZxdW90OzoKIG1haW4oKQo8L2NvZGU+PC9wcmU+
用户名金币积分时间理由
奖励系统 50.00 0 2020-06-11 10:10:46 投稿满 5 赞奖励
admin 100.00 0 2020-06-10 10:10:46 支持! 多写

打赏我,让我更有动力~

1 条回复   |  直到 2022-9-30 | 2082 次浏览

hhades
发表于 2020-6-13

PHA+5LiN5piO6KeJ5Y6J5aSn5L2s77yB77yB77yBPC9wPg==

评论列表

  • 加载数据中...

编写评论内容
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2025 掌控者 All Rights Reserved.