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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/limitexercise/limitexercise_controller.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, 'f8a8cOctShCb5V2PuPgXYZN', 'limitexercise_controller');
// Scripts/mod/limitexercise/limitexercise_controller.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//      试炼之境
// <br/>Create: 2019-09-09 19:11:57
// --------------------------------------------------------------------
var LimitExerciseEvent = require("limitexercise_event");
 
var LimitexerciseController = cc.Class({
  "extends": BaseController,
  ctor: function ctor() {},
  // 初始化配置数据
  initConfig: function initConfig() {
    var LimitexerciseModel = require("limitexercise_model");
 
    this.model = new LimitexerciseModel();
    this.model.initConfig();
  },
  // 返回当前的model
  getModel: function getModel() {
    return this.model;
  },
  // 注册监听事件
  registerEvents: function registerEvents() {},
  // 注册协议接受事件
  registerProtocals: function registerProtocals() {
    // this.RegisterProtocal(1110, this.on1110);
    this.RegisterProtocal(25410, this.handle25410);
    this.RegisterProtocal(25411, this.handle25411);
    this.RegisterProtocal(25412, this.handle25412);
    this.RegisterProtocal(25413, this.handle25413);
    this.RegisterProtocal(25414, this.handle25414);
  },
  // --活动boss信息
  send25410: function send25410() {
    this.SendProtocal(25410, {});
  },
  handle25410: function handle25410(data) {
    this.model.setLimitExerciseData(data);
    gcore.GlobalEvent.fire(LimitExerciseEvent.LimitExercise_Message_Event, data);
  },
  //购买挑战次数
  send25411: function send25411() {
    this.SendProtocal(25411, {});
  },
  handle25411: function handle25411(data) {
    message(data.msg);
 
    if (data.code == 1) {
      this.model.setChangeCount(data.count, data.buy_count);
 
      if (this.touch_buy_change && data.count == 1) {
        this.send25413();
      }
 
      this.touch_buy_change = null;
      gcore.GlobalEvent.fire(LimitExerciseEvent.LimitExercise_BuyCount_Event, data);
    }
  },
  //当挑战次数为0的时候,可以根据购买次数是否为0来判断出战
  checkJoinFight: function checkJoinFight() {
    var const_data = Config.holiday_boss_new_data.data_const;
    if (!const_data) return;
    var max_count = const_data.fight_buy_max_count.val;
    var cur_count = this.model.getDayBuyCount();
    var remain_count = this.model.getReaminCount(); // cc.log("max_count,cur_count,remain_count",max_count,cur_count,remain_count)
 
    if (cur_count >= max_count && remain_count == 0) {
      message(Utils.TI18N("今日次数已用完~~"));
    } else {
      if (remain_count <= 0) {
        var CommonAlert = require("commonalert");
 
        var str = cc.js.formatStr("是否花费<img src='%s' scale=0.3 />%s购买一次挑战次数?", Config.item_data.data_assets_label2id.gold, const_data.action_num_espensive.val);
        var res = PathTool.getItemRes(Config.item_data.data_assets_label2id.gold);
 
        var call_back = function () {
          this.touch_buy_change = true;
          this.send25411();
        }.bind(this);
 
        CommonAlert.show(str, Utils.TI18N("确认"), call_back, Utils.TI18N("取消"), null, 2, null, {
          resArr: [res]
        });
      } else {
        this.send25413();
      }
    }
  },
  send25412: function send25412() {
    this.SendProtocal(25412, {});
  },
  handle25412: function handle25412(data) {
    message(data.msg);
    gcore.GlobalEvent.fire(LimitExerciseEvent.LimitExercise_GetBox_Event, data);
  },
  // 挑战活动boss
  send25413: function send25413() {
    this.SendProtocal(25413, {});
  },
  handle25413: function handle25413(data) {
    message(data.msg);
 
    if (data.code == 1) {
      var HeroController = require("hero_controller");
 
      HeroController.getInstance().openFormGoFightPanel(false);
    }
  },
  //当前伙伴已使用次数
  send25414: function send25414() {
    this.SendProtocal(25414, {});
  },
  handle25414: function handle25414(data) {
    this.model.setHeroUseId(data.p_list);
  },
  openLimitExerciseChangeView: function openLimitExerciseChangeView(status) {
    if (status == true) {
      if (!this.limit_exercise_view) {
        var LimitExerciseChangeWindow = require("limitexercise_change_window");
 
        this.limit_exercise_view = new LimitExerciseChangeWindow(this);
      }
 
      this.limit_exercise_view.open();
    } else {
      if (this.limit_exercise_view) {
        this.limit_exercise_view.close();
        this.limit_exercise_view = null;
      }
    }
  },
  //打开查看奖励界面
  openLimitExerciseRewardView: function openLimitExerciseRewardView(status) {
    if (status == true) {
      if (!this.open_reward_view) {
        var LimitExerciseRewardWindow = require("limitexercise_reward_window");
 
        this.open_reward_view = new LimitExerciseRewardWindow(this);
      }
 
      this.open_reward_view.open();
    } else {
      if (this.open_reward_view) {
        this.open_reward_view.close();
        this.open_reward_view = null;
      }
    }
  }
});
module.exports = LimitexerciseController;
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxsaW1pdGV4ZXJjaXNlXFxsaW1pdGV4ZXJjaXNlX2NvbnRyb2xsZXIuanMiXSwibmFtZXMiOlsiTGltaXRFeGVyY2lzZUV2ZW50IiwicmVxdWlyZSIsIkxpbWl0ZXhlcmNpc2VDb250cm9sbGVyIiwiY2MiLCJDbGFzcyIsIkJhc2VDb250cm9sbGVyIiwiY3RvciIsImluaXRDb25maWciLCJMaW1pdGV4ZXJjaXNlTW9kZWwiLCJtb2RlbCIsImdldE1vZGVsIiwicmVnaXN0ZXJFdmVudHMiLCJyZWdpc3RlclByb3RvY2FscyIsIlJlZ2lzdGVyUHJvdG9jYWwiLCJoYW5kbGUyNTQxMCIsImhhbmRsZTI1NDExIiwiaGFuZGxlMjU0MTIiLCJoYW5kbGUyNTQxMyIsImhhbmRsZTI1NDE0Iiwic2VuZDI1NDEwIiwiU2VuZFByb3RvY2FsIiwiZGF0YSIsInNldExpbWl0RXhlcmNpc2VEYXRhIiwiZ2NvcmUiLCJHbG9iYWxFdmVudCIsImZpcmUiLCJMaW1pdEV4ZXJjaXNlX01lc3NhZ2VfRXZlbnQiLCJzZW5kMjU0MTEiLCJtZXNzYWdlIiwibXNnIiwiY29kZSIsInNldENoYW5nZUNvdW50IiwiY291bnQiLCJidXlfY291bnQiLCJ0b3VjaF9idXlfY2hhbmdlIiwic2VuZDI1NDEzIiwiTGltaXRFeGVyY2lzZV9CdXlDb3VudF9FdmVudCIsImNoZWNrSm9pbkZpZ2h0IiwiY29uc3RfZGF0YSIsIkNvbmZpZyIsImhvbGlkYXlfYm9zc19uZXdfZGF0YSIsImRhdGFfY29uc3QiLCJtYXhfY291bnQiLCJmaWdodF9idXlfbWF4X2NvdW50IiwidmFsIiwiY3VyX2NvdW50IiwiZ2V0RGF5QnV5Q291bnQiLCJyZW1haW5fY291bnQiLCJnZXRSZWFtaW5Db3VudCIsIlV0aWxzIiwiVEkxOE4iLCJDb21tb25BbGVydCIsInN0ciIsImpzIiwiZm9ybWF0U3RyIiwiaXRlbV9kYXRhIiwiZGF0YV9hc3NldHNfbGFiZWwyaWQiLCJnb2xkIiwiYWN0aW9uX251bV9lc3BlbnNpdmUiLCJyZXMiLCJQYXRoVG9vbCIsImdldEl0ZW1SZXMiLCJjYWxsX2JhY2siLCJiaW5kIiwic2hvdyIsInJlc0FyciIsInNlbmQyNTQxMiIsIkxpbWl0RXhlcmNpc2VfR2V0Qm94X0V2ZW50IiwiSGVyb0NvbnRyb2xsZXIiLCJnZXRJbnN0YW5jZSIsIm9wZW5Gb3JtR29GaWdodFBhbmVsIiwic2VuZDI1NDE0Iiwic2V0SGVyb1VzZUlkIiwicF9saXN0Iiwib3BlbkxpbWl0RXhlcmNpc2VDaGFuZ2VWaWV3Iiwic3RhdHVzIiwibGltaXRfZXhlcmNpc2VfdmlldyIsIkxpbWl0RXhlcmNpc2VDaGFuZ2VXaW5kb3ciLCJvcGVuIiwiY2xvc2UiLCJvcGVuTGltaXRFeGVyY2lzZVJld2FyZFZpZXciLCJvcGVuX3Jld2FyZF92aWV3IiwiTGltaXRFeGVyY2lzZVJld2FyZFdpbmRvdyIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsa0JBQWtCLEdBQUdDLE9BQU8sQ0FBQyxxQkFBRCxDQUFoQzs7QUFDQSxJQUFJQyx1QkFBdUIsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDbkMsYUFBU0MsY0FEMEI7QUFFbkNDLEVBQUFBLElBQUksRUFBRSxnQkFBWSxDQUNqQixDQUhrQztBQUtuQztBQUNBQyxFQUFBQSxVQUFVLEVBQUUsc0JBQVk7QUFDcEIsUUFBSUMsa0JBQWtCLEdBQUdQLE9BQU8sQ0FBQyxxQkFBRCxDQUFoQzs7QUFFQSxTQUFLUSxLQUFMLEdBQWEsSUFBSUQsa0JBQUosRUFBYjtBQUNBLFNBQUtDLEtBQUwsQ0FBV0YsVUFBWDtBQUNILEdBWGtDO0FBYW5DO0FBQ0FHLEVBQUFBLFFBQVEsRUFBRSxvQkFBWTtBQUNsQixXQUFPLEtBQUtELEtBQVo7QUFDSCxHQWhCa0M7QUFrQm5DO0FBQ0FFLEVBQUFBLGNBQWMsRUFBRSwwQkFBWSxDQUMzQixDQXBCa0M7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V0FBS0QsZ0JBQUwsQ0FBc0JILElBQXRCO0FBQ0gsS0FORCxNQU1LO0FBQ0QsVUFBRyxLQUFLRyxnQkFBUixFQUF5QjtBQUNyQixhQUFLQSxnQkFBTCxDQUFzQkYsS0FBdEI7QUFDQSxhQUFLRSxnQkFBTCxHQUF3QixJQUF4QjtBQUNIO0FBQ0o7QUFDSjtBQXJJa0MsQ0FBVCxDQUE5QjtBQXdJQUUsTUFBTSxDQUFDQyxPQUFQLEdBQWlCbEYsdUJBQWpCIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGF1dGhvcjogeHh4QHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXG4vLyBAZGVzY3JpcHRpb246XG4vLyAgICAgIOivleeCvOS5i+Wig1xuLy8gPGJyLz5DcmVhdGU6IDIwMTktMDktMDkgMTk6MTE6NTdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgTGltaXRFeGVyY2lzZUV2ZW50ID0gcmVxdWlyZShcImxpbWl0ZXhlcmNpc2VfZXZlbnRcIilcbnZhciBMaW1pdGV4ZXJjaXNlQ29udHJvbGxlciA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlQ29udHJvbGxlcixcbiAgICBjdG9yOiBmdW5jdGlvbiAoKSB7XG4gICAgfSxcblxuICAgIC8vIOWIneWni+WMlumFjee9ruaVsOaNrlxuICAgIGluaXRDb25maWc6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIExpbWl0ZXhlcmNpc2VNb2RlbCA9IHJlcXVpcmUoXCJsaW1pdGV4ZXJjaXNlX21vZGVsXCIpO1xuXG4gICAgICAgIHRoaXMubW9kZWwgPSBuZXcgTGltaXRleGVyY2lzZU1vZGVsKCk7XG4gICAgICAgIHRoaXMubW9kZWwuaW5pdENvbmZpZygpO1xuICAgIH0sXG5cbiAgICAvLyDov5Tlm57lvZPliY3nmoRtb2RlbFxuICAgIGdldE1vZGVsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICAgIH0sXG5cbiAgICAvLyDms6jlhoznm5HlkKzkuovku7ZcbiAgICByZWdpc3RlckV2ZW50czogZnVuY3Rpb24gKCkge1xuICAgIH0sXG5cbiAgICAvLyDms6jlhozljY/orq7mjqXlj5fkuovku7ZcbiAgICByZWdpc3RlclByb3RvY2FsczogZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMTExMCwgdGhpcy5vbjExMTApO1xuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMjU0MTAsIHRoaXMuaGFuZGxlMjU0MTApXG4gICAgICAgIHRoaXMuUmVnaXN0ZXJQcm90b2NhbCgyNTQxMSwgdGhpcy5oYW5kbGUyNTQxMSlcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDI1NDEyLCB0aGlzLmhhbmRsZTI1NDEyKVxuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMjU0MTMsIHRoaXMuaGFuZGxlMjU0MTMpXG4gICAgICAgIHRoaXMuUmVnaXN0ZXJQcm90b2NhbCgyNTQxNCwgdGhpcy5oYW5kbGUyNTQxNClcbiAgICB9LFxuICAgIC8vIC0t5rS75YqoYm9zc+S/oeaBr1xuICAgIHNlbmQyNTQxMCgpe1xuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgyNTQxMCwge30pXG4gICAgfSxcbiAgICBoYW5kbGUyNTQxMChkYXRhKXtcbiAgICAgICAgdGhpcy5tb2RlbC5zZXRMaW1pdEV4ZXJjaXNlRGF0YShkYXRhKVxuICAgICAgICBnY29yZS5HbG9iYWxFdmVudC5maXJlKExpbWl0RXhlcmNpc2VFdmVudC5MaW1pdEV4ZXJjaXNlX01lc3NhZ2VfRXZlbnQsZGF0YSlcbiAgICB9LFxuICAgIC8v6LSt5Lmw5oyR5oiY5qyh5pWwXG4gICAgc2VuZDI1NDExKCl7XG4gICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDI1NDExLCB7fSlcbiAgICB9LFxuICAgIGhhbmRsZTI1NDExKGRhdGEpe1xuICAgICAgICBtZXNzYWdlKGRhdGEubXNnKVxuICAgICAgICBpZihkYXRhLmNvZGUgPT0gMSl7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNldENoYW5nZUNvdW50KGRhdGEuY291bnQsZGF0YS5idXlfY291bnQpXG4gICAgICAgICAgICBpZih0aGlzLnRvdWNoX2J1eV9jaGFuZ2UgJiYgZGF0YS5jb3VudCA9PSAxKXtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmQyNTQxMygpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRvdWNoX2J1eV9jaGFuZ2UgPSBudWxsXG4gICAgICAgICAgICBnY29yZS5HbG9iYWxFdmVudC5maXJlKExpbWl0RXhlcmNpc2VFdmVudC5MaW1pdEV4ZXJjaXNlX0J1eUNvdW50X0V2ZW50LGRhdGEpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIC8v5b2T5oyR5oiY5qyh5pWw5Li6MOeahOaXtuWAme+8jOWPr+S7peagueaNrui0reS5sOasoeaVsOaYr+WQpuS4ujDmnaXliKTmlq3lh7rmiJhcbiAgICBjaGVja0pvaW5GaWdodCgpe1xuICAgICAgICBsZXQgY29uc3RfZGF0YSA9IENvbmZpZy5ob2xpZGF5X2Jvc3NfbmV3X2RhdGEuZGF0YV9jb25zdFxuICAgICAgICBpZighY29uc3RfZGF0YSkgcmV0dXJuO1xuXG4gICAgICAgIGxldCBtYXhfY291bnQgPSBjb25zdF9kYXRhLmZpZ2h0X2J1eV9tYXhfY291bnQudmFsXG4gICAgICAgIGxldCBjdXJfY291bnQgPSB0aGlzLm1vZGVsLmdldERheUJ1eUNvdW50KClcbiAgICAgICAgbGV0IHJlbWFpbl9jb3VudCA9IHRoaXMubW9kZWwuZ2V0UmVhbWluQ291bnQoKVxuICAgICAgICAvLyBjYy5sb2coXCJtYXhfY291bnQsY3VyX2NvdW50LHJlbWFpbl9jb3VudFwiLG1heF9jb3VudCxjdXJfY291bnQscmVtYWluX2NvdW50KVxuICAgICAgICBpZihjdXJfY291bnQgPj0gbWF4X2NvdW50ICYmIHJlbWFpbl9jb3VudCA9PSAwKXtcbiAgICAgICAgICAgIG1lc3NhZ2UoVXRpbHMuVEkxOE4oXCLku4rml6XmrKHmlbDlt7LnlKjlrox+flwiKSlcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBpZihyZW1haW5fY291bnQgPD0gMCl7XG4gICAgICAgICAgICAgICAgdmFyIENvbW1vbkFsZXJ0ID0gcmVxdWlyZShcImNvbW1vbmFsZXJ0XCIpO1xuICAgICAgICAgICAgICAgIHZhciBzdHIgPSBjYy5qcy5mb3JtYXRTdHIoXCLmmK/lkKboirHotLk8aW1nIHNyYz0nJXMnIHNjYWxlPTAuMyAvPiVz6LSt5Lmw5LiA5qyh5oyR5oiY5qyh5pWw77yfXCIsIENvbmZpZy5pdGVtX2RhdGEuZGF0YV9hc3NldHNfbGFiZWwyaWQuZ29sZCxjb25zdF9kYXRhLmFjdGlvbl9udW1fZXNwZW5zaXZlLnZhbClcbiAgICAgICAgICAgICAgICB2YXIgcmVzID0gUGF0aFRvb2wuZ2V0SXRlbVJlcyhDb25maWcuaXRlbV9kYXRhLmRhdGFfYXNzZXRzX2xhYmVsMmlkLmdvbGQpXG4gICAgICAgICAgICAgICAgdmFyIGNhbGxfYmFjayA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG91Y2hfYnV5X2NoYW5nZSA9IHRydWVcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZW5kMjU0MTEoKVxuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKVxuICAgICAgICAgICAgICAgIENvbW1vbkFsZXJ0LnNob3coc3RyLCBVdGlscy5USTE4TihcIuehruiupFwiKSwgY2FsbF9iYWNrLCBVdGlscy5USTE4TihcIuWPlua2iFwiKSwgbnVsbCwgMiwgbnVsbCwgeyByZXNBcnI6IFtyZXNdIH0pXG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmQyNTQxMygpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHNlbmQyNTQxMigpe1xuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgyNTQxMiwge30pXG4gICAgfSxcbiAgICBoYW5kbGUyNTQxMihkYXRhKXtcbiAgICAgICAgbWVzc2FnZShkYXRhLm1zZylcbiAgICAgICAgZ2NvcmUuR2xvYmFsRXZlbnQuZmlyZShMaW1pdEV4ZXJjaXNlRXZlbnQuTGltaXRFeGVyY2lzZV9HZXRCb3hfRXZlbnQsZGF0YSlcbiAgICB9LFxuICAgIC8vIOaMkeaImOa0u+WKqGJvc3NcbiAgICBzZW5kMjU0MTMoKXtcbiAgICAgICAgdGhpcy5TZW5kUHJvdG9jYWwoMjU0MTMsIHt9KVxuICAgIH0sXG4gICAgaGFuZGxlMjU0MTMoZGF0YSl7XG4gICAgICAgIG1lc3NhZ2UoZGF0YS5tc2cpXG4gICAgICAgIGlmKGRhdGEuY29kZSA9PSAxKXtcbiAgICAgICAgICAgIHZhciBIZXJvQ29udHJvbGxlciA9IHJlcXVpcmUoXCJoZXJvX2NvbnRyb2xsZXJcIilcbiAgICAgICAgICAgIEhlcm9Db250cm9sbGVyLmdldEluc3RhbmNlKCkub3BlbkZvcm1Hb0ZpZ2h0UGFuZWwoZmFsc2UpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIC8v5b2T5YmN5LyZ5Ly05bey5L2/55So5qyh5pWwXG4gICAgc2VuZDI1NDE0KCl7XG4gICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDI1NDE0LCB7fSlcbiAgICB9LFxuICAgIGhhbmRsZTI1NDE0KGRhdGEpe1xuICAgICAgICB0aGlzLm1vZGVsLnNldEhlcm9Vc2VJZChkYXRhLnBfbGlzdClcbiAgICB9LFxuICAgIG9wZW5MaW1pdEV4ZXJjaXNlQ2hhbmdlVmlldyhzdGF0dXMpe1xuICAgICAgICBpZihzdGF0dXMgPT0gdHJ1ZSl7XG4gICAgICAgICAgICBpZighdGhpcy5saW1pdF9leGVyY2lzZV92aWV3KXtcbiAgICAgICAgICAgICAgICB2YXIgTGltaXRFeGVyY2lzZUNoYW5nZVdpbmRvdyA9IHJlcXVpcmUoXCJsaW1pdGV4ZXJjaXNlX2NoYW5nZV93aW5kb3dcIilcbiAgICAgICAgICAgICAgICB0aGlzLmxpbWl0X2V4ZXJjaXNlX3ZpZXcgPSBuZXcgTGltaXRFeGVyY2lzZUNoYW5nZVdpbmRvdyh0aGlzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5saW1pdF9leGVyY2lzZV92aWV3Lm9wZW4oKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIGlmKHRoaXMubGltaXRfZXhlcmNpc2Vfdmlldyl7IFxuICAgICAgICAgICAgICAgIHRoaXMubGltaXRfZXhlcmNpc2Vfdmlldy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgdGhpcy5saW1pdF9leGVyY2lzZV92aWV3ID0gbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICAvL+aJk+W8gOafpeeci+WlluWKseeVjOmdolxuICAgIG9wZW5MaW1pdEV4ZXJjaXNlUmV3YXJkVmlldyhzdGF0dXMpe1xuICAgICAgICBpZihzdGF0dXMgPT0gdHJ1ZSl7XG4gICAgICAgICAgICBpZighdGhpcy5vcGVuX3Jld2FyZF92aWV3KXtcbiAgICAgICAgICAgICAgICB2YXIgTGltaXRFeGVyY2lzZVJld2FyZFdpbmRvdyA9IHJlcXVpcmUoXCJsaW1pdGV4ZXJjaXNlX3Jld2FyZF93aW5kb3dcIilcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5fcmV3YXJkX3ZpZXcgPSBuZXcgTGltaXRFeGVyY2lzZVJld2FyZFdpbmRvdyh0aGlzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vcGVuX3Jld2FyZF92aWV3Lm9wZW4oKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIGlmKHRoaXMub3Blbl9yZXdhcmRfdmlldyl7IFxuICAgICAgICAgICAgICAgIHRoaXMub3Blbl9yZXdhcmRfdmlldy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuX3Jld2FyZF92aWV3ID0gbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gTGltaXRleGVyY2lzZUNvbnRyb2xsZXI7Il19