mirror of
https://github.com/alantang1977/hipy.git
synced 2024-11-25 16:03:07 +02:00
1 line
No EOL
4.9 KiB
JavaScript
1 line
No EOL
4.9 KiB
JavaScript
LyoqCiAqIOS8oOWPgiA/dHlwZT11cmwmcGFyYW1zPWh0dHA6Ly8xMjIuMjI4Ljg1LjIwMzoxMDAwQOazveWwkTEKICog5Lyg5Y+CID90eXBlPXVybCZwYXJhbXM9aHR0cDovLzEyMi4yMjguODUuMjAzOjEwMDBA5rO95bCRMgogKi8KCnZhciBydWxlID0gewogICAgdGl0bGU6ICdBUFBWMlvmqKHmnb9dJywKICAgIGF1dGhvcjogJ+mBk+mVvycsCiAgICB2ZXJzaW9uOiAnMjAyNDEwMTIgYmV0YTEnLAogICAgdXBkYXRlX2luZm86IGAKMjAyNDEwMTI6CjEu5qC55o2u576k5Y+L5Ze35ZGc55qEYXBwdjLmqKHmnb/kv67mlLnmiJDlj6/kvKDlj4LmupDvvIznsbvkvLzph4fpm4bkuYvnjovnlKjms5XkvKDlj4IKYC50cmltKCksCiAgICBob3N0OiAnJywKICAgIHVybDogJy9hcGkucGhwL2FwcC92aWRlbz90aWQ9ZnljbGFzc2Z5ZmlsdGVyJmxpbWl0PTIwJnBnPWZ5cGFnZScsCiAgICBmaWx0ZXJfdXJsOiAnJywKICAgIGZpbHRlcjoge30sCiAgICBob21lVXJsOiAnL2FwaS5waHAvYXBwL2luZGV4X3ZpZGVvJywKICAgIGRldGFpbFVybDogJy9hcGkucGhwL2FwcC92aWRlb19kZXRhaWw/aWQ9ZnlpZCcsCiAgICBzZWFyY2hVcmw6ICcvYXBpLnBocC9hcHAvc2VhcmNoP3RleHQ9KiomcGc9ZnlwYWdlJywKICAgIHBhcnNlVXJsOiAnJywKICAgIHNlYXJjaGFibGU6IDIsCiAgICBxdWlja1NlYXJjaDogMSwKICAgIGZpbHRlcmFibGU6IDEsCiAgICBoZWFkZXJzOiB7CiAgICAgICAgJ1VzZXItQWdlbnQnOiAnb2todHRwLzQuMS4wJwogICAgfSwKICAgIHBhcmFtczogJ2h0dHA6Ly8xMjIuMjI4Ljg1LjIwMzoxMDAwJGh0dHA6Ly8xMjIuMjI4Ljg1LjIwMzoxMDAwL3BsYXk/dXJsPScsCiAgICBob3N0SnM6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgSE9TVCA9IHJ1bGUucGFyYW1zLnNwbGl0KCckJylbMF07CiAgICB9KSwKICAgIOmihOWkhOeQhjogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBsb2coYOS8oOWFpeWPguaVsDoke3J1bGUucGFyYW1zfWApOwogICAgICAgIGxldCBfaG9zdCA9IHJ1bGUucGFyYW1zLnNwbGl0KCckJylbMF07CiAgICAgICAgcnVsZS5wYXJzZVVybCA9IHJ1bGUucGFyYW1zLnNwbGl0KCckJylbMV0gfHwgJyc7CiAgICAgICAgbGV0IF91cmwgPSBfaG9zdC5yc3RyaXAoJy8nKSArICcvYXBpLnBocC9hcHAvbmF2P3Rva2VuJzsKICAgICAgICBsZXQgX2hlYWRlcnMgPSB7J1VzZXItQWdlbnQnOiAnRGFydC8yLjE0IChkYXJ0OmlvKSd9OwogICAgICAgIGxldCBodG1sID0gcmVxdWVzdChfdXJsLCB7aGVhZGVyczogX2hlYWRlcnN9KTsKICAgICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UoaHRtbCk7CiAgICAgICAgbGV0IF9jbGFzc2VzID0gW107CiAgICAgICAgbGV0IF9maWx0ZXIgPSB7fTsKICAgICAgICBsZXQgX2ZpbHRlcl91cmwgPSAnJzsKICAgICAgICBsZXQgZHkgPSB7ImNsYXNzIjogIuexu+WeiyIsICJhcmVhIjogIuWcsOWMuiIsICJsYW5nIjogIuivreiogCIsICJ5ZWFyIjogIuW5tOS7vSIsICJsZXR0ZXIiOiAi5a2X5q+NIiwgImJ5IjogIuaOkuW6jyJ9OwogICAgICAgIGxldCBqc29uRGF0YSA9IGRhdGEubGlzdDsKICAgICAgICBmb3IgKGxldCBrID0gMDsgayA8IGpzb25EYXRhLmxlbmd0aDsgaysrKSB7CiAgICAgICAgICAgIGxldCBoYXNOb25FbXB0eUZpZWxkID0gZmFsc2U7CiAgICAgICAgICAgIGxldCBfb2JqID0gewogICAgICAgICAgICAgICAgdHlwZV9uYW1lOiBqc29uRGF0YVtrXS50eXBlX25hbWUsCiAgICAgICAgICAgICAgICB0eXBlX2lkOiBqc29uRGF0YVtrXS50eXBlX2lkLAogICAgICAgICAgICB9OwogICAgICAgICAgICBfY2xhc3Nlcy5wdXNoKF9vYmopOwogICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gZHkpIHsKICAgICAgICAgICAgICAgIGlmIChrZXkgaW4ganNvbkRhdGFba10udHlwZV9leHRlbmQgJiYganNvbkRhdGFba10udHlwZV9leHRlbmRba2V5XS50cmltKCkgIT09ICIiKSB7CiAgICAgICAgICAgICAgICAgICAgaGFzTm9uRW1wdHlGaWVsZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoaGFzTm9uRW1wdHlGaWVsZCkgewogICAgICAgICAgICAgICAgX2ZpbHRlcltTdHJpbmcoanNvbkRhdGFba10udHlwZV9pZCldID0gW107CiAgICAgICAgICAgICAgICBmb3IgKGxldCBka2V5IGluIGpzb25EYXRhW2tdLnR5cGVfZXh0ZW5kKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGRrZXkgaW4gZHkgJiYganNvbkRhdGFba10udHlwZV9leHRlbmRbZGtleV0udHJpbSgpICE9PSAiIikgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoayA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgX2ZpbHRlcl91cmwgKz0gYCYke2RrZXl9PXt7ZmwuJHtka2V5fX19YAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZXMgPSBqc29uRGF0YVtrXS50eXBlX2V4dGVuZFtka2V5XS5zcGxpdCgnLCcpOwogICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWVBcnJheSA9IHZhbHVlcy5tYXAodmFsdWUgPT4gKHsibiI6IHZhbHVlLnRyaW0oKSwgInYiOiB2YWx1ZS50cmltKCl9KSk7CiAgICAgICAgICAgICAgICAgICAgICAgIF9maWx0ZXJbU3RyaW5nKGpzb25EYXRhW2tdLnR5cGVfaWQpXS5wdXNoKHsia2V5IjogZGtleSwgIm5hbWUiOiBkeVtka2V5XSwgInZhbHVlIjogdmFsdWVBcnJheX0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJ1bGUuY2xhc3NlcyA9IF9jbGFzc2VzOwogICAgICAgIHJ1bGUuZmlsdGVyID0gX2ZpbHRlcjsKICAgICAgICBydWxlLmZpbHRlcl91cmwgPSBfZmlsdGVyX3VybDsKICAgIH0pLAogICAgY2xhc3NfcGFyc2U6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgaW5wdXQgPSBydWxlLmNsYXNzZXM7CiAgICB9KSwKICAgIHBsYXlfcGFyc2U6IHRydWUsCiAgICBsYXp5OiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIGlmICghL15odHRwLy50ZXN0KGlucHV0KSAmJiBydWxlLnBhcnNlVXJsKSB7CiAgICAgICAgICAgIGlucHV0ID0gcnVsZS5wYXJzZVVybCArIGlucHV0CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaW5wdXQgPSB7CiAgICAgICAgICAgICAgICB1cmw6IGlucHV0LAogICAgICAgICAgICAgICAgcGFyc2U6IDAsCiAgICAgICAgICAgICAgICBoZWFkZXI6ICcnCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgfSksCiAgICDmjqjojZA6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgbGV0IGRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKS5saXN0OwogICAgICAgIGxldCBjb20gPSBbXTsKICAgICAgICBkYXRhLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0udmxpc3QpICYmIGl0ZW0udmxpc3QubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgICAgICAgICBjb20gPSBjb20uY29uY2F0KGl0ZW0udmxpc3QpCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIFZPRFMgPSBjb20KICAgIH0pLAogICAg5LiA57qnOiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIFZPRFMgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKS5saXN0CiAgICB9KSwKICAgIOS6jOe6pzogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBWT0QgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpKS5kYXRhCiAgICB9KSwKICAgIOaQnOe0ojogJyonLAp9 |