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
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/welfare/view/sign_item.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, 'bbe1bf35rRMFZiUUvy8zfHr', 'sign_item');
// Scripts/mod/welfare/view/sign_item.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//     签到子项
// <br/>Create: 2019-03-06 15:27:39
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var Sign_itemPanel = cc.Class({
  "extends": BasePanel,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("welfare", "sign_item");
  },
  // 可以初始化声明一些变量的
  initConfig: function initConfig() {},
  // 初始化一些配置数据,可以用于声明一些变量之类的
  initPanel: function initPanel() {
    this.main_container_nd = this.seekChild("main_container");
    this.get_nd = this.seekChild(this.main_container_nd, "get");
    this.get_nd.active = false;
    this.get2_nd = this.seekChild(this.main_container_nd, "get2");
    this.get2_nd.active = false;
    var goodcon = this.seekChild("goodcon");
    this.goods_item = ItemsPool.getInstance().getItem("backpack_item");
    this.goods_item.show();
    this.goods_item.initConfig(false, 0.9, false, false);
    this.goods_item.setPosition(107 / 2, 107 / 2);
    this.goods_item.setParent(goodcon);
    this.touch_nd = this.seekChild("touch");
  },
  // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
  registerEvent: function registerEvent() {
    this.touch_nd.on(cc.Node.EventType.TOUCH_END, function () {
      if (this.callback) {
        this.callback(this);
      }
    }, this);
  },
  setData: function setData(data) {
    this.data = data;
    if (this.root_wnd) this.onShow();
  },
  // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
  onShow: function onShow() {
    this.touch_nd.name = "sign_btn_" + this.data.day;
    if (this.data == null) return;
    var data = this.data; //引导需要
 
    if (data.index) {}
 
    var vo = {};
    vo = Utils.deepCopy(Utils.getItemConfig(data.rewards[0][0]));
    vo.quantity = data.rewards[0][1];
    vo.num = vo.quantity;
    vo.bid = vo.id;
    this.goods_item.setData(vo);
 
    if (data.status != null) {
      if (data.status == 0) {
        //没领
        if (data.now_day == data.day) {
          //是今天
          if (this.effect == null) {
            this.effect = this.seekChild(this.main_container_nd, "effect", sp.Skeleton);
            var res = cc.js.formatStr("spine/%s/action.atlas", PathTool.getEffectRes(262));
            this.loadRes(res, function (res_object) {
              this.effect.skeletonData = res_object;
              this.effect.setAnimation(0, "action", false);
            }.bind(this));
          }
 
          this.effect.node.active = true;
        } else {
          if (this.effect) {
            this.effect.node.active = false;
          }
        }
 
        this.root_wnd.resumeSystemEvents(true);
        this.get2_nd.active = false;
        this.get_nd.active = false;
      } else if (data.status == 1) {
        //领取普通奖励
        if (this.effect) {
          this.effect.node.active = false;
        }
 
        this.get2_nd.active = true;
        this.get_nd.active = false;
        this.root_wnd.resumeSystemEvents(true);
      } else if (data.status == 2) {
        if (this.effect) {
          this.effect.node.active = false;
        }
 
        this.get2_nd.active = false;
        this.get_nd.active = true;
        this.root_wnd.pauseSystemEvents(true);
      }
    }
 
    if (data.is_show != null) {
      if (data.is_show == 1) {
        this.goods_item.showItemEffect(true, 263, PlayerAction.action_2, true, 1.1);
      } else {
        this.goods_item.showItemEffect(false);
      }
    }
  },
  addCallBack: function addCallBack(value) {
    if (this.callback == null) this.callback = value;
  },
  getData: function getData() {
    return this.data;
  },
  getItemPosition: function getItemPosition() {
    if (this.root_wnd) {
      return this.root_wnd.getPosition();
    }
  },
  // 面板设置不可见的回调,这里做一些不可见的屏蔽处理
  onHide: function onHide() {},
  // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
  onDelete: function onDelete() {
    if (this.goods_item) {
      this.goods_item.deleteMe();
      this.goods_item = null;
    }
 
    if (this.effect) {
      this.effect.setToSetupPose();
      this.effect.clearTracks();
    }
  }
});
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFx3ZWxmYXJlXFx2aWV3XFxzaWduX2l0ZW0uanMiXSwibmFtZXMiOlsiUGF0aFRvb2wiLCJyZXF1aXJlIiwiU2lnbl9pdGVtUGFuZWwiLCJjYyIsIkNsYXNzIiwiQmFzZVBhbmVsIiwiY3RvciIsInByZWZhYlBhdGgiLCJnZXRQcmVmYWJQYXRoIiwiaW5pdENvbmZpZyIsImluaXRQYW5lbCIsIm1haW5fY29udGFpbmVyX25kIiwic2Vla0NoaWxkIiwiZ2V0X25kIiwiYWN0aXZlIiwiZ2V0Ml9uZCIsImdvb2Rjb24iLCJnb29kc19pdGVtIiwiSXRlbXNQb29sIiwiZ2V0SW5zdGFuY2UiLCJnZXRJdGVtIiwic2hvdyIsInNldFBvc2l0aW9uIiwic2V0UGFyZW50IiwidG91Y2hfbmQiLCJyZWdpc3RlckV2ZW50Iiwib24iLCJOb2RlIiwiRXZlbnRUeXBlIiwiVE9VQ0hfRU5EIiwiY2FsbGJhY2siLCJzZXREYXRhIiwiZGF0YSIsInJvb3Rfd25kIiwib25TaG93IiwibmFtZSIsImRheSIsImluZGV4Iiwidm8iLCJVdGlscyIsImRlZXBDb3B5IiwiZ2V0SXRlbUNvbmZpZyIsInJld2FyZHMiLCJxdWFudGl0eSIsIm51bSIsImJpZCIsImlkIiwic3RhdHVzIiwibm93X2RheSIsImVmZmVjdCIsInNwIiwiU2tlbGV0b24iLCJyZXMiLCJqcyIsImZvcm1hdFN0ciIsImdldEVmZmVjdFJlcyIsImxvYWRSZXMiLCJyZXNfb2JqZWN0Iiwic2tlbGV0b25EYXRhIiwic2V0QW5pbWF0aW9uIiwiYmluZCIsIm5vZGUiLCJyZXN1bWVTeXN0ZW1FdmVudHMiLCJwYXVzZVN5c3RlbUV2ZW50cyIsImlzX3Nob3ciLCJzaG93SXRlbUVmZmVjdCIsIlBsYXllckFjdGlvbiIsImFjdGlvbl8yIiwiYWRkQ2FsbEJhY2siLCJ2YWx1ZSIsImdldERhdGEiLCJnZXRJdGVtUG9zaXRpb24iLCJnZXRQb3NpdGlvbiIsIm9uSGlkZSIsIm9uRGVsZXRlIiwiZGVsZXRlTWUiLCJzZXRUb1NldHVwUG9zZSIsImNsZWFyVHJhY2tzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUlBLFFBQVEsR0FBR0MsT0FBTyxDQUFDLFVBQUQsQ0FBdEI7O0FBQ0EsSUFBSUMsY0FBYyxHQUFHQyxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUMxQixhQUFTQyxTQURpQjtBQUUxQkMsRUFBQUEsSUFBSSxFQUFFLGdCQUFZO0FBQ2QsU0FBS0MsVUFBTCxHQUFrQlAsUUFBUSxDQUFDUSxhQUFULENBQXVCLFNBQXZCLEVBQWtDLFdBQWxDLENBQWxCO0FBQ0gsR0FKeUI7QUFNMUI7QUFDQUMsRUFBQUEsVUFBVSxFQUFFLHNCQUFZLENBRXZCLENBVHlCO0FBVzFCO0FBQ0FDLEVBQUFBLFNBQVMsRUFBRSxxQkFBWTtBQUNuQixTQUFLQyxpQkFBTCxHQUF5QixLQUFLQyxTQUFMLENBQWUsZ0JBQWYsQ0FBekI7QUFDQSxTQUFLQyxNQUFMLEdBQWMsS0FBS0QsU0FBTCxDQUFlLEtBQUtELGlCQUFwQixFQUF1QyxLQUF2QyxDQUFkO0FBQ0EsU0FBS0UsTUFBTCxDQUFZQyxNQUFaLEdBQXFCLEtBQXJCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlLEtBQUtILFNBQUwsQ0FBZSxLQUFLRCxpQkFBcEIsRUFBdUMsTUFBdkMsQ0FBZjtBQUNBLFNBQUtJLE9BQUwsQ0FBYUQsTUFBYixHQUFzQixLQUF0QjtBQUVBLFFBQUlFLE9BQU8sR0FBRyxLQUFLSixTQUFMLENBQWUsU0FBZixDQUFkO0FBQ0EsU0FBS0ssVUFBTCxHQUFrQkMsU0FBUyxDQUFDQyxXQUFWLEdBQXdCQyxPQUF4QixDQUFnQyxlQUFoQyxDQUFsQjtBQUNBLFNBQUtILFVBQUwsQ0FBZ0JJLElBQWhCO0FBQ0EsU0FBS0osVUFBTCxDQUFnQlIsVUFBaEIsQ0FBMkIsS0FBM0IsRUFBa0MsR0FBbEMsRUFBdUMsS0FBdkMsRUFBOEMsS0FBOUM7QUFDQSxTQUFLUSxVQUFMLENBQWdCSyxXQUFoQixDQUE0QixNQUFNLENBQWxDLEVBQXFDLE1BQU0sQ0FBM0M7QUFDQSxTQUFLTCxVQUFMLENBQWdCTSxTQUFoQixDQUEwQlAsT0FBMUI7QUFFQSxTQUFLUSxRQUFMLEdBQWdCLEtBQUtaLFNBQUwsQ0FBZSxPQUFmLENBQWhCO0FBQ0gsR0EzQnlCO0FBNkIxQjtBQUNBYSxFQUFBQSxhQUFhLEVBQUUseUJBQVk7QUFDdkIsU0FBS0QsUUFBTCxDQUFjRSxFQUFkLENBQWlCdkIsRUFBRSxDQUFDd0IsSUFBSCxDQUFRQyxTQUFSLENBQWtCQyxTQUFuQyxFQUE4QyxZQUFZO0FBQ3RELFVBQUksS0FBS0MsUUFBVCxFQUFtQjtBQUNmLGFBQUtBLFFBQUwsQ0FBYyxJQUFkO0FBQ0g7QUFDSixLQUpELEVBSUcsSUFKSDtBQUtILEdBcEN5QjtBQXNDMUJDLEVBQUFBLE9BQU8sRUFBRSxpQkFBVUMsSUFBVixFQUFnQjtBQUNyQixTQUFLQSxJQUFMLEdBQVlBLElBQVo7QUFDQSxRQUFJLEtBQUtDLFFBQVQsRUFDSSxLQUFLQyxNQUFMO0FBQ1AsR0ExQ3lCO0FBNEMxQjtBQUNBQSxFQUFBQSxNQUFNLEVBQUUsa0JBQVk7QUFDaEIsU0FBS1YsUUFBTCxDQUFjVyxJQUFkLEdBQXFCLGNBQWMsS0FBS0gsSUFBTCxDQUFVSSxHQUE3QztBQUVBLFFBQUksS0FBS0osSUFBTCxJQUFhLElBQWpCLEVBQXVCO0FBQ3ZCLFFBQUlBLElBQUksR0FBRyxLQUFLQSxJQUFoQixDQUpnQixDQUtoQjs7QUFDQSxRQUFJQSxJQUFJLENBQUNLLEtBQVQsRUFBZ0IsQ0FFZjs7QUFDRCxRQUFJQyxFQUFFLEdBQUcsRUFBVDtBQUNBQSxJQUFBQSxFQUFFLEdBQUdDLEtBQUssQ0FBQ0MsUUFBTixDQUFlRCxLQUFLLENBQUNFLGFBQU4sQ0FBb0JULElBQUksQ0FBQ1UsT0FBTCxDQUFhLENBQWIsRUFBZ0IsQ0FBaEIsQ0FBcEIsQ0FBZixDQUFMO0FBQ0FKLElBQUFBLEVBQUUsQ0FBQ0ssUUFBSCxHQUFjWCxJQUFJLENBQUNVLE9BQUwsQ0FBYSxDQUFiLEVBQWdCLENBQWhCLENBQWQ7QUFDQUosSUFBQUEsRUFBRSxDQUFDTSxHQUFILEdBQVNOLEVBQUUsQ0FBQ0ssUUFBWjtBQUNBTCxJQUFBQSxFQUFFLENBQUNPLEdBQUgsR0FBU1AsRUFBRSxDQUFDUSxFQUFaO0FBQ0EsU0FBSzdCLFVBQUwsQ0FBZ0JjLE9BQWhCLENBQXdCTyxFQUF4Qjs7QUFDQSxRQUFJTixJQUFJLENBQUNlLE1BQUwsSUFBZSxJQUFuQixFQUF5QjtBQUNyQixVQUFJZixJQUFJLENBQUNlLE1BQUwsSUFBZSxDQUFuQixFQUFzQjtBQUFJO0FBQ3RCLFlBQUlmLElBQUksQ0FBQ2dCLE9BQUwsSUFBZ0JoQixJQUFJLENBQUNJLEdBQXpCLEVBQThCO0FBQUk7QUFDOUIsY0FBSSxLQUFLYSxNQUFMLElBQWUsSUFBbkIsRUFBeUI7QUFDckIsaUJBQUtBLE1BQUwsR0FBYyxLQUFLckMsU0FBTCxDQUFlLEtBQUtELGlCQUFwQixFQUF1QyxRQUF2QyxFQUFpRHVDLEVBQUUsQ0FBQ0MsUUFBcEQsQ0FBZDtBQUNBLGdCQUFJQyxHQUFHLEdBQUdqRCxFQUFFLENBQUNrRCxFQUFILENBQU1DLFNBQU4sQ0FBZ0IsdUJBQWhCLEVBQXlDdEQsUUFBUSxDQUFDdUQsWUFBVCxDQUFzQixHQUF0QixDQUF6QyxDQUFWO0FBQ0EsaUJBQUtDLE9BQUwsQ0FBYUosR0FBYixFQUFrQixVQUFVSyxVQUFWLEVBQXNCO0FBQ3BDLG1CQUFLUixNQUFMLENBQVlTLFlBQVosR0FBMkJELFVBQTNCO0FBQ0EsbUJBQUtSLE1BQUwsQ0FBWVUsWUFBWixDQUF5QixDQUF6QixFQUE0QixRQUE1QixFQUFzQyxLQUF0QztBQUNILGFBSGlCLENBR2hCQyxJQUhnQixDQUdYLElBSFcsQ0FBbEI7QUFJSDs7QUFDRCxlQUFLWCxNQUFMLENBQVlZLElBQVosQ0FBaUIvQyxNQUFqQixHQUEwQixJQUExQjtBQUNILFNBVkQsTUFVTztBQUNILGNBQUksS0FBS21DLE1BQVQsRUFBaUI7QUFDYixpQkFBS0EsTUFBTCxDQUFZWSxJQUFaLENBQWlCL0MsTUFBakIsR0FBMEIsS0FBMUI7QUFDSDtBQUNKOztBQUNELGFBQUttQixRQUFMLENBQWM2QixrQkFBZCxDQUFpQyxJQUFqQztBQUNBLGFBQUsvQyxPQUFMLENBQWFELE1BQWIsR0FBc0IsS0FBdEI7QUFDQSxhQUFLRCxNQUFMLENBQVlDLE1BQVosR0FBcUIsS0FBckI7QUFDSCxPQW5CRCxNQW1CTyxJQUFJa0IsSUFBSSxDQUFDZSxNQUFMLElBQWUsQ0FBbkIsRUFBc0I7QUFBSztBQUM5QixZQUFJLEtBQUtFLE1BQVQsRUFBaUI7QUFDYixlQUFLQSxNQUFMLENBQVlZLElBQVosQ0FBaUIvQyxNQUFqQixHQUEwQixLQUExQjtBQUNIOztBQUNELGFBQUtDLE9BQUwsQ0FBYUQsTUFBYixHQUFzQixJQUF0QjtBQUNBLGFBQUtELE1BQUwsQ0FBWUMsTUFBWixHQUFxQixLQUFyQjtBQUNBLGFBQUttQixRQUFMLENBQWM2QixrQkFBZCxDQUFpQyxJQUFqQztBQUNILE9BUE0sTUFPQSxJQUFJOUIsSUFBSSxDQUFDZSxNQUFMLElBQWUsQ0FBbkIsRUFBc0I7QUFDekIsWUFBSSxLQUFLRSxNQUFULEVBQWlCO0FBQ2IsZUFBS0EsTUFBTCxDQUFZWSxJQUFaLENBQWlCL0MsTUFBakIsR0FBMEIsS0FBMUI7QUFDSDs7QUFDRCxhQUFLQyxPQUFMLENBQWFELE1BQWIsR0FBc0IsS0FBdEI7QUFDQSxhQUFLRCxNQUFMLENBQVlDLE1BQVosR0FBcUIsSUFBckI7QUFDQSxhQUFLbUIsUUFBTCxDQUFjOEIsaUJBQWQsQ0FBZ0MsSUFBaEM7QUFDSDtBQUNKOztBQUVELFFBQUkvQixJQUFJLENBQUNnQyxPQUFMLElBQWMsSUFBbEIsRUFBd0I7QUFDcEIsVUFBSWhDLElBQUksQ0FBQ2dDLE9BQUwsSUFBZ0IsQ0FBcEIsRUFBdUI7QUFDbkIsYUFBSy9DLFVBQUwsQ0FBZ0JnRCxjQUFoQixDQUErQixJQUEvQixFQUFxQyxHQUFyQyxFQUEwQ0MsWUFBWSxDQUFDQyxRQUF2RCxFQUFpRSxJQUFqRSxFQUF1RSxHQUF2RTtBQUNILE9BRkQsTUFFTztBQUNILGFBQUtsRCxVQUFMLENBQWdCZ0QsY0FBaEIsQ0FBK0IsS0FBL0I7QUFDSDtBQUNKO0FBRUosR0F6R3lCO0FBMkcxQkcsRUFBQUEsV0FBVyxFQUFFLHFCQUFVQyxLQUFWLEVBQWlCO0FBQzFCLFFBQUksS0FBS3ZDLFFBQUwsSUFBaUIsSUFBckIsRUFDSSxLQUFLQSxRQUFMLEdBQWdCdUMsS0FBaEI7QUFDUCxHQTlHeUI7QUFnSDFCQyxFQUFBQSxPQUFPLEVBQUUsbUJBQVk7QUFDakIsV0FBTyxLQUFLdEMsSUFBWjtBQUNILEdBbEh5QjtBQW9IMUJ1QyxFQUFBQSxlQUFlLEVBQUUsMkJBQVk7QUFDekIsUUFBSSxLQUFLdEMsUUFBVCxFQUFtQjtBQUNmLGFBQU8sS0FBS0EsUUFBTCxDQUFjdUMsV0FBZCxFQUFQO0FBQ0g7QUFDSixHQXhIeUI7QUEwSDFCO0FBQ0FDLEVBQUFBLE1BQU0sRUFBRSxrQkFBWSxDQUVuQixDQTdIeUI7QUErSDFCO0FBQ0FDLEVBQUFBLFFBQVEsRUFBRSxvQkFBWTtBQUNsQixRQUFJLEtBQUt6RCxVQUFULEVBQXFCO0FBQ2pCLFdBQUtBLFVBQUwsQ0FBZ0IwRCxRQUFoQjtBQUNBLFdBQUsxRCxVQUFMLEdBQWtCLElBQWxCO0FBQ0g7O0FBQ0QsUUFBSSxLQUFLZ0MsTUFBVCxFQUFpQjtBQUNiLFdBQUtBLE1BQUwsQ0FBWTJCLGNBQVo7QUFDQSxXQUFLM0IsTUFBTCxDQUFZNEIsV0FBWjtBQUNIO0FBQ0o7QUF6SXlCLENBQVQsQ0FBckIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAYXV0aG9yOiB4eHhAc3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICDnrb7liLDlrZDpoblcbi8vIDxici8+Q3JlYXRlOiAyMDE5LTAzLTA2IDE1OjI3OjM5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIFBhdGhUb29sID0gcmVxdWlyZShcInBhdGh0b29sXCIpO1xudmFyIFNpZ25faXRlbVBhbmVsID0gY2MuQ2xhc3Moe1xuICAgIGV4dGVuZHM6IEJhc2VQYW5lbCxcbiAgICBjdG9yOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMucHJlZmFiUGF0aCA9IFBhdGhUb29sLmdldFByZWZhYlBhdGgoXCJ3ZWxmYXJlXCIsIFwic2lnbl9pdGVtXCIpO1xuICAgIH0sXG5cbiAgICAvLyDlj6/ku6XliJ3lp4vljJblo7DmmI7kuIDkupvlj5jph4/nmoRcbiAgICBpbml0Q29uZmlnOiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgLy8g5Yid5aeL5YyW5LiA5Lqb6YWN572u5pWw5o2uLOWPr+S7peeUqOS6juWjsOaYjuS4gOS6m+WPmOmHj+S5i+exu+eahFxuICAgIGluaXRQYW5lbDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLm1haW5fY29udGFpbmVyX25kID0gdGhpcy5zZWVrQ2hpbGQoXCJtYWluX2NvbnRhaW5lclwiKTtcbiAgICAgICAgdGhpcy5nZXRfbmQgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLm1haW5fY29udGFpbmVyX25kLCBcImdldFwiKTtcbiAgICAgICAgdGhpcy5nZXRfbmQuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZ2V0Ml9uZCA9IHRoaXMuc2Vla0NoaWxkKHRoaXMubWFpbl9jb250YWluZXJfbmQsIFwiZ2V0MlwiKTtcbiAgICAgICAgdGhpcy5nZXQyX25kLmFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgICAgIHZhciBnb29kY29uID0gdGhpcy5zZWVrQ2hpbGQoXCJnb29kY29uXCIpXG4gICAgICAgIHRoaXMuZ29vZHNfaXRlbSA9IEl0ZW1zUG9vbC5nZXRJbnN0YW5jZSgpLmdldEl0ZW0oXCJiYWNrcGFja19pdGVtXCIpO1xuICAgICAgICB0aGlzLmdvb2RzX2l0ZW0uc2hvdygpO1xuICAgICAgICB0aGlzLmdvb2RzX2l0ZW0uaW5pdENvbmZpZyhmYWxzZSwgMC45LCBmYWxzZSwgZmFsc2UpO1xuICAgICAgICB0aGlzLmdvb2RzX2l0ZW0uc2V0UG9zaXRpb24oMTA3IC8gMiwgMTA3IC8gMik7XG4gICAgICAgIHRoaXMuZ29vZHNfaXRlbS5zZXRQYXJlbnQoZ29vZGNvbik7XG5cbiAgICAgICAgdGhpcy50b3VjaF9uZCA9IHRoaXMuc2Vla0NoaWxkKFwidG91Y2hcIik7XG4gICAgfSxcblxuICAgIC8vIOazqOWGjOS6i+S7tuebkeWQrOeahOaOpeWPoyzkuI3pnIDopoHmiYvliqjosIPnlKgs5aaC5p6c5piv5L2/55SoZ2NvcmUuR2xvYmFsRXZlbnTnm5HlkKws5Y+v5Lul55u05o6l6LCD55SoYWRkR2xvYmFsRXZlbnRcbiAgICByZWdpc3RlckV2ZW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMudG91Y2hfbmQub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsbGJhY2sodGhpcylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgdGhpcylcbiAgICB9LFxuXG4gICAgc2V0RGF0YTogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICAgICAgaWYgKHRoaXMucm9vdF93bmQpXG4gICAgICAgICAgICB0aGlzLm9uU2hvdygpO1xuICAgIH0sXG5cbiAgICAvLyDpooTliLbkvZPliqDovb3lrozmiJDkuYvlkI4s5re75Yqg5Yiw5a+55bqU5Li76IqC54K55LmL5ZCO55qE5Zue6LCD5Y+v5Lul6K6+572u5LiA5Lqb5pWw5o2u5LqGXG4gICAgb25TaG93OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMudG91Y2hfbmQubmFtZSA9IFwic2lnbl9idG5fXCIgKyB0aGlzLmRhdGEuZGF5O1xuXG4gICAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCkgcmV0dXJuXG4gICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAvL+W8leWvvOmcgOimgVxuICAgICAgICBpZiAoZGF0YS5pbmRleCkge1xuXG4gICAgICAgIH1cbiAgICAgICAgdmFyIHZvID0ge307XG4gICAgICAgIHZvID0gVXRpbHMuZGVlcENvcHkoVXRpbHMuZ2V0SXRlbUNvbmZpZyhkYXRhLnJld2FyZHNbMF1bMF0pKTtcbiAgICAgICAgdm8ucXVhbnRpdHkgPSBkYXRhLnJld2FyZHNbMF1bMV07XG4gICAgICAgIHZvLm51bSA9IHZvLnF1YW50aXR5O1xuICAgICAgICB2by5iaWQgPSB2by5pZDtcbiAgICAgICAgdGhpcy5nb29kc19pdGVtLnNldERhdGEodm8pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzID09IDApIHsgICAvL+ayoemihlxuICAgICAgICAgICAgICAgIGlmIChkYXRhLm5vd19kYXkgPT0gZGF0YS5kYXkpIHsgICAvL+aYr+S7iuWkqVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5lZmZlY3QgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lZmZlY3QgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLm1haW5fY29udGFpbmVyX25kLCBcImVmZmVjdFwiLCBzcC5Ta2VsZXRvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzID0gY2MuanMuZm9ybWF0U3RyKFwic3BpbmUvJXMvYWN0aW9uLmF0bGFzXCIsIFBhdGhUb29sLmdldEVmZmVjdFJlcygyNjIpKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUmVzKHJlcywgZnVuY3Rpb24gKHJlc19vYmplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdC5za2VsZXRvbkRhdGEgPSByZXNfb2JqZWN0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0LnNldEFuaW1hdGlvbigwLCBcImFjdGlvblwiLCBmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdC5ub2RlLmFjdGl2ZSA9IHRydWVcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5lZmZlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0Lm5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yb290X3duZC5yZXN1bWVTeXN0ZW1FdmVudHModHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXQyX25kLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0X25kLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhLnN0YXR1cyA9PSAxKSB7ICAgIC8v6aKG5Y+W5pmu6YCa5aWW5YqxXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWZmZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0Lm5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Ml9uZC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0X25kLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMucm9vdF93bmQucmVzdW1lU3lzdGVtRXZlbnRzKHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhLnN0YXR1cyA9PSAyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWZmZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0Lm5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Ml9uZC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmdldF9uZC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMucm9vdF93bmQucGF1c2VTeXN0ZW1FdmVudHModHJ1ZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLmlzX3Nob3chPW51bGwpIHtcbiAgICAgICAgICAgIGlmIChkYXRhLmlzX3Nob3cgPT0gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ29vZHNfaXRlbS5zaG93SXRlbUVmZmVjdCh0cnVlLCAyNjMsIFBsYXllckFjdGlvbi5hY3Rpb25fMiwgdHJ1ZSwgMS4xKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb29kc19pdGVtLnNob3dJdGVtRWZmZWN0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfSxcblxuICAgIGFkZENhbGxCYWNrOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMuY2FsbGJhY2sgPT0gbnVsbClcbiAgICAgICAgICAgIHRoaXMuY2FsbGJhY2sgPSB2YWx1ZTtcbiAgICB9LFxuXG4gICAgZ2V0RGF0YTogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhXG4gICAgfSxcblxuICAgIGdldEl0ZW1Qb3NpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5yb290X3duZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm9vdF93bmQuZ2V0UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDpnaLmnb/orr7nva7kuI3lj6/op4HnmoTlm57osIMs6L+Z6YeM5YGa5LiA5Lqb5LiN5Y+v6KeB55qE5bGP6JS95aSE55CGXG4gICAgb25IaWRlOiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgLy8g5b2T6Z2i5p2/5LuO5Li76IqC54K56YeK5pS+5o6J55qE6LCD55So5o6l5Y+jLOmcgOimgeaJi+WKqOiwg+eUqCzogIzkuJTkuZ/kuIDlrpropoHosIPnlKhcbiAgICBvbkRlbGV0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5nb29kc19pdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmdvb2RzX2l0ZW0uZGVsZXRlTWUoKTtcbiAgICAgICAgICAgIHRoaXMuZ29vZHNfaXRlbSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZWZmZWN0KSB7XG4gICAgICAgICAgICB0aGlzLmVmZmVjdC5zZXRUb1NldHVwUG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5lZmZlY3QuY2xlYXJUcmFja3MoKTtcbiAgICAgICAgfVxuICAgIH0sXG59KSJdfQ==