(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/scripts/prefabs/BallSkinItem.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, '009caMZlnBKlLyc4SiAzWGE', 'BallSkinItem'); // scripts/prefabs/BallSkinItem.ts "use strict"; // Learn TypeScript: // - https://docs.cocos.com/creator/manual/en/scripting/typescript.html // Learn Attribute: // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html // Learn life-cycle callbacks: // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); var SaveDataManager_1 = require("../component/SaveDataManager"); var Global_1 = require("../Global"); var BattleConst_1 = require("../kernel/battle/BattleConst"); var TableDefine_1 = require("../kernel/table/TableDefine"); var UIManager_1 = require("../ui/UIManager"); var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; var BallSkinItem = /** @class */ (function (_super) { __extends(BallSkinItem, _super); function BallSkinItem() { var _this = _super !== null && _super.apply(this, arguments) || this; _this._config = null; return _this; } BallSkinItem.prototype.onLoad = function () { BattleConst_1.getGlobalNode().on(Global_1.GlobalEvent.BALL_SKIN_UNLOCK, this.refreshState, this); BattleConst_1.getGlobalNode().on(Global_1.GlobalEvent.BALL_SKIN_USE, this.refreshState, this); }; BallSkinItem.prototype.onDestroy = function () { BattleConst_1.getGlobalNode().targetOff(this); }; BallSkinItem.prototype.setBallSkinItem = function (id) { var _this = this; if (id > 0) { var config = Global_1.tMgr.getConfig(TableDefine_1.TableName.BALL_SKIN, id); if (config) { this._config = config; this.node.getChildByName('icon').active = true; cc.resources.load('battle/' + config.Img, cc.SpriteFrame, function (error, asset) { if (!error) { _this.node.getChildByName('icon').getComponent(cc.Sprite).spriteFrame = asset; } }); } } else { this.node.getChildByName('icon').active = false; this._config = null; } this.refreshState(); }; BallSkinItem.prototype.refreshState = function () { var isAd = (this._config == null); var isUnlocked = !isAd && SaveDataManager_1.SaveDataManager.ins.runtimeData.ballSkinUnlocked.includes(this._config.ID); var isUsing = !isAd && (SaveDataManager_1.SaveDataManager.ins.runtimeData.ballSkinCurrent == this._config.ID); this.node.getChildByName('txtName').getComponent(cc.Label).string = (isAd ? "" : this._config.Name); //#region 显示尺寸 this.node.getChildByName('imgSize1').active = (!isAd && this._config.Size == 1); this.node.getChildByName('imgSize2').active = (!isAd && this._config.Size == 2); this.node.getChildByName('imgSize3').active = (!isAd && this._config.Size == 3); //#endregion this.node.getChildByName('btnBuy').active = !isAd && !isUnlocked; this.node.getChildByName('btnSign').active = !isAd && !isUnlocked; this.node.getChildByName('btnWheel').active = !isAd && !isUnlocked; this.node.getChildByName('btnUse').active = !isAd && isUnlocked; this.node.getChildByName('btnUsing').active = !isAd && isUnlocked; this.node.getChildByName('btnAd').active = isAd; if (!isAd) { if (isUnlocked) { //已经解锁了 this.node.getChildByName('btnUse').active = !isUsing; this.node.getChildByName('btnUsing').active = isUsing; } else { //未解锁 this.node.getChildByName('btnBuy').active = (this._config.Price > 0); this.node.getChildByName('btnSign').active = (this._config.Price == -1); this.node.getChildByName('btnWheel').active = (this._config.Price == -2); if (this._config.Price > 0) { this.node.getChildByName('btnBuy').getComponentInChildren(cc.Label).string = this._config.Price.toString(); } } } else { this.node.getChildByName('btnAd').getChildByName('Background').getChildByName('UI_Skin_btn_cjhd').active = true; this.node.getChildByName('btnAd').getChildByName('Background').getChildByName('UI_Finish_kxsx').active = false; // this.node.getChildByName('nodeAd').getComponent(CustomNativeAdView).showNativeAd((result) => { // if (result) { // this.node.getChildByName('btnAd').active = true; // } else { // this.node.getChildByName('btnAd').active = false; // } // }); } }; BallSkinItem.prototype.onBtnBuyClick = function () { if (this._config) { // let wpos = this.node.getChildByName('btnBuy').convertToWorldSpaceAR(cc.v3(0, 0, 0)); // if (SaveDataManager.ins.adjustDiamond(-this._config.Price, true, wpos)) { // SaveDataManager.ins.unlockBallSkin(this._config.ID); // } UIManager_1.UIManager.ins.openWindow(Global_1.WindowName.BALL_SKIN_PREVIEW, this._config.ID); } }; BallSkinItem.prototype.onHideAdBtn = function () { this.node.getChildByName('btnAd').active = false; }; BallSkinItem.prototype.onBtnWheelClick = function () { UIManager_1.UIManager.ins.openWindow(Global_1.WindowName.WHEEL); }; BallSkinItem.prototype.onBtnSignClick = function () { UIManager_1.UIManager.ins.openWindow(Global_1.WindowName.SIGN); }; BallSkinItem.prototype.onBtnAdClick = function () { //AD 纯放广告 }; BallSkinItem.prototype.onBtnUseClick = function () { if (this._config) { SaveDataManager_1.SaveDataManager.ins.useBallSkin(this._config.ID); } }; BallSkinItem = __decorate([ ccclass ], BallSkinItem); return BallSkinItem; }(cc.Component)); exports.default = BallSkinItem; 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcc2NyaXB0c1xccHJlZmFic1xcQmFsbFNraW5JdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsd0VBQXdFO0FBQ3hFLG1CQUFtQjtBQUNuQixrRkFBa0Y7QUFDbEYsOEJBQThCO0FBQzlCLGtGQUFrRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxGLGdFQUErRDtBQUMvRCxvQ0FBMEQ7QUFFMUQsNERBQTZEO0FBQzdELDJEQUF1RTtBQUN2RSw2Q0FBNEM7QUFFdEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFHNUM7SUFBMEMsZ0NBQVk7SUFBdEQ7UUFBQSxxRUFnSUM7UUFwSFcsYUFBTyxHQUFrQixJQUFJLENBQUM7O0lBb0gxQyxDQUFDO0lBOUhhLDZCQUFNLEdBQWhCO1FBQ0ksMkJBQWEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxvQkFBVyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsMkJBQWEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxvQkFBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTNFLENBQUM7SUFFUyxnQ0FBUyxHQUFuQjtRQUNJLDJCQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUlELHNDQUFlLEdBQWYsVUFBZ0IsRUFBVTtRQUExQixpQkF3QkM7UUF0QkcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ1IsSUFBSSxNQUFNLEdBQUcsYUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQWtCLENBQUM7WUFFdEUsSUFBSSxNQUFNLEVBQUU7Z0JBRVIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7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QUMsT0FBTyxFQUFFO1lBQ2QsaUNBQWUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDcEQ7SUFDTCxDQUFDO0lBOUhnQixZQUFZO1FBRGhDLE9BQU87T0FDYSxZQUFZLENBZ0loQztJQUFELG1CQUFDO0NBaElELEFBZ0lDLENBaEl5QyxFQUFFLENBQUMsU0FBUyxHQWdJckQ7a0JBaElvQixZQUFZIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuaW1wb3J0IHsgU2F2ZURhdGFNYW5hZ2VyIH0gZnJvbSBcIi4uL2NvbXBvbmVudC9TYXZlRGF0YU1hbmFnZXJcIjtcclxuaW1wb3J0IHsgR2xvYmFsRXZlbnQsIHRNZ3IsIFdpbmRvd05hbWUgfSBmcm9tIFwiLi4vR2xvYmFsXCI7XHJcblxyXG5pbXBvcnQgeyBnZXRHbG9iYWxOb2RlIH0gZnJvbSBcIi4uL2tlcm5lbC9iYXR0bGUvQmF0dGxlQ29uc3RcIjtcclxuaW1wb3J0IHsgQmFsbFNraW5UYWJsZSwgVGFibGVOYW1lIH0gZnJvbSBcIi4uL2tlcm5lbC90YWJsZS9UYWJsZURlZmluZVwiO1xyXG5pbXBvcnQgeyBVSU1hbmFnZXIgfSBmcm9tIFwiLi4vdWkvVUlNYW5hZ2VyXCI7XHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmFsbFNraW5JdGVtIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgb25Mb2FkKCk6IHZvaWQge1xyXG4gICAgICAgIGdldEdsb2JhbE5vZGUoKS5vbihHbG9iYWxFdmVudC5CQUxMX1NLSU5fVU5MT0NLLCB0aGlzLnJlZnJlc2hTdGF0ZSwgdGhpcyk7XHJcbiAgICAgICAgZ2V0R2xvYmFsTm9kZSgpLm9uKEdsb2JhbEV2ZW50LkJBTExfU0tJTl9VU0UsIHRoaXMucmVmcmVzaFN0YXRlLCB0aGlzKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBnZXRHbG9iYWxOb2RlKCkudGFyZ2V0T2ZmKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NvbmZpZzogQmFsbFNraW5UYWJsZSA9IG51bGw7XHJcblxyXG4gICAgc2V0QmFsbFNraW5JdGVtKGlkOiBudW1iZXIpIHtcclxuXHJcbiAgICAgICAgaWYgKGlkID4gMCkge1xyXG4gICAgICAgICAgICBsZXQgY29uZmlnID0gdE1nci5nZXRDb25maWcoVGFibGVOYW1lLkJBTExfU0tJTiwgaWQpIGFzIEJhbGxTa2luVGFibGU7XHJcblxyXG4gICAgICAgICAgICBpZiAoY29uZmlnKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnaWNvbicpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBjYy5yZXNvdXJjZXMubG9hZCgnYmF0dGxlLycgKyBjb25maWcuSW1nLCBjYy5TcHJpdGVGcmFtZSwgKGVycm9yLCBhc3NldCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdpY29uJykuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBhc3NldCBhcyBjYy5TcHJpdGVGcmFtZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ2ljb24nKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5fY29uZmlnID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucmVmcmVzaFN0YXRlKCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVmcmVzaFN0YXRlKCkge1xyXG5cclxuICAgICAgICBsZXQgaXNBZCA9ICh0aGlzLl9jb25maWcgPT0gbnVsbCk7XHJcbiAgICAgICAgbGV0IGlzVW5sb2NrZWQgPSAhaXNBZCAmJiBTYXZlRGF0YU1hbmFnZXIuaW5zLnJ1bnRpbWVEYXRhLmJhbGxTa2luVW5sb2NrZWQuaW5jbHVkZXModGhpcy5fY29uZmlnLklEKTtcclxuICAgICAgICBsZXQgaXNVc2luZyA9ICFpc0FkICYmIChTYXZlRGF0YU1hbmFnZXIuaW5zLnJ1bnRpbWVEYXRhLmJhbGxTa2luQ3VycmVudCA9PSB0aGlzLl9jb25maWcuSUQpO1xyXG5cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ3R4dE5hbWUnKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IChpc0FkID8gXCJcIiA6IHRoaXMuX2NvbmZpZy5OYW1lKTtcclxuXHJcbiAgICAgICAgLy8jcmVnaW9uIOaYvuekuuWwuuWvuFxyXG5cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ2ltZ1NpemUxJykuYWN0aXZlID0gKCFpc0FkICYmIHRoaXMuX2NvbmZpZy5TaXplID09IDEpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnaW1nU2l6ZTInKS5hY3RpdmUgPSAoIWlzQWQgJiYgdGhpcy5fY29uZmlnLlNpemUgPT0gMik7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdpbWdTaXplMycpLmFjdGl2ZSA9ICghaXNBZCAmJiB0aGlzLl9jb25maWcuU2l6ZSA9PSAzKTtcclxuXHJcbiAgICAgICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnYnRuQnV5JykuYWN0aXZlID0gIWlzQWQgJiYgIWlzVW5sb2NrZWQ7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdidG5TaWduJykuYWN0aXZlID0gIWlzQWQgJiYgIWlzVW5sb2NrZWQ7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdidG5XaGVlbCcpLmFjdGl2ZSA9ICFpc0FkICYmICFpc1VubG9ja2VkO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnYnRuVXNlJykuYWN0aXZlID0gIWlzQWQgJiYgaXNVbmxvY2tlZDtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ2J0blVzaW5nJykuYWN0aXZlID0gIWlzQWQgJiYgaXNVbmxvY2tlZDtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ2J0bkFkJykuYWN0aXZlID0gaXNBZDtcclxuXHJcbiAgICAgICAgaWYgKCFpc0FkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc1VubG9ja2VkKSB7XHJcbiAgICAgICAgICAgICAgICAvL+W3sue7j+ino+mUgeS6hlxyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdidG5Vc2UnKS5hY3RpdmUgPSAhaXNVc2luZztcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnYnRuVXNpbmcnKS5hY3RpdmUgPSBpc1VzaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy/mnKrop6PplIFcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnYnRuQnV5JykuYWN0aXZlID0gKHRoaXMuX2NvbmZpZy5QcmljZSA+IDApO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdidG5TaWduJykuYWN0aXZlID0gKHRoaXMuX2NvbmZpZy5QcmljZSA9PSAtMSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ2J0bldoZWVsJykuYWN0aXZlID0gKHRoaXMuX2NvbmZpZy5QcmljZSA9PSAtMik7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5QcmljZSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ2J0bkJ1eScpLmdldENvbXBvbmVudEluQ2hpbGRyZW4oY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuX2NvbmZpZy5QcmljZS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnYnRuQWQnKS5nZXRDaGlsZEJ5TmFtZSgnQmFja2dyb3VuZCcpLmdldENoaWxkQnlOYW1lKCdVSV9Ta2luX2J0bl9jamhkJykuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdidG5BZCcpLmdldENoaWxkQnlOYW1lKCdCYWNrZ3JvdW5kJykuZ2V0Q2hpbGRCeU5hbWUoJ1VJX0ZpbmlzaF9reHN4JykuYWN0aXZlID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAvLyB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ25vZGVBZCcpLmdldENvbXBvbmVudChDdXN0b21OYXRpdmVBZFZpZXcpLnNob3dOYXRpdmVBZCgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIC8vICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKCdidG5BZCcpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnYnRuQWQnKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQnRuQnV5Q2xpY2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZykge1xyXG5cclxuICAgICAgICAgICAgLy8gbGV0IHdwb3MgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoJ2J0bkJ1eScpLmNvbnZlcnRUb1dvcmxkU3BhY2VBUihjYy52MygwLCAwLCAwKSk7XHJcbiAgICAgICAgICAgIC8vIGlmIChTYXZlRGF0YU1hbmFnZXIuaW5zLmFkanVzdERpYW1vbmQoLXRoaXMuX2NvbmZpZy5QcmljZSwgdHJ1ZSwgd3BvcykpIHtcclxuICAgICAgICAgICAgLy8gICAgIFNhdmVEYXRhTWFuYWdlci5pbnMudW5sb2NrQmFsbFNraW4odGhpcy5fY29uZmlnLklEKTtcclxuICAgICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICAgVUlNYW5hZ2VyLmlucy5vcGVuV2luZG93KFdpbmRvd05hbWUuQkFMTF9TS0lOX1BSRVZJRVcsIHRoaXMuX2NvbmZpZy5JRCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uSGlkZUFkQnRuKCkge1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnYnRuQWQnKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBvbkJ0bldoZWVsQ2xpY2soKSB7XHJcbiAgICAgICAgVUlNYW5hZ2VyLmlucy5vcGVuV2luZG93KFdpbmRvd05hbWUuV0hFRUwpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQnRuU2lnbkNsaWNrKCkge1xyXG4gICAgICAgIFVJTWFuYWdlci5pbnMub3BlbldpbmRvdyhXaW5kb3dOYW1lLlNJR04pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQnRuQWRDbGljaygpIHtcclxuICAgICAgICAvL0FEIOe6r+aUvuW5v+WRilxyXG4gICAgfVxyXG5cclxuICAgIG9uQnRuVXNlQ2xpY2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZykge1xyXG4gICAgICAgICAgICBTYXZlRGF0YU1hbmFnZXIuaW5zLnVzZUJhbGxTa2luKHRoaXMuX2NvbmZpZy5JRCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=