(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/mod/welfare/view/sign_item.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { return __quick_compile_project__.require(request, __filename); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; cc._RF.push(module, 'bbe1bf35rRMFZiUUvy8zfHr', 'sign_item'); // Scripts/mod/welfare/view/sign_item.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 签到子项 //
Create: 2019-03-06 15:27:39 // -------------------------------------------------------------------- var PathTool = require("pathtool"); var Sign_itemPanel = cc.Class({ "extends": BasePanel, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("welfare", "sign_item"); }, // 可以初始化声明一些变量的 initConfig: function initConfig() {}, // 初始化一些配置数据,可以用于声明一些变量之类的 initPanel: function initPanel() { this.main_container_nd = this.seekChild("main_container"); this.get_nd = this.seekChild(this.main_container_nd, "get"); this.get_nd.active = false; this.get2_nd = this.seekChild(this.main_container_nd, "get2"); this.get2_nd.active = false; var goodcon = this.seekChild("goodcon"); this.goods_item = ItemsPool.getInstance().getItem("backpack_item"); this.goods_item.show(); this.goods_item.initConfig(false, 0.9, false, false); this.goods_item.setPosition(107 / 2, 107 / 2); this.goods_item.setParent(goodcon); this.touch_nd = this.seekChild("touch"); }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent: function registerEvent() { this.touch_nd.on(cc.Node.EventType.TOUCH_END, function () { if (this.callback) { this.callback(this); } }, this); }, setData: function setData(data) { this.data = data; if (this.root_wnd) this.onShow(); }, // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了 onShow: function onShow() { this.touch_nd.name = "sign_btn_" + this.data.day; if (this.data == null) return; var data = this.data; //引导需要 if (data.index) {} var vo = {}; vo = Utils.deepCopy(Utils.getItemConfig(data.rewards[0][0])); vo.quantity = data.rewards[0][1]; vo.num = vo.quantity; vo.bid = vo.id; this.goods_item.setData(vo); if (data.status != null) { if (data.status == 0) { //没领 if (data.now_day == data.day) { //是今天 if (this.effect == null) { this.effect = this.seekChild(this.main_container_nd, "effect", sp.Skeleton); var res = cc.js.formatStr("spine/%s/action.atlas", PathTool.getEffectRes(262)); this.loadRes(res, function (res_object) { this.effect.skeletonData = res_object; this.effect.setAnimation(0, "action", false); }.bind(this)); } this.effect.node.active = true; } else { if (this.effect) { this.effect.node.active = false; } } this.root_wnd.resumeSystemEvents(true); this.get2_nd.active = false; this.get_nd.active = false; } else if (data.status == 1) { //领取普通奖励 if (this.effect) { this.effect.node.active = false; } this.get2_nd.active = true; this.get_nd.active = false; this.root_wnd.resumeSystemEvents(true); } else if (data.status == 2) { if (this.effect) { this.effect.node.active = false; } this.get2_nd.active = false; this.get_nd.active = true; this.root_wnd.pauseSystemEvents(true); } } if (data.is_show != null) { if (data.is_show == 1) { this.goods_item.showItemEffect(true, 263, PlayerAction.action_2, true, 1.1); } else { this.goods_item.showItemEffect(false); } } }, addCallBack: function addCallBack(value) { if (this.callback == null) this.callback = value; }, getData: function getData() { return this.data; }, getItemPosition: function getItemPosition() { if (this.root_wnd) { return this.root_wnd.getPosition(); } }, // 面板设置不可见的回调,这里做一些不可见的屏蔽处理 onHide: function onHide() {}, // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用 onDelete: function onDelete() { if (this.goods_item) { this.goods_item.deleteMe(); this.goods_item = null; } if (this.effect) { this.effect.setToSetupPose(); this.effect.clearTracks(); } } }); cc._RF.pop(); } if (nodeEnv) { __define(__module.exports, __require, __module); } else { __quick_compile_project__.registerModuleFunc(__filename, function () { __define(__module.exports, __require, __module); }); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFx3ZWxmYXJlXFx2aWV3XFxzaWduX2l0ZW0uanMiXSwibmFtZXMiOlsiUGF0aFRvb2wiLCJyZXF1aXJlIiwiU2lnbl9pdGVtUGFuZWwiLCJjYyIsIkNsYXNzIiwiQmFzZVBhbmVsIiwiY3RvciIsInByZWZhYlBhdGgiLCJnZXRQcmVmYWJQYXRoIiwiaW5pdENvbmZpZyIsImluaXRQYW5lbCIsIm1haW5fY29udGFpbmVyX25kIiwic2Vla0NoaWxkIiwiZ2V0X25kIiwiYWN0aXZlIiwiZ2V0Ml9uZCIsImdvb2Rjb24iLCJnb29kc19pdGVtIiwiSXRlbXNQb29sIiwiZ2V0SW5zdGFuY2UiLCJnZXRJdGVtIiwic2hvdyIsInNldFBvc2l0aW9uIiwic2V0UGFyZW50IiwidG91Y2hfbmQiLCJyZWdpc3RlckV2ZW50Iiwib24iLCJOb2RlIiwiRXZlbnRUeXBlIiwiVE9VQ0hfRU5EIiwiY2FsbGJhY2siLCJzZXREYXRhIiwiZGF0YSIsInJvb3Rfd25kIiwib25TaG93IiwibmFtZSIsImRheSIsImluZGV4Iiwidm8iLCJVdGlscyIsImRlZXBDb3B5IiwiZ2V0SXRlbUNvbmZpZyIsInJld2FyZHMiLCJxdWFudGl0eSIsIm51bSIsImJpZCIsImlkIiwic3RhdHVzIiwibm93X2RheSIsImVmZmVjdCIsInNwIiwiU2tlbGV0b24iLCJyZXMiLCJqcyIsImZvcm1hdFN0ciIsImdldEVmZmVjdFJlcyIsImxvYWRSZXMiLCJyZXNfb2JqZWN0Iiwic2tlbGV0b25EYXRhIiwic2V0QW5pbWF0aW9uIiwiYmluZCIsIm5vZGUiLCJyZXN1bWVTeXN0ZW1FdmVudHMiLCJwYXVzZVN5c3RlbUV2ZW50cyIsImlzX3Nob3ciLCJzaG93SXRlbUVmZmVjdCIsIlBsYXllckFjdGlvbiIsImFjdGlvbl8yIiwiYWRkQ2FsbEJhY2siLCJ2YWx1ZSIsImdldERhdGEiLCJnZXRJdGVtUG9zaXRpb24iLCJnZXRQb3NpdGlvbiIsIm9uSGlkZSIsIm9uRGVsZXRlIiwi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RTtBQUNILE9BRkQsTUFFTztBQUNILGFBQUtsRCxVQUFMLENBQWdCZ0QsY0FBaEIsQ0FBK0IsS0FBL0I7QUFDSDtBQUNKO0FBRUosR0F6R3lCO0FBMkcxQkcsRUFBQUEsV0FBVyxFQUFFLHFCQUFVQyxLQUFWLEVBQWlCO0FBQzFCLFFBQUksS0FBS3ZDLFFBQUwsSUFBaUIsSUFBckIsRUFDSSxLQUFLQSxRQUFMLEdBQWdCdUMsS0FBaEI7QUFDUCxHQTlHeUI7QUFnSDFCQyxFQUFBQSxPQUFPLEVBQUUsbUJBQVk7QUFDakIsV0FBTyxLQUFLdEMsSUFBWjtBQUNILEdBbEh5QjtBQW9IMUJ1QyxFQUFBQSxlQUFlLEVBQUUsMkJBQVk7QUFDekIsUUFBSSxLQUFLdEMsUUFBVCxFQUFtQjtBQUNmLGFBQU8sS0FBS0EsUUFBTCxDQUFjdUMsV0FBZCxFQUFQO0FBQ0g7QUFDSixHQXhIeUI7QUEwSDFCO0FBQ0FDLEVBQUFBLE1BQU0sRUFBRSxrQkFBWSxDQUVuQixDQTdIeUI7QUErSDFCO0FBQ0FDLEVBQUFBLFFBQVEsRUFBRSxvQkFBWTtBQUNsQixRQUFJLEtBQUt6RCxVQUFULEVBQXFCO0FBQ2pCLFdBQUtBLFVBQUwsQ0FBZ0IwRCxRQUFoQjtBQUNBLFdBQUsxRCxVQUFMLEdBQWtCLElBQWxCO0FBQ0g7O0FBQ0QsUUFBSSxLQUFLZ0MsTUFBVCxFQUFpQjtBQUNiLFdBQUtBLE1BQUwsQ0FBWTJCLGNBQVo7QUFDQSxXQUFLM0IsTUFBTCxDQUFZNEIsV0FBWjtBQUNIO0FBQ0o7QUF6SXlCLENBQVQsQ0FBckIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAYXV0aG9yOiB4eHhAc3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICDnrb7liLDlrZDpoblcbi8vIDxici8+Q3JlYXRlOiAyMDE5LTAzLTA2IDE1OjI3OjM5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIFBhdGhUb29sID0gcmVxdWlyZShcInBhdGh0b29sXCIpO1xudmFyIFNpZ25faXRlbVBhbmVsID0gY2MuQ2xhc3Moe1xuICAgIGV4dGVuZHM6IEJhc2VQYW5lbCxcbiAgICBjdG9yOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMucHJlZmFiUGF0aCA9IFBhdGhUb29sLmdldFByZWZhYlBhdGgoXCJ3ZWxmYXJlXCIsIFwic2lnbl9pdGVtXCIpO1xuICAgIH0sXG5cbiAgICAvLyDlj6/ku6XliJ3lp4vljJblo7DmmI7kuIDkupvlj5jph4/nmoRcbiAgICBpbml0Q29uZmlnOiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgLy8g5Yid5aeL5YyW5LiA5Lqb6YWN572u5pWw5o2uLOWPr+S7peeUqOS6juWjsOaYjuS4gOS6m+WPmOmHj+S5i+exu+eahFxuICAgIGluaXRQYW5lbDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLm1haW5fY29udGFpbmVyX25kID0gdGhpcy5zZWVrQ2hpbGQoXCJtYWluX2NvbnRhaW5lclwiKTtcbiAgICAgICAgdGhpcy5nZXRfbmQgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLm1haW5fY29udGFpbmVyX25kLCBcImdldFwiKTtcbiAgICAgICAgdGhpcy5nZXRfbmQuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZ2V0Ml9uZCA9IHRoaXMuc2Vla0NoaWxkKHRoaXMubWFpbl9jb250YWluZXJfbmQsIFwiZ2V0MlwiKTtcbiAgICAgICAgdGhpcy5nZXQyX25kLmFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgICAgIHZhciBnb29kY29uID0gdGhpcy5zZWVrQ2hpbGQoXCJnb29kY29uXCIpXG4gICAgICAgIHRoaXMuZ29vZHNfaXRlbSA9IEl0ZW1zUG9vbC5nZXRJbnN0YW5jZSgpLmdldEl0ZW0oXCJiYWNrcGFja19pdGVtXCIpO1xuICAgICAgICB0aGlzLmdvb2RzX2l0ZW0uc2hvdygpO1xuICAgICAgICB0aGlzLmdvb2RzX2l0ZW0uaW5pdENvbmZpZyhmYWxzZSwgMC45LCBmYWxzZSwgZmFsc2UpO1xuICAgICAgICB0aGlzLmdvb2RzX2l0ZW0uc2V0UG9zaXRpb24oMTA3IC8gMiwgMTA3IC8gMik7XG4gICAgICAgIHRoaXMuZ29vZHNfaXRlbS5zZXRQYXJlbnQoZ29vZGNvbik7XG5cbiAgICAgICAgdGhpcy50b3VjaF9uZCA9IHRoaXMuc2Vla0NoaWxkKFwidG91Y2hcIik7XG4gICAgfSxcblxuICAgIC8vIOazqOWGjOS6i+S7tuebkeWQrOeahOaOpeWPoyzkuI3pnIDopoHmiYvliqjosIPnlKgs5aaC5p6c5piv5L2/55SoZ2NvcmUuR2xvYmFsRXZlbnTnm5HlkKws5Y+v5Lul55u05o6l6LCD55SoYWRkR2xvYmFsRXZlbnRcbiAgICByZWdpc3RlckV2ZW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMudG91Y2hfbmQub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsbGJhY2sodGhpcylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgdGhpcylcbiAgICB9LFxuXG4gICAgc2V0RGF0YTogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICAgICAgaWYgKHRoaXMucm9vdF93bmQpXG4gICAgICAgICAgICB0aGlzLm9uU2hvdygpO1xuICAgIH0sXG5cbiAgICAvLyDpooTliLbkvZPliqDovb3lrozmiJDkuYvlkI4s5re75Yqg5Yiw5a+55bqU5Li76IqC54K55LmL5ZCO55qE5Zue6LCD5Y+v5Lul6K6+572u5LiA5Lqb5pWw5o2u5LqGXG4gICAgb25TaG93OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMudG91Y2hfbmQubmFtZSA9IFwic2lnbl9idG5fXCIgKyB0aGlzLmRhdGEuZGF5O1xuXG4gICAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCkgcmV0dXJuXG4gICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAvL+W8leWvvOmcgOimgVxuICAgICAgICBpZiAoZGF0YS5pbmRleCkge1xuXG4gICAgICAgIH1cbiAgICAgICAgdmFyIHZvID0ge307XG4gICAgICAgIHZvID0gVXRpbHMuZGVlcENvcHkoVXRpbHMuZ2V0SXRlbUNvbmZpZyhkYXRhLnJld2FyZHNbMF1bMF0pKTtcbiAgICAgICAgdm8ucXVhbnRpdHkgPSBkYXRhLnJld2FyZHNbMF1bMV07XG4gICAgICAgIHZvLm51bSA9IHZvLnF1YW50aXR5O1xuICAgICAgICB2by5iaWQgPSB2by5pZDtcbiAgICAgICAgdGhpcy5nb29kc19pdGVtLnNldERhdGEodm8pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzID09IDApIHsgICAvL+ayoemihlxuICAgICAgICAgICAgICAgIGlmIChkYXRhLm5vd19kYXkgPT0gZGF0YS5kYXkpIHsgICAvL+aYr+S7iuWkqVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5lZmZlY3QgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lZmZlY3QgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLm1haW5fY29udGFpbmVyX25kLCBcImVmZmVjdFwiLCBzcC5Ta2VsZXRvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzID0gY2MuanMuZm9ybWF0U3RyKFwic3BpbmUvJXMvYWN0aW9uLmF0bGFzXCIsIFBhdGhUb29sLmdldEVmZmVjdFJlcygyNjIpKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUmVzKHJlcywgZnVuY3Rpb24gKHJlc19vYmplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdC5za2VsZXRvbkRhdGEgPSByZXNfb2JqZWN0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0LnNldEFuaW1hdGlvbigwLCBcImFjdGlvblwiLCBmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdC5ub2RlLmFjdGl2ZSA9IHRydWVcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5lZmZlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0Lm5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yb290X3duZC5yZXN1bWVTeXN0ZW1FdmVudHModHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXQyX25kLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0X25kLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhLnN0YXR1cyA9PSAxKSB7ICAgIC8v6aKG5Y+W5pmu6YCa5aWW5YqxXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWZmZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0Lm5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Ml9uZC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0X25kLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMucm9vdF93bmQucmVzdW1lU3lzdGVtRXZlbnRzKHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhLnN0YXR1cyA9PSAyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWZmZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0Lm5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Ml9uZC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmdldF9uZC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMucm9vdF93bmQucGF1c2VTeXN0ZW1FdmVudHModHJ1ZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLmlzX3Nob3chPW51bGwpIHtcbiAgICAgICAgICAgIGlmIChkYXRhLmlzX3Nob3cgPT0gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ29vZHNfaXRlbS5zaG93SXRlbUVmZmVjdCh0cnVlLCAyNjMsIFBsYXllckFjdGlvbi5hY3Rpb25fMiwgdHJ1ZSwgMS4xKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb29kc19pdGVtLnNob3dJdGVtRWZmZWN0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfSxcblxuICAgIGFkZENhbGxCYWNrOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMuY2FsbGJhY2sgPT0gbnVsbClcbiAgICAgICAgICAgIHRoaXMuY2FsbGJhY2sgPSB2YWx1ZTtcbiAgICB9LFxuXG4gICAgZ2V0RGF0YTogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhXG4gICAgfSxcblxuICAgIGdldEl0ZW1Qb3NpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5yb290X3duZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm9vdF93bmQuZ2V0UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDpnaLmnb/orr7nva7kuI3lj6/op4HnmoTlm57osIMs6L+Z6YeM5YGa5LiA5Lqb5LiN5Y+v6KeB55qE5bGP6JS95aSE55CGXG4gICAgb25IaWRlOiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgLy8g5b2T6Z2i5p2/5LuO5Li76IqC54K56YeK5pS+5o6J55qE6LCD55So5o6l5Y+jLOmcgOimgeaJi+WKqOiwg+eUqCzogIzkuJTkuZ/kuIDlrpropoHosIPnlKhcbiAgICBvbkRlbGV0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5nb29kc19pdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmdvb2RzX2l0ZW0uZGVsZXRlTWUoKTtcbiAgICAgICAgICAgIHRoaXMuZ29vZHNfaXRlbSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZWZmZWN0KSB7XG4gICAgICAgICAgICB0aGlzLmVmZmVjdC5zZXRUb1NldHVwUG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5lZmZlY3QuY2xlYXJUcmFja3MoKTtcbiAgICAgICAgfVxuICAgIH0sXG59KSJdfQ==