difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
 
                (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:
//      通用提示框
// <br/>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=