|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/common/playerhead.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, '70f383+TA9FNYsybDVLsVk6', 'playerhead');
|
// Scripts/common/playerhead.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: shiraho@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 圆形头像
|
// <br/>Create: new Date().toISOString()
|
// --------------------------------------------------------------------
|
var PathTool = require("pathtool");
|
|
var PlayerHead = cc.Class({
|
"extends": BasePanel,
|
ctor: function ctor() {
|
this.prefabPath = PathTool.getPrefabPath("mainui", "head_item");
|
},
|
initPanel: function initPanel() {
|
// 头像部分
|
this.container = this.root_wnd.getChildByName("container");
|
this.icon = this.container.getChildByName("icon").getComponent(cc.Sprite); // 头像框
|
|
this.frame = this.root_wnd.getChildByName("frame").getComponent(cc.Sprite); // 等级部分
|
|
this.lev_container = this.root_wnd.getChildByName("lev_container");
|
this.lev_container.active = false;
|
this.lev = this.lev_container.getChildByName("lev").getComponent(cc.Label);
|
this.click_icon = this.root_wnd.getChildByName("click");
|
|
if (this.lev_value != null) {
|
this.lev.string = this.lev_value;
|
this.lev_container.active = true;
|
}
|
|
if (this.head_res) {
|
this.loadHeadRes(this.head_res);
|
}
|
|
if (this.frame_res != null) {
|
this.loadFrameRes(this.frame_res, this.frame_scale);
|
}
|
|
if (this.scale_value != null) {
|
this.setScale(this.scale_value);
|
}
|
|
if (this.grey_bool != null) {
|
this.setLockStatus(this.grey_bool);
|
}
|
},
|
registerEvent: function registerEvent() {
|
if (this.call_back) {
|
this.click_icon.on(cc.Node.EventType.TOUCH_END, function () {
|
this.call_back(this);
|
}, this);
|
}
|
},
|
onShow: function onShow() {},
|
onHide: function onHide() {},
|
// 点击事件
|
addCallBack: function addCallBack(call_back) {
|
this.call_back = call_back;
|
},
|
// 设置头像资源
|
setHeadRes: function setHeadRes(res) {
|
if (this.root_wnd) {
|
this.loadHeadRes(res);
|
} else {
|
this.head_res = res;
|
}
|
},
|
// 设置头像框资源
|
setFrameRes: function setFrameRes(res, scale) {
|
if (this.root_wnd) {
|
this.loadFrameRes(res, scale);
|
} else {
|
this.frame_res = res;
|
this.frame_scale = scale;
|
}
|
},
|
// 设置等级显示
|
setLev: function setLev(lev) {
|
if (this.root_wnd) {
|
this.lev.string = lev;
|
this.lev_container.active = true;
|
} else {
|
this.lev_value = lev;
|
}
|
},
|
// 设置锁定状态
|
setLockStatus: function setLockStatus(bool) {
|
this.grey_bool = bool;
|
if (this.root_wnd == null) return;
|
|
if (bool) {
|
this.icon.setState(cc.Sprite.State.NORMAL);
|
this.frame.setState(cc.Sprite.State.NORMAL);
|
} else {
|
this.icon.setState(cc.Sprite.State.GRAY);
|
this.frame.setState(cc.Sprite.State.GRAY);
|
}
|
},
|
// 加载资源,这里可能需要判断一下加载回来的是不是我需要的资源,私有方法 不能外部调用,外部滴啊用请用 setHeadRes
|
loadHeadRes: function loadHeadRes(res_id) {
|
var res_path = PathTool.getHeadRes(res_id);
|
this.loadRes(res_path, function (resObject) {
|
this.icon.spriteFrame = resObject;
|
}.bind(this));
|
},
|
// 加载资源,这里可能需要判断一下加载回来的是不是我需要的资源,私有方法 不能外部调用,外部滴啊用请用 setFrameRes
|
//scale默认比例是大部分需要缩放所以用了100/117,其他情况结合自己界面修改scale值
|
loadFrameRes: function loadFrameRes(bid, scale) {
|
if (scale == null) {
|
scale = 100 / 117;
|
}
|
|
if (typeof bid == "number") {
|
var config = Config.avatar_data.data_avatar[bid];
|
|
if (!config) {
|
return;
|
}
|
|
var res_path = PathTool.getHeadcircle(config.res_id);
|
this.loadRes(res_path, function (resObject) {
|
this.frame.spriteFrame = resObject;
|
}.bind(this));
|
this.frame.node.scale = scale;
|
|
if (bid == 1000) {
|
this.frame.node.y = 0;
|
} else {
|
this.frame.node.y = 5;
|
}
|
} else {
|
this.loadRes(bid, function (resObject) {
|
this.frame.spriteFrame = resObject;
|
}.bind(this));
|
this.frame.node.scale = scale;
|
}
|
},
|
setScale: function setScale(value) {
|
this.scale_value = value;
|
if (this.root_wnd) this.root_wnd.scale = value;
|
},
|
//背景框
|
showBg: function showBg(res, scale) {
|
this.setFrameRes(res, scale);
|
},
|
setSex: function setSex(sex, pos) {
|
if (sex == null || typeof sex != "number") return;
|
if (sex >= 2) return;
|
|
if (this.sex_icon_sp == null) {
|
this.sex_icon_sp = Utils.createImage(this.root_wnd, null, 0, 0, cc.v2(0, 0));
|
}
|
|
this.loadRes(PathTool.getUIIconPath("common", "common_sex" + sex), function (sp) {
|
this.sex_icon_sp.spriteFrame = sp;
|
}.bind(this));
|
|
if (pos != null && this.sex_icon_sp != null) {
|
this.sex_icon_sp.node.setPosition(pos);
|
}
|
},
|
onDelete: function onDelete() {// this.container.off(cc.Node.EventType.TOUCH_END, function () {}, this);
|
},
|
clearHead: function clearHead() {
|
this.icon.spriteFrame = 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcY29tbW9uXFxwbGF5ZXJoZWFkLmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIlBsYXllckhlYWQiLCJjYyIsIkNsYXNzIiwiQmFzZVBhbmVsIiwiY3RvciIsInByZWZhYlBhdGgiLCJnZXRQcmVmYWJQYXRoIiwiaW5pdFBhbmVsIiwiY29udGFpbmVyIiwicm9vdF93bmQiLCJnZXRDaGlsZEJ5TmFtZSIsImljb24iLCJnZXRDb21wb25lbnQiLCJTcHJpdGUiLCJmcmFtZSIsImxldl9jb250YWluZXIiLCJhY3RpdmUiLCJsZXYiLCJMYWJlbCIsImNsaWNrX2ljb24iLCJsZXZfdmFsdWUiLCJzdHJpbmciLCJoZWFkX3JlcyIsImxvYWRIZWFkUmVzIiwiZnJhbWVfcmVzIiwibG9hZEZyYW1lUmVzIiwiZnJhbWVfc2NhbGUiLCJzY2FsZV92YWx1ZSIsInNldFNjYWxlIiwiZ3JleV9ib29sIiwic2V0TG9ja1N0YXR1cyIsInJlZ2lzdGVyRXZlbnQiLCJjYWxsX2JhY2siLCJvbiIsIk5vZGUiLCJFdmVudFR5cGUiLCJUT1VDSF9FTkQiLCJvblNob3ciLCJvbkhpZGUiLCJhZGRDYWxsQmFjayIsInNldEhlYWRSZXMiLCJyZXMiLCJzZXRGcmFtZVJlcyIsInNjYWxlIiwic2V0TGV2IiwiYm9vbCIsInNldFN0YXRlIiwiU3RhdGUiLCJOT1JNQUwiLCJHUkFZIiwicmVzX2lkIiwicmVzX3BhdGgiLCJnZXRIZWFkUmVzIiwibG9hZFJlcyIsInJlc09iamVjdCIsInNwcml0ZUZyYW1lIiwiYmluZCIsImJpZCIsImNvbmZpZyIsIkNvbmZpZyIsImF2YXRhcl9kYXRhIiwiZGF0YV9hdmF0YXIiLCJnZXRIZWFkY2lyY2xlIiwibm9kZSIsInkiLCJ2YWx1ZSIsInNob3dCZyIsInNldFNleCIsInNleCIsInBvcyIsInNleF9pY29uX3NwIiwiVXRpbHMiLCJjcmVhdGVJbWFnZSIsInYyIiwiZ2V0VUlJY29uUGF0aCIsInNwIiwic2V0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Q0FBQ0MsV0FBTixDQUFrQixLQUFLL0QsUUFBdkIsRUFBaUMsSUFBakMsRUFBdUMsQ0FBdkMsRUFBMEMsQ0FBMUMsRUFBNkNSLEVBQUUsQ0FBQ3dFLEVBQUgsQ0FBTSxDQUFOLEVBQVEsQ0FBUixDQUE3QyxDQUFuQjtBQUNIOztBQUNELFNBQUtwQixPQUFMLENBQWF2RCxRQUFRLENBQUM0RSxhQUFULENBQXVCLFFBQXZCLEVBQWdDLGVBQWFOLEdBQTdDLENBQWIsRUFBK0QsVUFBU08sRUFBVCxFQUFZO0FBQ3ZFLFdBQUtMLFdBQUwsQ0FBaUJmLFdBQWpCLEdBQStCb0IsRUFBL0I7QUFDSCxLQUY4RCxDQUU3RG5CLElBRjZELENBRXhELElBRndELENBQS9EOztBQUdBLFFBQUdhLEdBQUcsSUFBSSxJQUFQLElBQWUsS0FBS0MsV0FBTCxJQUFvQixJQUF0QyxFQUEyQztBQUN2QyxXQUFLQSxXQUFMLENBQWlCUCxJQUFqQixDQUFzQmEsV0FBdEIsQ0FBa0NQLEdBQWxDO0FBQ0g7QUFDSixHQWxLcUI7QUFvS3RCUSxFQUFBQSxRQUFRLEVBQUUsb0JBQVksQ0FDbEI7QUFDSCxHQXRLcUI7QUF3S3RCQyxFQUFBQSxTQUFTLEVBQUUscUJBQVc7QUFDakIsU0FBS25FLElBQUwsQ0FBVTRDLFdBQVYsR0FBd0IsSUFBeEI7QUFDSjtBQTFLcUIsQ0FBVCxDQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHNoaXJhaG9Ac3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICAg5ZyG5b2i5aS05YOPXG4vLyA8YnIvPkNyZWF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIFBhdGhUb29sID0gcmVxdWlyZShcInBhdGh0b29sXCIpO1xuXG52YXIgUGxheWVySGVhZCA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlUGFuZWwsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnByZWZhYlBhdGggPSBQYXRoVG9vbC5nZXRQcmVmYWJQYXRoKFwibWFpbnVpXCIsIFwiaGVhZF9pdGVtXCIpO1xuICAgIH0sXG5cbiAgICBpbml0UGFuZWw6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8g5aS05YOP6YOo5YiGXG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5yb290X3duZC5nZXRDaGlsZEJ5TmFtZShcImNvbnRhaW5lclwiKTtcbiAgICAgICAgdGhpcy5pY29uID0gdGhpcy5jb250YWluZXIuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpO1xuXG4gICAgICAgIC8vIOWktOWDj+ahhlxuICAgICAgICB0aGlzLmZyYW1lID0gdGhpcy5yb290X3duZC5nZXRDaGlsZEJ5TmFtZShcImZyYW1lXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpO1xuXG4gICAgICAgIC8vIOetiee6p+mDqOWIhlxuICAgICAgICB0aGlzLmxldl9jb250YWluZXIgPSB0aGlzLnJvb3Rfd25kLmdldENoaWxkQnlOYW1lKFwibGV2X2NvbnRhaW5lclwiKTtcbiAgICAgICAgdGhpcy5sZXZfY29udGFpbmVyLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxldiA9IHRoaXMubGV2X2NvbnRhaW5lci5nZXRDaGlsZEJ5TmFtZShcImxldlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpO1xuXG4gICAgICAgIHRoaXMuY2xpY2tfaWNvbiA9IHRoaXMucm9vdF93bmQuZ2V0Q2hpbGRCeU5hbWUoXCJjbGlja1wiKTtcbiAgICAgICAgaWYgKHRoaXMubGV2X3ZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMubGV2LnN0cmluZyA9IHRoaXMubGV2X3ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5sZXZfY29udGFpbmVyLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaGVhZF9yZXMpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZEhlYWRSZXModGhpcy5oZWFkX3Jlcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZnJhbWVfcmVzICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZEZyYW1lUmVzKHRoaXMuZnJhbWVfcmVzLHRoaXMuZnJhbWVfc2NhbGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNjYWxlX3ZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U2NhbGUodGhpcy5zY2FsZV92YWx1ZSlcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ncmV5X2Jvb2wgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zZXRMb2NrU3RhdHVzKHRoaXMuZ3JleV9ib29sKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICByZWdpc3RlckV2ZW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmNhbGxfYmFjaykge1xuICAgICAgICAgICAgdGhpcy5jbGlja19pY29uLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsbF9iYWNrKHRoaXMpO1xuICAgICAgICAgICAgfSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgb25TaG93OiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgb25IaWRlOiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgLy8g54K55Ye75LqL5Lu2XG4gICAgYWRkQ2FsbEJhY2s6IGZ1bmN0aW9uIChjYWxsX2JhY2spIHtcbiAgICAgICAgdGhpcy5jYWxsX2JhY2sgPSBjYWxsX2JhY2s7XG4gICAgfSxcblxuICAgIC8vIOiuvue9ruWktOWDj+i1hOa6kFxuICAgIHNldEhlYWRSZXM6IGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgICAgaWYgKHRoaXMucm9vdF93bmQpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZEhlYWRSZXMocmVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGVhZF9yZXMgPSByZXM7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8g6K6+572u5aS05YOP5qGG6LWE5rqQXG4gICAgc2V0RnJhbWVSZXM6IGZ1bmN0aW9uIChyZXMsc2NhbGUpIHtcbiAgICAgICAgaWYgKHRoaXMucm9vdF93bmQpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZEZyYW1lUmVzKHJlcyxzY2FsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZyYW1lX3JlcyA9IHJlcztcbiAgICAgICAgICAgIHRoaXMuZnJhbWVfc2NhbGUgPSBzY2FsZTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDorr7nva7nrYnnuqfmmL7npLpcbiAgICBzZXRMZXY6IGZ1bmN0aW9uIChsZXYpIHtcbiAgICAgICAgaWYgKHRoaXMucm9vdF93bmQpIHtcbiAgICAgICAgICAgIHRoaXMubGV2LnN0cmluZyA9IGxldjtcbiAgICAgICAgICAgIHRoaXMubGV2X2NvbnRhaW5lci5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sZXZfdmFsdWUgPSBsZXY7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8g6K6+572u6ZSB5a6a54q25oCBXG4gICAgc2V0TG9ja1N0YXR1czogZnVuY3Rpb24gKGJvb2wpIHtcbiAgICAgICAgdGhpcy5ncmV5X2Jvb2wgPSBib29sO1xuICAgICAgICBpZiAodGhpcy5yb290X3duZCA9PSBudWxsKSByZXR1cm5cbiAgICAgICAgaWYgKGJvb2wpIHtcbiAgICAgICAgICAgIHRoaXMuaWNvbi5zZXRTdGF0ZShjYy5TcHJpdGUuU3RhdGUuTk9STUFMKTtcbiAgICAgICAgICAgIHRoaXMuZnJhbWUuc2V0U3RhdGUoY2MuU3ByaXRlLlN0YXRlLk5PUk1BTCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb24uc2V0U3RhdGUoY2MuU3ByaXRlLlN0YXRlLkdSQVkpO1xuICAgICAgICAgICAgdGhpcy5mcmFtZS5zZXRTdGF0ZShjYy5TcHJpdGUuU3RhdGUuR1JBWSk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8g5Yqg6L296LWE5rqQLOi/memHjOWPr+iDvemcgOimgeWIpOaWreS4gOS4i+WKoOi9veWbnuadpeeahOaYr+S4jeaYr+aIkemcgOimgeeahOi1hOa6kCznp4HmnInmlrnms5Ug5LiN6IO95aSW6YOo6LCD55SoLOWklumDqOa7tOWViueUqOivt+eUqCBzZXRIZWFkUmVzXG4gICAgbG9hZEhlYWRSZXM6IGZ1bmN0aW9uIChyZXNfaWQpIHtcbiAgICAgICAgdmFyIHJlc19wYXRoID0gUGF0aFRvb2wuZ2V0SGVhZFJlcyhyZXNfaWQpO1xuICAgICAgICB0aGlzLmxvYWRSZXMocmVzX3BhdGgsIGZ1bmN0aW9uIChyZXNPYmplY3QpIHtcbiAgICAgICAgICAgIHRoaXMuaWNvbi5zcHJpdGVGcmFtZSA9IHJlc09iamVjdDtcbiAgICAgICAgfS5iaW5kKHRoaXMpKVxuICAgIH0sXG5cbiAgICAvLyDliqDovb3otYTmupAs6L+Z6YeM5Y+v6IO96ZyA6KaB5Yik5pat5LiA5LiL5Yqg6L295Zue5p2l55qE5piv5LiN5piv5oiR6ZyA6KaB55qE6LWE5rqQLOengeacieaWueazlSDkuI3og73lpJbpg6josIPnlKgs5aSW6YOo5ru05ZWK55So6K+355SoIHNldEZyYW1lUmVzXG4gICAgLy9zY2FsZem7mOiupOavlOS+i+aYr+Wkp+mDqOWIhumcgOimgee8qeaUvuaJgOS7peeUqOS6hjEwMC8xMTfvvIzlhbbku5bmg4XlhrXnu5PlkIjoh6rlt7HnlYzpnaLkv67mlLlzY2FsZeWAvFxuICAgIGxvYWRGcmFtZVJlczogZnVuY3Rpb24gKGJpZCxzY2FsZSkge1xuICAgICAgICBpZihzY2FsZSA9PSBudWxsKXtcbiAgICAgICAgICAgIHNjYWxlID0gMTAwLzExNztcbiAgICAgICAgfVxuICAgICAgICBpZih0eXBlb2YgKGJpZCkgPT0gXCJudW1iZXJcIil7XG4gICAgICAgICAgICB2YXIgY29uZmlnID0gQ29uZmlnLmF2YXRhcl9kYXRhLmRhdGFfYXZhdGFyW2JpZF07XG4gICAgICAgICAgICBpZiAoIWNvbmZpZykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHJlc19wYXRoID0gUGF0aFRvb2wuZ2V0SGVhZGNpcmNsZShjb25maWcucmVzX2lkKTtcbiAgICAgICAgICAgIHRoaXMubG9hZFJlcyhyZXNfcGF0aCwgZnVuY3Rpb24gKHJlc09iamVjdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZnJhbWUuc3ByaXRlRnJhbWUgPSByZXNPYmplY3Q7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgICAgICAgICB0aGlzLmZyYW1lLm5vZGUuc2NhbGUgPSBzY2FsZTtcbiAgICAgICAgICAgIGlmKGJpZCA9PSAxMDAwKXtcbiAgICAgICAgICAgICAgICB0aGlzLmZyYW1lLm5vZGUueSA9IDA7XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICB0aGlzLmZyYW1lLm5vZGUueSA9IDU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgdGhpcy5sb2FkUmVzKGJpZCwgZnVuY3Rpb24gKHJlc09iamVjdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZnJhbWUuc3ByaXRlRnJhbWUgPSByZXNPYmplY3Q7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgICAgICAgICB0aGlzLmZyYW1lLm5vZGUuc2NhbGUgPSBzY2FsZTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBzZXRTY2FsZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2NhbGVfdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMucm9vdF93bmQpXG4gICAgICAgICAgICB0aGlzLnJvb3Rfd25kLnNjYWxlID0gdmFsdWU7XG4gICAgfSxcblxuICAgIC8v6IOM5pmv5qGGXG4gICAgc2hvd0JnOmZ1bmN0aW9uKHJlcyxzY2FsZSl7XG4gICAgICAgIHRoaXMuc2V0RnJhbWVSZXMocmVzLHNjYWxlKTtcbiAgICB9LFxuXG4gICAgc2V0U2V4OmZ1bmN0aW9uKHNleCxwb3Mpe1xuICAgICAgICBpZihzZXggPT0gbnVsbCB8fCB0eXBlb2Yoc2V4KSAhPSBcIm51bWJlclwiKXJldHVyblxuICAgICAgICBpZihzZXggPj0gMilyZXR1cm5cbiAgICAgICAgaWYodGhpcy5zZXhfaWNvbl9zcCA9PSBudWxsKXtcbiAgICAgICAgICAgIHRoaXMuc2V4X2ljb25fc3AgPSBVdGlscy5jcmVhdGVJbWFnZSh0aGlzLnJvb3Rfd25kLCBudWxsLCAwLCAwLCBjYy52MigwLDApKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRSZXMoUGF0aFRvb2wuZ2V0VUlJY29uUGF0aChcImNvbW1vblwiLFwiY29tbW9uX3NleFwiK3NleCksZnVuY3Rpb24oc3Ape1xuICAgICAgICAgICAgdGhpcy5zZXhfaWNvbl9zcC5zcHJpdGVGcmFtZSA9IHNwO1xuICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgICAgIGlmKHBvcyAhPSBudWxsICYmIHRoaXMuc2V4X2ljb25fc3AgIT0gbnVsbCl7XG4gICAgICAgICAgICB0aGlzLnNleF9pY29uX3NwLm5vZGUuc2V0UG9zaXRpb24ocG9zKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBvbkRlbGV0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyB0aGlzLmNvbnRhaW5lci5vZmYoY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCBmdW5jdGlvbiAoKSB7fSwgdGhpcyk7XG4gICAgfSxcblxuICAgIGNsZWFySGVhZDogZnVuY3Rpb24oKSB7XG4gICAgICAgICB0aGlzLmljb24uc3ByaXRlRnJhbWUgPSBudWxsO1xuICAgIH0sXG59KTsiXX0=
|