Sanakey
2021-07-09 3fc241d02fb8b671289de3d9d80bf848349c04d4
modules/app.js
@@ -55,6 +55,7 @@
    console.log('WssHost', WssHost);
    wx.globalData.socketHost = WssHost;
    wx.globalData.reqBase = HttpHost;
    getSystemInfo();
};
var getFromUserId = function (options) {
    var FromUserId;
@@ -79,6 +80,18 @@
    }
    return FromUserId;
};
var getSystemInfo = function () {
    wx.getSystemInfo({
        success: function (res) {
            console.log('机型信息', res);
            wx.globalData.systemInfo = res;
            if (res.model.search('iPhone X') !== -1) {
                wx.globalData.isIphoneX = true;
            }
            console.log(res, '是否iphoneX:', wx.globalData.isIphoneX);
        }
    });
};
var getUrlKey = function (url) {
    var params = {};
    var arr = url.split("&");
@@ -93,7 +106,8 @@
    return __generator(this, function (_a) {
        switch (_a.label) {
            case 0: return [4, wx.$utils.to(wx.$http.request({
                    url: '/wx/miniapp/user/getSessionId.do'
                    url: '/wx/miniapp/user/getSessionId.do',
                    isShowLoading: false
                }))];
            case 1: return [2, _a.sent()];
        }
@@ -104,6 +118,7 @@
        switch (_a.label) {
            case 0: return [4, wx.$utils.to(wx.$http.request({
                    url: '/shopping/free.do?m=getFreeList',
                    isShowLoading: false
                }))];
            case 1: return [2, _a.sent()];
        }
@@ -132,6 +147,7 @@
            case 0: return [4, wx.$utils.to(wx.$http.request({
                    url: '/wx/miniapp/user/panicBuyingLogin.do',
                    data: data,
                    isShowLoading: false
                }))];
            case 1: return [2, _a.sent()];
        }
@@ -142,12 +158,13 @@
        switch (_a.label) {
            case 0: return [4, wx.$utils.to(wx.$http.request({
                    url: '/shopping/getSettingEntity.do',
                    isShowLoading: false
                }))];
            case 1: return [2, _a.sent()];
        }
    });
}); };
var login = function (options) { return __awaiter(_this, void 0, void 0, function () {
var login = function () { return __awaiter(_this, void 0, void 0, function () {
    var _a, wxLoginError, wxLoginRes, _b, error, doLoginRes;
    return __generator(this, function (_c) {
        switch (_c.label) {
@@ -158,14 +175,11 @@
                    console.log(wxLoginError);
                    return [2, false];
                }
                console.log('...099', wxLoginRes);
                console.log('...wxLoginRes', wxLoginRes);
                return [4, doLogin({
                        FromUserId: wx.globalData.FromUserId,
                        code: wxLoginRes.code,
                        AppId: wx.globalData.AppId,
                        wx: 3,
                        SceneCode: options ? options.scene : '',
                        FromOpenId: wx.globalData.FromOpenId ? wx.globalData.FromOpenId : ''
                        SceneCode: wx.globalData.scene || '',
                        FromOpenId: wx.globalData.FromOpenId || ''
                    })];
            case 2:
                _b = _c.sent(), error = _b[0], doLoginRes = _b[1];
@@ -176,6 +190,7 @@
                console.log('666', doLoginRes);
                wx.globalData.loginData = doLoginRes;
                wx.globalData.OpenId = doLoginRes.OpenId;
                wx.setStorageSync("sessionID", doLoginRes.JSESSIONID);
                return [2, true];
        }
    });
@@ -212,4 +227,4 @@
    getSettingsData: getSettingsData,
    login: login
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlCQTRNQTs7QUE1TUEsSUFBTSxhQUFhLEdBQUksVUFBQyxPQUFXO0lBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXRDLElBQUksVUFBVSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFFMUQsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUM1QyxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztJQUV4RCxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXpELElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztJQUNsRSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxH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LEtBQUssT0FBQTtDQUNOLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBoYW5kbGVPcHRpb25zID0gIChvcHRpb25zOmFueSk9PntcclxuICBjb25zb2xlLmxvZygn5bCP56iL5bqPb25MYXVuY2jkuovku7YnLCBvcHRpb25zKTtcclxuICAvL3RoaXMuaXNGaXJzdE9wZW5BcHAgPSB0cnVlO1xyXG4gIGxldCBGcm9tVXNlcklkID0gZ2V0RnJvbVVzZXJJZChvcHRpb25zKTtcclxuICB3eC5nbG9iYWxEYXRhLkZyb21PcGVuSWQgPSBvcHRpb25zLnF1ZXJ5LkZyb21PcGVuSWQgfHwgJyc7XHJcbiAgLy8gdGhpcy5nbG9iYWxEYXRhLlJlZmVycmVyT3BlbklkID0gb3B0aW9ucy5xdWVyeS5SZWZlcnJlck9wZW5JZCB8fCAnJztcclxuICB3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQgPSBGcm9tVXNlcklkIHx8ICcnO1xyXG4gIHd4Lmdsb2JhbERhdGEudGVtcEZyb21Vc2VySWQgPSB3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQ7XHJcblxyXG4gIGNvbnNvbGUubG9nKCdGcm9tT3Blbklk5pivJywgd3guZ2xvYmFsRGF0YS5Gcm9tT3BlbklkKTtcclxuICBjb25zb2xlLmxvZygnRnJvbVVzZXJJZOaYrycsIHd4Lmdsb2JhbERhdGEuRnJvbVVzZXJJZCk7XHJcbiAgY29uc29sZS5sb2coJ1JlZmVycmVyT3Blbklk5pivJywgd3guZ2xvYmFsRGF0YS5Gcm9tT3BlbklkKTtcclxuXHJcbiAgbGV0IEh0dHBIb3N0ID0gd3guZ2V0RXh0Q29uZmlnU3luYygpLkh0dHBIb3N0O1xyXG4gIGNvbnNvbGUubG9nKCdIdHRwSG9zdCcsSHR0cEhvc3QpO1xyXG4gIHd4Lmdsb2JhbERhdGEuY2FydEluZGV4ID0gd3guZ2V0RXh0Q29uZmlnU3luYygpLkZvb3Rlck51bVBvc2l0aW9uO1xyXG4gIEh0dHBIb3N0LmluZGV4T2YoJ2h0dHBzOi8vJykgPiAtMSA/IEh0dHBIb3N0IDogKEh0dHBIb3N0ID0gJ2h0dHBzOi8vJyArIEh0dHBIb3N0KTtcclxuICBsZXQgV3NzSG9zdCA9IHd4LmdldEV4dENvbmZpZ1N5bmMoKS5Xc3NIb3N0O1xyXG4gIFdzc0hvc3QuaW5kZXhPZignd3NzOi8vJykgPiAtMSA/IFdzc0hvc3QgOiAoV3NzSG9zdCA9ICd3c3M6Ly8nICsgV3NzSG9zdCk7XHJcbiAgY29uc29sZS5sb2coJ0h0dHBIb3N0JyxIdHRwSG9zdCk7XHJcbiAgY29uc29sZS5sb2coJ1dzc0hvc3QnLFdzc0hvc3QpO1xyXG4gIHd4Lmdsb2JhbERhdGEuc29ja2V0SG9zdCA9IFdzc0hvc3Q7XHJcbiAgd3guZ2xvYmFsRGF0YS5yZXFCYXNlID0gSHR0cEhvc3Q7XHJcbn1cclxuXHJcbi8vIOiOt+WPlnNjZW5l5YaF55qE5Y+C5pWwXHJcbmNvbnN0IGdldEZyb21Vc2VySWQgPSAob3B0aW9uczphbnkpPT4ge1xyXG4gIGxldCBGcm9tVXNlcklkO1xyXG4gIC8vIOS7jnVybOebtOaOpeWPluWAvFxyXG5cclxuICAvLyBpZiAoKCFGcm9tVXNlcklkIHx8IEZyb21Vc2VySWQgPT0gJycpICYmIG9wdGlvbnMuc2NlbmUpIHtcclxuICAvLyAgIEZyb21Vc2VySWQgPSB0aGlzLmdldFVybGtleShkZWNvZGVVUklDb21wb25lbnQob3B0aW9ucy5zY2VuZSkpWydGcm9tVXNlcklkJ107XHJcbiAgLy8gfVxyXG5cclxuICAvLyDku47lsI/nqIvluo/noIHov5vlhaVcclxuICBpZiAgKG9wdGlvbnMuc2NlbmUgPT0gMTA0N3x8b3B0aW9ucy5zY2VuZSA9PSAxMDQ4fHxvcHRpb25zLnNjZW5lID09IDEwNDkpIHtcclxuXHJcbiAgICBsZXQgcGFyYW1zID0gZ2V0VXJsS2V5KGRlY29kZVVSSUNvbXBvbmVudChvcHRpb25zLnF1ZXJ5LnNjZW5lKSk7XHJcbiAgICBGcm9tVXNlcklkID0gcGFyYW1zLkZyb21Vc2VySWQgfHwgb3B0aW9ucy5xdWVyeS5Gcm9tVXNlcklkO1xyXG4gICAgbGV0IHJvb21pZCA9IHBhcmFtcy5yb29taWQgfHwgb3B0aW9ucy5xdWVyeS5yb29taWQ7XHJcbiAgICBjb25zb2xlLmxvZygn5omr56CB6L+b5YWl5bCP56iL5bqPLCDlnLDlnYDkuIrnmoRGcm9tVXNlcklk5Li6JyxGcm9tVXNlcklkICk7XHJcbiAgICBpZiAocm9vbWlkKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCfmiavnoIHov5vlhaXlsI/nqIvluo/nm7Tmkq3pl7QsIOWcsOWdgOS4iueahHJvb21pZOS4uicscm9vbWlkLCfvvIxGcm9tVXNlcklk5Li6JyxGcm9tVXNlcklkICk7XHJcbiAgICAgIGxldCBjdXN0b21QYXJhbXMgPSBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgIEZyb21Vc2VySWQ6IEZyb21Vc2VySWRcclxuICAgICAgfSkpXHJcbiAgICAgIGNvbnNvbGUubG9nKGBwbHVnaW4tcHJpdmF0ZTovL3d4MmIwM2M2ZTY5MWNkNzM3MC9wYWdlcy9saXZlLXBsYXllci1wbHVnaW4/cm9vbV9pZD0ke3Jvb21pZH0mY3VzdG9tX3BhcmFtcz0ke2N1c3RvbVBhcmFtc31gKVxyXG4gICAgICB3eC5yZUxhdW5jaCh7XHJcbiAgICAgICAgdXJsOiBgcGx1Z2luLXByaXZhdGU6Ly93eDJiMDNjNmU2OTFjZDczNzAvcGFnZXMvbGl2ZS1wbGF5ZXItcGx1Z2luP3Jvb21faWQ9JHtyb29taWR9JmN1c3RvbV9wYXJhbXM9JHtjdXN0b21QYXJhbXN9YFxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWYoIUZyb21Vc2VySWQpe1xyXG4gICAgRnJvbVVzZXJJZCA9IG9wdGlvbnMucXVlcnkuRnJvbVVzZXJJZDtcclxuICB9XHJcbiAgcmV0dXJuIEZyb21Vc2VySWQ7XHJcbn1cclxuXHJcbi8vIGNvbnN0IGhhbmRsZUZyb21Vc2VySWRDaGFuZ2UgPSBhc3luYyhGcm9tVXNlcklkOnN0cmluZyk9PntcclxuLy9cclxuLy8gICBjb25zb2xlLmxvZygn5Y6f5p2l55qEd3guZ2xvYmFsRGF0YS5Gcm9tVXNlcklkLi4uLi4uLi4uJyx3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQpXHJcbi8vICAgY29uc29sZS5sb2coJ+mTvuaOpeS4reeahEZyb21Vc2VySWQuLi4uLi4uJywgRnJvbVVzZXJJZClcclxuLy8gICB3eC5nbG9iYWxEYXRhLnRlbXBGcm9tVXNlcklkID0gRnJvbVVzZXJJZCB8fCB3eC5nbG9iYWxEYXRhLnRlbXBGcm9tVXNlcklkO1xyXG4vLyAgIC8vIHRoaXMuZ2xvYmFsRGF0YS5Gcm9tVXNlcklkID0gRnJvbVVzZXJJZDtcclxuLy8gICBjb25zb2xlLmxvZygn5YiH5YmN5Y+w5LqL5Lu25ZCOdGVtcEZyb21Vc2VySWTlgLzkuLonLCB3eC5nbG9iYWxEYXRhLnRlbXBGcm9tVXNlcklkKTtcclxuLy9cclxuLy8gICBpZigod3guZ2xvYmFsRGF0YS5Gcm9tVXNlcklkIT0nJyYmd3guZ2xvYmFsRGF0YS5Gcm9tVXNlcklkIT11bmRlZmluZWQpJiYoRnJvbVVzZXJJZCE9JycmJkZyb21Vc2VySWQhPXVuZGVmaW5lZCkmJnd4Lmdsb2JhbERhdGEuRnJvbVVzZXJJZCAhPSBGcm9tVXNlcklkKXtcclxuLy8gICAgIHd4Lmdsb2JhbERhdGEub3BlbklEID0gJyc7XHJcbi8vICAgICB3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQgPSB3eC5nbG9iYWxEYXRhLnRlbXBGcm9tVXNlcklkO1xyXG4vLyAgICAgY29uc29sZS5sb2coJ+Wwj+eoi+W6j2FwcCBvbnNob3cg5LqL5Lu25Y+R55Sf5pe2IOS4pOS4qkZyb21Vc2VySWTkuI3nm7jnrYknLCB3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQpO1xyXG4vLyAgICAgd3guZ2V0U2Vzc2lvbihvcHRpb25zKS50aGVuKCgpPT57XHJcbi8vICAgICAgIC8vIHRoaXMud2Vic29ja2V0UmVjb25uZWN0KCk7XHJcbi8vICAgICAgIC8vIHRoaXMuZ2V0RnJvbVVzZXJJZEZvclJlcXVlc3QoKTtcclxuLy8gICAgICAgLy8gdGhpcy5nZXRTZXR0aW5ncygpO1xyXG4vLyAgICAgICB0aGlzLmFwcE9uTG9hZCgpO1xyXG4vLyAgICAgfSk7XHJcbi8vXHJcbi8vIH1cclxuXHJcbi8vIOino+aekOWQr+WKqOaXtueahHVybFxyXG5pbnRlcmZhY2UgcGFyYW1zIHtcclxuICBbcDpzdHJpbmddOmFueVxyXG59XHJcbmNvbnN0IGdldFVybEtleSA9ICh1cmw6c3RyaW5nKT0+IHtcclxuICBsZXQgcGFyYW1zOnBhcmFtcyA9IHt9O1xyXG4gIC8vIHZhciBhcnIgPSB1cmwuc3BsaXQoXCI9XCIpOyBjb25zb2xlLmxvZygnM1/pgY3ljoYgYXJyIOW5tuWIhuWJsuWQjui1i+WAvOe7mWE6JywgYXJyKVxyXG4gIGxldCBhcnIgPSB1cmwuc3BsaXQoXCImXCIpO1xyXG4gIGZvciAobGV0IGkgPSAwLCBsID0gYXJyLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgbGV0IGEgPSBhcnJbaV0uc3BsaXQoXCI9XCIpO1xyXG4gICAgcGFyYW1zW2FbMF1dID0gYVsxXTtcclxuICB9XHJcbiAgY29uc29sZS5sb2coJ3NjZW5l5aSE55CG5ZCO55qE57uT5p6cOicsIHBhcmFtcyk7XHJcbiAgcmV0dXJuIHBhcmFtcztcclxufVxyXG5cclxuY29uc3QgZ2V0U2Vzc2lvbklkID0gYXN5bmMoKT0+e1xyXG4gIHJldHVybiBhd2FpdCB3eC4kdXRpbHMudG8oXHJcbiAgICB3eC4kaHR0cC5yZXF1ZXN0KHtcclxuICAgICAgdXJsOiAnL3d4L21pbmlhcHAvdXNlci9nZXRTZXNzaW9uSWQuZG8nXHJcbiAgICB9KVxyXG4gIClcclxufVxyXG5jb25zdCBnZXRGcmVlTGlzdCA9IGFzeW5jKCk9PntcclxuICByZXR1cm4gYXdhaXQgd3guJHV0aWxzLnRvKFxyXG4gICAgd3guJGh0dHAucmVxdWVzdCh7XHJcbiAgICAgIHVybDogJy9zaG9wcGluZy9mcmVlLmRvP209Z2V0RnJlZUxpc3QnLFxyXG4gICAgfSlcclxuICApXHJcbn1cclxuXHJcbi8vIOiuvue9ruWIneasoeeZu+W9leaXtueahFNlc3Npb25JZFxyXG5jb25zdCBTZXRTZXNzaW9uSWQgPSBhc3luYyAoKTpQcm9taXNlPGJvb2xlYW4+ID0+e1xyXG4gIGxldCBbZXJyb3IscmVzXSA9IGF3YWl0IGdldFNlc3Npb25JZCgpO1xyXG4gIGlmIChlcnJvcikge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH07XHJcbiAgLy8gbGV0IGRhdGEgPSByZXMuZGF0YTtcclxuICBjb25zb2xlLmxvZygn56ys5LiA5qyh55m75b2Vc2Vzc2lvbklEJywgcmVzKTtcclxuICB3eC5zZXRTdG9yYWdlU3luYyhcInNlc3Npb25JRFwiLCByZXMuSlNFU1NJT05JRCk7XHJcbiAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbmNvbnN0IGRvTG9naW4gPSBhc3luYyhkYXRhOmFueSk9PntcclxuICByZXR1cm4gYXdhaXQgd3guJHV0aWxzLnRvKFxyXG4gICAgd3guJGh0dHAucmVxdWVzdCh7XHJcbiAgICAgIHVybDogJy93eC9taW5pYXBwL3VzZXIvcGFuaWNCdXlpbmdMb2dpbi5kbycsXHJcbiAgICAgIGRhdGEsXHJcbiAgICB9KVxyXG4gIClcclxuXHJcbn1cclxuXHJcbmNvbnN0IGdldFNldHRpbmdFbnRpdHkgPSBhc3luYygpPT57XHJcbiAgcmV0dXJuIGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgIHd4LiRodHRwLnJlcXVlc3Qoe1xyXG4gICAgICB1cmw6ICcvc2hvcHBpbmcvZ2V0U2V0dGluZ0VudGl0eS5kbycsXHJcbiAgICB9KVxyXG4gIClcclxufVxyXG5cclxuLy8gd3gubG9naW7nmbvlvZVcclxuY29uc3QgbG9naW4gPSBhc3luYyAob3B0aW9uczphbnkpPT57XHJcbiAgbGV0IFt3eExvZ2luRXJyb3Isd3hMb2dpblJlc10gPSBhd2FpdCB3eC4kdXRpbHMudG8oXHJcbiAgICB3eC5wcm8ubG9naW4oKVxyXG4gICk7XHJcbiAgaWYgKHd4TG9naW5FcnJvcikge1xyXG4gICAgY29uc29sZS5sb2cod3hMb2dpbkVycm9yKTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgY29uc29sZS5sb2coJy4uLjA5OScsd3hMb2dpblJlcyk7XHJcbiAgbGV0IFtlcnJvcixkb0xvZ2luUmVzXSA9IGF3YWl0IGRvTG9naW4oe1xyXG4gICAgRnJvbVVzZXJJZDogd3guZ2xvYmFsRGF0YS5Gcm9tVXNlcklkLFxyXG4gICAgY29kZTogd3hMb2dpblJlcy5jb2RlLFxyXG4gICAgQXBwSWQ6IHd4Lmdsb2JhbERhdGEuQXBwSWQsXHJcbiAgICB3eDogMyxcclxuICAgIFNjZW5lQ29kZTpvcHRpb25zP29wdGlvbnMuc2NlbmU6JycsXHJcbiAgICBGcm9tT3BlbklkOiB3eC5nbG9iYWxEYXRhLkZyb21PcGVuSWQ/d3guZ2xvYmFsRGF0YS5Gcm9tT3BlbklkOicnXHJcbiAgfSk7XHJcbiAgaWYgKGVycm9yKSB7XHJcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnNvbGUubG9nKCc2NjYnLGRvTG9naW5SZXMpO1xyXG4gIHd4Lmdsb2JhbERhdGEubG9naW5EYXRhID0gZG9Mb2dpblJlcztcclxuICB3eC5nbG9iYWxEYXRhLk9wZW5JZCA9IGRvTG9naW5SZXMuT3BlbklkO1xyXG4gIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLyDojrflj5blkITnsbvorr7nva7mlbDmja5cclxuY29uc3QgZ2V0U2V0dGluZ3NEYXRhID0gYXN5bmMgKCk6UHJvbWlzZTxib29sZWFuPiA9PntcclxuICBsZXQgW3NldHRpbmdzRXJyb3Isc2V0dGluZ3NSZXNdID0gYXdhaXQgZ2V0U2V0dGluZ0VudGl0eSgpO1xyXG4gIGlmIChzZXR0aW5nc0Vycm9yKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnNvbGUubG9nKCfojrflj5borr7nva7mlbDmja4nLCBzZXR0aW5nc1Jlcyk7XHJcbiAgd3guZ2xvYmFsRGF0YS5zZXR0aW5ncyA9IHNldHRpbmdzUmVzO1xyXG5cclxuICBsZXQgW2Vycm9yLHJlc10gPSBhd2FpdCBnZXRGcmVlTGlzdCgpO1xyXG4gIGlmIChlcnJvcikge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICAvLyBsZXQgZGF0YSA9IHJlcy5kYXRhO1xyXG4gIGNvbnNvbGUubG9nKCfojrflj5bphY3pgIHmlrnlvI/mlbDmja4nLCByZXMpO1xyXG4gIHd4Lmdsb2JhbERhdGEuc2V0dGluZ3MuZnJlZUxpc3QgPSByZXMubGlzdDtcclxuICBjb25zb2xlLmxvZygnd3guZ2xvYmFsRGF0YS5zZXR0aW5nc+aVsOaNricsIHd4Lmdsb2JhbERhdGEuc2V0dGluZ3MpO1xyXG4gIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLyBjb25zdCBsdW5jaCA9ICgpPT57XHJcbi8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PntcclxuLy9cclxuLy8gICB9KS5jYXRjaCgoKT0+e1xyXG4vLyAgICAgLy8gcmV0dXJuIHJlamVjdCgpXHJcbi8vICAgfSlcclxuLy8gfVxyXG5cclxuZXhwb3J0IGRlZmF1bHR7XHJcbiAgaGFuZGxlT3B0aW9ucyxcclxuICBTZXRTZXNzaW9uSWQsXHJcbiAgZG9Mb2dpbixcclxuICBnZXRTZXR0aW5nc0RhdGEsXHJcbiAgbG9naW5cclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlCQWdPQTs7QUFoT0EsSUFBTSxhQUFhLEdBQUksVUFBQyxPQUFXO0lBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXRDLElBQUksVUFBVSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFFMUQsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUM1QyxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztJQUV4RCxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXpELElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztJQUNsRSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxH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Z0JBQWpDLEtBQWMsU0FBbUIsRUFBaEMsS0FBSyxRQUFBLEVBQUMsR0FBRyxRQUFBO2dCQUNkLElBQUksS0FBSyxFQUFFO29CQUNULFdBQU8sS0FBSyxFQUFDO2lCQUNkO2dCQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QixFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNoRSxXQUFPLElBQUksRUFBQzs7O0tBQ2IsQ0FBQTtBQVVELGtCQUFjO0lBQ1osYUFBYSxlQUFBO0lBQ2IsWUFBWSxjQUFBO0lBQ1osT0FBTyxTQUFBO0lBQ1AsZUFBZSxpQkFBQTtJQUNmLEtBQUssT0FBQTtDQUNOLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBoYW5kbGVPcHRpb25zID0gIChvcHRpb25zOmFueSk9PntcclxuICBjb25zb2xlLmxvZygn5bCP56iL5bqPb25MYXVuY2jkuovku7YnLCBvcHRpb25zKTtcclxuICAvL3RoaXMuaXNGaXJzdE9wZW5BcHAgPSB0cnVlO1xyXG4gIGxldCBGcm9tVXNlcklkID0gZ2V0RnJvbVVzZXJJZChvcHRpb25zKTtcclxuICB3eC5nbG9iYWxEYXRhLkZyb21PcGVuSWQgPSBvcHRpb25zLnF1ZXJ5LkZyb21PcGVuSWQgfHwgJyc7XHJcbiAgLy8gdGhpcy5nbG9iYWxEYXRhLlJlZmVycmVyT3BlbklkID0gb3B0aW9ucy5xdWVyeS5SZWZlcnJlck9wZW5JZCB8fCAnJztcclxuICB3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQgPSBGcm9tVXNlcklkIHx8ICcnO1xyXG4gIHd4Lmdsb2JhbERhdGEudGVtcEZyb21Vc2VySWQgPSB3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQ7XHJcblxyXG4gIGNvbnNvbGUubG9nKCdGcm9tT3Blbklk5pivJywgd3guZ2xvYmFsRGF0YS5Gcm9tT3BlbklkKTtcclxuICBjb25zb2xlLmxvZygnRnJvbVVzZXJJZOaYrycsIHd4Lmdsb2JhbERhdGEuRnJvbVVzZXJJZCk7XHJcbiAgY29uc29sZS5sb2coJ1JlZmVycmVyT3Blbklk5pivJywgd3guZ2xvYmFsRGF0YS5Gcm9tT3BlbklkKTtcclxuXHJcbiAgbGV0IEh0dHBIb3N0ID0gd3guZ2V0RXh0Q29uZmlnU3luYygpLkh0dHBIb3N0O1xyXG4gIGNvbnNvbGUubG9nKCdIdHRwSG9zdCcsSHR0cEhvc3QpO1xyXG4gIHd4Lmdsb2JhbERhdGEuY2FydEluZGV4ID0gd3guZ2V0RXh0Q29uZmlnU3luYygpLkZvb3Rlck51bVBvc2l0aW9uO1xyXG4gIEh0dHBIb3N0LmluZGV4T2YoJ2h0dHBzOi8vJykgPiAtMSA/IEh0dHBIb3N0IDogKEh0dHBIb3N0ID0gJ2h0dHBzOi8vJyArIEh0dHBIb3N0KTtcclxuICBsZXQgV3NzSG9zdCA9IHd4LmdldEV4dENvbmZpZ1N5bmMoKS5Xc3NIb3N0O1xyXG4gIFdzc0hvc3QuaW5kZXhPZignd3NzOi8vJykgPiAtMSA/IFdzc0hvc3QgOiAoV3NzSG9zdCA9ICd3c3M6Ly8nICsgV3NzSG9zdCk7XHJcbiAgY29uc29sZS5sb2coJ0h0dHBIb3N0JyxIdHRwSG9zdCk7XHJcbiAgY29uc29sZS5sb2coJ1dzc0hvc3QnLFdzc0hvc3QpO1xyXG4gIHd4Lmdsb2JhbERhdGEuc29ja2V0SG9zdCA9IFdzc0hvc3Q7XHJcbiAgd3guZ2xvYmFsRGF0YS5yZXFCYXNlID0gSHR0cEhvc3Q7XHJcbiAgZ2V0U3lzdGVtSW5mbygpO1xyXG59XHJcblxyXG4vLyDojrflj5ZzY2VuZeWGheeahOWPguaVsFxyXG5jb25zdCBnZXRGcm9tVXNlcklkID0gKG9wdGlvbnM6YW55KT0+IHtcclxuICBsZXQgRnJvbVVzZXJJZDtcclxuICAvLyDku451cmznm7TmjqXlj5blgLxcclxuXHJcbiAgLy8gaWYgKCghRnJvbVVzZXJJZCB8fCBGcm9tVXNlcklkID09ICcnKSAmJiBvcHRpb25zLnNjZW5lKSB7XHJcbiAgLy8gICBGcm9tVXNlcklkID0gdGhpcy5nZXRVcmxrZXkoZGVjb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMuc2NlbmUpKVsnRnJvbVVzZXJJZCddO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8g5LuO5bCP56iL5bqP56CB6L+b5YWlXHJcbiAgaWYgIChvcHRpb25zLnNjZW5lID09IDEwNDd8fG9wdGlvbnMuc2NlbmUgPT0gMTA0OHx8b3B0aW9ucy5zY2VuZSA9PSAxMDQ5KSB7XHJcblxyXG4gICAgbGV0IHBhcmFtcyA9IGdldFVybEtleShkZWNvZGVVUklDb21wb25lbnQob3B0aW9ucy5xdWVyeS5zY2VuZSkpO1xyXG4gICAgRnJvbVVzZXJJZCA9IHBhcmFtcy5Gcm9tVXNlcklkIHx8IG9wdGlvbnMucXVlcnkuRnJvbVVzZXJJZDtcclxuICAgIGxldCByb29taWQgPSBwYXJhbXMucm9vbWlkIHx8IG9wdGlvbnMucXVlcnkucm9vbWlkO1xyXG4gICAgY29uc29sZS5sb2coJ+aJq+eggei/m+WFpeWwj+eoi+W6jywg5Zyw5Z2A5LiK55qERnJvbVVzZXJJZOS4uicsRnJvbVVzZXJJZCApO1xyXG4gICAgaWYgKHJvb21pZCkge1xyXG4gICAgICBjb25zb2xlLmxvZygn5omr56CB6L+b5YWl5bCP56iL5bqP55u05pKt6Ze0LCDlnLDlnYDkuIrnmoRyb29taWTkuLonLHJvb21pZCwn77yMRnJvbVVzZXJJZOS4uicsRnJvbVVzZXJJZCApO1xyXG4gICAgICBsZXQgY3VzdG9tUGFyYW1zID0gZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICBGcm9tVXNlcklkOiBGcm9tVXNlcklkXHJcbiAgICAgIH0pKVxyXG4gICAgICBjb25zb2xlLmxvZyhgcGx1Z2luLXByaXZhdGU6Ly93eDJiMDNjNmU2OTFjZDczNzAvcGFnZXMvbGl2ZS1wbGF5ZXItcGx1Z2luP3Jvb21faWQ9JHtyb29taWR9JmN1c3RvbV9wYXJhbXM9JHtjdXN0b21QYXJhbXN9YClcclxuICAgICAgd3gucmVMYXVuY2goe1xyXG4gICAgICAgIHVybDogYHBsdWdpbi1wcml2YXRlOi8vd3gyYjAzYzZlNjkxY2Q3MzcwL3BhZ2VzL2xpdmUtcGxheWVyLXBsdWdpbj9yb29tX2lkPSR7cm9vbWlkfSZjdXN0b21fcGFyYW1zPSR7Y3VzdG9tUGFyYW1zfWBcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlmKCFGcm9tVXNlcklkKXtcclxuICAgIEZyb21Vc2VySWQgPSBvcHRpb25zLnF1ZXJ5LkZyb21Vc2VySWQ7XHJcbiAgfVxyXG4gIHJldHVybiBGcm9tVXNlcklkO1xyXG59XHJcblxyXG5jb25zdCBnZXRTeXN0ZW1JbmZvID0gKCk9PntcclxuICAvL+WIpOaWreacuuWeiyjpgILphY1pcGhvbmVYKVxyXG4gIHd4LmdldFN5c3RlbUluZm8oe1xyXG4gICAgc3VjY2VzczogKHJlcykgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZygn5py65Z6L5L+h5oGvJyxyZXMpO1xyXG4gICAgICB3eC5nbG9iYWxEYXRhLnN5c3RlbUluZm8gPSByZXM7XHJcbiAgICAgIGlmIChyZXMubW9kZWwuc2VhcmNoKCdpUGhvbmUgWCcpICE9PSAtMSkge1xyXG4gICAgICAgIHd4Lmdsb2JhbERhdGEuaXNJcGhvbmVYID0gdHJ1ZVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKHJlcywn5piv5ZCmaXBob25lWDonLHd4Lmdsb2JhbERhdGEuaXNJcGhvbmVYKTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuLy8gY29uc3QgaGFuZGxlRnJvbVVzZXJJZENoYW5nZSA9IGFzeW5jKEZyb21Vc2VySWQ6c3RyaW5nKT0+e1xyXG4vL1xyXG4vLyAgIGNvbnNvbGUubG9nKCfljp/mnaXnmoR3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQuLi4uLi4uLi4nLHd4Lmdsb2JhbERhdGEuRnJvbVVzZXJJZClcclxuLy8gICBjb25zb2xlLmxvZygn6ZO+5o6l5Lit55qERnJvbVVzZXJJZC4uLi4uLi4nLCBGcm9tVXNlcklkKVxyXG4vLyAgIHd4Lmdsb2JhbERhdGEudGVtcEZyb21Vc2VySWQgPSBGcm9tVXNlcklkIHx8IHd4Lmdsb2JhbERhdGEudGVtcEZyb21Vc2VySWQ7XHJcbi8vICAgLy8gdGhpcy5nbG9iYWxEYXRhLkZyb21Vc2VySWQgPSBGcm9tVXNlcklkO1xyXG4vLyAgIGNvbnNvbGUubG9nKCfliIfliY3lj7Dkuovku7blkI50ZW1wRnJvbVVzZXJJZOWAvOS4uicsIHd4Lmdsb2JhbERhdGEudGVtcEZyb21Vc2VySWQpO1xyXG4vL1xyXG4vLyAgIGlmKCh3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQhPScnJiZ3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQhPXVuZGVmaW5lZCkmJihGcm9tVXNlcklkIT0nJyYmRnJvbVVzZXJJZCE9dW5kZWZpbmVkKSYmd3guZ2xvYmFsRGF0YS5Gcm9tVXNlcklkICE9IEZyb21Vc2VySWQpe1xyXG4vLyAgICAgd3guZ2xvYmFsRGF0YS5vcGVuSUQgPSAnJztcclxuLy8gICAgIHd4Lmdsb2JhbERhdGEuRnJvbVVzZXJJZCA9IHd4Lmdsb2JhbERhdGEudGVtcEZyb21Vc2VySWQ7XHJcbi8vICAgICBjb25zb2xlLmxvZygn5bCP56iL5bqPYXBwIG9uc2hvdyDkuovku7blj5HnlJ/ml7Yg5Lik5LiqRnJvbVVzZXJJZOS4jeebuOetiScsIHd4Lmdsb2JhbERhdGEuRnJvbVVzZXJJZCk7XHJcbi8vICAgICB3eC5nZXRTZXNzaW9uKG9wdGlvbnMpLnRoZW4oKCk9PntcclxuLy8gICAgICAgLy8gdGhpcy53ZWJzb2NrZXRSZWNvbm5lY3QoKTtcclxuLy8gICAgICAgLy8gdGhpcy5nZXRGcm9tVXNlcklkRm9yUmVxdWVzdCgpO1xyXG4vLyAgICAgICAvLyB0aGlzLmdldFNldHRpbmdzKCk7XHJcbi8vICAgICAgIHRoaXMuYXBwT25Mb2FkKCk7XHJcbi8vICAgICB9KTtcclxuLy9cclxuLy8gfVxyXG5cclxuLy8g6Kej5p6Q5ZCv5Yqo5pe255qEdXJsXHJcbmludGVyZmFjZSBwYXJhbXMge1xyXG4gIFtwOnN0cmluZ106YW55XHJcbn1cclxuY29uc3QgZ2V0VXJsS2V5ID0gKHVybDpzdHJpbmcpPT4ge1xyXG4gIGxldCBwYXJhbXM6cGFyYW1zID0ge307XHJcbiAgLy8gdmFyIGFyciA9IHVybC5zcGxpdChcIj1cIik7IGNvbnNvbGUubG9nKCczX+mBjeWOhiBhcnIg5bm25YiG5Ymy5ZCO6LWL5YC857uZYTonLCBhcnIpXHJcbiAgbGV0IGFyciA9IHVybC5zcGxpdChcIiZcIik7XHJcbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBhcnIubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XHJcbiAgICBsZXQgYSA9IGFycltpXS5zcGxpdChcIj1cIik7XHJcbiAgICBwYXJhbXNbYVswXV0gPSBhWzFdO1xyXG4gIH1cclxuICBjb25zb2xlLmxvZygnc2NlbmXlpITnkIblkI7nmoTnu5Pmnpw6JywgcGFyYW1zKTtcclxuICByZXR1cm4gcGFyYW1zO1xyXG59XHJcblxyXG5jb25zdCBnZXRTZXNzaW9uSWQgPSBhc3luYygpPT57XHJcbiAgcmV0dXJuIGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgIHd4LiRodHRwLnJlcXVlc3Qoe1xyXG4gICAgICB1cmw6ICcvd3gvbWluaWFwcC91c2VyL2dldFNlc3Npb25JZC5kbycsXHJcbiAgICAgIGlzU2hvd0xvYWRpbmc6ZmFsc2VcclxuICAgIH0pXHJcbiAgKVxyXG59XHJcbmNvbnN0IGdldEZyZWVMaXN0ID0gYXN5bmMoKT0+e1xyXG4gIHJldHVybiBhd2FpdCB3eC4kdXRpbHMudG8oXHJcbiAgICB3eC4kaHR0cC5yZXF1ZXN0KHtcclxuICAgICAgdXJsOiAnL3Nob3BwaW5nL2ZyZWUuZG8/bT1nZXRGcmVlTGlzdCcsXHJcbiAgICAgIGlzU2hvd0xvYWRpbmc6ZmFsc2VcclxuICAgIH0pXHJcbiAgKVxyXG59XHJcblxyXG4vLyDorr7nva7liJ3mrKHnmbvlvZXml7bnmoRTZXNzaW9uSWRcclxuY29uc3QgU2V0U2Vzc2lvbklkID0gYXN5bmMgKCk6UHJvbWlzZTxib29sZWFuPiA9PntcclxuICBsZXQgW2Vycm9yLHJlc10gPSBhd2FpdCBnZXRTZXNzaW9uSWQoKTtcclxuICBpZiAoZXJyb3IpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9O1xyXG4gIC8vIGxldCBkYXRhID0gcmVzLmRhdGE7XHJcbiAgY29uc29sZS5sb2coJ+esrOS4gOasoeeZu+W9lXNlc3Npb25JRCcsIHJlcyk7XHJcbiAgd3guc2V0U3RvcmFnZVN5bmMoXCJzZXNzaW9uSURcIiwgcmVzLkpTRVNTSU9OSUQpO1xyXG4gIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG5jb25zdCBkb0xvZ2luID0gYXN5bmMoZGF0YTphbnkpPT57XHJcbiAgcmV0dXJuIGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgIHd4LiRodHRwLnJlcXVlc3Qoe1xyXG4gICAgICB1cmw6ICcvd3gvbWluaWFwcC91c2VyL3BhbmljQnV5aW5nTG9naW4uZG8nLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBpc1Nob3dMb2FkaW5nOmZhbHNlXHJcbiAgICB9KVxyXG4gIClcclxuXHJcbn1cclxuXHJcbmNvbnN0IGdldFNldHRpbmdFbnRpdHkgPSBhc3luYygpPT57XHJcbiAgcmV0dXJuIGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgIHd4LiRodHRwLnJlcXVlc3Qoe1xyXG4gICAgICB1cmw6ICcvc2hvcHBpbmcvZ2V0U2V0dGluZ0VudGl0eS5kbycsXHJcbiAgICAgIGlzU2hvd0xvYWRpbmc6ZmFsc2VcclxuICAgIH0pXHJcbiAgKVxyXG59XHJcblxyXG4vLyB3eC5sb2dpbueZu+W9lVxyXG5jb25zdCBsb2dpbiA9IGFzeW5jICgpPT57XHJcbiAgbGV0IFt3eExvZ2luRXJyb3Isd3hMb2dpblJlc10gPSBhd2FpdCB3eC4kdXRpbHMudG8oXHJcbiAgICB3eC5wcm8ubG9naW4oKVxyXG4gICk7XHJcbiAgaWYgKHd4TG9naW5FcnJvcikge1xyXG4gICAgY29uc29sZS5sb2cod3hMb2dpbkVycm9yKTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgY29uc29sZS5sb2coJy4uLnd4TG9naW5SZXMnLHd4TG9naW5SZXMpO1xyXG4gIGxldCBbZXJyb3IsZG9Mb2dpblJlc10gPSBhd2FpdCBkb0xvZ2luKHtcclxuICAgIC8vIEZyb21Vc2VySWQ6IHd4Lmdsb2JhbERhdGEuRnJvbVVzZXJJZCxcclxuICAgIGNvZGU6IHd4TG9naW5SZXMuY29kZSxcclxuICAgIC8vIEFwcElkOiB3eC5nbG9iYWxEYXRhLkFwcElkLFxyXG4gICAgLy8gd3g6IDMsXHJcbiAgICBTY2VuZUNvZGU6d3guZ2xvYmFsRGF0YS5zY2VuZXx8JycsXHJcbiAgICBGcm9tT3BlbklkOiB3eC5nbG9iYWxEYXRhLkZyb21PcGVuSWR8fCcnXHJcbiAgfSk7XHJcbiAgaWYgKGVycm9yKSB7XHJcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnNvbGUubG9nKCc2NjYnLGRvTG9naW5SZXMpO1xyXG4gIHd4Lmdsb2JhbERhdGEubG9naW5EYXRhID0gZG9Mb2dpblJlcztcclxuICB3eC5nbG9iYWxEYXRhLk9wZW5JZCA9IGRvTG9naW5SZXMuT3BlbklkO1xyXG4gIHd4LnNldFN0b3JhZ2VTeW5jKFwic2Vzc2lvbklEXCIsIGRvTG9naW5SZXMuSlNFU1NJT05JRCk7XHJcbiAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vIOiOt+WPluWQhOexu+iuvue9ruaVsOaNrlxyXG5jb25zdCBnZXRTZXR0aW5nc0RhdGEgPSBhc3luYyAoKTpQcm9taXNlPGJvb2xlYW4+ID0+e1xyXG4gIGxldCBbc2V0dGluZ3NFcnJvcixzZXR0aW5nc1Jlc10gPSBhd2FpdCBnZXRTZXR0aW5nRW50aXR5KCk7XHJcbiAgaWYgKHNldHRpbmdzRXJyb3IpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgY29uc29sZS5sb2coJ+iOt+WPluiuvue9ruaVsOaNricsIHNldHRpbmdzUmVzKTtcclxuICB3eC5nbG9iYWxEYXRhLnNldHRpbmdzID0gc2V0dGluZ3NSZXM7XHJcblxyXG4gIGxldCBbZXJyb3IscmVzXSA9IGF3YWl0IGdldEZyZWVMaXN0KCk7XHJcbiAgaWYgKGVycm9yKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIC8vIGxldCBkYXRhID0gcmVzLmRhdGE7XHJcbiAgY29uc29sZS5sb2coJ+iOt+WPlumFjemAgeaWueW8j+aVsOaNricsIHJlcyk7XHJcbiAgd3guZ2xvYmFsRGF0YS5zZXR0aW5ncy5mcmVlTGlzdCA9IHJlcy5saXN0O1xyXG4gIGNvbnNvbGUubG9nKCd3eC5nbG9iYWxEYXRhLnNldHRpbmdz5pWw5o2uJywgd3guZ2xvYmFsRGF0YS5zZXR0aW5ncyk7XHJcbiAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vIGNvbnN0IGx1bmNoID0gKCk9PntcclxuLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4vL1xyXG4vLyAgIH0pLmNhdGNoKCgpPT57XHJcbi8vICAgICAvLyByZXR1cm4gcmVqZWN0KClcclxuLy8gICB9KVxyXG4vLyB9XHJcblxyXG5leHBvcnQgZGVmYXVsdHtcclxuICBoYW5kbGVPcHRpb25zLFxyXG4gIFNldFNlc3Npb25JZCxcclxuICBkb0xvZ2luLFxyXG4gIGdldFNldHRpbmdzRGF0YSxcclxuICBsb2dpblxyXG59XHJcbiJdfQ==