|
(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主窗体
|
// <br/>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=
|