|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/mod/welfare/view/month_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, 'c84f0bvD+9Pwo4RqiQR1TK1', 'month_item');
|
// Scripts/mod/welfare/view/month_item.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: xxx@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 这里是描述这个窗体的作用的
|
// <br/>Create: 2019-04-22 20:43:23
|
// --------------------------------------------------------------------
|
var PathTool = require("pathtool");
|
|
var CommonScrollView = require("common_scrollview");
|
|
var Month_itemPanel = cc.Class({
|
"extends": BasePanel,
|
ctor: function ctor() {
|
this.prefabPath = PathTool.getPrefabPath("welfare", "week_month_panel_item");
|
},
|
// 可以初始化声明一些变量的
|
initConfig: function initConfig() {},
|
// 初始化一些配置数据,可以用于声明一些变量之类的
|
initPanel: function initPanel() {
|
this.main_container = this.seekChild("main_container");
|
this.btn_charge_btn = this.seekChild("btn_charge", cc.Button);
|
this.charge_price_lb = this.seekChild(this.btn_charge_btn.node, "Text_4_0", cc.Label);
|
this.text_remain_lb = this.seekChild(this.main_container, "Text_4", cc.Label);
|
var good_list = this.seekChild(this.main_container, "good_cons");
|
var tab_size = good_list.getContentSize();
|
var setting = {
|
item_class: "backpack_item",
|
// 单元类
|
start_x: 0,
|
// 第一个单元的X起点
|
space_x: 0,
|
// x方向的间隔
|
start_y: 0,
|
// 第一个单元的Y起点
|
space_y: 0,
|
// y方向的间隔
|
item_width: BackPackItem.Width * 0.8,
|
// 单元的尺寸width
|
item_height: BackPackItem.Height * 0.8,
|
// 单元的尺寸height
|
row: 1,
|
// 行数,作用于水平滚动类型
|
col: 1,
|
// 列数,作用于垂直滚动类型
|
// need_dynamic: true
|
scale: 0.8
|
};
|
this.tab_scrollview = new CommonScrollView();
|
this.tab_scrollview.createScroll(good_list, cc.v2(0, -10), ScrollViewDir.horizontal, ScrollViewStartPos.top, tab_size, setting, cc.v2(0.5, 0.5));
|
},
|
// 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
|
registerEvent: function registerEvent() {
|
this.btn_charge_btn.node.on("click", function () {
|
Utils.playButtonSound(1);
|
|
if (this.data.limit_count > 0) {
|
SDK.pay(this.data.val, 1, this.data.charge_id, this.data.gift_name, null, null, null);
|
} else {
|
message(Utils.TI18N("该礼包已售罄"));
|
}
|
}, this);
|
},
|
setData: function setData(data) {
|
this.data = data;
|
if (this.root_wnd) this.onShow();
|
},
|
addCallBack: function addCallBack(value) {
|
this.callback = value;
|
},
|
// 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
|
onShow: function onShow(params) {
|
if (this.data == null) return;
|
var data = this.data;
|
this.charge_price_lb.string = data.val + Utils.TI18N("元");
|
|
if (data.count <= 0) {
|
data.count = 0;
|
Utils.setGreyButton(this.btn_charge_btn, true);
|
this.charge_price_lb.node.color = new cc.Color(0xff, 0xff, 0xff, 0xff);
|
} else {
|
Utils.setGreyButton(this.btn_charge_btn, false);
|
this.charge_price_lb.node.color = new cc.Color(0x71, 0x28, 0x04, 0xff);
|
}
|
|
this.text_remain_lb.string = Utils.TI18N("剩余: ") + data.count;
|
var list = [];
|
|
for (var k in data.reward) {
|
var v = data.reward[k];
|
var vo = Utils.deepCopy(Utils.getItemConfig(v[0]));
|
vo.quantity = v[1];
|
vo.bid = vo.id;
|
vo.num = v[1];
|
list.push(vo);
|
}
|
|
this.tab_scrollview.setData(list);
|
this.tab_scrollview.addEndCallBack(function () {
|
var list = this.tab_scrollview.getItemList();
|
|
for (var k in list) {
|
list[k].setDefaultTip();
|
}
|
}.bind(this));
|
},
|
setExtendData: function setExtendData(_type) {
|
this.reward_type = _type || 1;
|
},
|
getData: function getData() {
|
return this.data;
|
},
|
// 面板设置不可见的回调,这里做一些不可见的屏蔽处理
|
onHide: function onHide() {},
|
// 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
|
onDelete: function onDelete() {
|
if (this.tab_scrollview) {
|
this.tab_scrollview.deleteMe();
|
this.tab_scrollview = null;
|
}
|
}
|
});
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFx3ZWxmYXJlXFx2aWV3XFxtb250aF9pdGVtLmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIkNvbW1vblNjcm9sbFZpZXciLCJNb250aF9pdGVtUGFuZWwiLCJjYyIsIkNsYXNzIiwiQmFzZVBhbmVsIiwiY3RvciIsInByZWZhYlBhdGgiLCJnZXRQcmVmYWJQYXRoIiwiaW5pdENvbmZpZyIsImluaXRQYW5lbCIsIm1haW5fY29udGFpbmVyIiwic2Vla0NoaWxkIiwiYnRuX2NoYXJnZV9idG4iLCJCdXR0b24iLCJjaGFyZ2VfcHJpY2VfbGIiLCJub2RlIiwiTGFiZWwiLCJ0ZXh0X3JlbWFpbl9sYiIsImdvb2RfbGlzdCIsInRhYl9zaXplIiwiZ2V0Q29udGVudFNpemUiLCJzZXR0aW5nIiwiaXRlbV9jbGFzcyIsInN0YXJ0X3giLCJzcGFjZV94Iiwic3RhcnRfeSIsInNwYWNlX3kiLCJpdGVtX3dpZHRoIiwiQmFja1BhY2tJdGVtIiwiV2lkdGgiLCJpdGVtX2hlaWdodCIsIkhlaWdodCIsInJvdyIsImNvbCIsInNjYWxlIiwidGFiX3Njcm9sbHZpZXciLCJjcmVhdGVTY3JvbGwiLCJ2MiIsIlNjcm9sbFZpZXdEaXIiLCJob3Jpem9udGFsIiwiU2Nyb2xsVmlld1N0YXJ0UG9zIiwidG9wIiwicmVnaXN0ZXJFdmVudCIsIm9uIiwiVXRpbHMiLCJwbGF5QnV0dG9uU291bmQiLCJkYXRhIiwibGltaXRfY291bnQiLCJTREsiLCJwYXkiLCJ2YWwiLCJjaGFyZ2VfaWQiLCJnaWZ0X25hbWUiLCJtZXNzYWdlIiwiVEkxOE4iLCJzZXREYXRhIiwicm9vdF93bmQiLCJvblNob3ciLCJhZGRDYWxsQmFjayIsInZhbHVlIiwiY2FsbGJhY2siLCJwYXJhbXMiLCJzdHJpbmciLCJjb3VudCIsInNldEdyZXlCdXR0b24iLCJjb2xvciIsIkNvbG9yIiwibGlzdCIsImsiLCJyZXdhcmQiLCJ2Iiwidm8iLCJkZWVwQ29weSIsImdldEl0ZW1Db25maWciLCJxdWFudGl0eSIsImJpZCIsImlkIiwibnVtIiwicHVzaCIsImFkZEVuZENhbGxCYWNrIiwiZ2V0SXRlbUxpc3QiLCJzZXREZWZhdWx0VGlwIiwiYmluZCIsInNldEV4dGVuZERhdGEiLCJfdHlwZSIsInJld2FyZF90eXBlIiwiZ2V0RGF0YSIsIm9uSGlkZSIsIm9uRGVsZXRlIiwiZGVsZXRlTWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsUUFBUSxHQUFHQyxPQUFPLENBQUMsVUFBRCxDQUF0Qjs7QUFDQSxJQUFJQyxnQkFBZ0IsR0FBR0QsT0FBTyxDQUFDLG1CQUFELENBQTlCOztBQUVBLElBQUlFLGVBQWUsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDM0IsYUFBU0MsU0FEa0I7QUFFM0JDLEVBQUFBLElBQUksRUFBRSxnQkFBWTtBQUNkLFNBQUtDLFVBQUwsR0FBa0JSLFFBQVEsQ0FBQ1MsYUFBVCxDQUF1QixTQUF2QixFQUFrQyx1QkFBbEMsQ0FBbEI7QUFDSCxHQUowQjtBQU0zQjtBQUNBQyxFQUFBQSxVQUFVLEVBQUUsc0JBQVksQ0FFdkIsQ0FUMEI7QUFXM0I7QUFDQUMsRUFBQUEsU0FBUyxFQUFFLHFCQUFZO0FBQ25CLFNBQUtDLGNBQUwsR0FBc0IsS0FBS0MsU0FBTCxDQUFlLGdCQUFmLENBQXRCO0FBQ0EsU0FBS0MsY0FBTCxHQUFzQixLQUFLRCxTQUFMLENBQWUsWUFBZixFQUE2QlQsRUFBRSxDQUFDVyxNQUFoQyxDQUF0QjtBQUNBLFNBQUtDLGVBQUwsR0FBdUIsS0FBS0gsU0FBTCxDQUFlLEtBQUtDLGNBQUwsQ0FBb0JHLElBQW5DLEVBQXlDLFVBQXpDLEVBQXFEYixFQUFFLENBQUNjLEtBQXhELENBQXZCO0FBQ0EsU0FBS0MsY0FBTCxHQUFzQixLQUFLTixTQUFMLENBQWUsS0FBS0QsY0FBcEIsRUFBb0MsUUFBcEMsRUFBOENSLEVBQUUsQ0FBQ2MsS0FBakQs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QUNIOztBQUNELFNBQUtwQyxjQUFMLENBQW9Cb0IsT0FBcEIsQ0FBNEJZLElBQTVCO0FBQ0EsU0FBS2hDLGNBQUwsQ0FBb0I0QyxjQUFwQixDQUFtQyxZQUFZO0FBQzNDLFVBQUlaLElBQUksR0FBRyxLQUFLaEMsY0FBTCxDQUFvQjZDLFdBQXBCLEVBQVg7O0FBQ0EsV0FBSyxJQUFJWixDQUFULElBQWNELElBQWQsRUFBb0I7QUFDaEJBLFFBQUFBLElBQUksQ0FBQ0MsQ0FBRCxDQUFKLENBQVFhLGFBQVI7QUFDSDtBQUNKLEtBTGtDLENBS2pDQyxJQUxpQyxDQUs1QixJQUw0QixDQUFuQztBQU1ILEdBMUYwQjtBQTRGM0JDLEVBQUFBLGFBQWEsRUFBRSx1QkFBVUMsS0FBVixFQUFpQjtBQUM1QixTQUFLQyxXQUFMLEdBQW1CRCxLQUFLLElBQUksQ0FBNUI7QUFDSCxHQTlGMEI7QUFnRzNCRSxFQUFBQSxPQUFPLEVBQUUsbUJBQVk7QUFDakIsV0FBTyxLQUFLeEMsSUFBWjtBQUNILEdBbEcwQjtBQW9HM0I7QUFDQXlDLEVBQUFBLE1BQU0sRUFBRSxrQkFBWSxDQUVuQixDQXZHMEI7QUF5RzNCO0FBQ0FDLEVBQUFBLFFBQVEsRUFBRSxvQkFBWTtBQUNsQixRQUFJLEtBQUtyRCxjQUFULEVBQXlCO0FBQ3JCLFdBQUtBLGNBQUwsQ0FBb0JzRCxRQUFwQjtBQUNBLFdBQUt0RCxjQUFMLEdBQXNCLElBQXRCO0FBQ0g7QUFDSjtBQS9HMEIsQ0FBVCxDQUF0QiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHh4eEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxuLy8gQGRlc2NyaXB0aW9uOlxuLy8gICAgIOi/memHjOaYr+aPj+i/sOi/meS4queql+S9k+eahOS9nOeUqOeahFxuLy8gPGJyLz5DcmVhdGU6IDIwMTktMDQtMjIgMjA6NDM6MjNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgUGF0aFRvb2wgPSByZXF1aXJlKFwicGF0aHRvb2xcIik7XG52YXIgQ29tbW9uU2Nyb2xsVmlldyA9IHJlcXVpcmUoXCJjb21tb25fc2Nyb2xsdmlld1wiKTtcblxudmFyIE1vbnRoX2l0ZW1QYW5lbCA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlUGFuZWwsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnByZWZhYlBhdGggPSBQYXRoVG9vbC5nZXRQcmVmYWJQYXRoKFwid2VsZmFyZVwiLCBcIndlZWtfbW9udGhfcGFuZWxfaXRlbVwiKTtcbiAgICB9LFxuXG4gICAgLy8g5Y+v5Lul5Yid5aeL5YyW5aOw5piO5LiA5Lqb5Y+Y6YeP55qEXG4gICAgaW5pdENvbmZpZzogZnVuY3Rpb24gKCkge1xuXG4gICAgfSxcblxuICAgIC8vIOWIneWni+WMluS4gOS6m+mFjee9ruaVsOaNrizlj6/ku6XnlKjkuo7lo7DmmI7kuIDkupvlj5jph4/kuYvnsbvnmoRcbiAgICBpbml0UGFuZWw6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tYWluX2NvbnRhaW5lciA9IHRoaXMuc2Vla0NoaWxkKFwibWFpbl9jb250YWluZXJcIik7XG4gICAgICAgIHRoaXMuYnRuX2NoYXJnZV9idG4gPSB0aGlzLnNlZWtDaGlsZChcImJ0bl9jaGFyZ2VcIiwgY2MuQnV0dG9uKTtcbiAgICAgICAgdGhpcy5jaGFyZ2VfcHJpY2VfbGIgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLmJ0bl9jaGFyZ2VfYnRuLm5vZGUsIFwiVGV4dF80XzBcIiwgY2MuTGFiZWwpO1xuICAgICAgICB0aGlzLnRleHRfcmVtYWluX2xiID0gdGhpcy5zZWVrQ2hpbGQodGhpcy5tYWluX2NvbnRhaW5lciwgXCJUZXh0XzRcIiwgY2MuTGFiZWwpO1xuXG4gICAgICAgIHZhciBnb29kX2xpc3QgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLm1haW5fY29udGFpbmVyLCBcImdvb2RfY29uc1wiKTtcbiAgICAgICAgdmFyIHRhYl9zaXplID0gZ29vZF9saXN0LmdldENvbnRlbnRTaXplKCk7XG4gICAgICAgIHZhciBzZXR0aW5nID0ge1xuICAgICAgICAgICAgaXRlbV9jbGFzczogXCJiYWNrcGFja19pdGVtXCIsICAgICAgLy8g5Y2V5YWD57G7XG4gICAgICAgICAgICBzdGFydF94OiAwLCAgICAgICAgICAgICAgICAgICAgLy8g56ys5LiA5Liq5Y2V5YWD55qEWOi1t+eCuVxuICAgICAgICAgICAgc3BhY2VfeDogMCwgICAgICAgICAgICAgICAgICAgIC8vIHjmlrnlkJHnmoTpl7TpmpRcbiAgICAgICAgICAgIHN0YXJ0X3k6IDAsICAgICAgICAgICAgICAgICAgICAvLyDnrKzkuIDkuKrljZXlhYPnmoRZ6LW354K5XG4gICAgICAgICAgICBzcGFjZV95OiAwLCAgICAgICAgICAgICAgICAgICAvLyB55pa55ZCR55qE6Ze06ZqUXG4gICAgICAgICAgICBpdGVtX3dpZHRoOiBCYWNrUGFja0l0ZW0uV2lkdGggKiAwLjgsICAgICAgICAgICAgICAgLy8g5Y2V5YWD55qE5bC65a+4d2lkdGhcbiAgICAgICAgICAgIGl0ZW1faGVpZ2h0OiBCYWNrUGFja0l0ZW0uSGVpZ2h0ICogMC44LCAgICAgICAgICAgICAgLy8g5Y2V5YWD55qE5bC65a+4aGVpZ2h0XG4gICAgICAgICAgICByb3c6IDEsICAgICAgICAgICAgICAgICAgICAgICAgLy8g6KGM5pWw77yM5L2c55So5LqO5rC05bmz5rua5Yqo57G75Z6LXG4gICAgICAgICAgICBjb2w6IDEsICAgICAgICAgICAgICAgICAgICAgICAgLy8g5YiX5pWw77yM5L2c55So5LqO5Z6C55u05rua5Yqo57G75Z6LXG4gICAgICAgICAgICAvLyBuZWVkX2R5bmFtaWM6IHRydWVcbiAgICAgICAgICAgIHNjYWxlOiAwLjhcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhYl9zY3JvbGx2aWV3ID0gbmV3IENvbW1vblNjcm9sbFZpZXcoKVxuICAgICAgICB0aGlzLnRhYl9zY3JvbGx2aWV3LmNyZWF0ZVNjcm9sbChnb29kX2xpc3QsIGNjLnYyKDAsIC0xMCksIFNjcm9sbFZpZXdEaXIuaG9yaXpvbnRhbCwgU2Nyb2xsVmlld1N0YXJ0UG9zLnRvcCwgdGFiX3NpemUsIHNldHRpbmcsIGNjLnYyKDAuNSwgMC41KSlcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM5LqL5Lu255uR5ZCs55qE5o6l5Y+jLOS4jemcgOimgeaJi+WKqOiwg+eUqCzlpoLmnpzmmK/kvb/nlKhnY29yZS5HbG9iYWxFdmVudOebkeWQrCzlj6/ku6Xnm7TmjqXosIPnlKhhZGRHbG9iYWxFdmVudFxuICAgIHJlZ2lzdGVyRXZlbnQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5idG5fY2hhcmdlX2J0bi5ub2RlLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgVXRpbHMucGxheUJ1dHRvblNvdW5kKDEpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5saW1pdF9jb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgICBTREsucGF5KHRoaXMuZGF0YS52YWwsIDEsIHRoaXMuZGF0YS5jaGFyZ2VfaWQsIHRoaXMuZGF0YS5naWZ0X25hbWUsIG51bGwsIG51bGwsIG51bGwpOyAgXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2UoVXRpbHMuVEkxOE4oXCLor6XnpLzljIXlt7LllK7nvYRcIikpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMpXG4gICAgfSxcblxuICAgIHNldERhdGE6IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIGlmICh0aGlzLnJvb3Rfd25kKVxuICAgICAgICAgICAgdGhpcy5vblNob3coKTtcbiAgICB9LFxuXG4gICAgYWRkQ2FsbEJhY2s6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB0aGlzLmNhbGxiYWNrID0gdmFsdWU7XG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjizmt7vliqDliLDlr7nlupTkuLvoioLngrnkuYvlkI7nmoTlm57osIPlj6/ku6Xorr7nva7kuIDkupvmlbDmja7kuoZcbiAgICBvblNob3c6IGZ1bmN0aW9uIChwYXJhbXMpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YSA9PSBudWxsKSByZXR1cm5cbiAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgIHRoaXMuY2hhcmdlX3ByaWNlX2xiLnN0cmluZyA9IGRhdGEudmFsICsgVXRpbHMuVEkxOE4oXCLlhYNcIik7XG4gICAgICAgIGlmIChkYXRhLmNvdW50IDw9IDApIHtcbiAgICAgICAgICAgIGRhdGEuY291bnQgPSAwO1xuICAgICAgICAgICAgVXRpbHMuc2V0R3JleUJ1dHRvbih0aGlzLmJ0bl9jaGFyZ2VfYnRuLCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY2hhcmdlX3ByaWNlX2xiLm5vZGUuY29sb3IgPSBuZXcgY2MuQ29sb3IoMHhmZiwgMHhmZiwgMHhmZiwgMHhmZik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBVdGlscy5zZXRHcmV5QnV0dG9uKHRoaXMuYnRuX2NoYXJnZV9idG4sIGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuY2hhcmdlX3ByaWNlX2xiLm5vZGUuY29sb3IgPSBuZXcgY2MuQ29sb3IoMHg3MSwgMHgyOCwgMHgwNCwgMHhmZik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50ZXh0X3JlbWFpbl9sYi5zdHJpbmcgPSBVdGlscy5USTE4TihcIuWJqeS9mTogXCIpICsgZGF0YS5jb3VudDtcblxuICAgICAgICB2YXIgbGlzdCA9IFtdO1xuICAgICAgICBmb3IgKHZhciBrIGluIGRhdGEucmV3YXJkKSB7XG4gICAgICAgICAgICB2YXIgdiA9IGRhdGEucmV3YXJkW2tdO1xuICAgICAgICAgICAgdmFyIHZvID0gVXRpbHMuZGVlcENvcHkoVXRpbHMuZ2V0SXRlbUNvbmZpZyh2WzBdKSk7XG4gICAgICAgICAgICB2by5xdWFudGl0eSA9IHZbMV07XG4gICAgICAgICAgICB2by5iaWQgPSB2by5pZDtcbiAgICAgICAgICAgIHZvLm51bSA9IHZbMV07XG4gICAgICAgICAgICBsaXN0LnB1c2godm8pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFiX3Njcm9sbHZpZXcuc2V0RGF0YShsaXN0KTtcbiAgICAgICAgdGhpcy50YWJfc2Nyb2xsdmlldy5hZGRFbmRDYWxsQmFjayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgbGlzdCA9IHRoaXMudGFiX3Njcm9sbHZpZXcuZ2V0SXRlbUxpc3QoKTtcbiAgICAgICAgICAgIGZvciAodmFyIGsgaW4gbGlzdCkge1xuICAgICAgICAgICAgICAgIGxpc3Rba10uc2V0RGVmYXVsdFRpcCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgfSxcblxuICAgIHNldEV4dGVuZERhdGE6IGZ1bmN0aW9uIChfdHlwZSkge1xuICAgICAgICB0aGlzLnJld2FyZF90eXBlID0gX3R5cGUgfHwgMVxuICAgIH0sXG5cbiAgICBnZXREYXRhOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFcbiAgICB9LFxuXG4gICAgLy8g6Z2i5p2/6K6+572u5LiN5Y+v6KeB55qE5Zue6LCDLOi/memHjOWBmuS4gOS6m+S4jeWPr+ingeeahOWxj+iUveWkhOeQhlxuICAgIG9uSGlkZTogZnVuY3Rpb24gKCkge1xuXG4gICAgfSxcblxuICAgIC8vIOW9k+mdouadv+S7juS4u+iKgueCuemHiuaUvuaOieeahOiwg+eUqOaOpeWPoyzpnIDopoHmiYvliqjosIPnlKgs6ICM5LiU5Lmf5LiA5a6a6KaB6LCD55SoXG4gICAgb25EZWxldGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMudGFiX3Njcm9sbHZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMudGFiX3Njcm9sbHZpZXcuZGVsZXRlTWUoKTtcbiAgICAgICAgICAgIHRoaXMudGFiX3Njcm9sbHZpZXcgPSBudWxsO1xuICAgICAgICB9XG4gICAgfSxcbn0pIl19
|