(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/mod/redbag/view/redbag_window.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, 'e14bfKymw5Oo6R2jE29f611', 'redbag_window'); // Scripts/mod/redbag/view/redbag_window.js "use strict"; // -------------------------------------------------------------------- // @author: shiraho@syg.com(必填, 创建模块的人员) // @description: // 公会boss主窗体 //
Create: new Date().toISOString() // -------------------------------------------------------------------- var PathTool = require("pathtool"); var RedbagController = require("redbag_controller"); var GuildEvent = require("guild_event"); var RedbagWindow = cc.Class({ "extends": BaseView, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("redbag", "redbag_btn_panel"); this.win_type = WinType.Big; this.viewTag = SCENE_TAG.dialogue; this.ctrl = RedbagController.getInstance(); this.model = this.ctrl.getModel(); this.extend_id = arguments[0]; this.btn_list = {}; this.view_list = {}; this.select_btn = null; }, openCallBack: function openCallBack() { var main_panel = this.seekChild("main_panel"); this.container = this.seekChild(main_panel, "container"); this.background = this.seekChild("background"); for (var i = 1; i <= 3; i++) { var btn = main_panel.getChildByName("tab_btn_" + i); if (btn) { var tab = {}; tab.btn = btn; tab.select_bg = btn.getChildByName("select_bg"); tab.select_bg.active = false; tab.title = btn.getChildByName("title").getComponent(cc.Label); tab.red_point = btn.getChildByName("red_point"); tab.red_point.active = false; if (i == 2) { var is_red = this.model.getIsHaveRedBag(); tab.red_point.active = is_red; } else if (i == 1) { var is_red = this.model.getSendRedBagStatue(); tab.red_point.active = is_red; } tab.index = i; this.btn_list[i] = tab; this.setBtnClick(btn, i); } } }, setBtnClick: function setBtnClick(btn, index) { btn.on(cc.Node.EventType.TOUCH_END, function () { this.changeTabIndex(index); }.bind(this)); }, registerEvent: function registerEvent() { this.background.on(cc.Node.EventType.TOUCH_END, function () { this.ctrl.openMainView(false); }.bind(this)); this.addGlobalEvent(GuildEvent.UpdateGuildRedStatus, function () { var is_red = this.model.getIsHaveRedBag(); this.updateSomeRedStatus(is_red); is_red = this.model.getSendRedBagStatue(); this.updateOneRedStatus(is_red); }); }, updateSomeRedStatus: function updateSomeRedStatus(status) { if (this.btn_list && this.btn_list[2]) { var btn = this.btn_list[2]; btn.red_point.active = status; } }, updateOneRedStatus: function updateOneRedStatus(status) { if (this.btn_list && this.btn_list[1]) { var btn = this.btn_list[1]; btn.red_point.active = status; } }, changeTabIndex: function changeTabIndex(index) { if (this.select_btn && this.select_btn.index == index) return; if (this.select_btn) { this.select_btn.select_bg.active = false; this.select_btn.title.color = new cc.Color(0xcf, 0xb5, 0x93, 0xff); } if (this.pre_panel) this.pre_panel.setVisibleStatus(false); this.pre_panel = this.createSubPanel(index); this.select_btn = this.btn_list[index]; if (this.select_btn) { this.select_btn.select_bg.active = true; this.select_btn.title.color = new cc.Color(0xff, 0xed, 0xd6, 0xff); } if (this.pre_panel) { this.pre_panel.setVisibleStatus(true); // this.pre_panel.setData(this.data); } if (this.select_btn && this.select_btn.index == 3) { this.ctrl.sender13545(); } }, createSubPanel: function createSubPanel(index) { index = Number(index); var panel = this.view_list[index]; var size = this.container.getContentSize(); if (panel == null) { if (index == 1) { panel = Utils.createClass("redbag_send_panel", this.extend_id); panel.setPosition(cc.v2(size.width / 2, 355)); } else if (index == 2) { panel = Utils.createClass("redbag_get_panel"); panel.setPosition(cc.v2(size.width / 2, 375)); } else if (index == 3) { panel = Utils.createClass("redbag_rank_panel"); panel.setPosition(cc.v2(size.width / 2, 375)); } panel.show(); panel.setParent(this.container); this.view_list[index] = panel; } return panel; }, openRootWnd: function openRootWnd(index, data) { this.data = data; index = index || 1; var is_have_red = this.model.getIsHaveRedBag() || false; if (is_have_red == true && index == 1 && !this.extend_id) { index = 2; } this.changeTabIndex(index); }, closeCallBack: function closeCallBack() { this.ctrl.openMainView(false); for (var i in this.view_list) { var v = this.view_list[i]; v.deleteMe(); v = null; } this.view_list = null; } }); module.exports = RedbagWindow; 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxyZWRiYWdcXHZpZXdcXHJlZGJhZ193aW5kb3cuanMiXSwibmFtZXMiOlsiUGF0aFRvb2wiLCJyZXF1aXJlIiwiUmVkYmFnQ29udHJvbGxlciIsIkd1aWxkRXZlbnQiLCJSZWRiYWdXaW5kb3ciLCJjYyIsIkNsYXNzIiwiQmFzZVZpZXciLCJjdG9yIiwicHJlZmFiUGF0aCIsImdldFByZWZhYlBhdGgiLCJ3aW5fdHlwZSIsIldpblR5cGUiLCJCaWciLCJ2aWV3VGFnIiwiU0NFTkVfVEFHIiwiZGlhbG9ndWUiLCJjdHJsIiwiZ2V0SW5zdGFuY2UiLCJtb2RlbCIsImdldE1vZGVsIiwiZXh0ZW5kX2lkIiwiYXJndW1lbnRzIiwiYnRuX2xpc3QiLCJ2aWV3X2xpc3QiLCJzZWxlY3RfYnRuIiwib3BlbkNhbGxCYWNrIiwibWFpbl9wYW5lbCIsInNlZWtDaGlsZCIsImNvbnRhaW5lciIsImJhY2tncm91bmQiLCJpIiwiYnRuIiwiZ2V0Q2hpbGRCeU5hbWUiLCJ0YWIiLCJzZWxlY3RfYmciLCJhY3RpdmUiLCJ0aXRsZSIsImdldENvbXBvbmVudCIsIkxhYmVsIiwicmVkX3BvaW50IiwiaXNfcmVkIiwiZ2V0SXNIYXZlUmVkQmFnIiwiZ2V0U2VuZFJlZEJhZ1N0YXR1ZSIsImluZGV4Iiwic2V0QnRuQ2xpY2siLCJvbiIsIk5vZGUiLCJFdmVudFR5cGUiLCJUT1VDSF9FTkQiLCJjaGFuZ2VUYWJJbmRleCIsImJpbmQiLCJyZWdpc3RlckV2ZW50Iiwib3Blbk1haW5WaWV3IiwiYWRkR2xvYmFsRXZlbnQiLCJVcGRhdGVHdWlsZFJlZFN0YXR1cyIsInVwZGF0ZVNvbWVSZWRTdGF0dXMiLCJ1cGRhdGVPbmVSZWRTdGF0dXMiLCJzdGF0dXMiLCJjb2xvciIsIkNvbG9yIiwicHJlX3BhbmVsIiwic2V0VmlzaWJsZVN0YXR1cyIsImNyZWF0ZVN1YlBhbmVsIiwic2VuZGVyMTM1NDUiLCJOdW1iZXIiLCJwYW5lbCIsInNpemUiLCJnZXRDb250ZW50U2l6ZSIsIlV0aWxzIiwiY3JlYXRlQ2xhc3MiLCJzZXRQb3NpdGlvbiIsInYyIiwid2lkdGgiLCJzaG93Iiwic2V0UGFyZW50Iiwib3BlblJvb3RXbmQiLCJkYXRhIiwiaXNfaGF2ZV9yZWQiLCJjbG9zZUNhbGxCYWNrIiwidiIsImRlbGV0ZU1lIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUNBLElBQUlDLGdCQUFnQixHQUFHRCxPQUFPLENBQUMsbUJBQUQsQ0FBOUI7O0FBQ0EsSUFBSUUsVUFBVSxHQUFHRixPQUFPLENBQUMsYUFBRCxDQUF4Qjs7QUFFQSxJQUFJRyxZQUFZLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ3hCLGFBQVNDLFFBRGU7QUFFeEJDLEVBQUFBLElBQUksRUFBRSxnQkFBWTtBQUNkLFNBQUtDLFVBQUwsR0FBa0JULFFBQVEsQ0FBQ1UsYUFBVCxDQUF1QixRQUF2QixFQUFpQyxrQkFBakMsQ0FBbEI7QUFDQSxTQUFLQyxRQUFMLEdBQWdCQyxPQUFPLENBQUNDLEdBQXhCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlQyxTQUFTLENBQUNDLFFBQXpCO0FBQ0EsU0FBS0MsSUFBTCxHQUFZZixnQkFBZ0IsQ0FBQ2dCLFdBQWpCLEVBQVo7QUFDQSxTQUFLQyxLQUFMLEdBQWEsS0FBS0YsSUFBTCxDQUFVRyxRQUFWLEVBQWI7QUFFQSxTQUFLQyxTQUFMLEdBQWlCQyxTQUFTLENBQUMsQ0FBRCxDQUExQjtBQUNBLFNBQUtDLFFBQUwsR0FBZ0IsRUFBaEI7QUFDQSxTQUFLQyxTQUFMLEdBQWlCLEVBQWpCO0FBQ0EsU0FBS0MsVUFBTCxHQUFrQixJQUFsQjtBQUNILEdBYnVCO0FBZ0J4QkMsRUFBQUEsWUFBWSxFQUFFLHdCQUFZO0FBQ3RCLFFBQUlDLFVBQVUsR0FBRyxLQUFLQyxTQUFMLENBQWUs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SCxHQXRJdUI7QUF3SXhCbUMsRUFBQUEsYUFBYSxFQUFFLHlCQUFZO0FBQ3ZCLFNBQUs5RCxJQUFMLENBQVVvQyxZQUFWLENBQXVCLEtBQXZCOztBQUNBLFNBQUssSUFBSXRCLENBQVQsSUFBYyxLQUFLUCxTQUFuQixFQUE4QjtBQUMxQixVQUFJd0QsQ0FBQyxHQUFHLEtBQUt4RCxTQUFMLENBQWVPLENBQWYsQ0FBUjtBQUNBaUQsTUFBQUEsQ0FBQyxDQUFDQyxRQUFGO0FBQ0FELE1BQUFBLENBQUMsR0FBRyxJQUFKO0FBQ0g7O0FBQ0QsU0FBS3hELFNBQUwsR0FBaUIsSUFBakI7QUFDSDtBQWhKdUIsQ0FBVCxDQUFuQjtBQW9KQTBELE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQi9FLFlBQWpCIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBAYXV0aG9yOiBzaGlyYWhvQHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXHJcbi8vIEBkZXNjcmlwdGlvbjpcclxuLy8gICAgICDlhazkvJpib3Nz5Li756qX5L2TXHJcbi8vIDxici8+Q3JlYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbnZhciBQYXRoVG9vbCA9IHJlcXVpcmUoXCJwYXRodG9vbFwiKTtcclxudmFyIFJlZGJhZ0NvbnRyb2xsZXIgPSByZXF1aXJlKFwicmVkYmFnX2NvbnRyb2xsZXJcIik7XHJcbnZhciBHdWlsZEV2ZW50ID0gcmVxdWlyZShcImd1aWxkX2V2ZW50XCIpO1xyXG5cclxudmFyIFJlZGJhZ1dpbmRvdyA9IGNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IEJhc2VWaWV3LFxyXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMucHJlZmFiUGF0aCA9IFBhdGhUb29sLmdldFByZWZhYlBhdGgoXCJyZWRiYWdcIiwgXCJyZWRiYWdfYnRuX3BhbmVsXCIpO1xyXG4gICAgICAgIHRoaXMud2luX3R5cGUgPSBXaW5UeXBlLkJpZztcclxuICAgICAgICB0aGlzLnZpZXdUYWcgPSBTQ0VORV9UQUcuZGlhbG9ndWU7XHJcbiAgICAgICAgdGhpcy5jdHJsID0gUmVkYmFnQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpO1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLmN0cmwuZ2V0TW9kZWwoKTtcclxuXHJcbiAgICAgICAgdGhpcy5leHRlbmRfaWQgPSBhcmd1bWVudHNbMF07XHJcbiAgICAgICAgdGhpcy5idG5fbGlzdCA9IHt9O1xyXG4gICAgICAgIHRoaXMudmlld19saXN0ID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RfYnRuID0gbnVsbDtcclxuICAgIH0sXHJcblxyXG5cclxuICAgIG9wZW5DYWxsQmFjazogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBtYWluX3BhbmVsID0gdGhpcy5zZWVrQ2hpbGQoXCJtYWluX3BhbmVsXCIpO1xyXG5cclxuICAgICAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMuc2Vla0NoaWxkKG1haW5fcGFuZWwsIFwiY29udGFpbmVyXCIpO1xyXG4gICAgICAgIHRoaXMuYmFja2dyb3VuZCA9IHRoaXMuc2Vla0NoaWxkKFwiYmFja2dyb3VuZFwiKTtcclxuXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPD0gMzsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBidG4gPSBtYWluX3BhbmVsLmdldENoaWxkQnlOYW1lKFwidGFiX2J0bl9cIiArIGkpO1xyXG4gICAgICAgICAgICBpZiAoYnRuKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgdGFiID0ge307XHJcbiAgICAgICAgICAgICAgICB0YWIuYnRuID0gYnRuO1xyXG4gICAgICAgICAgICAgICAgdGFiLnNlbGVjdF9iZyA9IGJ0bi5nZXRDaGlsZEJ5TmFtZShcInNlbGVjdF9iZ1wiKTtcclxuICAgICAgICAgICAgICAgIHRhYi5zZWxlY3RfYmcuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0YWIudGl0bGUgPSBidG4uZ2V0Q2hpbGRCeU5hbWUoXCJ0aXRsZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpO1xyXG4gICAgICAgICAgICAgICAgdGFiLnJlZF9wb2ludCA9IGJ0bi5nZXRDaGlsZEJ5TmFtZShcInJlZF9wb2ludFwiKTtcclxuICAgICAgICAgICAgICAgIHRhYi5yZWRfcG9pbnQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZiAoaSA9PSAyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlzX3JlZCA9IHRoaXMubW9kZWwuZ2V0SXNIYXZlUmVkQmFnKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFiLnJlZF9wb2ludC5hY3RpdmUgPSBpc19yZWQ7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGkgPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBpc19yZWQgPSB0aGlzLm1vZGVsLmdldFNlbmRSZWRCYWdTdGF0dWUoKTtcclxuICAgICAgICAgICAgICAgICAgICB0YWIucmVkX3BvaW50LmFjdGl2ZSA9IGlzX3JlZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRhYi5pbmRleCA9IGk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5fbGlzdFtpXSA9IHRhYjtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0QnRuQ2xpY2soYnRuLCBpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9LFxyXG5cclxuICAgIHNldEJ0bkNsaWNrKGJ0biwgaW5kZXgpIHtcclxuICAgICAgICBidG4ub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVGFiSW5kZXgoaW5kZXgpO1xyXG4gICAgICAgIH0uYmluZCh0aGlzKSlcclxuXHJcbiAgICB9LFxyXG5cclxuICAgIHJlZ2lzdGVyRXZlbnQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLmJhY2tncm91bmQub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3RybC5vcGVuTWFpblZpZXcoZmFsc2UpXHJcbiAgICAgICAgfS5iaW5kKHRoaXMpKVxyXG4gICAgICAgIHRoaXMuYWRkR2xvYmFsRXZlbnQoR3VpbGRFdmVudC5VcGRhdGVHdWlsZFJlZFN0YXR1cywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgaXNfcmVkID0gdGhpcy5tb2RlbC5nZXRJc0hhdmVSZWRCYWcoKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVTb21lUmVkU3RhdHVzKGlzX3JlZCk7XHJcbiAgICAgICAgICAgIGlzX3JlZCA9IHRoaXMubW9kZWwuZ2V0U2VuZFJlZEJhZ1N0YXR1ZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9uZVJlZFN0YXR1cyhpc19yZWQpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVNvbWVSZWRTdGF0dXM6IGZ1bmN0aW9uIChzdGF0dXMpIHtcclxuICAgICAgICBpZiAodGhpcy5idG5fbGlzdCAmJiB0aGlzLmJ0bl9saXN0WzJdKSB7XHJcbiAgICAgICAgICAgIHZhciBidG4gPSB0aGlzLmJ0bl9saXN0WzJdO1xyXG4gICAgICAgICAgICBidG4ucmVkX3BvaW50LmFjdGl2ZSA9IHN0YXR1cztcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZU9uZVJlZFN0YXR1czogZnVuY3Rpb24gKHN0YXR1cykge1xyXG4gICAgICAgIGlmICh0aGlzLmJ0bl9saXN0ICYmIHRoaXMuYnRuX2xpc3RbMV0pIHtcclxuICAgICAgICAgICAgdmFyIGJ0biA9IHRoaXMuYnRuX2xpc3RbMV07XHJcbiAgICAgICAgICAgIGJ0bi5yZWRfcG9pbnQuYWN0aXZlID0gc3RhdHVzO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgY2hhbmdlVGFiSW5kZXg6IGZ1bmN0aW9uIChpbmRleCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdF9idG4gJiYgdGhpcy5zZWxlY3RfYnRuLmluZGV4ID09IGluZGV4KSByZXR1cm5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RfYnRuKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0X2J0bi5zZWxlY3RfYmcuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0X2J0bi50aXRsZS5jb2xvciA9IG5ldyBjYy5Db2xvcigweGNmLCAweGI1LCAweDkzLCAweGZmKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucHJlX3BhbmVsKVxyXG4gICAgICAgICAgICB0aGlzLnByZV9wYW5lbC5zZXRWaXNpYmxlU3RhdHVzKGZhbHNlKTtcclxuICAgICAgICB0aGlzLnByZV9wYW5lbCA9IHRoaXMuY3JlYXRlU3ViUGFuZWwoaW5kZXgpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0X2J0biA9IHRoaXMuYnRuX2xpc3RbaW5kZXhdO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdF9idG4pIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RfYnRuLnNlbGVjdF9iZy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdF9idG4udGl0bGUuY29sb3IgPSBuZXcgY2MuQ29sb3IoMHhmZiwgMHhlZCwgMHhkNiwgMHhmZilcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucHJlX3BhbmVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMucHJlX3BhbmVsLnNldFZpc2libGVTdGF0dXModHJ1ZSk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMucHJlX3BhbmVsLnNldERhdGEodGhpcy5kYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0X2J0biAmJiB0aGlzLnNlbGVjdF9idG4uaW5kZXggPT0gMykge1xyXG4gICAgICAgICAgICB0aGlzLmN0cmwuc2VuZGVyMTM1NDUoKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGNyZWF0ZVN1YlBhbmVsOiBmdW5jdGlvbiAoaW5kZXgpIHtcclxuICAgICAgICBpbmRleCA9IE51bWJlcihpbmRleCk7XHJcbiAgICAgICAgdmFyIHBhbmVsID0gdGhpcy52aWV3X2xpc3RbaW5kZXhdO1xyXG4gICAgICAgIHZhciBzaXplID0gdGhpcy5jb250YWluZXIuZ2V0Q29udGVudFNpemUoKTtcclxuICAgICAgICBpZiAocGFuZWwgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgcGFuZWwgPSBVdGlscy5jcmVhdGVDbGFzcyhcInJlZGJhZ19zZW5kX3BhbmVsXCIsIHRoaXMuZXh0ZW5kX2lkKTtcclxuICAgICAgICAgICAgICAgIHBhbmVsLnNldFBvc2l0aW9uKGNjLnYyKHNpemUud2lkdGggLyAyLCAzNTUpKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PSAyKSB7XHJcbiAgICAgICAgICAgICAgICBwYW5lbCA9IFV0aWxzLmNyZWF0ZUNsYXNzKFwicmVkYmFnX2dldF9wYW5lbFwiKTtcclxuICAgICAgICAgICAgICAgIHBhbmVsLnNldFBvc2l0aW9uKGNjLnYyKHNpemUud2lkdGggLyAyLCAzNzUpKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PSAzKSB7XHJcbiAgICAgICAgICAgICAgICBwYW5lbCA9IFV0aWxzLmNyZWF0ZUNsYXNzKFwicmVkYmFnX3JhbmtfcGFuZWxcIik7XHJcbiAgICAgICAgICAgICAgICBwYW5lbC5zZXRQb3NpdGlvbihjYy52MihzaXplLndpZHRoIC8gMiwgMzc1KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcGFuZWwuc2hvdygpO1xyXG4gICAgICAgICAgICBwYW5lbC5zZXRQYXJlbnQodGhpcy5jb250YWluZXIpO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdfbGlzdFtpbmRleF0gPSBwYW5lbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBhbmVsXHJcbiAgICB9LFxyXG5cclxuICAgIG9wZW5Sb290V25kOiBmdW5jdGlvbiAoaW5kZXgsIGRhdGEpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgICAgIGluZGV4ID0gaW5kZXggfHwgMTtcclxuICAgICAgICB2YXIgaXNfaGF2ZV9yZWQgPSB0aGlzLm1vZGVsLmdldElzSGF2ZVJlZEJhZygpIHx8IGZhbHNlO1xyXG4gICAgICAgIGlmIChpc19oYXZlX3JlZCA9PSB0cnVlICYmIGluZGV4ID09IDEgJiYgIXRoaXMuZXh0ZW5kX2lkKSB7XHJcbiAgICAgICAgICAgIGluZGV4ID0gMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VUYWJJbmRleChpbmRleClcclxuICAgIH0sXHJcblxyXG4gICAgY2xvc2VDYWxsQmFjazogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuY3RybC5vcGVuTWFpblZpZXcoZmFsc2UpO1xyXG4gICAgICAgIGZvciAodmFyIGkgaW4gdGhpcy52aWV3X2xpc3QpIHtcclxuICAgICAgICAgICAgdmFyIHYgPSB0aGlzLnZpZXdfbGlzdFtpXTtcclxuICAgICAgICAgICAgdi5kZWxldGVNZSgpO1xyXG4gICAgICAgICAgICB2ID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy52aWV3X2xpc3QgPSBudWxsO1xyXG4gICAgfVxyXG5cclxufSk7XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IFJlZGJhZ1dpbmRvdzsiXX0=