(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/common/commonalertwin.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, '4865ccAO3RNXbVPMI4RA662', 'commonalertwin'); // Scripts/common/commonalertwin.js "use strict"; // -------------------------------------------------------------------- // @author: shiraho@syg.com(必填, 创建模块的人员) // @description: // 通用提示框 //
Create: new Date().toISOString() // -------------------------------------------------------------------- var PathTool = require("pathtool"); var CommonAlertWin = cc.Class({ "extends": BaseView, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("common", "common_alert"); this.viewTag = arguments[0] || SCENE_TAG.dialogue; }, openCallBack: function openCallBack() { this.main_panel = this.root_wnd.getChildByName("main_panel"); this.background = this.seekChild("background"); this.background.scale = FIT_SCALE; this.ok_btn = this.main_panel.getChildByName("ok_btn").getComponent(cc.Button); this.ok_btn_lb = this.seekChild("ok_txt", cc.Label); this.ok_btn_lo = this.seekChild("ok_txt", cc.LabelOutline); this.cancel_btn = this.main_panel.getChildByName("cancel_btn"); this.cancel_btn_lb = this.seekChild("cancel_txt", cc.Label); this.close_btn = this.main_panel.getChildByName("close_btn"); this.title_lb = this.seekChild("title_label", cc.Label); this.aler_des_rt = this.seekChild("aler_des", cc.RichText); this.click_jump_rt = this.seekChild("jumpBtn", cc.RichText); this.ok_btn.node.on("click", this.didClickOkBtn, this); this.cancel_btn.on("click", this.didClickCancleBtn, this); }, registerEvent: function registerEvent() { this.close_btn.on(cc.Node.EventType.TOUCH_END, function (event) { if (this.close_callback) { this.close_callback(); } Utils.playButtonSound(2); this.close(); }.bind(this)); }, openRootWnd: function openRootWnd(params) { this.aler_des_rt.string = params.str; var resArr = []; if (params.other_args && params.other_args.resArr) { resArr = params.other_args.resArr; } if (resArr && resArr.length > 0) { for (var i = 0; i < resArr.length; ++i) { this.loadRes(resArr[i], function (resObject) { this.aler_des_rt.addSpriteFrame(resObject); }.bind(this)); } } if (params.confirm_label) this.ok_btn_lb.string = params.confirm_label; if (params.cancel_label) this.cancel_btn_lb.string = params.cancel_label; this.confirm_callback = params.confirm_callback; this.cancel_callback = params.cancel_callback; this.close_callback = params.close_callback; this.main_panel.runAction(cc.scaleTo(0.1, 1)); if (params.other_args && params.other_args.title) { this.title_lb.string = params.other_args.title; } if (params.other_args && params.other_args.extend_str) { this.aler_des_rt.node.y = 44; if (params.other_args.callFunc) { this.click_jump_rt.addTouchHandler("handler", params.other_args.callFunc); } this.click_jump_rt.string = params.other_args.extend_str; } if (params.other_args && params.other_args.maxWidth) { this.aler_des_rt.maxWidth = params.other_args.maxWidth; } if (params.other_args && params.other_args.align != null) { this.aler_des_rt.horizontalAlign = params.other_args.align; } if (params.other_args && params.other_args.delayS) { this.ok_btn.interactable = false; this.ok_btn.enableAutoGrayEffect = true; var s = params.other_args.delayS; var self = this; if (s > 0) { this.ok_btn_lo.color = new cc.Color(125, 125, 125); self.ok_btn_lb.string = params.confirm_label + "(" + s + ")"; this.ok_btn.schedule(function () { s--; if (s <= 0) { self.ok_btn_lo.color = new cc.Color(106, 43, 0); self.ok_btn.unscheduleAllCallbacks(); self.ok_btn.interactable = true; self.ok_btn.enableAutoGrayEffect = false; self.ok_btn_lb.string = params.confirm_label; } else { self.ok_btn_lb.string = params.confirm_label + "(" + s + ")"; } }, 1); } } }, closeCallBack: function closeCallBack() { this.ok_btn.unscheduleAllCallbacks(); }, didClickOkBtn: function didClickOkBtn() { Utils.playButtonSound(1); this.close(); if (this.confirm_callback) this.confirm_callback(); }, didClickCancleBtn: function didClickCancleBtn() { Utils.playButtonSound(1); this.close(); if (this.cancel_callback) this.cancel_callback(); } }); module.exports = CommonAlertWin; 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcY29tbW9uXFxjb21tb25hbGVydHdpbi5qcyJdLCJuYW1lcyI6WyJQYXRoVG9vbCIsInJlcXVpcmUiLCJDb21tb25BbGVydFdpbiIsImNjIiwiQ2xhc3MiLCJCYXNlVmlldyIsImN0b3IiLCJwcmVmYWJQYXRoIiwiZ2V0UHJlZmFiUGF0aCIsInZpZXdUYWciLCJhcmd1bWVudHMiLCJTQ0VORV9UQUciLCJkaWFsb2d1ZSIsIm9wZW5DYWxsQmFjayIsIm1haW5fcGFuZWwiLCJyb290X3duZCIsImdldENoaWxkQnlOYW1lIiwiYmFja2dyb3VuZCIsInNlZWtDaGlsZCIsInNjYWxlIiwiRklUX1NDQUxFIiwib2tfYnRuIiwiZ2V0Q29tcG9uZW50IiwiQnV0dG9uIiwib2tfYnRuX2xiIiwiTGFiZWwiLCJva19idG5fbG8iLCJMYWJlbE91dGxpbmUiLCJjYW5jZWxfYnRuIiwiY2FuY2VsX2J0bl9sYiIsImNsb3NlX2J0biIsInRpdGxlX2xiIiwiYWxlcl9kZXNfcnQiLCJSaWNoVGV4dCIsImNsaWNrX2p1bXBfcnQiLCJub2RlIiwib24iLCJkaWRDbGlja09rQnRuIiwiZGlkQ2xpY2tDYW5jbGVCdG4iLCJyZWdpc3RlckV2ZW50IiwiTm9kZSIsIkV2ZW50VHlwZSIsIlRPVUNIX0VORCIsImV2ZW50IiwiY2xvc2VfY2FsbGJhY2siLCJVdGlscyIsInBsYXlCdXR0b25Tb3VuZCIsImNsb3NlIiwiYmluZCIsIm9wZW5Sb290V25kIiwicGFyYW1zIiwic3RyaW5nIiwic3RyIiwicmVzQXJyIiwib3RoZXJfYXJncyIsImxlbmd0aCIsImkiLCJsb2FkUmVzIiwicmVzT2JqZWN0IiwiYWRkU3ByaXRlRnJhbWUiLCJjb25maXJtX2xhYmVsIiwiY2FuY2VsX2xhYmVsIiwiY29uZmlybV9jYWxsYmFjayIsImNhbmNlbF9jYWxsYmFjayIsInJ1bkFjdGlvbiIsInNjYWxlVG8iLCJ0aXRsZSIsImV4dGVuZF9zdHIiLCJ5IiwiY2FsbEZ1bmMiLCJhZGRUb3VjaEhhbmRsZXIiLCJtYXhXaWR0aCIsImFsaWduIiwiaG9yaXpvbnRhbEFsaWduIiwiZGVsYXlTIiwiaW50ZXJhY3RhYmxlIiwiZW5hYmxlQXV0b0dyYXlFZmZlY3QiLCJzIiwic2VsZiIsImNvbG9yIiwiQ29sb3IiLCJzY2hlZHVsZSIsInVuc2NoZWR1bGVBbGxDYWxsYmFja3MiLCJjbG9zZUNhbGxCYWNrIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUVBLElBQUlDLGNBQWMsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDMUIsYUFBU0MsUUFEaUI7QUFHMUJDLEVBQUFBLElBQUksRUFBQyxnQkFBVTtBQUNYLFNBQUtDLFVBQUwsR0FBa0JQLFFBQVEsQ0FBQ1EsYUFBVCxDQUF1QixRQUF2QixFQUFpQyxjQUFqQyxDQUFsQjtBQUNBLFNBQUtDLE9BQUwsR0FBZUMsU0FBUyxDQUFDLENBQUQsQ0FBVCxJQUFnQkMsU0FBUyxDQUFDQyxRQUF6QztBQUNILEdBTnlCO0FBUTFCQyxFQUFBQSxZQUFZLEVBQUUsd0JBQVk7QUFDdEIsU0FBS0MsVUFBTCxHQUFxQixLQUFLQyxRQUFMLENBQWNDLGNBQWQsQ0FBNkIsWUFBN0IsQ0FBckI7QUFDQSxTQUFLQyxVQUFMLEdBQXFCLEtBQUtDLFNBQUwsQ0FBZSxZQUFmLENBQXJCO0FBQ0EsU0FBS0QsVUFBTCxDQUFnQkUsS0FBaEIsR0FBd0JDLFNBQXhCO0FBQ0EsU0FBS0MsTUFBTCxHQUFxQixLQUFLUCxVQUFMLENBQWdCRSxjQUFoQixDQUErQixRQUEvQixFQUF5Q00sWUFBekMsQ0FBc0RuQixFQUFFLENBQUNvQixNQUF6RCxDQUFyQjtBQUNBLFNBQUtDLFNBQUwsR0FBcUIsS0FBS04sU0FBTCxDQUFlLFFBQWYsRUFBeUJmLEVBQUUsQ0FBQ3NCLEtBQTVCLENBQXJCO0FBQ0Es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QUFlMkIsTUFBZixHQUF3QkQsTUFBTSxDQUFDVSxhQUFQLEdBQXVCLEdBQXZCLEdBQTZCaUIsQ0FBN0IsR0FBaUMsR0FBekQ7QUFDSDtBQUNKLFNBWEQsRUFXRSxDQVhGO0FBWUg7QUFFSjtBQUNKLEdBbEd5QjtBQW9HMUJNLEVBQUFBLGFBQWEsRUFBRSx5QkFBWTtBQUN2QixTQUFLOUQsTUFBTCxDQUFZNkQsc0JBQVo7QUFDSCxHQXRHeUI7QUF3RzFCN0MsRUFBQUEsYUFBYSxFQUFFLHlCQUFXO0FBQ3RCUSxJQUFBQSxLQUFLLENBQUNDLGVBQU4sQ0FBc0IsQ0FBdEI7QUFDQSxTQUFLQyxLQUFMO0FBQ0EsUUFBSSxLQUFLZSxnQkFBVCxFQUEyQixLQUFLQSxnQkFBTDtBQUM5QixHQTVHeUI7QUE4RzFCeEIsRUFBQUEsaUJBQWlCLEVBQUUsNkJBQVc7QUFDMUJPLElBQUFBLEtBQUssQ0FBQ0MsZUFBTixDQUFzQixDQUF0QjtBQUNBLFNBQUtDLEtBQUw7QUFDQSxRQUFJLEtBQUtnQixlQUFULEVBQTBCLEtBQUtBLGVBQUw7QUFDN0I7QUFsSHlCLENBQVQsQ0FBckI7QUFxSEFxQixNQUFNLENBQUNDLE9BQVAsR0FBaUJuRixjQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHNoaXJhaG9Ac3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICAg6YCa55So5o+Q56S65qGGXG4vLyA8YnIvPkNyZWF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgUGF0aFRvb2wgPSByZXF1aXJlKFwicGF0aHRvb2xcIik7XG5cbnZhciBDb21tb25BbGVydFdpbiA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlVmlldyxcblxuICAgIGN0b3I6ZnVuY3Rpb24oKXtcbiAgICAgICAgdGhpcy5wcmVmYWJQYXRoID0gUGF0aFRvb2wuZ2V0UHJlZmFiUGF0aChcImNvbW1vblwiLCBcImNvbW1vbl9hbGVydFwiKTtcbiAgICAgICAgdGhpcy52aWV3VGFnID0gYXJndW1lbnRzWzBdIHx8IFNDRU5FX1RBRy5kaWFsb2d1ZTtcbiAgICB9LFxuXG4gICAgb3BlbkNhbGxCYWNrOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMubWFpbl9wYW5lbCAgICA9IHRoaXMucm9vdF93bmQuZ2V0Q2hpbGRCeU5hbWUoXCJtYWluX3BhbmVsXCIpO1xuICAgICAgICB0aGlzLmJhY2tncm91bmQgICAgPSB0aGlzLnNlZWtDaGlsZChcImJhY2tncm91bmRcIik7XG4gICAgICAgIHRoaXMuYmFja2dyb3VuZC5zY2FsZSA9IEZJVF9TQ0FMRTtcbiAgICAgICAgdGhpcy5va19idG4gICAgICAgID0gdGhpcy5tYWluX3BhbmVsLmdldENoaWxkQnlOYW1lKFwib2tfYnRuXCIpLmdldENvbXBvbmVudChjYy5CdXR0b24pO1xuICAgICAgICB0aGlzLm9rX2J0bl9sYiAgICAgPSB0aGlzLnNlZWtDaGlsZChcIm9rX3R4dFwiLCBjYy5MYWJlbCk7XG4gICAgICAgIHRoaXMub2tfYnRuX2xvICAgICA9IHRoaXMuc2Vla0NoaWxkKFwib2tfdHh0XCIsIGNjLkxhYmVsT3V0bGluZSk7XG4gICAgICAgIHRoaXMuY2FuY2VsX2J0biAgICA9IHRoaXMubWFpbl9wYW5lbC5nZXRDaGlsZEJ5TmFtZShcImNhbmNlbF9idG5cIik7XG4gICAgICAgIHRoaXMuY2FuY2VsX2J0bl9sYiA9IHRoaXMuc2Vla0NoaWxkKFwiY2FuY2VsX3R4dFwiLCBjYy5MYWJlbCk7XG4gICAgICAgIHRoaXMuY2xvc2VfYnRuICAgICA9IHRoaXMubWFpbl9wYW5lbC5nZXRDaGlsZEJ5TmFtZShcImNsb3NlX2J0blwiKTtcbiAgICAgICAgdGhpcy50aXRsZV9sYiAgICAgICA9IHRoaXMuc2Vla0NoaWxkKFwidGl0bGVfbGFiZWxcIixjYy5MYWJlbClcbiAgICAgICAgdGhpcy5hbGVyX2Rlc19ydCAgID0gdGhpcy5zZWVrQ2hpbGQoXCJhbGVyX2Rlc1wiLCBjYy5SaWNoVGV4dCk7XG5cbiAgICAgICAgdGhpcy5jbGlja19qdW1wX3J0ID0gdGhpcy5zZWVrQ2hpbGQoXCJqdW1wQnRuXCIsY2MuUmljaFRleHQpXG5cbiAgICAgICAgdGhpcy5va19idG4ubm9kZS5vbihcImNsaWNrXCIsIHRoaXMuZGlkQ2xpY2tPa0J0biwgdGhpcyk7XG4gICAgICAgIHRoaXMuY2FuY2VsX2J0bi5vbihcImNsaWNrXCIsIHRoaXMuZGlkQ2xpY2tDYW5jbGVCdG4sIHRoaXMpO1xuICAgIH0sXG5cbiAgICByZWdpc3RlckV2ZW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuY2xvc2VfYnRuLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgKGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgaWYodGhpcy5jbG9zZV9jYWxsYmFjayl7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZV9jYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgVXRpbHMucGxheUJ1dHRvblNvdW5kKDIpXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0pLmJpbmQodGhpcykpXG4gICAgfSxcblxuICAgIG9wZW5Sb290V25kOiBmdW5jdGlvbihwYXJhbXMpIHtcbiAgICAgICAgdGhpcy5hbGVyX2Rlc19ydC5zdHJpbmcgPSBwYXJhbXMuc3RyO1xuICAgICAgICB2YXIgcmVzQXJyID0gW107XG4gICAgICAgIGlmKHBhcmFtcy5vdGhlcl9hcmdzICYmIHBhcmFtcy5vdGhlcl9hcmdzLnJlc0Fycil7XG4gICAgICAgICAgICByZXNBcnIgPSBwYXJhbXMub3RoZXJfYXJncy5yZXNBcnI7XG4gICAgICAgIH1cblxuICAgICAgICBpZihyZXNBcnIgJiYgcmVzQXJyLmxlbmd0aD4wKXtcbiAgICAgICAgICAgIGZvcihsZXQgaT0wO2k8cmVzQXJyLmxlbmd0aDsrK2kpe1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZFJlcyhyZXNBcnJbaV0sIChmdW5jdGlvbihyZXNPYmplY3Qpe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJfZGVzX3J0LmFkZFNwcml0ZUZyYW1lKHJlc09iamVjdCk7XG4gICAgICAgICAgICAgICAgfSkuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyYW1zLmNvbmZpcm1fbGFiZWwpIHRoaXMub2tfYnRuX2xiLnN0cmluZyA9IHBhcmFtcy5jb25maXJtX2xhYmVsO1xuICAgICAgICBpZiAocGFyYW1zLmNhbmNlbF9sYWJlbCkgdGhpcy5jYW5jZWxfYnRuX2xiLnN0cmluZyA9IHBhcmFtcy5jYW5jZWxfbGFiZWw7XG4gICAgICAgIHRoaXMuY29uZmlybV9jYWxsYmFjayA9IHBhcmFtcy5jb25maXJtX2NhbGxiYWNrO1xuICAgICAgICB0aGlzLmNhbmNlbF9jYWxsYmFjayA9IHBhcmFtcy5jYW5jZWxfY2FsbGJhY2s7XG4gICAgICAgIHRoaXMuY2xvc2VfY2FsbGJhY2sgPSBwYXJhbXMuY2xvc2VfY2FsbGJhY2s7XG5cbiAgICAgICAgdGhpcy5tYWluX3BhbmVsLnJ1bkFjdGlvbihjYy5zY2FsZVRvKDAuMSwgMSkpXG4gICAgICAgIGlmKHBhcmFtcy5vdGhlcl9hcmdzICYmIHBhcmFtcy5vdGhlcl9hcmdzLnRpdGxlKXtcbiAgICAgICAgICAgIHRoaXMudGl0bGVfbGIuc3RyaW5nID0gcGFyYW1zLm90aGVyX2FyZ3MudGl0bGU7XG4gICAgICAgIH1cbiAgICAgICAgaWYocGFyYW1zLm90aGVyX2FyZ3MgJiYgcGFyYW1zLm90aGVyX2FyZ3MuZXh0ZW5kX3N0cil7XG4gICAgICAgICAgICB0aGlzLmFsZXJfZGVzX3J0Lm5vZGUueSA9IDQ0XG4gICAgICAgICAgICBpZihwYXJhbXMub3RoZXJfYXJncy5jYWxsRnVuYyl7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGlja19qdW1wX3J0LmFkZFRvdWNoSGFuZGxlcihcImhhbmRsZXJcIixwYXJhbXMub3RoZXJfYXJncy5jYWxsRnVuYylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2xpY2tfanVtcF9ydC5zdHJpbmcgPSBwYXJhbXMub3RoZXJfYXJncy5leHRlbmRfc3RyO1xuICAgICAgICB9XG4gICAgICAgIGlmKHBhcmFtcy5vdGhlcl9hcmdzICYmIHBhcmFtcy5vdGhlcl9hcmdzLm1heFdpZHRoKXtcbiAgICAgICAgICAgIHRoaXMuYWxlcl9kZXNfcnQubWF4V2lkdGggPSBwYXJhbXMub3RoZXJfYXJncy5tYXhXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBpZihwYXJhbXMub3RoZXJfYXJncyAmJiBwYXJhbXMub3RoZXJfYXJncy5hbGlnbiAhPSBudWxsKXtcbiAgICAgICAgICAgIHRoaXMuYWxlcl9kZXNfcnQuaG9yaXpvbnRhbEFsaWduID0gcGFyYW1zLm90aGVyX2FyZ3MuYWxpZ247XG4gICAgICAgIH1cbiAgICAgICAgaWYocGFyYW1zLm90aGVyX2FyZ3MgJiYgcGFyYW1zLm90aGVyX2FyZ3MuZGVsYXlTKXtcbiAgICAgICAgICAgIHRoaXMub2tfYnRuLmludGVyYWN0YWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5va19idG4uZW5hYmxlQXV0b0dyYXlFZmZlY3QgPSB0cnVlO1xuICAgICAgICAgICAgbGV0IHMgPSBwYXJhbXMub3RoZXJfYXJncy5kZWxheVNcbiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpc1xuICAgICAgICAgICAgaWYocyA+IDApe1xuICAgICAgICAgICAgICAgIHRoaXMub2tfYnRuX2xvLmNvbG9yID0gbmV3IGNjLkNvbG9yKDEyNSwxMjUsMTI1KVxuICAgICAgICAgICAgICAgIHNlbGYub2tfYnRuX2xiLnN0cmluZyA9IHBhcmFtcy5jb25maXJtX2xhYmVsICsgXCIoXCIgKyBzICsgXCIpXCI7XG4gICAgICAgICAgICAgICAgdGhpcy5va19idG4uc2NoZWR1bGUoZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgcy0tXG4gICAgICAgICAgICAgICAgICAgIGlmKHMgPD0gMCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm9rX2J0bl9sby5jb2xvciA9IG5ldyBjYy5Db2xvcigxMDYsNDMsMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm9rX2J0bi51bnNjaGVkdWxlQWxsQ2FsbGJhY2tzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm9rX2J0bi5pbnRlcmFjdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5va19idG4uZW5hYmxlQXV0b0dyYXlFZmZlY3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYub2tfYnRuX2xiLnN0cmluZyA9IHBhcmFtcy5jb25maXJtX2xhYmVsO1xuICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYub2tfYnRuX2xiLnN0cmluZyA9IHBhcmFtcy5jb25maXJtX2xhYmVsICsgXCIoXCIgKyBzICsgXCIpXCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LDEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBjbG9zZUNhbGxCYWNrOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMub2tfYnRuLnVuc2NoZWR1bGVBbGxDYWxsYmFja3MoKTtcbiAgICB9LFxuXG4gICAgZGlkQ2xpY2tPa0J0bjogZnVuY3Rpb24oKSB7XG4gICAgICAgIFV0aWxzLnBsYXlCdXR0b25Tb3VuZCgxKVxuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpcm1fY2FsbGJhY2spIHRoaXMuY29uZmlybV9jYWxsYmFjaygpO1xuICAgIH0sXG5cbiAgICBkaWRDbGlja0NhbmNsZUJ0bjogZnVuY3Rpb24oKSB7XG4gICAgICAgIFV0aWxzLnBsYXlCdXR0b25Tb3VuZCgxKVxuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIGlmICh0aGlzLmNhbmNlbF9jYWxsYmFjaykgdGhpcy5jYW5jZWxfY2FsbGJhY2soKTtcbiAgICB9LFxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gQ29tbW9uQWxlcnRXaW47XG4iXX0=