"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Component({ options: { addGlobalClass: true, multipleSlots: true }, properties: { isMustAuthorizePhone: { type: Boolean, value: true }, isMustAuthorizeAvatar: { type: Boolean, value: true }, isRefreshAuthorizeInfo: { type: Boolean, value: false }, }, data: { hasUserInfo: false, hasPhone: false, isShowMask: true }, lifetimes: { ready: function () { } }, pageLifetimes: { show: function () { }, hide: function () { } }, methods: { getUserInfo: function (e) { return __awaiter(this, void 0, void 0, function () { var _a, isMustAuthorizePhone, isMustAuthorizeAvatar, isRefreshAuthorizeInfo, loginData; return __generator(this, function (_b) { switch (_b.label) { case 0: console.log(e); _a = this.data, isMustAuthorizePhone = _a.isMustAuthorizePhone, isMustAuthorizeAvatar = _a.isMustAuthorizeAvatar, isRefreshAuthorizeInfo = _a.isRefreshAuthorizeInfo; loginData = wx.globalData.loginData; console.log('点击时loginData', loginData); if (!isRefreshAuthorizeInfo) return [3, 2]; return [4, this.getUserProfile()]; case 1: _b.sent(); console.log('刷新授权头像后loginData', wx.globalData.loginData); this.completeAuthorize(); _b.label = 2; case 2: if (loginData.avatarUrl && loginData.telephone) { this.completeAuthorize(); } if (!isMustAuthorizeAvatar && !isMustAuthorizeAvatar) { this.completeAuthorize(); } if (loginData.avatarUrl && !isMustAuthorizeAvatar) { this.completeAuthorize(); } if (!(!loginData.avatarUrl && isMustAuthorizeAvatar)) return [3, 4]; return [4, this.getUserProfile()]; case 3: _b.sent(); console.log('授权头像后loginData', wx.globalData.loginData); if (!wx.globalData.loginData.avatarUrl) return [2]; if (loginData.telephone || !isMustAuthorizePhone) { this.completeAuthorize(); } _b.label = 4; case 4: if (!loginData.telephone && isMustAuthorizePhone) { this.showGetPhoneDialog(); } return [2]; } }); }); }, getUserProfile: function () { return __awaiter(this, void 0, void 0, function () { var _this = this; return __generator(this, function (_a) { switch (_a.label) { case 0: console.log('>>>>>>>>准备获取头像'); return [4, wx.pro.getUserProfile({ desc: '获取头像完善会员资料', }).then(function (res) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: console.log(res); return [4, this.postUserInfo(res)]; case 1: if (!(_a.sent())) return [2]; this.setData({ userInfo: res.userInfo, }); return [4, wx.$commonRequest.getUserInfo()]; case 2: if (!(_a.sent())) return [2]; console.log('----获取头像成功!----'); wx.showToast({ title: '授权成功' }); return [2]; } }); }); }).catch(function (err) { console.log(err, '----获取头像失败!----'); wx.showToast({ title: '授权失败', icon: 'none' }); })]; case 1: _a.sent(); console.log('>>>>>>获取授权头像步骤完成'); return [2]; } }); }); }, getPhoneNumber: function (e) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: console.log('getPhoneNumber', e); console.log('>>>>>>>>准备获取电话'); if (!(e.detail.errMsg == 'getPhoneNumber:ok')) return [3, 3]; return [4, this.postPhoneNumber(e)]; case 1: if (!(_a.sent())) return [2]; return [4, wx.$commonRequest.getUserInfo()]; case 2: if (!(_a.sent())) return [2]; this.completeAuthorize(); console.log('----获取电话成功!----'); return [3, 4]; case 3: console.log('取消授权'); console.log('----获取电话失败!----'); _a.label = 4; case 4: return [2]; } }); }); }, postUserInfo: function (res) { return __awaiter(this, void 0, void 0, function () { var _a, error, result; return __generator(this, function (_b) { switch (_b.label) { case 0: return [4, wx.$utils.to(wx.$http.request({ url: "/wx/miniapp/user/panicBuyingInfo.do", data: { signature: res.signature, rawData: res.rawData, encryptedData: res.encryptedData, iv: res.iv } }))]; case 1: _a = _b.sent(), error = _a[0], result = _a[1]; if (error) { console.log(error); return [2, false]; } console.log(result); return [2, true]; } }); }); }, postPhoneNumber: function (e) { return __awaiter(this, void 0, void 0, function () { var _a, error, result; return __generator(this, function (_b) { switch (_b.label) { case 0: return [4, wx.$utils.to(wx.$http.request({ url: "/shopping/account.do?m=telRegByAutoReg", data: { ReferralsCode: '', ReferralsName: '', encryptedData: e.detail.encryptedData, iv: e.detail.iv, } }))]; case 1: _a = _b.sent(), error = _a[0], result = _a[1]; if (error) { console.log(error); return [2, false]; } console.log(result); return [2, true]; } }); }); }, showGetPhoneDialog: function () { this.setData({ isShowPhoneDialog: true }); }, hideGetPhoneDialog: function () { this.setData({ isShowPhoneDialog: false }); }, completeAuthorize: function () { console.log('--完成所有授权--'); this.triggerEvent('authorize', { isAuthorize: true }); }, onDialogClose: function () { }, } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxTQUFTLENBQUM7SUFJUixPQUFPLEVBQUU7UUFDUCxjQUFjLEVBQUMsSUFBSTtRQUNuQixhQUFhLEVBQUUsSUFBSTtLQUNwQjtJQUNELFVBQVUsRUFBRTtRQUNWLG9CQUFvQixFQUFDO1lBQ25CLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNELHFCQUFxQixFQUFDO1lBQ3BCLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNELHNCQUFzQixFQUFDO1lBQ3JCLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLEtBQUs7U0FDYjtLQUNGO0lBS0QsSUFBSSxFQUFFO1FBRUosV0FBVyxFQUFDLEtBQUs7UUFDakIsUUFBUSxFQUFDLEtBQUs7UUFDZCxVQUFVLEVBQUMsSUFBSTtLQUNoQjtJQUNELFNBQVMsRUFBQztRQUNSLEtBQUs7UUFVTCxDQUFDO0tBQ0Y7SUFDRCxhQUFhLEVBQUU7UUFDYixJQUFJLEVBQUU7UUFHTixDQUFDO1FBQ0QsSUFBSTtRQUVKLENBQUM7S0FDRjtJQUlELE9BQU8sRUFBRTtRQUNELFdBQVcsWUFBQyxDQUFLOzs7Ozs7NEJBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ1gsS0FBc0UsSUFBSSxDQUFDLElBQUksRUFBOUUsb0JBQW9CLDBCQUFBLEVBQUMscUJBQXFCLDJCQUFBLEVBQUMsc0JBQXNCLDRCQUFBLENBQWM7NEJBQ2hGLFNBQVMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQzs0QkFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUMsU0FBUyxDQUFDLENBQUM7aUNBU25DLHNCQUFzQixFQUF0QixjQUFzQjs0QkFD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RixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLy8gY29uc3QgYXBwID0gZ2V0QXBwPElBcHBPcHRpb24+KCk7XHJcbkNvbXBvbmVudCh7XHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5bGe5oCn5YiX6KGoXHJcbiAgICovXHJcbiAgb3B0aW9uczoge1xyXG4gICAgYWRkR2xvYmFsQ2xhc3M6dHJ1ZSxcclxuICAgIG11bHRpcGxlU2xvdHM6IHRydWUgLy8g5Zyo57uE5Lu25a6a5LmJ5pe255qE6YCJ6aG55Lit5ZCv55So5aSac2xvdOaUr+aMgVxyXG4gIH0sXHJcbiAgcHJvcGVydGllczoge1xyXG4gICAgaXNNdXN0QXV0aG9yaXplUGhvbmU6e1xyXG4gICAgICB0eXBlOiBCb29sZWFuLFxyXG4gICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIGlzTXVzdEF1dGhvcml6ZUF2YXRhcjp7XHJcbiAgICAgIHR5cGU6IEJvb2xlYW4sXHJcbiAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICB9LFxyXG4gICAgaXNSZWZyZXNoQXV0aG9yaXplSW5mbzp7XHJcbiAgICAgIHR5cGU6IEJvb2xlYW4sXHJcbiAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgfSxcclxuICB9LFxyXG5cclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTliJ3lp4vmlbDmja5cclxuICAgKi9cclxuICBkYXRhOiB7XHJcbiAgICAvLyBsb2NhdGlvbjogdW5kZWZpbmVkLFxyXG4gICAgaGFzVXNlckluZm86ZmFsc2UsXHJcbiAgICBoYXNQaG9uZTpmYWxzZSxcclxuICAgIGlzU2hvd01hc2s6dHJ1ZVxyXG4gIH0sXHJcbiAgbGlmZXRpbWVzOntcclxuICAgIHJlYWR5KCl7XHJcbiAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyAgIC8vIHd4Lmdsb2JhbERhdGEubG9naW5EYXRhLmF2YXRhclVybCA9ICcnO1xyXG4gICAgICAvLyAgIC8vIHd4Lmdsb2JhbERhdGEubG9naW5EYXRhLmNsdGNvZGUgPSAnJztcclxuICAgICAgLy8gICB3eC5nbG9iYWxEYXRhLmxvZ2luRGF0YSA9IHt9XHJcbiAgICAgIC8vICAgICAvLyBjbHRjb2RlOjExMSxcclxuICAgICAgLy8gICAgIC8vIGF2YXRhclVybDonMzMzJ1xyXG4gICAgICAvL1xyXG4gICAgICAvLyAgIGNvbnNvbGUubG9nKCc156eS5ZCO77yM5pu05paw5LqGbG9naW5EYXRhJyk7XHJcbiAgICAgIC8vIH0sNTAwMClcclxuICAgIH1cclxuICB9LFxyXG4gIHBhZ2VMaWZldGltZXM6IHtcclxuICAgIHNob3c6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAvLyDpobXpnaLooqvlsZXnpLpcclxuXHJcbiAgICB9LFxyXG4gICAgaGlkZSgpIHtcclxuXHJcbiAgICB9XHJcbiAgfSxcclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTmlrnms5XliJfooahcclxuICAgKi9cclxuICBtZXRob2RzOiB7XHJcbiAgICBhc3luYyBnZXRVc2VySW5mbyhlOmFueSl7XHJcbiAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICBsZXQge2lzTXVzdEF1dGhvcml6ZVBob25lLGlzTXVzdEF1dGhvcml6ZUF2YXRhcixpc1JlZnJlc2hBdXRob3JpemVJbmZvfSA9IHRoaXMuZGF0YTtcclxuICAgICAgbGV0IGxvZ2luRGF0YSA9IHd4Lmdsb2JhbERhdGEubG9naW5EYXRhO1xyXG4gICAgICBjb25zb2xlLmxvZygn54K55Ye75pe2bG9naW5EYXRhJyxsb2dpbkRhdGEpO1xyXG4gICAgICAvLyBpZiAobG9naW5EYXRhLmF2YXRhclVybCkge1xyXG4gICAgICAvLyAgIHRoaXMuc2V0RGF0YSh7aGFzVXNlckluZm86dHJ1ZX0pXHJcbiAgICAgIC8vIH1cclxuICAgICAgLy8gaWYgKGxvZ2luRGF0YS5jbHRjb2RlKSB7XHJcbiAgICAgIC8vICAgdGhpcy5zZXREYXRhKHtoYXNQaG9uZTp0cnVlfSlcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgLy8g5Yi35paw5aS05YOP5pi156ewXHJcbiAgICAgIGlmKGlzUmVmcmVzaEF1dGhvcml6ZUluZm8pe1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0VXNlclByb2ZpbGUoKTtcclxuICAgICAgICBjb25zb2xlLmxvZygn5Yi35paw5o6I5p2D5aS05YOP5ZCObG9naW5EYXRhJyx3eC5nbG9iYWxEYXRhLmxvZ2luRGF0YSk7XHJcbiAgICAgICAgdGhpcy5jb21wbGV0ZUF1dGhvcml6ZSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL+W3suaOiOadg+WktOWDj++8jOW3suaOiOadg+eUteivnVxyXG4gICAgICBpZiAobG9naW5EYXRhLmF2YXRhclVybCYmbG9naW5EYXRhLnRlbGVwaG9uZSkge1xyXG4gICAgICAgIHRoaXMuY29tcGxldGVBdXRob3JpemUoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8g55S16K+d5LiO5aS05YOP6YO95LiN6ZyA6KaB5o6I5p2DXHJcbiAgICAgIGlmICghaXNNdXN0QXV0aG9yaXplQXZhdGFyJiYhaXNNdXN0QXV0aG9yaXplQXZhdGFyKSB7XHJcbiAgICAgICAgdGhpcy5jb21wbGV0ZUF1dGhvcml6ZSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL+W3suaOiOadg+WktOWDj++8jOS9huS4jemcgOimgeaOiOadg+eUteivnVxyXG4gICAgICBpZiAobG9naW5EYXRhLmF2YXRhclVybCYmIWlzTXVzdEF1dGhvcml6ZUF2YXRhcikge1xyXG4gICAgICAgIHRoaXMuY29tcGxldGVBdXRob3JpemUoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gbGV0IHtoYXNVc2VySW5mbyxoYXNQaG9uZX0gPSB0aGlzLmRhdGE7XHJcbiAgICAgICAgLy8g5pyq5o6I5p2D5aS05YOP77yM5LiU5b+F6aG75o6I5p2D5aS05YOPXHJcbiAgICAgIGlmICghbG9naW5EYXRhLmF2YXRhclVybCYmaXNNdXN0QXV0aG9yaXplQXZhdGFyKXtcclxuICAgICAgICBhd2FpdCB0aGlzLmdldFVzZXJQcm9maWxlKCk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ+aOiOadg+WktOWDj+WQjmxvZ2luRGF0YScsd3guZ2xvYmFsRGF0YS5sb2dpbkRhdGEpO1xyXG4gICAgICAgIGlmICghd3guZ2xvYmFsRGF0YS5sb2dpbkRhdGEuYXZhdGFyVXJsKSByZXR1cm47XHJcbiAgICAgICAgaWYgKGxvZ2luRGF0YS50ZWxlcGhvbmV8fCFpc011c3RBdXRob3JpemVQaG9uZSl7XHJcbiAgICAgICAgICB0aGlzLmNvbXBsZXRlQXV0aG9yaXplKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyDmnKrmjojmnYPnlLXor53vvIzkuJTlv4XpobvmjojmnYPnlLXor51cclxuICAgICAgaWYgKCFsb2dpbkRhdGEudGVsZXBob25lJiZpc011c3RBdXRob3JpemVQaG9uZSl7XHJcbiAgICAgICAgLy8g5o6I5p2D55S16K+dXHJcbiAgICAgICAgdGhpcy5zaG93R2V0UGhvbmVEaWFsb2coKTtcclxuICAgICAgICAvLyBpZiAoIWxvZ2luRGF0YS5jbHRjb2RlKSByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgYXN5bmMgZ2V0VXNlclByb2ZpbGUoKXtcclxuICAgICAgLy8g5o6o6I2Q5L2/55Sod3guZ2V0VXNlclByb2ZpbGXojrflj5bnlKjmiLfkv6Hmga/vvIzlvIDlj5HogIXmr4/mrKHpgJrov4for6XmjqXlj6Pojrflj5bnlKjmiLfkuKrkurrkv6Hmga/lnYfpnIDnlKjmiLfnoa7orqRcclxuICAgICAgLy8g5byA5Y+R6ICF5aal5ZaE5L+d566h55So5oi35b+r6YCf5aGr5YaZ55qE5aS05YOP5pi156ew77yM6YG/5YWN6YeN5aSN5by556qXXHJcbiAgICAgIGNvbnNvbGUubG9nKCc+Pj4+Pj4+PuWHhuWkh+iOt+WPluWktOWDjycpO1xyXG4gICAgICBhd2FpdCB3eC5wcm8uZ2V0VXNlclByb2ZpbGUoe1xyXG4gICAgICAgIGRlc2M6ICfojrflj5blpLTlg4/lrozlloTkvJrlkZjotYTmlpknLCAvLyDlo7DmmI7ojrflj5bnlKjmiLfkuKrkurrkv6Hmga/lkI7nmoTnlKjpgJTvvIzlkI7nu63kvJrlsZXnpLrlnKjlvLnnqpfkuK3vvIzor7fosKjmhY7loavlhplcclxuICAgICAgfSkudGhlbihhc3luYyhyZXM6YW55KT0+e1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgaWYgKCFhd2FpdCB0aGlzLnBvc3RVc2VySW5mbyhyZXMpKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIHVzZXJJbmZvOiByZXMudXNlckluZm8sXHJcbiAgICAgICAgICAvLyBoYXNVc2VySW5mbzp0cnVlXHJcbiAgICAgICAgfSlcclxuICAgICAgICBpZiAoIWF3YWl0IHd4LiRjb21tb25SZXF1ZXN0LmdldFVzZXJJbmZvKCkpIHJldHVybjtcclxuICAgICAgICBjb25zb2xlLmxvZygnLS0tLeiOt+WPluWktOWDj+aIkOWKn++8gS0tLS0nKTtcclxuICAgICAgICB3eC5zaG93VG9hc3Qoe3RpdGxlOiAn5o6I5p2D5oiQ5YqfJ30pXHJcbiAgICAgIH0pLmNhdGNoKChlcnI6YW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyLCctLS0t6I635Y+W5aS05YOP5aSx6LSl77yBLS0tLScpO1xyXG4gICAgICAgIHd4LnNob3dUb2FzdCh7dGl0bGU6ICfmjojmnYPlpLHotKUnLGljb246J25vbmUnfSlcclxuICAgICAgICAvLyB0aGlzLnNldERhdGEoe2hhc1VzZXJJbmZvOmZhbHNlfSlcclxuICAgICAgfSlcclxuICAgICAgY29uc29sZS5sb2coJz4+Pj4+PuiOt+WPluaOiOadg+WktOWDj+atpemqpOWujOaIkCcpO1xyXG4gICAgfSxcclxuXHJcblxyXG5cclxuICAgIGFzeW5jIGdldFBob25lTnVtYmVyKGUpe1xyXG4gICAgICBjb25zb2xlLmxvZygnZ2V0UGhvbmVOdW1iZXInLCBlKTtcclxuICAgICAgY29uc29sZS5sb2coJz4+Pj4+Pj4+5YeG5aSH6I635Y+W55S16K+dJyk7XHJcbiAgICAgIGlmIChlLmRldGFpbC5lcnJNc2cgPT0gJ2dldFBob25lTnVtYmVyOm9rJykge1xyXG4gICAgICAgIGlmICghYXdhaXQgdGhpcy5wb3N0UGhvbmVOdW1iZXIoZSkpIHJldHVybjtcclxuICAgICAgICBpZiAoIWF3YWl0IHd4LiRjb21tb25SZXF1ZXN0LmdldFVzZXJJbmZvKCkpIHJldHVybjtcclxuICAgICAgICAvLyB0aGlzLnNldERhdGEoe2hhc1Bob25lOnRydWV9KTtcclxuICAgICAgICB0aGlzLmNvbXBsZXRlQXV0aG9yaXplKCk7XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKCctLS0t6I635Y+W55S16K+d5oiQ5Yqf77yBLS0tLScpO1xyXG4gICAgICB9IGVsc2V7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ+WPlua2iOaOiOadgycpO1xyXG4gICAgICAgIC8vIHRoaXMuc2hvd0dldFBob25lRGlhbG9nKCk7XHJcbiAgICAgICAgLy8gdGhpcy5zZXREYXRhKHtoYXNQaG9uZTpmYWxzZX0pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCctLS0t6I635Y+W55S16K+d5aSx6LSl77yBLS0tLScpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGFzeW5jIHBvc3RVc2VySW5mbyhyZXM6YW55KXtcclxuICAgICAgbGV0IFtlcnJvciwgcmVzdWx0XSA9IGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgICAgICB3eC4kaHR0cC5yZXF1ZXN0KHtcclxuICAgICAgICAgIHVybDpgL3d4L21pbmlhcHAvdXNlci9wYW5pY0J1eWluZ0luZm8uZG9gLFxyXG4gICAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICAgIHNpZ25hdHVyZTogcmVzLnNpZ25hdHVyZSxcclxuICAgICAgICAgICAgcmF3RGF0YTogcmVzLnJhd0RhdGEsXHJcbiAgICAgICAgICAgIGVuY3J5cHRlZERhdGE6IHJlcy5lbmNyeXB0ZWREYXRhLFxyXG4gICAgICAgICAgICBpdjogcmVzLml2XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICBpZiAoZXJyb3Ipe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgY29uc29sZS5sb2cocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGFzeW5jIHBvc3RQaG9uZU51bWJlcihlKXtcclxuICAgICAgbGV0IFtlcnJvciwgcmVzdWx0XSA9IGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgICAgICB3eC4kaHR0cC5yZXF1ZXN0KHtcclxuICAgICAgICAgIHVybDpgL3Nob3BwaW5nL2FjY291bnQuZG8/bT10ZWxSZWdCeUF1dG9SZWdgLFxyXG4gICAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICAgIFJlZmVycmFsc0NvZGU6ICcnLFxyXG4gICAgICAgICAgICBSZWZlcnJhbHNOYW1lOiAnJyxcclxuICAgICAgICAgICAgZW5jcnlwdGVkRGF0YTogZS5kZXRhaWwuZW5jcnlwdGVkRGF0YSxcclxuICAgICAgICAgICAgaXY6IGUuZGV0YWlsLml2LFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgaWYgKGVycm9yKXtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSxcclxuXHJcbiAgICBzaG93R2V0UGhvbmVEaWFsb2coKXtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBpc1Nob3dQaG9uZURpYWxvZzp0cnVlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgaGlkZUdldFBob25lRGlhbG9nKCl7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgaXNTaG93UGhvbmVEaWFsb2c6ZmFsc2VcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZUF1dGhvcml6ZSgpe1xyXG4gICAgICBjb25zb2xlLmxvZygnLS3lrozmiJDmiYDmnInmjojmnYMtLScpO1xyXG4gICAgICB0aGlzLnRyaWdnZXJFdmVudCgnYXV0aG9yaXplJywge1xyXG4gICAgICAgIGlzQXV0aG9yaXplOiB0cnVlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25EaWFsb2dDbG9zZSgpe1xyXG4gICAgICAvLyB3eC5zaG93VG9hc3Qoe1xyXG4gICAgICAvLyAgIHRpdGxlOiAn5Y+W5raI5o6I5p2DJyxcclxuICAgICAgLy8gICBpY29uOiAnbm9uZScsXHJcbiAgICAgIC8vICAgZHVyYXRpb246IDEwMDBcclxuICAgICAgLy8gfSk7XHJcbiAgICB9LFxyXG4gIH1cclxufSlcclxuIl19