(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Script/Block.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, 'c58deN2u1NGZL8nJwvnu1PR', 'Block'); // Script/Block.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 }); exports.PathType = exports.BlockType = void 0; var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; var BlockType; (function (BlockType) { /*普通地块 */ BlockType[BlockType["Nomal"] = 0] = "Nomal"; /*起点地块 */ BlockType[BlockType["Start"] = 1] = "Start"; /*湿地 */ BlockType[BlockType["Nunja"] = 2] = "Nunja"; /*山峰 */ BlockType[BlockType["Peak"] = 3] = "Peak"; /*终点地块 */ BlockType[BlockType["End"] = 4] = "End"; /*息壤 */ BlockType[BlockType["Xi_Soil"] = 5] = "Xi_Soil"; /*加固 */ BlockType[BlockType["Reinforce"] = 6] = "Reinforce"; })(BlockType = exports.BlockType || (exports.BlockType = {})); var PathType; (function (PathType) { PathType["err"] = "err"; PathType["up"] = "up"; PathType["down"] = "down"; PathType["left"] = "left"; PathType["right"] = "right"; PathType["up_left"] = "up_left"; PathType["up_right"] = "up_right"; PathType["down_left"] = "down_left"; PathType["down_right"] = "down_right"; PathType["left_up"] = "left_up"; PathType["left_down"] = "left_down"; PathType["right_up"] = "right_up"; PathType["right_down"] = "right_down"; })(PathType = exports.PathType || (exports.PathType = {})); var NewClass = /** @class */ (function (_super) { __extends(NewClass, _super); function NewClass() { return _super !== null && _super.apply(this, arguments) || this; } NewClass.prototype.onLoad = function () { this.finishi = false; }; NewClass.prototype.start = function () { }; NewClass.prototype.initData = function (type) { this.block_Type = type; if (type == cc.Enum(BlockType).Start) { this.node.color = cc.color(245, 70, 70); } else if (type == cc.Enum(BlockType).End) { this.node.color = cc.color(20, 255, 0); } }; NewClass.prototype.setPath = function (type) { this.path_Type = type; }; //洪峰执行 NewClass.prototype.runWater = function (data) { var target = null; var progress = 1; var time = data.time; var order = data.order + 1; target = this.node.getChildByName("vertical"); console.log(this.path_Type); if (this.path_Type == cc.Enum(PathType).up) { } else if (this.path_Type == cc.Enum(PathType).down) { target.angle = 180; } else if (this.path_Type == cc.Enum(PathType).left) { target.angle = 90; } else if (this.path_Type == cc.Enum(PathType).right) { target.angle = 270; } else { target = this.node.getChildByName("turn"); progress = 0.25; if (this.path_Type == cc.Enum(PathType).up_left) { target.setPosition(-9, -9); } else if (this.path_Type == cc.Enum(PathType).up_right) { target.scaleX = -1; target.setPosition(9, -9); } else if (this.path_Type == cc.Enum(PathType).down_left) { target.angle = 180; target.scaleX = -1; target.setPosition(-9, 9); } else if (this.path_Type == cc.Enum(PathType).down_right) { target.angle = 180; target.scaleX = 1; target.setPosition(9, 9); } else if (this.path_Type == cc.Enum(PathType).left_up) { target.angle = -90; target.scaleY = -1; target.setPosition(9, 9); } else if (this.path_Type == cc.Enum(PathType).left_down) { target.angle = 90; target.scaleY = -1; target.setPosition(-9, -9); } else if (this.path_Type == cc.Enum(PathType).right_up) { target.angle = -90; // target.scaleY = -1; target.setPosition(-9, 9); } else if (this.path_Type == cc.Enum(PathType).right_down) { target.angle = -90; target.scaleX = -1; target.setPosition(-9, -9); } } target.active = true; target.getComponent(cc.Sprite).fillRange = 0; cc.tween(target.getComponent(cc.Sprite)) .to(time, { fillRange: progress }) .call(function () { if (data.circulate) cc.fx.Notifications.emit(cc.fx.Message.next, order); }) .start(); }; NewClass = __decorate([ ccclass ], NewClass); return NewClass; }(cc.Component)); exports.default = NewClass; 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsSUFBWSxTQWdCWDtBQWhCRCxXQUFZLFNBQVM7SUFDakIsU0FBUztJQUNULDJDQUFTLENBQUE7SUFDVCxTQUFTO0lBQ1QsMkNBQVMsQ0FBQTtJQUNULE9BQU87SUFDUCwyQ0FBUyxDQUFBO0lBQ1QsT0FBTztJQUNQLHlDQUFRLENBQUE7SUFDUixTQUFTO0lBQ1QsdUNBQU8sQ0FBQTtJQUVQLE9BQU87SUFDUCwrQ0FBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG1EQUFhLENBQUE7QUFDakIsQ0FBQyxFQWhCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQWdCcEI7QUFFRCxJQUFZLFFBY1g7QUFkRCxXQUFZLFFBQVE7SUFDaEIsdUJBQVcsQ0FBQTtJQUNYLHFCQUFTLENBQUE7SUFDVCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwrQkFBbUIsQ0FBQTtJQUNuQixpQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6QiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBZFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFjbkI7QUFHRDtJQUFzQyw0QkFBWTtJQUFsRDs7SUFzR0EsQ0FBQztJQWhHRyx5QkFBTSxHQUFOO1FBQ0ksSUFBSSxDQUFDLE9BQU8s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LENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQzthQUU1QjtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUM7Z0JBQ25ELE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM3QjtTQUNKO1FBRUQsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUM3QyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3ZDLEVBQUUsQ0FBQyxJQUFJLEVBQUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLENBQUM7YUFDN0IsSUFBSSxDQUFDO1lBQ0YsSUFBRyxJQUFJLENBQUMsU0FBUztnQkFDYixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQzthQUNELEtBQUssRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQW5HZ0IsUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQXNHNUI7SUFBRCxlQUFDO0NBdEdELEFBc0dDLENBdEdxQyxFQUFFLENBQUMsU0FBUyxHQXNHakQ7a0JBdEdvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5leHBvcnQgZW51bSBCbG9ja1R5cGV7XHJcbiAgICAvKuaZrumAmuWcsOWdlyAqL1xyXG4gICAgTm9tYWwgPSAwLCAgXHJcbiAgICAvKui1t+eCueWcsOWdlyAqL1xyXG4gICAgU3RhcnQgPSAxLCAgXHJcbiAgICAvKua5v+WcsCAqL1xyXG4gICAgTnVuamEgPSAyLFxyXG4gICAgLyrlsbHls7AgKi9cclxuICAgIFBlYWsgPSAzLFxyXG4gICAgLyrnu4jngrnlnLDlnZcgKi9cclxuICAgIEVuZCA9IDQsXHJcblxyXG4gICAgLyrmga/lo6QgKi9cclxuICAgIFhpX1NvaWwgPSA1LFxyXG4gICAgLyrliqDlm7ogKi9cclxuICAgIFJlaW5mb3JjZSA9IDZcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUGF0aFR5cGV7XHJcbiAgICBlcnIgPSBcImVyclwiLFxyXG4gICAgdXAgPSBcInVwXCIsICBcclxuICAgIGRvd24gPSBcImRvd25cIiwgIFxyXG4gICAgbGVmdCA9IFwibGVmdFwiLFxyXG4gICAgcmlnaHQgPSBcInJpZ2h0XCIsXHJcbiAgICB1cF9sZWZ0ID0gXCJ1cF9sZWZ0XCIsXHJcbiAgICB1cF9yaWdodCA9IFwidXBfcmlnaHRcIixcclxuICAgIGRvd25fbGVmdCA9IFwiZG93bl9sZWZ0XCIsXHJcbiAgICBkb3duX3JpZ2h0ID0gXCJkb3duX3JpZ2h0XCIsXHJcbiAgICBsZWZ0X3VwID0gXCJsZWZ0X3VwXCIsXHJcbiAgICBsZWZ0X2Rvd24gPSBcImxlZnRfZG93blwiLFxyXG4gICAgcmlnaHRfdXAgPSBcInJpZ2h0X3VwXCIsXHJcbiAgICByaWdodF9kb3duID0gXCJyaWdodF9kb3duXCIsXHJcbn1cclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG5cclxuICAgIGJsb2NrX1R5cGU6bnVtYmVyO1xyXG4gICAgcGF0aF9UeXBlOnN0cmluZztcclxuICAgIGZpbmlzaGk6Ym9vbGVhblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICB0aGlzLmZpbmlzaGkgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgaW5pdERhdGEodHlwZSl7XHJcbiAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gdHlwZTtcclxuICAgICAgICBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydCl7IFxyXG4gICAgICAgICAgICB0aGlzLm5vZGUuY29sb3IgPSBjYy5jb2xvcigyNDUsNzAsNzApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5jb2xvciA9IGNjLmNvbG9yKDIwLDI1NSwwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UGF0aCh0eXBlKXtcclxuICAgICAgICB0aGlzLnBhdGhfVHlwZSA9IHR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy/mtKrls7DmiafooYxcclxuICAgIHJ1bldhdGVyKGRhdGEpe1xyXG4gICAgICAgIHZhciB0YXJnZXQgPSBudWxsO1xyXG4gICAgICAgIHZhciBwcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgdmFyIHRpbWUgPSBkYXRhLnRpbWU7XHJcbiAgICAgICAgdmFyIG9yZGVyID0gZGF0YS5vcmRlciArIDE7XHJcbiAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWxcIik7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5wYXRoX1R5cGUpO1xyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwKXtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnQpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodCl7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDI3MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblwiKTtcclxuICAgICAgICAgICAgcHJvZ3Jlc3MgPSAwLjI1O1xyXG4gICAgICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cF9sZWZ0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtOSwtOSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cF9yaWdodCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oOSwtOSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC05LDkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bl9yaWdodCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbig5LDkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkubGVmdF91cCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVZID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oOSw5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVkgPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtOSwtOSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodF91cCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICAvLyB0YXJnZXQuc2NhbGVZID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLTksOSk7XHJcbiAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodF9kb3duKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVggPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtOSwtOSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKSlcclxuICAgICAgICAudG8odGltZSx7ZmlsbFJhbmdlOnByb2dyZXNzfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHVwZGF0ZSAoZHQpIHt9XHJcbn1cclxuIl19