(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/mod/adventureactivity/view/adventureactivity_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, '53fe27YedtO7IamEbg1xEYV', 'adventureactivity_window'); // Scripts/mod/adventureactivity/view/adventureactivity_window.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里是描述这个窗体的作用的 //
Create: 2019-05-08 14:28:04 // -------------------------------------------------------------------- var PathTool = require("pathtool"); var AdventureEvent = require("adventure_event"); var AdventureactivityWindow = cc.Class({ "extends": BaseView, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("adventureactivity", "adventureactivity_window"); this.viewTag = SCENE_TAG.ui; //该窗体所属ui层级,全屏ui需要在ui层,非全屏ui在dialogue层,这个要注意 this.win_type = WinType.Full; //是否是全屏窗体 WinType.Full, WinType.Big, WinType.Mini, WinType.Tips this.ctrl = arguments[0]; this.model = this.ctrl.getModel(); }, // 初始化一些配置数据,可以用于声明一些变量之类的 initConfig: function initConfig() {}, // 预制体加载完成之后的回调,可以在这里捕获相关节点或者组件 openCallBack: function openCallBack() { this.background = this.root_wnd.getChildByName("background").getComponent(cc.Sprite); this.background.node.scale = FIT_SCALE; var res = PathTool.getBigBg("bigbg_83"); this.loadRes(res, function (resObject) { this.background.spriteFrame = resObject; }.bind(this)); var main_panel = this.root_wnd.getChildByName("main_container"); this.close_btn = main_panel.getChildByName("close_btn"); var scroll_list = main_panel.getChildByName("scroll_list"); var scroll_view_size = scroll_list.getContentSize(); var AdventureActivityItem = require("adventureactivity_item_panel"); var setting = { item_class: AdventureActivityItem, // 单元类 start_x: 0, // 第一个单元的X起点 space_x: 0, // x方向的间隔 start_y: 0, // 第一个单元的Y起点 space_y: 23, // y方向的间隔 item_width: 687, // 单元的尺寸width item_height: 214, // 单元的尺寸height row: 0, // 行数,作用于水平滚动类型 col: 1, // 列数,作用于垂直滚动类型 need_dynamic: true }; var CommonScrollView = require("common_scrollview"); this.item_scrollview = new CommonScrollView(); this.item_scrollview.createScroll(scroll_list, cc.v2(0, 0), ScrollViewDir.vertical, ScrollViewStartPos.top, scroll_view_size, setting); }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent: function registerEvent() { Utils.onTouchEnd(this.close_btn, function () { this.ctrl.openAdventureActivityMainWindow(false); }.bind(this), 2); // 冒险红点 this.addGlobalEvent(AdventureEvent.UpdateAdventureForm, function () { this.updateItemListRedStatus(); }.bind(this)); // //元素圣殿红点 // this.addGlobalEvent(ElementEvent.Update_Element_Red_Status, (function(){ // this.updateItemListRedStatus(); // }).bind(this)); // //天界副本红点 // this.addGlobalEvent(HeavenEvent.Update_Heaven_Red_Status, (function(){ // this.updateItemListRedStatus(); // }).bind(this)); }, updateItemListRedStatus: function updateItemListRedStatus() { if (!this.item_scrollview) return; var item_list = this.item_scrollview.getItemList(); if (item_list) { for (var i in item_list) { item_list[i].updateRedStatus(); } } }, // 预制体加载完成之后,添加到对应主节点之后的回调,也就是一个窗体的正式入口,可以设置一些数据了 openRootWnd: function openRootWnd(params) { if (this.item_scrollview) { var adventure_data = Config.cross_ground_data.data_adventure_activity; var list = []; for (var i in adventure_data) { if (adventure_data[i].id == 1) { //屏蔽天界 list.push(adventure_data[i]); } } this.item_scrollview.setData(list); } }, // 关闭窗体回调,需要在这里调用该窗体所属controller的close方法没用于置空该窗体实例对象 closeCallBack: function closeCallBack() { if (this.item_scrollview) { this.item_scrollview.deleteMe(); this.item_scrollview = null; } this.ctrl.openAdventureActivityMainWindow(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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxhZHZlbnR1cmVhY3Rpdml0eVxcdmlld1xcYWR2ZW50dXJlYWN0aXZpdHlfd2luZG93LmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIkFkdmVudHVyZUV2ZW50IiwiQWR2ZW50dXJlYWN0aXZpdHlXaW5kb3ciLCJjYyIsIkNsYXNzIiwiQmFzZVZpZXciLCJjdG9yIiwicHJlZmFiUGF0aCIsImdldFByZWZhYlBhdGgiLCJ2aWV3VGFnIiwiU0NFTkVfVEFHIiwidWkiLCJ3aW5fdHlwZSIsIldpblR5cGUiLCJGdWxsIiwiY3RybCIsImFyZ3VtZW50cyIsIm1vZGVsIiwiZ2V0TW9kZWwiLCJpbml0Q29uZmlnIiwib3BlbkNhbGxCYWNrIiwiYmFja2dyb3VuZCIsInJvb3Rfd25kIiwiZ2V0Q2hpbGRCeU5hbWUiLCJnZXRDb21wb25lbnQiLCJTcHJpdGUiLCJub2RlIiwic2NhbGUiLCJGSVRfU0NBTEUiLCJyZXMiLCJnZXRCaWdCZyIsImxvYWRSZXMiLCJyZXNPYmplY3QiLCJzcHJpdGVGcmFtZSIsImJpbmQiLCJtYWluX3BhbmVsIiwiY2xvc2VfYnRuIiwic2Nyb2xsX2xpc3QiLCJzY3JvbGxfdmlld19zaXplIiwiZ2V0Q29udGVudFNpemUiLCJBZHZlbnR1cmVBY3Rpdml0eUl0ZW0iLCJzZXR0aW5nIiwiaXRlbV9jbGFzcyIsInN0YXJ0X3giLCJzcGFjZV94Iiwic3RhcnRfeSIsInNwYWNlX3kiLCJpdGVtX3dpZHRoIiwiaXRlbV9oZWlnaHQiLCJyb3ciLCJjb2wiLCJuZWVkX2R5bmFtaWMiLCJDb21tb25TY3JvbGxWaWV3IiwiaXRlbV9zY3JvbGx2aWV3IiwiY3JlYXRlU2Nyb2xsIiwidjIiLCJTY3JvbGxWaWV3RGlyIiwidmVydGljYWwiLCJTY3JvbGxWaWV3U3RhcnRQb3MiLCJ0b3AiLCJyZWdpc3RlckV2ZW50IiwiVXRpbHMiLCJvblRvdWNoRW5kIiwib3BlbkFkdmVudHVyZUFjdGl2aXR5TWFpbldpbmRvdyIsImFkZEdsb2JhbEV2ZW50IiwiVXBkYXRlQWR2ZW50dXJlRm9ybSIsInVwZGF0ZUl0ZW1MaXN0UmVkU3RhdHVzIiwiaXRlbV9saXN0IiwiZ2V0SXRlbUxpc3QiLCJpIiwidXBkYXRlUmVkU3RhdHVzIiwib3BlblJvb3RXbmQiLCJwYXJhbXMiLCJhZHZlbnR1cmVfZGF0YSIsIkNvbmZpZyIsImNyb3NzX2dyb3VuZF9kYXRhIiwiZGF0YV9hZHZlbnR1cmVfYWN0aXZpdHkiLCJsaXN0IiwiaWQiLCJwdXNoIiwic2V0RGF0YSIsImNsb3NlQ2FsbEJhY2siLCJkZWxldGVNZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUNBLElBQUlDLGNBQWMsR0FBR0QsT0FBTyxDQUFDLGlCQUFELENBQTVCOztBQUVBLElBQUlFLHVCQUF1QixHQUFHQyxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUNuQyxhQUFTQyxRQUQwQjtBQUVuQ0MsRUFBQUEsSUFBSSxFQUFFLGdCQUFZO0FBQ2QsU0FBS0MsVUFBTCxHQUFrQlIsUUFBUSxDQUFDUyxhQUFULENBQXVCLG1CQUF2QixFQUE0QywwQkFBNUMsQ0FBbEI7QUFDQSxTQUFLQyxPQUFMLEdBQWVDLFNBQVMsQ0FBQ0MsRUFBekIsQ0FGYyxDQUU4Qjs7QUFDNUMsU0FBS0MsUUFBTCxHQUFnQkMsT0FBTyxDQUFDQyxJQUF4QixDQUhjLENBRzhCOztBQUM1QyxTQUFLQyxJQUFMLEdBQVlDLFNBQVMsQ0FBQyxDQUFELENBQXJCO0FBQ0EsU0FBS0MsS0FBTCxHQUFhLEtBQUtGLElBQUwsQ0FBVUcsUUFBVixFQUFiO0FBQ0gsR0FSa0M7QUFVbkM7QUFDQUMsRUFBQUEsVUFBVSxFQUFDLHNCQUFVLENBRXBCLENBYmtDO0FBZW5DO0FBQ0FDLEVBQUFBLFlBQVksRUFBQyx3QkFBVTtBQUNuQixTQUFLQyxVQUFMLEdBQWtCLEtBQUtDLFFBQUwsQ0FBY0MsY0FBZCxDQUE2QixZQUE3QixFQUEyQ0MsWUFBM0MsQ0FBd0RyQixFQUFFLENBQUNzQixNQUEzRCxDQUFsQjtBQUNBLFNBQUtKLFVBQUwsQ0FBZ0JLLElBQWhCLENBQXFCQyxLQUFyQixHQUE2QkMsU0FBN0I7QUFDQSxRQUFJQyxHQUFHLEdBQUc5QixRQUFRLENBQUMrQixRQUFULENBQWtCLFVBQWxCLENBQVY7QUFDQSxTQUFLQyxPQUFMLENBQWFGLEdBQWIsRUFBa0IsVUFBU0csU0FBVCxFQUFtQjtBQUNqQyxXQUFLWCxVQUFMLENBQWdCWSxXQUFoQixHQUE4QkQsU0FBOUI7QUFDSCxLQUZnQixDQUVkRSxJQUZjLENBRVQsSUFGUyxDQUFqQjtBQUlBLFFBQUlDLFVBQVUsR0FBRyxLQUFLYixRQUFMLENBQWNDLGNBQWQsQ0FBNkIsZ0JBQTdCLENBQWpCO0FBQ0EsU0FBS2EsU0FBTCxHQUFpQkQsVUFBVSxDQUFDWixjQUFYLENBQTBCLFdBQTFCLENBQWpCO0FBQ0EsUUFBSWMsV0FBVyxHQUFHRixVQUFVLENBQUNaLGNBQVgsQ0FBMEIsYUFBMUIsQ0FBbEI7QUFDQSxRQUFJZSxnQkFBZ0IsR0FBR0QsV0FBVyxDQUFDRSxjQUFaLEVBQXZCOztBQUNBLFFBQUlDLHFCQUFxQixHQUFHeEMsT0FBTyxDQUFDLDhCQUFELENBQW5DOztBQUNBLFFBQUl5QyxPQUFPLEdBQUc7QUFDVkMsTUFBQUEsVUFBVSxFQUFFRixxQkFERjtBQUM4QjtBQUN4Q0csTUFBQUEsT0FBTyxFQUFFLENBRkM7QUFFbUI7QUFDN0JDLE1BQUFBLE9BQU8sRUFBRSxDQUhDO0FBR3FCO0FBQy9CQyxNQUFBQSxPQUFPLEVBQUUsQ0FKQztBQUlxQjtBQUMvQkMsTUFBQUEsT0FBTyxFQUFFLEVBTEM7QUFLcUI7QUFDL0JDLE1BQUFBLFVBQVUsRUFBRSxHQU5GO0FBTXFCO0FBQy9CQyxNQUFBQSxXQUFXLEVBQUUsR0FQSDtBQU9xQjtBQUMvQkMsTUFBQUEsR0FBRyxFQUFFLENBUks7QUFRcUI7QUFDL0JDLE1BQUFBLEdBQUcsRUFBRSxDQVRLO0FBU3NCO0FBQ2hDQyxNQUFBQSxZQUFZLEVBQUU7QUFWSixLQUFkOztBQVlBLFFBQUlDLGdCQUFnQixHQUFHcEQsT0FBTyxDQUFDLG1CQUFELENBQTlCOztBQUNBLFNBQUtxRCxlQUFMLEdBQXVCLElBQUlELGdCQUFKLEVBQXZCO0FBQ0EsU0FBS0MsZUFBTCxDQUFzQkMsWUFBdEIsQ0FBbUNqQixXQUFuQyxFQUFnRGxDLEVBQUUsQ0FBQ29ELEVBQUgsQ0FBTSxDQUFOLEVBQVEsQ0FBUixDQUFoRCxFQUE2REMsYUFBYSxDQUFDQyxRQUEzRSxFQUFxRkMsa0JBQWtCLENBQUNDLEdBQXhHLEVBQTZHckIsZ0JBQTdHLEVBQStIRyxPQUEvSDtBQUNILEdBNUNrQztBQThDbkM7QUFDQW1CLEVBQUFBLGFBQWEsRUFBQyx5QkFBVTtBQUNwQkMsSUFBQUEsS0FBSyxDQUFDQyxVQUFOLENBQWlCLEtBQUsxQixTQUF0QixFQUFpQyxZQUFZO0FBQ3pDLFdBQUtyQixJQUFMLENBQVVnRCwrQkFBVixDQUEwQyxLQUExQztBQUNILEtBRmdDLENBRS9CN0IsSUFGK0IsQ0FFMUIsSUFGMEIsQ0FBakMsRUFFYyxDQUZkLEVBRG9CLENBS3BCOztBQUNBLFNBQUs4QixjQUFMLENBQW9CL0QsY0FBYyxDQUFDZ0UsbUJBQW5DLEVBQXlELFlBQVU7QUFDL0QsV0FBS0MsdUJBQUw7QUFDSCxLQUZ1RCxDQUVyRGhDLElBRnFELENBRWhELElBRmdELENBQXhELEVBTm9CLENBVXBCO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDSCxHQWxFa0M7QUFvRW5DZ0MsRUFBQUEsdUJBQXVCLEVBQUMsbUNBQVU7QUFDOUIsUUFBRyxDQUFDLEtBQUtiLGVBQVQsRUFBeUI7QUFDekIsUUFBSWMsU0FBUyxHQUFHLEtBQUtkLGVBQUwsQ0FBcUJlLFdBQXJCLEVBQWhCOztBQUNBLFFBQUdELFNBQUgsRUFBYTtBQUNULFdBQUksSUFBSUUsQ0FBUixJQUFhRixTQUFiLEVBQXVCO0FBQ25CQSxRQUFBQSxTQUFTLENBQUNFLENBQUQsQ0FBVCxDQUFhQyxlQUFiO0FBQ0g7QUFDSjtBQUNKLEdBNUVrQztBQThFbkM7QUFDQUMsRUFBQUEsV0FBVyxFQUFDLHFCQUFTQyxNQUFULEVBQWdCO0FBQ3hCLFFBQUcsS0FBS25CLGVBQVIsRUFBd0I7QUFDcEIsVUFBSW9CLGNBQWMsR0FBR0MsTUFBTSxDQUFDQyxpQkFBUCxDQUF5QkMsdUJBQTlDO0FBQ0EsVUFBSUMsSUFBSSxHQUFHLEVBQVg7O0FBRUEsV0FBSSxJQUFJUixDQUFSLElBQWFJLGNBQWIsRUFBNEI7QUFDeEIsWUFBR0EsY0FBYyxDQUFDSixDQUFELENBQWQsQ0FBa0JTLEVBQWxCLElBQXdCLENBQTNCLEVBQTZCO0FBQUM7QUFDMUJELFVBQUFBLElBQUksQ0FBQ0UsSUFBTCxDQUFVTixjQUFjLENBQUNKLENBQUQsQ0FBeEI7QUFDSDtBQUNKOztBQUNQLFdBQUtoQixlQUFMLENBQXFCMkIsT0FBckIsQ0FBNkJILElBQTdCO0FBQ0c7QUFDSixHQTNGa0M7QUE2Rm5DO0FBQ0FJLEVBQUFBLGFBQWEsRUFBQyx5QkFBVTtBQUNwQixRQUFHLEtBQUs1QixlQUFSLEVBQXdCO0FBQ3BCLFdBQUtBLGVBQUwsQ0FBcUI2QixRQUFyQjtBQUNBLFdBQUs3QixlQUFMLEdBQXVCLElBQXZCO0FBQ0g7O0FBQ0QsU0FBS3RDLElBQUwsQ0FBVWdELCtCQUFWLENBQTBDLEtBQTFDO0FBQ0g7QUFwR2tDLENBQVQsQ0FBOUIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAYXV0aG9yOiB4eHhAc3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICDov5nph4zmmK/mj4/ov7Dov5nkuKrnqpfkvZPnmoTkvZznlKjnmoRcbi8vIDxici8+Q3JlYXRlOiAyMDE5LTA1LTA4IDE0OjI4OjA0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIFBhdGhUb29sID0gcmVxdWlyZShcInBhdGh0b29sXCIpO1xudmFyIEFkdmVudHVyZUV2ZW50ID0gcmVxdWlyZShcImFkdmVudHVyZV9ldmVudFwiKTtcblxudmFyIEFkdmVudHVyZWFjdGl2aXR5V2luZG93ID0gY2MuQ2xhc3Moe1xuICAgIGV4dGVuZHM6IEJhc2VWaWV3LFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5wcmVmYWJQYXRoID0gUGF0aFRvb2wuZ2V0UHJlZmFiUGF0aChcImFkdmVudHVyZWFjdGl2aXR5XCIsIFwiYWR2ZW50dXJlYWN0aXZpdHlfd2luZG93XCIpO1xuICAgICAgICB0aGlzLnZpZXdUYWcgPSBTQ0VORV9UQUcudWk7ICAgICAgICAgICAgICAgIC8v6K+l56qX5L2T5omA5bGedWnlsYLnuqcs5YWo5bGPdWnpnIDopoHlnKh1aeWxgizpnZ7lhajlsY91aeWcqGRpYWxvZ3Vl5bGCLOi/meS4quimgeazqOaEj1xuICAgICAgICB0aGlzLndpbl90eXBlID0gV2luVHlwZS5GdWxsOyAgICAgICAgICAgICAgIC8v5piv5ZCm5piv5YWo5bGP56qX5L2TICBXaW5UeXBlLkZ1bGwsIFdpblR5cGUuQmlnLCBXaW5UeXBlLk1pbmksIFdpblR5cGUuVGlwc1xuICAgICAgICB0aGlzLmN0cmwgPSBhcmd1bWVudHNbMF07XG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLmN0cmwuZ2V0TW9kZWwoKTtcbiAgICB9LFxuXG4gICAgLy8g5Yid5aeL5YyW5LiA5Lqb6YWN572u5pWw5o2uLOWPr+S7peeUqOS6juWjsOaYjuS4gOS6m+WPmOmHj+S5i+exu+eahFxuICAgIGluaXRDb25maWc6ZnVuY3Rpb24oKXtcblxuICAgIH0sXG5cbiAgICAvLyDpooTliLbkvZPliqDovb3lrozmiJDkuYvlkI7nmoTlm57osIMs5Y+v5Lul5Zyo6L+Z6YeM5o2V6I6355u45YWz6IqC54K55oiW6ICF57uE5Lu2XG4gICAgb3BlbkNhbGxCYWNrOmZ1bmN0aW9uKCl7XG4gICAgICAgIHRoaXMuYmFja2dyb3VuZCA9IHRoaXMucm9vdF93bmQuZ2V0Q2hpbGRCeU5hbWUoXCJiYWNrZ3JvdW5kXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpO1xuICAgICAgICB0aGlzLmJhY2tncm91bmQubm9kZS5zY2FsZSA9IEZJVF9TQ0FMRTsgXG4gICAgICAgIHZhciByZXMgPSBQYXRoVG9vbC5nZXRCaWdCZyhcImJpZ2JnXzgzXCIpO1xuICAgICAgICB0aGlzLmxvYWRSZXMocmVzLChmdW5jdGlvbihyZXNPYmplY3Qpe1xuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kLnNwcml0ZUZyYW1lID0gcmVzT2JqZWN0O1xuICAgICAgICB9KS5iaW5kKHRoaXMpKTtcbiAgIFxuICAgICAgICB2YXIgbWFpbl9wYW5lbCA9IHRoaXMucm9vdF93bmQuZ2V0Q2hpbGRCeU5hbWUoXCJtYWluX2NvbnRhaW5lclwiKTtcbiAgICAgICAgdGhpcy5jbG9zZV9idG4gPSBtYWluX3BhbmVsLmdldENoaWxkQnlOYW1lKFwiY2xvc2VfYnRuXCIpO1xuICAgICAgICB2YXIgc2Nyb2xsX2xpc3QgPSBtYWluX3BhbmVsLmdldENoaWxkQnlOYW1lKFwic2Nyb2xsX2xpc3RcIik7XG4gICAgICAgIHZhciBzY3JvbGxfdmlld19zaXplID0gc2Nyb2xsX2xpc3QuZ2V0Q29udGVudFNpemUoKTtcbiAgICAgICAgdmFyIEFkdmVudHVyZUFjdGl2aXR5SXRlbSA9IHJlcXVpcmUoXCJhZHZlbnR1cmVhY3Rpdml0eV9pdGVtX3BhbmVsXCIpO1xuICAgICAgICB2YXIgc2V0dGluZyA9IHtcbiAgICAgICAgICAgIGl0ZW1fY2xhc3M6IEFkdmVudHVyZUFjdGl2aXR5SXRlbSwgICAgICAvLyDljZXlhYPnsbtcbiAgICAgICAgICAgIHN0YXJ0X3g6IDAsICAgICAgICAgICAgICAgICAgLy8g56ys5LiA5Liq5Y2V5YWD55qEWOi1t+eCuVxuICAgICAgICAgICAgc3BhY2VfeDogMCwgICAgICAgICAgICAgICAgICAgIC8vIHjmlrnlkJHnmoTpl7TpmpRcbiAgICAgICAgICAgIHN0YXJ0X3k6IDAsICAgICAgICAgICAgICAgICAgICAvLyDnrKzkuIDkuKrljZXlhYPnmoRZ6LW354K5XG4gICAgICAgICAgICBzcGFjZV95OiAyMywgICAgICAgICAgICAgICAgICAgLy8geeaWueWQkeeahOmXtOmalFxuICAgICAgICAgICAgaXRlbV93aWR0aDogNjg3LCAgICAgICAgICAgICAgIC8vIOWNleWFg+eahOWwuuWvuHdpZHRoXG4gICAgICAgICAgICBpdGVtX2hlaWdodDogMjE0LCAgICAgICAgICAgICAgLy8g5Y2V5YWD55qE5bC65a+4aGVpZ2h0XG4gICAgICAgICAgICByb3c6IDAsICAgICAgICAgICAgICAgICAgICAgICAgLy8g6KGM5pWw77yM5L2c55So5LqO5rC05bmz5rua5Yqo57G75Z6LXG4gICAgICAgICAgICBjb2w6IDEsICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWIl+aVsO+8jOS9nOeUqOS6juWeguebtOa7muWKqOexu+Wei1xuICAgICAgICAgICAgbmVlZF9keW5hbWljOiB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgdmFyIENvbW1vblNjcm9sbFZpZXcgPSByZXF1aXJlKFwiY29tbW9uX3Njcm9sbHZpZXdcIik7XG4gICAgICAgIHRoaXMuaXRlbV9zY3JvbGx2aWV3ID0gbmV3IENvbW1vblNjcm9sbFZpZXcoKTtcbiAgICAgICAgdGhpcy5pdGVtX3Njcm9sbHZpZXcgLmNyZWF0ZVNjcm9sbChzY3JvbGxfbGlzdCwgY2MudjIoMCwwKSAsIFNjcm9sbFZpZXdEaXIudmVydGljYWwsIFNjcm9sbFZpZXdTdGFydFBvcy50b3AsIHNjcm9sbF92aWV3X3NpemUsIHNldHRpbmcpO1xuICAgIH0sXG5cbiAgICAvLyDms6jlhozkuovku7bnm5HlkKznmoTmjqXlj6Ms5LiN6ZyA6KaB5omL5Yqo6LCD55SoLOWmguaenOaYr+S9v+eUqGdjb3JlLkdsb2JhbEV2ZW5055uR5ZCsLOWPr+S7peebtOaOpeiwg+eUqGFkZEdsb2JhbEV2ZW50XG4gICAgcmVnaXN0ZXJFdmVudDpmdW5jdGlvbigpe1xuICAgICAgICBVdGlscy5vblRvdWNoRW5kKHRoaXMuY2xvc2VfYnRuLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aGlzLmN0cmwub3BlbkFkdmVudHVyZUFjdGl2aXR5TWFpbldpbmRvdyhmYWxzZSk7XG4gICAgICAgIH0uYmluZCh0aGlzKSwgMik7XG5cbiAgICAgICAgLy8g5YaS6Zmp57qi54K5XG4gICAgICAgIHRoaXMuYWRkR2xvYmFsRXZlbnQoQWR2ZW50dXJlRXZlbnQuVXBkYXRlQWR2ZW50dXJlRm9ybSwgKGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUl0ZW1MaXN0UmVkU3RhdHVzKCk7XG4gICAgICAgIH0pLmJpbmQodGhpcykpO1xuXG4gICAgICAgIC8vIC8v5YWD57Sg5Zyj5q6/57qi54K5XG4gICAgICAgIC8vIHRoaXMuYWRkR2xvYmFsRXZlbnQoRWxlbWVudEV2ZW50LlVwZGF0ZV9FbGVtZW50X1JlZF9TdGF0dXMsIChmdW5jdGlvbigpe1xuICAgICAgICAvLyAgICAgdGhpcy51cGRhdGVJdGVtTGlzdFJlZFN0YXR1cygpO1xuICAgICAgICAvLyB9KS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAvLyAvL+WkqeeVjOWJr+acrOe6oueCuVxuICAgICAgICAvLyB0aGlzLmFkZEdsb2JhbEV2ZW50KEhlYXZlbkV2ZW50LlVwZGF0ZV9IZWF2ZW5fUmVkX1N0YXR1cywgKGZ1bmN0aW9uKCl7XG4gICAgICAgIC8vICAgICB0aGlzLnVwZGF0ZUl0ZW1MaXN0UmVkU3RhdHVzKCk7XG4gICAgICAgIC8vIH0pLmJpbmQodGhpcykpO1xuICAgIH0sXG5cbiAgICB1cGRhdGVJdGVtTGlzdFJlZFN0YXR1czpmdW5jdGlvbigpe1xuICAgICAgICBpZighdGhpcy5pdGVtX3Njcm9sbHZpZXcpcmV0dXJuO1xuICAgICAgICB2YXIgaXRlbV9saXN0ID0gdGhpcy5pdGVtX3Njcm9sbHZpZXcuZ2V0SXRlbUxpc3QoKTtcbiAgICAgICAgaWYoaXRlbV9saXN0KXtcbiAgICAgICAgICAgIGZvcih2YXIgaSBpbiBpdGVtX2xpc3Qpe1xuICAgICAgICAgICAgICAgIGl0ZW1fbGlzdFtpXS51cGRhdGVSZWRTdGF0dXMoKTsgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8g6aKE5Yi25L2T5Yqg6L295a6M5oiQ5LmL5ZCOLOa3u+WKoOWIsOWvueW6lOS4u+iKgueCueS5i+WQjueahOWbnuiwgyzkuZ/lsLHmmK/kuIDkuKrnqpfkvZPnmoTmraPlvI/lhaXlj6Ms5Y+v5Lul6K6+572u5LiA5Lqb5pWw5o2u5LqGXG4gICAgb3BlblJvb3RXbmQ6ZnVuY3Rpb24ocGFyYW1zKXtcbiAgICAgICAgaWYodGhpcy5pdGVtX3Njcm9sbHZpZXcpe1xuICAgICAgICAgICAgdmFyIGFkdmVudHVyZV9kYXRhID0gQ29uZmlnLmNyb3NzX2dyb3VuZF9kYXRhLmRhdGFfYWR2ZW50dXJlX2FjdGl2aXR5O1xuICAgICAgICAgICAgdmFyIGxpc3QgPSBbXTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgZm9yKHZhciBpIGluIGFkdmVudHVyZV9kYXRhKXtcbiAgICAgICAgICAgICAgICBpZihhZHZlbnR1cmVfZGF0YVtpXS5pZCA9PSAxKXsvL+Wxj+iUveWkqeeVjFxuICAgICAgICAgICAgICAgICAgICBsaXN0LnB1c2goYWR2ZW50dXJlX2RhdGFbaV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblx0XHQgICAgdGhpcy5pdGVtX3Njcm9sbHZpZXcuc2V0RGF0YShsaXN0KTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDlhbPpl63nqpfkvZPlm57osIMs6ZyA6KaB5Zyo6L+Z6YeM6LCD55So6K+l56qX5L2T5omA5bGeY29udHJvbGxlcueahGNsb3Nl5pa55rOV5rKh55So5LqO572u56m66K+l56qX5L2T5a6e5L6L5a+56LGhXG4gICAgY2xvc2VDYWxsQmFjazpmdW5jdGlvbigpe1xuICAgICAgICBpZih0aGlzLml0ZW1fc2Nyb2xsdmlldyl7XG4gICAgICAgICAgICB0aGlzLml0ZW1fc2Nyb2xsdmlldy5kZWxldGVNZSgpO1xuICAgICAgICAgICAgdGhpcy5pdGVtX3Njcm9sbHZpZXcgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3RybC5vcGVuQWR2ZW50dXJlQWN0aXZpdHlNYWluV2luZG93KGZhbHNlKTtcbiAgICB9LFxufSkiXX0=