{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/src/components/SelectTree/index.vue?vue&type=script&lang=js","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/src/components/SelectTree/index.vue","mtime":1737612804136},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/thread-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ci8v54K55Ye75aSW6YOo5YWz6Zet5LiL5ouJ5qGGCmltcG9ydCBDbGlja291dHNpZGUgZnJvbSAiZWxlbWVudC11aS9zcmMvdXRpbHMvY2xpY2tvdXRzaWRlIjsKaW1wb3J0IHsgU3RhZmZEZXBhcnRtZW50TGlzdEFwaSB9IGZyb20gIkAvYXBpL3N0YWZmQXBpLmpzIjsKZXhwb3J0IGRlZmF1bHQgewogIGRpcmVjdGl2ZXM6IHsgQ2xpY2tvdXRzaWRlIH0sCiAgcHJvcHM6IHsKICAgIC8v5YWo6YCJCiAgICBzZWxlY3RBbGw6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0sCiAgICB9LAogICAgLy8g5qCR57uT5p6E5pWw5o2uCiAgICBkYXRhOiB7CiAgICAgIHR5cGU6IEFycmF5LAogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfSwKICAgIH0sCiAgICBvYmo6IHsKICAgICAgdHlwZTogT2JqZWN0LAogICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgIGRlZmF1bHQ6ICgpID0+IHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgaWQ6ICIiLCAvLyBpZAogICAgICAgICAgbGFiZWw6ICIiLCAvLyDmmL7npLrlkI3np7AKICAgICAgICAgIGNoaWxkcmVuOiAiIiwgLy/lrZDnuqflrZfmrrXlkI0KICAgICAgICB9OwogICAgICB9LAogICAgfSwKICAgIC8v6YWN572u5piv5ZCm5Y+v5Lul5pCc57SiCiAgICBmaWx0ZXJhYmxlOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9LAogICAgfSwKICAgIC8v6L6T5YWl5qGG5Y2g5L2N5YC8CiAgICBwbGFjZWhvbGRlcjogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuICLor7fpgInmi6kiOwogICAgICB9LAogICAgfSwKICAgIC8v6YWN572u5piv5ZCm5Y+v5aSa6YCJCiAgICBtdWx0aXBsZTogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfSwKICAgIH0sCiAgICByZW5kZXJBZnRlckV4cGFuZDogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9LAogICAgfSwKICAgIC8vIOmFjee9ruaYr+WQpuWPr+a4heepuumAieaLqQogICAgY2xlYXJhYmxlOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9LAogICAgfSwKICAgIC8vIOmFjee9ruWkmumAieaXtuaYr+WQpuWwhumAieS4reWAvOaMieaWh+Wtl+eahOW9ouW8j+WxleekugogICAgY29sbGFwc2VUYWdzOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9LAogICAgfSwKICAgIC8vIOaYvuekuuWkjemAieahhuaDheWGteS4i++8jOaYr+WQpuS4peagvOmBteW+queItuWtkOS4jeS6kuebuOWFs+iBlAogICAgY2hlY2tTdHJpY3RseTogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfSwKICAgIH0sCiAgICByYWRpb1N0cmljdGx5OiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9LAogICAgfSwKICAgIC8v5aSa6YCJ5piv6K6+572u54K55Ye76IqC54K55piv5ZCm5Y+v5Lul6YCJ5LitCiAgICBjaGVja0NsaWNrTm9kZTogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9LAogICAgfSwKICAgIC8v5aSa6YCJ5pe277ya54K55Ye76IqC54K55bGV5byA6L+Y5piv54K55LiJ6KeS5qCHCiAgICBleHBhbmRDbGlja05vZGU6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0sCiAgICB9LAogICAgLy/pu5jorqTlsZXlvIAKICAgIGRlZmF1bGV4cGFuZDogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9LAogICAgfSwKICAgIC8vIOm7mOiupOmAieS4reeahOiKgueCuWtleQogICAgZGVmYXVsdEtleTogewogICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmcsIEFycmF5LCBPYmplY3RdLAogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfSwKICAgIH0sCiAgICBzaXplOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4gInNtYWxsIjsKICAgICAgfSwKICAgIH0sCiAgICB3aWR0aDogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuICIxMDAlIjsKICAgICAgfSwKICAgIH0sCiAgICBoZWlnaHQ6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiAiMzAwcHgiOwogICAgICB9LAogICAgfSwKICAgIGN1clZhbHVlOiB7CiAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuICIiOwogICAgICB9LAogICAgfSwKICAgIG5vdFBhcmVudGNoZWNrU3RyaWN0bHlDaGlsZGNoZWNrU3RyaWN0bHk6IHsKICAgICAgLy/lrZDpgInkuK3vvIzlrZnot5/nnYDpgInkuK3vvIzkvYbniLbkuI3pgInkuK0tLeOAizHku6PooajnlKjmraTmlrnmoYjvvIww5Luj6KGo5LiN55So5q2k5pa55qGICiAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0sCiAgICB9LAogIH0sCgogIC8v5LiK6Z2i5piv54i257uE5Lu25Y+v5Lyg5YWl5Y+C5pWwCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHBvcG92ZXJXaWR0aDogIjBweCIsIC8v5LiL5ouJ5qGG5aSn5bCPCiAgICAgIGlzU2hvd1NlbGVjdDogZmFsc2UsIC8vIOaYr+WQpuaYvuekuuagkeeKtumAieaLqeWZqAogICAgICBvcHRpb25zOiBbXSwgLy9zZWxlY3Qgb3B0aW9u6YCJ6aG5CiAgICAgIHJldHVybkRhdGFzOiBbXSwgLy/ov5Tlm57nu5nniLbnu4Tku7bmlbDnu4Tlr7nosaEKICAgICAgcmV0dXJuRGF0YUtleXM6IFtdLCAvL+i/lOWbnueItue7hOS7tuaVsOe7hOS4u+mUruWAvAogICAgICBmaWx0ZXJUZXh0OiAiIiwgLy/nrZvpgInnu5HlrprlgLwKICAgICAgY2hlY2tlZEFsbDogZmFsc2UsIC8v5piv5ZCm5pyJ5YWo6YCJ5oyJ6ZKuKOWPquacieWcqOWkmumAieS4i+aJjeiDvemFjee9rikKICAgICAgdHJlZUFycklkOiBbXSwKICAgICAgRGVwYXJ0RGF0YUFycjogW10sCiAgICB9OwogIH0sCgogIG1vdW50ZWQoKSB7CiAgICAvLyB2YXIgdGhhdCA9IHRoaXM7IC8vdGhpc+eahOaMh+WQkemXrumimAogICAgLy8gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoZSkgewogICAgLy8gICBjb25zb2xlLmxvZyhlKTsKICAgIC8vICAgdGhhdC5pc1Nob3dTZWxlY3QgPSBmYWxzZTsgLy/ov5nph4x0aGF05Luj6KGo57uE5Lu277yMdGhpc+S7o+ihqGRvY3VtZW50CiAgICAvLyB9KTsKICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsKICAgICAgaWYgKHRoaXMuY3VyVmFsdWUpIHsKICAgICAgICBpZiAoCiAgICAgICAgICB0eXBlb2YgdGhpcy5jdXJWYWx1ZSAhPSAic3RyaW5nIiAmJgogICAgICAgICAgdHlwZW9mIHRoaXMuY3VyVmFsdWUgIT0gIm51bWJlciIKICAgICAgICApIHsKICAgICAgICAgIHRoaXMuc2V0S2V5cyh0aGlzLmN1clZhbHVlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy5zZXRLZXkodGhpcy5jdXJWYWx1ZSk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9LAoKICBjb21wdXRlZDogewogICAgdHJlZURhdGEoKSB7CiAgICAgIC8vIOiLpemdnuagkeeKtue7k+aehO+8jOWImei9rOWMluS4uuagkeeKtue7k+aehOaVsOaNrgogICAgICBpZiAodGhpcy5vYmouY2hpbGRyZW4gIT0gIiIpIHsKICAgICAgICAvLyByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5kYXRhKS5pbmRleE9mKHRoaXMub2JqLmNoaWxkcmVuKSAhPT0gLTEKICAgICAgICAvLyAgID8gdGhpcy5kYXRhCiAgICAgICAgLy8gICA6IHRoaXMuc3dpdGNoVHJlZSgpOwogICAgICAgIHJldHVybiB0aGlzLmRhdGE7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YTsKICAgICAgfQogICAgfSwKICB9LAogIHdhdGNoOiB7CiAgICByZXR1cm5EYXRhS2V5cyhuZXdWYWx1ZSwgb2xkVmFsdWUpIHsKICAgICAgaWYgKG5ld1ZhbHVlLmxlbmd0aCA9PT0gdGhpcy50cmVlQXJySWQubGVuZ3RoKSB7CiAgICAgICAgdGhpcy5jaGVja2VkQWxsID0gdHJ1ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmNoZWNrZWRBbGwgPSBmYWxzZTsKICAgICAgfQogICAgfSwKICAgIGN1clZhbHVlKHZhbCkgewogICAgICAvL+W8leeUqOe7hOS7tumHjOeahDpjdXJWYWx1ZT0iZGVmYXVsRGF0YSIg5bGe5oCn5bCx5piv5b2T5YmN5bGV56S65Yu+6YCJ55qE5pWw5o2uSWTjgILlm57mmL7mlbDmja7ml7bnu5nov5nkuKrlsZ7mgKfotYvlgLzlsLHooYzkuoYKICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgICAgIGlmICh2YWwpIHsKICAgICAgICAgIGlmICh0eXBlb2YgdmFsICE9ICJzdHJpbmciICYmIHR5cGVvZiB2YWwgIT0gIm51bWJlciIpIHsKICAgICAgICAgICAgdGhpcy5zZXRLZXlzKHZhbCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLnNldEtleSh2YWwpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIGZpbHRlclRleHQodmFsKSB7CiAgICAgIHRoaXMuJHJlZnMudHJlZS5maWx0ZXIodmFsKTsKICAgIH0sCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMKICAgIGlzU2hvd1NlbGVjdCh2YWwpIHsKICAgICAgLy8g6ZqQ6JePc2VsZWN06Ieq5bim55qE5LiL5ouJ5qGGCiAgICAgIHRoaXMuJHJlZnMuc2VsZWN0LmJsdXIoKTsKICAgIH0sCiAgICB0cmVlRGF0YSgpIHsKICAgICAgLy/nm5HlkKx0cmVl5pWw5o2uCiAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsKICAgICAgICB0aGlzLmluaXQoKTsKICAgICAgfSk7CiAgICB9LAogIH0sCiAgY3JlYXRlZCgpIHsKICAgIHRoaXMudHJlZUFycklkID0gW107CiAgICB0aGlzLm9yaWdpblRyZWUodGhpcy50cmVlRGF0YSk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBvcmlnaW5UcmVlKHRyZWVEYXRhKSB7CiAgICAgIHRyZWVEYXRhLmZvckVhY2goKGl0ZW0pID0+IHsKICAgICAgICB0aGlzLnRyZWVBcnJJZC5wdXNoKGl0ZW1bdGhpcy5vYmouaWRdKTsKICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApIHsKICAgICAgICAgIHRoaXMub3JpZ2luVHJlZShpdGVtLmNoaWxkcmVuKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOeCueWHu+WklumDqOWFs+mXrQogICAgcmVwbHlPdXRzaWRlKHYpIHsKICAgICAgbGV0IGUgPSB2IHx8IHdpbmRvdy5ldmVudDsKICAgICAgbGV0IGVsZW0gPSBlLnRhcmdldDsKICAgICAgaWYgKAogICAgICAgIGUudGFyZ2V0LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcigiLnNlbGVjdFRyZWUgKiIpIHx8CiAgICAgICAgZS50YXJnZXQucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKCIuc2VsZWN0VHJlZSIpCiAgICAgICkgewogICAgICAgIC8vcXVlcnlTZWxlY3RvcigpIOaWueazlei/lOWbnuaWh+aho+S4reWMuemFjeaMh+WumiBDU1Mg6YCJ5oup5Zmo55qE5LiA5Liq5YWD57SgCiAgICAgICAgcmV0dXJuOwogICAgICB9IGVsc2UgaWYgKHRoaXMuaXNTaG93U2VsZWN0KSB7CiAgICAgICAgdGhpcy5pc1Nob3dTZWxlY3QgPSBmYWxzZTsKICAgICAgfQogICAgfSwKICAgIGZpbHRlck5vZGUodmFsdWUsIGRhdGEpIHsKICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIHRydWU7CiAgICAgIHJldHVybiBkYXRhW3RoaXMub2JqLmxhYmVsXS5pbmRleE9mKHZhbHVlKSAhPT0gLTE7CiAgICB9LAoKICAgIGluaXQoKSB7CiAgICAgIC8vIGRlYnVnZ2VyCiAgICAgIGlmICh0aGlzLmRlZmF1bHRLZXkgIT0gdW5kZWZpbmVkICYmIHRoaXMuZGVmYXVsdEtleS5sZW5ndGggPiAwKSB7CiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHsKICAgICAgICAgIC8vIOWkmumAiQogICAgICAgICAgaWYgKAogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcy5kZWZhdWx0S2V5KS5pbmRleE9mKCJBcnJheSIpICE9CiAgICAgICAgICAgIC0xCiAgICAgICAgICApIHsKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcKICAgICAgICAgICAgICAgIC5jYWxsKHRoaXMuZGVmYXVsdEtleVswXSkKICAgICAgICAgICAgICAgIC5pbmRleE9mKCJPYmplY3QiKSAhPSAtMQogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAvL+WvueixoQogICAgICAgICAgICAgIHRoaXMuc2V0RGF0YXModGhpcy5kZWZhdWx0S2V5KTsKICAgICAgICAgICAgfSBlbHNlIGlmICgKICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAgICAgICAgICAgICAgICAuY2FsbCh0aGlzLmRlZmF1bHRLZXlbMF0pCiAgICAgICAgICAgICAgICAuaW5kZXhPZigiTnVtYmVyIikgIT0gLTEgfHwKICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAgICAgICAgICAgICAgICAuY2FsbCh0aGlzLmRlZmF1bHRLZXlbMF0pCiAgICAgICAgICAgICAgICAuaW5kZXhPZigiU3RyaW5nIikgIT0gLTEKICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgdGhpcy5zZXRLZXlzKHRoaXMuZGVmYXVsdEtleSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgY29uc29sZS5sb2coIuWkmumAie+8muS8oOWFpeWPguaVsOexu+Wei+S4jeWMuemFjSIpOwogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS5sb2coIuWkmumAie+8muS8oOWFpeWPguaVsOexu+Wei+S4jeWMuemFjSIpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIOWNlemAiQogICAgICAgICAgaWYgKAogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcy5kZWZhdWx0S2V5KS5pbmRleE9mKCJOdW1iZXIiKSAhPQogICAgICAgICAgICAgIC0xIHx8CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0aGlzLmRlZmF1bHRLZXkpLmluZGV4T2YoIlN0cmluZyIpICE9CiAgICAgICAgICAgICAgLTEgfHwKICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMuZGVmYXVsdEtleSkuaW5kZXhPZigiT2JqZWN0IikgIT0KICAgICAgICAgICAgICAtMQogICAgICAgICAgKSB7CiAgICAgICAgICAgIHRoaXMuc2V0S2V5KHRoaXMuZGVmYXVsdEtleSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zb2xlLmxvZygi5Y2V6YCJ77ya5Lyg5YWl5Y+C5pWw57G75Z6L5LiN5Yy56YWNIik7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAvL+S4i+aLieahhnNlbGVjdOeCueWHu1vlhaXlj6NdCiAgICBzZWxlY3RDbGljaygpIHsKICAgICAgdGhpcy5EZXBhcnRQb3B0YWJsZURhdGFsaXN0KCk7IC8v54K55Ye76YCJ5oup5qGG5p+l6K+i6YOo6Zeo5YiX6KGoCiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAvL+iuvue9ruS4i+aLieahhuiHqumAguW6lOWuveW6pgogICAgICAgIHRoaXMucG9wb3ZlcldpZHRoID0gdGhpcy4kcmVmcy5zZWxlY3QuJGVsLmNsaWVudFdpZHRoOwogICAgICB9KTsKICAgICAgLy/mmL7npLrkuIvmi4nmoYYKICAgICAgcmV0dXJuICh0aGlzLmlzU2hvd1NlbGVjdCA9ICF0aGlzLmlzU2hvd1NlbGVjdCk7CiAgICB9LAogICAgRGVwYXJ0UG9wdGFibGVEYXRhbGlzdCgpIHsKICAgICAgaWYodGhpcy5kYXRhICYmIHRoaXMuZGF0YS5sZW5ndGgpewogICAgICAgIHRoaXMuRGVwYXJ0RGF0YUFyciA9IHRoaXMuZGF0YTsKICAgICAgICB0aGlzLiRlbWl0KCJzZWxlY3RDbGlja1QiLCB0aGlzLkRlcGFydERhdGFBcnIpOwogICAgICAgIHRoaXMuc29ydFRhYmxlRGF0YSh0aGlzLkRlcGFydERhdGFBcnIpOwogICAgICB9ZWxzZXsKICAgICAgICAvL+eCueWHu+mAieaLqeahhuafpeivoumDqOmXqOWIl+ihqAogICAgICAgIGxldCBvYmogPSB7IGRvbWFpbklkOiB0aGlzLiRyb3V0ZS5xdWVyeS5kb21haW5JZCB9OyAvL+iOt+WPlnVybOWfn2RvbWFpbklkCiAgICAgICAgU3RhZmZEZXBhcnRtZW50TGlzdEFwaShvYmopLnRoZW4oKHJlc3BvbnNlKSA9PiB7CiAgICAgICAgICBpZiAocmVzcG9uc2UuZGF0YSkgewogICAgICAgICAgICB0aGlzLkRlcGFydERhdGFBcnIgPSByZXNwb25zZS5kYXRhOwogICAgICAgICAgICB0aGlzLiRlbWl0KCJzZWxlY3RDbGlja1QiLCB0aGlzLkRlcGFydERhdGFBcnIpOwogICAgICAgICAgICB0aGlzLnNvcnRUYWJsZURhdGEodGhpcy5EZXBhcnREYXRhQXJyKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgfSwKICAgIHNvcnRUYWJsZURhdGEoYXJyKSB7CiAgICAgIC8v6YCS5b2S5o6S5bqPCiAgICAgIGlmIChhcnI/Lmxlbmd0aCkgewogICAgICAgIGFyci5mb3JFYWNoKChpdGVtKSA9PiB7CiAgICAgICAgICBpdGVtLmRpc3BsYXlPcmRlck51bWJlciA9IGl0ZW0uZGlzcGxheU9yZGVyOwogICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCkgewogICAgICAgICAgICB0aGlzLnNvcnRUYWJsZURhdGEoaXRlbS5jaGlsZHJlbik7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgY29uc29sZS5sb2codGhpcy50YWJsZURhdGEpOwogICAgfSwKICAgIC8v5Y2V6YCJOiDmoJHngrnlh7vmlrnms5UKICAgIG5vZGVDbGljayhkYXRhLCBub2RlKSB7CiAgICAgIC8vZGF0YeS4um9iauW9k+WJjemDqOmXqOaVsOaNruS7peWPimNoaWxkcmVu5pWw5o2u77yMbm9kZeS4umJvb2xlYW7lgLzvvIzpgInkuK3kuLp0cnVl77yM5Y+W5raI5Li6ZmFsc2UKICAgICAgLy8gIGRlYnVnZ2VyCiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkgewogICAgICAgIHRoaXMuaXNTaG93U2VsZWN0ID0gZmFsc2U7CiAgICAgICAgLy/ljZXpgInniLblrZDoioLngrnkuI3lhbPogZQKICAgICAgICBpZiAodGhpcy5yYWRpb1N0cmljdGx5KSB7CiAgICAgICAgICB0aGlzLnNldEtleShub2RlLmtleSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vICAgaWYgKG5vZGUubGV2ZWwgIT0gMSkgewogICAgICAgICAgLy8gICAgIHRoaXMuc2V0S2V5KG5vZGUua2V5KTsKICAgICAgICAgIC8vICAgfSBlbHNlIGlmIChub2RlLmxldmVsID09IDEgJiYgdGhpcy5vYmouY2hpbGRyZW4gPT0gIiIpIHsKICAgICAgICAgIC8vICAgICB0aGlzLnNldEtleShub2RlLmtleSk7CiAgICAgICAgICAvLyAgIH0KICAgICAgICAgIGlmIChub2RlLmxldmVsKSB7CiAgICAgICAgICAgIHRoaXMuc2V0S2V5KG5vZGUua2V5KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy/lpJrpgIkKICAgICAgICBkZWJ1Z2dlcjsKICAgICAgICAvL+aWsOWinuWKoOWkjemAieahhueahOaWueahiC0tLy/lrZDpgInkuK3vvIzlrZnot5/nnYDpgInkuK3vvIzkvYbniLbkuI3pgInkuK0tLeOAi25vdFBhcmVudGNoZWNrU3RyaWN0bHlDaGlsZGNoZWNrU3RyaWN0bHk6MeS7o+ihqOeUqOatpOaWueahiO+8jDDku6PooajkuI3nlKjmraTmlrnmoYgKICAgICAgICBpZiAodGhpcy5ub3RQYXJlbnRjaGVja1N0cmljdGx5Q2hpbGRjaGVja1N0cmljdGx5ID09IDEpIHsKICAgICAgICAgIC8v5a2Q6YCJ5LitLS3lrZnlrZnot5/nnYDpgInkuK3vvIzkvYbniLbkuI3pgInkuK0KICAgICAgICAgIEFycmF5LmlzQXJyYXkoZGF0YS5jaGlsZHJlbikgJiYKICAgICAgICAgICAgZGF0YS5jaGlsZHJlbi5mb3JFYWNoKChpdGVtKSA9PiB7CiAgICAgICAgICAgICAgdGhpcy4kcmVmcy50cmVlLnNldENoZWNrZWQoaXRlbSwgbm9kZSk7CiAgICAgICAgICAgICAgaWYgKG5vZGUpIHsKICAgICAgICAgICAgICAgIC8v5aaC5p6cbm9kZeS4unRydWXpgInkuK0KICAgICAgICAgICAgICAgIHRoaXMuJHNldChpdGVtLCAiZGlzYWJsZWQiLCB0cnVlKTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy/lkKbliJnkuI3pgInkuK0KICAgICAgICAgICAgICAgIHRoaXMuJHNldChpdGVtLCAiZGlzYWJsZWQiLCBmYWxzZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHRoaXMubm9kZUNsaWNrKGl0ZW0sIG5vZGUpOyAvL+mAkuW9kuW+queOr+mBjeWOhmNoaWxkcmVuCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgdmFyIGNoZWNrZWRLZXlzID0gdGhpcy4kcmVmcy50cmVlLmdldENoZWNrZWRLZXlzKCk7IC8vIOaJgOacieiiq+mAieS4reeahOiKgueCueeahCBrZXkg5omA57uE5oiQ55qE5pWw57uE5pWw5o2uCgogICAgICAgIGNoZWNrZWRLZXlzID0gY2hlY2tlZEtleXMuZmlsdGVyKGZ1bmN0aW9uIChzKSB7CiAgICAgICAgICBpZiAodHlwZW9mIHMgPT0gIlN0cmluZyIpIHsKICAgICAgICAgICAgcmV0dXJuIHMgJiYgcy50cmltKCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gczsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICB2YXIgdCA9IFtdOwogICAgICAgIGNoZWNrZWRLZXlzID0gdGhpcy51bmlxdWUoY2hlY2tlZEtleXMpOwogICAgICAgIHRoaXMub3B0aW9ucyA9IGNoZWNrZWRLZXlzLm1hcCgoaXRlbSkgPT4gewogICAgICAgICAgaWYgKGl0ZW0gIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuJHJlZnMudHJlZS5nZXROb2RlKGl0ZW0pOyAvLyDmiYDmnInooqvpgInkuK3nmoToioLngrnlr7nlupTnmoRub2RlCiAgICAgICAgICAgIHQucHVzaChub2RlLmRhdGEpOwogICAgICAgICAgfQogICAgICAgICAgLy/orr7nva5vcHRpb27pgInpobkKICAgICAgICAgIHJldHVybiB7IGxhYmVsOiBub2RlLmxhYmVsLCB2YWx1ZTogbm9kZS5rZXkgfTsKICAgICAgICB9KTsKCiAgICAgICAgdGhpcy5yZXR1cm5EYXRhS2V5cyA9IHRoaXMub3B0aW9ucy5tYXAoKGl0ZW0pID0+IHsKICAgICAgICAgIHJldHVybiBpdGVtLnZhbHVlOwogICAgICAgIH0pOwogICAgICAgIHRoaXMucmV0dXJuRGF0YXMgPSB0OwogICAgICAgIHRoaXMucG9wb3ZlckhpZGUoKTsKICAgICAgfQogICAgfSwKICAgIHVuaXF1ZShhcnIpIHsKICAgICAgLy/ljrvph40KICAgICAgcmV0dXJuIGFyci5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0sIGluZGV4LCBhcnIpIHsKICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoaXRlbSwgMCkgPT09IGluZGV4OwogICAgICB9KTsKICAgIH0sCiAgICAvL+WNlemAiTrmuIXnqbrpgInkuK0KICAgIGNsZWFuKCkgewogICAgICB0aGlzLiRyZWZzLnRyZWUuc2V0Q3VycmVudEtleShudWxsKTsgLy/muIXpmaTmoJHpgInkuK1rZXkKICAgICAgdGhpcy5yZXR1cm5EYXRhcyA9IG51bGw7CiAgICAgIHRoaXMucmV0dXJuRGF0YUtleXMgPSAiIjsKICAgICAgdGhpcy5wb3BvdmVySGlkZSgpOwogICAgfSwKICAgIC8v5Y2V6YCJOuiuvue9ruOAgeWIneWni+WMluWAvCBrZXkKICAgIHNldEtleSh0aGlzS2V5KSB7CiAgICAgIHRoaXMuJHJlZnMudHJlZS5zZXRDdXJyZW50S2V5KHRoaXNLZXkpOwogICAgICB2YXIgbm9kZSA9IHRoaXMuJHJlZnMudHJlZS5nZXROb2RlKHRoaXNLZXkpOwogICAgICBpZiAobm9kZSkgewogICAgICAgIHRoaXMuc2V0RGF0YShub2RlLmRhdGEpOwogICAgICB9CiAgICB9LAogICAgLy/ljZXpgInvvJrorr7nva7jgIHliJ3lp4vljJblr7nosaEKICAgIHNldERhdGEoZGF0YSkgewogICAgICB0aGlzLm9wdGlvbnMgPSBbXTsKICAgICAgdGhpcy5vcHRpb25zLnB1c2goewogICAgICAgIGxhYmVsOiBkYXRhW3RoaXMub2JqLmxhYmVsXSwKICAgICAgICB2YWx1ZTogZGF0YVt0aGlzLm9iai5pZF0sCiAgICAgIH0pOwogICAgICB0aGlzLnJldHVybkRhdGFzID0gZGF0YTsKICAgICAgdGhpcy5yZXR1cm5EYXRhS2V5cyA9IGRhdGFbdGhpcy5vYmouaWRdOwogICAgfSwKICAgIC8v5aSa6YCJOuiuvue9ruOAgeWIneWni+WMluWAvCBrZXlzCiAgICBzZXRLZXlzKHRoaXNLZXlzKSB7CiAgICAgIC8vIGRlYnVnZ2VyCiAgICAgIHRoaXMuJHJlZnMudHJlZS5zZXRDaGVja2VkS2V5cyh0aGlzS2V5cyk7CiAgICAgIHRoaXMucmV0dXJuRGF0YUtleXMgPSB0aGlzS2V5czsKICAgICAgdmFyIHQgPSBbXTsKICAgICAgdGhpc0tleXMubWFwKChpdGVtKSA9PiB7CiAgICAgICAgLy/orr7nva5vcHRpb27pgInpobkKICAgICAgICB2YXIgbm9kZSA9IHRoaXMuJHJlZnMudHJlZS5nZXROb2RlKGl0ZW0pOyAvLyDmiYDmnInooqvpgInkuK3nmoToioLngrnlr7nlupTnmoRub2RlCiAgICAgICAgdC5wdXNoKG5vZGUuZGF0YSk7CiAgICAgICAgcmV0dXJuIHsgbGFiZWw6IG5vZGUubGFiZWwsIHZhbHVlOiBub2RlLmtleSB9OwogICAgICB9KTsKICAgICAgdGhpcy5yZXR1cm5EYXRhcyA9IHQ7CiAgICAgIHRoaXMucG9wb3ZlckhpZGUoKTsKICAgIH0sCiAgICAvL+WkmumAiTrorr7nva7jgIHliJ3lp4vljJblr7nosaEKICAgIHNldERhdGFzKGRhdGEpIHsKICAgICAgdGhpcy4kcmVmcy50cmVlLnNldENoZWNrZWROb2RlcyhkYXRhKTsKICAgICAgdGhpcy5yZXR1cm5EYXRhcyA9IGRhdGE7CiAgICAgIHZhciB0ID0gW107CiAgICAgIGRhdGEubWFwKChpdGVtKSA9PiB7CiAgICAgICAgLy/orr7nva5vcHRpb27pgInpobkKICAgICAgICB0LnB1c2goaXRlbVt0aGlzLm9iai5pZF0pOwogICAgICB9KTsKICAgICAgdGhpcy5yZXR1cm5EYXRhS2V5cyA9IHQ7CiAgICAgIHRoaXMucG9wb3ZlckhpZGUoKTsKICAgIH0sCiAgICAvLyDlpJrpgIks5Yig6Zmk5Lu75LiAc2VsZWN06YCJ6aG555qE5Zue6LCDCiAgICByZW1vdmVUYWcodmFsKSB7CiAgICAgIHRoaXMuJHJlZnMudHJlZS5zZXRDaGVja2VkKHZhbCwgZmFsc2UpOyAvL+iuvue9ruS4uuacqumAieS4rQogICAgICB2YXIgbm9kZSA9IHRoaXMuJHJlZnMudHJlZS5nZXROb2RlKHZhbCk7IC8v6I635Y+W6IqC54K5CiAgICAgIGlmICghdGhpcy5jaGVja1N0cmljdGx5ICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggPiAwKSB7CiAgICAgICAgdGhpcy50cmVlVG9MaXN0KG5vZGUpLm1hcCgoaXRlbSkgPT4gewogICAgICAgICAgaWYgKGl0ZW0uY2hpbGROb2Rlcy5sZW5ndGggPD0gMCkgewogICAgICAgICAgICB0aGlzLiRyZWZzLnRyZWUuc2V0Q2hlY2tlZChpdGVtLCBmYWxzZSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgdGhpcy5ub2RlQ2xpY2soKTsKICAgICAgdGhpcy5wb3BvdmVySGlkZSgpOwogICAgfSwKICAgIC8v5LiL5ouJ5qGG5YWz6Zet5omn6KGMCiAgICBwb3BvdmVySGlkZSgpIHsKICAgICAgdGhpcy4kZW1pdCgiZ2V0VmFsdWUiLCB0aGlzLnJldHVybkRhdGFLZXlzLCB0aGlzLnJldHVybkRhdGFzKTsKICAgIH0sCiAgICAvLyDlpJrpgInvvIzmuIXnqbrmiYDmnInli77pgIkKICAgIGNsZWFyU2VsZWN0ZWROb2RlcygpIHsKICAgICAgdmFyIGNoZWNrZWRLZXlzID0gdGhpcy4kcmVmcy50cmVlLmdldENoZWNrZWRLZXlzKCk7IC8vIOaJgOacieiiq+mAieS4reeahOiKgueCueeahCBrZXkg5omA57uE5oiQ55qE5pWw57uE5pWw5o2uCiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hlY2tlZEtleXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB0aGlzLiRyZWZzLnRyZWUuc2V0Q2hlY2tlZChjaGVja2VkS2V5c1tpXSwgZmFsc2UpOwogICAgICB9CiAgICB9LAogICAgLy/lpJrpgIkgIOWFqOmAiQogICAgc2VsZWN0ZWRBbGwodmFsKSB7CiAgICAgIGlmICh2YWwpIHsKICAgICAgICB0aGlzLnNldEtleXModGhpcy50cmVlQXJySWQpOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuY2xlYXJTZWxlY3RlZE5vZGVzKCk7CiAgICAgIH0KICAgIH0sCiAgICAvL+agkeW9oui9rOS4uumbhuWQiAogICAgdHJlZVRvTGlzdCh0cmVlKSB7CiAgICAgIHZhciBxdWVlbiA9IFtdOwogICAgICB2YXIgb3V0ID0gW107CiAgICAgIHF1ZWVuID0gcXVlZW4uY29uY2F0KHRyZWUpOwogICAgICB3aGlsZSAocXVlZW4ubGVuZ3RoKSB7CiAgICAgICAgdmFyIGZpcnN0ID0gcXVlZW4uc2hpZnQoKTsKICAgICAgICBpZiAoZmlyc3QuY2hpbGROb2RlcykgewogICAgICAgICAgcXVlZW4gPSBxdWVlbi5jb25jYXQoZmlyc3QuY2hpbGROb2Rlcyk7CiAgICAgICAgfQogICAgICAgIG91dC5wdXNoKGZpcnN0KTsKICAgICAgfQogICAgICByZXR1cm4gb3V0OwogICAgfSwKICAgIHN3aXRjaFRyZWUoKSB7CiAgICAgIHJldHVybiB0aGlzLmJ1aWxkVHJlZSh0aGlzLmRhdGEsIHRoaXMuZGVmYXVsdFZhbHVlKTsKICAgIH0sCiAgICAvLyDlsIbkuIDnu7TnmoTmiYHlubPmlbDnu4TovazmjaLkuLrlpJrlsYLnuqflr7nosaEKICAgIGJ1aWxkVHJlZShkYXRhLCBpZCkgewogICAgICBjb25zdCBmYSA9IChpZCkgPT4gewogICAgICAgIGNvbnN0IHRlbXAgPSBbXTsKICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGNvbnN0IG4gPSBkYXRhW2ldOwogICAgICAgICAgaWYgKG5bdGhpcy5vYmoucGlkXSA9PT0gaWQpIHsKICAgICAgICAgICAgblt0aGlzLm9iai5jaGlsZHJlbl0gPSBmYShuW3RoaXMub2JqLmlkXSk7CiAgICAgICAgICAgIHRlbXAucHVzaChuKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRlbXA7CiAgICAgIH07CiAgICAgIHJldHVybiBmYShpZCk7CiAgICB9LAogIH0sCn07Cg=="},null]}