(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/game_views.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, 'cd98dYaRCNFELc5JdeLIbzW', 'game_views'); // Scripts/game_views.js "use strict"; var StoryController = require("story_controller"); var GuideController = require("guide_controller"); window.WaitingStaus = { "CONNECT": 1, "LOADING": 2 }; cc.Class({ "extends": cc.Component, properties: {// scene_tag: { default: null, type: cc.Node }, // battle_tag: { default: null, type: cc.Node }, // effect_tag: { default: null, type: cc.Node }, // ui_tag: { default: null, type: cc.Node }, // win_tag: { default: null, type: cc.Node }, // top_tag: { default: null, type: cc.Node }, // dialogue_tag: { default: null, type: cc.Node }, // msg_tag: { default: null, type: cc.Node }, // reconnect_tag: { default: null, type: cc.Node }, // loading_tag: { default: null, type: cc.Node }, // left_fill_bg: { default: null, type: cc.Node }, // right_gill_bg: { default: null, type: cc.Node }, // _waiting_status: null, }, onLoad: function onLoad() { this.scene_tag = this.node.getChildByName("scene_tag"); this.battle_tag = this.node.getChildByName("battle_tag"); this.effect_tag = this.node.getChildByName("effect_tag"); this.ui_tag = this.node.getChildByName("ui_tag"); this.win_tag = this.node.getChildByName("win_tag"); this.top_tag = this.node.getChildByName("top_tag"); this.dialogue_tag = this.node.getChildByName("dialogue_tag"); this.msg_tag = this.node.getChildByName("msg_tag"); this.reconnect_tag = this.node.getChildByName("reconnect_tag"); this.loading_tag = this.node.getChildByName("loading_tag"); this.fille_nd = this.node.getChildByName("fille_node"); this.left_fill_bg = this.fille_nd.getChildByName("left_bg"); this.right_gill_bg = this.fille_nd.getChildByName("right_bg"); var fille_bg_width = (cc.winSize.width - 720) * 0.5 + 50; this.left_fill_bg.width = fille_bg_width; this.right_gill_bg.width = fille_bg_width; this.touch_cp = this.msg_tag.addComponent(cc.BlockInputEvents); this.touch_cp.enabled = false; }, start: function start() {// this.initWaitingView(); }, initMsgView: function initMsgView() { var effect_path = "spine/" + "E51110" + "/" + "action" + ".atlas"; LoaderManager.getInstance().loadRes(effect_path, function (effect_sd) { this.touch_effect_nd = new cc.Node(); this.loading_tag.addChild(this.touch_effect_nd); this.touch_efftct_sk = this.touch_effect_nd.addComponent(sp.Skeleton); this.touch_efftct_sk.skeletonData = effect_sd; }.bind(this)); this.loading_tag.on(cc.Node.EventType.TOUCH_END, function (event) { // 判断是否在新手引导和剧情中 if (GuideController.getInstance().isInGuide() || StoryController.getInstance().isInStory()) return; if (this.touch_efftct_sk && this.touch_effect_nd) { var pos = event.touch.getLocation(); var tar_pos = this.loading_tag.convertToNodeSpaceAR(pos); this.touch_effect_nd.position = tar_pos; this.touch_efftct_sk.setAnimation(0, "action", false); } }, this); if (this.loading_tag._touchListener) this.loading_tag._touchListener.setSwallowTouches(false); }, initWaitingView: function initWaitingView() { var mask_nd = this.mask_nd = new cc.Node(); mask_nd.setContentSize(this.loading_tag.getContentSize()); if (window.isMobile && window.FIT_HEIDGHT) { mask_nd.scale = FIT_SCALE; } this.loading_tag.addChild(mask_nd); this.touch_block = mask_nd.addComponent(cc.BlockInputEvents); var graphics_cp = this.waitint_mask = mask_nd.addComponent(cc.Graphics); graphics_cp.clear(); graphics_cp.fillColor = cc.color(0, 0, 0, 168); graphics_cp.rect(-0.5 * mask_nd.width, -0.5 * (mask_nd.height * FIT_SCALE), mask_nd.width, mask_nd.height * FIT_SCALE); graphics_cp.fill(); var skeleton_nd = this.skeleton_nd = new cc.Node(); this.mask_nd.addChild(skeleton_nd); var waiting_sk = this.waiting_sk = skeleton_nd.addComponent(sp.Skeleton); LoaderManager.getInstance().loadRes("spine/E51006/action" + ".atlas", function (waiting_sd) { this.waiting_sk.skeletonData = waiting_sd; }.bind(this)); mask_nd.active = false; this.touch_block.enabled = false; skeleton_nd.active = false; }, // 更新等待界面状态 updateWaitingStatus: function updateWaitingStatus(status) { if (this._waiting_status === status) return; if (status && this.waiting_sk.skeletonData) { this.mask_nd.active = true; this.skeleton_nd.active = true; this.touch_block.enabled = true; if (status == WaitingStaus.CONNECT) { this.waiting_sk.setAnimation(0, "action", true); } else if (status == WaitingStaus.LOADING) { this.waiting_sk.setAnimation(0, "action1", true); this.cancle_timer = gcore.Timer.set(function () { if (this._waiting_status == WaitingStaus.LOADING) { this.updateWaitingStatus(false); } }.bind(this), 6000, 1); } } else { this.mask_nd.active = false; this.skeleton_nd.active = false; if (this.cancle_timer) { gcore.Timer.del(this.cancle_timer); this.cancle_timer = null; } } this._waiting_status = status; }, showFrame: function showFrame() { this.fille_nd.active = true; }, forBidTouch: function forBidTouch() { this.touch_cp.enabled = true; }, cancelTouch: function cancelTouch() { this.touch_cp.enabled = false; } }); 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcZ2FtZV92aWV3cy5qcyJdLCJuYW1lcyI6WyJTdG9yeUNvbnRyb2xsZXIiLCJyZXF1aXJlIiwiR3VpZGVDb250cm9sbGVyIiwid2luZG93IiwiV2FpdGluZ1N0YXVzIiwiY2MiLCJDbGFzcyIsIkNvbXBvbmVudCIsInByb3BlcnRpZXMiLCJvbkxvYWQiLCJzY2VuZV90YWciLCJub2RlIiwiZ2V0Q2hpbGRCeU5hbWUiLCJiYXR0bGVfdGFnIiwiZWZmZWN0X3RhZyIsInVpX3RhZyIsIndpbl90YWciLCJ0b3BfdGFnIiwiZGlhbG9ndWVfdGFnIiwibXNnX3RhZyIsInJlY29ubmVjdF90YWciLCJsb2FkaW5nX3RhZyIsImZpbGxlX25kIiwibGVmdF9maWxsX2JnIiwicmlnaHRfZ2lsbF9iZyIsImZpbGxlX2JnX3dpZHRoIiwid2luU2l6ZSIsIndpZHRoIiwidG91Y2hfY3AiLCJhZGRDb21wb25lbnQiLCJCbG9ja0lucHV0RXZlbnRzIiwiZW5hYmxlZCIsInN0YXJ0IiwiaW5pdE1zZ1ZpZXciLCJlZmZlY3RfcGF0aCIsIkxvYWRlck1hbmFnZXIiLCJnZXRJbnN0YW5jZSIsImxvYWRSZXMiLCJlZmZlY3Rfc2QiLCJ0b3VjaF9lZmZlY3RfbmQiLCJOb2RlIiwiYWRkQ2hpbGQiLCJ0b3VjaF9lZmZ0Y3Rfc2siLCJzcCIsIlNrZWxldG9uIiwic2tlbGV0b25EYXRhIiwiYmluZCIsIm9uIiwiRXZlbnRUeXBlIiwiVE9VQ0hfRU5EIiwiZXZlbnQiLCJpc0luR3VpZGUiLCJpc0luU3RvcnkiLCJwb3MiLCJ0b3VjaCIsImdldExvY2F0aW9uIiwidGFyX3BvcyIsImNvbnZlcnRUb05vZGVTcGFjZUFSIiwicG9zaXRpb24iLCJzZXRBbmltYXRpb24iLCJfdG91Y2hMaXN0ZW5lciIsInNldFN3YWxsb3dUb3VjaGVzIiwiaW5pdFdhaXRpbmdWaWV3IiwibWFza19uZCIsInNldENvbnRlbnRTaXplIiwiZ2V0Q29udGVudFNpemUiLCJpc01vYmlsZSIsIkZJVF9IRUlER0hUIiwic2NhbGUiLCJGSVRfU0NBTEUiLCJ0b3VjaF9ibG9jayIsImdyYXBoaWNzX2NwIiwid2FpdGludF9tYXNrIiwiR3JhcGhpY3MiLCJjbGVhciIsImZpbGxDb2xvciIsImNvbG9yIiwicmVjdCIsImhlaWdodCIsImZpbGwiLCJza2VsZXRvbl9uZCIsIndhaXRpbmdfc2siLCJ3YWl0aW5nX3NkIiwiYWN0aXZlIiwidXBkYXRlV2FpdGluZ1N0YXR1cyIsInN0YXR1cyIsIl93YWl0aW5nX3N0YXR1cyIsIkNPTk5FQ1QiLCJMT0FESU5HIiwiY2FuY2xlX3RpbWVyIiwiZ2NvcmUiLCJUaW1lciIsInNldCIsImRlbCIsInNob3dGcmFtZSIsImZvckJpZFRvdWNoIiwiY2FuY2VsVG91Y2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBSUEsZUFBZSxHQUFHQyxPQUFPLENBQUMsa0JBQUQsQ0FBN0I7O0FBQ0EsSUFBSUMsZUFBZSxHQUFHRCxPQUFPLENBQUMsa0JBQUQsQ0FBN0I7O0FBRUFFLE1BQU0sQ0FBQ0MsWUFBUCxHQUFzQjtBQUNsQixhQUFXLENBRE87QUFFbEIsYUFBVztBQUZPLENBQXRCO0FBS0FDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxTQURQO0FBR0xDLEVBQUFBLFVBQVUsRUFBRSxDQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYlEsR0FIUDtBQW1CTEMsRUFBQUEsTUFuQkssb0JBbUJLO0FBQ04sU0FBS0MsU0FBTCxHQUFxQixLQUFLQyxJQUFMLENBQVVDLGNBQVYsQ0FBeUIsV0FBekIsQ0FBckI7QUFDQSxTQUFLQyxVQUFMLEdBQXFCLEtBQUtGLElBQUwsQ0FBVUMsY0FBVixDQUF5QixZQUF6QixDQUFyQjtBQUNBLFNBQUtFLFVBQUwsR0FBcUIsS0FBS0gsSUFBTCxDQUFVQyxjQUFWLENBQXlCLFlBQXpCLENBQXJCO0FBQ0EsU0FBS0cs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QUFBQSxXQUFXLEVBQUUsdUJBQVc7QUFDcEIsU0FBS3BFLFFBQUwsQ0FBY0csT0FBZCxHQUF3QixLQUF4QjtBQUNIO0FBM0lJLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbInZhciBTdG9yeUNvbnRyb2xsZXIgPSByZXF1aXJlKFwic3RvcnlfY29udHJvbGxlclwiKTtcclxudmFyIEd1aWRlQ29udHJvbGxlciA9IHJlcXVpcmUoXCJndWlkZV9jb250cm9sbGVyXCIpO1xyXG5cclxud2luZG93LldhaXRpbmdTdGF1cyA9IHtcclxuICAgIFwiQ09OTkVDVFwiOiAxLFxyXG4gICAgXCJMT0FESU5HXCI6IDJcclxufVxyXG5cclxuY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxyXG5cclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICAvLyBzY2VuZV90YWc6IHsgZGVmYXVsdDogbnVsbCwgdHlwZTogY2MuTm9kZSB9LFxyXG4gICAgICAgIC8vIGJhdHRsZV90YWc6IHsgZGVmYXVsdDogbnVsbCwgdHlwZTogY2MuTm9kZSB9LFxyXG4gICAgICAgIC8vIGVmZmVjdF90YWc6IHsgZGVmYXVsdDogbnVsbCwgdHlwZTogY2MuTm9kZSB9LFxyXG4gICAgICAgIC8vIHVpX3RhZzogeyBkZWZhdWx0OiBudWxsLCB0eXBlOiBjYy5Ob2RlIH0sXHJcbiAgICAgICAgLy8gd2luX3RhZzogeyBkZWZhdWx0OiBudWxsLCB0eXBlOiBjYy5Ob2RlIH0sXHJcbiAgICAgICAgLy8gdG9wX3RhZzogeyBkZWZhdWx0OiBudWxsLCB0eXBlOiBjYy5Ob2RlIH0sXHJcbiAgICAgICAgLy8gZGlhbG9ndWVfdGFnOiB7IGRlZmF1bHQ6IG51bGwsIHR5cGU6IGNjLk5vZGUgfSxcclxuICAgICAgICAvLyBtc2dfdGFnOiB7IGRlZmF1bHQ6IG51bGwsIHR5cGU6IGNjLk5vZGUgfSxcclxuICAgICAgICAvLyByZWNvbm5lY3RfdGFnOiB7IGRlZmF1bHQ6IG51bGwsIHR5cGU6IGNjLk5vZGUgfSxcclxuICAgICAgICAvLyBsb2FkaW5nX3RhZzogeyBkZWZhdWx0OiBudWxsLCB0eXBlOiBjYy5Ob2RlIH0sXHJcbiAgICAgICAgLy8gbGVmdF9maWxsX2JnOiB7IGRlZmF1bHQ6IG51bGwsIHR5cGU6IGNjLk5vZGUgfSxcclxuICAgICAgICAvLyByaWdodF9naWxsX2JnOiB7IGRlZmF1bHQ6IG51bGwsIHR5cGU6IGNjLk5vZGUgfSxcclxuICAgICAgICAvLyBfd2FpdGluZ19zdGF0dXM6IG51bGwsXHJcbiAgICB9LFxyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcbiAgICAgICAgdGhpcy5zY2VuZV90YWcgICAgID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic2NlbmVfdGFnXCIpO1xyXG4gICAgICAgIHRoaXMuYmF0dGxlX3RhZyAgICA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJhdHRsZV90YWdcIik7XHJcbiAgICAgICAgdGhpcy5lZmZlY3RfdGFnICAgID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZWZmZWN0X3RhZ1wiKTtcclxuICAgICAgICB0aGlzLnVpX3RhZyAgICAgICAgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ1aV90YWdcIik7XHJcbiAgICAgICAgdGhpcy53aW5fdGFnICAgICAgID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2luX3RhZ1wiKTtcclxuICAgICAgICB0aGlzLnRvcF90YWcgICAgICAgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3BfdGFnXCIpO1xyXG4gICAgICAgIHRoaXMuZGlhbG9ndWVfdGFnICA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImRpYWxvZ3VlX3RhZ1wiKTtcclxuICAgICAgICB0aGlzLm1zZ190YWcgICAgICAgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJtc2dfdGFnXCIpO1xyXG4gICAgICAgIHRoaXMucmVjb25uZWN0X3RhZyA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJlY29ubmVjdF90YWdcIik7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nX3RhZyAgID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwibG9hZGluZ190YWdcIik7XHJcbiAgICAgICAgdGhpcy5maWxsZV9uZCAgICAgID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZmlsbGVfbm9kZVwiKTtcclxuICAgICAgICB0aGlzLmxlZnRfZmlsbF9iZyAgPSB0aGlzLmZpbGxlX25kLmdldENoaWxkQnlOYW1lKFwibGVmdF9iZ1wiKTtcclxuICAgICAgICB0aGlzLnJpZ2h0X2dpbGxfYmcgPSB0aGlzLmZpbGxlX25kLmdldENoaWxkQnlOYW1lKFwicmlnaHRfYmdcIik7XHJcblxyXG4gICAgICAgIHZhciBmaWxsZV9iZ193aWR0aCA9IChjYy53aW5TaXplLndpZHRoIC0gNzIwKSAqIDAuNSArIDUwO1xyXG4gICAgICAgIHRoaXMubGVmdF9maWxsX2JnLndpZHRoID0gZmlsbGVfYmdfd2lkdGg7XHJcbiAgICAgICAgdGhpcy5yaWdodF9naWxsX2JnLndpZHRoID0gZmlsbGVfYmdfd2lkdGg7XHJcblxyXG4gICAgICAgIHRoaXMudG91Y2hfY3AgPSB0aGlzLm1zZ190YWcuYWRkQ29tcG9uZW50KGNjLkJsb2NrSW5wdXRFdmVudHMpOyAgXHJcbiAgICAgICAgdGhpcy50b3VjaF9jcC5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB9LFxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICAvLyB0aGlzLmluaXRXYWl0aW5nVmlldygpO1xyXG4gICAgfSxcclxuXHJcbiAgICBpbml0TXNnVmlldzogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgdmFyIGVmZmVjdF9wYXRoID0gXCJzcGluZS9cIiArIFwiRTUxMTEwXCIgKyBcIi9cIiArIFwiYWN0aW9uXCIgKyBcIi5hdGxhc1wiO1xyXG4gICAgICAgIExvYWRlck1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5sb2FkUmVzKGVmZmVjdF9wYXRoLCBmdW5jdGlvbihlZmZlY3Rfc2QpIHtcclxuICAgICAgICAgICAgdGhpcy50b3VjaF9lZmZlY3RfbmQgPSBuZXcgY2MuTm9kZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdfdGFnLmFkZENoaWxkKHRoaXMudG91Y2hfZWZmZWN0X25kKTtcclxuICAgICAgICAgICAgdGhpcy50b3VjaF9lZmZ0Y3Rfc2sgPSB0aGlzLnRvdWNoX2VmZmVjdF9uZC5hZGRDb21wb25lbnQoc3AuU2tlbGV0b24pO1xyXG4gICAgICAgICAgICB0aGlzLnRvdWNoX2VmZnRjdF9zay5za2VsZXRvbkRhdGEgPSBlZmZlY3Rfc2Q7XHJcbiAgICAgICAgfS5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAgICAgdGhpcy5sb2FkaW5nX3RhZy5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9FTkQsIGZ1bmN0aW9uKGV2ZW50KSB7XHJcbiAgICAgICAgICAgIC8vIOWIpOaWreaYr+WQpuWcqOaWsOaJi+W8leWvvOWSjOWJp+aDheS4rVxyXG4gICAgICAgICAgICBpZiAoR3VpZGVDb250cm9sbGVyLmdldEluc3RhbmNlKCkuaXNJbkd1aWRlKCkgfHwgU3RvcnlDb250cm9sbGVyLmdldEluc3RhbmNlKCkuaXNJblN0b3J5KCkpIHJldHVybjtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRvdWNoX2VmZnRjdF9zayAmJiB0aGlzLnRvdWNoX2VmZmVjdF9uZCkge1xyXG4gICAgICAgICAgICAgICAgdmFyIHBvcyA9IGV2ZW50LnRvdWNoLmdldExvY2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB2YXIgdGFyX3BvcyA9IHRoaXMubG9hZGluZ190YWcuY29udmVydFRvTm9kZVNwYWNlQVIocG9zKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudG91Y2hfZWZmZWN0X25kLnBvc2l0aW9uID0gdGFyX3BvcztcclxuICAgICAgICAgICAgICAgIHRoaXMudG91Y2hfZWZmdGN0X3NrLnNldEFuaW1hdGlvbigwLCBcImFjdGlvblwiLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCB0aGlzKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZ190YWcuX3RvdWNoTGlzdGVuZXIpXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ190YWcuX3RvdWNoTGlzdGVuZXIuc2V0U3dhbGxvd1RvdWNoZXMoZmFsc2UpO1xyXG4gICAgfSxcclxuXHJcbiAgICBpbml0V2FpdGluZ1ZpZXc6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHZhciBtYXNrX25kID0gdGhpcy5tYXNrX25kID0gbmV3IGNjLk5vZGUoKTtcclxuICAgICAgICBtYXNrX25kLnNldENvbnRlbnRTaXplKHRoaXMubG9hZGluZ190YWcuZ2V0Q29udGVudFNpemUoKSk7XHJcblxyXG4gICAgICAgIGlmICh3aW5kb3cuaXNNb2JpbGUgJiYgd2luZG93LkZJVF9IRUlER0hUKSB7XHJcbiAgICAgICAgICAgIG1hc2tfbmQuc2NhbGUgPSBGSVRfU0NBTEU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmxvYWRpbmdfdGFnLmFkZENoaWxkKG1hc2tfbmQpO1xyXG5cclxuICAgICAgICB0aGlzLnRvdWNoX2Jsb2NrID0gbWFza19uZC5hZGRDb21wb25lbnQoY2MuQmxvY2tJbnB1dEV2ZW50cyk7XHJcblxyXG4gICAgICAgIHZhciBncmFwaGljc19jcCA9IHRoaXMud2FpdGludF9tYXNrID0gbWFza19uZC5hZGRDb21wb25lbnQoY2MuR3JhcGhpY3MpO1xyXG4gICAgICAgIGdyYXBoaWNzX2NwLmNsZWFyKCk7XHJcbiAgICAgICAgZ3JhcGhpY3NfY3AuZmlsbENvbG9yID0gY2MuY29sb3IoMCwgMCwgMCwgMTY4KTtcclxuICAgICAgICBncmFwaGljc19jcC5yZWN0KC0wLjUgKiBtYXNrX25kLndpZHRoLCAtMC41ICogKG1hc2tfbmQuaGVpZ2h0ICogRklUX1NDQUxFKSwgbWFza19uZC53aWR0aCwgbWFza19uZC5oZWlnaHQgKiBGSVRfU0NBTEUpO1xyXG4gICAgICAgIGdyYXBoaWNzX2NwLmZpbGwoKTtcclxuXHJcbiAgICAgICAgdmFyIHNrZWxldG9uX25kID0gdGhpcy5za2VsZXRvbl9uZCAgPSBuZXcgY2MuTm9kZSgpO1xyXG4gICAgICAgIHRoaXMubWFza19uZC5hZGRDaGlsZChza2VsZXRvbl9uZCk7XHJcbiAgICAgICAgdmFyIHdhaXRpbmdfc2sgPSB0aGlzLndhaXRpbmdfc2sgPSBza2VsZXRvbl9uZC5hZGRDb21wb25lbnQoc3AuU2tlbGV0b24pO1xyXG4gICAgICAgIExvYWRlck1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5sb2FkUmVzKFwic3BpbmUvRTUxMDA2L2FjdGlvblwiICsgXCIuYXRsYXNcIiwgZnVuY3Rpb24od2FpdGluZ19zZCkge1xyXG4gICAgICAgICAgICB0aGlzLndhaXRpbmdfc2suc2tlbGV0b25EYXRhID0gd2FpdGluZ19zZDtcclxuICAgICAgICB9LmJpbmQodGhpcykpO1xyXG5cclxuICAgICAgICBtYXNrX25kLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG91Y2hfYmxvY2suZW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIHNrZWxldG9uX25kLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgfSxcclxuXHJcbiAgICAvLyDmm7TmlrDnrYnlvoXnlYzpnaLnirbmgIFcclxuICAgIHVwZGF0ZVdhaXRpbmdTdGF0dXM6IGZ1bmN0aW9uKHN0YXR1cykge1xyXG4gICAgICAgIGlmICh0aGlzLl93YWl0aW5nX3N0YXR1cyA9PT0gc3RhdHVzKSByZXR1cm47XHJcbiAgICAgICAgaWYgKHN0YXR1cyAmJiB0aGlzLndhaXRpbmdfc2suc2tlbGV0b25EYXRhKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWFza19uZC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uX25kLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG91Y2hfYmxvY2suZW5hYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmIChzdGF0dXMgPT0gV2FpdGluZ1N0YXVzLkNPTk5FQ1QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMud2FpdGluZ19zay5zZXRBbmltYXRpb24oMCwgXCJhY3Rpb25cIiwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09IFdhaXRpbmdTdGF1cy5MT0FESU5HKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndhaXRpbmdfc2suc2V0QW5pbWF0aW9uKDAsIFwiYWN0aW9uMVwiLCB0cnVlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FuY2xlX3RpbWVyID0gZ2NvcmUuVGltZXIuc2V0KGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl93YWl0aW5nX3N0YXR1cyA9PSBXYWl0aW5nU3RhdXMuTE9BRElORykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVdhaXRpbmdTdGF0dXMoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgNjAwMCwgMSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubWFza19uZC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5za2VsZXRvbl9uZC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY2FuY2xlX3RpbWVyKSB7XHJcbiAgICAgICAgICAgICAgICBnY29yZS5UaW1lci5kZWwodGhpcy5jYW5jbGVfdGltZXIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jbGVfdGltZXIgPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3dhaXRpbmdfc3RhdHVzID0gc3RhdHVzO1xyXG4gICAgfSxcclxuXHJcbiAgICBzaG93RnJhbWU6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHRoaXMuZmlsbGVfbmQuYWN0aXZlID0gdHJ1ZTtcclxuICAgIH0sXHJcblxyXG4gICAgZm9yQmlkVG91Y2g6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHRoaXMudG91Y2hfY3AuZW5hYmxlZCA9IHRydWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGNhbmNlbFRvdWNoOiBmdW5jdGlvbigpIHtcclxuICAgICAgICB0aGlzLnRvdWNoX2NwLmVuYWJsZWQgPSBmYWxzZTsgICAgICAgIFxyXG4gICAgfVxyXG5cclxufSk7XHJcbiJdfQ==