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
182
183
184
185
186
187
188
189
190
191
192
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/guild/view/guildinit_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, '325ac7r+hZJoZGtiDdHDUpZ', 'guildinit_window');
// Scripts/mod/guild/view/guildinit_window.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//     这里是描述这个窗体的作用的
// <br/>Create: 2019-01-14 11:35:40
// --------------------------------------------------------------------
var GuildConst = require("guild_const");
 
var PathTool = require("pathtool");
 
var GuildinitWindow = cc.Class({
  "extends": BaseView,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("guild", "guild_init_window");
    this.viewTag = SCENE_TAG.ui; //该窗体所属ui层级,全屏ui需要在ui层,非全屏ui在dialogue层,这个要注意
 
    this.win_type = WinType.Full; //是否是全屏窗体  WinType.Full, WinType.Big, WinType.Mini, WinType.Tips
  },
  // 初始化一些配置数据,可以用于声明一些变量之类的
  initConfig: function initConfig() {
    this.panel_list = {};
    this.tab_list = {};
    this.normal_color = new cc.Color(0xd3, 0xb4, 0x9b, 0xff);
    this.normal_outlinecolor = new cc.Color(0x40, 0x22, 0x15, 0xff);
    this.select_color = new cc.Color(0xff, 0xff, 0xff, 0xff);
    this.select_outlinecolor = new cc.Color(0x6d, 0x35, 0x07, 0xff);
    this.controller = require("guild_controller").getInstance();
  },
  // 预制体加载完成之后的回调,可以在这里捕获相关节点或者组件
  openCallBack: function openCallBack() {
    this.background_nd = this.seekChild("background");
    this.background_nd.scale = FIT_SCALE;
    this.loadRes(PathTool.getBigBg("bigbg_2"), function (res) {
      this.background_nd.getComponent(cc.Sprite).spriteFrame = res;
    }.bind(this));
    this.title_list = [Utils.TI18N("公会列表"), Utils.TI18N("创建公会"), Utils.TI18N("查找公会")];
    var tab_container = this.seekChild("tab_container");
    this.win_title = this.seekChild("win_title", cc.Label);
    this.container = this.seekChild("container");
 
    for (var index = 0; index < 3; index++) {
      var object = {};
      var new_index = index + 1;
      object.btn = tab_container.getChildByName("tab_btn_" + new_index); //获取主节点
 
      object.normal = object.btn.getChildByName("unselect_bg"); //普通状态
 
      object.select = object.btn.getChildByName("select_bg"); //选中状态
 
      object.title = object.btn.getChildByName("title").getComponent(cc.Label); //label对象
 
      object.title_outline = object.title.getComponent(cc.LabelOutline); //描边
 
      object.title.string = this.title_list[index];
      object.index = new_index;
      this.tab_list[new_index] = object;
    }
  },
  // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
  registerEvent: function registerEvent() {
    var _this = this;
 
    var _loop = function _loop() {
      var element = _this.tab_list[key];
 
      if (element.btn) {
        element.btn.on(cc.Node.EventType.TOUCH_END, function (event) {
          this.changeTabView(element.index);
        }.bind(_this));
      }
    };
 
    for (var key in this.tab_list) {
      _loop();
    }
  },
  // 预制体加载完成之后,添加到对应主节点之后的回调,也就是一个窗体的正式入口,可以设置一些数据了
  openRootWnd: function openRootWnd(params) {
    var index = params || 1;
    this.changeTabView(index);
  },
 
  /**
   * 切换标签页
   * @param {*} index 
   */
  changeTabView: function changeTabView(index) {
    if (this.cur_index == index) {
      return;
    }
 
    if (this.cur_tab) {
      this.cur_tab.select.active = false;
      this.cur_tab.title.node.color = this.normal_color;
      this.cur_tab.title_outline.color = this.normal_outlinecolor;
    }
 
    this.cur_index = index;
    this.cur_tab = this.tab_list[index];
 
    if (this.cur_tab) {
      this.cur_tab.select.active = true;
      this.cur_tab.title.node.color = this.select_color;
      this.cur_tab.title_outline.color = this.select_outlinecolor;
    }
 
    this.setPanelData();
  },
  // 设置标签
  setPanelData: function setPanelData() {
    if (this.cur_index == null) {
      return;
    }
 
    this.win_title.string = this.title_list[this.cur_index - 1];
 
    if (this.cur_panel != null) {
      this.cur_panel.addToParent(false);
      this.cur_panel = null;
    }
 
    var index = this.cur_index;
    var cur_panel = this.panel_list[index];
 
    if (cur_panel == null) {
      if (index == GuildConst.init_type.create) {
        var GuildCreatePanel = require("guild_create_panel");
 
        cur_panel = new GuildCreatePanel();
      } else if (index == GuildConst.init_type.list) {
        var GuildListPanel = require("guild_list_panel");
 
        cur_panel = new GuildListPanel();
      } else if (index == GuildConst.init_type.search) {
        var GuildSearchPanel = require("guild_search_panel");
 
        cur_panel = new GuildSearchPanel();
      }
 
      this.panel_list[index] = cur_panel;
      cur_panel.show();
      if (cur_panel != null) cur_panel.setParent(this.container);
    }
 
    if (cur_panel != null) {
      cur_panel.addToParent(true);
      this.cur_panel = cur_panel; // this.cur_index = index;
    }
  },
  // 关闭窗体回调,需要在这里调用该窗体所属controller的close方法没用于置空该窗体实例对象
  closeCallBack: function closeCallBack() {
    this.controller.openGuildInitWindow(false);
 
    for (var k in this.panel_list) {
      var panel = this.panel_list[k];
      panel.deleteMe();
      panel = null;
    }
 
    this.panel_list = null;
  }
});
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxndWlsZFxcdmlld1xcZ3VpbGRpbml0X3dpbmRvdy5qcyJdLCJuYW1lcyI6WyJHdWlsZENvbnN0IiwicmVxdWlyZSIsIlBhdGhUb29sIiwiR3VpbGRpbml0V2luZG93IiwiY2MiLCJDbGFzcyIsIkJhc2VWaWV3IiwiY3RvciIsInByZWZhYlBhdGgiLCJnZXRQcmVmYWJQYXRoIiwidmlld1RhZyIsIlNDRU5FX1RBRyIsInVpIiwid2luX3R5cGUiLCJXaW5UeXBlIiwiRnVsbCIsImluaXRDb25maWciLCJwYW5lbF9saXN0IiwidGFiX2xpc3QiLCJub3JtYWxfY29sb3IiLCJDb2xvciIsIm5vcm1hbF9vdXRsaW5lY29sb3IiLCJzZWxlY3RfY29sb3IiLCJzZWxlY3Rfb3V0bGluZWNvbG9yIiwiY29udHJvbGxlciIsImdldEluc3RhbmNlIiwib3BlbkNhbGxCYWNrIiwiYmFja2dyb3VuZF9uZCIsInNlZWtDaGlsZCIsInNjYWxlIiwiRklUX1NDQUxFIiwibG9hZFJlcyIsImdldEJpZ0JnIiwicmVzIiwiZ2V0Q29tcG9uZW50IiwiU3ByaXRlIiwic3ByaXRlRnJhbWUiLCJiaW5kIiwidGl0bGVfbGlzdCIsIlV0aWxzIiwiVEkxOE4iLCJ0YWJfY29udGFpbmVyIiwid2luX3RpdGxlIiwiTGFiZWwiLCJjb250YWluZXIiLCJpbmRleCIsIm9iamVjdCIsIm5ld19pbmRleCIsImJ0biIsImdldENoaWxkQnlOYW1lIiwibm9ybWFsIiwic2VsZWN0IiwidGl0bGUiLCJ0aXRsZV9vdXRsaW5lIiwiTGFiZWxPdXRsaW5lIiwic3RyaW5nIiwicmVnaXN0ZXJFdmVudCIsImVsZW1lbnQiLCJrZXkiLCJvbiIsIk5vZGUiLCJFdmVudFR5cGUiLCJUT1VDSF9FTkQiLCJldmVudCIsImNoYW5nZVRhYlZpZXciLCJvcGVuUm9vdFduZCIsInBhcmFtcyIsImN1cl9pbmRleCIsImN1cl90YWIiLCJhY3RpdmUiLCJub2RlIiwiY29sb3IiLCJzZXRQYW5lbERhdGEiLCJjdXJfcGFuZWwiLCJhZGRUb1BhcmVudCIsImluaXRfdHlwZSIsImNyZWF0ZSIsIkd1aWxkQ3JlYXRlUGFuZWwiLCJsaXN0IiwiR3VpbGRMaXN0UGFuZWwiLCJzZWFyY2giLCJHdWlsZFNlYXJjaFBhbmVsIiwic2hvdyIsInNldFBhcmVudCIsImNsb3NlQ2FsbEJhY2siLCJvcGVuR3VpbGRJbml0V2luZG93IiwiayIsInBhbmVsIiwiZGVsZXRlTWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsVUFBVSxHQUFHQyxPQUFPLENBQUMsYUFBRCxDQUF4Qjs7QUFFQSxJQUFJQyxRQUFRLEdBQUdELE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUNBLElBQUlFLGVBQWUsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDM0IsYUFBU0MsUUFEa0I7QUFFM0JDLEVBQUFBLElBQUksRUFBRSxnQkFBWTtBQUNkLFNBQUtDLFVBQUwsR0FBa0JOLFFBQVEsQ0FBQ08sYUFBVCxDQUF1QixPQUF2QixFQUFnQyxtQkFBaEMsQ0FBbEI7QUFDQSxTQUFLQyxPQUFMLEdBQWVDLFNBQVMsQ0FBQ0MsRUFBekIsQ0FGYyxDQUU4Qjs7QUFDNUMsU0FBS0MsUUFBTCxHQUFnQkMsT0FBTyxDQUFDQyxJQUF4QixDQUhjLENBRzhCO0FBQy9DLEdBTjBCO0FBUTNCO0FBQ0FDLEVBQUFBLFVBQVUsRUFBQyxzQkFBVTtBQUNqQixTQUFLQyxVQUFMLEdBQWtCLEVBQWxCO0FBQ0EsU0FBS0MsUUFBTCxHQUFnQixFQUFoQjtBQUNBLFNBQUtDLFlBQUwsR0FBb0IsSUFBSWYsRUFBRSxDQUFDZ0IsS0FBUCxDQUFhLElBQWIsRUFBbUIsSUFBbkIsRUFBeUIsSUFBekIsRUFBK0IsSUFBL0IsQ0FBcEI7QUFDQSxTQUFLQyxtQkFBTCxHQUEyQixJQUFJakIsRUFBRSxDQUFDZ0IsS0FBUCxDQUFhLElBQWIsRUFBbUIsSUFBbkIsRUFBeUIsSUFBekIs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LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAYXV0aG9yOiB4eHhAc3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICDov5nph4zmmK/mj4/ov7Dov5nkuKrnqpfkvZPnmoTkvZznlKjnmoRcbi8vIDxici8+Q3JlYXRlOiAyMDE5LTAxLTE0IDExOjM1OjQwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIEd1aWxkQ29uc3QgPSByZXF1aXJlKFwiZ3VpbGRfY29uc3RcIik7XG5cbnZhciBQYXRoVG9vbCA9IHJlcXVpcmUoXCJwYXRodG9vbFwiKTtcbnZhciBHdWlsZGluaXRXaW5kb3cgPSBjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogQmFzZVZpZXcsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnByZWZhYlBhdGggPSBQYXRoVG9vbC5nZXRQcmVmYWJQYXRoKFwiZ3VpbGRcIiwgXCJndWlsZF9pbml0X3dpbmRvd1wiKTtcbiAgICAgICAgdGhpcy52aWV3VGFnID0gU0NFTkVfVEFHLnVpOyAgICAgICAgICAgICAgICAvL+ivpeeql+S9k+aJgOWxnnVp5bGC57qnLOWFqOWxj3Vp6ZyA6KaB5ZyodWnlsYIs6Z2e5YWo5bGPdWnlnKhkaWFsb2d1ZeWxgizov5nkuKropoHms6jmhI9cbiAgICAgICAgdGhpcy53aW5fdHlwZSA9IFdpblR5cGUuRnVsbDsgICAgICAgICAgICAgICAvL+aYr+WQpuaYr+WFqOWxj+eql+S9kyAgV2luVHlwZS5GdWxsLCBXaW5UeXBlLkJpZywgV2luVHlwZS5NaW5pLCBXaW5UeXBlLlRpcHNcbiAgICB9LFxuXG4gICAgLy8g5Yid5aeL5YyW5LiA5Lqb6YWN572u5pWw5o2uLOWPr+S7peeUqOS6juWjsOaYjuS4gOS6m+WPmOmHj+S5i+exu+eahFxuICAgIGluaXRDb25maWc6ZnVuY3Rpb24oKXtcbiAgICAgICAgdGhpcy5wYW5lbF9saXN0ID0ge307XG4gICAgICAgIHRoaXMudGFiX2xpc3QgPSB7fTtcbiAgICAgICAgdGhpcy5ub3JtYWxfY29sb3IgPSBuZXcgY2MuQ29sb3IoMHhkMywgMHhiNCwgMHg5YiwgMHhmZilcbiAgICAgICAgdGhpcy5ub3JtYWxfb3V0bGluZWNvbG9yID0gbmV3IGNjLkNvbG9yKDB4NDAsIDB4MjIsIDB4MTUsIDB4ZmYpXG4gICAgICAgIHRoaXMuc2VsZWN0X2NvbG9yID0gbmV3IGNjLkNvbG9yKDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYpXG4gICAgICAgIHRoaXMuc2VsZWN0X291dGxpbmVjb2xvciA9IG5ldyBjYy5Db2xvcigweDZkLCAweDM1LCAweDA3LCAweGZmKVxuXG4gICAgICAgIHRoaXMuY29udHJvbGxlciA9IHJlcXVpcmUoXCJndWlsZF9jb250cm9sbGVyXCIpLmdldEluc3RhbmNlKClcbiAgICB9LFxuXG4gICAgLy8g6aKE5Yi25L2T5Yqg6L295a6M5oiQ5LmL5ZCO55qE5Zue6LCDLOWPr+S7peWcqOi/memHjOaNleiOt+ebuOWFs+iKgueCueaIluiAhee7hOS7tlxuICAgIG9wZW5DYWxsQmFjazpmdW5jdGlvbigpe1xuICAgICAgICB0aGlzLmJhY2tncm91bmRfbmQgPSB0aGlzLnNlZWtDaGlsZChcImJhY2tncm91bmRcIik7XG4gICAgICAgIHRoaXMuYmFja2dyb3VuZF9uZC5zY2FsZSAgID0gRklUX1NDQUxFO1xuICAgICAgICB0aGlzLmxvYWRSZXMoUGF0aFRvb2wuZ2V0QmlnQmcoXCJiaWdiZ18yXCIpLGZ1bmN0aW9uKHJlcyl7XG4gICAgICAgICAgICB0aGlzLmJhY2tncm91bmRfbmQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSByZXM7XG4gICAgICAgIH0uYmluZCh0aGlzKSlcblxuICAgICAgICB0aGlzLnRpdGxlX2xpc3QgPSBbVXRpbHMuVEkxOE4oXCLlhazkvJrliJfooahcIiksIFV0aWxzLlRJMThOKFwi5Yib5bu65YWs5LyaXCIpLCBVdGlscy5USTE4TihcIuafpeaJvuWFrOS8mlwiKV1cbiAgICAgICAgdmFyIHRhYl9jb250YWluZXIgPSB0aGlzLnNlZWtDaGlsZChcInRhYl9jb250YWluZXJcIilcbiAgICAgICAgdGhpcy53aW5fdGl0bGUgPSB0aGlzLnNlZWtDaGlsZChcIndpbl90aXRsZVwiLGNjLkxhYmVsKTtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSB0aGlzLnNlZWtDaGlsZChcImNvbnRhaW5lclwiKTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IDM7IGluZGV4KyspIHtcbiAgICAgICAgICAgIHZhciBvYmplY3QgPSB7fVxuICAgICAgICAgICAgdmFyIG5ld19pbmRleCA9IGluZGV4ICsgMVxuICAgICAgICAgICAgb2JqZWN0LmJ0biA9IHRhYl9jb250YWluZXIuZ2V0Q2hpbGRCeU5hbWUoXCJ0YWJfYnRuX1wiICsgbmV3X2luZGV4KSAgICAgICAgICAgICAgIC8v6I635Y+W5Li76IqC54K5XG4gICAgICAgICAgICBvYmplY3Qubm9ybWFsID0gb2JqZWN0LmJ0bi5nZXRDaGlsZEJ5TmFtZShcInVuc2VsZWN0X2JnXCIpICAgICAgICAgICAgICAgICAgICAgICAgLy/mma7pgJrnirbmgIFcbiAgICAgICAgICAgIG9iamVjdC5zZWxlY3QgPSBvYmplY3QuYnRuLmdldENoaWxkQnlOYW1lKFwic2VsZWN0X2JnXCIpICAgICAgICAgICAgICAgICAgICAgICAgICAvL+mAieS4reeKtuaAgVxuICAgICAgICAgICAgb2JqZWN0LnRpdGxlID0gb2JqZWN0LmJ0bi5nZXRDaGlsZEJ5TmFtZShcInRpdGxlXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkgICAgICAgIC8vbGFiZWzlr7nosaFcbiAgICAgICAgICAgIG9iamVjdC50aXRsZV9vdXRsaW5lID0gb2JqZWN0LnRpdGxlLmdldENvbXBvbmVudChjYy5MYWJlbE91dGxpbmUpICAgICAgIC8v5o+P6L65XG4gICAgICAgICAgICBvYmplY3QudGl0bGUuc3RyaW5nID0gdGhpcy50aXRsZV9saXN0W2luZGV4XVxuICAgICAgICAgICAgb2JqZWN0LmluZGV4ID0gbmV3X2luZGV4XG4gICAgICAgICAgICB0aGlzLnRhYl9saXN0W25ld19pbmRleF0gPSBvYmplY3Q7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM5LqL5Lu255uR5ZCs55qE5o6l5Y+jLOS4jemcgOimgeaJi+WKqOiwg+eUqCzlpoLmnpzmmK/kvb/nlKhnY29yZS5HbG9iYWxFdmVudOebkeWQrCzlj6/ku6Xnm7TmjqXosIPnlKhhZGRHbG9iYWxFdmVudFxuICAgIHJlZ2lzdGVyRXZlbnQ6ZnVuY3Rpb24oKXtcbiAgICAgICAgZm9yKHZhciBrZXkgaW4gdGhpcy50YWJfbGlzdCl7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy50YWJfbGlzdFtrZXldXG4gICAgICAgICAgICBpZiAoZWxlbWVudC5idG4pIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50LmJ0bi5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9FTkQsIChmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VUYWJWaWV3KGVsZW1lbnQuaW5kZXgpXG4gICAgICAgICAgICAgICAgfSkuYmluZCh0aGlzKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjizmt7vliqDliLDlr7nlupTkuLvoioLngrnkuYvlkI7nmoTlm57osIMs5Lmf5bCx5piv5LiA5Liq56qX5L2T55qE5q2j5byP5YWl5Y+jLOWPr+S7peiuvue9ruS4gOS6m+aVsOaNruS6hlxuICAgIG9wZW5Sb290V25kOmZ1bmN0aW9uKHBhcmFtcyl7XG4gICAgICAgIHZhciBpbmRleCA9IHBhcmFtcyB8fCAxXG4gICAgICAgIHRoaXMuY2hhbmdlVGFiVmlldyhpbmRleClcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICog5YiH5o2i5qCH562+6aG1XG4gICAgICogQHBhcmFtIHsqfSBpbmRleCBcbiAgICAgKi9cbiAgICBjaGFuZ2VUYWJWaWV3OmZ1bmN0aW9uKGluZGV4KXtcbiAgICAgICAgaWYodGhpcy5jdXJfaW5kZXggPT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jdXJfdGFiKXtcbiAgICAgICAgICAgIHRoaXMuY3VyX3RhYi5zZWxlY3QuYWN0aXZlID0gZmFsc2VcbiAgICAgICAgICAgIHRoaXMuY3VyX3RhYi50aXRsZS5ub2RlLmNvbG9yID0gdGhpcy5ub3JtYWxfY29sb3JcbiAgICAgICAgICAgIHRoaXMuY3VyX3RhYi50aXRsZV9vdXRsaW5lLmNvbG9yID0gdGhpcy5ub3JtYWxfb3V0bGluZWNvbG9yXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJfaW5kZXggPSBpbmRleFxuICAgICAgICB0aGlzLmN1cl90YWIgPSB0aGlzLnRhYl9saXN0W2luZGV4XVxuICAgICAgICBpZiAodGhpcy5jdXJfdGFiKSB7XG4gICAgICAgICAgICB0aGlzLmN1cl90YWIuc2VsZWN0LmFjdGl2ZSA9IHRydWVcbiAgICAgICAgICAgIHRoaXMuY3VyX3RhYi50aXRsZS5ub2RlLmNvbG9yID0gdGhpcy5zZWxlY3RfY29sb3JcbiAgICAgICAgICAgIHRoaXMuY3VyX3RhYi50aXRsZV9vdXRsaW5lLmNvbG9yID0gdGhpcy5zZWxlY3Rfb3V0bGluZWNvbG9yXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRQYW5lbERhdGEoKVxuICAgIH0sXG5cbiAgICAvLyDorr7nva7moIfnrb5cbiAgICBzZXRQYW5lbERhdGE6ZnVuY3Rpb24oKXtcbiAgICAgICAgaWYodGhpcy5jdXJfaW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud2luX3RpdGxlLnN0cmluZyA9IHRoaXMudGl0bGVfbGlzdFt0aGlzLmN1cl9pbmRleC0xXTtcblxuICAgICAgICBpZih0aGlzLmN1cl9wYW5lbCAhPSBudWxsKXtcbiAgICAgICAgICAgIHRoaXMuY3VyX3BhbmVsLmFkZFRvUGFyZW50KGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuY3VyX3BhbmVsID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmN1cl9pbmRleDtcbiAgICAgICAgdmFyIGN1cl9wYW5lbCA9IHRoaXMucGFuZWxfbGlzdFtpbmRleF07XG4gICAgICAgIGlmKGN1cl9wYW5lbCA9PSBudWxsKXtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PSBHdWlsZENvbnN0LmluaXRfdHlwZS5jcmVhdGUpe1xuICAgICAgICAgICAgICAgIHZhciBHdWlsZENyZWF0ZVBhbmVsID0gcmVxdWlyZShcImd1aWxkX2NyZWF0ZV9wYW5lbFwiKTtcbiAgICAgICAgICAgICAgICBjdXJfcGFuZWwgPSBuZXcgR3VpbGRDcmVhdGVQYW5lbCgpO1xuICAgICAgICAgICAgfWVsc2UgaWYoaW5kZXggPT0gR3VpbGRDb25zdC5pbml0X3R5cGUubGlzdCl7XG4gICAgICAgICAgICAgICAgdmFyIEd1aWxkTGlzdFBhbmVsID0gcmVxdWlyZShcImd1aWxkX2xpc3RfcGFuZWxcIik7XG4gICAgICAgICAgICAgICAgY3VyX3BhbmVsID0gbmV3IEd1aWxkTGlzdFBhbmVsKCk7XG4gICAgICAgICAgICB9ZWxzZSBpZiAoaW5kZXggPT0gR3VpbGRDb25zdC5pbml0X3R5cGUuc2VhcmNoKXtcbiAgICAgICAgICAgICAgICB2YXIgR3VpbGRTZWFyY2hQYW5lbCA9IHJlcXVpcmUoXCJndWlsZF9zZWFyY2hfcGFuZWxcIik7XG4gICAgICAgICAgICAgICAgY3VyX3BhbmVsID0gbmV3IEd1aWxkU2VhcmNoUGFuZWwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucGFuZWxfbGlzdFtpbmRleF0gPSBjdXJfcGFuZWw7XG4gICAgICAgICAgICBjdXJfcGFuZWwuc2hvdygpO1xuICAgICAgICAgICAgaWYoY3VyX3BhbmVsICE9IG51bGwpXG4gICAgICAgICAgICAgICAgY3VyX3BhbmVsLnNldFBhcmVudCh0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZihjdXJfcGFuZWwgIT0gbnVsbCl7XG4gICAgICAgICAgICBjdXJfcGFuZWwuYWRkVG9QYXJlbnQodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmN1cl9wYW5lbCA9IGN1cl9wYW5lbDtcbiAgICAgICAgICAgIC8vIHRoaXMuY3VyX2luZGV4ID0gaW5kZXg7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8g5YWz6Zet56qX5L2T5Zue6LCDLOmcgOimgeWcqOi/memHjOiwg+eUqOivpeeql+S9k+aJgOWxnmNvbnRyb2xsZXLnmoRjbG9zZeaWueazleayoeeUqOS6jue9ruepuuivpeeql+S9k+WunuS+i+WvueixoVxuICAgIGNsb3NlQ2FsbEJhY2s6ZnVuY3Rpb24oKXtcbiAgICAgICAgdGhpcy5jb250cm9sbGVyLm9wZW5HdWlsZEluaXRXaW5kb3coZmFsc2UpXG4gICAgICAgIGZvciAodmFyIGsgaW4gdGhpcy5wYW5lbF9saXN0KXtcbiAgICAgICAgICAgIHZhciBwYW5lbCA9IHRoaXMucGFuZWxfbGlzdFtrXTtcbiAgICAgICAgICAgIHBhbmVsLmRlbGV0ZU1lKCk7XG4gICAgICAgICAgICBwYW5lbCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYW5lbF9saXN0ID0gbnVsbDtcbiAgICB9LFxufSlcbiJdfQ==