(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/script/plat/PlatformWan17MiniGame.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, '9567fne2JdP8r2FEXQAxr/w', 'PlatformWan17MiniGame'); // script/plat/PlatformWan17MiniGame.ts "use strict"; /* 17玩MiniGame(VIVO OPPO) */ 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 __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var Config_1 = require("../Config"); var GameController_1 = require("../GameController"); var Xyc_1 = require("../common/Xyc"); var TypeConst_1 = require("../data/const/TypeConst"); var PlatformBase_1 = require("./PlatformBase"); var gameMethod_1 = require("../common/gameMethod"); var GameDataCenter_1 = require("../data/GameDataCenter"); var EventMng_1 = require("../manager/EventMng"); var EventConst_1 = require("../data/const/EventConst"); var gameCfg_1 = require("../common/gameCfg"); var UIHelp_1 = require("../logic/ui/UIHelp"); var PlatformWan17MiniGame = /** @class */ (function (_super) { __extends(PlatformWan17MiniGame, _super); function PlatformWan17MiniGame() { var _this = _super.call(this) || this; //设置屏幕常亮 qg.setKeepScreenOn({ keepScreenOn: true, success: function (res) { }, fail: function (res) { }, complete: function (res) { }, }); qg.onShow(function (res) { if (Config_1.default.paySuccAdokId != null) { clearInterval(Config_1.default.paySuccAdokId); Config_1.default.paySuccAdokId = null; } Config_1.default.paySuccAdokIndex = 0; Config_1.default.paySuccAdokId = setInterval(function () { Config_1.default.paySuccAdokIndex++; if (Config_1.default.paySuccAdokIndex >= 5) { clearInterval(Config_1.default.paySuccAdokId); Config_1.default.paySuccAdokId = null; } GameDataCenter_1.default.time.sendAdok(); }, 1000); }); return _this; } PlatformWan17MiniGame.prototype.showLoginView = function () { var _this = this; console.log("初始化&登录SDK"); qg.asdk.asdkInit(function (res) { //执行登录授权 if (res.code.toString() == "0") { qg.asdk.asdkLogin(function (loginRes) { //console.log("登录结果" + JSON.stringify(loginRes)) if (loginRes.code.toString() == "0") { var params = { pid: Config_1.default.pid, param: [loginRes.data.account.accountid, loginRes.data.account.sessionid] }; GameController_1.default.network.send(Xyc_1.PlayerLogin.url, params, function (result) { console.log("后段验证返回"); if (result.type != 1) { if (gameMethod_1.gameMethod.isEmpty(result.win) || gameMethod_1.gameMethod.isEmpty(result.win.msgOut)) { GameDataCenter_1.default.plat.showErrDialog(TypeConst_1.GameErrCode.errGamePlatLogin); } return; } EventMng_1.default.emit(EventConst_1.LoadEvent.LOAD_PROGRESS, 1, "login"); if (result.type == 1 && result.platBack) { GameDataCenter_1.default.plat.instance.openId = result.platBack.openid; GameDataCenter_1.default.plat.instance.loginParams = [result.platBack.token]; console.log("后端验证成功", _this.openId); GameDataCenter_1.default.plat.instance.login(); } else { console.log("PlayerLogin.url 返回数据异常"); if (gameMethod_1.gameMethod.isEmpty(result.win) || gameMethod_1.gameMethod.isEmpty(result.win.msgOut)) { GameDataCenter_1.default.plat.showErrDialog(TypeConst_1.GameErrCode.errGamePlatLogin); } } }); } else { UIHelp_1.default.ShowDialog({ content: loginRes.msg }); } }); } }); }; PlatformWan17MiniGame.prototype.pay = function (orderId, order10cs, param) { var packageInfo = gameCfg_1.default.packageInfo.getItem(Config_1.default.pid); var payUrl = packageInfo.wayhttp + "player/pay/" + Config_1.default.pid; var orderData = { callbackurl: payUrl, paymoney: param.price.toString(), custominfo: "", customorderid: orderId, productdesc: param.productName, productfeecode: order10cs, }; qg.asdk.asdkPay(orderData, function (res) { //console.log("pay return:"+JSON.stringify(res)) if (res.code.toString() != "0") { //console.log("支付失败,失败原因:"+res.msg); } else { if (Config_1.default.paySuccAdokId != null) { clearInterval(Config_1.default.paySuccAdokId); Config_1.default.paySuccAdokId = null; } Config_1.default.paySuccAdokIndex = 0; Config_1.default.paySuccAdokId = setInterval(function () { Config_1.default.paySuccAdokIndex++; if (Config_1.default.paySuccAdokIndex >= 5) { clearInterval(Config_1.default.paySuccAdokId); Config_1.default.paySuccAdokId = null; } GameDataCenter_1.default.time.sendAdok(); }, 1000); } }); }; // 上报角色数据 PlatformWan17MiniGame.prototype.reportRole = function (event) { var _a, _b, _c; var playerinfo = { playerid: GameDataCenter_1.default.user.uuid, playername: GameDataCenter_1.default.user.nickName, playerlevel: (_b = (_a = GameDataCenter_1.default.sevBack.userInfo.a) === null || _a === void 0 ? void 0 : _a.level) === null || _b === void 0 ? void 0 : _b.toString(), serverid: (_c = GameDataCenter_1.default.sevBack.userInfo.a) === null || _c === void 0 ? void 0 : _c.sid, servername: GameDataCenter_1.default.user.serverName //区服名称 }; qg.asdk.asdkSendRole(playerinfo, function (res) { //console.log('角色上报返回:'+JSON.stringify(res)); }); }; PlatformWan17MiniGame.prototype.showRewardAd = function (adId, kid, order11Id) { qg.asdk.asdkRewardedAd(adId, function (res) { //console.log('广告返回:'+JSON.stringify(res)); if (res.code.toString() != "0") { //console.log("看广告失败,失败原因:"+res.msg); } else { GameDataCenter_1.default.adVideo.onXiadanSucc(); // 改成直接调用,不回调了 } }); }; PlatformWan17MiniGame.prototype.saveAppToDesktop = function (cb) { qg.asdk.asdkCreateIcon(function (res) { //console.log('创建状态返回:'+JSON.stringify(res)) if (res.code.toString() != "0") { //console.log("创建图标失败,失败原因:"+res.msg); } else { if (cb) { cb(); } } }); }; PlatformWan17MiniGame.prototype.logout = function () { qg.asdk.asdkQuit(); }; PlatformWan17MiniGame.prototype.setClipboard = function (data, cb) { qg.setClipboardData({ data: data, success: function () { //console.log("setClipboardData success" ); UIHelp_1.default.ShowTips("已复制到剪切板"); if (cb) { cb(); } }, fail: function () { //console.log("setClipboardData fail"); }, complete: function () { //console.log("setClipboardData complete"); } }); }; return PlatformWan17MiniGame; }(PlatformBase_1.default)); exports.default = PlatformWan17MiniGame; 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvcGxhdC9QbGF0Zm9ybVdhbjE3TWluaUdhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztFQUVFOzs7Ozs7Ozs7Ozs7Ozs7QUFHRixvQ0FBK0I7QUFDL0Isb0RBQStDO0FBQy9DLHFDQUE2RDtBQUM3RCxxREFBcUc7QUFFckcsK0NBQTBDO0FBQzFDLG1EQUFrRDtBQUNsRCx5REFBb0Q7QUFDcEQsZ0RBQTJDO0FBQzNDLHVEQUFxRDtBQUNyRCw2Q0FBd0M7QUFDeEMsNkNBQXdDO0FBSXhDO0lBQW1ELHlDQUFZO0lBRzdEO1FBQUEsWUFDRSxpQkFBTyxTQTBCUjtRQXhCQyxRQUFRO1FBQ1IsRUFBRSxDQUFDLGVBQWUsQ0FBQztZQUNqQixZQUFZLEVBQUUsSUFBSTtZQUNsQixPQUFPLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN4QixRQUFRLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FBQztTQUM3QixDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQUMsR0FBRztZQUNaLElBQUksZ0JBQU0sQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFO2dCQUNoQyxhQUFhLENBQUMsZ0JBQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtnQkFDbkMsZ0JBQU0sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFBO2FBQzVCO1lBQ0QsZ0JBQU0sQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUE7WUFDM0IsZ0JBQU0sQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDO2dCQUNqQyxnQkFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUE7Z0JBQ3pCLElBQUksZ0JBQU0sQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLEVBQUU7b0JBQ2hDLGFBQWEsQ0FBQyxnQkFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO29CQUNuQyxnQkFBTSxDQUFDLGFBQWEsR0FBRyxJQUFJLENB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LFVBQVUsR0FBRztZQUNsQyw0Q0FBNEM7WUFDNUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEdBQUcsRUFBRTtnQkFDOUIsc0NBQXNDO2FBQ3ZDO2lCQUFNO2dCQUNMLElBQUksRUFBRSxFQUFFO29CQUNOLEVBQUUsRUFBRSxDQUFDO2lCQUNOO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxzQ0FBTSxHQUFOO1FBQ0UsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsNENBQVksR0FBWixVQUFhLElBQVksRUFBRSxFQUFhO1FBQ3RDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNsQixJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU8sRUFBRTtnQkFDUCwyQ0FBMkM7Z0JBQzNDLGdCQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMzQixJQUFJLEVBQUUsRUFBRTtvQkFDTixFQUFFLEVBQUUsQ0FBQztpQkFDTjtZQUNILENBQUM7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osdUNBQXVDO1lBQ3pDLENBQUM7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsMkNBQTJDO1lBQzdDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBT0gsNEJBQUM7QUFBRCxDQXZMQSxBQXVMQyxDQXZMa0Qsc0JBQVksR0F1TDlEIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLypcbjE3546pTWluaUdhbWUoVklWTyBPUFBPKVxuKi9cblxuXG5pbXBvcnQgQ29uZmlnIGZyb20gXCIuLi9Db25maWdcIjtcbmltcG9ydCBHYW1lQ29udHJvbGxlciBmcm9tIFwiLi4vR2FtZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB7IFBsYXllckxvZ2luLCBQbGF5ZXJMb2dpblByYW0gfSBmcm9tIFwiLi4vY29tbW9uL1h5Y1wiO1xuaW1wb3J0IHsgQURfVklERU9fS0VZLCBHYW1lRXJyQ29kZSwgUGF5UHJvZHVjdFBhcmFtLCBSZXBvcnRSb2xlVHlwZSB9IGZyb20gXCIuLi9kYXRhL2NvbnN0L1R5cGVDb25zdFwiO1xuaW1wb3J0IHsgU2V2QmFjayB9IGZyb20gXCIuLi9jb21tb24vWHlzXCI7XG5pbXBvcnQgUGxhdGZvcm1CYXNlIGZyb20gXCIuL1BsYXRmb3JtQmFzZVwiO1xuaW1wb3J0IHsgZ2FtZU1ldGhvZCB9IGZyb20gXCIuLi9jb21tb24vZ2FtZU1ldGhvZFwiO1xuaW1wb3J0IEdhbWVEYXRhQ2VudGVyIGZyb20gXCIuLi9kYXRhL0dhbWVEYXRhQ2VudGVyXCI7XG5pbXBvcnQgRXZlbnRNbmcgZnJvbSBcIi4uL21hbmFnZXIvRXZlbnRNbmdcIjtcbmltcG9ydCB7IExvYWRFdmVudCB9IGZyb20gXCIuLi9kYXRhL2NvbnN0L0V2ZW50Q29uc3RcIjtcbmltcG9ydCBHYW1lY2ZnIGZyb20gXCIuLi9jb21tb24vZ2FtZUNmZ1wiO1xuaW1wb3J0IFVJSGVscCBmcm9tIFwiLi4vbG9naWMvdWkvVUlIZWxwXCI7XG5pbXBvcnQgTWludCBmcm9tIFwiLi4vdXRpbHMvbWludEZpbHRlci9pbmRleFwiO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBsYXRmb3JtV2FuMTdNaW5pR2FtZSBleHRlbmRzIFBsYXRmb3JtQmFzZSB7XG5cbiAgbWludDogTWludDtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKVxuXG4gICAgLy/orr7nva7lsY/luZXluLjkuq5cbiAgICBxZy5zZXRLZWVwU2NyZWVuT24oe1xuICAgICAga2VlcFNjcmVlbk9uOiB0cnVlLFxuICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcykgeyB9LFxuICAgICAgZmFpbDogZnVuY3Rpb24gKHJlcykgeyB9LFxuICAgICAgY29tcGxldGU6IGZ1bmN0aW9uIChyZXMpIHsgfSxcbiAgICB9KTtcblxuICAgIHFnLm9uU2hvdygocmVzKSA9PiB7XG4gICAgICBpZiAoQ29uZmlnLnBheVN1Y2NBZG9rSWQgIT0gbnVsbCkge1xuICAgICAgICBjbGVhckludGVydmFsKENvbmZpZy5wYXlTdWNjQWRva0lkKVxuICAgICAgICBDb25maWcucGF5U3VjY0Fkb2tJZCA9IG51bGxcbiAgICAgIH1cbiAgICAgIENvbmZpZy5wYXlTdWNjQWRva0luZGV4ID0gMFxuICAgICAgQ29uZmlnLnBheVN1Y2NBZG9rSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIENvbmZpZy5wYXlTdWNjQWRva0luZGV4KytcbiAgICAgICAgaWYgKENvbmZpZy5wYXlTdWNjQWRva0luZGV4ID49IDUpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKENvbmZpZy5wYXlTdWNjQWRva0lkKVxuICAgICAgICAgIENvbmZpZy5wYXlTdWNjQWRva0lkID0gbnVsbFxuICAgICAgICB9XG4gICAgICAgIEdhbWVEYXRhQ2VudGVyLnRpbWUuc2VuZEFkb2soKVxuICAgICAgfSwgMTAwMClcbiAgICB9KTtcblxuICB9XG5cblxuXG4gIHNob3dMb2dpblZpZXcoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coXCLliJ3lp4vljJYm55m75b2VU0RLXCIpXG4gICAgcWcuYXNkay5hc2RrSW5pdCgocmVzKSA9PiB7XG4gICAgICAvL+aJp+ihjOeZu+W9leaOiOadg1xuICAgICAgaWYgKHJlcy5jb2RlLnRvU3RyaW5nKCkgPT0gXCIwXCIpIHtcbiAgICAgICAgcWcuYXNkay5hc2RrTG9naW4oKGxvZ2luUmVzKSA9PiB7XG4gICAgICAgICAgLy9jb25zb2xlLmxvZyhcIueZu+W9lee7k+aenFwiICsgSlNPTi5zdHJpbmdpZnkobG9naW5SZXMpKVxuICAgICAgICAgIGlmIChsb2dpblJlcy5jb2RlLnRvU3RyaW5nKCkgPT0gXCIwXCIpIHtcbiAgICAgICAgICAgIGxldCBwYXJhbXM6IFBsYXllckxvZ2luUHJhbSA9IHtcbiAgICAgICAgICAgICAgcGlkOiBDb25maWcucGlkLFxuICAgICAgICAgICAgICBwYXJhbTogW2xvZ2luUmVzLmRhdGEuYWNjb3VudC5hY2NvdW50aWQsIGxvZ2luUmVzLmRhdGEuYWNjb3VudC5zZXNzaW9uaWRdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBHYW1lQ29udHJvbGxlci5uZXR3b3JrLnNlbmQoUGxheWVyTG9naW4udXJsLCBwYXJhbXMsIChyZXN1bHQ6IFNldkJhY2spID0+IHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLlkI7mrrXpqozor4Hov5Tlm55cIilcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdC50eXBlICE9IDEpIHtcbiAgICAgICAgICAgICAgICBpZiAoZ2FtZU1ldGhvZC5pc0VtcHR5KHJlc3VsdC53aW4pIHx8IGdhbWVNZXRob2QuaXNFbXB0eShyZXN1bHQud2luLm1zZ091dCkpIHtcbiAgICAgICAgICAgICAgICAgIEdhbWVEYXRhQ2VudGVyLnBsYXQuc2hvd0VyckRpYWxvZyhHYW1lRXJyQ29kZS5lcnJHYW1lUGxhdExvZ2luKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBFdmVudE1uZy5lbWl0KExvYWRFdmVudC5MT0FEX1BST0dSRVNTLCAxLCBcImxvZ2luXCIpXG4gICAgICAgICAgICAgIGlmIChyZXN1bHQudHlwZSA9PSAxICYmIHJlc3VsdC5wbGF0QmFjaykge1xuICAgICAgICAgICAgICAgIEdhbWVEYXRhQ2VudGVyLnBsYXQuaW5zdGFuY2Uub3BlbklkID0gcmVzdWx0LnBsYXRCYWNrLm9wZW5pZFxuICAgICAgICAgICAgICAgIEdhbWVEYXRhQ2VudGVyLnBsYXQuaW5zdGFuY2UubG9naW5QYXJhbXMgPSBbcmVzdWx0LnBsYXRCYWNrLnRva2VuXVxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5ZCO56uv6aqM6K+B5oiQ5YqfXCIsIHRoaXMub3BlbklkKVxuICAgICAgICAgICAgICAgIEdhbWVEYXRhQ2VudGVyLnBsYXQuaW5zdGFuY2UubG9naW4oKVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUGxheWVyTG9naW4udXJsIOi/lOWbnuaVsOaNruW8guW4uFwiKVxuICAgICAgICAgICAgICAgIGlmIChnYW1lTWV0aG9kLmlzRW1wdHkocmVzdWx0LndpbikgfHwgZ2FtZU1ldGhvZC5pc0VtcHR5KHJlc3VsdC53aW4ubXNnT3V0KSkge1xuICAgICAgICAgICAgICAgICAgR2FtZURhdGFDZW50ZXIucGxhdC5zaG93RXJyRGlhbG9nKEdhbWVFcnJDb2RlLmVyckdhbWVQbGF0TG9naW4pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIFVJSGVscC5TaG93RGlhbG9nKHsgY29udGVudDogbG9naW5SZXMubXNnIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICB9XG5cbiAgcGF5KG9yZGVySWQ6IHN0cmluZywgb3JkZXIxMGNzOiBzdHJpbmcsIHBhcmFtOiBQYXlQcm9kdWN0UGFyYW0pOiB2b2lkIHtcblxuICAgIGxldCBwYWNrYWdlSW5mbyA9IEdhbWVjZmcucGFja2FnZUluZm8uZ2V0SXRlbShDb25maWcucGlkKVxuICAgIGxldCBwYXlVcmw6IHN0cmluZyA9IHBhY2thZ2VJbmZvLndheWh0dHAgKyBcInBsYXllci9wYXkvXCIgKyBDb25maWcucGlkXG5cbiAgICBsZXQgb3JkZXJEYXRhID0ge1xuICAgICAgY2FsbGJhY2t1cmw6IHBheVVybCwgLy8g5ri45oiP5pa55YWF5YC85Zue6LCD5Zyw5Z2AXG4gICAgICBwYXltb25leTogcGFyYW0ucHJpY2UudG9TdHJpbmcoKSwvL+a4uOaIj+WFheWAvOmHkeminSjljZXkvY3kuLog5YWDKVxuICAgICAgY3VzdG9taW5mbzogXCJcIiwvL+a4uOaIj+mAj+S8oOWPguaVsO+8jOWbnuiwg+aXtuWOn+agt+i/lOWbnlxuICAgICAgY3VzdG9tb3JkZXJpZDogb3JkZXJJZCwvL+a4uOaIj+mAj+S8oOWPguaVsO+8jOWbnuiwg+aXtuWOn+agt+i/lOWbnlxuICAgICAgcHJvZHVjdGRlc2M6IHBhcmFtLnByb2R1Y3ROYW1lLC8v5YWF5YC85o+P6L+wXG4gICAgICBwcm9kdWN0ZmVlY29kZTogb3JkZXIxMGNzLFxuICAgIH07XG5cbiAgICBxZy5hc2RrLmFzZGtQYXkob3JkZXJEYXRhLCBmdW5jdGlvbiAocmVzKSB7XG4gICAgICAvL2NvbnNvbGUubG9nKFwicGF5IHJldHVybjpcIitKU09OLnN0cmluZ2lmeShyZXMpKVxuICAgICAgaWYgKHJlcy5jb2RlLnRvU3RyaW5nKCkgIT0gXCIwXCIpIHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcIuaUr+S7mOWksei0pe+8jOWksei0peWOn+WboO+8mlwiK3Jlcy5tc2cpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKENvbmZpZy5wYXlTdWNjQWRva0lkICE9IG51bGwpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKENvbmZpZy5wYXlTdWNjQWRva0lkKVxuICAgICAgICAgIENvbmZpZy5wYXlTdWNjQWRva0lkID0gbnVsbFxuICAgICAgICB9XG4gICAgICAgIENvbmZpZy5wYXlTdWNjQWRva0luZGV4ID0gMFxuICAgICAgICBDb25maWcucGF5U3VjY0Fkb2tJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICBDb25maWcucGF5U3VjY0Fkb2tJbmRleCsrXG4gICAgICAgICAgaWYgKENvbmZpZy5wYXlTdWNjQWRva0luZGV4ID49IDUpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoQ29uZmlnLnBheVN1Y2NBZG9rSWQpXG4gICAgICAgICAgICBDb25maWcucGF5U3VjY0Fkb2tJZCA9IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgICAgR2FtZURhdGFDZW50ZXIudGltZS5zZW5kQWRvaygpXG4gICAgICAgIH0sIDEwMDApXG4gICAgICB9XG4gICAgfSlcblxuICB9XG4gIC8vIOS4iuaKpeinkuiJsuaVsOaNrlxuICByZXBvcnRSb2xlKGV2ZW50OiBSZXBvcnRSb2xlVHlwZSk6IHZvaWQge1xuXG4gICAgbGV0IHBsYXllcmluZm8gPSB7XG4gICAgICBwbGF5ZXJpZDogR2FtZURhdGFDZW50ZXIudXNlci51dWlkLCAgXHRcdFx0XHQvL+inkuiJsklEXG4gICAgICBwbGF5ZXJuYW1lOiBHYW1lRGF0YUNlbnRlci51c2VyLm5pY2tOYW1lLFx0XHRcdFx0Ly/op5LoibLlkI3np7BcbiAgICAgIHBsYXllcmxldmVsOiBHYW1lRGF0YUNlbnRlci5zZXZCYWNrLnVzZXJJbmZvLmE/LmxldmVsPy50b1N0cmluZygpLFx0XHRcdFx0XHRcdC8v6KeS6Imy562J57qnXG4gICAgICBzZXJ2ZXJpZDogR2FtZURhdGFDZW50ZXIuc2V2QmFjay51c2VySW5mby5hPy5zaWQsXHRcdFx0XHRcdC8v5Yy65pyNSURcbiAgICAgIHNlcnZlcm5hbWU6IEdhbWVEYXRhQ2VudGVyLnVzZXIuc2VydmVyTmFtZVx0XHRcdFx0Ly/ljLrmnI3lkI3np7BcbiAgICB9O1xuICAgIHFnLmFzZGsuYXNka1NlbmRSb2xlKHBsYXllcmluZm8sIGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgIC8vY29uc29sZS5sb2coJ+inkuiJsuS4iuaKpei/lOWbnu+8micrSlNPTi5zdHJpbmdpZnkocmVzKSk7XG4gICAgfSk7XG4gIH1cblxuXG4gIHNob3dSZXdhcmRBZChhZElkOiBzdHJpbmcsIGtpZDogc3RyaW5nLCBvcmRlcjExSWQ6IHN0cmluZyk6IHZvaWQge1xuXG4gICAgcWcuYXNkay5hc2RrUmV3YXJkZWRBZChhZElkLCAocmVzKSA9PiB7XG4gICAgICAvL2NvbnNvbGUubG9nKCflub/lkYrov5Tlm57vvJonK0pTT04uc3RyaW5naWZ5KHJlcykpO1xuICAgICAgaWYgKHJlcy5jb2RlLnRvU3RyaW5nKCkgIT0gXCIwXCIpIHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcIueci+W5v+WRiuWksei0pe+8jOWksei0peWOn+WboO+8mlwiK3Jlcy5tc2cpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgR2FtZURhdGFDZW50ZXIuYWRWaWRlby5vblhpYWRhblN1Y2MoKSAvLyDmlLnmiJDnm7TmjqXosIPnlKgs5LiN5Zue6LCD5LqGXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzYXZlQXBwVG9EZXNrdG9wKGNiPzogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICBxZy5hc2RrLmFzZGtDcmVhdGVJY29uKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgIC8vY29uc29sZS5sb2coJ+WIm+W7uueKtuaAgei/lOWbnu+8micrSlNPTi5zdHJpbmdpZnkocmVzKSlcbiAgICAgIGlmIChyZXMuY29kZS50b1N0cmluZygpICE9IFwiMFwiKSB7XG4gICAgICAgIC8vY29uc29sZS5sb2coXCLliJvlu7rlm77moIflpLHotKXvvIzlpLHotKXljp/lm6DvvJpcIityZXMubXNnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChjYikge1xuICAgICAgICAgIGNiKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgbG9nb3V0KCk6IHZvaWQge1xuICAgIHFnLmFzZGsuYXNka1F1aXQoKTtcbiAgfVxuXG4gIHNldENsaXBib2FyZChkYXRhOiBzdHJpbmcsIGNiPzogRnVuY3Rpb24pIHtcbiAgICBxZy5zZXRDbGlwYm9hcmREYXRhKHtcbiAgICAgIGRhdGE6IGRhdGEsXG4gICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vY29uc29sZS5sb2coXCJzZXRDbGlwYm9hcmREYXRhIHN1Y2Nlc3NcIiApO1xuICAgICAgICBVSUhlbHAuU2hvd1RpcHMoXCLlt7LlpI3liLbliLDliarliIfmnb9cIik7XG4gICAgICAgIGlmIChjYikge1xuICAgICAgICAgIGNiKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmYWlsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vY29uc29sZS5sb2coXCJzZXRDbGlwYm9hcmREYXRhIGZhaWxcIik7XG4gICAgICB9LFxuICAgICAgY29tcGxldGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInNldENsaXBib2FyZERhdGEgY29tcGxldGVcIik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG5cblxuXG5cbn0iXX0=