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
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/guildwar/view/guildwar_award_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, '9814bi6R+FFvq3hl39HKoHe', 'guildwar_award_window');
// Scripts/mod/guildwar/view/guildwar_award_window.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//     这里是描述这个窗体的作用的
// <br/>Create: 2019-05-09 16:24:04
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var CommonScrollView = require("common_scrollview");
 
var GuildwarAwardItem = require("guildwar_award_item");
 
var Guildwar_awardWindow = cc.Class({
  "extends": BaseView,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("guildwar", "guildwar_award_list_panel");
    this.viewTag = SCENE_TAG.dialogue; //该窗体所属ui层级,全屏ui需要在ui层,非全屏ui在dialogue层,这个要注意
 
    this.win_type = WinType.Big; //是否是全屏窗体  WinType.Full, WinType.Big, WinType.Mini, WinType.Tips
  },
  // 初始化一些配置数据,可以用于声明一些变量之类的
  initConfig: function initConfig() {
    this.ctrl = require("guildwar_controller").getInstance();
    this.model = this.ctrl.getModel();
  },
  // 预制体加载完成之后的回调,可以在这里捕获相关节点或者组件
  openCallBack: function openCallBack() {
    this.background = this.seekChild("background");
    this.background.scale = FIT_SCALE;
    this.main_container = this.seekChild("main_container");
    this.close_btn = this.seekChild("close_btn");
    this.item_list = this.seekChild("item_list");
    var tab_size = this.item_list.getContentSize();
    var setting = {
      item_class: GuildwarAwardItem,
      // 单元类
      start_x: 0,
      // 第一个单元的X起点
      space_x: 0,
      // x方向的间隔
      start_y: 0,
      // 第一个单元的Y起点
      space_y: -4,
      // y方向的间隔
      item_width: 616,
      // 单元的尺寸width
      item_height: 124,
      // 单元的尺寸height
      row: 0,
      // 行数,作用于水平滚动类型 
      col: 1,
      // 列数,作用于垂直滚动类型
      need_dynamic: true
    };
    this.box_scrollview = new CommonScrollView();
    this.box_scrollview.createScroll(this.item_list, cc.v2(0, 0), ScrollViewDir.vertical, ScrollViewStartPos.top, tab_size, setting, cc.v2(0.5, 0.5));
  },
  // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
  registerEvent: function registerEvent() {
    Utils.onTouchEnd(this.background, function () {
      this.ctrl.openGuildWarAwardWindow(false);
    }.bind(this), 2);
    Utils.onTouchEnd(this.close_btn, function () {
      this.ctrl.openGuildWarAwardWindow(false);
    }.bind(this), 2);
  },
  // 预制体加载完成之后,添加到对应主节点之后的回调,也就是一个窗体的正式入口,可以设置一些数据了
  openRootWnd: function openRootWnd(params) {
    this.setData();
  },
  setData: function setData() {
    var award_data = this.getGuildWarAwardData();
 
    for (var i in award_data) {
      var data = award_data[i];
      var pre_num = 1;
 
      if (award_data[i - 1]) {
        pre_num = award_data[i - 1].num + 1;
      }
 
      data.pre_num = pre_num;
    }
 
    this.box_scrollview.setData(award_data);
  },
  getGuildWarAwardData: function getGuildWarAwardData() {
    var award_data = [];
 
    for (var k in Config.guild_war_data.data_award) {
      var v = Config.guild_war_data.data_award[k];
      var temp_data = Utils.deepCopy(v);
      award_data.push(temp_data);
    }
 
    award_data.sort(Utils.tableLowerSorter(["num"]));
    return award_data;
  },
  // 关闭窗体回调,需要在这里调用该窗体所属controller的close方法没用于置空该窗体实例对象
  closeCallBack: function closeCallBack() {
    if (this.box_scrollview) {
      this.box_scrollview.deleteMe();
      this.box_scrollview = null;
    }
 
    this.ctrl.openGuildWarAwardWindow(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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxndWlsZHdhclxcdmlld1xcZ3VpbGR3YXJfYXdhcmRfd2luZG93LmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIkNvbW1vblNjcm9sbFZpZXciLCJHdWlsZHdhckF3YXJkSXRlbSIsIkd1aWxkd2FyX2F3YXJkV2luZG93IiwiY2MiLCJDbGFzcyIsIkJhc2VWaWV3IiwiY3RvciIsInByZWZhYlBhdGgiLCJnZXRQcmVmYWJQYXRoIiwidmlld1RhZyIsIlNDRU5FX1RBRyIsImRpYWxvZ3VlIiwid2luX3R5cGUiLCJXaW5UeXBlIiwiQmlnIiwiaW5pdENvbmZpZyIsImN0cmwiLCJnZXRJbnN0YW5jZSIsIm1vZGVsIiwiZ2V0TW9kZWwiLCJvcGVuQ2FsbEJhY2siLCJiYWNrZ3JvdW5kIiwic2Vla0NoaWxkIiwic2NhbGUiLCJGSVRfU0NBTEUiLCJtYWluX2NvbnRhaW5lciIsImNsb3NlX2J0biIsIml0ZW1fbGlzdCIsInRhYl9zaXplIiwiZ2V0Q29udGVudFNpemUiLCJzZXR0aW5nIiwiaXRlbV9jbGFzcyIsInN0YXJ0X3giLCJzcGFjZV94Iiwic3RhcnRfeSIsInNwYWNlX3kiLCJpdGVtX3dpZHRoIiwiaXRlbV9oZWlnaHQiLCJyb3ciLCJjb2wiLCJuZWVkX2R5bmFtaWMiLCJib3hfc2Nyb2xsdmlldyIsImNyZWF0ZVNjcm9sbCIsInYyIiwiU2Nyb2xsVmlld0RpciIsInZlcnRpY2FsIiwiU2Nyb2xsVmlld1N0YXJ0UG9zIiwidG9wIiwicmVnaXN0ZXJFdmVudCIsIlV0aWxzIiwib25Ub3VjaEVuZCIsIm9wZW5HdWlsZFdhckF3YXJkV2luZG93IiwiYmluZCIsIm9wZW5Sb290V25kIiwicGFyYW1zIiwic2V0RGF0YSIsImF3YXJkX2RhdGEiLCJnZXRHdWlsZFdhckF3YXJkRGF0YSIsImkiLCJkYXRhIiwicHJlX251bSIsIm51bSIsImsiLCJDb25maWciLCJndWlsZF93YXJfZGF0YSIsImRhdGFfYXdhcmQiLCJ2IiwidGVtcF9kYXRhIiwiZGVlcENvcHkiLCJwdXNoIiwic29ydCIsInRhYmxlTG93ZXJTb3J0ZXIiLCJjbG9zZUNhbGxCYWNrIiwiZGVsZXRlTWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsUUFBUSxHQUFHQyxPQUFPLENBQUMsVUFBRCxDQUF0Qjs7QUFDQSxJQUFJQyxnQkFBZ0IsR0FBR0QsT0FBTyxDQUFDLG1CQUFELENBQTlCOztBQUNBLElBQUlFLGlCQUFpQixHQUFHRixPQUFPLENBQUMscUJBQUQsQ0FBL0I7O0FBRUEsSUFBSUcsb0JBQW9CLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ2hDLGFBQVNDLFFBRHVCO0FBRWhDQyxFQUFBQSxJQUFJLEVBQUUsZ0JBQVk7QUFDZCxTQUFLQyxVQUFMLEdBQWtCVCxRQUFRLENBQUNVLGFBQVQsQ0FBdUIsVUFBdkIsRUFBbUMsMkJBQW5DLENBQWxCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlQyxTQUFTLENBQUNDLFFBQXpCLENBRmMsQ0FFb0M7O0FBQ2xELFNBQUtDLFFBQUwsR0FBZ0JDLE9BQU8sQ0FBQ0MsR0FBeEIsQ0FIYyxDQUc2QjtBQUM5QyxHQU4rQjtBQVFoQztBQUNBQyxFQUFBQSxVQUFVLEVBQUUsc0JBQVk7QUFDcEIsU0FBS0MsSUFBTCxHQUFZakIsT0FBTyxDQUFDLHFCQUFELENBQVAsQ0FBK0JrQixXQUEvQixFQUFaO0FBQ0EsU0FBS0MsS0FBTCxHQUFhLEtBQUtGLElBQUwsQ0FBVUcsUUFBVixFQUFiO0FBQ0gsR0FaK0I7QUFjaEM7QUFDQUMsRUFBQUEsWUFBWSxFQUFFLHdCQUFZO0FBQ3RCLFNBQUtDLFVBQUwsR0FBa0IsS0FBS0MsU0FBTCxDQUFlLFlBQWYsQ0FBbEI7QUFDQSxTQUFLRCxVQUFMLENBQWdCRSxLQUFoQixHQUF3QkMsU0FBeEI7QUFDQSxTQUFLQyxjQUFMLEdBQXNCLEtBQUtILFNBQUwsQ0FBZSxnQkFBZixDQUF0QjtBQUNB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QyxVQUF0QixDQUFpQ0gsQ0FBakMsQ0FBUjtBQUNBLFVBQUlLLFNBQVMsR0FBR2xCLEtBQUssQ0FBQ21CLFFBQU4sQ0FBZUYsQ0FBZixDQUFoQjtBQUNBVixNQUFBQSxVQUFVLENBQUNhLElBQVgsQ0FBZ0JGLFNBQWhCO0FBQ0g7O0FBQ0RYLElBQUFBLFVBQVUsQ0FBQ2MsSUFBWCxDQUFnQnJCLEtBQUssQ0FBQ3NCLGdCQUFOLENBQXVCLENBQUMsS0FBRCxDQUF2QixDQUFoQjtBQUNBLFdBQU9mLFVBQVA7QUFDSCxHQTVFK0I7QUE4RWhDO0FBQ0FnQixFQUFBQSxhQUFhLEVBQUUseUJBQVk7QUFDdkIsUUFBSSxLQUFLL0IsY0FBVCxFQUF5QjtBQUNyQixXQUFLQSxjQUFMLENBQW9CZ0MsUUFBcEI7QUFDQSxXQUFLaEMsY0FBTCxHQUFzQixJQUF0QjtBQUNIOztBQUNELFNBQUt6QixJQUFMLENBQVVtQyx1QkFBVixDQUFrQyxLQUFsQztBQUNIO0FBckYrQixDQUFULENBQTNCIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGF1dGhvcjogeHh4QHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXG4vLyBAZGVzY3JpcHRpb246XG4vLyAgICAg6L+Z6YeM5piv5o+P6L+w6L+Z5Liq56qX5L2T55qE5L2c55So55qEXG4vLyA8YnIvPkNyZWF0ZTogMjAxOS0wNS0wOSAxNjoyNDowNFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBQYXRoVG9vbCA9IHJlcXVpcmUoXCJwYXRodG9vbFwiKTtcbnZhciBDb21tb25TY3JvbGxWaWV3ID0gcmVxdWlyZShcImNvbW1vbl9zY3JvbGx2aWV3XCIpXG52YXIgR3VpbGR3YXJBd2FyZEl0ZW0gPSByZXF1aXJlKFwiZ3VpbGR3YXJfYXdhcmRfaXRlbVwiKTtcblxudmFyIEd1aWxkd2FyX2F3YXJkV2luZG93ID0gY2MuQ2xhc3Moe1xuICAgIGV4dGVuZHM6IEJhc2VWaWV3LFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5wcmVmYWJQYXRoID0gUGF0aFRvb2wuZ2V0UHJlZmFiUGF0aChcImd1aWxkd2FyXCIsIFwiZ3VpbGR3YXJfYXdhcmRfbGlzdF9wYW5lbFwiKTtcbiAgICAgICAgdGhpcy52aWV3VGFnID0gU0NFTkVfVEFHLmRpYWxvZ3VlOyAgICAgICAgICAgICAgICAvL+ivpeeql+S9k+aJgOWxnnVp5bGC57qnLOWFqOWxj3Vp6ZyA6KaB5ZyodWnlsYIs6Z2e5YWo5bGPdWnlnKhkaWFsb2d1ZeWxgizov5nkuKropoHms6jmhI9cbiAgICAgICAgdGhpcy53aW5fdHlwZSA9IFdpblR5cGUuQmlnOyAgICAgICAgICAgICAgIC8v5piv5ZCm5piv5YWo5bGP56qX5L2TICBXaW5UeXBlLkZ1bGwsIFdpblR5cGUuQmlnLCBXaW5UeXBlLk1pbmksIFdpblR5cGUuVGlwc1xuICAgIH0sXG5cbiAgICAvLyDliJ3lp4vljJbkuIDkupvphY3nva7mlbDmja4s5Y+v5Lul55So5LqO5aOw5piO5LiA5Lqb5Y+Y6YeP5LmL57G755qEXG4gICAgaW5pdENvbmZpZzogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmN0cmwgPSByZXF1aXJlKFwiZ3VpbGR3YXJfY29udHJvbGxlclwiKS5nZXRJbnN0YW5jZSgpO1xuICAgICAgICB0aGlzLm1vZGVsID0gdGhpcy5jdHJsLmdldE1vZGVsKCk7XG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjueahOWbnuiwgyzlj6/ku6XlnKjov5nph4zmjZXojrfnm7jlhbPoioLngrnmiJbogIXnu4Tku7ZcbiAgICBvcGVuQ2FsbEJhY2s6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5iYWNrZ3JvdW5kID0gdGhpcy5zZWVrQ2hpbGQoXCJiYWNrZ3JvdW5kXCIpO1xuICAgICAgICB0aGlzLmJhY2tncm91bmQuc2NhbGUgPSBGSVRfU0NBTEU7XG4gICAgICAgIHRoaXMubWFpbl9jb250YWluZXIgPSB0aGlzLnNlZWtDaGlsZChcIm1haW5fY29udGFpbmVyXCIpO1xuICAgICAgICB0aGlzLmNsb3NlX2J0biA9IHRoaXMuc2Vla0NoaWxkKFwiY2xvc2VfYnRuXCIpO1xuICAgICAgICB0aGlzLml0ZW1fbGlzdCA9IHRoaXMuc2Vla0NoaWxkKFwiaXRlbV9saXN0XCIpO1xuXG4gICAgICAgIHZhciB0YWJfc2l6ZSA9IHRoaXMuaXRlbV9saXN0LmdldENvbnRlbnRTaXplKCk7XG4gICAgICAgIHZhciBzZXR0aW5nID0ge1xuICAgICAgICAgICAgaXRlbV9jbGFzczogR3VpbGR3YXJBd2FyZEl0ZW0sICAgICAgLy8g5Y2V5YWD57G7XG4gICAgICAgICAgICBzdGFydF94OiAwLCAgICAgICAgICAgICAgICAgICAgLy8g56ys5LiA5Liq5Y2V5YWD55qEWOi1t+eCuVxuICAgICAgICAgICAgc3BhY2VfeDogMCwgICAgICAgICAgICAgICAgICAgIC8vIHjmlrnlkJHnmoTpl7TpmpRcbiAgICAgICAgICAgIHN0YXJ0X3k6IDAsICAgICAgICAgICAgICAgICAgICAvLyDnrKzkuIDkuKrljZXlhYPnmoRZ6LW354K5XG4gICAgICAgICAgICBzcGFjZV95OiAtNCwgICAgICAgICAgICAgICAgICAgLy8geeaWueWQkeeahOmXtOmalFxuICAgICAgICAgICAgaXRlbV93aWR0aDogNjE2LCAgICAgICAgICAgICAgIC8vIOWNleWFg+eahOWwuuWvuHdpZHRoXG4gICAgICAgICAgICBpdGVtX2hlaWdodDogMTI0LCAgICAgICAgICAgICAgLy8g5Y2V5YWD55qE5bC65a+4aGVpZ2h0XG4gICAgICAgICAgICByb3c6IDAsICAgICAgICAgICAgICAgICAgICAgICAgLy8g6KGM5pWw77yM5L2c55So5LqO5rC05bmz5rua5Yqo57G75Z6LIFxuICAgICAgICAgICAgY29sOiAxLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWIl+aVsO+8jOS9nOeUqOS6juWeguebtOa7muWKqOexu+Wei1xuICAgICAgICAgICAgbmVlZF9keW5hbWljOiB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ib3hfc2Nyb2xsdmlldyA9IG5ldyBDb21tb25TY3JvbGxWaWV3KClcbiAgICAgICAgdGhpcy5ib3hfc2Nyb2xsdmlldy5jcmVhdGVTY3JvbGwodGhpcy5pdGVtX2xpc3QsIGNjLnYyKDAsIDApLCBTY3JvbGxWaWV3RGlyLnZlcnRpY2FsLCBTY3JvbGxWaWV3U3RhcnRQb3MudG9wLCB0YWJfc2l6ZSwgc2V0dGluZywgY2MudjIoMC41LCAwLjUpKVxuICAgIH0sXG5cbiAgICAvLyDms6jlhozkuovku7bnm5HlkKznmoTmjqXlj6Ms5LiN6ZyA6KaB5omL5Yqo6LCD55SoLOWmguaenOaYr+S9v+eUqGdjb3JlLkdsb2JhbEV2ZW5055uR5ZCsLOWPr+S7peebtOaOpeiwg+eUqGFkZEdsb2JhbEV2ZW50XG4gICAgcmVnaXN0ZXJFdmVudDogZnVuY3Rpb24gKCkge1xuICAgICAgICBVdGlscy5vblRvdWNoRW5kKHRoaXMuYmFja2dyb3VuZCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdGhpcy5jdHJsLm9wZW5HdWlsZFdhckF3YXJkV2luZG93KGZhbHNlKTtcbiAgICAgICAgfS5iaW5kKHRoaXMpLCAyKVxuICAgICAgICBVdGlscy5vblRvdWNoRW5kKHRoaXMuY2xvc2VfYnRuLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aGlzLmN0cmwub3Blbkd1aWxkV2FyQXdhcmRXaW5kb3coZmFsc2UpO1xuICAgICAgICB9LmJpbmQodGhpcyksIDIpXG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjizmt7vliqDliLDlr7nlupTkuLvoioLngrnkuYvlkI7nmoTlm57osIMs5Lmf5bCx5piv5LiA5Liq56qX5L2T55qE5q2j5byP5YWl5Y+jLOWPr+S7peiuvue9ruS4gOS6m+aVsOaNruS6hlxuICAgIG9wZW5Sb290V25kOiBmdW5jdGlvbiAocGFyYW1zKSB7XG4gICAgICAgIHRoaXMuc2V0RGF0YSgpO1xuICAgIH0sXG5cbiAgICBzZXREYXRhOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBhd2FyZF9kYXRhID0gdGhpcy5nZXRHdWlsZFdhckF3YXJkRGF0YSgpO1xuICAgICAgICBmb3IgKHZhciBpIGluIGF3YXJkX2RhdGEpIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gYXdhcmRfZGF0YVtpXTtcbiAgICAgICAgICAgIHZhciBwcmVfbnVtID0gMTtcbiAgICAgICAgICAgIGlmIChhd2FyZF9kYXRhW2kgLSAxXSkge1xuICAgICAgICAgICAgICAgIHByZV9udW0gPSBhd2FyZF9kYXRhW2kgLSAxXS5udW0gKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGF0YS5wcmVfbnVtID0gcHJlX251bTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJveF9zY3JvbGx2aWV3LnNldERhdGEoYXdhcmRfZGF0YSk7XG4gICAgfSxcblxuICAgIGdldEd1aWxkV2FyQXdhcmREYXRhOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBhd2FyZF9kYXRhID0gW107XG4gICAgICAgIGZvciAodmFyIGsgaW4gQ29uZmlnLmd1aWxkX3dhcl9kYXRhLmRhdGFfYXdhcmQpIHtcbiAgICAgICAgICAgIHZhciB2ID0gQ29uZmlnLmd1aWxkX3dhcl9kYXRhLmRhdGFfYXdhcmRba107XG4gICAgICAgICAgICB2YXIgdGVtcF9kYXRhID0gVXRpbHMuZGVlcENvcHkodik7XG4gICAgICAgICAgICBhd2FyZF9kYXRhLnB1c2godGVtcF9kYXRhKVxuICAgICAgICB9XG4gICAgICAgIGF3YXJkX2RhdGEuc29ydChVdGlscy50YWJsZUxvd2VyU29ydGVyKFtcIm51bVwiXSkpO1xuICAgICAgICByZXR1cm4gYXdhcmRfZGF0YVxuICAgIH0sXG5cbiAgICAvLyDlhbPpl63nqpfkvZPlm57osIMs6ZyA6KaB5Zyo6L+Z6YeM6LCD55So6K+l56qX5L2T5omA5bGeY29udHJvbGxlcueahGNsb3Nl5pa55rOV5rKh55So5LqO572u56m66K+l56qX5L2T5a6e5L6L5a+56LGhXG4gICAgY2xvc2VDYWxsQmFjazogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5ib3hfc2Nyb2xsdmlldykge1xuICAgICAgICAgICAgdGhpcy5ib3hfc2Nyb2xsdmlldy5kZWxldGVNZSgpO1xuICAgICAgICAgICAgdGhpcy5ib3hfc2Nyb2xsdmlldyA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdHJsLm9wZW5HdWlsZFdhckF3YXJkV2luZG93KGZhbHNlKTtcbiAgICB9LFxufSkiXX0=