xiaomianao666

小程序:电视直播

Mar 28th, 2024
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@电视直播@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi55S16KeG55u05pKtIiwiYXV0aG9yIjoi8J+PheS6rOaipuS/ruaUuVvlsI/mo4noooTwn4yeJkpva2VyXSIsInVybCI6Imhpa2VyOi8vZW1wdHkiLCJ2ZXJzaW9uIjo5LCJjb2xfdHlwZSI6Imljb25fMl9yb3VuZCIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoibGl2ZSIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOlxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXCJoaWtlcjovL3BhZ2UvY29uZmlnXCIpKS5ydWxlKTsgLy9nZXRDb25maWdcblxubGV0IGRhdGEgPSBbXSxcbiAgICBjb25maWcgPSBnZXRDb25maWcoKTtcbmNvbmZpZy5kYXRhID0gY29uZmlnLmRhdGEuZmlsdGVyKHYgPT4gIXYuaW5WaXNpYmxlKTtcbmlmIChjb25maWcuZGF0YS5sZW5ndGggPD0gMCkge1xuICAgIGRhdGEgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9yZW5kZXJTZXR0aW5nJykucmVuZGVyU2V0dGluZygpO1xufSBlbHNlIHtcbiAgICBsZXQgc2VsZWN0ID0gZ2V0SXRlbShcImxpdmUtc2VsZWN0XCIsIGNvbmZpZy5kYXRhWzBdLm5hbWUpLFxuICAgICAgICBoYXMgPSBjb25maWcuZGF0YS5tYXAoaSA9PiBpLm5hbWUpLmluY2x1ZGVzKHNlbGVjdCk7XG4gICAgaWYgKCFoYXMpIHtcbiAgICAgICAgc2VsZWN0ID0gY29uZmlnLmRhdGFbMF0ubmFtZTtcbiAgICB9XG4gICAgdmFyIGltZyA9IGZldGNoKCdodHRwczovL3dhbmdodW4udG9wL2FwaS9tZWludnR1LnBocD9tPTEnKTtcbiAgICBkYXRhLnB1c2goe1xuICAgICAgICB0aXRsZTogXCJcIixcbiAgICAgICAgY29sX3R5cGU6IFwiY2FyZF9waWNfMVwiLFxuICAgICAgICBkZXNjOiBcIjBcIixcbiAgICAgICAgcGljX3VybDogaW1nLFxuICAgICAgICB1cmw6ICQoXCJoaWtlcjovL2VtcHR5I25vTG9hZGluZyNcIikucnVsZSgoKSA9PiB7XG4gICAgICAgICAgICBhZGRMaXN0ZW5lcignb25DbG9zZScsICdyZWZyZXNoUGFnZSgpJylcbiAgICAgICAgICAgIHNldFJlc3VsdCgkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9yZW5kZXJTZXR0aW5nJykucmVuZGVyU2V0dGluZygpKVxuICAgICAgICB9KVxuICAgIH0pXG5cbiAgICBkYXRhLnB1c2goe1xuICAgICAgICB0aXRsZTogJ+aQnOe0oicsXG4gICAgICAgIGRlc2M6ICfor7fovpPlhaXmkJzntKLlhbPplK7or40nLFxuICAgICAgICBleHRyYToge1xuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBnZXRWYXIoJ3NlYXJjaF9rZXknLCAnJyksXG4gICAgICAgICAgICBvbkNoYW5nZTogJ3B1dFZhcihcInNlYXJjaF9rZXlcIixpbnB1dCknXG4gICAgICAgIH0sXG4gICAgICAgIGNvbF90eXBlOiAnaW5wdXQnLFxuICAgICAgICB1cmw6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL3NlYXJjaD9ydWxlPScgKyBnZXRNeVZhcigndGl0bGUnKSArICcmcz0nICsgZ2V0VmFyKCdzZWFyY2hfa2V5JywgJycpXG4gICAgICAgIH0pXG4gICAgfSlcblxuXG5cbiAgICBmb3IgKHNvdXJjZSBvZiBjb25maWcuZGF0YSkge1xuICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IHNvdXJjZS5uYW1lID09IHNlbGVjdCA/IFwi4oCc4oCc4oCd4oCdPHNwYW4gc3R5bGU9J2NvbG9yOiAjMTlCODlEJz5cIiArIHNlbGVjdCArIFwiPC9zcGFuPlwiIDogc291cmNlLm5hbWUsXG4gICAgICAgICAgICBjb2xfdHlwZTogXCJzY3JvbGxfYnV0dG9uXCIsXG4gICAgICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGEpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJdGVtKFwibGl2ZS1zZWxlY3RcIiwgYSk7XG4gICAgICAgICAgICAgICAgc2V0SXRlbSgnc2VsZWN0R3JvdXAnLCAnJyk7XG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJoaWtlcjovL2VtcHR5XCJcbiAgICAgICAgICAgIH0sIHNvdXJjZS5uYW1lKVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIGRhdGEucHVzaCh7XG4gICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snXG4gICAgfSlcblxuICAgIGZvciAoc291cmNlIG9mIGNvbmZpZy5kYXRhKSB7XG4gICAgICAgIGlmIChzb3VyY2UubmFtZSA9PSBzZWxlY3QpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IGl0ZW1zID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvcmVuZGVyRGF0YScpLnJlbmRlckxpdmVEYXRhKHNvdXJjZS51cmwpO1xuICAgICAgICAgICAgICAgIGxldCBncm91cHMgPSBPYmplY3Qua2V5cyhpdGVtcyk7XG4gICAgICAgICAgICAgICAgLy9ncm91cHMucHVzaChncm91cHMuc3BsaWNlKGdyb3Vwcy5pbmRleE9mKDApLCAxKVswXSk7XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdEdyb3VwID0gZ2V0SXRlbSgnc2VsZWN0R3JvdXAnLCBncm91cHNbMF0pO1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RHcm91cCA9PSBcIlwiIHx8ICFncm91cHMuaW5jbHVkZXMoc2VsZWN0R3JvdXApKSBzZWxlY3RHcm91cCA9IGdyb3Vwc1swXTtcbiAgICAgICAgICAgICAgICBncm91cHMuZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGdyb3VwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBncm91cCA9PSBzZWxlY3RHcm91cCA/IFwi4oCc4oCc4oCd4oCdPHNwYW4gc3R5bGU9J2NvbG9yOiAjMTlCODlEJz5cIiArIGdyb3VwICsgXCI8L3NwYW4+XCIgOiBncm91cCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEl0ZW0oJ3NlbGVjdEdyb3VwJywgZ3JvdXApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgZ3JvdXApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgdGl0bGUgaW4gaXRlbXNbc2VsZWN0R3JvdXBdKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGEucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoc291cmNldXJsLHNlbGVjdEdyb3VwLHRpdGxlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1zID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvcmVuZGVyRGF0YScpLnJlbmRlckxpdmVEYXRhKHNvdXJjZXVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHN1cmxzID0gaXRlbXNbc2VsZWN0R3JvdXBdW3RpdGxlXS51cmw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNoZWFkZXJzID0gaXRlbXNbc2VsZWN0R3JvdXBdW3RpdGxlXS5oZWFkZXJzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGdyb3VwaSBpbiBpdGVtcyl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBncm91cCA9IGl0ZW1zW2dyb3VwaV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFncm91cCkgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGl0aXRsZSBpbiBncm91cCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihpdGl0bGUgPT0gdGl0bGUgJiYgISFncm91cFtpdGl0bGVdKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdXJscyA9IGdyb3VwW2l0aXRsZV0udXJsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBoZWFkZXJzID0gZ3JvdXBbaXRpdGxlXS5oZWFkZXJzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VybHMgPSBzdXJscy5jb25jYXQodXJscyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVhZGVycyA9IHNoZWFkZXJzLmNvbmNhdChoZWFkZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXJscyA9IEFycmF5LmZyb20obmV3IFNldChzdXJscykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWFkZXJzID0gQXJyYXkuZnJvbShuZXcgU2V0KHNoZWFkZXJzKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsczogc3VybHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHNoZWFkZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sc291cmNlLnVybCxzZWxlY3RHcm91cCx0aXRsZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2NvbF90eXBlOiAndGV4dF8zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZzogXCJodHRwczovL2xhbm1laWd1b2ppYW5nLmNvbS90dWJpYW8vbW9yZS8yMjEucG5nXCJcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5pWw5o2u5Yqg6L295aSx6LSlXFxuXCIgKyBKU09OLnN0cmluZ2lmeShlKSxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IFwibG9uZ190ZXh0XCJcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuc2V0UmVzdWx0KGRhdGEpOyIsInNlYXJjaF91cmwiOiJoaWtlcjovL2VtcHR5P2tleT0qKiIsImdyb3VwIjoi8J+NieebtOaSrSIsInNlYXJjaEZpbmQiOiJqczpcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KFwiaGlrZXI6Ly9wYWdlL2NvbmZpZ1wiKSkucnVsZSk7XG5sZXQgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG5sZXQgcnVsZXMgPSBjb25maWcuZGF0YS5tYXAoKHNvdXJjZSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHRpdGxlOiBzb3VyY2UubmFtZSxcbiAgICAgICAgc2VhcmNoX3VybDogJ2hpa2VyOi8vZW1wdHk/a2V5PSoqJyxcbiAgICAgICAgc2VhcmNoRmluZDogJ2pzOicgKyAkLnRvU3RyaW5nKCh1cmwsIHJ1bGVfdGl0bGUpID0+IHtcbiAgICAgICAgICAgIGxldCBkID0gW10sXG4gICAgICAgICAgICAgICAga2V5ID0gZ2V0UGFyYW0oJ2tleScpO1xuICAgICAgICAgICAgbGV0IGl0ZW1zID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvcmVuZGVyRGF0YT9ydWxlPScgKyBydWxlX3RpdGxlKS5yZW5kZXJMaXZlRGF0YSh1cmwpO1xuICAgICAgICAgICAgZm9yIChsZXQgZ3JvdXAgaW4gaXRlbXMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCB0aXRsZSBpbiBpdGVtc1tncm91cF0pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRpdGxlLmluZGV4T2Yoa2V5KSA+PSAwIHx8IHRpdGxlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihrZXkpID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmxzOiBpdGVtc1tncm91cF1bdGl0bGVdLnVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogaXRlbXNbZ3JvdXBdW3RpdGxlXS5oZWFkZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRSZXN1bHQoZCk7XG4gICAgICAgIH0sIHNvdXJjZS51cmwsIGdldE15VmFyKCd0aXRsZScpKVxuICAgIH07XG59KVxuc2V0UmVzdWx0KFt7XG4gICAgdGl0bGU6IFwi54K55oiR5byA5aeL6IGa5pCcXCIsXG4gICAgdXJsOiBcImhpa2VyOi8vc2VhcmNoP3M9XCIgKyBnZXRQYXJhbShcImtleVwiKSxcbiAgICBleHRyYToge1xuICAgICAgICBydWxlczogJC50b1N0cmluZygocnVsZXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShydWxlcylcbiAgICAgICAgfSwgcnVsZXMpXG4gICAgfVxufV0pIiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiIiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoicHV0TXlWYXIoJ3RpdGxlJyxNWV9SVUxFLnRpdGxlKTsiLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5Yqg6L295pWw5o2uXCIsXCJwYXRoXCI6XCJjb25maWdcIixcInJ1bGVcIjpcImZ1bmN0aW9uIGdldENvbmZpZygpIHtcXG4gICAgdHJ5IHtcXG4gICAgICAgIGxldCBjb25maWcgPSBmZXRjaChcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uXFxcIik7XFxuICAgICAgICBpZiAoIWNvbmZpZyB8fCBjb25maWcgPT0gXFxcIlxcXCIpIHtcXG4gICAgICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICAgICAgICBkYXRhOiBbXSxcXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogMFxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoY29uZmlnKVxcbiAgICAgICAgfVxcbiAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIHRvYXN0KFxcXCLphY3nva7mlofku7bmoLzlvI/mnInor69cXFwiKVxcbiAgICAgICAgfSBjYXRjaCAoZSkge31cXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgICAgZGF0YTogW10sXFxuICAgICAgICAgICAgdmVyc2lvbjogMFxcbiAgICAgICAgfVxcbiAgICB9XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5om56YeP5a+85YWlXCIsXCJwYXRoXCI6XCJiYXRjaEltXCIsXCJydWxlXCI6XCJmdW5jdGlvbiBiYXRjaEltcG9ydChpbnB1dCwgcnVsZSkge1xcbiAgICBpbnB1dCA9IGlucHV0LnRyaW0oKTtcXG4gICAgaWYgKGlucHV0Lmxlbmd0aCA8IDMgfHwgaW5wdXRbMF0gIT0gXFxcIntcXFwiKSB7XFxuICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v6K+36L6T5YWl5q2j56Gu55qE5qC85byPXFxcIlxcbiAgICB9XFxuICAgIGxldCBpbSA9IEpTT04ucGFyc2UoaW5wdXQpO1xcbiAgICBpZiAoaW0uZGF0YSA9PSBudWxsIHx8IGltLmRhdGEubGVuZ3RoIDwgMSkge1xcbiAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+ivt+i+k+WFpeato+ehrueahOagvOW8j1xcXCJcXG4gICAgfVxcbiAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL2NvbmZpZz9ydWxlPVxcXCIgKyBydWxlKSkucnVsZSk7XFxuICAgIGxldCBjb25maWcgPSBnZXRDb25maWcoKTtcXG4gICAgbGV0IGNvdW50ID0gMDtcXG4gICAgbGV0IGFsbCA9IGNvbmZpZy5kYXRhLm1hcChpdCA9PiBpdC51cmwgKyBcXFwiJiYmXFxcIikuam9pbigpO1xcbiAgICBmb3IgKGxldCBpIG9mIGltLmRhdGEpIHtcXG4gICAgICAgIGlmIChhbGwuaW5kZXhPZihpLnVybCArIFxcXCImJiZcXFwiKSA+PSAwKSB7XFxuICAgICAgICAgICAgLy/ph43lpI3nmoTkuI3opoFcXG4gICAgICAgICAgICBjb250aW51ZTtcXG4gICAgICAgIH1cXG4gICAgICAgIGNvdW50Kys7XFxuICAgICAgICBjb25maWcuZGF0YS5wdXNoKGkpXFxuICAgIH1cXG4gICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL2xpdmUvY29uZmlnLmpzb25cXFwiLCBKU09OLnN0cmluZ2lmeShjb25maWcpKTtcXG4gICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgcmV0dXJuIFxcXCJ0b2FzdDovL+W3suWvvOWFpVxcXCIgKyBjb3VudCArIFxcXCLmnaHorqLpmIXmupBcXFwiO1xcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuebtOaSreaVsOaNrlwiLFwicGF0aFwiOlwicmVuZGVyRGF0YVwiLFwicnVsZVwiOlwiZnVuY3Rpb24gcmVuZGVyTGl2ZURhdGEodXJsKSB7XFxuICAgIGxldCBtM3UgPSBcXFwiXFxcIjtcXG4gICAgaWYgKHVybC5zdGFydHNXaXRoKCdoaWtlcjovLycpIHx8IHVybC5zdGFydHNXaXRoKCdmaWxlOi8vJykpIHtcXG4gICAgICAgIG0zdSA9IGZldGNoKHVybCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBsZXQgaW50ZXJ2YWwgPSBOdW1iZXIoZ2V0SXRlbSgnaW50ZXJ2YWwnLCAnMjQnKSksXFxuICAgICAgICAgICAgb2xkRGF0YSA9IGZldGNoKCdoaWtlcjovL2ZpbGVzL2xpYnMvJyArIG1kNSh1cmwpICsgJy5qcycpLFxcbiAgICAgICAgICAgIHJlbW90ZURhdGEgPSAnJztcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgcmVtb3RlRGF0YSA9IGZldGNoQ2FjaGUodXJsLCBpbnRlcnZhbCwge1xcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiA1MDAwMFxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfSBjYXRjaCAoZSkge31cXG4gICAgICAgIGlmICghcmVtb3RlRGF0YS5pbmNsdWRlcygnaHR0cCcpIHx8IHJlbW90ZURhdGEuaW5jbHVkZXMoJzxib2R5PicpKSB7IFxcbiAgICAgICAgICAgIGxvZygn5pu05paw5aSx6LSlJyk7XFxuICAgICAgICAgICAgaWYgKG9sZERhdGEpIHdyaXRlRmlsZSgnaGlrZXI6Ly9maWxlcy9saWJzLycgKyBtZDUodXJsKSArICcuanMnLCBvbGREYXRhKTtcXG4gICAgICAgICAgICBtM3UgPSBvbGREYXRhO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBtM3UgPSByZW1vdGVEYXRhO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGxldCBtb2RlID0gIG0zdS5pbmRleE9mKCcjRVhUTTNVJykgPT0gMCAsIHJlO1xcbiAgICBpZihtb2RlKXtcXG4gICAgICAgIHJlID0gLyguKiksKC4qKVxcXFxzKj8oKD86aHR0cHxydG1wKVteI1xcXFxzXSopL2c7XFxuICAgIH1lbHNle1xcbiAgICAgICAgcmUgPSAvKCkoPzpcXFxcQlxcXFwkY19zdGFydHxcXFxcQiN7MSwyfSk/KC4qPyksPygjI3zlpLQjfFxcXFwkY19lbmR8LD8jZ2VucmUjfCg/Omh0dHB8cnRtcClbXlxcXFxzXSopL2c7XFxuICAgIH1cXG4gICAgICAgIFxcbiAgICBsZXQgaXRlbXMgPSB7fSxcXG4gICAgICAgIGdyb3VwID0gJ+acquWIhue7hCc7XFxuICAgIGZvciAobGV0IGkgPSByZS5leGVjKG0zdSk7IGkgIT0gbnVsbDsgaSA9IHJlLmV4ZWMobTN1KSkge1xcbiAgICAgICAgaWYgKG1vZGUpIHtcXG4gICAgICAgICAgICBncm91cCA9IChpWzFdLm1hdGNoKC9ncm91cC10aXRsZT1cXFwiKC4qPylcXFwiLykgfHwgW251bGwsIGdyb3VwXSlbMV07XFxuICAgICAgICB9IGVsc2UgaWYgKFsnI2dlbnJlIycsJyMjJywn5aS0IycsJyRjX2VuZCddLmluY2x1ZGVzKGlbM10pKSB7XFxuICAgICAgICAgICAgZ3JvdXAgPSBpWzJdO1xcbiAgICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcbiAgICAgICAgbGV0IHRpdGxlID0gaVsyXSxcXG4gICAgICAgICAgICB1cmwgPSBpWzNdLmluY2x1ZGVzKCcjJykgPyBpWzNdLnNwbGl0KCcjJykgOiBbaVszXV0sXFxuICAgICAgICAgICAgaGVhZGVycyA9IFtdO1xcbiAgICAgICAgaWYoIXVybFt1cmwubGVuZ3RoLTFdKSB1cmwucG9wKCk7XFxuICAgICAgICB1cmwuZm9yRWFjaCgodixpbmRleCxhcnJheSk9PntcXG4gICAgICAgICAgICBpZigvO1xcXFx7KC4qKVxcXFx9Ly50ZXN0KHYpKXtcXG4gICAgICAgICAgICAgICAgbGV0IG9iaiA9IHt9LFxcbiAgICAgICAgICAgICAgICAgICAgIGNvbiA9IHYubWF0Y2goLztcXFxceyguKilcXFxcfS8pWzFdLFxcbiAgICAgICAgICAgICAgICAgICAgIGFyciA9IGNvbi5zcGxpdCgnJiYnKTtcXG4gICAgICAgICAgICAgICAgYXJyLmZvckVhY2goKGkpPT57XFxuICAgICAgICAgICAgICAgICAgICBsZXQgW2tleSx2YWx1ZV0gPSBpLnNwbGl0KCdAJyk7XFxuICAgICAgICAgICAgICAgICAgICBvYmpba2V5XSA9IHZhbHVlLnJlcGxhY2UoLzsvZywn77yb77ybJyk7XFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgIGFycmF5W2luZGV4XSA9IHYubWF0Y2goL14oW147XSopO1xcXFx7LylbMV1cXG4gICAgICAgICAgICAgICAgaGVhZGVycy5wdXNoKG9iaik7XFxuICAgICAgICAgICAgfWVsc2V7XFxuICAgICAgICAgICAgICAgIGhlYWRlcnMucHVzaCh7J1VzZXItQWdlbnQnIDogTU9CSUxFX1VBLnJlcGxhY2UoLzsvZywn77yb77ybJyl9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgYXJyYXlbaW5kZXhdID0gJ3ZpZGVvOi8vJyArIGFycmF5W2luZGV4XS5yZXBsYWNlKC87L2csJ++8m++8mycpO1xcbiAgICAgICAgfSk7XFxuICAgICAgICBpZiAoaXRlbXNbZ3JvdXBdKSB7XFxuICAgICAgICAgICAgaWYgKGl0ZW1zW2dyb3VwXVt0aXRsZV0pIHtcXG4gICAgICAgICAgICAgICAgaXRlbXNbZ3JvdXBdW3RpdGxlXS51cmwgPSBpdGVtc1tncm91cF1bdGl0bGVdLnVybC5jb25jYXQodXJsKTtcXG4gICAgICAgICAgICAgICAgaXRlbXNbZ3JvdXBdW3RpdGxlXS5oZWFkZXJzID0gaXRlbXNbZ3JvdXBdW3RpdGxlXS5oZWFkZXJzLmNvbmNhdChoZWFkZXJzKTtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICBpdGVtc1tncm91cF1bdGl0bGVdID0ge3VybDp1cmwsaGVhZGVyczpoZWFkZXJzfTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGl0ZW1zW2dyb3VwXSA9IHt9O1xcbiAgICAgICAgICAgIGl0ZW1zW2dyb3VwXVt0aXRsZV0gPSB7dXJsOnVybCxoZWFkZXJzOmhlYWRlcnN9O1xcbiAgICAgICAgfTtcXG4gICAgfVxcbiAgICByZXR1cm4gaXRlbXM7XFxufVxcblxcbiQuZXhwb3J0cyA9IHtcXG4gICAgcmVuZGVyTGl2ZURhdGE6IHJlbmRlckxpdmVEYXRhXFxufVxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6K6+572u6aG1XCIsXCJwYXRoXCI6XCJyZW5kZXJTZXR0aW5nXCIsXCJydWxlXCI6XCJmdW5jdGlvbiByZW5kZXJTZXR0aW5nKCkge1xcbiAgICBmdW5jdGlvbiBnZXRDb2xvcmVkVGV4dCh0ZXh0KSB7XFxuICAgICAgICByZXR1cm4gJ+KAnOKAnOKAneKAnTxzcGFuIHN0eWxlPVxcXCJjb2xvcjogIzE5Qjg5RFxcXCI+JyArIHRleHQgKyAnPC9zcGFuPic7XFxuICAgIH1cXG4gICAgY29uc3QgZCA9IFtdO1xcbiAgICB2YXIgaW1nID0gZmV0Y2goJ2h0dHBzOi8vd2FuZ2h1bi50b3AvYXBpL21laW52dHUucGhwP209MScpO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IFxcXCJcXFwiLFxcbiAgICAgICAgY29sX3R5cGU6ICdjYXJkX3BpY18xJyxcXG4gICAgICAgIGRlc2M6IFxcXCIwXFxcIixcXG4gICAgICAgIHBpY191cmw6IGltZyxcXG4gICAgICAgIHVybDogaW1nICsgJyMuanBnJyxcXG4gICAgfSlcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiBcXFwibGluZVxcXCJcXG4gICAgfSlcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi4oCY4oCY4oCZ4oCZPHNwYW4gc3R5bGU9J2NvbG9yOiMwYWEzNDQnPuazqOaEj+Wkh+S7vSE8L3NwYW4+XFxcIixcXG4gICAgICAgIGRlc2M6IFxcXCLigJjigJjigJnigJk8c3BhbiBzdHlsZT0nY29sb3I6I2YwNTY1NCc+5a+85YWl5Lya6KaG55uW5Y6f5pyJ55qE5paH5Lu2PC9zcGFuPlxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiLFxcbiAgICAgICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgIH0pXFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIuS9v+eUqOaPkOekulxcXCIsXFxuICAgICAgICBkZXNjOiBcXFwiXFxcIixcXG4gICAgICAgIGNvbF90eXBlOiBcXFwiaWNvbl9yb3VuZF80XFxcIixcXG4gICAgICAgIHBpY191cmw6IFxcXCJodHRwczovL2xhbm1laWd1b2ppYW5nLmNvbS90dWJpYW8vbW9yZS8xLnBuZ1xcXCIsXFxuICAgICAgICB1cmw6IFxcXCJ0b2FzdDovL+mmluasoeS9v+eUqDoxLiDngrnlh7vlnKjnur/orqLpmIXvvIzliLfmlrDljbPnlKjjgIIyLiDlnKjnur/orqLpmIXpmo/kvZzogIXmm7TmlrDogIzmm7TmlrDvvIzmjqjojZDkvb/nlKjjgIJcXFwiLFxcbiAgICB9KVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IFxcXCLlnKjnur/orqLpmIVcXFwiLFxcbiAgICAgICAgZGVzYzogXFxcIlxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcImljb25fcm91bmRfNFxcXCIsXFxuICAgICAgICBwaWNfdXJsOiBcXFwiaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL21vcmUvMjEucG5nXFxcIixcXG4gICAgICAgIHVybDogXFxcIua1t+mYlOinhueVjOacrOWcsOaWh+S7tuWIhuS6q++/pWZpbGVfdXJs77+laGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uQGh0dHA6Ly9oaWtlci5ub2tpYS5wcmVzcy9oaWtlcnVsZS9ydWxlbGlzdC5qc29uP2lkPTU4NTEmYXV0aD02MWU4NTQ5NC03OTlkLTU1OTgtOTgzMi00ODYyMGRlNDBlYTdcXFwiLFxcbiAgICB9KVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IFxcXCLlr7zlhaXmnKzlnLBcXFwiLFxcbiAgICAgICAgZGVzYzogXFxcIlxcXCIsXFxuICAgICAgICBwaWNfdXJsOiBcXFwiaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL21vcmUvNTkucG5nXFxcIixcXG4gICAgICAgIGNvbF90eXBlOiBcXFwiaWNvbl9yb3VuZF80XFxcIixcXG4gICAgICAgIHVybDogXFxcIua1t+mYlOinhueVjOacrOWcsOaWh+S7tuWIhuS6q++/pWZpbGVfdXJs77+laGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2xpdmUudHh0QGh0dHA6Ly9oaWtlci5ub2tpYS5wcmVzcy9oaWtlcnVsZS9ydWxlbGlzdC5qc29uP2lkPTU4NTImYXV0aD03NmZmZDI0NC02MWIyLTU0YTctODUxOC1jOGJjNGM4MWI5OTVcXFwiLFxcbiAgICB9KVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IFxcXCLlr7zlhaXogZrlvbFcXFwiLFxcbiAgICAgICAgZGVzYzogXFxcIlxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcImljb25fcm91bmRfNFxcXCIsXFxuICAgICAgICBwaWNfdXJsOiBcXFwiaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL21vcmUvNjQucG5nXFxcIixcXG4gICAgICAgIHVybDogXFxcIua1t+mYlOinhueVjOacrOWcsOaWh+S7tuWIhuS6q++/pWZpbGVfdXJs77+laGlrZXI6Ly9maWxlcy9ydWxlcy9TcmMvSnV5aW5nL2xpdmVjb25maWcuanNvbkBodHRwOi8vaGlrZXIubm9raWEucHJlc3MvaGlrZXJ1bGUvcnVsZWxpc3QuanNvbj9pZD01ODYxJmF1dGg9ZTFiNTMzYTAtZDQ4ZC01NDhmLWI3YjktNWQ0OWI4ZTlhMzU0XFxcIixcXG4gICAgfSlcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwiXFxcIixcXG4gICAgICAgIGRlc2M6IFxcXCJcXFwiLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJsaW5lXFxcIixcXG4gICAgICAgIHVybDogXFxcIidcXFwiLFxcbiAgICB9KVxcblxcbiAgICBsZXQgaW50ZXJ2YWwgPSBnZXRJdGVtKCdpbnRlcnZhbCcsICcyNCcpO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGludGVydmFsID09IC0xID8gJ+W3suemgeatouiHquWKqOabtOaWsCcuZm9udGNvbG9yKFxcXCIjMTlCODlEXFxcIikuYm9sZCgpIDogKCfmm7TmlrDpl7TpmpQ6JyArIGludGVydmFsICsgJ+Wwj+aXticpLmZvbnRjb2xvcihcXFwiIzE5Qjg5RFxcXCIpLmJvbGQoKSxcXG4gICAgICAgIHVybDogJChpbnRlcnZhbCwgJ+i+k+WFpW7kuLrmraPmlbTmlbDml7bvvIzmr4/pmpRu5bCP5pe26Ieq5Yqo5pu05pawXFxcXG7kuLow5pe277yM5q+P5qyh5omT5byA6YO95Lya5pu05pawXFxcXG7kuLotMeaXtu+8jOemgeatouiHquWKqOabtOaWsCcpLmlucHV0KCgpID0+IHtcXG4gICAgICAgICAgICBpZiAocGFyc2VJbnQoaW5wdXQpID49IC0xKSB7XFxuICAgICAgICAgICAgICAgIHNldEl0ZW0oJ2ludGVydmFsJywgaW5wdXQpO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgIH0pLFxcbiAgICAgICAgcGljX3VybDogJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTXdBQUFETUNBWUFBQUEvSWt6eUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFBWmRFVllkRk52Wm5SM1lYSmxBSGQzZHk1dGJpMXpiMlowTG1OdmJTQmhhaXBBQUFBSm5VbEVRVlI0WHUyZFFZc2RWUmJIK3h2b0p4Qy9nTi9BaGJnVndkMkFTM2NETHR5NVRQQTlkQ0VEZ2dpRHEwUmN4STAwT0REalJvS0tJTmhwZ3dGUlJ5a21nazZHeE1TSUtPUHdwazY5dm85SzUvUkw5M2xWZGM2NTlmdkJEOEh1cEU5VjNYL3EzTHEzK3UwQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXpLNGJtSDl3NFhUOXpud2VLODd2SzE5citYVmE4c205WlZPclZqV2J2ZmV1L3gzM09lMm5NSGxYTDR5cU43aHk4OWMzVGg4dzd1bURiZE9lMEMxWjVqT2RlUWtDNGd5d3ZkQmRVdk5JNW5HNkwyM01zMWdNQjA3WlNFWkhGYnVZam9ZbnN0dXZDMDF3WUNJTDMwWjhzWDJvdkRuU1MrVFhldG1QODRJQ2RkK21idUpnbVZ1NDdNZVFqT05CQ1VTandLRG95RTlNRzBYalhhTU1jWmtuWDd0YStjYUt4SnVjYTBhVHZDWFdWdWNyY3hzMzc2cFoxVXJGMjU5bkJLdWhhc1czVFVUeWJPdzI3OWhoWnRPK3V3Zks2ZVFKeWZNaFlJelFrUUZ0UWtOQXFFQmJkSmFIb1FGanlOaEthRnNPQlpuSDFvZUJxR1oxWEd6Q3hoblFXdHptNmRacjJDcjU4TXhOTTRteDBCMG9PeTNRVjN0NW5IZklhTmxEaVVNcGFxaGxZTWg3YnExb3hXREllM09ScGRsZEc5S2FrZU1PSnVWdmZtWmpmUjU3VmlITXQyYkZYMUFJQzdDNDV0TlhjWjdpNDRpYlhjWlZqUng2bXNZZ2NBVDhad09wTS9NV1BkQmFjMjlib011NUZ4YWxQdlptYXlqNVBianJtVXlNY2RxQWVFT0xJcFAycURkZ3k5VE5tVzhYUU0vVXoydEV3K3VrMC9FTVJwVFBYeGdjSG1MNDkvZlhIMTRnOGZUTzRqMTE1WDZ4bFQrWmxhTFdNcjUxaXJ4ODFVODVoZ2U4ZmtndDVhL1RhNUhvTklmcVpXeTlqS09kYnFjVFBWM3JMMXB4WHJCK0lnZ1JuZmdJRzVmRFFhRXhCc3d1OFZtS3UvMzVnOE5BUm1ZNktKdjM0QWJub0ZwdmplM1c4bW04OFFtSjRwNkxieks4VTc2aDJZb3RUeDBOVlgxUnFIa3NEMFRMSGRQK0NHeXlpQkVacy83cXllYmZiVk9vZVF3UFJNc1JHVHdKeEthZFBHbU44UW1KNEV4bWJFd0JUZnVIa3dhSnRHWUhvU0dKdVJBeU5LbXpiVWdDTXdQVk9zeFJBWXMvSVkrcWx2TDZuSGNGb0pUTThVZ1FtMnlpOW1DVXh4bDhmUUJLWW5nYkdaTFRERmwyOThjdWI1RFlIcFNXQnNaZzJNZU5iSDBBU21aNHBmVms1Z1J2SERYNjkzWWRDT3J5K0I2WmxpUHhtQkdWVjVETDF0ZmtOZ2VoSVltelVGUml5UG9iWDVEWUhwbVNNd3k5ZlU0aDJ0TFRCRjdURTBnZW1aNUE0VDZsMFlzZGJBRk9VeDlHTmZ2dGtkSzRIcFNXQnMxaDZZb2p5R2xqdU85cld4SlRCV0NNd3NEUmtZTVR3RVpwWVNHQ3NFWnBZU0dDc0VacFlTR0NzQmYrT2xaMkMrK3UrdDFjRnZQNnBmcTBrQ1kwVXIybG5Qd0h6MDYvWFZrLzk4ZS9XWC8zeTZ1djYvdStyMzFDQ0JzYUlWN1d5RXdJaFBmL2ZPNnQyZnYxSy9MN3NFeG9wV3RMTlJBbE44N2w5LzYvNi85djFaSlRCV3RLS2RqUmFZNHVMZkgxZlRwaEVZSzFyUnprWU5qQ2h0MmxzL2ZhSCsyVXdTR0N0YTBjNUdEa3d4ZTV0R1lLeG9SVHViSVRERnJHMGFnYkdpRmUxc3BzQ0lHZHMwQW1ORks5clpiSUVwL3FsNU4wMmJSbUNzYUVVN216VXdSYWxmZGd4b2YzOFVDWXdWcldobnN3ZEdsRGJ0cnpldnFEOGpnZ1RHaWxhMHN6VUVwaGkxVFNNd1ZyU2luYTBwTUVVNXBraHRHb0d4b2hYdGJJMkJFU08xYVFUR2lsYTBzN1VHcGhpaFRTTXdWclNpbmEwOU1NWG52My9mclUwak1GYTBvcDJkUzJDSzBxWk52VnVBd0ZqUmluWjJib0VScFUzN3h5L2ZxVFdOSVlHeG9oWHQ3QndEVTV5cVRTTXdWclNpbloxellJcGp0MmtFeG9wV3RMTnpEMHg1L0V4Z0lxSVY3ZXljQXlQSFRrc1dHYTFvWitjWW1LblhaZ2lNRmExb1orY1VHSzkzYVFpTUZhMW9aK2NTR00rM05RbU1GYTFvWjJzUGpEdzY5djd0bWdUR2lsYTBzN1VHUnRxdktMOFlrTUJZMFlwMnRzYkFlR3gvMlNhQnNhSVY3V3hOZ2ZIY1lMbE5BbU5GSzlyWkdnSVQvUmRpRUJncld0SE9aZzVNOUhmNWl3VEdpbGEwczFrREk0K0pJN1pmbWdUR2lsYTBzOWtDay9IWHhoSVlLMXJSem1ZSmpOY3EvUkFTR0N0YTBjNW1DRXoyVHlnak1GYTBvcDJOSEpnSXEvUkRTR0NzYUVVN0d6RXdVNzlDUExZRXhvcFd0TFBSQWhOdGxYNElDWXdWcldobm93Ukc2c2p5bVBpc0VoZ3JXdEhPZWdjbStpcjlFQklZSzFyUnpub0dwcmJXNnlRSmpCV3RhR2M5QXpNWENZd1ZyV2huQ2N6NEVoZ3JXdEhPRXBqeEpUQld0S0tkSlREalMyQ3NIQ3d1cTRVNzZoV1lQMy8vOTlWN2Q3OVJ2MWFiSVFNall6RThCR2JqNDE5ZjdINytVOTllV2wzOS9ZYjZQYlZJWUt3UW1JMGxNUDA2bWovdXFOK2JYUUpqaGNCc1BCNFk4WkZycjYvZXVIbWdmbjltQ1l3VkFyTlJDMHhSdmxiVC9JYkFXQ0V3RzdjRnB2aHNzMS9GL0liQVdEbFk3S3ZGT3hvNU1PSkRWMS90YXN3OHY0a1ptT1dGbzFFWm1JUEZlYlY0UjZNSHBwaDVmaFAwRG5QK2FGUUdoc0JzUEd0Z2l2TG5Qa3kydTVuQVdDRXdHNjJCS2NyOEprdWJSbUNzRUppTnV3WkdMUE1iN2UrUEpJR3hjcmg0UWkzZTBjeUJLY3I4NXUzYjE5U2ZFOEdRZ1pHeEdCNENzM0hJd0JTanptOElqQlVDczNHTXdCU2p6VzhJakpYRGN3K3J4VHRhWTJCRW1kKzhmT01UOVdkUGJjekF0R014QlZyeGp0WWFtS0xNYjd5MzJZUU1UQnF1TEp2N2luZTA5c0FVNWVkNWJiTUpHSmptYURRbUlOaCtzcmtFcGlndnJrMDl2d2tYbUJUN3lBckIxbUxtRmhoeDZ2bE53TUFrV0lNcEhMNzBqSG9RVHNyQWxRczZ0VEszME9xWjBzZStmRk90YldnOS8zRlFsVEdZaHNOWEhsVVBBbkVxWlF5bUl0akVIMmRsb2dsL1FkNUYwQThHY1Z4VHZBZHpuR0R6R0p5UnFlWXZmYTRzYnFzSGhEaWE3WmhMQzIwWlRtM0tkcXdRY0NNbVZtNktEWmZiNEdrWlRtZkNwMlBIK1d6NWduSmdpTU1yWXkwOTNYWi9Kdjg0dHUwWVM3T2QvMEVFZk04Zkt6UFYzckVId1YwR1I3V211MHVCdXd5T1pWVjNsejQ4TWNQaHJlREoyRW13TG9ORG0zN2Q1VUVFL0dYbG1GUVpTOVhUUFFDZ05jT2RiZXFiNko4RXJSbnVhdld0MkhIWUFZQldxMWpSdDhCdVpqeXJxWGNqNzRyMG9BZkx6OVVUZzNoY0dTdXptYmVjQktIQjAwaFllaEFhM0NaaFVTQTBxRWxZdGtCb3NDOWhPUVhyMFBEMGJPN0tHQ0FzWjRCMW12azYyM1dXWFZudkNHQWJ6WHhzNXJlQ1B6UmRpOGFHemVxVmEwd0xOaURjYldxVnU4cW9kRzl1OHJwemZ0dHJXTzJia3RGWXQya0VKNlZIUWFIOWNrQk8rdnBwR3ExYWZKdnVXaEdVSUVnZjNLM2ZjTmVKbzl4TlpEMkZPVXBzNU9NTzFvdWYzSG1tdDFtSEpPdEhUc3dkK2VpMkxrQnQzN3orZEdkQ05KeHRPTnB6MnMxSjJuT2M3bVB5NFBSSUx5MnRRbkVkcUo3dHY1THJ3WEMvK3VESnAzWnNhL2RiN3owZi9YUEZQQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJtVnY3LzlKMHFLWlAvcTdRd0FBQUFCSlJVNUVya0pnZ2c9PScsXFxuICAgICAgICBjb2xfdHlwZTogXFxcImF2YXRhclxcXCJcXG4gICAgfSk7XFxuXFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogXFxcImJpZ19ibGFua19ibG9ja1xcXCJcXG4gICAgfSk7XFxuXFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogZ2V0Q29sb3JlZFRleHQoXFxcIuaWsOW7uuiuoumYhVxcXCIpLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJzY3JvbGxfYnV0dG9uXFxcIixcXG4gICAgICAgIGRlc2M6IFxcXCLor7fovpPlhaXnm7Tmkq3mupDorqLpmIXlnLDlnYBcXFwiLFxcbiAgICAgICAgdXJsOiAkKCcnLCAn6K+36L6T5YWl6K6i6ZiF5Zyw5Z2AJykuaW5wdXQoKHJ1bGUpID0+IHtcXG4gICAgICAgICAgICBpZiAoaW5wdXQgPT0gXFxcIlxcXCIpIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+S4jeiDveS4uuepulxcXCJcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0LmluZGV4T2YoXFxcImh0dHBcXFwiKSAhPSAwICYmIGlucHV0LmluZGV4T2YoXFxcImZpbGVcXFwiKSAhPSAwICYmIGlucHV0LmluZGV4T2YoXFxcImhpa2VyXFxcIikgIT0gMCkge1xcbiAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v6ZO+5o6l5qC85byP5pyJ6K+vXFxcIlxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiAkKCcnLCBcXFwi6K+36L6T5YWl6K6i6ZiF5qCH6aKYXFxcIikuaW5wdXQoKHVybCwgcnVsZSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXFxcImhpa2VyOi8vcGFnZS9jb25maWc/cnVsZT1cXFwiICsgcnVsZSkpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbmZpZyA9IGdldENvbmZpZygpO1xcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRhdGEucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogaW5wdXQsXFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmxcXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL2xpdmUvY29uZmlnLmpzb25cXFwiLCBKU09OLnN0cmluZ2lmeShjb25maWcpKTtcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5bey5L+d5a2YXFxcIjtcXG4gICAgICAgICAgICAgICAgfSwgaW5wdXQsIHJ1bGUpXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSwgZ2V0TXlWYXIoJ3RpdGxlJykpXFxuICAgIH0pO1xcblxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGdldENvbG9yZWRUZXh0KFxcXCLlr7zlhaXorqLpmIVcXFwiKSxcXG4gICAgICAgIGNvbF90eXBlOiBcXFwic2Nyb2xsX2J1dHRvblxcXCIsXFxuICAgICAgICB1cmw6ICQoJycsICfmlK/mjIHljp/lp4vmlbDmja7lkozkupHliarotLTmnb/liIbkuqvpk77mjqUnKS5pbnB1dCgocnVsZSkgPT4ge1xcbiAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KFxcXCJoaWtlcjovL3BhZ2UvYmF0Y2hJbT9ydWxlPVxcXCIgKyBydWxlKSkucnVsZSk7XFxuICAgICAgICAgICAgaWYgKGlucHV0LnN0YXJ0c1dpdGgoJ+iBmuebtOaSreWIhuS6qyMjJykpIHtcXG4gICAgICAgICAgICAgICAgaW5wdXQgPSBwYXJzZVBhc3RlKGlucHV0LnNwbGl0KCcjI1xcXFxuJylbMV0pO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICByZXR1cm4gYmF0Y2hJbXBvcnQoaW5wdXQsIHJ1bGUpO1xcbiAgICAgICAgfSwgZ2V0TXlWYXIoJ3RpdGxlJykpXFxuICAgIH0pO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGdldENvbG9yZWRUZXh0KFxcXCLlr7zlhaXmnKzlnLDmupBcXFwiKSxcXG4gICAgICAgIGNvbF90eXBlOiBcXFwic2Nyb2xsX2J1dHRvblxcXCIsXFxuICAgICAgICBkZXNjOiBcXFwi6K+36L6T5YWl55u05pKt5rqQ5ZCN56ewXFxcIixcXG4gICAgICAgIHVybDogJCgnJywgJ+ivt+i+k+WFpeebtOaSrea6kOWQjeensCcpLmlucHV0KChydWxlKSA9PiB7XFxuICAgICAgICAgICAgaWYgKGlucHV0ID09IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/kuI3og73kuLrnqbpcXFwiXFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJmaWxlU2VsZWN0Oi8vXFxcIiArICQudG9TdHJpbmcoKG5hbWUpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGxldCBzID0gaW5wdXQuc3BsaXQoXFxcIi9cXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFxcXCJoaWtlcjovL2ZpbGVzL2NhY2hlL2xpdmUvXFxcIiArIG5hbWUgKyBcXFwiLm0zdVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIHZhciBjID0gZmV0Y2goXFxcImhpa2VyOi8vZmlsZXMvY2FjaGUvXFxcIiArIHNbcy5sZW5ndGggLSAxXSlcXG4gICAgICAgICAgICAgICAgICAgIGlmICghYy5pbmNsdWRlcygnaHR0cCcpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+mdnuazleaWh+S7tidcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIHdyaXRlRmlsZSh1cmwsIGMpXFxuICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL2NvbmZpZz9ydWxlPeiBmuebtOaSrVxcXCIpKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb25maWcgPSBnZXRDb25maWcoKTtcXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5kYXRhLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmxcXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL2xpdmUvY29uZmlnLmpzb25cXFwiLCBKU09OLnN0cmluZ2lmeShjb25maWcpKTtcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey5L+d5a2YJ1xcbiAgICAgICAgICAgICAgICB9LCBpbnB1dClcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbiAgICB9KTtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBnZXRDb2xvcmVkVGV4dChcXFwi5YiG5Lqr6K6i6ZiFXFxcIiksXFxuICAgICAgICBjb2xfdHlwZTogXFxcInNjcm9sbF9idXR0b25cXFwiLFxcbiAgICAgICAgdXJsOiAkKFtcXFwi5Y6f5aeL5pWw5o2uXFxcIiwgXFxcIuS6keWJqui0tOadv1xcXCIsIFxcXCLkupHlj6Pku6RcXFwiXSwgMykuc2VsZWN0KCgpID0+IHtcXG4gICAgICAgICAgICByZXR1cm4gJCgn56Gu5a6a5a+85Ye677yfXFxcXG4o56aB55So6K6i6ZiF5LiN5Lya5a+85Ye6KScpLmNvbmZpcm0oKHR5cGUpID0+IHtcXG4gICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXFxcImhpa2VyOi8vcGFnZS9jb25maWdcXFwiKSkucnVsZSk7XFxuICAgICAgICAgICAgICAgIGNvbmZpZyA9IGdldENvbmZpZygpO1xcbiAgICAgICAgICAgICAgICBjb25maWcuZGF0YSA9IGNvbmZpZy5kYXRhLmZpbHRlcih2ID0+ICF2LmluVmlzaWJsZSk7XFxuICAgICAgICAgICAgICAgIGlmICh0eXBlID09IFxcXCLkupHliarotLTmnb9cXFwiKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9ICfogZrnm7Tmkq3liIbkuqsjI1xcXFxuJyArIHNoYXJlUGFzdGUoSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcXFwi5LqR5Y+j5LukXFxcIikge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSAn6IGa55u05pKt5YiG5LqrLOWkjeWItuWQjuaJk+W8gOi9r+S7tuWNs+WPr+WvvOWFpVxcXFxuJyArIHNoYXJlUGFzdGUoSlNPTi5zdHJpbmdpZnkoY29uZmlnKSkgKyAnQGltcG9ydD1qczpldmFsKEpTT04ucGFyc2UoZmV0Y2goXFxcImhpa2VyOi8vcGFnZS9jbG91ZD9ydWxlPeiBmuebtOaSrVxcXCIpKS5ydWxlKSc7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IEpTT04uc3RyaW5naWZ5KGNvbmZpZyk7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJjb3B5Oi8vXFxcIiArIGRhdGE7XFxuICAgICAgICAgICAgfSwgaW5wdXQpXFxuICAgICAgICB9KVxcbiAgICB9KTtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBnZXRDb2xvcmVkVGV4dChcXFwi57yW6L6R5YWo6YOoXFxcIiksXFxuICAgICAgICBjb2xfdHlwZTogXFxcInNjcm9sbF9idXR0b25cXFwiLFxcbiAgICAgICAgdXJsOiBcXFwiZWRpdEZpbGU6Ly9oaWtlcjovL2ZpbGVzL3J1bGVzL2xpdmUvY29uZmlnLmpzb25cXFwiXFxuICAgIH0pO1xcblxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6IFxcXCJibGFua19ibG9ja1xcXCJcXG4gICAgfSk7XFxuXFxuICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KFxcXCJoaWtlcjovL3BhZ2UvY29uZmlnXFxcIikpLnJ1bGUpO1xcbiAgICBjb25maWcgPSBnZXRDb25maWcoKTtcXG4gICAgbGV0IGVkaXRNb2RlID0gZ2V0TXlWYXIoJ2VkaXRNb2RlJywgJ+WQr+eUqOemgeeUqCcpO1xcbiAgICBbJ+WQr+eUqOemgeeUqCcsICfliKDpmaTorqLpmIUnLCAn6YeN5paw5o6S5bqPJywgJ+e8lui+keiuoumYhScsICfmuIXpmaTnvJPlrZgnXS5mb3JFYWNoKCh2KSA9PiB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiB2ID09IGVkaXRNb2RlID8gJ+KAnOKAnOKAneKAnScgKyB2LmJvbGQoKS5mb250Y29sb3IoJyMxOUI4OUQnKSA6IHYsXFxuICAgICAgICAgICAgdXJsOiB2ID09IGVkaXRNb2RlID8gJ2hpa2VyOi8vZW1wdHknIDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgodikgPT4ge1xcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignZWRpdE1vZGUnLCB2KVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgIH0sIHYpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcXG4gICAgICAgIH0pXFxuICAgIH0pO1xcbiAgICBjb25maWcuZGF0YS5mb3JFYWNoKCh2LCBpKSA9PiB7XFxuICAgICAgICBsZXQgZWwgPSB7XFxuICAgICAgICAgICAgdGl0bGU6IHYubmFtZSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfM1xcXCJcXG4gICAgICAgIH1cXG4gICAgICAgIHN3aXRjaCAoZWRpdE1vZGUpIHtcXG4gICAgICAgICAgICBjYXNlICflkK/nlKjnpoHnlKgnOlxcbiAgICAgICAgICAgICAgICBlbC50aXRsZSA9ICh2LmluVmlzaWJsZSA/ICfwn5S0ICcgOiAn8J+foiAnKSArIGVsLnRpdGxlXFxuICAgICAgICAgICAgICAgIGVsLnVybCA9ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGkpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KFxcXCJoaWtlcjovL3BhZ2UvY29uZmlnXFxcIikpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnID0gZ2V0Q29uZmlnKCk7XFxuICAgICAgICAgICAgICAgICAgICBjb25maWcuZGF0YVtpXS5pblZpc2libGUgPSAhY29uZmlnLmRhdGFbaV0uaW5WaXNpYmxlO1xcbiAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL2xpdmUvY29uZmlnLmpzb25cXFwiLCBKU09OLnN0cmluZ2lmeShjb25maWcpKTtcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgICAgICAgICAgfSwgaSlcXG4gICAgICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgICAgICBjYXNlICfliKDpmaTorqLpmIUnOlxcbiAgICAgICAgICAgICAgICBlbC51cmwgPSBcXFwiY29uZmlybTovL+ehruiupOWIoOmZpOKAnFxcXCIgKyB2Lm5hbWUgKyBcXFwi4oCd6K6i6ZiF77yfLmpzOlxcXCIgKyAkLnRvU3RyaW5nKChpKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL2NvbmZpZ1xcXCIpKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZyA9IGdldENvbmZpZygpO1xcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRhdGEuc3BsaWNlKGksIDEpO1xcbiAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL2xpdmUvY29uZmlnLmpzb25cXFwiLCBKU09OLnN0cmluZ2lmeShjb25maWcpKTtcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/lt7LliKDpmaRcXFwiO1xcbiAgICAgICAgICAgICAgICB9LCBpKVxcbiAgICAgICAgICAgICAgICBicmVha1xcbiAgICAgICAgICAgIGNhc2UgJ+mHjeaWsOaOkuW6jyc6XFxuICAgICAgICAgICAgICAgIGxldCBzb3J0RmxhZyA9IHBhcnNlSW50KGdldE15VmFyKCdzb3J0RmxhZycsICctMScpKVxcbiAgICAgICAgICAgICAgICBlbC50aXRsZSA9IChzb3J0RmxhZyA9PSBpID8gJ/CflIMgICcgOiAnJykgKyBlbC50aXRsZVxcbiAgICAgICAgICAgICAgICBpZiAoc29ydEZsYWcgPT0gLTEpXFxuICAgICAgICAgICAgICAgICAgICBlbC51cmwgPSAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChpKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3NvcnRGbGFnJywgaS50b1N0cmluZygpKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/pgInmi6nopoHnp7vliqjliLDnmoTkvY3nva4nXFxuICAgICAgICAgICAgICAgICAgICB9LCBpKVxcbiAgICAgICAgICAgICAgICBlbHNlXFxuICAgICAgICAgICAgICAgICAgICBlbC51cmwgPSAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChvbGRJbmRleCwgbmV3SW5kZXgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL2NvbmZpZ1xcXCIpKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWcgPSBnZXRDb25maWcoKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWcuZGF0YS5zcGxpY2UobmV3SW5kZXgsIDAsIGNvbmZpZy5kYXRhLnNwbGljZShvbGRJbmRleCwgMSlbMF0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL2xpdmUvY29uZmlnLmpzb25cXFwiLCBKU09OLnN0cmluZ2lmeShjb25maWcpKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignc29ydEZsYWcnLCAnLTEnKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgICAgICAgICAgICAgIH0sIHNvcnRGbGFnLCBpKVxcbiAgICAgICAgICAgICAgICBicmVha1xcbiAgICAgICAgICAgIGNhc2UgJ+e8lui+keiuoumYhSc6XFxuICAgICAgICAgICAgICAgIGxldCBhcnIgPSBbJ+e8lui+keWQjeensCcsICfnvJbovpHlnLDlnYAnLCAn57yW6L6R5YaF5a65J107XFxuICAgICAgICAgICAgICAgIGVsLnVybCA9ICQoYXJyLCAzKS5zZWxlY3QoKHYsIGkpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCA9PSAn57yW6L6R5ZCN56ewJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkKHYubmFtZSwgJ+i+k+WFpeaWsOWQjeensCcpLmlucHV0KChpKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KFxcXCJoaWtlcjovL3BhZ2UvY29uZmlnXFxcIikpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcgPSBnZXRDb25maWcoKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0KSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcuZGF0YVtpXS5uYW1lID0gaW5wdXRcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9saXZlL2NvbmZpZy5qc29uXFxcIiwgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/kv67mlLnmiJDlip8nXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5LiN6IO95Li656m6J1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgaSk7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0ID09ICfnvJbovpHlnLDlnYAnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQodi51cmwsICfovpPlhaXmlrDlnLDlnYAnKS5pbnB1dCgoaSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL2NvbmZpZ1xcXCIpKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnID0gZ2V0Q29uZmlnKCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCA9PSBcXFwiXFxcIikge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+S4jeiDveS4uuepulxcXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dC5pbmRleE9mKFxcXCJodHRwXFxcIikgIT0gMCAmJiBpbnB1dC5pbmRleE9mKFxcXCJmaWxlXFxcIikgIT0gMCAmJiBpbnB1dC5pbmRleE9mKFxcXCJoaWtlclxcXCIpICE9IDApIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/pk77mjqXmoLzlvI/mnInor69cXFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcuZGF0YVtpXS51cmwgPSBpbnB1dFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL2xpdmUvY29uZmlnLmpzb25cXFwiLCBKU09OLnN0cmluZ2lmeShjb25maWcpKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+S/ruaUueaIkOWKnydcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIGkpO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dCA9PSAn57yW6L6R5YaF5a65Jykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2LnVybC5zdGFydHNXaXRoKCdmaWxlOi8vJykgfHwgdi51cmwuc3RhcnRzV2l0aCgnaGlrZXI6Ly9maWxlcycpKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnZWRpdEZpbGU6Ly8nICsgdi51cmw7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnZWRpdEZpbGU6Ly9oaWtlcjovL2ZpbGVzL2xpYnMvJyArIG1kNSh2LnVybCkgKyAnLmpzJ1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9LCB2LCBpKTtcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgY2FzZSAn5riF6Zmk57yT5a2YJzpcXG4gICAgICAgICAgICAgICAgZWwudXJsID0gJCgn56Gu5a6a5riF6Zmk4oCcJyArIHYubmFtZSArICfigJ3orqLpmIXnvJPlrZjvvJ9cXFxcbijlj6/nq4vljbPmm7TmlrApJykuY29uZmlybSgodXJsKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBkZWxldGVDYWNoZSh1cmwpO1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+a4hemZpOaIkOWKnydcXG4gICAgICAgICAgICAgICAgfSwgdi51cmwpXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcbiAgICAgICAgZC5wdXNoKGVsKVxcbiAgICB9KTtcXG4gICAgcmV0dXJuIGQ7XFxufVxcblxcbiQuZXhwb3J0cyA9IHtcXG4gICAgcmVuZGVyU2V0dGluZzogcmVuZGVyU2V0dGluZ1xcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuS6keWPo+S7pFwiLFwicGF0aFwiOlwiY2xvdWRcIixcInJ1bGVcIjpcImV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KFxcXCJoaWtlcjovL3BhZ2UvYmF0Y2hJbT9ydWxlPeiBmuebtOaSrVxcXCIpKS5ydWxlKTtcXG5sZXQgY29udGVudCA9IHBhcnNlUGFzdGUoaW5wdXQpO1xcbmJhdGNoSW1wb3J0KGNvbnRlbnQsIFxcXCLogZrnm7Tmkq1cXFwiKTtcIn1dIiwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTXdBQUFETUNBWUFBQUEvSWt6eUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFBWmRFVllkRk52Wm5SM1lYSmxBSGQzZHk1dGJpMXpiMlowTG1OdmJTQmhhaXBBQUFBTjhVbEVRVlI0WHUyZFA0OGJ4eG5HOVJIOEVmeFIxQmxuRjFiaFByV1JSa0RjSlRCVXBIRGh3b0NUSW9VUU5RSlNCWUtMZEE1WkdISGhBUElmeEE0VTJaRUIyNG1DQUNKeU9wMTBrczN3eDV2WEh1MjlKSGZKbmRtWjNlY0JmamplY25idTNabjM0Y3pzbitNbFNaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaS2tQdlhxN01FTHI4eU9MemM1bWgxZjgzaDU5dkNkbCtjUDV4NUg4K043cTUvTEN0bDBQTGVheHgrM0VXMFhtbEVhbTE2YW5iNTRORHU1c2s3NjgyU29OYm1MSTdUbC9OeFVKMWRvNjlEc1VrMEtCcmtoYytTSE5sKzMvYW9QUW5kSUpTcE1wMjZzT20zUjdFUXhHQXY2aEw0SjNTUU5xYkFPdWFxUnBIem9JL3BLNjU4QlJLTXpiMTUxaEVhVCttRFV1U2JqWkpLTU1ocld4Z25kS3ZXdDlScEZVNi9SRWFacVd1UDBwZlgwYTM1OHkydHNNUjdvWTAzVERwUkdsV21oMGVZQWNVYkZhMVF4ZnVqN2tBYlNMb1V6WUZ4UGNSdFRUQU55UUZPMEhRcnJsWSs5QmhUVGcxeVFhVFpJWmhFZU1vMGptVVZzUTZhSkpMT0lOc2cwSzhrc29ndVRONDNPaG9tdWtETWhmYVlsWFdjUit6SzU2elJjemZVYVFvaTJrRU1obmNhdHNHN1I3UzdpSU1paFNheG5WZ2VxR3lsRkw1QkxJYTNHS1UzRlJOK01lbXFtcVpqb0czSXFwTmU0eE5OMTNnRUxjU2prVmtpemNZakYyZXJBOUZpeFNNVmlWQ2NBTkxxSTFJeG1sTkhvSWpJeGpsR0dxN0xPd1FuUk8rUmFTTHQ2cFROakloZlZuekhUZFJlUm02cXZ5M0JucVhkUVFxU0NuQXZwVjU5V0I2REZ2c2pOSXFSZlhlTHJEcHlERVNJNVZYN1ZocVpqWWlpcW5KYnA3SmdZaXVyT2x2SFZiZDZCakpHM1BuKzgvR1R4L1hMeGRMbitlZjJyTTdmY0VCQkxIQnV4ZXVYR1NGVmZIemlWOWN0NzN6NWRKMk1Ua3ZPMUQwN2NmWExBM3phak5DRm1iNSt4VWRVNmh2dDZ2SU1ZRTIvY1BuVVQwaGpLTk52TVloQzd0KytZSUFkRE9wYXZWY0I4ZmJWN0lHUGhEMStmdWNrWWs5czBiY3dDeE83dFB6TG1JUjNMMXhRVy9PL2ZmK1ltWTVOY3BtbHJGaUIycjQ0eFVkWEMzenVBc2ZIdW5TZHVNbnFrTmswWHN3Q3hlL1dNalpDT1pTdmN6dThld0pnZ1NiOTcvSU9ia0I2cFROUFZMTVNjMHJ3bFVjWHQvbE82NGZMMWp4NE5hcHA5ekVMTVhsMWpwSW9iTWFkMmgvSlFwcEZaZGlQREZFcHUwOGdzN1pCaENpYVhhV1NXOWxSeExXYXFob0hVcHBGWnVsR0ZZYVp3bFg4YnFVd2pzM1JIaGtuQW01K2RydSt2NnBLTVU0TzJvWTFvSzY4TlMwV0c2UWsrcmJtVHQ4dElJTTZoeldpN0xsUEpvVGlxNForVmwyNFlybkxMS0lkREcxWnd4MEQ1OTVPVmFoZytFZHZlL3lYYVE1c1dQTnJJTVB2UWRjRXN1dEgyeE1VQWxHK1lsMmNQMzNFQ0h4U1pKVDIwc2RmMkExT0JZVlpCTm9JZWxEYlByWWgrS1BBNUd4bW1DN3VlaWhUOVU5alRuREpNRis0KzFObXczTkRtWGw4TVJVakxjclVLc2dqRGNKSE42MUNSbnBJdWNJYTBMRmVySUlzd3pMNm5rTC80My9mTDJ3OEUwQlplRysyaXBFZWdRMXFXcTFXUWd4dUdVNXhlUjI3akwvOTl0dnpscDZmTG4vLzFrWWlnVFdnYnI4MjJVY3BwNXBDVzVhcUVmNERSZGJGLzg5NlpteXppSjJnanIrMDJVY3JpUDZSbHVmS0N6ZzMzT25tZDZNSFV3MHNRY1JIYXltdERqMUwrQTJoSXkzTGxCWjJiTG9hNS91VVROem5FUldncnJ3MDlaSmlXOG9MT1RaZUxsVzkvOGRoTkRuRVIyc3ByUXc4WnBxVzhvSFB6WVlkRnFnelRIaGttZ2J5Z2N5UERwRUdHU1NBdjZOeklNR21RWVJMSUN6bzNNa3dhWkpnRThvTE9qUXlUQmhrbWdieWdjeVBEcEVHR1NTQXY2TnpJTUdtUVlSTElDem8zTWt3YVpKZ0U4b0xPemFHRytkV25wOHUzLy83NE9YNzlOeGxMaGtrZ0wramM3R3NZVFBIdkhmK0NpZnVwL3ZqTjAwa2FTSVpKSUMvbzNPeGptTi8rNC93K0tUT0VRVjFzODR4MDcrU0g1YzJ2ejVhL3VOM3VzUUJHcmovOTYrbTZQbjd5TjcxeXBTTERKSkFYZEc3Mk1RelRMak5MTTFFTUV2NzZWMDh1MUkrWjJHK2JjVERISnRQVk1sckpNQW5rQloyYmZhZGtYY0E4bUNRMkFhKzlVWU95dkk4NXJDeXYyWi9YeE52Y3AwUmttQVR5Z3M1TlNzTTBSd05HbGFaeC9uei8yWE9qRGFNWDc1dGg3SDNnZDZabmNaMmxJc01ra0JkMGJsSWFacjNQeWdETjdZd2lUT21zWHA2SE45UFlTQUtVWVR0VE8wd1VseXNkR1NhQnZLQnprOG93TnJWaWhQRGVCMDRDV04xbUJzeGgyMkpxTWd2SU1BbmtCWjJiVklaaFpHRWZSZ252ZlNNMkNMRmdDcHVPWVJJTXQ4OFpNdXIxdHZlSk4zb2FNa3dDZVVIbkpwVmhiUFJnS3JYcnpGWThEZHQyNnBudEpDbG1BRjV2S2t0ZG0wWTM0bUZmUnNGNFd4ZVQyUWZDcG1PVFlSTElDem8zZlJ1R0JHSmgzdHlYMGNKT1JaT1l6VVMzTlEwRzR6M3FZUityYzF1Y2pFQld4dXExVVlyRTVyMTR6V1NZbVRFT3J6RXIrMUtmeFdyeE5USEQ4Tk45WDRicFgxN1F1ZW5MTUNSYmZDcDRGeVJvbkd3a3FiMkhvV3pVTWVQRSs1SE1RT3lVd3lTTUpyelBkdXF6M3ltREllSTZETXJ5dC9qSjc1UnJtajBlaFdKa21BSGtCWjJiUGd4akNZZGhxQS96V01LdTkxc2xGZHZzeXIxdHAyeGNqMjFuWHpPTUphYVZaenQxc1QwZXBXS3pVZ1lqOEJxRDhYNGNEL3ViRWF4KzNvL05ZdVZqUS9EYW9BNnJ5N1poN2gvTHlqRDl5d3M2TjMwWWh2ZWFDM05MZUlpM2c0MG1OaG9ZVnA3dGxyelVZMU1ra3QvS0dKUWorWGx0cHJIUnk4ckVvNWRCV2Y2bUhYOGNMMlloK1hsTlBaUXpnK3pDeXNzd0NlUUZuWnMrREVQU1VrLzhpYi9MTUl3QThTZXlKVDNFSXhIMWtJVHhDR0xUTWpQUTcvOTVuc3l4MGVJcG1NVkNlUnU5ek9EMmR3ejI0emhzdTQxRWJHTS9ZL2FmODNianAyM0RWSFk4TWt3Q2VVSG5wZy9EQUlsSXN0a25MQWxrK3pYTE5pRVo0d1NuanRnd3ZMWkU1elVRdDVuSVB2M1pUbDN4U0VRWk14RjFVRGZsTnhtR3NoWUxmNk1acTBFOWxMSGp2ZkMrRE5PL3ZLQnowNWRod0V4aUNXMzd4U05KRXhJdU5vc2xxU1V5ZFZxOWxHTjdiQWo0M2QzbnAzanhGQ3dlclpwUWJ0TjdHQzBlTVp2SU1BUElDem8zZlJvR1NLQjQrZ1FrT05zTkVoVVR4RVlCa3RlUzFCYnQvT1IzeWplTnd1L1V4YlNKMTFiVzRzQXN2R1prYWU1SGZiem5HWWE0dHBrY3FKK3kvSFRmbDJINmx4ZDBidm8yRERTbldMdkFZSEd5Rzk0Mk05MnVoSTRoSG80VGMyQVVNeVUvTFFZelg5dDYyVGRlc3pTUllSTElDem8zS1F3REpKNk5DRFl0YXNKMmt0VGJQd2MyaWxtTVhwbDlrV0VTeUFzNk42a01BMHlWdkZHaUZPSmozelMxMmhjWkpvRzhvSE9UMGpDbFk4ZkZTT2k5ZndneVRBSjVRZWRtcW9aaHltakhSUnQ0WlE1Qmhra2dMK2pjVE5VdzhZSi8yK0o5WDJTWUJQS0N6czJVcDJSMnV0bXU1dmVKREpOQVh0QzVtYkpob08vRnZpSERKSkFYZEc2bWJwaFV5REFKNUFXZEd4a21EVEpNQW5sQjUwYUdTWU1NazBCZTBMbVJZZElnd3lTUUYzUnVaSmcweURBSjVBV2RHeGttRFRKTUFubEI1MGFHU1lNTWswQmUwTGw1Nzl1Zm5vemNoUXpUSGhrbWdZN214eDk3Z2VlRXp2STYwVU9HYWM5djdsejh4eHViS01Rdzg1Q1c1WW9nRzBGbnA0dGh1SlhFU3c1eGtlWlRudHVRWVZxS0lCdEJaK2V0ejl0UEhhRExrNDVUSmI0VHVnMzBnZGMzbVpGaDJ2Q3pEMC9jVHR3RXo0N0lOSnVKbnpSdEMzM2c5VTFtWkppMjNIM1lyWU9CS2NmTmUyZnJkWTE0dkx6KzVaTk8wekNEdHZmNlpBQmttTFowV2NlSWZpbGsvUUxsRytab2ZuekxDVHc3cjMxd3N2eXU0elJDSEE1dFR0dDdmWktibzlueGpaQ1c1V29WNURVditDSFFLSk9mZ2tZWERITXRwR1c1S3Nrd2ZOTHRzNVlSKzBGYmx6SzZnQXl6QjY5LzlFaFRzd3pReHJTMTF3ZERJY1BzU2Rmck1xSTdoVngzZVk0cURQUEs3UGl5Ri96UTBLRWFhZnFITmkzUkxFQXVoclFzVjZVYUJwZ3lmTEpvLy8rUnhYWm95OUttWVRFeVRFOXdKa2VqemY3UWRpV2REZHRFRllaNWRmYmdCUy80MHVCc0RsTUpqVGp0b2Exb3M1TE9oRzJEWEF4cFdiYTg0RXVHQkhqajl1bnkzVHQ4N2Q3WlhxZWkyYTlrdkppM1FSdXdIMjFDMjlSaWtwaVFqdVhyYUg1OHp6dUFXdWlhWU8vZmYrYldVeExFNk1XK0NkckFxNmNXeU1HUWp1VnJGWEFSOTVQdFM5ZTduZC84N05TdHB5U0kwWXQ5RTRYY2JYd0k1ZDlIWmlyeFdreFhtSXA0aWRTRXg2RzkvVXVrN2FQYkhMdTNmMDFVY1EzR2REUTd1ZUlkUkczc21wclZaQlpqbDJscW40b1o1R0JJeC9MMTB1ejBSZThnYW9TcENVbG1aOU5ZRFBNN0MyR3ZmQTBRTzhkZ0p6YzRObjRmd1RUc1I4akJrSTUxcVBhRnY2aVhxaGI4cHRVYzhvWjNNRUtraHR3TGFWaVB4cktPRWZWUjFmb2wxaXI0UmZOZ2hFak1JcVJmZmRLMFRPU215dW1ZcVlZYk1jVzRxT0tHeTIzUzJUS1JpeXJQampXMWN2eFY3K0NFNkJ0eUxhUmR2UXEzKzJ2eEwxS3pxT1oyL2wzaXZoN25BSVhvRFhJc3BGdjkwaWdqRWpPZTBjV2tVVWFrWWxTalN5eWRNUk45TTRvelk1dWs2ektpYjZxLzdySkxxMCtFSXY1WnVhZ2ZjaW1rMVhqRjRreFRNM0VvNU5Eb0Z2cWJwS21aT0pUUlQ4V2E0cXFzMXhCQzdJTGNDV2swTFhGbnFkY2dRbXlDbkFucE16MkY5Y3pnMytzdjZvQmNtY3k2WlpOa0d0RUdtU1dTVENPMkliTTRrbW1FaDh5eVJUS05pSkZaV21odEdwMDltenprZ016U1FicE9NMTBtZTUzbFVIRTFkelVzNnphYWlVQmYwK2VoKzZWOUZOWTF1bUZ6NU5ESG1vTDFLSTAyNDBTalNtTHhkTjJxb2ZXNGMvMHM2TXZRclZKS2hUTnBNazZkckkyaTZkY0FvdEU1bzZLcFd2bUVxZGRWR2FVUXJkYzQ1OWR2Tk9xVUE2UEpEYTFSQ2hkZmQwQkhhZVRKRDIyK2J2dGF2M0ppNnVLcjI0S0JXUFBNWmFMK0NHMDVwMjFwNCtxK0prOXFyN0QrdVd5Y2QvcHpNTDNqNjlNOTNBU3FFTy9ZK0ZDNTFXeVB1SzIwRHBFa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa3FWOWR1dlIvZU9Ic3VJWU1kNTBBQUFBQVNVVk9SSzVDWUlJPSIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment