(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/mod/exchange/view/exchange_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, '7fb6c1VdDVC6ok8cQp3cFLO', 'exchange_window'); // Scripts/mod/exchange/view/exchange_window.js "use strict"; // -------------------------------------------------------------------- // @author: shiraho@syg.com(必填, 创建模块的人员) // @description: // 用户输入框 //
Create: new Date().toISOString() // -------------------------------------------------------------------- var PathTool = require("pathtool"); var LoaderManager = require("loadermanager"); var RoleController = require("role_controller"); var ExchangeController = require("exchange_controller"); var ExchangeEvent = require("exchange_event"); var TimeTool = require("timetool"); var ExchangeWindow = cc.Class({ "extends": BaseView, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("exchange", "exchange_main_win"); this.viewTag = SCENE_TAG.dialogue; }, openCallBack: function openCallBack() { var _this = this; this.main_container = this.root_wnd.getChildByName("main_container"); this.background = this.root_wnd.getChildByName("background"); this.bg = this.root_wnd.getChildByName("bg").getComponent(cc.Sprite); LoaderManager.getInstance().loadRes(PathTool.getBigBg("bigbg_65", "png"), function (spriteFrame) { this.bg.spriteFrame = spriteFrame; }.bind(this)); this.objects = {}; var _loop = function _loop(i) { item = {}; item.remain = _this.main_container.getChildByName("remain_text_" + i).getComponent(cc.Label); item.btn = _this.main_container.getChildByName("btn_" + i); item.get = _this.main_container.getChildByName("get_" + i); item.gold = item.btn.getChildByName("label").getComponent(cc.Label); item.coin = _this.main_container.getChildByName("coin_" + i).getChildByName("label").getComponent(cc.Label); _this.objects[i] = item; LoaderManager.getInstance().loadRes(PathTool.getItemRes("1"), function (res) { this.main_container.getChildByName("coin_" + i).getChildByName("icon").getComponent(cc.Sprite).spriteFrame = res; }.bind(_this)); if (_this.main_container.getChildByName("btn_" + i).getChildByName("icon")) { LoaderManager.getInstance().loadRes(PathTool.getItemRes("3"), function (res) { this.main_container.getChildByName("btn_" + i).getChildByName("icon").getComponent(cc.Sprite).spriteFrame = res; }.bind(_this)); } }; for (var i = 1; i <= 3; i++) { var item; _loop(i); } this.textTime = this.main_container.getChildByName("textTime").getComponent(cc.Label); }, registerEvent: function registerEvent() { var _this2 = this; this.background.on(cc.Node.EventType.TOUCH_END, function (event) { Utils.playButtonSound(2); ExchangeController.getInstance().openExchangeMainView(false); }, this); var _loop2 = function _loop2(i) { _this2.objects[i].btn.on(cc.Node.EventType.TOUCH_END, function (event) { Utils.playButtonSound(1); if (this.objects[i].v) { ExchangeController.getInstance().send23607(this.objects[i].v.id); } }, _this2); }; for (var i in this.objects) { _loop2(i); } this.addGlobalEvent(ExchangeEvent.Extra_Reward, function (data) { this.updateData(data); }, this); }, openRootWnd: function openRootWnd() { ExchangeController.getInstance().send23606(); }, updateData: function updateData(data) { this.data = data; this.setLessTime(); for (var i in data.list) { var v = data.list[i]; var item = this.objects[v.id]; item.v = v; item.remain.string = Utils.TI18N("剩余:" + Math.max(0, v.max - v.num)); item.coin.string = v.gain; if (v.num >= v.max) { item.btn.active = false; item.get.active = true; } else { item.btn.active = true; item.get.active = false; if (v.price == 0) { item.gold.string = Utils.TI18N("免费获取"); } else { item.gold.string = v.price + Utils.TI18N("获取"); } } } }, setLessTime: function setLessTime() { if (!cc.isValid(this.textTime) || !this.data) { return; } var lesstime = this.data.ref_time - gcore.SmartSocket.getTime(); // Log.info("====>>>", lesstime, this.data, gcore.SmartSocket.getTime()); if (lesstime > 0) { this.textTime.string = TimeTool.getTimeFormat(lesstime); this.timer = gcore.Timer.set(function () { this.setLessTime(); this.timer = null; }.bind(this), 1000, 1); } else { this.textTime.string = "00:00:00"; } }, closeCallBack: function closeCallBack() { ExchangeController.getInstance().openExchangeMainView(false); if (this.timer) { gcore.Timer.del(this.timer); } LoaderManager.getInstance().deleteRes(PathTool.getBigBg("bigbg_65", "png")); } }); module.exports = ExchangeWindow; 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxleGNoYW5nZVxcdmlld1xcZXhjaGFuZ2Vfd2luZG93LmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIkxvYWRlck1hbmFnZXIiLCJSb2xlQ29udHJvbGxlciIsIkV4Y2hhbmdlQ29udHJvbGxlciIsIkV4Y2hhbmdlRXZlbnQiLCJUaW1lVG9vbCIsIkV4Y2hhbmdlV2luZG93IiwiY2MiLCJDbGFzcyIsIkJhc2VWaWV3IiwiY3RvciIsInByZWZhYlBhdGgiLCJnZXRQcmVmYWJQYXRoIiwidmlld1RhZyIsIlNDRU5FX1RBRyIsImRpYWxvZ3VlIiwib3BlbkNhbGxCYWNrIiwibWFpbl9jb250YWluZXIiLCJyb290X3duZCIsImdldENoaWxkQnlOYW1lIiwiYmFja2dyb3VuZCIsImJnIiwiZ2V0Q29tcG9uZW50IiwiU3ByaXRlIiwiZ2V0SW5zdGFuY2UiLCJsb2FkUmVzIiwiZ2V0QmlnQmciLCJzcHJpdGVGcmFtZSIsImJpbmQiLCJvYmplY3RzIiwiaSIsIml0ZW0iLCJyZW1haW4iLCJMYWJlbCIsImJ0biIsImdldCIsImdvbGQiLCJjb2luIiwiZ2V0SXRlbVJlcyIsInJlcyIsInRleHRUaW1lIiwicmVnaXN0ZXJFdmVudCIsIm9uIiwiTm9kZSIsIkV2ZW50VHlwZSIsIlRPVUNIX0VORCIsImV2ZW50IiwiVXRpbHMiLCJwbGF5QnV0dG9uU291bmQiLCJvcGVuRXhjaGFuZ2VNYWluVmlldyIsInYiLCJzZW5kMjM2MDciLCJpZCIsImFkZEdsb2JhbEV2ZW50IiwiRXh0cmFfUmV3YXJkIiwiZGF0YSIsInVwZGF0ZURhdGEiLCJvcGVuUm9vdFduZCIsInNlbmQyMzYwNiIsInNldExlc3NUaW1lIiwibGlzdCIsInN0cmluZyIsIlRJMThOIiwiTWF0aCIsIm1heCIsIm51bSIsImdhaW4iLCJhY3RpdmUiLCJwcmljZSIsImlzVmFsaWQiLCJsZXNzdGltZSIsInJlZl90aW1lIiwiZ2NvcmUiLCJTbWFydFNvY2tldCIsImdldFRpbWUiLCJnZXRUaW1lRm9ybWF0IiwidGltZXIiLCJUaW1lciIsInNldCIsImNsb3NlQ2FsbEJhY2siLCJkZWwiLCJkZWxldGVSZXMiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQUlBLFFBQVEsR0FBR0MsT0FBTyxDQUFDLFVBQUQsQ0FBdEI7O0FBQ0EsSUFBSUMsYUFBYSxHQUFHRCxPQUFPLENBQUMsZUFBRCxDQUEzQjs7QUFDQSxJQUFJRSxjQUFjLEdBQUdGLE9BQU8sQ0FBQyxpQkFBRCxDQUE1Qjs7QUFDQSxJQUFJRyxrQkFBa0IsR0FBR0gsT0FBTyxDQUFDLHFCQUFELENBQWhDOztBQUNBLElBQUlJLGFBQWEsR0FBR0osT0FBTyxDQUFDLGdCQUFELENBQTNCOztBQUNBLElBQUlLLFFBQVEsR0FBR0wsT0FBTyxDQUFDLFVBQUQsQ0FBdEI7O0FBRUEsSUFBSU0sY0FBYyxHQUFHQyxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUMxQixhQUFTQyxRQURpQjtBQUUxQkMsRUFBQUEsSUFBSSxFQUFDLGdCQUFVO0FBQ1gsU0FBS0MsVUFBTCxHQUFrQlosUUFBUSxDQUFDYSxhQUFULENBQXVCLFVBQXZCLEVBQW1DLG1CQUFuQyxDQUFsQjtBQUNBLFNBQUtDLE9BQUwsR0FBZUMsU0FBUyxDQUFDQyxRQUF6QjtBQUNILEdBTHlCO0FBTzFCQyxFQUFBQSxZQUFZLEVBQUUsd0JBQVk7QUFBQTs7QUFDdEIsU0FBS0MsY0FBTCxHQUFzQixLQUFLQyxRQUFMLENBQWNDLGNBQWQsQ0FBNkIsZ0JBQTdCLENBQXRCO0FBQ0EsU0FBS0MsVUFBTCxHQUFrQixLQUFLRixRQUFMLENBQWNDLGNBQWQsQ0FBNkIsWUFBN0IsQ0FBbEI7QUFDQSxTQUFLRSxFQUFMLEdBQVUsS0FBS0gsUUFBTCxDQUFjQyxjQUFkLENBQTZCLElBQTdCLEVBQW1DRyxZQUFuQyxDQUFnRGYsRUFBRSxDQUFDZ0IsTUFBbkQsQ0FBVjtB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MkIsS0FBUixFQUFjO0FBQ1ZKLE1BQUFBLEtBQUssQ0FBQ0ssS0FBTixDQUFZRyxHQUFaLENBQWdCLEtBQUtKLEtBQXJCO0FBQ0g7O0FBQ0QzRSxJQUFBQSxhQUFhLENBQUN1QixXQUFkLEdBQTRCeUQsU0FBNUIsQ0FBc0NsRixRQUFRLENBQUMyQixRQUFULENBQWtCLFVBQWxCLEVBQThCLEtBQTlCLENBQXRDO0FBQ0g7QUEzR3lCLENBQVQsQ0FBckI7QUE4R0F3RCxNQUFNLENBQUNDLE9BQVAsR0FBaUI3RSxjQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHNoaXJhaG9Ac3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICAg55So5oi36L6T5YWl5qGGXG4vLyA8YnIvPkNyZWF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgUGF0aFRvb2wgPSByZXF1aXJlKFwicGF0aHRvb2xcIik7XG52YXIgTG9hZGVyTWFuYWdlciA9IHJlcXVpcmUoXCJsb2FkZXJtYW5hZ2VyXCIpXG52YXIgUm9sZUNvbnRyb2xsZXIgPSByZXF1aXJlKFwicm9sZV9jb250cm9sbGVyXCIpO1xudmFyIEV4Y2hhbmdlQ29udHJvbGxlciA9IHJlcXVpcmUoXCJleGNoYW5nZV9jb250cm9sbGVyXCIpO1xudmFyIEV4Y2hhbmdlRXZlbnQgPSByZXF1aXJlKFwiZXhjaGFuZ2VfZXZlbnRcIik7XG52YXIgVGltZVRvb2wgPSByZXF1aXJlKFwidGltZXRvb2xcIik7XG5cbnZhciBFeGNoYW5nZVdpbmRvdyA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlVmlldyxcbiAgICBjdG9yOmZ1bmN0aW9uKCl7XG4gICAgICAgIHRoaXMucHJlZmFiUGF0aCA9IFBhdGhUb29sLmdldFByZWZhYlBhdGgoXCJleGNoYW5nZVwiLCBcImV4Y2hhbmdlX21haW5fd2luXCIpO1xuICAgICAgICB0aGlzLnZpZXdUYWcgPSBTQ0VORV9UQUcuZGlhbG9ndWU7XG4gICAgfSxcblxuICAgIG9wZW5DYWxsQmFjazogZnVuY3Rpb24gKCkgeyBcbiAgICAgICAgdGhpcy5tYWluX2NvbnRhaW5lciA9IHRoaXMucm9vdF93bmQuZ2V0Q2hpbGRCeU5hbWUoXCJtYWluX2NvbnRhaW5lclwiKTtcbiAgICAgICAgdGhpcy5iYWNrZ3JvdW5kID0gdGhpcy5yb290X3duZC5nZXRDaGlsZEJ5TmFtZShcImJhY2tncm91bmRcIik7XG4gICAgICAgIHRoaXMuYmcgPSB0aGlzLnJvb3Rfd25kLmdldENoaWxkQnlOYW1lKFwiYmdcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSk7XG4gICAgICAgIExvYWRlck1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5sb2FkUmVzKFBhdGhUb29sLmdldEJpZ0JnKFwiYmlnYmdfNjVcIiwgXCJwbmdcIiksIChmdW5jdGlvbiAoc3ByaXRlRnJhbWUpIHtcbiAgICAgICAgICAgIHRoaXMuYmcuc3ByaXRlRnJhbWUgPSBzcHJpdGVGcmFtZTtcbiAgICAgICAgfSkuYmluZCh0aGlzKSlcbiAgICAgICAgdGhpcy5vYmplY3RzID0ge307XG4gICAgICAgIGZvcihsZXQgaT0xOyBpPD0zOyBpKyspe1xuICAgICAgICAgICAgdmFyIGl0ZW0gPSB7fTtcbiAgICAgICAgICAgIGl0ZW0ucmVtYWluID0gdGhpcy5tYWluX2NvbnRhaW5lci5nZXRDaGlsZEJ5TmFtZShcInJlbWFpbl90ZXh0X1wiICsgaSkuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcbiAgICAgICAgICAgIGl0ZW0uYnRuID0gdGhpcy5tYWluX2NvbnRhaW5lci5nZXRDaGlsZEJ5TmFtZShcImJ0bl9cIiArIGkpO1xuICAgICAgICAgICAgaXRlbS5nZXQgPSB0aGlzLm1haW5fY29udGFpbmVyLmdldENoaWxkQnlOYW1lKFwiZ2V0X1wiICsgaSk7XG4gICAgICAgICAgICBpdGVtLmdvbGQgPSBpdGVtLmJ0bi5nZXRDaGlsZEJ5TmFtZShcImxhYmVsXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCk7XG4gICAgICAgICAgICBpdGVtLmNvaW4gPSB0aGlzLm1haW5fY29udGFpbmVyLmdldENoaWxkQnlOYW1lKFwiY29pbl9cIiArIGkpLmdldENoaWxkQnlOYW1lKFwibGFiZWxcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcbiAgICAgICAgICAgIHRoaXMub2JqZWN0c1tpXSA9IGl0ZW07XG4gICAgICAgICAgICBMb2FkZXJNYW5hZ2VyLmdldEluc3RhbmNlKCkubG9hZFJlcyhQYXRoVG9vbC5nZXRJdGVtUmVzKFwiMVwiKSwgKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1haW5fY29udGFpbmVyLmdldENoaWxkQnlOYW1lKFwiY29pbl9cIiArIGkpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHJlc1xuICAgICAgICAgICAgfSkuYmluZCh0aGlzKSlcbiAgICAgICAgICAgIGlmKHRoaXMubWFpbl9jb250YWluZXIuZ2V0Q2hpbGRCeU5hbWUoXCJidG5fXCIgKyBpKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikpe1xuICAgICAgICAgICAgICAgIExvYWRlck1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5sb2FkUmVzKFBhdGhUb29sLmdldEl0ZW1SZXMoXCIzXCIpLCAoZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1haW5fY29udGFpbmVyLmdldENoaWxkQnlOYW1lKFwiYnRuX1wiICsgaSkuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gcmVzXG4gICAgICAgICAgICAgICAgfSkuYmluZCh0aGlzKSlcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRleHRUaW1lID0gdGhpcy5tYWluX2NvbnRhaW5lci5nZXRDaGlsZEJ5TmFtZShcInRleHRUaW1lXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCk7XG4gICAgfSxcblxuICAgIHJlZ2lzdGVyRXZlbnQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5iYWNrZ3JvdW5kLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICAgICAgVXRpbHMucGxheUJ1dHRvblNvdW5kKDIpXG4gICAgICAgICAgICBFeGNoYW5nZUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5vcGVuRXhjaGFuZ2VNYWluVmlldyhmYWxzZSk7XG4gICAgICAgIH0sIHRoaXMpO1xuXG4gICAgICAgIGZvcihsZXQgaSBpbiB0aGlzLm9iamVjdHMpe1xuICAgICAgICAgICAgdGhpcy5vYmplY3RzW2ldLmJ0bi5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9FTkQsIGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICBVdGlscy5wbGF5QnV0dG9uU291bmQoMSlcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vYmplY3RzW2ldLnYpe1xuICAgICAgICAgICAgICAgICAgICBFeGNoYW5nZUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5zZW5kMjM2MDcodGhpcy5vYmplY3RzW2ldLnYuaWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHRoaXMpXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFkZEdsb2JhbEV2ZW50KEV4Y2hhbmdlRXZlbnQuRXh0cmFfUmV3YXJkLCBmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRGF0YShkYXRhKTtcbiAgICAgICAgfSwgdGhpcyk7XG4gICAgfSxcblxuICAgIG9wZW5Sb290V25kOiBmdW5jdGlvbigpe1xuICAgICAgICBFeGNoYW5nZUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5zZW5kMjM2MDYoKTtcbiAgICB9LFxuXG4gICAgdXBkYXRlRGF0YTogZnVuY3Rpb24oZGF0YSl7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGFcbiAgICAgICAgdGhpcy5zZXRMZXNzVGltZSgpO1xuICAgICAgICBmb3IobGV0IGkgaW4gZGF0YS5saXN0KXtcbiAgICAgICAgICAgIHZhciB2ID0gZGF0YS5saXN0W2ldO1xuICAgICAgICAgICAgdmFyIGl0ZW0gPSB0aGlzLm9iamVjdHNbdi5pZF07XG4gICAgICAgICAgICBpdGVtLnYgPSB2O1xuICAgICAgICAgICAgaXRlbS5yZW1haW4uc3RyaW5nID0gVXRpbHMuVEkxOE4oXCLliankvZnvvJpcIiArIE1hdGgubWF4KDAsIHYubWF4LXYubnVtKSk7XG4gICAgICAgICAgICBpdGVtLmNvaW4uc3RyaW5nID0gdi5nYWluO1xuICAgICAgICAgICAgaWYodi5udW0gPj0gdi5tYXgpe1xuICAgICAgICAgICAgICAgIGl0ZW0uYnRuLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGl0ZW0uZ2V0LmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICBpdGVtLmJ0bi5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGl0ZW0uZ2V0LmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGlmKHYucHJpY2UgPT0gMCl7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZ29sZC5zdHJpbmcgPSBVdGlscy5USTE4TihcIuWFjei0ueiOt+WPllwiKTtcbiAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5nb2xkLnN0cmluZyA9IHYucHJpY2UgKyBVdGlscy5USTE4TihcIuiOt+WPllwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgc2V0TGVzc1RpbWUgOiBmdW5jdGlvbigpe1xuICAgICAgICBpZighY2MuaXNWYWxpZCh0aGlzLnRleHRUaW1lKSB8fCAhdGhpcy5kYXRhKXtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGVzc3RpbWUgPSB0aGlzLmRhdGEucmVmX3RpbWUgLSBnY29yZS5TbWFydFNvY2tldC5nZXRUaW1lKCk7XG4gICAgICAgIC8vIExvZy5pbmZvKFwiPT09PT4+PlwiLCBsZXNzdGltZSwgdGhpcy5kYXRhLCBnY29yZS5TbWFydFNvY2tldC5nZXRUaW1lKCkpO1xuICAgICAgICBpZihsZXNzdGltZSA+IDApe1xuICAgICAgICAgICAgdGhpcy50ZXh0VGltZS5zdHJpbmcgPSBUaW1lVG9vbC5nZXRUaW1lRm9ybWF0KGxlc3N0aW1lKTtcbiAgICAgICAgICAgIHRoaXMudGltZXIgPSBnY29yZS5UaW1lci5zZXQoKGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMZXNzVGltZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xuICAgICAgICAgICAgfSkuYmluZCh0aGlzKSwgMTAwMCwgMSk7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgdGhpcy50ZXh0VGltZS5zdHJpbmcgPSBcIjAwOjAwOjAwXCI7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgY2xvc2VDYWxsQmFjazogZnVuY3Rpb24gKCkge1xuICAgICAgICBFeGNoYW5nZUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5vcGVuRXhjaGFuZ2VNYWluVmlldyhmYWxzZSk7XG4gICAgICAgIGlmKHRoaXMudGltZXIpe1xuICAgICAgICAgICAgZ2NvcmUuVGltZXIuZGVsKHRoaXMudGltZXIpO1xuICAgICAgICB9XG4gICAgICAgIExvYWRlck1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5kZWxldGVSZXMoUGF0aFRvb2wuZ2V0QmlnQmcoXCJiaWdiZ182NVwiLCBcInBuZ1wiKSk7XG4gICAgfVxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gRXhjaGFuZ2VXaW5kb3c7Il19