(function() {
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
var __module = nodeEnv ? module : {exports:{}};
var __filename = 'preview-scripts/assets/Scripts/mod/welfare/view/sign_panel.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, '00acdMJC4tMtqMvBfKNOA3e', 'sign_panel');
// Scripts/mod/welfare/view/sign_panel.js
"use strict";
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
// 这里是描述这个窗体的作用的
//
Create: 2019-03-06 11:27:30
// --------------------------------------------------------------------
var PathTool = require("pathtool");
var RoleController = require("role_controller");
var WelfareController = require("welfare_controller");
var CommonScrollView = require("common_scrollview");
var Timetool = require("timetool");
var SignItem = require("sign_item");
var WelfareEvent = require("welfare_event");
var SignPanel = cc.Class({
"extends": BasePanel,
ctor: function ctor() {
this.prefabPath = PathTool.getPrefabPath("welfare", "sign_panel");
},
// 可以初始化声明一些变量的
initConfig: function initConfig() {
this.ctrl = WelfareController.getInstance();
this.model = this.ctrl.getModel();
this.role_vo = RoleController.getInstance().getRoleVo();
},
// 初始化一些配置数据,可以用于声明一些变量之类的
initPanel: function initPanel() {
this.main_container_nd = this.seekChild("main_container");
this.title_con_nd = this.seekChild("title_con");
this.tips_btn_nd = this.seekChild("tips_btn");
this.goods_con_nd = this.seekChild("goods_con");
var img = this.title_con_nd.getChildByName("title_img").getComponent(cc.Sprite);
this.loadRes(PathTool.getIconPath("welfare/welfare_banner", "txt_cn_welfare_banner2"), function (res) {
img.spriteFrame = res;
}.bind(this));
var tab_size = this.goods_con_nd.getContentSize();
var setting = {
item_class: SignItem,
// 单元类
start_x: 25,
// 第一个单元的X起点
space_x: 28,
// x方向的间隔
start_y: 20,
// 第一个单元的Y起点
space_y: 30,
// y方向的间隔
item_width: 107,
// 单元的尺寸width
item_height: 107,
// 单元的尺寸height
row: 0,
// 行数,作用于水平滚动类型
col: 5,
// 列数,作用于垂直滚动类型
need_dynamic: true
};
this.item_scrollview = new CommonScrollView();
this.item_scrollview.createScroll(this.goods_con_nd, cc.v2(0, 0), ScrollViewDir.vertical, ScrollViewStartPos.top, tab_size, setting, cc.v2(0.5, 0.5));
},
// 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
registerEvent: function registerEvent() {
this.addGlobalEvent(WelfareEvent.Update_Sign_Info, function (data) {
this.createList(data);
}, this);
this.addGlobalEvent(WelfareEvent.Sign_Success, function (data) {
this.createList(data);
}, this);
this.tips_btn_nd.on(cc.Node.EventType.TOUCH_END, function (event) {
Utils.playButtonSound(1);
var pos = event.touch.getLocation();
var desc = StringUtil.parse(Config.checkin_data.data_const.checkin_rules.desc);
require("tips_controller").getInstance().showCommonTips(desc, pos);
});
this.ctrl.sender14100();
},
createList: function createList(data) {
var config = Config.checkin_data.data_award;
var now_time = gcore.SmartSocket.getTime();
var month = Number(Timetool.dateFtt("MM", now_time));
var data_list = Utils.deepCopy(config[month]);
var has_day = data.day;
var now_day = 0;
var list = [];
for (var k in data_list) {
var v = data_list[k];
if (data.status > 0) {
if (k < has_day) {
//累计的
v.status = 2; //已领取全部奖励
} else if (k == has_day) {
//今天
v.status = data.status;
} else {
//之后的
v.status = 0;
}
v.now_day = has_day;
now_day = has_day;
} else if (data.status == 0) {
if (k <= has_day) {
//累计的
v.status = 2; //已领取全部奖励
} else if (k == has_day + 1) {
//今天
v.status = data.status;
} else {
//之后的
v.status = 0;
}
v.now_day = has_day + 1;
now_day = has_day + 1;
}
list.push(v);
}
list.sort(Utils.tableLowerSorter(["day"]));
this.item_scrollview.setData(list, function (cell) {
var data = cell.getData();
if (data.status == 1 && data.now_day == data.day && this.model.getRechargeCount() == 0) {
var str = Utils.TI18N("当天充值任意金额可额外获得一次奖励");
var fun = function fun() {
require("vip_controller").getInstance().openVipMainWindow(true, VIPTABCONST.CHARGE);
};
var CommonAlert = require("commonalert");
CommonAlert.show(str, Utils.TI18N("确认"), fun, Utils.TI18N("取消"), null, 2);
} else if (data.day > data.now_day) {
message(Utils.TI18N("未达到签到天数"));
} else {
this.ctrl.sender14101();
}
}.bind(this));
this.item_scrollview.addEndCallBack(function () {
var list = this.item_scrollview.getItemList();
var pos = null;
for (var k in list) {
var vo = list[k].getData();
if (vo.day == 26) {
pos = list[k].getItemPosition();
}
}
if (now_day >= 25) {
this.item_scrollview.jumpToMove(cc.v2(pos.x, pos.y + this.item_scrollview.getContentSize().height / 2), 0.1);
}
}.bind(this));
},
// 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
onShow: function onShow(params) {},
// 面板设置不可见的回调,这里做一些不可见的屏蔽处理
onHide: function onHide() {},
// 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
onDelete: function onDelete() {
if (this.item_scrollview) {
this.item_scrollview.deleteMe();
this.item_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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFx3ZWxmYXJlXFx2aWV3XFxzaWduX3BhbmVsLmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIlJvbGVDb250cm9sbGVyIiwiV2VsZmFyZUNvbnRyb2xsZXIiLCJDb21tb25TY3JvbGxWaWV3IiwiVGltZXRvb2wiLCJTaWduSXRlbSIsIldlbGZhcmVFdmVudCIsIlNpZ25QYW5lbCIsImNjIiwiQ2xhc3MiLCJCYXNlUGFuZWwiLCJjdG9yIiwicHJlZmFiUGF0aCIsImdldFByZWZhYlBhdGgiLCJpbml0Q29uZmlnIiwiY3RybCIsImdldEluc3RhbmNlIiwibW9kZWwiLCJnZXRNb2RlbCIsInJvbGVfdm8iLCJnZXRSb2xlVm8iLCJpbml0UGFuZWwiLCJtYWluX2NvbnRhaW5lcl9uZCIsInNlZWtDaGlsZCIsInRpdGxlX2Nvbl9uZCIsInRpcHNfYnRuX25kIiwiZ29vZHNfY29uX25kIiwiaW1nIiwiZ2V0Q2hpbGRCeU5hbWUiLCJnZXRDb21wb25lbnQiLCJTcHJpdGUiLCJsb2FkUmVzIiwiZ2V0SWNvblBhdGgiLCJyZXMiLCJzcHJpdGVGcmFtZSIsImJpbmQiLCJ0YWJfc2l6ZSIsImdldENvbnRlbnRTaXplIiwic2V0dGluZyIsIml0ZW1fY2xhc3MiLCJzdGFydF94Iiwic3BhY2VfeCIsInN0YXJ0X3kiLCJzcGFjZV95IiwiaXRlbV93aWR0aCIsIml0ZW1faGVpZ2h0Iiwicm93IiwiY29sIiwibmVlZF9keW5hbWljIiwiaXRlbV9zY3JvbGx2aWV3IiwiY3JlYXRlU2Nyb2xsIiwidjIiLCJTY3JvbGxWaWV3RGlyIiwidmVydGljYWwiLCJTY3JvbGxWaWV3U3RhcnRQb3MiLCJ0b3AiLCJyZWdpc3RlckV2ZW50IiwiYWRkR2xvYmFsRXZlbnQiLCJVcGRhdGVfU2lnbl9JbmZvIiwiZGF0YSIsImNyZWF0ZUxpc3QiLCJTaWduX1N1Y2Nlc3MiLCJvbiIsIk5vZGUiLCJFdmVudFR5cGUiLCJUT1VDSF9FTkQiLCJldmVudCIsIlV0aWxzIiwicGxheUJ1dHRvblNvdW5kIiwicG9zIiwidG91Y2giLCJnZXRMb2NhdGlvbiIsImRlc2MiLCJTdHJpbmdVdGlsIiwicGFyc2UiLCJDb25maWciLCJjaGVja2luX2RhdGEiLCJkYXRhX2NvbnN0IiwiY2hlY2tpbl9ydWxlcyIsInNob3dDb21tb25UaXBzIiwic2VuZGVyMTQxMDAiLCJjb25maWciLCJkYXRhX2F3YXJkIiwibm93X3RpbWUiLCJnY29yZSIsIlNtYXJ0U29ja2V0IiwiZ2V0VGltZSIsIm1vbnRoIiwiTnVtYmVyIiwiZGF0ZUZ0dCIsImRhdGFfbGlzdCIsImRlZXBDb3B5IiwiaGFzX2RheSIsImRheSIsIm5vd19kYXkiLCJsaXN0IiwiayIsInYiLCJzdGF0dXMiLCJwdXNoIiwic29ydCIsInRhYmxlTG93ZXJTb3J0ZXIiLCJzZXREYXRhIiwiY2VsbCIsImdldERhdGEiLCJnZXRSZWNoYXJnZUNvdW50Iiwic3RyIiwiVEkxOE4iLCJmdW4iLCJvcGVuVmlwTWFpbldpbmRvdyIsIlZJUFRBQkNPTlNUIiwiQ0hBUkdFIiwiQ29tbW9uQWxlcnQiLCJzaG93IiwibWVzc2FnZSIsInNlbmRlcjE0MTAxIiwiYWRkRW5kQ2FsbEJhY2siLCJnZXRJdGVtTGlzdCIsInZvIiwiZ2V0SXRlbVBvc2l0aW9uIiwianVtcFRvTW92ZSIsIngiLCJ5IiwiaGVpZ2h0Iiwib25TaG93IiwicGFyYW1zIiwib25IaWRlIiwib25EZWxldGUiLCJkZWxldGVNZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUNBLElBQUlDLGNBQWMsR0FBR0QsT0FBTyxDQUFDLGlCQUFELENBQTVCOztBQUNBLElBQUlFLGlCQUFpQixHQUFHRixPQUFPLENBQUMsb0JBQUQsQ0FBL0I7O0FBQ0EsSUFBSUcsZ0JBQWdCLEdBQUdILE9BQU8sQ0FBQyxtQkFBRCxDQUE5Qjs7QUFD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QUFFLGtCQUFZLENBRW5CLENBOUlvQjtBQWdKckI7QUFDQUMsRUFBQUEsUUFBUSxFQUFFLG9CQUFZO0FBQ2xCLFFBQUksS0FBSzlFLGVBQVQsRUFBMEI7QUFDdEIsV0FBS0EsZUFBTCxDQUFxQitFLFFBQXJCO0FBQ0EsV0FBSy9FLGVBQUwsR0FBdUIsSUFBdkI7QUFDSDtBQUNKO0FBdEpvQixDQUFULENBQWhCIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGF1dGhvcjogeHh4QHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXG4vLyBAZGVzY3JpcHRpb246XG4vLyAgICAg6L+Z6YeM5piv5o+P6L+w6L+Z5Liq56qX5L2T55qE5L2c55So55qEXG4vLyA8YnIvPkNyZWF0ZTogMjAxOS0wMy0wNiAxMToyNzozMFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBQYXRoVG9vbCA9IHJlcXVpcmUoXCJwYXRodG9vbFwiKTtcbnZhciBSb2xlQ29udHJvbGxlciA9IHJlcXVpcmUoXCJyb2xlX2NvbnRyb2xsZXJcIik7XG52YXIgV2VsZmFyZUNvbnRyb2xsZXIgPSByZXF1aXJlKFwid2VsZmFyZV9jb250cm9sbGVyXCIpO1xudmFyIENvbW1vblNjcm9sbFZpZXcgPSByZXF1aXJlKFwiY29tbW9uX3Njcm9sbHZpZXdcIik7XG52YXIgVGltZXRvb2wgPSByZXF1aXJlKFwidGltZXRvb2xcIik7XG52YXIgU2lnbkl0ZW0gPSByZXF1aXJlKFwic2lnbl9pdGVtXCIpO1xudmFyIFdlbGZhcmVFdmVudCA9IHJlcXVpcmUoXCJ3ZWxmYXJlX2V2ZW50XCIpO1xuXG52YXIgU2lnblBhbmVsID0gY2MuQ2xhc3Moe1xuICAgIGV4dGVuZHM6IEJhc2VQYW5lbCxcbiAgICBjdG9yOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMucHJlZmFiUGF0aCA9IFBhdGhUb29sLmdldFByZWZhYlBhdGgoXCJ3ZWxmYXJlXCIsIFwic2lnbl9wYW5lbFwiKTtcbiAgICB9LFxuXG4gICAgLy8g5Y+v5Lul5Yid5aeL5YyW5aOw5piO5LiA5Lqb5Y+Y6YeP55qEXG4gICAgaW5pdENvbmZpZzogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmN0cmwgPSBXZWxmYXJlQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpO1xuICAgICAgICB0aGlzLm1vZGVsID0gdGhpcy5jdHJsLmdldE1vZGVsKCk7XG4gICAgICAgIHRoaXMucm9sZV92byA9IFJvbGVDb250cm9sbGVyLmdldEluc3RhbmNlKCkuZ2V0Um9sZVZvKCk7XG4gICAgfSxcblxuICAgIC8vIOWIneWni+WMluS4gOS6m+mFjee9ruaVsOaNrizlj6/ku6XnlKjkuo7lo7DmmI7kuIDkupvlj5jph4/kuYvnsbvnmoRcbiAgICBpbml0UGFuZWw6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tYWluX2NvbnRhaW5lcl9uZCA9IHRoaXMuc2Vla0NoaWxkKFwibWFpbl9jb250YWluZXJcIik7XG4gICAgICAgIHRoaXMudGl0bGVfY29uX25kID0gdGhpcy5zZWVrQ2hpbGQoXCJ0aXRsZV9jb25cIik7XG4gICAgICAgIHRoaXMudGlwc19idG5fbmQgPSB0aGlzLnNlZWtDaGlsZChcInRpcHNfYnRuXCIpO1xuXG4gICAgICAgIHRoaXMuZ29vZHNfY29uX25kID0gdGhpcy5zZWVrQ2hpbGQoXCJnb29kc19jb25cIik7XG5cbiAgICAgICAgbGV0IGltZyA9IHRoaXMudGl0bGVfY29uX25kLmdldENoaWxkQnlOYW1lKFwidGl0bGVfaW1nXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpXG4gICAgICAgIHRoaXMubG9hZFJlcyhQYXRoVG9vbC5nZXRJY29uUGF0aChcIndlbGZhcmUvd2VsZmFyZV9iYW5uZXJcIixcInR4dF9jbl93ZWxmYXJlX2Jhbm5lcjJcIiksZnVuY3Rpb24ocmVzKXtcbiAgICAgICAgICAgIGltZy5zcHJpdGVGcmFtZSA9IHJlc1xuICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgICAgIHZhciB0YWJfc2l6ZSA9IHRoaXMuZ29vZHNfY29uX25kLmdldENvbnRlbnRTaXplKCk7XG4gICAgICAgIHZhciBzZXR0aW5nID0ge1xuICAgICAgICAgICAgaXRlbV9jbGFzczogU2lnbkl0ZW0sICAgICAgLy8g5Y2V5YWD57G7XG4gICAgICAgICAgICBzdGFydF94OiAyNSwgICAgICAgICAgICAgICAgICAgIC8vIOesrOS4gOS4quWNleWFg+eahFjotbfngrlcbiAgICAgICAgICAgIHNwYWNlX3g6IDI4LCAgICAgICAgICAgICAgICAgICAgLy8geOaWueWQkeeahOmXtOmalFxuICAgICAgICAgICAgc3RhcnRfeTogMjAsICAgICAgICAgICAgICAgICAgICAvLyDnrKzkuIDkuKrljZXlhYPnmoRZ6LW354K5XG4gICAgICAgICAgICBzcGFjZV95OiAzMCwgICAgICAgICAgICAgICAgICAgLy8geeaWueWQkeeahOmXtOmalFxuICAgICAgICAgICAgaXRlbV93aWR0aDogMTA3LCAgICAgICAgICAgICAgIC8vIOWNleWFg+eahOWwuuWvuHdpZHRoXG4gICAgICAgICAgICBpdGVtX2hlaWdodDogMTA3LCAgICAgICAgICAgICAgLy8g5Y2V5YWD55qE5bC65a+4aGVpZ2h0XG4gICAgICAgICAgICByb3c6IDAsICAgICAgICAgICAgICAgICAgICAgICAgLy8g6KGM5pWw77yM5L2c55So5LqO5rC05bmz5rua5Yqo57G75Z6LXG4gICAgICAgICAgICBjb2w6IDUsICAgICAgICAgICAgICAgICAgICAgICAgLy8g5YiX5pWw77yM5L2c55So5LqO5Z6C55u05rua5Yqo57G75Z6LXG4gICAgICAgICAgICBuZWVkX2R5bmFtaWM6IHRydWVcbiAgICAgICAgfVxuICAgICAgICB0aGlzLml0ZW1fc2Nyb2xsdmlldyA9IG5ldyBDb21tb25TY3JvbGxWaWV3KClcbiAgICAgICAgdGhpcy5pdGVtX3Njcm9sbHZpZXcuY3JlYXRlU2Nyb2xsKHRoaXMuZ29vZHNfY29uX25kLCBjYy52MigwLCAwKSwgU2Nyb2xsVmlld0Rpci52ZXJ0aWNhbCxcbiAgICAgICAgICAgIFNjcm9sbFZpZXdTdGFydFBvcy50b3AsIHRhYl9zaXplLCBzZXR0aW5nLCBjYy52MigwLjUsIDAuNSkpO1xuXG4gICAgfSxcblxuICAgIC8vIOazqOWGjOS6i+S7tuebkeWQrOeahOaOpeWPoyzkuI3pnIDopoHmiYvliqjosIPnlKgs5aaC5p6c5piv5L2/55SoZ2NvcmUuR2xvYmFsRXZlbnTnm5HlkKws5Y+v5Lul55u05o6l6LCD55SoYWRkR2xvYmFsRXZlbnRcbiAgICByZWdpc3RlckV2ZW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuYWRkR2xvYmFsRXZlbnQoV2VsZmFyZUV2ZW50LlVwZGF0ZV9TaWduX0luZm8sIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpc3QoZGF0YSlcbiAgICAgICAgfSwgdGhpcylcblxuICAgICAgICB0aGlzLmFkZEdsb2JhbEV2ZW50KFdlbGZhcmVFdmVudC5TaWduX1N1Y2Nlc3MsIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpc3QoZGF0YSk7XG4gICAgICAgIH0sIHRoaXMpXG5cblxuICAgICAgICB0aGlzLnRpcHNfYnRuX25kLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICBVdGlscy5wbGF5QnV0dG9uU291bmQoMSk7XG4gICAgICAgICAgICB2YXIgcG9zID0gZXZlbnQudG91Y2guZ2V0TG9jYXRpb24oKTtcbiAgICAgICAgICAgIHZhciBkZXNjID0gU3RyaW5nVXRpbC5wYXJzZShDb25maWcuY2hlY2tpbl9kYXRhLmRhdGFfY29uc3QuY2hlY2tpbl9ydWxlcy5kZXNjKVxuICAgICAgICAgICAgcmVxdWlyZShcInRpcHNfY29udHJvbGxlclwiKS5nZXRJbnN0YW5jZSgpLnNob3dDb21tb25UaXBzKGRlc2MsIHBvcyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY3RybC5zZW5kZXIxNDEwMCgpO1xuXG4gICAgfSxcblxuICAgIGNyZWF0ZUxpc3Q6IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIHZhciBjb25maWcgPSBDb25maWcuY2hlY2tpbl9kYXRhLmRhdGFfYXdhcmQ7XG4gICAgICAgIHZhciBub3dfdGltZSA9IGdjb3JlLlNtYXJ0U29ja2V0LmdldFRpbWUoKTtcbiAgICAgICAgdmFyIG1vbnRoID0gTnVtYmVyKFRpbWV0b29sLmRhdGVGdHQoXCJNTVwiLCBub3dfdGltZSkpO1xuICAgICAgICB2YXIgZGF0YV9saXN0ID0gVXRpbHMuZGVlcENvcHkoY29uZmlnW21vbnRoXSk7XG4gICAgICAgIHZhciBoYXNfZGF5ID0gZGF0YS5kYXk7XG4gICAgICAgIHZhciBub3dfZGF5ID0gMDtcbiAgICAgICAgdmFyIGxpc3QgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgayBpbiBkYXRhX2xpc3QpIHtcbiAgICAgICAgICAgIHZhciB2ID0gZGF0YV9saXN0W2tdO1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzID4gMCkge1xuICAgICAgICAgICAgICAgIGlmIChrIDwgaGFzX2RheSkgeyAgICAgICAgLy/ntK/orqHnmoRcbiAgICAgICAgICAgICAgICAgICAgdi5zdGF0dXMgPSAyOyAgICAgICAvL+W3sumihuWPluWFqOmDqOWlluWKsVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoayA9PSBoYXNfZGF5KSB7ICAgIC8v5LuK5aSpXG4gICAgICAgICAgICAgICAgICAgIHYuc3RhdHVzID0gZGF0YS5zdGF0dXM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHsgICAgLy/kuYvlkI7nmoRcbiAgICAgICAgICAgICAgICAgICAgdi5zdGF0dXMgPSAwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHYubm93X2RheSA9IGhhc19kYXlcbiAgICAgICAgICAgICAgICBub3dfZGF5ID0gaGFzX2RheTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5zdGF0dXMgPT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChrIDw9IGhhc19kYXkpIHsgICAgICAgLy/ntK/orqHnmoRcbiAgICAgICAgICAgICAgICAgICAgdi5zdGF0dXMgPSAyOyAgICAgICAvL+W3sumihuWPluWFqOmDqOWlluWKsVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoayA9PSBoYXNfZGF5ICsgMSkgeyAgICAvL+S7iuWkqVxuICAgICAgICAgICAgICAgICAgICB2LnN0YXR1cyA9IGRhdGEuc3RhdHVzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAgICAgLy/kuYvlkI7nmoRcbiAgICAgICAgICAgICAgICAgICAgdi5zdGF0dXMgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2Lm5vd19kYXkgPSBoYXNfZGF5ICsgMTtcbiAgICAgICAgICAgICAgICBub3dfZGF5ID0gaGFzX2RheSArIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaXN0LnB1c2godik7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGxpc3Quc29ydChVdGlscy50YWJsZUxvd2VyU29ydGVyKFtcImRheVwiXSkpXG5cblxuICAgICAgICB0aGlzLml0ZW1fc2Nyb2xsdmlldy5zZXREYXRhKGxpc3QsIGZ1bmN0aW9uIChjZWxsKSB7XG4gICAgICAgICAgICB2YXIgZGF0YSA9IGNlbGwuZ2V0RGF0YSgpO1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzID09IDEgJiYgZGF0YS5ub3dfZGF5ID09IGRhdGEuZGF5ICYmIHRoaXMubW9kZWwuZ2V0UmVjaGFyZ2VDb3VudCgpID09IDApIHtcbiAgICAgICAgICAgICAgICB2YXIgc3RyID0gVXRpbHMuVEkxOE4oXCLlvZPlpKnlhYXlgLw8Y29sb3I9IzI4OWIxND7ku7vmhI/ph5Hpop08L2M+5Y+vPGNvbG9yPSMyODliMTQ+6aKd5aSWPC9jPuiOt+W+l+S4gOasoeWlluWKsVwiKTtcbiAgICAgICAgICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICByZXF1aXJlKFwidmlwX2NvbnRyb2xsZXJcIikuZ2V0SW5zdGFuY2UoKS5vcGVuVmlwTWFpbldpbmRvdyh0cnVlLCBWSVBUQUJDT05TVC5DSEFSR0UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YXIgQ29tbW9uQWxlcnQgPSByZXF1aXJlKFwiY29tbW9uYWxlcnRcIik7XG4gICAgICAgICAgICAgICAgQ29tbW9uQWxlcnQuc2hvdyhzdHIsIFV0aWxzLlRJMThOKFwi56Gu6K6kXCIpLCBmdW4sIFV0aWxzLlRJMThOKFwi5Y+W5raIXCIpLCBudWxsLCAyKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5kYXkgPiBkYXRhLm5vd19kYXkpIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlKFV0aWxzLlRJMThOKFwi5pyq6L6+5Yiw562+5Yiw5aSp5pWwXCIpKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN0cmwuc2VuZGVyMTQxMDEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfS5iaW5kKHRoaXMpKVxuXG4gICAgICAgIHRoaXMuaXRlbV9zY3JvbGx2aWV3LmFkZEVuZENhbGxCYWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBsaXN0ID0gdGhpcy5pdGVtX3Njcm9sbHZpZXcuZ2V0SXRlbUxpc3QoKTtcbiAgICAgICAgICAgIHZhciBwb3MgPSBudWxsO1xuICAgICAgICAgICAgZm9yICh2YXIgayBpbiBsaXN0KSB7XG4gICAgICAgICAgICAgICAgdmFyIHZvID0gbGlzdFtrXS5nZXREYXRhKCk7XG4gICAgICAgICAgICAgICAgaWYgKHZvLmRheSA9PSAyNikge1xuICAgICAgICAgICAgICAgICAgICBwb3MgPSBsaXN0W2tdLmdldEl0ZW1Qb3NpdGlvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChub3dfZGF5ID49IDI1KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtX3Njcm9sbHZpZXcuanVtcFRvTW92ZShjYy52Mihwb3MueCwgcG9zLnkgKyB0aGlzLml0ZW1fc2Nyb2xsdmlldy5nZXRDb250ZW50U2l6ZSgpLmhlaWdodCAvIDIpLCAwLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjizmt7vliqDliLDlr7nlupTkuLvoioLngrnkuYvlkI7nmoTlm57osIPlj6/ku6Xorr7nva7kuIDkupvmlbDmja7kuoZcbiAgICBvblNob3c6IGZ1bmN0aW9uIChwYXJhbXMpIHtcblxuICAgIH0sXG5cbiAgICAvLyDpnaLmnb/orr7nva7kuI3lj6/op4HnmoTlm57osIMs6L+Z6YeM5YGa5LiA5Lqb5LiN5Y+v6KeB55qE5bGP6JS95aSE55CGXG4gICAgb25IaWRlOiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgLy8g5b2T6Z2i5p2/5LuO5Li76IqC54K56YeK5pS+5o6J55qE6LCD55So5o6l5Y+jLOmcgOimgeaJi+WKqOiwg+eUqCzogIzkuJTkuZ/kuIDlrpropoHosIPnlKhcbiAgICBvbkRlbGV0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5pdGVtX3Njcm9sbHZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbV9zY3JvbGx2aWV3LmRlbGV0ZU1lKCk7XG4gICAgICAgICAgICB0aGlzLml0ZW1fc2Nyb2xsdmlldyA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9LFxufSkiXX0=