|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/mod/rank/rank_controller.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, '490d1uCJXtIoL7oaw9StSoQ', 'rank_controller');
|
// Scripts/mod/rank/rank_controller.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: xxx@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 这里填写详细说明,主要填写该模块的功能简要
|
// <br/>Create: 2019-01-29 10:47:25
|
// --------------------------------------------------------------------
|
var RankEvent = require("rank_event");
|
|
var MainuiController = require("mainui_controller");
|
|
var MainuiConst = require("mainui_const");
|
|
var RankController = cc.Class({
|
"extends": BaseController,
|
ctor: function ctor() {},
|
// 初始化配置数据
|
initConfig: function initConfig() {
|
var RankModel = require("rank_model");
|
|
this.model = new RankModel();
|
this.model.initConfig();
|
},
|
// 返回当前的model
|
getModel: function getModel() {
|
return this.model;
|
},
|
// 注册监听事件
|
registerEvents: function registerEvents() {},
|
// 注册协议接受事件
|
registerProtocals: function registerProtocals() {
|
this.RegisterProtocal(12900, this.handle_12900); //排行榜数据
|
|
this.RegisterProtocal(12901, this.handle_12901); //指定排行榜最后更新时间
|
|
this.RegisterProtocal(12902, this.handle_12902); //请求各个排行榜第一数据
|
|
this.RegisterProtocal(12903, this.handle_12903); //请求公会排行榜数据
|
|
this.RegisterProtocal(12904, this.handle_12904); //请求公会排行榜数据
|
},
|
//排行榜
|
send_12900: function send_12900(rank_type, start, num, is_cluster) {
|
//请求排行榜
|
var cluster = 0;
|
|
if (is_cluster == true) {
|
cluster = 1;
|
}
|
|
var protocal = {};
|
protocal.type = rank_type;
|
protocal.start = start || 1;
|
protocal.num = num || 100;
|
protocal.is_cluster = cluster;
|
this.SendProtocal(12900, protocal);
|
},
|
handle_12900: function handle_12900(data) {
|
gcore.GlobalEvent.fire(RankEvent.RankEvent_Get_Rank_data, data);
|
},
|
//指定排行榜最后更新时间
|
send_12901: function send_12901(type, is_cluster) {
|
//请求排行榜
|
var cluster = 0;
|
if (is_cluster == true) cluster = 1;
|
var protocal = {};
|
protocal.type = type;
|
protocal.is_cluster = cluster;
|
this.SendProtocal(12901, protocal);
|
},
|
handle_12901: function handle_12901(data) {
|
gcore.GlobalEvent.fire(RankEvent.RankEvent_Get_Time_event, data);
|
},
|
//请求各个排行榜第一数据
|
send_12902: function send_12902(is_cluster) {
|
//请求排行榜
|
var cluster = 0;
|
if (is_cluster == true) cluster = 1;
|
var protocal = {};
|
protocal.is_cluster = cluster;
|
this.SendProtocal(12902, protocal);
|
},
|
handle_12902: function handle_12902(data) {
|
gcore.GlobalEvent.fire(RankEvent.RankEvent_Get_First_data, data);
|
},
|
//请求公会排行榜数据
|
send_12903: function send_12903(start, num) {
|
//请求排行榜
|
var protocal = {};
|
protocal.start = start || 1;
|
protocal.num = num || 100;
|
this.SendProtocal(12903, protocal);
|
},
|
handle_12903: function handle_12903(data) {
|
gcore.GlobalEvent.fire(RankEvent.RankEvent_Get_Rank_data, data);
|
},
|
//请求英雄排行榜数据
|
send_12904: function send_12904(start, num) {
|
var protocal = {};
|
protocal.start = start || 1;
|
protocal.num = num || 100;
|
this.SendProtocal(12904, protocal);
|
},
|
handle_12904: function handle_12904(data) {
|
gcore.GlobalEvent.fire(RankEvent.RankEvent_Get_Rank_data, data);
|
},
|
//index打开对应的标签页
|
openMainView: function openMainView(bool) {
|
if (bool == true) {
|
if (MainuiController.getInstance().checkMainFunctionOpenStatus(MainuiConst.icon.rank, MainuiConst.function_type.other) == false) return;
|
|
if (!this.main_view) {
|
this.main_view = Utils.createClass("rank_main_window");
|
}
|
|
this.main_view.open();
|
} else {
|
if (this.main_view) {
|
this.main_view.close();
|
this.main_view = null;
|
}
|
}
|
},
|
//打开排行榜信息
|
openRankView: function openRankView(bool, index, is_cluster, data) {
|
if (bool == true) {
|
if (!this.rank_panel) {
|
var view = require("rank_window");
|
|
this.rank_panel = new view(index, is_cluster);
|
}
|
|
this.rank_panel.open(data);
|
} else {
|
if (this.rank_panel) {
|
this.rank_panel.close();
|
this.rank_panel = null;
|
}
|
}
|
},
|
//打开奖励排行榜界面
|
openRankRewardPanel: function openRankRewardPanel(bool, rank_reward_type) {
|
if (bool == true) {
|
if (!this.rank_reward_panel) {
|
this.rank_reward_panel = Utils.createClass("rank_reward_window");
|
}
|
|
this.rank_reward_panel.open(rank_reward_type);
|
} else {
|
if (this.rank_reward_panel) {
|
this.rank_reward_panel.close();
|
this.rank_reward_panel = null;
|
}
|
}
|
}
|
});
|
module.exports = RankController;
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxyYW5rXFxyYW5rX2NvbnRyb2xsZXIuanMiXSwibmFtZXMiOlsiUmFua0V2ZW50IiwicmVxdWlyZSIsIk1haW51aUNvbnRyb2xsZXIiLCJNYWludWlDb25zdCIsIlJhbmtDb250cm9sbGVyIiwiY2MiLCJDbGFzcyIsIkJhc2VDb250cm9sbGVyIiwiY3RvciIsImluaXRDb25maWciLCJSYW5rTW9kZWwiLCJtb2RlbCIsImdldE1vZGVsIiwicmVnaXN0ZXJFdmVudHMiLCJyZWdpc3RlclByb3RvY2FscyIsIlJlZ2lzdGVyUHJvdG9jYWwiLCJoYW5kbGVfMTI5MDAiLCJoYW5kbGVfMTI5MDEiLCJoYW5kbGVfMTI5MDIiLCJoYW5kbGVfMTI5MDMiLCJoYW5kbGVfMTI5MDQiLCJzZW5kXzEyOTAwIiwicmFua190eXBlIiwic3RhcnQiLCJudW0iLCJpc19jbHVzdGVyIiwiY2x1c3RlciIsInByb3RvY2FsIiwidHlwZSIsIlNlbmRQcm90b2NhbCIsImRhdGEiLCJnY29yZSIsIkdsb2JhbEV2ZW50IiwiZmlyZSIsIlJhbmtFdmVudF9HZXRfUmFua19kYXRhIiwic2VuZF8xMjkwMSIsIlJhbmtFdmVudF9HZXRfVGltZV9ldmVudCIsInNlbmRfMTI5MDIiLCJSYW5rRXZlbnRfR2V0X0ZpcnN0X2RhdGEiLCJzZW5kXzEyOTAzIiwic2VuZF8xMjkwNCIsIm9wZW5NYWluVmlldyIsImJvb2wiLCJnZXRJbnN0YW5jZSIsImNoZWNrTWFpbkZ1bmN0aW9uT3BlblN0YXR1cyIsImljb24iLCJyYW5rIiwiZnVuY3Rpb25fdHlwZSIsIm90aGVyIiwibWFpbl92aWV3IiwiVXRpbHMiLCJjcmVhdGVDbGFzcyIsIm9wZW4iLCJjbG9zZSIsIm9wZW5SYW5rVmlldyIsImluZGV4IiwicmFua19wYW5lbCIsInZpZXciLCJvcGVuUmFua1Jld2FyZFBhbmVsIiwicmFua19yZXdhcmRfdHlwZSIsInJhbmtfcmV3YXJkX3BhbmVsIiwibW9kdWxlIiwiZXhw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QmEsS0FBaEIsRUFBdUI5QixVQUF2QixFQUFrQ0ssSUFBbEMsRUFBd0M7QUFDbEQsUUFBSVksSUFBSSxJQUFJLElBQVosRUFBa0I7QUFDZCxVQUFJLENBQUMsS0FBS2MsVUFBVixFQUFzQjtBQUNsQixZQUFJQyxJQUFJLEdBQUd4RCxPQUFPLENBQUMsYUFBRCxDQUFsQjs7QUFDQSxhQUFLdUQsVUFBTCxHQUFrQixJQUFJQyxJQUFKLENBQVNGLEtBQVQsRUFBZ0I5QixVQUFoQixDQUFsQjtBQUNIOztBQUNELFdBQUsrQixVQUFMLENBQWdCSixJQUFoQixDQUFxQnRCLElBQXJCO0FBQ0gsS0FORCxNQU1PO0FBQ0gsVUFBSSxLQUFLMEIsVUFBVCxFQUFxQjtBQUNqQixhQUFLQSxVQUFMLENBQWdCSCxLQUFoQjtBQUNBLGFBQUtHLFVBQUwsR0FBa0IsSUFBbEI7QUFDSDtBQUNKO0FBQ0osR0ExSXlCO0FBNEkxQjtBQUNBRSxFQUFBQSxtQkFBbUIsRUFBRSw2QkFBVWhCLElBQVYsRUFBZ0JpQixnQkFBaEIsRUFBa0M7QUFDbkQsUUFBSWpCLElBQUksSUFBSSxJQUFaLEVBQWtCO0FBQ2QsVUFBSSxDQUFDLEtBQUtrQixpQkFBVixFQUE2QjtBQUN6QixhQUFLQSxpQkFBTCxHQUF5QlYsS0FBSyxDQUFDQyxXQUFOLENBQWtCLG9CQUFsQixDQUF6QjtBQUNIOztBQUNELFdBQUtTLGlCQUFMLENBQXVCUixJQUF2QixDQUE0Qk8sZ0JBQTVCO0FBQ0gsS0FMRCxNQUtPO0FBQ0gsVUFBSSxLQUFLQyxpQkFBVCxFQUE0QjtBQUN4QixhQUFLQSxpQkFBTCxDQUF1QlAsS0FBdkI7QUFDQSxhQUFLTyxpQkFBTCxHQUF5QixJQUF6QjtBQUNIO0FBQ0o7QUFDSjtBQXpKeUIsQ0FBVCxDQUFyQjtBQTRKQUMsTUFBTSxDQUFDQyxPQUFQLEdBQWlCMUQsY0FBakIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAYXV0aG9yOiB4eHhAc3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICAg6L+Z6YeM5aGr5YaZ6K+m57uG6K+05piOLOS4u+imgeWhq+WGmeivpeaooeWdl+eahOWKn+iDveeugOimgVxuLy8gPGJyLz5DcmVhdGU6IDIwMTktMDEtMjkgMTA6NDc6MjVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgUmFua0V2ZW50ID0gcmVxdWlyZShcInJhbmtfZXZlbnRcIik7XG52YXIgTWFpbnVpQ29udHJvbGxlciA9IHJlcXVpcmUoXCJtYWludWlfY29udHJvbGxlclwiKTtcbnZhciBNYWludWlDb25zdCA9IHJlcXVpcmUoXCJtYWludWlfY29uc3RcIik7XG5cbnZhciBSYW5rQ29udHJvbGxlciA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlQ29udHJvbGxlcixcbiAgICBjdG9yOiBmdW5jdGlvbiAoKSB7XG4gICAgfSxcblxuICAgIC8vIOWIneWni+WMlumFjee9ruaVsOaNrlxuICAgIGluaXRDb25maWc6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIFJhbmtNb2RlbCA9IHJlcXVpcmUoXCJyYW5rX21vZGVsXCIpO1xuXG4gICAgICAgIHRoaXMubW9kZWwgPSBuZXcgUmFua01vZGVsKCk7XG4gICAgICAgIHRoaXMubW9kZWwuaW5pdENvbmZpZygpO1xuICAgIH0sXG5cbiAgICAvLyDov5Tlm57lvZPliY3nmoRtb2RlbFxuICAgIGdldE1vZGVsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICAgIH0sXG5cbiAgICAvLyDms6jlhoznm5HlkKzkuovku7ZcbiAgICByZWdpc3RlckV2ZW50czogZnVuY3Rpb24gKCkge1xuICAgIH0sXG5cbiAgICAvLyDms6jlhozljY/orq7mjqXlj5fkuovku7ZcbiAgICByZWdpc3RlclByb3RvY2FsczogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMTI5MDAsIHRoaXMuaGFuZGxlXzEyOTAwKSAgLy/mjpLooYzmppzmlbDmja5cbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDEyOTAxLCB0aGlzLmhhbmRsZV8xMjkwMSkgIC8v5oyH5a6a5o6S6KGM5qac5pyA5ZCO5pu05paw5pe26Ze0XG4gICAgICAgIHRoaXMuUmVnaXN0ZXJQcm90b2NhbCgxMjkwMiwgdGhpcy5oYW5kbGVfMTI5MDIpICAvL+ivt+axguWQhOS4quaOkuihjOamnOesrOS4gOaVsOaNrlxuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMTI5MDMsIHRoaXMuaGFuZGxlXzEyOTAzKSAgLy/or7fmsYLlhazkvJrmjpLooYzmppzmlbDmja5cbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDEyOTA0LCB0aGlzLmhhbmRsZV8xMjkwNCkgIC8v6K+35rGC5YWs5Lya5o6S6KGM5qac5pWw5o2uXG4gICAgfSxcblxuICAgIC8v5o6S6KGM5qacXG4gICAgc2VuZF8xMjkwMDogZnVuY3Rpb24gKHJhbmtfdHlwZSwgc3RhcnQsIG51bSwgaXNfY2x1c3Rlcikge1xuICAgICAgICAvL+ivt+axguaOkuihjOamnFxuICAgICAgICB2YXIgY2x1c3RlciA9IDA7XG4gICAgICAgIGlmIChpc19jbHVzdGVyID09IHRydWUpIHtcbiAgICAgICAgICAgIGNsdXN0ZXIgPSAxO1xuICAgICAgICB9XG4gICAgICAgIHZhciBwcm90b2NhbCA9IHt9O1xuICAgICAgICBwcm90b2NhbC50eXBlID0gcmFua190eXBlO1xuICAgICAgICBwcm90b2NhbC5zdGFydCA9IHN0YXJ0IHx8IDE7XG4gICAgICAgIHByb3RvY2FsLm51bSA9IG51bSB8fCAxMDA7XG4gICAgICAgIHByb3RvY2FsLmlzX2NsdXN0ZXIgPSBjbHVzdGVyO1xuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgxMjkwMCwgcHJvdG9jYWwpO1xuICAgIH0sXG5cbiAgICBoYW5kbGVfMTI5MDA6ZnVuY3Rpb24oZGF0YSl7XG4gICAgICAgIGdjb3JlLkdsb2JhbEV2ZW50LmZpcmUoUmFua0V2ZW50LlJhbmtFdmVudF9HZXRfUmFua19kYXRhLCBkYXRhKTtcbiAgICB9LFxuXG4gICAgLy/mjIflrprmjpLooYzmppzmnIDlkI7mm7TmlrDml7bpl7RcbiAgICBzZW5kXzEyOTAxOiBmdW5jdGlvbiAodHlwZSwgaXNfY2x1c3Rlcikge1xuICAgICAgICAvL+ivt+axguaOkuihjOamnFxuICAgICAgICB2YXIgY2x1c3RlciA9IDA7XG4gICAgICAgIGlmIChpc19jbHVzdGVyID09IHRydWUpXG4gICAgICAgICAgICBjbHVzdGVyID0gMTtcbiAgICAgICAgdmFyIHByb3RvY2FsID0ge307XG4gICAgICAgIHByb3RvY2FsLnR5cGUgPSB0eXBlO1xuICAgICAgICBwcm90b2NhbC5pc19jbHVzdGVyID0gY2x1c3RlcjtcbiAgICAgICAgdGhpcy5TZW5kUHJvdG9jYWwoMTI5MDEsIHByb3RvY2FsKTtcbiAgICB9LFxuXG4gICAgaGFuZGxlXzEyOTAxOiBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICBnY29yZS5HbG9iYWxFdmVudC5maXJlKFJhbmtFdmVudC5SYW5rRXZlbnRfR2V0X1RpbWVfZXZlbnQsIGRhdGEpO1xuICAgIH0sXG5cbiAgICAvL+ivt+axguWQhOS4quaOkuihjOamnOesrOS4gOaVsOaNrlxuICAgIHNlbmRfMTI5MDI6IGZ1bmN0aW9uIChpc19jbHVzdGVyKSB7XG4gICAgICAgIC8v6K+35rGC5o6S6KGM5qacXG4gICAgICAgIHZhciBjbHVzdGVyID0gMDtcbiAgICAgICAgaWYgKGlzX2NsdXN0ZXIgPT0gdHJ1ZSlcbiAgICAgICAgICAgIGNsdXN0ZXIgPSAxO1xuICAgICAgICB2YXIgcHJvdG9jYWwgPSB7fTtcbiAgICAgICAgcHJvdG9jYWwuaXNfY2x1c3RlciA9IGNsdXN0ZXI7XG4gICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDEyOTAyLCBwcm90b2NhbCk7XG4gICAgfSxcblxuICAgIGhhbmRsZV8xMjkwMjogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgZ2NvcmUuR2xvYmFsRXZlbnQuZmlyZShSYW5rRXZlbnQuUmFua0V2ZW50X0dldF9GaXJzdF9kYXRhLCBkYXRhKTtcbiAgICB9LFxuXG4gICAgLy/or7fmsYLlhazkvJrmjpLooYzmppzmlbDmja5cbiAgICBzZW5kXzEyOTAzOiBmdW5jdGlvbiAoc3RhcnQsIG51bSkge1xuICAgICAgICAvL+ivt+axguaOkuihjOamnFxuICAgICAgICB2YXIgcHJvdG9jYWwgPSB7fTtcbiAgICAgICAgcHJvdG9jYWwuc3RhcnQgPSBzdGFydCB8fCAxO1xuICAgICAgICBwcm90b2NhbC5udW0gPSBudW0gfHwgMTAwO1xuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgxMjkwMywgcHJvdG9jYWwpO1xuICAgIH0sXG5cbiAgICBoYW5kbGVfMTI5MDM6IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIGdjb3JlLkdsb2JhbEV2ZW50LmZpcmUoUmFua0V2ZW50LlJhbmtFdmVudF9HZXRfUmFua19kYXRhLCBkYXRhKTtcbiAgICB9LFxuXG4gICAgLy/or7fmsYLoi7Hpm4TmjpLooYzmppzmlbDmja5cbiAgICBzZW5kXzEyOTA0OiBmdW5jdGlvbiAoc3RhcnQsIG51bSkge1xuICAgICAgICB2YXIgcHJvdG9jYWwgPSB7fTtcbiAgICAgICAgcHJvdG9jYWwuc3RhcnQgPSBzdGFydCB8fCAxO1xuICAgICAgICBwcm90b2NhbC5udW0gPSBudW0gfHwgMTAwO1xuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgxMjkwNCwgcHJvdG9jYWwpO1xuICAgIH0sXG5cbiAgICBoYW5kbGVfMTI5MDQ6IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIGdjb3JlLkdsb2JhbEV2ZW50LmZpcmUoUmFua0V2ZW50LlJhbmtFdmVudF9HZXRfUmFua19kYXRhLCBkYXRhKTtcbiAgICB9LFxuXG4gICAgLy9pbmRleOaJk+W8gOWvueW6lOeahOagh+etvumhtVxuICAgIG9wZW5NYWluVmlldzogZnVuY3Rpb24gKGJvb2wpIHtcbiAgICAgICAgaWYgKGJvb2wgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgaWYgKE1haW51aUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5jaGVja01haW5GdW5jdGlvbk9wZW5TdGF0dXMoTWFpbnVpQ29uc3QuaWNvbi5yYW5rLCBNYWludWlDb25zdC5mdW5jdGlvbl90eXBlLm90aGVyKSA9PSBmYWxzZSlcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIGlmICghdGhpcy5tYWluX3ZpZXcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1haW5fdmlldyA9IFV0aWxzLmNyZWF0ZUNsYXNzKFwicmFua19tYWluX3dpbmRvd1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMubWFpbl92aWV3Lm9wZW4oKTtcblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMubWFpbl92aWV3KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYWluX3ZpZXcuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1haW5fdmlldyA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy/miZPlvIDmjpLooYzmppzkv6Hmga9cbiAgICBvcGVuUmFua1ZpZXc6IGZ1bmN0aW9uIChib29sLCBpbmRleCwgaXNfY2x1c3RlcixkYXRhKSB7XG4gICAgICAgIGlmIChib29sID09IHRydWUpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5yYW5rX3BhbmVsKSB7XG4gICAgICAgICAgICAgICAgdmFyIHZpZXcgPSByZXF1aXJlKFwicmFua193aW5kb3dcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5yYW5rX3BhbmVsID0gbmV3IHZpZXcoaW5kZXgsIGlzX2NsdXN0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yYW5rX3BhbmVsLm9wZW4oZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5yYW5rX3BhbmVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yYW5rX3BhbmVsLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yYW5rX3BhbmVsID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvL+aJk+W8gOWlluWKseaOkuihjOamnOeVjOmdolxuICAgIG9wZW5SYW5rUmV3YXJkUGFuZWw6IGZ1bmN0aW9uIChib29sLCByYW5rX3Jld2FyZF90eXBlKSB7XG4gICAgICAgIGlmIChib29sID09IHRydWUpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5yYW5rX3Jld2FyZF9wYW5lbCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmFua19yZXdhcmRfcGFuZWwgPSBVdGlscy5jcmVhdGVDbGFzcyhcInJhbmtfcmV3YXJkX3dpbmRvd1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucmFua19yZXdhcmRfcGFuZWwub3BlbihyYW5rX3Jld2FyZF90eXBlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJhbmtfcmV3YXJkX3BhbmVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yYW5rX3Jld2FyZF9wYW5lbC5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucmFua19yZXdhcmRfcGFuZWwgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gUmFua0NvbnRyb2xsZXI7Il19
|