diff --git a/assets/Scene/RankScene.fire b/assets/Scene/RankScene.fire index 8063587..5fa8d06 100644 --- a/assets/Scene/RankScene.fire +++ b/assets/Scene/RankScene.fire @@ -57,7 +57,7 @@ "_is3DNode": true, "_groupIndex": 0, "groupIndex": 0, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "_id": "2d2f792f-a40c-49bb-a189-ed176a246e49" }, { @@ -1166,7 +1166,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "6eyN1+nK5HT7svNqUsa2/+", "sync": false @@ -1344,7 +1344,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "08Vcf5jRBOhLOtnEzMUku6", "sync": false @@ -1451,7 +1451,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "f0DfDJ4PNDbb7lvykwzyBm", "sync": false @@ -1482,7 +1482,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "38W68aamJOhbnBDiSboSCF", "sync": false @@ -1661,7 +1661,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "07jJ4rjvBM3K8UmWuJPTSW", "sync": false @@ -1770,7 +1770,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "cf00JqB1FL4J82EdUA2X13", "sync": false @@ -1879,7 +1879,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "1beDtXl+VD86kzCArCfEPs", "sync": false @@ -1890,7 +1890,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "d03AAa5MpCZY7eWAmnGlia", "sync": false @@ -1998,7 +1998,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "de4HHWkIhExrJq1+nHHMA6", "sync": false @@ -2106,7 +2106,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "05c46heZhJV4sYMqYyxlB5", "sync": false @@ -2214,7 +2214,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "2an+mxcU5ApJz+ZlYlaw5G", "sync": false @@ -2322,7 +2322,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "78MlwwIH1CYrPsut4N5MBU", "sync": false @@ -2343,7 +2343,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "55FH2q1HJAyK0hrjxGH/+q", "sync": false @@ -4967,7 +4967,7 @@ "__id__": 2 }, "component": "", - "_componentId": "e1b90/rohdEk4SdmmEZANaD", + "_componentId": "e74a999IDFOabyymZgXQIiy", "handler": "backClick", "customEventData": "" }, @@ -4988,25 +4988,6 @@ "_fitHeight": true, "_id": "17HeE62vtFurfhKbLJeXdc" }, - { - "__type__": "e1b90/rohdEk4SdmmEZANaD", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "Player": { - "__id__": 69 - }, - "selfNode": { - "__id__": 86 - }, - "phone": { - "__id__": 89 - }, - "_id": "75enN1g2JHy7NqiKYVoxNQ" - }, { "__type__": "cc.Widget", "_name": "", @@ -5033,5 +5014,24 @@ "_originalWidth": 0, "_originalHeight": 0, "_id": "45wIx1qRNIfKRBbYhYEP1r" + }, + { + "__type__": "e74a999IDFOabyymZgXQIiy", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "Player": { + "__id__": 69 + }, + "selfNode": { + "__id__": 86 + }, + "phone": { + "__id__": 89 + }, + "_id": "81Iy69gIdCtp0UzAUPZ1+M" } ] \ No newline at end of file diff --git a/assets/Script/tool/GameTool.js b/assets/Script/tool/GameTool.js deleted file mode 100644 index 3ee32d9..0000000 --- a/assets/Script/tool/GameTool.js +++ /dev/null @@ -1,588 +0,0 @@ -var StorageMessage = require("Storage").StorageMessage; -window.GameTool = { - _startTime: 0, - _endTime: 0, - _totalTime: 0, - getSeedRandom: function (min, max) {//包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - let rnd = GM_INFO.currSeed / 233280.0; - let tmp = min + rnd * (max - min); - return parseInt(tmp); - }, - - getSetScreenResolutionFlag: function () { - let size = cc.winSize; - let width = size.width; - let height = size.height; - if ((height / width) > (16.2 / 9)) return false; - return true; - }, - //判断全面屏适配 - setFit: function (canvas) { - let flag = GameTool.getSetScreenResolutionFlag(); - if (flag) { - // console.log("不是全面屏"); - // canvas.fitWidth = false; - // canvas.fitHeight = true; - } else { - // console.log("是全面屏"); - // canvas.fitWidth = true; - // canvas.fitHeight = false; - } - return flag; - }, - - // submitScoreButtonFunc: function(score1,fen1){ - // console.log("上传分数:",score1,fen1) - // // var score = score1; - // // var fen = fen1; - // // if (CC_WECHATGAME) { - // // window.wx.postMessage({ - // // messageType: 3, - // // MAIN_MENU_NUM: "guan", - // // score: score, - // // MAIN_MENU_FEN: "score", - // // fen: fen, - // // }); - // // } else { - // // cc.log("提交得分: x1 : " + score) - // // } - // // return true; - // }, - - - submitScoreButtonFunc: function(fen2,number){ - console.log("number=",number) - if(number == 0){ - console.log("上传分数:",fen2) - var fen = fen2; - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 3, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: fen, - fen: 0, - }); - } else { - cc.log("提交得分: x1 : " + fen) - } - } - else{ - console.log("上传特殊分数:",fen2) - var fen = fen2; - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 7, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: 0, - fen: fen, - }); - } else { - cc.log("提交得分: x1 : " + fen) - } - } - return true; - }, - - getTip: function () { - let index = Math.floor(Math.random() * 4) + 1; - switch (index) { - case 1: { - return "根据小球的位置,合理晃动手机,确保小球不掉出木板。" - } - case 2: { - return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。" - } - case 3: { - return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。" - } - case 4: { - return "尝试着顶开掉落的障碍,是个很酷的玩法。" - } - } - }, - - beginTiming: function () { - this._startTime = new Date().getTime(); - }, - - endTiming: function () { - this._endTime = new Date().getTime(); - // this._totalTime = endTime - this._startTime; - }, - //如果是判断时常的游戏 调用此方法 - updateScoreTime: function () { - let endTime = new Date().getTime(); - let tempTime = endTime - this._startTime; - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - this._endTime += tempTime / 1000; - this._totalTime = this._endTime.toFixed(2); - GM_INFO.currScore = this._totalTime; - this._startTime = endTime; - }, - //倒计时调用此方法 - countDown: function () { - this._endTime = new Date().getTime(); - this._totalTime = parseInt((this._endTime - this._startTime) / 1000); - GM_INFO.remainingTime = GM_INFO.totalTime - this._totalTime; - }, - - httpRequest(url, data, success, fail) { - console.log("进入网络请求:"); - wx.getNetworkType({ - success(res) { - var networkType = res.networkType; - // console.log(networkType); - //有网络状态下 - if(networkType == "wifi" ||networkType == "4g" || networkType == "3g" || networkType =="unknown"){ - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json', // 默认值 - 'Authorization':window.globalData.BASE64_JWT_TOKEN?'Bearer '+window.globalData.BASE64_JWT_TOKEN:'' - }, - method: 'POST', - success(res) { - console.log('httpRequest:::::success',res); - success(res); - }, - fail(res) { - console.log('httpRequest:::::fail', res,"失败url为",url); - fail(res) - } - }) - } - else{ - fail(res) - } - }, - fail(res){ - fail(res) - } - }) - // console.log('httpRequest:::::', url, data, success, fail) - - }, - - httpRequest_Notoken(url, data, success, fail) { - // console.log('httpRequest:::::', url, data, success, fail) - wx.getNetworkType({ - success(res) { - var networkType = res.networkType; - // console.log(networkType); - //有网络状态下 - if(networkType == "wifi" ||networkType == "4g" || networkType == "3g" || networkType =="unknown"){ - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json', // 默认值 - }, - method: 'POST', - success(res) { - console.log('httpRequest:::::success',res); - success(res); - }, - fail(res) { - console.log('httpRequest:::::fail', res,"失败url为",url); - fail(res) - } - }) - } - else{ - fail(res) - } - }, - fail(res){ - fail(res) - } - }) - - }, - - getGameInfo: function(node){ - var jg = false; - var nodes = node; - let data = { - 'appid': window.globalData.appid - } - window.GameTool.httpRequest(window.globalData.getUserInfoUrl, data, function (res) { - window.globalData.gameUserInfo = res.data.king_user; //user_id在这里 - console.log("拿到服务器的信息",res.data); - - if(window.globalData.gameUserInfo){ - console.log("获得服务器游戏信息成功:",window.globalData.gameUserInfo); - if(window.globalData.gameUserInfo.unlock_1) - window.GM_INFO.unlock_1 = window.globalData.gameUserInfo.unlock_1; - if(window.globalData.gameUserInfo.unlock_2) - window.GM_INFO.unlock_2 = window.globalData.gameUserInfo.unlock_2; - //如果服务器有金币信息 - if(window.globalData.gameUserInfo.coin){ - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if(StorageMessage.getStorage("Coin")){ - if(window.globalData.gameUserInfo.coin != StorageMessage.getStorage("Coin")){ - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin",window.GM_INFO.coin); - } - } //如果本地没有金币信息 , 以服务器金币信息为主 - else{ - window.GM_INFO.coin = window.globalData.gameUserInfo.coin; - StorageMessage.setStorage("Coin",window.GM_INFO.coin); - } - } - else{ - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if(StorageMessage.getStorage("Coin")){ - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin",window.GM_INFO.coin); - } //如果本地没有金币信息 , 以服务器金币信息为主 - else{ - window.GM_INFO.coin = 200; - StorageMessage.setStorage("Coin",window.GM_INFO.coin); - } - } - - cc.director.loadScene('GameBegin'); - // console.log("即将进入这里"); - // if(StorageMessage.getStorage("level")){ - // // console.log("本地有等级信息;"); - // // console.log("服务器信息等级为:",window.globalData.gameUserInfo.level); - // window.GM_INFO.level = StorageMessage.getStorage("level"); - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // // console.log("本地等级信息为:",window.GM_INFO.level); - // //本地存储等级 小于服务器等级, 等于本地数据丢失,这时以服务器数据为主重新构建游戏 - // if(window.GM_INFO.level < window.globalData.gameUserInfo.level){ - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - // //正常进入游戏,以本地数据为主,服务器数据为辅 - // else{ - // console.log("本地数据大以本地主数据为主"); - // // window.GameTool.setGameInfo(true); - // } - // } - // else{ - // console.log("笨地没等级数据"); - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - if (CC_WECHATGAME) { - wx.onShow(function(res){ - if(res){ - if(res.query){ - console.log("分享中带的信息",res.query); - if(res.query.key1){ - window.GameTool.setFrindHelp(res.query.key1); - } - if(res.query.key2){ - window.GameTool.setFrindBlock(res.query.key2); - } - if(res.query.key3){ - window.GameTool.setFrindBlockMax(res.query.key3); - } - } - } - }); - wx.onHide(function(res){ - console.log("检测退出游戏"); - // window.arm = []; - // for(var i=0; i<12; i++){ - // window.arm[i] = null; - // window.arm[i] = {error:"error"}; - // } - // window.arm = StorageMessage.setStorage("arm",window.arm); - var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - window.GameTool.setGameInfo(); - }); - } - jg = true; - } - else{ - console.log("拿到服务器信息失败"); - cc.director.loadScene("LoadScene"); - } - - },function(){ - jg = false; - console.log("get用户信息失败",res); - }) - return jg; - }, - //根据服务器数据重置所需要所有数据 - reset: function(){ - // if(window.globalData.gameUserInfo.arm) - // StorageMessage.setStorage("arm",window.globalData.gameUserInfo.arm); - // if(window.globalData.gameUserInfo.richest_coin) - // StorageMessage.setStorage("coin",parseInt(window.globalData.gameUserInfo.richest_coin)); - // if(window.globalData.gameUserInfo.dimond) - // StorageMessage.setStorage("dimond",window.globalData.gameUserInfo.dimond); - // if(window.globalData.gameUserInfo.buy_time) - // StorageMessage.setStorage("buy_Time",window.globalData.gameUserInfo.buy_time); - // if(window.globalData.gameUserInfo.dimond_time) - // StorageMessage.setStorage("dimond_Time",window.globalData.gameUserInfo.dimond_time); - // if(window.globalData.gameUserInfo.level) - // StorageMessage.setStorage("level",window.globalData.gameUserInfo.level); - // if(window.globalData.gameUserInfo.total_Speed) - // StorageMessage.setStorage("total_Speed",parseInt(window.globalData.gameUserInfo.total_Speed)); - // if(window.globalData.gameUserInfo.leave_time) - // StorageMessage.setStorage("leave_time",window.globalData.gameUserInfo.leave_time); - // if(window.globalData.gameUserInfo.reward1) - // StorageMessage.setStorage("share_Array",window.globalData.gameUserInfo.reward1); - // if(window.globalData.gameUserInfo.reward2) - // StorageMessage.setStorage("share_100",window.globalData.gameUserInfo.reward2); - - // StorageMessage.setStorage("GM_INFO",window.GM_INFO); - console.log("本地数据丢失,重新启动游戏"); - cc.director.loadScene('LoadScene'); - }, - - setGameInfo: function(pd){ - let data = { - // "richest_coin":window.coin+"", - // "arm":window.arm, - // "buy_time":window.buy_Time, - // "dimond":parseInt(window.dimond), - // "dimond_time":window.dimond_Time, - // "level":window.GM_INFO.level, - // "total_speed":window.total_Speed+"", - // "reward_1":window.GM_INFO.share_Array, //用于存储6个红包的领取信息 - // "reward_2":window.share_100 //用于存储100个红包的领取信息 - } - // console.log("存储之前检测:",window.arm,arms); - window.GameTool.httpRequest(window.globalData.richest, data, function (res) { - console.log('存储userInfo成功', res); - if(!pd){ - window.GM_INFO.leave_time = res.data.leave_time; - StorageMessage.setStorage("leave_time",window.GM_INFO.leave_time); - } - - },function(res){ - console.log('存储userInfo失败', res); - if(!pd){ - window.GM_INFO.leave_time = parseInt(new Date().valueOf()/1000); - StorageMessage.setStorage("leave_time",data); - } - }) - }, - - - //输入秒,返回需要展示时间格式 - getTimeMargin:(second) => { - let total = second; - let hour = parseInt(total / (60 * 60));//计算整数小时数 - let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数 - let min = parseInt(afterHour / 60);//计算整数分 - let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数 - return '剩余:' + hour + ':' + min + ':' + afterMin - }, - - getTimeMargin2:(second) => { - let total = second; - let hour = parseInt(total / (60 * 60));//计算整数小时数 - let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数 - let min = parseInt(afterHour / 60);//计算整数分 - if(min < 10) min = "0"+min; - let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数 - if(afterMin < 10) afterMin = "0" + afterMin; - return '剩余:' + min + ':' + afterMin - }, - - setFrindBlock: function(userid){ - // console.log("添加时候的userid"); - let data = { - user_id:userid - } - // if(userid != window.globalData.gameUserInfo.user_id){ - // console.log("进分享的不是自己"); - // { - window.GameTool.httpRequest(window.globalData.entryBlock, data, function (res) { - console.log('添加红包助力信息成功', res) - }, function (res) { - console.log('添加红包助力信息失败', res) - }) - // } - // } - // else{ - // console.log("进入分享的是自己"); - // } - }, - - // setFrindBlockMax: function(userid){ - // // console.log("添加时候的userid"); - // let data = { - // user_id:userid - // } - // // if(userid != window.globalData.gameUserInfo.user_id){ - // // console.log("进分享的不是自己"); - // // { - // window.GameTool.httpRequest(window.globalData.entryBlockMax, data, function (res) { - // console.log('添加最后的好友信息成功', res) - // }, function (res) { - // console.log('添加最后的好友信息信息失败', res) - // }) - // // } - // // } - // // else{ - // // console.log("进入分享的是自己"); - // // } - // }, - - - getSeedRandom: function (min, max) {//包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - let rnd = GM_INFO.currSeed / 233280.0; - let tmp = min + rnd * (max - min); - return parseInt(tmp); - }, - - //将时间转换为59:23 - getTime: function(time){ - var label = ""; - var number_1 = parseInt(time/60); - var number_2 = time-number_1*60; - if(number_1 < 10){ - number_1 = "0"+number_1; - } - if(number_2 < 10){ - number_2 = "0"+number_2; - } - label = number_1 + ":" + number_2; - - return label; - }, - //number 为传进来的数值,type为最多显示几位数 - getNumber: function(number,type){ - // console.log(type,"需要转换的数字为:",number); - var count = 1000; - var place = type - 3; - if(number > Math.pow(count,8)*Math.pow(10,place)){ - if(number/Math.pow(count,8) < 100) - number = parseInt(number/Math.pow(count,8)*10)/10+"S"; - else - number = parseInt(number/Math.pow(count,8))+"S"; - } - else if(number > Math.pow(count,7)*Math.pow(10,place)){ - if(number/Math.pow(count,7) < 100) - number = parseInt(number/Math.pow(count,7)*10)/10+"s"; - else - number = parseInt(number/Math.pow(count,7))+"s"; - } - else if(number > Math.pow(count,6)*Math.pow(10,place)){ - if(number/Math.pow(count,6) < 100) - number = parseInt(number/Math.pow(count,6)*10)/10+"Q"; - else - number = parseInt(number/Math.pow(count,6))+"Q"; - } - else if(number > Math.pow(count,5)*Math.pow(10,place)){ - if(number/Math.pow(count,5) < 100) - number = parseInt(number/Math.pow(count,5)*10)/10+"q"; - else - number = parseInt(number/Math.pow(count,5))+"q"; - - } - else if(number > Math.pow(count,4)*Math.pow(10,place)){ - if(number/Math.pow(count,4) < 100) - number = parseInt(number/Math.pow(count,4)*10)/10+"t"; - else - number = parseInt(number/Math.pow(count,4))+"t"; - } - else if(number > Math.pow(count,3)*Math.pow(10,place)){ - if(number/Math.pow(count,3) < 100) - number = parseInt(number/Math.pow(count,3)*10)/10+"b"; - else - number = parseInt(number/Math.pow(count,3))+"b"; - } - else if(number > Math.pow(count,2)*Math.pow(10,place)){ - if(number/Math.pow(count,2) < 100) - number = parseInt(number/Math.pow(count,2)*10)/10+"m"; - else - number = parseInt(number/Math.pow(count,2))+"m"; - } - else if(number > Math.pow(count,1)*Math.pow(10,place)){ - if(number/Math.pow(count,1) < 100){ - number = parseInt(number/Math.pow(count,1)*10)/10+"k"; - } - else - number = parseInt(number/Math.pow(count,1))+"k"; - } - else{ - number = parseInt(number/Math.pow(count,0))+""; - } - // console.log("结果为"+type+"位数",number); - return number; - }, - - - - - - begainTiming: function () { - this._startTime = new Date().getTime(); - }, - - endTiming: function () { - let endTime = new Date().getTime(); - this._endTime = endTime; - this._totalTime = endTime - this._startTime; - }, - - getScoreTime: function () { - let endTime = new Date().getTime(); - let tempTime = endTime - this._startTime; - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - GM_INFO.currScore += tempTime; - this._startTime = endTime; - }, - - getFormatTime: function (time) { - - let date = new Date(); - date.setTime(time); - - let ms = date.getMilliseconds(); - // let msString = date.getMilliseconds(); - let msString = parseInt(ms / 10) % 100; - - let secondString = date.getSeconds(); - - let minString = date.getMinutes(); - - if (msString < 10) { - msString = "0" + msString; - } - if (secondString < 10) { - secondString = "0" + secondString; - } - secondString = secondString + ":"; - - if (minString < 10) { - minString = "0" + minString; - } - minString = minString + ":"; - - return minString + secondString + msString; - - }, - pushLister:function () { - - }, - removeAllLister:function () { - - }, - -}; \ No newline at end of file diff --git a/assets/Script/tool/GameTool.ts b/assets/Script/tool/GameTool.ts new file mode 100644 index 0000000..04a6405 --- /dev/null +++ b/assets/Script/tool/GameTool.ts @@ -0,0 +1,254 @@ +import GameData from "../GameData"; +import { StorageMessage } from "./Storage"; +//最大工具类 +var GameTool = { + _startTime: 0, + _endTime: 0, + _totalTime: 0, + getSeedRandom: function (min, max) {//包含min 不包含max + max = max || 1; + min = min || 0; + GameData._instance.GM_INFO.currSeed = (GameData._instance.GM_INFO.currSeed * 9301 + 49297) % 233280; + let rnd = GameData._instance.GM_INFO.currSeed / 233280.0; + let tmp = min + rnd * (max - min); + return Math.floor(tmp); + }, + + getSetScreenResolutionFlag: function () { + let size = cc.winSize; + let width = size.width; + let height = size.height; + if ((height / width) > (16.2 / 9)) return false; + return true; + }, + //判断全面屏适配 + setFit: function (canvas) { + let flag = GameTool.getSetScreenResolutionFlag(); + if (flag) { + // console.log("不是全面屏"); + // canvas.fitWidth = false; + // canvas.fitHeight = true; + } else { + // console.log("是全面屏"); + // canvas.fitWidth = true; + // canvas.fitHeight = false; + } + return flag; + }, + + getTip: function () { + let index = Math.floor(Math.random() * 4) + 1; + switch (index) { + case 1: { + return "根据小球的位置,合理晃动手机,确保小球不掉出木板。" + } + case 2: { + return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。" + } + case 3: { + return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。" + } + case 4: { + return "尝试着顶开掉落的障碍,是个很酷的玩法。" + } + } + }, + + beginTiming: function () { + this._startTime = new Date().getTime(); + }, + + endTiming: function () { + this._endTime = new Date().getTime(); + // this._totalTime = endTime - this._startTime; + }, + //如果是判断时常的游戏 调用此方法 + updateScoreTime: function () { + let endTime = new Date().getTime(); + let tempTime = endTime - this._startTime; + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + this._endTime += tempTime / 1000; + this._totalTime = this._endTime.toFixed(2); + GameData._instance.GM_INFO.currScore = this._totalTime; + this._startTime = endTime; + }, + //倒计时调用此方法 + countDown: function () { + this._endTime = new Date().getTime(); + this._totalTime = Math.floor((this._endTime - this._startTime) / 1000); + GameData._instance.GM_INFO.remainingTime = GameData._instance.GM_INFO.totalTime - this._totalTime; + }, + + getGameInfo: function(node){ + var jg = false; + return jg; + }, + //根据服务器数据重置所需要所有数据 + reset: function(){ + console.log("本地数据丢失,重新启动游戏"); + cc.director.loadScene('LoadScene'); + }, + + setGameInfo: function(pd){ + + }, + //输入秒,返回需要展示时间格式 + getTimeMargin:(second) => { + let total = second; + let hour = Math.floor(total / (60 * 60));//计算整数小时数 + let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数 + let min = Math.floor(afterHour / 60);//计算整数分 + let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数 + return '剩余:' + hour + ':' + min + ':' + afterMin + }, + + getTimeMargin2:(second) => { + let total = second; + let min = null; + let afterMin = null; + let hour = Math.floor(total / (60 * 60));//计算整数小时数 + let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数 + min = Math.floor(afterHour / 60);//计算整数分 + if(min < 10) min = "0"+min; + afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数 + if(afterMin < 10) afterMin = "0" + afterMin; + return '剩余:' + min + ':' + afterMin + }, + + setFrindBlock: function(userid){ + + }, + //将时间转换为59:23 + getTime: function(time){ + var label = ""; + var number_1 = null; + var number_2 = null; + number_1 = Math.floor(time/60) + number_2 = time-number_1*60; + if(number_1 < 10){ + number_1 = "0"+number_1; + } + if(number_2 < 10){ + number_2 = "0"+number_2; + } + label = number_1 + ":" + number_2; + return label; + }, + //number 为传进来的数值,type为最多显示几位数 + getNumber: function(number,type){ + // console.log(type,"需要转换的数字为:",number); + var count = 1000; + var place = type - 3; + if(number > Math.pow(count,8)*Math.pow(10,place)){ + if(number/Math.pow(count,8) < 100) + number = Math.floor(number/Math.pow(count,8)*10)/10+"S"; + else + number = Math.floor(number/Math.pow(count,8))+"S"; + } + else if(number > Math.pow(count,7)*Math.pow(10,place)){ + if(number/Math.pow(count,7) < 100) + number = Math.floor(number/Math.pow(count,7)*10)/10+"s"; + else + number = Math.floor(number/Math.pow(count,7))+"s"; + } + else if(number > Math.pow(count,6)*Math.pow(10,place)){ + if(number/Math.pow(count,6) < 100) + number = Math.floor(number/Math.pow(count,6)*10)/10+"Q"; + else + number = Math.floor(number/Math.pow(count,6))+"Q"; + } + else if(number > Math.pow(count,5)*Math.pow(10,place)){ + if(number/Math.pow(count,5) < 100) + number = Math.floor(number/Math.pow(count,5)*10)/10+"q"; + else + number = Math.floor(number/Math.pow(count,5))+"q"; + + } + else if(number > Math.pow(count,4)*Math.pow(10,place)){ + if(number/Math.pow(count,4) < 100) + number = Math.floor(number/Math.pow(count,4)*10)/10+"t"; + else + number = Math.floor(number/Math.pow(count,4))+"t"; + } + else if(number > Math.pow(count,3)*Math.pow(10,place)){ + if(number/Math.pow(count,3) < 100) + number = Math.floor(number/Math.pow(count,3)*10)/10+"b"; + else + number = Math.floor(number/Math.pow(count,3))+"b"; + } + else if(number > Math.pow(count,2)*Math.pow(10,place)){ + if(number/Math.pow(count,2) < 100) + number = Math.floor(number/Math.pow(count,2)*10)/10+"m"; + else + number = Math.floor(number/Math.pow(count,2))+"m"; + } + else if(number > Math.pow(count,1)*Math.pow(10,place)){ + if(number/Math.pow(count,1) < 100){ + number = Math.floor(number/Math.pow(count,1)*10)/10+"k"; + } + else + number = Math.floor(number/Math.pow(count,1))+"k"; + } + else{ + number = Math.floor(number/Math.pow(count,0))+""; + } + // console.log("结果为"+type+"位数",number); + return number; + }, + + begainTiming: function () { + this._startTime = new Date().getTime(); + }, + + endTiming2: function () { + let endTime = new Date().getTime(); + this._endTime = endTime; + this._totalTime = endTime - this._startTime; + }, + getScoreTime: function () { + let endTime = new Date().getTime(); + let tempTime = endTime - this._startTime; + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + GameData._instance.GM_INFO.currScore += tempTime; + this._startTime = endTime; + }, + + getFormatTime: function (time) { + let date = new Date(); + date.setTime(time); + let ms = date.getMilliseconds(); + // let msString = date.getMilliseconds(); + let msString = null; + let secondString = null; + let minString = null; + msString = Math.floor(ms / 10) % 100; + secondString = date.getSeconds(); + minString = date.getMinutes(); + if (msString < 10) { + msString = "0" + msString; + } + if (secondString < 10) { + secondString = "0" + secondString; + } + secondString = secondString + ":"; + + if (minString < 10) { + minString = "0" + minString; + } + minString = minString + ":"; + return minString + secondString + msString; + + }, + pushLister:function () { + + }, + removeAllLister:function () { + + }, + +}; +export { GameTool }; \ No newline at end of file diff --git a/assets/Script/tool/GameTool.js.meta b/assets/Script/tool/GameTool.ts.meta similarity index 64% rename from assets/Script/tool/GameTool.js.meta rename to assets/Script/tool/GameTool.ts.meta index 4f675d8..d42d25e 100644 --- a/assets/Script/tool/GameTool.js.meta +++ b/assets/Script/tool/GameTool.ts.meta @@ -1,7 +1,7 @@ { "ver": "1.1.0", - "uuid": "a1dd7a8c-882a-4e2c-bdc5-0d725df431b2", - "importer": "javascript", + "uuid": "ddac3642-fbda-4742-bd05-b3d208870e1a", + "importer": "typescript", "isPlugin": false, "loadPluginInWeb": true, "loadPluginInNative": true, diff --git a/assets/Script/tool/Storage.ts b/assets/Script/tool/Storage.ts new file mode 100644 index 0000000..ea5d843 --- /dev/null +++ b/assets/Script/tool/Storage.ts @@ -0,0 +1,27 @@ +//缓存浏览器数据 +var StorageMessage = { + getStorage : function(key){ + var result = null; + if(cc.sys.localStorage.getItem(key)){ + var result = cc.sys.localStorage.getItem(key); + } + + if(result){ + result = JSON.parse(result); + } + return result; + }, + setStorage : function(key,value){ + //主动拉起分享接口 + var temp = JSON.stringify(value); + cc.sys.localStorage.setItem(key, temp) + }, + removeStorage : function(key){ + //主动删除消息接口 + if(cc.sys.localStorage.getItem(key)){ + cc.sys.localStorage.removeItem(key) + } + }, +}; + +export { StorageMessage }; \ No newline at end of file diff --git a/assets/Script/tool/Storage.ts.meta b/assets/Script/tool/Storage.ts.meta new file mode 100644 index 0000000..a8fe89d --- /dev/null +++ b/assets/Script/tool/Storage.ts.meta @@ -0,0 +1,10 @@ +{ + "ver": "1.1.0", + "uuid": "f124c672-2895-4f3e-86ec-14a468f946a6", + "importer": "typescript", + "isPlugin": false, + "loadPluginInWeb": true, + "loadPluginInNative": true, + "loadPluginInEditor": false, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/prefab/RankListItem.prefab b/assets/prefab/RankListItem.prefab index 03c6fdf..f53fd13 100644 --- a/assets/prefab/RankListItem.prefab +++ b/assets/prefab/RankListItem.prefab @@ -24,17 +24,29 @@ "__id__": 5 }, { - "__id__": 8 + "__id__": 14 + }, + { + "__id__": 25 + }, + { + "__id__": 28 + }, + { + "__id__": 31 + }, + { + "__id__": 34 } ], "_active": true, "_components": [ { - "__id__": 11 + "__id__": 37 } ], "_prefab": { - "__id__": 12 + "__id__": 38 }, "_opacity": 255, "_color": { @@ -46,8 +58,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 100 + "width": 650, + "height": 94 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -59,7 +71,7 @@ "ctor": "Float64Array", "array": [ 0, - 0, + -100, 0, 0, 0, @@ -103,15 +115,15 @@ "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 164, - "g": 118, - "b": 239, + "r": 255, + "g": 255, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 100 + "width": 650, + "height": 94 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -163,7 +175,187 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" + "__uuid__": "ce34c82d-a598-42b0-a77c-6a75cd29dedb" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "6eyN1+nK5HT7svNqUsa2/+", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "pic", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 6 + }, + { + "__id__": 9 + } + ], + "_active": true, + "_components": [ + { + "__id__": 12 + } + ], + "_prefab": { + "__id__": 13 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 60, + "height": 60 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -171.687, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "pic", + "_objFlags": 0, + "_parent": { + "__id__": 5 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 7 + } + ], + "_prefab": { + "__id__": 8 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 60, + "height": 60 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 6 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "142b6dd7-9b54-4eae-bb06-301286d50978" }, "_type": 0, "_sizeMode": 0, @@ -187,7 +379,553 @@ "asset": { "__id__": 0 }, - "fileId": "6eyN1+nK5HT7svNqUsa2/+", + "fileId": "08Vcf5jRBOhLOtnEzMUku6", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "icon", + "_objFlags": 0, + "_parent": { + "__id__": 5 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 10 + } + ], + "_prefab": { + "__id__": 11 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 64, + "height": 64 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 9 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "142b6dd7-9b54-4eae-bb06-301286d50978" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "f0DfDJ4PNDbb7lvykwzyBm", + "sync": false + }, + { + "__type__": "cc.Mask", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 5 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_spriteFrame": null, + "_type": 1, + "_segments": 60, + "_N$alphaThreshold": 0, + "_N$inverted": false, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "38W68aamJOhbnBDiSboSCF", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "rank", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 15 + }, + { + "__id__": 18 + }, + { + "__id__": 21 + } + ], + "_active": true, + "_components": [], + "_prefab": { + "__id__": 24 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 40, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -261.233, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "one", + "_objFlags": 0, + "_parent": { + "__id__": 14 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 16 + } + ], + "_prefab": { + "__id__": 17 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 66, + "height": 66 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 15 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "c6571482-4474-41fa-a4bd-d5a2bcebaa71" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "07jJ4rjvBM3K8UmWuJPTSW", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "two", + "_objFlags": 0, + "_parent": { + "__id__": 14 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 19 + } + ], + "_prefab": { + "__id__": 20 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 66, + "height": 66 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "08fd7d22-22ba-461d-b289-aa5425039d76" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "cf00JqB1FL4J82EdUA2X13", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "three", + "_objFlags": 0, + "_parent": { + "__id__": 14 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 22 + } + ], + "_prefab": { + "__id__": 23 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 66, + "height": 66 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 21 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "95002fe0-1e5a-49eb-82c4-6157522083c1" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "1beDtXl+VD86kzCArCfEPs", + "sync": false + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "d03AAa5MpCZY7eWAmnGlia", "sync": false }, { @@ -201,36 +939,36 @@ "_active": true, "_components": [ { - "__id__": 6 + "__id__": 26 } ], "_prefab": { - "__id__": 7 + "__id__": 27 }, "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 16, - "g": 1, - "b": 1, + "r": 88, + "g": 69, + "b": 65, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 97.87, - "height": 50.4 + "width": 16.68, + "height": 37.8 }, "_anchorPoint": { "__type__": "cc.Vec2", - "x": 0, + "x": 0.5, "y": 0.5 }, "_trs": { "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -46.832, - 22.301, + -259.131, + -2.054, 0, 0, 0, @@ -259,7 +997,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 5 + "__id__": 25 }, "_enabled": true, "_materials": [ @@ -269,10 +1007,10 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "Label", - "_N$string": "Label", - "_fontSize": 40, - "_lineHeight": 40, + "_string": "5", + "_N$string": "5", + "_fontSize": 30, + "_lineHeight": 30, "_enableWrapText": true, "_N$file": null, "_isSystemFontUsed": true, @@ -280,11 +1018,11 @@ "_batchAsBitmap": false, "_styleFlags": 0, "_underlineHeight": 0, - "_N$horizontalAlign": 0, + "_N$horizontalAlign": 1, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", "_N$overflow": 0, - "_N$cacheMode": 0, + "_N$cacheMode": 1, "_id": "" }, { @@ -300,7 +1038,7 @@ }, { "__type__": "cc.Node", - "_name": "nameLab", + "_name": "totalLab", "_objFlags": 0, "_parent": { "__id__": 1 @@ -309,36 +1047,36 @@ "_active": true, "_components": [ { - "__id__": 9 + "__id__": 29 } ], "_prefab": { - "__id__": 10 + "__id__": 30 }, "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 13, - "g": 1, - "b": 1, + "r": 88, + "g": 69, + "b": 65, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 100.06, - "height": 50.4 + "width": 16.68, + "height": 37.8 }, "_anchorPoint": { "__type__": "cc.Vec2", - "x": 0, + "x": 1, "y": 0.5 }, "_trs": { "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -45.717, - -24.531, + 224.356, + -2.205, 0, 0, 0, @@ -367,7 +1105,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 8 + "__id__": 28 }, "_enabled": true, "_materials": [ @@ -377,10 +1115,10 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "name", - "_N$string": "name", - "_fontSize": 40, - "_lineHeight": 40, + "_string": "4", + "_N$string": "4", + "_fontSize": 30, + "_lineHeight": 30, "_enableWrapText": true, "_N$file": null, "_isSystemFontUsed": true, @@ -388,11 +1126,11 @@ "_batchAsBitmap": false, "_styleFlags": 0, "_underlineHeight": 0, - "_N$horizontalAlign": 0, + "_N$horizontalAlign": 2, "_N$verticalAlign": 1, "_N$fontFamily": "Arial", "_N$overflow": 0, - "_N$cacheMode": 0, + "_N$cacheMode": 1, "_id": "" }, { @@ -406,6 +1144,222 @@ "fileId": "05c46heZhJV4sYMqYyxlB5", "sync": false }, + { + "__type__": "cc.Node", + "_name": "nameLab", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 32 + } + ], + "_prefab": { + "__id__": 33 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 88, + "g": 69, + "b": 65, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 240, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -99.704, + -2.205, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 31 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "测试", + "_N$string": "测试", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 0, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 1, + "_N$cacheMode": 1, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "2an+mxcU5ApJz+ZlYlaw5G", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "label", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 35 + } + ], + "_prefab": { + "__id__": 36 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 88, + "g": 69, + "b": 65, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 28, + "height": 35.28 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 246.176, + -2.205, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 34 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "个", + "_N$string": "个", + "_fontSize": 28, + "_lineHeight": 28, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 1, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "78MlwwIH1CYrPsut4N5MBU", + "sync": false + }, { "__type__": "ca0f9k0oBVDbpQC+OMNTF3m", "_name": "", diff --git a/assets/prefab/RankListItem.prefab.meta b/assets/prefab/RankListItem.prefab.meta index 6427f1f..8f9f926 100644 --- a/assets/prefab/RankListItem.prefab.meta +++ b/assets/prefab/RankListItem.prefab.meta @@ -1,6 +1,6 @@ { "ver": "1.3.2", - "uuid": "32254f37-ac95-4912-a787-b8e0429ba0f1", + "uuid": "2a951e22-b1e0-4155-972d-251ef3fa8f5a", "importer": "prefab", "optimizationPolicy": "AUTO", "asyncLoadAssets": false, diff --git a/library/imports/2a/2a951e22-b1e0-4155-972d-251ef3fa8f5a.json b/library/imports/2a/2a951e22-b1e0-4155-972d-251ef3fa8f5a.json new file mode 100644 index 0000000..3c86a8e --- /dev/null +++ b/library/imports/2a/2a951e22-b1e0-4155-972d-251ef3fa8f5a.json @@ -0,0 +1,1384 @@ +[ + { + "__type__": "cc.Prefab", + "_name": "RankListItem", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false + }, + { + "__type__": "cc.Node", + "_name": "RankListItem", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 5 + }, + { + "__id__": 14 + }, + { + "__id__": 25 + }, + { + "__id__": 28 + }, + { + "__id__": 31 + }, + { + "__id__": 34 + } + ], + "_active": true, + "_components": [ + { + "__id__": 37 + } + ], + "_prefab": { + "__id__": 38 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 650, + "height": 94 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + -100, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + } + ], + "_prefab": { + "__id__": 4 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 650, + "height": 94 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "ce34c82d-a598-42b0-a77c-6a75cd29dedb" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "6eyN1+nK5HT7svNqUsa2/+", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "pic", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 6 + }, + { + "__id__": 9 + } + ], + "_active": true, + "_components": [ + { + "__id__": 12 + } + ], + "_prefab": { + "__id__": 13 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 60, + "height": 60 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -171.687, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "pic", + "_objFlags": 0, + "_parent": { + "__id__": 5 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 7 + } + ], + "_prefab": { + "__id__": 8 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 60, + "height": 60 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 6 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "142b6dd7-9b54-4eae-bb06-301286d50978" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "08Vcf5jRBOhLOtnEzMUku6", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "icon", + "_objFlags": 0, + "_parent": { + "__id__": 5 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 10 + } + ], + "_prefab": { + "__id__": 11 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 64, + "height": 64 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 9 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "142b6dd7-9b54-4eae-bb06-301286d50978" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "f0DfDJ4PNDbb7lvykwzyBm", + "sync": false + }, + { + "__type__": "cc.Mask", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 5 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_spriteFrame": null, + "_type": 1, + "_segments": 60, + "_N$alphaThreshold": 0, + "_N$inverted": false, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "38W68aamJOhbnBDiSboSCF", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "rank", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 15 + }, + { + "__id__": 18 + }, + { + "__id__": 21 + } + ], + "_active": true, + "_components": [], + "_prefab": { + "__id__": 24 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 40, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -261.233, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "one", + "_objFlags": 0, + "_parent": { + "__id__": 14 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 16 + } + ], + "_prefab": { + "__id__": 17 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 66, + "height": 66 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 15 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "c6571482-4474-41fa-a4bd-d5a2bcebaa71" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "07jJ4rjvBM3K8UmWuJPTSW", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "two", + "_objFlags": 0, + "_parent": { + "__id__": 14 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 19 + } + ], + "_prefab": { + "__id__": 20 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 66, + "height": 66 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "08fd7d22-22ba-461d-b289-aa5425039d76" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "cf00JqB1FL4J82EdUA2X13", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "three", + "_objFlags": 0, + "_parent": { + "__id__": 14 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 22 + } + ], + "_prefab": { + "__id__": 23 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 66, + "height": 66 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 21 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "95002fe0-1e5a-49eb-82c4-6157522083c1" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "1beDtXl+VD86kzCArCfEPs", + "sync": false + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "d03AAa5MpCZY7eWAmnGlia", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "rankLab", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 26 + } + ], + "_prefab": { + "__id__": 27 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 88, + "g": 69, + "b": 65, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 16.68, + "height": 37.8 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -259.131, + -2.054, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 25 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "5", + "_N$string": "5", + "_fontSize": 30, + "_lineHeight": 30, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 1, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "de4HHWkIhExrJq1+nHHMA6", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "totalLab", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 29 + } + ], + "_prefab": { + "__id__": 30 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 88, + "g": 69, + "b": 65, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 16.68, + "height": 37.8 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 1, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 224.356, + -2.205, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 28 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "4", + "_N$string": "4", + "_fontSize": 30, + "_lineHeight": 30, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 2, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 1, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "05c46heZhJV4sYMqYyxlB5", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "nameLab", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 32 + } + ], + "_prefab": { + "__id__": 33 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 88, + "g": 69, + "b": 65, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 240, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -99.704, + -2.205, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 31 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "测试", + "_N$string": "测试", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 0, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 1, + "_N$cacheMode": 1, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "2an+mxcU5ApJz+ZlYlaw5G", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "label", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 35 + } + ], + "_prefab": { + "__id__": 36 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 88, + "g": 69, + "b": 65, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 28, + "height": 35.28 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 246.176, + -2.205, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 34 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "个", + "_N$string": "个", + "_fontSize": 28, + "_lineHeight": 28, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 1, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "78MlwwIH1CYrPsut4N5MBU", + "sync": false + }, + { + "__type__": "ca0f9k0oBVDbpQC+OMNTF3m", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "", + "sync": false + } +] \ No newline at end of file diff --git a/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json b/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json index 58e0347..2a0394d 100644 --- a/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json +++ b/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json @@ -1167,7 +1167,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "6eyN1+nK5HT7svNqUsa2/+", "sync": false @@ -1345,7 +1345,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "08Vcf5jRBOhLOtnEzMUku6", "sync": false @@ -1452,7 +1452,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "f0DfDJ4PNDbb7lvykwzyBm", "sync": false @@ -1483,7 +1483,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "38W68aamJOhbnBDiSboSCF", "sync": false @@ -1662,7 +1662,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "07jJ4rjvBM3K8UmWuJPTSW", "sync": false @@ -1771,7 +1771,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "cf00JqB1FL4J82EdUA2X13", "sync": false @@ -1880,7 +1880,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "1beDtXl+VD86kzCArCfEPs", "sync": false @@ -1891,7 +1891,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "d03AAa5MpCZY7eWAmnGlia", "sync": false @@ -1999,7 +1999,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "de4HHWkIhExrJq1+nHHMA6", "sync": false @@ -2107,7 +2107,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "05c46heZhJV4sYMqYyxlB5", "sync": false @@ -2215,7 +2215,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "2an+mxcU5ApJz+ZlYlaw5G", "sync": false @@ -2323,7 +2323,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "78MlwwIH1CYrPsut4N5MBU", "sync": false @@ -2344,7 +2344,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "55FH2q1HJAyK0hrjxGH/+q", "sync": false @@ -4968,7 +4968,7 @@ "__id__": 2 }, "component": "", - "_componentId": "e1b90/rohdEk4SdmmEZANaD", + "_componentId": "e74a999IDFOabyymZgXQIiy", "handler": "backClick", "customEventData": "" }, @@ -4989,25 +4989,6 @@ "_fitHeight": true, "_id": "17HeE62vtFurfhKbLJeXdc" }, - { - "__type__": "e1b90/rohdEk4SdmmEZANaD", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "Player": { - "__id__": 69 - }, - "selfNode": { - "__id__": 86 - }, - "phone": { - "__id__": 89 - }, - "_id": "75enN1g2JHy7NqiKYVoxNQ" - }, { "__type__": "cc.Widget", "_name": "", @@ -5034,5 +5015,24 @@ "_originalWidth": 0, "_originalHeight": 0, "_id": "45wIx1qRNIfKRBbYhYEP1r" + }, + { + "__type__": "e74a999IDFOabyymZgXQIiy", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "Player": { + "__id__": 69 + }, + "selfNode": { + "__id__": 86 + }, + "phone": { + "__id__": 89 + }, + "_id": "81Iy69gIdCtp0UzAUPZ1+M" } ] \ No newline at end of file diff --git a/library/imports/32/32254f37-ac95-4912-a787-b8e0429ba0f1.json b/library/imports/32/32254f37-ac95-4912-a787-b8e0429ba0f1.json deleted file mode 100644 index c7bbc64..0000000 --- a/library/imports/32/32254f37-ac95-4912-a787-b8e0429ba0f1.json +++ /dev/null @@ -1,430 +0,0 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "RankListItem", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false - }, - { - "__type__": "cc.Node", - "_name": "RankListItem", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - }, - { - "__id__": 5 - }, - { - "__id__": 8 - } - ], - "_active": true, - "_components": [ - { - "__id__": 11 - } - ], - "_prefab": { - "__id__": 12 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 100 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "bg", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - } - ], - "_prefab": { - "__id__": 4 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 164, - "g": 118, - "b": 239, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 100 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "6eyN1+nK5HT7svNqUsa2/+", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "rankLab", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 6 - } - ], - "_prefab": { - "__id__": 7 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 16, - "g": 1, - "b": 1, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 97.87, - "height": 50.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -46.832, - 22.301, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 5 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "Label", - "_N$string": "Label", - "_fontSize": 40, - "_lineHeight": 40, - "_enableWrapText": true, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 0, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 0, - "_N$cacheMode": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "de4HHWkIhExrJq1+nHHMA6", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "nameLab", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 9 - } - ], - "_prefab": { - "__id__": 10 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 13, - "g": 1, - "b": 1, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100.06, - "height": 50.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -45.717, - -24.531, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 8 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "name", - "_N$string": "name", - "_fontSize": 40, - "_lineHeight": 40, - "_enableWrapText": true, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 0, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 0, - "_N$cacheMode": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "05c46heZhJV4sYMqYyxlB5", - "sync": false - }, - { - "__type__": "ca0f9k0oBVDbpQC+OMNTF3m", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "", - "sync": false - } -] \ No newline at end of file diff --git a/library/imports/a1/a1dd7a8c-882a-4e2c-bdc5-0d725df431b2.js b/library/imports/a1/a1dd7a8c-882a-4e2c-bdc5-0d725df431b2.js deleted file mode 100644 index bcbb1b6..0000000 --- a/library/imports/a1/a1dd7a8c-882a-4e2c-bdc5-0d725df431b2.js +++ /dev/null @@ -1,529 +0,0 @@ -"use strict"; -cc._RF.push(module, 'a1dd7qMiCpOLL3FDXJd9DGy', 'GameTool'); -// Script/tool/GameTool.js - -"use strict"; - -var _window$GameTool; - -var StorageMessage = require("Storage").StorageMessage; - -window.GameTool = (_window$GameTool = { - _startTime: 0, - _endTime: 0, - _totalTime: 0, - getSeedRandom: function getSeedRandom(min, max) { - //包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); - }, - getSetScreenResolutionFlag: function getSetScreenResolutionFlag() { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if (height / width > 16.2 / 9) return false; - return true; - }, - //判断全面屏适配 - setFit: function setFit(canvas) { - var flag = GameTool.getSetScreenResolutionFlag(); - - if (flag) {// console.log("不是全面屏"); - // canvas.fitWidth = false; - // canvas.fitHeight = true; - } else {// console.log("是全面屏"); - // canvas.fitWidth = true; - // canvas.fitHeight = false; - } - - return flag; - }, - // submitScoreButtonFunc: function(score1,fen1){ - // console.log("上传分数:",score1,fen1) - // // var score = score1; - // // var fen = fen1; - // // if (CC_WECHATGAME) { - // // window.wx.postMessage({ - // // messageType: 3, - // // MAIN_MENU_NUM: "guan", - // // score: score, - // // MAIN_MENU_FEN: "score", - // // fen: fen, - // // }); - // // } else { - // // cc.log("提交得分: x1 : " + score) - // // } - // // return true; - // }, - submitScoreButtonFunc: function submitScoreButtonFunc(fen2, number) { - console.log("number=", number); - - if (number == 0) { - console.log("上传分数:", fen2); - var fen = fen2; - - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 3, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: fen, - fen: 0 - }); - } else { - cc.log("提交得分: x1 : " + fen); - } - } else { - console.log("上传特殊分数:", fen2); - var fen = fen2; - - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 7, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: 0, - fen: fen - }); - } else { - cc.log("提交得分: x1 : " + fen); - } - } - - return true; - }, - getTip: function getTip() { - var index = Math.floor(Math.random() * 4) + 1; - - switch (index) { - case 1: - { - return "根据小球的位置,合理晃动手机,确保小球不掉出木板。"; - } - - case 2: - { - return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。"; - } - - case 3: - { - return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。"; - } - - case 4: - { - return "尝试着顶开掉落的障碍,是个很酷的玩法。"; - } - } - }, - beginTiming: function beginTiming() { - this._startTime = new Date().getTime(); - }, - endTiming: function endTiming() { - this._endTime = new Date().getTime(); // this._totalTime = endTime - this._startTime; - }, - //如果是判断时常的游戏 调用此方法 - updateScoreTime: function updateScoreTime() { - var endTime = new Date().getTime(); - var tempTime = endTime - this._startTime; - - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - - this._endTime += tempTime / 1000; - this._totalTime = this._endTime.toFixed(2); - GM_INFO.currScore = this._totalTime; - this._startTime = endTime; - }, - //倒计时调用此方法 - countDown: function countDown() { - this._endTime = new Date().getTime(); - this._totalTime = parseInt((this._endTime - this._startTime) / 1000); - GM_INFO.remainingTime = GM_INFO.totalTime - this._totalTime; - }, - httpRequest: function httpRequest(url, data, _success, _fail) { - console.log("进入网络请求:"); - wx.getNetworkType({ - success: function success(res) { - var networkType = res.networkType; // console.log(networkType); - //有网络状态下 - - if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json', - // 默认值 - 'Authorization': window.globalData.BASE64_JWT_TOKEN ? 'Bearer ' + window.globalData.BASE64_JWT_TOKEN : '' - }, - method: 'POST', - success: function success(res) { - console.log('httpRequest:::::success', res); - - _success(res); - }, - fail: function fail(res) { - console.log('httpRequest:::::fail', res, "失败url为", url); - - _fail(res); - } - }); - } else { - _fail(res); - } - }, - fail: function fail(res) { - _fail(res); - } - }); // console.log('httpRequest:::::', url, data, success, fail) - }, - httpRequest_Notoken: function httpRequest_Notoken(url, data, _success2, _fail2) { - // console.log('httpRequest:::::', url, data, success, fail) - wx.getNetworkType({ - success: function success(res) { - var networkType = res.networkType; // console.log(networkType); - //有网络状态下 - - if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json' // 默认值 - - }, - method: 'POST', - success: function success(res) { - console.log('httpRequest:::::success', res); - - _success2(res); - }, - fail: function fail(res) { - console.log('httpRequest:::::fail', res, "失败url为", url); - - _fail2(res); - } - }); - } else { - _fail2(res); - } - }, - fail: function fail(res) { - _fail2(res); - } - }); - }, - getGameInfo: function getGameInfo(node) { - var jg = false; - var nodes = node; - var data = { - 'appid': window.globalData.appid - }; - window.GameTool.httpRequest(window.globalData.getUserInfoUrl, data, function (res) { - window.globalData.gameUserInfo = res.data.king_user; //user_id在这里 - - console.log("拿到服务器的信息", res.data); - - if (window.globalData.gameUserInfo) { - console.log("获得服务器游戏信息成功:", window.globalData.gameUserInfo); - if (window.globalData.gameUserInfo.unlock_1) window.GM_INFO.unlock_1 = window.globalData.gameUserInfo.unlock_1; - if (window.globalData.gameUserInfo.unlock_2) window.GM_INFO.unlock_2 = window.globalData.gameUserInfo.unlock_2; //如果服务器有金币信息 - - if (window.globalData.gameUserInfo.coin) { - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if (StorageMessage.getStorage("Coin")) { - if (window.globalData.gameUserInfo.coin != StorageMessage.getStorage("Coin")) { - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } //如果本地没有金币信息 , 以服务器金币信息为主 - else { - window.GM_INFO.coin = window.globalData.gameUserInfo.coin; - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } else { - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if (StorageMessage.getStorage("Coin")) { - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } //如果本地没有金币信息 , 以服务器金币信息为主 - else { - window.GM_INFO.coin = 200; - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } - - cc.director.loadScene('GameBegin'); // console.log("即将进入这里"); - // if(StorageMessage.getStorage("level")){ - // // console.log("本地有等级信息;"); - // // console.log("服务器信息等级为:",window.globalData.gameUserInfo.level); - // window.GM_INFO.level = StorageMessage.getStorage("level"); - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // // console.log("本地等级信息为:",window.GM_INFO.level); - // //本地存储等级 小于服务器等级, 等于本地数据丢失,这时以服务器数据为主重新构建游戏 - // if(window.GM_INFO.level < window.globalData.gameUserInfo.level){ - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - // //正常进入游戏,以本地数据为主,服务器数据为辅 - // else{ - // console.log("本地数据大以本地主数据为主"); - // // window.GameTool.setGameInfo(true); - // } - // } - // else{ - // console.log("笨地没等级数据"); - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - - if (CC_WECHATGAME) { - wx.onShow(function (res) { - if (res) { - if (res.query) { - console.log("分享中带的信息", res.query); - - if (res.query.key1) { - window.GameTool.setFrindHelp(res.query.key1); - } - - if (res.query.key2) { - window.GameTool.setFrindBlock(res.query.key2); - } - - if (res.query.key3) { - window.GameTool.setFrindBlockMax(res.query.key3); - } - } - } - }); - wx.onHide(function (res) { - console.log("检测退出游戏"); // window.arm = []; - // for(var i=0; i<12; i++){ - // window.arm[i] = null; - // window.arm[i] = {error:"error"}; - // } - // window.arm = StorageMessage.setStorage("arm",window.arm); - - var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level, window.GM_INFO.coin); - window.GameTool.setGameInfo(); - }); - } - - jg = true; - } else { - console.log("拿到服务器信息失败"); - cc.director.loadScene("LoadScene"); - } - }, function () { - jg = false; - console.log("get用户信息失败", res); - }); - return jg; - }, - //根据服务器数据重置所需要所有数据 - reset: function reset() { - // if(window.globalData.gameUserInfo.arm) - // StorageMessage.setStorage("arm",window.globalData.gameUserInfo.arm); - // if(window.globalData.gameUserInfo.richest_coin) - // StorageMessage.setStorage("coin",parseInt(window.globalData.gameUserInfo.richest_coin)); - // if(window.globalData.gameUserInfo.dimond) - // StorageMessage.setStorage("dimond",window.globalData.gameUserInfo.dimond); - // if(window.globalData.gameUserInfo.buy_time) - // StorageMessage.setStorage("buy_Time",window.globalData.gameUserInfo.buy_time); - // if(window.globalData.gameUserInfo.dimond_time) - // StorageMessage.setStorage("dimond_Time",window.globalData.gameUserInfo.dimond_time); - // if(window.globalData.gameUserInfo.level) - // StorageMessage.setStorage("level",window.globalData.gameUserInfo.level); - // if(window.globalData.gameUserInfo.total_Speed) - // StorageMessage.setStorage("total_Speed",parseInt(window.globalData.gameUserInfo.total_Speed)); - // if(window.globalData.gameUserInfo.leave_time) - // StorageMessage.setStorage("leave_time",window.globalData.gameUserInfo.leave_time); - // if(window.globalData.gameUserInfo.reward1) - // StorageMessage.setStorage("share_Array",window.globalData.gameUserInfo.reward1); - // if(window.globalData.gameUserInfo.reward2) - // StorageMessage.setStorage("share_100",window.globalData.gameUserInfo.reward2); - // StorageMessage.setStorage("GM_INFO",window.GM_INFO); - console.log("本地数据丢失,重新启动游戏"); - cc.director.loadScene('LoadScene'); - }, - setGameInfo: function setGameInfo(pd) { - var data = {// "richest_coin":window.coin+"", - // "arm":window.arm, - // "buy_time":window.buy_Time, - // "dimond":parseInt(window.dimond), - // "dimond_time":window.dimond_Time, - // "level":window.GM_INFO.level, - // "total_speed":window.total_Speed+"", - // "reward_1":window.GM_INFO.share_Array, //用于存储6个红包的领取信息 - // "reward_2":window.share_100 //用于存储100个红包的领取信息 - }; // console.log("存储之前检测:",window.arm,arms); - - window.GameTool.httpRequest(window.globalData.richest, data, function (res) { - console.log('存储userInfo成功', res); - - if (!pd) { - window.GM_INFO.leave_time = res.data.leave_time; - StorageMessage.setStorage("leave_time", window.GM_INFO.leave_time); - } - }, function (res) { - console.log('存储userInfo失败', res); - - if (!pd) { - window.GM_INFO.leave_time = parseInt(new Date().valueOf() / 1000); - StorageMessage.setStorage("leave_time", data); - } - }); - }, - //输入秒,返回需要展示时间格式 - getTimeMargin: function getTimeMargin(second) { - var total = second; - var hour = parseInt(total / (60 * 60)); //计算整数小时数 - - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - - var min = parseInt(afterHour / 60); //计算整数分 - - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - - return '剩余:' + hour + ':' + min + ':' + afterMin; - }, - getTimeMargin2: function getTimeMargin2(second) { - var total = second; - var hour = parseInt(total / (60 * 60)); //计算整数小时数 - - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - - var min = parseInt(afterHour / 60); //计算整数分 - - if (min < 10) min = "0" + min; - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - - if (afterMin < 10) afterMin = "0" + afterMin; - return '剩余:' + min + ':' + afterMin; - }, - setFrindBlock: function setFrindBlock(userid) { - // console.log("添加时候的userid"); - var data = { - user_id: userid - }; // if(userid != window.globalData.gameUserInfo.user_id){ - // console.log("进分享的不是自己"); - // { - - window.GameTool.httpRequest(window.globalData.entryBlock, data, function (res) { - console.log('添加红包助力信息成功', res); - }, function (res) { - console.log('添加红包助力信息失败', res); - }); // } - // } - // else{ - // console.log("进入分享的是自己"); - // } - } -}, _window$GameTool["getSeedRandom"] = function getSeedRandom(min, max) { - //包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); -}, _window$GameTool.getTime = function getTime(time) { - var label = ""; - var number_1 = parseInt(time / 60); - var number_2 = time - number_1 * 60; - - if (number_1 < 10) { - number_1 = "0" + number_1; - } - - if (number_2 < 10) { - number_2 = "0" + number_2; - } - - label = number_1 + ":" + number_2; - return label; -}, _window$GameTool.getNumber = function getNumber(number, type) { - // console.log(type,"需要转换的数字为:",number); - var count = 1000; - var place = type - 3; - - if (number > Math.pow(count, 8) * Math.pow(10, place)) { - if (number / Math.pow(count, 8) < 100) number = parseInt(number / Math.pow(count, 8) * 10) / 10 + "S";else number = parseInt(number / Math.pow(count, 8)) + "S"; - } else if (number > Math.pow(count, 7) * Math.pow(10, place)) { - if (number / Math.pow(count, 7) < 100) number = parseInt(number / Math.pow(count, 7) * 10) / 10 + "s";else number = parseInt(number / Math.pow(count, 7)) + "s"; - } else if (number > Math.pow(count, 6) * Math.pow(10, place)) { - if (number / Math.pow(count, 6) < 100) number = parseInt(number / Math.pow(count, 6) * 10) / 10 + "Q";else number = parseInt(number / Math.pow(count, 6)) + "Q"; - } else if (number > Math.pow(count, 5) * Math.pow(10, place)) { - if (number / Math.pow(count, 5) < 100) number = parseInt(number / Math.pow(count, 5) * 10) / 10 + "q";else number = parseInt(number / Math.pow(count, 5)) + "q"; - } else if (number > Math.pow(count, 4) * Math.pow(10, place)) { - if (number / Math.pow(count, 4) < 100) number = parseInt(number / Math.pow(count, 4) * 10) / 10 + "t";else number = parseInt(number / Math.pow(count, 4)) + "t"; - } else if (number > Math.pow(count, 3) * Math.pow(10, place)) { - if (number / Math.pow(count, 3) < 100) number = parseInt(number / Math.pow(count, 3) * 10) / 10 + "b";else number = parseInt(number / Math.pow(count, 3)) + "b"; - } else if (number > Math.pow(count, 2) * Math.pow(10, place)) { - if (number / Math.pow(count, 2) < 100) number = parseInt(number / Math.pow(count, 2) * 10) / 10 + "m";else number = parseInt(number / Math.pow(count, 2)) + "m"; - } else if (number > Math.pow(count, 1) * Math.pow(10, place)) { - if (number / Math.pow(count, 1) < 100) { - number = parseInt(number / Math.pow(count, 1) * 10) / 10 + "k"; - } else number = parseInt(number / Math.pow(count, 1)) + "k"; - } else { - number = parseInt(number / Math.pow(count, 0)) + ""; - } // console.log("结果为"+type+"位数",number); - - - return number; -}, _window$GameTool.begainTiming = function begainTiming() { - this._startTime = new Date().getTime(); -}, _window$GameTool["endTiming"] = function endTiming() { - var endTime = new Date().getTime(); - this._endTime = endTime; - this._totalTime = endTime - this._startTime; -}, _window$GameTool.getScoreTime = function getScoreTime() { - var endTime = new Date().getTime(); - var tempTime = endTime - this._startTime; - - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - - GM_INFO.currScore += tempTime; - this._startTime = endTime; -}, _window$GameTool.getFormatTime = function getFormatTime(time) { - var date = new Date(); - date.setTime(time); - var ms = date.getMilliseconds(); // let msString = date.getMilliseconds(); - - var msString = parseInt(ms / 10) % 100; - var secondString = date.getSeconds(); - var minString = date.getMinutes(); - - if (msString < 10) { - msString = "0" + msString; - } - - if (secondString < 10) { - secondString = "0" + secondString; - } - - secondString = secondString + ":"; - - if (minString < 10) { - minString = "0" + minString; - } - - minString = minString + ":"; - return minString + secondString + msString; -}, _window$GameTool.pushLister = function pushLister() {}, _window$GameTool.removeAllLister = function removeAllLister() {}, _window$GameTool); - -cc._RF.pop(); \ No newline at end of file diff --git a/library/imports/a1/a1dd7a8c-882a-4e2c-bdc5-0d725df431b2.js.map b/library/imports/a1/a1dd7a8c-882a-4e2c-bdc5-0d725df431b2.js.map deleted file mode 100644 index 55b5be5..0000000 --- a/library/imports/a1/a1dd7a8c-882a-4e2c-bdc5-0d725df431b2.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\tool\\GameTool.js"],"names":["StorageMessage","require","window","GameTool","_startTime","_endTime","_totalTime","getSeedRandom","min","max","GM_INFO","currSeed","rnd","tmp","parseInt","getSetScreenResolutionFlag","size","cc","winSize","width","height","setFit","canvas","flag","submitScoreButtonFunc","fen2","number","console","log","fen","CC_WECHATGAME","wx","postMessage","messageType","MAIN_MENU_FEN","MAIN_MENU_NUM","score","getTip","index","Math","floor","random","beginTiming","Date","getTime","endTiming","updateScoreTime","endTime","tempTime","round","director","getAnimationInterval","toFixed","currScore","countDown","remainingTime","totalTime","httpRequest","url","data","success","fail","getNetworkType","res","networkType","request","globalData","requestAPI","header","BASE64_JWT_TOKEN","method","httpRequest_Notoken","getGameInfo","node","jg","nodes","appid","getUserInfoUrl","gameUserInfo","king_user","unlock_1","unlock_2","coin","getStorage","setStorage","loadScene","onShow","query","key1","setFrindHelp","key2","setFrindBlock","key3","setFrindBlockMax","onHide","temp","level","setGameInfo","reset","pd","richest","leave_time","valueOf","getTimeMargin","second","total","hour","afterHour","afterMin","getTimeMargin2","userid","user_id","entryBlock","time","label","number_1","number_2","getNumber","type","count","place","pow","begainTiming","getScoreTime","getFormatTime","date","setTime","ms","getMilliseconds","msString","secondString","getSeconds","minString","getMinutes","pushLister","removeAllLister"],"mappings":"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","sourceRoot":"/","sourcesContent":["var StorageMessage = require(\"Storage\").StorageMessage;\r\nwindow.GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n getSeedRandom: function (min, max) {//包含min 不包含max\r\n max = max || 1;\r\n min = min || 0;\r\n GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280;\r\n let rnd = GM_INFO.currSeed / 233280.0;\r\n let tmp = min + rnd * (max - min);\r\n return parseInt(tmp);\r\n },\r\n \r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n // canvas.fitWidth = false;\r\n // canvas.fitHeight = true;\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n // canvas.fitWidth = true;\r\n // canvas.fitHeight = false;\r\n }\r\n return flag;\r\n },\r\n\r\n // submitScoreButtonFunc: function(score1,fen1){\r\n // console.log(\"上传分数:\",score1,fen1)\r\n // // var score = score1;\r\n // // var fen = fen1;\r\n // // if (CC_WECHATGAME) {\r\n // // window.wx.postMessage({\r\n // // messageType: 3,\r\n // // MAIN_MENU_NUM: \"guan\",\r\n // // score: score,\r\n // // MAIN_MENU_FEN: \"score\",\r\n // // fen: fen,\r\n // // });\r\n // // } else {\r\n // // cc.log(\"提交得分: x1 : \" + score)\r\n // // }\r\n // // return true;\r\n // },\r\n\r\n\r\n submitScoreButtonFunc: function(fen2,number){\r\n \tconsole.log(\"number=\",number)\r\n if(number == 0){\r\n console.log(\"上传分数:\",fen2)\r\n var fen = fen2;\r\n if (CC_WECHATGAME) {\r\n window.wx.postMessage({\r\n messageType: 3,\r\n MAIN_MENU_FEN: \"score\",\r\n MAIN_MENU_NUM: \"fen\",\r\n score: fen,\r\n fen: 0,\r\n });\r\n } else {\r\n cc.log(\"提交得分: x1 : \" + fen)\r\n }\r\n }\r\n else{\r\n console.log(\"上传特殊分数:\",fen2)\r\n var fen = fen2;\r\n if (CC_WECHATGAME) {\r\n window.wx.postMessage({\r\n messageType: 7,\r\n MAIN_MENU_FEN: \"score\",\r\n MAIN_MENU_NUM: \"fen\",\r\n score: 0,\r\n fen: fen,\r\n });\r\n } else {\r\n cc.log(\"提交得分: x1 : \" + fen)\r\n } \r\n }\r\n return true;\r\n },\r\n\r\n getTip: function () {\r\n let index = Math.floor(Math.random() * 4) + 1;\r\n switch (index) {\r\n case 1: {\r\n return \"根据小球的位置,合理晃动手机,确保小球不掉出木板。\"\r\n }\r\n case 2: {\r\n return \"根据小球位置控制晃动幅度,过大或过小都不是个好选择。\"\r\n }\r\n case 3: {\r\n return \"不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。\"\r\n }\r\n case 4: {\r\n return \"尝试着顶开掉落的障碍,是个很酷的玩法。\"\r\n }\r\n }\r\n },\r\n\r\n beginTiming: function () {\r\n this._startTime = new Date().getTime();\r\n },\r\n\r\n endTiming: function () {\r\n this._endTime = new Date().getTime();\r\n // this._totalTime = endTime - this._startTime;\r\n },\r\n //如果是判断时常的游戏 调用此方法\r\n updateScoreTime: function () {\r\n let endTime = new Date().getTime();\r\n let tempTime = endTime - this._startTime;\r\n if (tempTime < 0 || tempTime > 500) {\r\n tempTime = Math.round(cc.director.getAnimationInterval() * 1000);\r\n }\r\n this._endTime += tempTime / 1000;\r\n this._totalTime = this._endTime.toFixed(2);\r\n GM_INFO.currScore = this._totalTime;\r\n this._startTime = endTime;\r\n },\r\n //倒计时调用此方法\r\n countDown: function () {\r\n this._endTime = new Date().getTime();\r\n this._totalTime = parseInt((this._endTime - this._startTime) / 1000);\r\n GM_INFO.remainingTime = GM_INFO.totalTime - this._totalTime;\r\n },\r\n\r\n httpRequest(url, data, success, fail) {\r\n console.log(\"进入网络请求:\");\r\n wx.getNetworkType({\r\n success(res) {\r\n var networkType = res.networkType;\r\n // console.log(networkType);\r\n //有网络状态下\r\n if(networkType == \"wifi\" ||networkType == \"4g\" || networkType == \"3g\" || networkType ==\"unknown\"){\r\n wx.request({\r\n url: window.globalData.requestAPI + url,\r\n data: data,\r\n header: {\r\n 'content-type': 'application/json', // 默认值\r\n 'Authorization':window.globalData.BASE64_JWT_TOKEN?'Bearer '+window.globalData.BASE64_JWT_TOKEN:''\r\n },\r\n method: 'POST',\r\n success(res) {\r\n console.log('httpRequest:::::success',res);\r\n success(res);\r\n },\r\n fail(res) {\r\n console.log('httpRequest:::::fail', res,\"失败url为\",url);\r\n fail(res)\r\n }\r\n })\r\n }\r\n else{\r\n fail(res)\r\n }\r\n },\r\n fail(res){\r\n fail(res)\r\n }\r\n })\r\n // console.log('httpRequest:::::', url, data, success, fail)\r\n\r\n },\r\n\r\n httpRequest_Notoken(url, data, success, fail) {\r\n // console.log('httpRequest:::::', url, data, success, fail)\r\n wx.getNetworkType({\r\n success(res) {\r\n var networkType = res.networkType;\r\n // console.log(networkType);\r\n //有网络状态下\r\n if(networkType == \"wifi\" ||networkType == \"4g\" || networkType == \"3g\" || networkType ==\"unknown\"){\r\n wx.request({\r\n url: window.globalData.requestAPI + url,\r\n data: data,\r\n header: {\r\n 'content-type': 'application/json', // 默认值\r\n },\r\n method: 'POST',\r\n success(res) {\r\n console.log('httpRequest:::::success',res);\r\n success(res);\r\n },\r\n fail(res) {\r\n console.log('httpRequest:::::fail', res,\"失败url为\",url);\r\n fail(res)\r\n }\r\n })\r\n }\r\n else{\r\n fail(res)\r\n }\r\n },\r\n fail(res){\r\n fail(res)\r\n }\r\n })\r\n\r\n },\r\n\r\n getGameInfo: function(node){\r\n var jg = false;\r\n var nodes = node;\r\n let data = {\r\n 'appid': window.globalData.appid\r\n }\r\n window.GameTool.httpRequest(window.globalData.getUserInfoUrl, data, function (res) {\r\n window.globalData.gameUserInfo = res.data.king_user; //user_id在这里\r\n console.log(\"拿到服务器的信息\",res.data);\r\n\r\n if(window.globalData.gameUserInfo){\r\n console.log(\"获得服务器游戏信息成功:\",window.globalData.gameUserInfo);\r\n if(window.globalData.gameUserInfo.unlock_1)\r\n window.GM_INFO.unlock_1 = window.globalData.gameUserInfo.unlock_1;\r\n if(window.globalData.gameUserInfo.unlock_2)\r\n window.GM_INFO.unlock_2 = window.globalData.gameUserInfo.unlock_2;\r\n //如果服务器有金币信息\r\n if(window.globalData.gameUserInfo.coin){\r\n //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器\r\n if(StorageMessage.getStorage(\"Coin\")){\r\n if(window.globalData.gameUserInfo.coin != StorageMessage.getStorage(\"Coin\")){\r\n window.GM_INFO.coin = StorageMessage.getStorage(\"Coin\");\r\n StorageMessage.setStorage(\"Coin\",window.GM_INFO.coin);\r\n }\r\n } //如果本地没有金币信息 , 以服务器金币信息为主\r\n else{\r\n window.GM_INFO.coin = window.globalData.gameUserInfo.coin;\r\n StorageMessage.setStorage(\"Coin\",window.GM_INFO.coin);\r\n }\r\n }\r\n else{\r\n //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器\r\n if(StorageMessage.getStorage(\"Coin\")){\r\n window.GM_INFO.coin = StorageMessage.getStorage(\"Coin\");\r\n StorageMessage.setStorage(\"Coin\",window.GM_INFO.coin);\r\n } //如果本地没有金币信息 , 以服务器金币信息为主\r\n else{\r\n window.GM_INFO.coin = 200;\r\n StorageMessage.setStorage(\"Coin\",window.GM_INFO.coin);\r\n }\r\n }\r\n\r\n cc.director.loadScene('GameBegin');\r\n // console.log(\"即将进入这里\");\r\n // if(StorageMessage.getStorage(\"level\")){\r\n // // console.log(\"本地有等级信息;\");\r\n // // console.log(\"服务器信息等级为:\",window.globalData.gameUserInfo.level);\r\n // window.GM_INFO.level = StorageMessage.getStorage(\"level\");\r\n // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin);\r\n // // console.log(\"本地等级信息为:\",window.GM_INFO.level);\r\n // //本地存储等级 小于服务器等级, 等于本地数据丢失,这时以服务器数据为主重新构建游戏\r\n // if(window.GM_INFO.level < window.globalData.gameUserInfo.level){\r\n // // nodes.active = true;\r\n // window.GM_INFO.level = window.globalData.gameUserInfo.level;\r\n // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin);\r\n // window.GameTool.reset();\r\n // }\r\n // //正常进入游戏,以本地数据为主,服务器数据为辅\r\n // else{\r\n // console.log(\"本地数据大以本地主数据为主\");\r\n // // window.GameTool.setGameInfo(true);\r\n // }\r\n // }\r\n // else{\r\n // console.log(\"笨地没等级数据\");\r\n // // nodes.active = true;\r\n // window.GM_INFO.level = window.globalData.gameUserInfo.level;\r\n // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin);\r\n // window.GameTool.reset();\r\n // }\r\n if (CC_WECHATGAME) {\r\n wx.onShow(function(res){\r\n if(res){\r\n if(res.query){\r\n console.log(\"分享中带的信息\",res.query);\r\n if(res.query.key1){\r\n window.GameTool.setFrindHelp(res.query.key1);\r\n }\r\n if(res.query.key2){\r\n window.GameTool.setFrindBlock(res.query.key2);\r\n }\r\n if(res.query.key3){\r\n window.GameTool.setFrindBlockMax(res.query.key3);\r\n }\r\n }\r\n }\r\n });\r\n wx.onHide(function(res){\r\n console.log(\"检测退出游戏\");\r\n // window.arm = [];\r\n // for(var i=0; i<12; i++){\r\n // window.arm[i] = null;\r\n // window.arm[i] = {error:\"error\"};\r\n // }\r\n // window.arm = StorageMessage.setStorage(\"arm\",window.arm);\r\n var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin);\r\n window.GameTool.setGameInfo();\r\n });\r\n }\r\n jg = true;\r\n }\r\n else{\r\n console.log(\"拿到服务器信息失败\");\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n \r\n },function(){\r\n jg = false;\r\n console.log(\"get用户信息失败\",res);\r\n })\r\n return jg;\r\n },\r\n //根据服务器数据重置所需要所有数据\r\n reset: function(){\r\n // if(window.globalData.gameUserInfo.arm)\r\n // StorageMessage.setStorage(\"arm\",window.globalData.gameUserInfo.arm);\r\n // if(window.globalData.gameUserInfo.richest_coin) \r\n // StorageMessage.setStorage(\"coin\",parseInt(window.globalData.gameUserInfo.richest_coin));\r\n // if(window.globalData.gameUserInfo.dimond)\r\n // StorageMessage.setStorage(\"dimond\",window.globalData.gameUserInfo.dimond);\r\n // if(window.globalData.gameUserInfo.buy_time)\r\n // StorageMessage.setStorage(\"buy_Time\",window.globalData.gameUserInfo.buy_time);\r\n // if(window.globalData.gameUserInfo.dimond_time)\r\n // StorageMessage.setStorage(\"dimond_Time\",window.globalData.gameUserInfo.dimond_time);\r\n // if(window.globalData.gameUserInfo.level)\r\n // StorageMessage.setStorage(\"level\",window.globalData.gameUserInfo.level);\r\n // if(window.globalData.gameUserInfo.total_Speed)\r\n // StorageMessage.setStorage(\"total_Speed\",parseInt(window.globalData.gameUserInfo.total_Speed));\r\n // if(window.globalData.gameUserInfo.leave_time)\r\n // StorageMessage.setStorage(\"leave_time\",window.globalData.gameUserInfo.leave_time);\r\n // if(window.globalData.gameUserInfo.reward1)\r\n // StorageMessage.setStorage(\"share_Array\",window.globalData.gameUserInfo.reward1);\r\n // if(window.globalData.gameUserInfo.reward2)\r\n // StorageMessage.setStorage(\"share_100\",window.globalData.gameUserInfo.reward2);\r\n \r\n // StorageMessage.setStorage(\"GM_INFO\",window.GM_INFO);\r\n console.log(\"本地数据丢失,重新启动游戏\");\r\n cc.director.loadScene('LoadScene');\r\n },\r\n\r\n setGameInfo: function(pd){\r\n let data = {\r\n // \"richest_coin\":window.coin+\"\",\r\n // \"arm\":window.arm,\r\n // \"buy_time\":window.buy_Time,\r\n // \"dimond\":parseInt(window.dimond),\r\n // \"dimond_time\":window.dimond_Time,\r\n // \"level\":window.GM_INFO.level,\r\n // \"total_speed\":window.total_Speed+\"\",\r\n // \"reward_1\":window.GM_INFO.share_Array, //用于存储6个红包的领取信息\r\n // \"reward_2\":window.share_100 //用于存储100个红包的领取信息\r\n }\r\n // console.log(\"存储之前检测:\",window.arm,arms);\r\n window.GameTool.httpRequest(window.globalData.richest, data, function (res) {\r\n console.log('存储userInfo成功', res);\r\n if(!pd){\r\n window.GM_INFO.leave_time = res.data.leave_time;\r\n StorageMessage.setStorage(\"leave_time\",window.GM_INFO.leave_time);\r\n }\r\n\r\n },function(res){\r\n console.log('存储userInfo失败', res);\r\n if(!pd){\r\n window.GM_INFO.leave_time = parseInt(new Date().valueOf()/1000);\r\n StorageMessage.setStorage(\"leave_time\",data);\r\n }\r\n })\r\n },\r\n\r\n\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = second;\r\n let hour = parseInt(total / (60 * 60));//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt(afterHour / 60);//计算整数分\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n return '剩余:' + hour + ':' + min + ':' + afterMin\r\n },\r\n\r\n getTimeMargin2:(second) => {\r\n let total = second;\r\n let hour = parseInt(total / (60 * 60));//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt(afterHour / 60);//计算整数分\r\n if(min < 10) min = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n if(afterMin < 10) afterMin = \"0\" + afterMin;\r\n return '剩余:' + min + ':' + afterMin\r\n },\r\n\r\n setFrindBlock: function(userid){\r\n // console.log(\"添加时候的userid\");\r\n let data = {\r\n user_id:userid\r\n }\r\n // if(userid != window.globalData.gameUserInfo.user_id){\r\n // console.log(\"进分享的不是自己\");\r\n // {\r\n window.GameTool.httpRequest(window.globalData.entryBlock, data, function (res) {\r\n console.log('添加红包助力信息成功', res)\r\n }, function (res) {\r\n console.log('添加红包助力信息失败', res)\r\n })\r\n // }\r\n // }\r\n // else{\r\n // console.log(\"进入分享的是自己\");\r\n // }\r\n },\r\n\r\n // setFrindBlockMax: function(userid){\r\n // // console.log(\"添加时候的userid\");\r\n // let data = {\r\n // user_id:userid\r\n // }\r\n // // if(userid != window.globalData.gameUserInfo.user_id){\r\n // // console.log(\"进分享的不是自己\");\r\n // // {\r\n // window.GameTool.httpRequest(window.globalData.entryBlockMax, data, function (res) {\r\n // console.log('添加最后的好友信息成功', res)\r\n // }, function (res) {\r\n // console.log('添加最后的好友信息信息失败', res)\r\n // })\r\n // // }\r\n // // }\r\n // // else{\r\n // // console.log(\"进入分享的是自己\");\r\n // // }\r\n // },\r\n\r\n\r\n getSeedRandom: function (min, max) {//包含min 不包含max\r\n max = max || 1;\r\n min = min || 0;\r\n GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280;\r\n let rnd = GM_INFO.currSeed / 233280.0;\r\n let tmp = min + rnd * (max - min);\r\n return parseInt(tmp);\r\n },\r\n\r\n //将时间转换为59:23\r\n getTime: function(time){\r\n var label = \"\";\r\n var number_1 = parseInt(time/60);\r\n var number_2 = time-number_1*60;\r\n if(number_1 < 10){\r\n number_1 = \"0\"+number_1;\r\n }\r\n if(number_2 < 10){\r\n number_2 = \"0\"+number_2;\r\n }\r\n label = number_1 + \":\" + number_2;\r\n\r\n return label;\r\n },\r\n //number 为传进来的数值,type为最多显示几位数\r\n getNumber: function(number,type){\r\n // console.log(type,\"需要转换的数字为:\",number);\r\n var count = 1000;\r\n var place = type - 3;\r\n if(number > Math.pow(count,8)*Math.pow(10,place)){\r\n if(number/Math.pow(count,8) < 100)\r\n number = parseInt(number/Math.pow(count,8)*10)/10+\"S\";\r\n else\r\n number = parseInt(number/Math.pow(count,8))+\"S\";\r\n }\r\n else if(number > Math.pow(count,7)*Math.pow(10,place)){\r\n if(number/Math.pow(count,7) < 100)\r\n number = parseInt(number/Math.pow(count,7)*10)/10+\"s\";\r\n else\r\n number = parseInt(number/Math.pow(count,7))+\"s\";\r\n }\r\n else if(number > Math.pow(count,6)*Math.pow(10,place)){\r\n if(number/Math.pow(count,6) < 100)\r\n number = parseInt(number/Math.pow(count,6)*10)/10+\"Q\";\r\n else\r\n number = parseInt(number/Math.pow(count,6))+\"Q\";\r\n }\r\n else if(number > Math.pow(count,5)*Math.pow(10,place)){\r\n if(number/Math.pow(count,5) < 100)\r\n number = parseInt(number/Math.pow(count,5)*10)/10+\"q\";\r\n else\r\n number = parseInt(number/Math.pow(count,5))+\"q\";\r\n\r\n }\r\n else if(number > Math.pow(count,4)*Math.pow(10,place)){\r\n if(number/Math.pow(count,4) < 100)\r\n number = parseInt(number/Math.pow(count,4)*10)/10+\"t\";\r\n else\r\n number = parseInt(number/Math.pow(count,4))+\"t\";\r\n }\r\n else if(number > Math.pow(count,3)*Math.pow(10,place)){\r\n if(number/Math.pow(count,3) < 100)\r\n number = parseInt(number/Math.pow(count,3)*10)/10+\"b\";\r\n else\r\n number = parseInt(number/Math.pow(count,3))+\"b\";\r\n }\r\n else if(number > Math.pow(count,2)*Math.pow(10,place)){\r\n if(number/Math.pow(count,2) < 100)\r\n number = parseInt(number/Math.pow(count,2)*10)/10+\"m\";\r\n else\r\n number = parseInt(number/Math.pow(count,2))+\"m\";\r\n }\r\n else if(number > Math.pow(count,1)*Math.pow(10,place)){\r\n if(number/Math.pow(count,1) < 100){\r\n number = parseInt(number/Math.pow(count,1)*10)/10+\"k\";\r\n }\r\n else\r\n number = parseInt(number/Math.pow(count,1))+\"k\";\r\n }\r\n else{\r\n number = parseInt(number/Math.pow(count,0))+\"\";\r\n }\r\n // console.log(\"结果为\"+type+\"位数\",number);\r\n return number;\r\n },\r\n\r\n\r\n\r\n\r\n\r\n begainTiming: function () {\r\n this._startTime = new Date().getTime();\r\n },\r\n\r\n endTiming: function () {\r\n let endTime = new Date().getTime();\r\n this._endTime = endTime;\r\n this._totalTime = endTime - this._startTime;\r\n },\r\n\r\n getScoreTime: function () {\r\n let endTime = new Date().getTime();\r\n let tempTime = endTime - this._startTime;\r\n if (tempTime < 0 || tempTime > 500) {\r\n tempTime = Math.round(cc.director.getAnimationInterval() * 1000);\r\n }\r\n GM_INFO.currScore += tempTime;\r\n this._startTime = endTime;\r\n },\r\n\r\n getFormatTime: function (time) {\r\n\r\n let date = new Date();\r\n date.setTime(time);\r\n\r\n let ms = date.getMilliseconds();\r\n // let msString = date.getMilliseconds();\r\n let msString = parseInt(ms / 10) % 100;\r\n\r\n let secondString = date.getSeconds();\r\n\r\n let minString = date.getMinutes();\r\n\r\n if (msString < 10) {\r\n msString = \"0\" + msString;\r\n }\r\n if (secondString < 10) {\r\n secondString = \"0\" + secondString;\r\n }\r\n secondString = secondString + \":\";\r\n\r\n if (minString < 10) {\r\n minString = \"0\" + minString;\r\n }\r\n minString = minString + \":\";\r\n\r\n return minString + secondString + msString;\r\n\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};"]} \ No newline at end of file diff --git a/library/imports/dd/ddac3642-fbda-4742-bd05-b3d208870e1a.js b/library/imports/dd/ddac3642-fbda-4742-bd05-b3d208870e1a.js new file mode 100644 index 0000000..f0ae792 --- /dev/null +++ b/library/imports/dd/ddac3642-fbda-4742-bd05-b3d208870e1a.js @@ -0,0 +1,247 @@ +"use strict"; +cc._RF.push(module, 'ddac3ZC+9pHQr0Fs9IIhw4a', 'GameTool'); +// Script/tool/GameTool.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GameTool = void 0; +var GameData_1 = require("../GameData"); +//最大工具类 +var GameTool = { + _startTime: 0, + _endTime: 0, + _totalTime: 0, + getSeedRandom: function (min, max) { + max = max || 1; + min = min || 0; + GameData_1.default._instance.GM_INFO.currSeed = (GameData_1.default._instance.GM_INFO.currSeed * 9301 + 49297) % 233280; + var rnd = GameData_1.default._instance.GM_INFO.currSeed / 233280.0; + var tmp = min + rnd * (max - min); + return Math.floor(tmp); + }, + getSetScreenResolutionFlag: function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }, + //判断全面屏适配 + setFit: function (canvas) { + var flag = GameTool.getSetScreenResolutionFlag(); + if (flag) { + // console.log("不是全面屏"); + // canvas.fitWidth = false; + // canvas.fitHeight = true; + } + else { + // console.log("是全面屏"); + // canvas.fitWidth = true; + // canvas.fitHeight = false; + } + return flag; + }, + getTip: function () { + var index = Math.floor(Math.random() * 4) + 1; + switch (index) { + case 1: { + return "根据小球的位置,合理晃动手机,确保小球不掉出木板。"; + } + case 2: { + return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。"; + } + case 3: { + return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。"; + } + case 4: { + return "尝试着顶开掉落的障碍,是个很酷的玩法。"; + } + } + }, + beginTiming: function () { + this._startTime = new Date().getTime(); + }, + endTiming: function () { + this._endTime = new Date().getTime(); + // this._totalTime = endTime - this._startTime; + }, + //如果是判断时常的游戏 调用此方法 + updateScoreTime: function () { + var endTime = new Date().getTime(); + var tempTime = endTime - this._startTime; + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + this._endTime += tempTime / 1000; + this._totalTime = this._endTime.toFixed(2); + GameData_1.default._instance.GM_INFO.currScore = this._totalTime; + this._startTime = endTime; + }, + //倒计时调用此方法 + countDown: function () { + this._endTime = new Date().getTime(); + this._totalTime = Math.floor((this._endTime - this._startTime) / 1000); + GameData_1.default._instance.GM_INFO.remainingTime = GameData_1.default._instance.GM_INFO.totalTime - this._totalTime; + }, + getGameInfo: function (node) { + var jg = false; + return jg; + }, + //根据服务器数据重置所需要所有数据 + reset: function () { + console.log("本地数据丢失,重新启动游戏"); + cc.director.loadScene('LoadScene'); + }, + setGameInfo: function (pd) { + }, + //输入秒,返回需要展示时间格式 + getTimeMargin: function (second) { + var total = second; + var hour = Math.floor(total / (60 * 60)); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + var min = Math.floor(afterHour / 60); //计算整数分 + var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + return '剩余:' + hour + ':' + min + ':' + afterMin; + }, + getTimeMargin2: function (second) { + var total = second; + var min = null; + var afterMin = null; + var hour = Math.floor(total / (60 * 60)); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + min = Math.floor(afterHour / 60); //计算整数分 + if (min < 10) + min = "0" + min; + afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + if (afterMin < 10) + afterMin = "0" + afterMin; + return '剩余:' + min + ':' + afterMin; + }, + setFrindBlock: function (userid) { + }, + //将时间转换为59:23 + getTime: function (time) { + var label = ""; + var number_1 = null; + var number_2 = null; + number_1 = Math.floor(time / 60); + number_2 = time - number_1 * 60; + if (number_1 < 10) { + number_1 = "0" + number_1; + } + if (number_2 < 10) { + number_2 = "0" + number_2; + } + label = number_1 + ":" + number_2; + return label; + }, + //number 为传进来的数值,type为最多显示几位数 + getNumber: function (number, type) { + // console.log(type,"需要转换的数字为:",number); + var count = 1000; + var place = type - 3; + if (number > Math.pow(count, 8) * Math.pow(10, place)) { + if (number / Math.pow(count, 8) < 100) + number = Math.floor(number / Math.pow(count, 8) * 10) / 10 + "S"; + else + number = Math.floor(number / Math.pow(count, 8)) + "S"; + } + else if (number > Math.pow(count, 7) * Math.pow(10, place)) { + if (number / Math.pow(count, 7) < 100) + number = Math.floor(number / Math.pow(count, 7) * 10) / 10 + "s"; + else + number = Math.floor(number / Math.pow(count, 7)) + "s"; + } + else if (number > Math.pow(count, 6) * Math.pow(10, place)) { + if (number / Math.pow(count, 6) < 100) + number = Math.floor(number / Math.pow(count, 6) * 10) / 10 + "Q"; + else + number = Math.floor(number / Math.pow(count, 6)) + "Q"; + } + else if (number > Math.pow(count, 5) * Math.pow(10, place)) { + if (number / Math.pow(count, 5) < 100) + number = Math.floor(number / Math.pow(count, 5) * 10) / 10 + "q"; + else + number = Math.floor(number / Math.pow(count, 5)) + "q"; + } + else if (number > Math.pow(count, 4) * Math.pow(10, place)) { + if (number / Math.pow(count, 4) < 100) + number = Math.floor(number / Math.pow(count, 4) * 10) / 10 + "t"; + else + number = Math.floor(number / Math.pow(count, 4)) + "t"; + } + else if (number > Math.pow(count, 3) * Math.pow(10, place)) { + if (number / Math.pow(count, 3) < 100) + number = Math.floor(number / Math.pow(count, 3) * 10) / 10 + "b"; + else + number = Math.floor(number / Math.pow(count, 3)) + "b"; + } + else if (number > Math.pow(count, 2) * Math.pow(10, place)) { + if (number / Math.pow(count, 2) < 100) + number = Math.floor(number / Math.pow(count, 2) * 10) / 10 + "m"; + else + number = Math.floor(number / Math.pow(count, 2)) + "m"; + } + else if (number > Math.pow(count, 1) * Math.pow(10, place)) { + if (number / Math.pow(count, 1) < 100) { + number = Math.floor(number / Math.pow(count, 1) * 10) / 10 + "k"; + } + else + number = Math.floor(number / Math.pow(count, 1)) + "k"; + } + else { + number = Math.floor(number / Math.pow(count, 0)) + ""; + } + // console.log("结果为"+type+"位数",number); + return number; + }, + begainTiming: function () { + this._startTime = new Date().getTime(); + }, + endTiming2: function () { + var endTime = new Date().getTime(); + this._endTime = endTime; + this._totalTime = endTime - this._startTime; + }, + getScoreTime: function () { + var endTime = new Date().getTime(); + var tempTime = endTime - this._startTime; + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + GameData_1.default._instance.GM_INFO.currScore += tempTime; + this._startTime = endTime; + }, + getFormatTime: function (time) { + var date = new Date(); + date.setTime(time); + var ms = date.getMilliseconds(); + // let msString = date.getMilliseconds(); + var msString = null; + var secondString = null; + var minString = null; + msString = Math.floor(ms / 10) % 100; + secondString = date.getSeconds(); + minString = date.getMinutes(); + if (msString < 10) { + msString = "0" + msString; + } + if (secondString < 10) { + secondString = "0" + secondString; + } + secondString = secondString + ":"; + if (minString < 10) { + minString = "0" + minString; + } + minString = minString + ":"; + return minString + secondString + msString; + }, + pushLister: function () { + }, + removeAllLister: function () { + }, +}; +exports.GameTool = GameTool; + +cc._RF.pop(); \ No newline at end of file diff --git a/library/imports/dd/ddac3642-fbda-4742-bd05-b3d208870e1a.js.map b/library/imports/dd/ddac3642-fbda-4742-bd05-b3d208870e1a.js.map new file mode 100644 index 0000000..6807fdf --- /dev/null +++ b/library/imports/dd/ddac3642-fbda-4742-bd05-b3d208870e1a.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets\\Script\\tool\\GameTool.ts"],"names":[],"mappings":";;;;;;;AAAA,wCAAmC;AAEnC,OAAO;AACP,IAAI,QAAQ,GAAG;IACX,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,UAAU,GAAG,EAAE,GAAG;QAC7B,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;QACf,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;QACf,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC;QACpG,IAAI,GAAG,GAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzD,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,0BAA0B,EAAE;QACxB,IAAI,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;QACtB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,SAAS;IACT,MAAM,EAAE,UAAU,MAAM;QACpB,IAAI,IAAI,GAAG,QAAQ,CAAC,0BAA0B,EAAE,CAAC;QACjD,IAAI,IAAI,EAAE;YACT,wBAAwB;YACrB,2BAA2B;YAC3B,2BAA2B;SAC9B;aAAM;YACN,uBAAuB;YACpB,0BAA0B;YAC1B,4BAA4B;SAC/B;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,EAAE;QACJ,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9C,QAAQ,KAAK,EAAE;YACX,KAAK,CAAC,CAAC,CAAC;gBACJ,OAAO,2BAA2B,CAAA;aACrC;YACD,KAAK,CAAC,CAAC,CAAC;gBACJ,OAAO,4BAA4B,CAAA;aACtC;YACD,KAAK,CAAC,CAAC,CAAC;gBACJ,OAAO,6BAA6B,CAAA;aACvC;YACD,KAAK,CAAC,CAAC,CAAC;gBACJ,OAAO,qBAAqB,CAAA;aAC/B;SACJ;IACL,CAAC;IAED,WAAW,EAAE;QACT,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,SAAS,EAAE;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACrC,+CAA+C;IACnD,CAAC;IACD,kBAAkB;IAClB,eAAe,EAAE;QACb,IAAI,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACzC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,GAAG,EAAE;YAChC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAC9B,CAAC;IACD,UAAU;IACV,SAAS,EAAE;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;QACvE,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,GAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;IACtG,CAAC;IAED,WAAW,EAAE,UAAS,IAAI;QACtB,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,OAAO,EAAE,CAAC;IACd,CAAC;IACD,kBAAkB;IAClB,KAAK,EAAE;QACH,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,EAAE,UAAS,EAAE;IAExB,CAAC;IACD,gBAAgB;IAChB,aAAa,EAAC,UAAC,MAAM;QACjB,IAAI,KAAK,GAAG,MAAM,CAAC;QACnB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA,SAAS;QAClD,IAAI,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA,eAAe;QACtD,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAA,OAAO;QAC5C,IAAI,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,CAAA,aAAa;QAC9D,OAAO,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAA;IACpD,CAAC;IAED,cAAc,EAAC,UAAC,MAAM;QAClB,IAAI,KAAK,GAAG,MAAM,CAAC;QACnB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA,SAAS;QAClD,IAAI,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA,eAAe;QACtD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAA,OAAO;QACxC,IAAG,GAAG,GAAG,EAAE;YAAE,GAAG,GAAG,GAAG,GAAC,GAAG,CAAC;QAC3B,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,CAAA,aAAa;QAC1D,IAAG,QAAQ,GAAG,EAAE;YAAE,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;QAC5C,OAAO,KAAK,GAAI,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAA;IACxC,CAAC;IAED,aAAa,EAAE,UAAS,MAAM;IAE9B,CAAC;IACD,aAAa;IACb,OAAO,EAAE,UAAS,IAAI;QAClB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAC,EAAE,CAAC,CAAA;QAC9B,QAAQ,GAAG,IAAI,GAAC,QAAQ,GAAC,EAAE,CAAC;QAC5B,IAAG,QAAQ,GAAG,EAAE,EAAC;YACb,QAAQ,GAAG,GAAG,GAAC,QAAQ,CAAC;SAC3B;QACD,IAAG,QAAQ,GAAG,EAAE,EAAC;YACb,QAAQ,GAAG,GAAG,GAAC,QAAQ,CAAC;SAC3B;QACD,KAAK,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;QAClC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,6BAA6B;IAC7B,SAAS,EAAE,UAAS,MAAM,EAAC,IAAI;QAC3B,wCAAwC;QACxC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC;QACrB,IAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,KAAK,CAAC,EAAC;YAC7C,IAAG,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAG,GAAG;gBAC7B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,EAAE,CAAC,GAAC,EAAE,GAAC,GAAG,CAAC;;gBAExD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC;SACzD;aACI,IAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,KAAK,CAAC,EAAC;YAClD,IAAG,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAG,GAAG;gBAC7B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,EAAE,CAAC,GAAC,EAAE,GAAC,GAAG,CAAC;;gBAExD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC;SACzD;aACI,IAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,KAAK,CAAC,EAAC;YAClD,IAAG,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAG,GAAG;gBAC7B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,EAAE,CAAC,GAAC,EAAE,GAAC,GAAG,CAAC;;gBAExD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC;SACzD;aACI,IAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,KAAK,CAAC,EAAC;YAClD,IAAG,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAG,GAAG;gBAC7B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,EAAE,CAAC,GAAC,EAAE,GAAC,GAAG,CAAC;;gBAExD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC;SAEzD;aACI,IAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,KAAK,CAAC,EAAC;YAClD,IAAG,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAG,GAAG;gBAC7B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,EAAE,CAAC,GAAC,EAAE,GAAC,GAAG,CAAC;;gBAExD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC;SACzD;aACI,IAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,KAAK,CAAC,EAAC;YAClD,IAAG,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAG,GAAG;gBAC7B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,EAAE,CAAC,GAAC,EAAE,GAAC,GAAG,CAAC;;gBAExD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC;SACzD;aACI,IAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,KAAK,CAAC,EAAC;YAClD,IAAG,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAG,GAAG;gBAC7B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,EAAE,CAAC,GAAC,EAAE,GAAC,GAAG,CAAC;;gBAExD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC;SACzD;aACI,IAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,KAAK,CAAC,EAAC;YAClD,IAAG,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAG,GAAG,EAAC;gBAC9B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,GAAC,EAAE,CAAC,GAAC,EAAE,GAAC,GAAG,CAAC;aAC3D;;gBAEG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC;SACzD;aACG;YACA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,GAAC,EAAE,CAAC;SACpD;QACD,uCAAuC;QACvC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,YAAY,EAAE;QACV,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,UAAU,EAAE;QACR,IAAI,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;IAChD,CAAC;IACD,YAAY,EAAE;QACV,IAAI,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACzC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,GAAG,EAAE;YAChC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,CAAC;SACpE;QACD,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,aAAa,EAAE,UAAU,IAAI;QACzB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAChC,yCAAyC;QACzC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACrC,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,QAAQ,GAAG,EAAE,EAAE;YACf,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;SAC7B;QACD,IAAI,YAAY,GAAG,EAAE,EAAE;YACnB,YAAY,GAAG,GAAG,GAAG,YAAY,CAAC;SACrC;QACD,YAAY,GAAG,YAAY,GAAG,GAAG,CAAC;QAElC,IAAI,SAAS,GAAG,EAAE,EAAE;YAChB,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC;SAC/B;QACD,SAAS,GAAG,SAAS,GAAG,GAAG,CAAC;QAC5B,OAAO,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;IAE/C,CAAC;IACD,UAAU,EAAC;IAEX,CAAC;IACD,eAAe,EAAC;IAEhB,CAAC;CAEJ,CAAC;AACO,4BAAQ","file":"","sourceRoot":"/","sourcesContent":["import GameData from \"../GameData\";\r\nimport { StorageMessage } from \"./Storage\";\r\n//最大工具类\r\nvar GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n getSeedRandom: function (min, max) {//包含min 不包含max\r\n max = max || 1;\r\n min = min || 0;\r\n GameData._instance.GM_INFO.currSeed = (GameData._instance.GM_INFO.currSeed * 9301 + 49297) % 233280;\r\n let rnd = GameData._instance.GM_INFO.currSeed / 233280.0;\r\n let tmp = min + rnd * (max - min);\r\n return Math.floor(tmp);\r\n },\r\n \r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n // canvas.fitWidth = false;\r\n // canvas.fitHeight = true;\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n // canvas.fitWidth = true;\r\n // canvas.fitHeight = false;\r\n }\r\n return flag;\r\n },\r\n\r\n getTip: function () {\r\n let index = Math.floor(Math.random() * 4) + 1;\r\n switch (index) {\r\n case 1: {\r\n return \"根据小球的位置,合理晃动手机,确保小球不掉出木板。\"\r\n }\r\n case 2: {\r\n return \"根据小球位置控制晃动幅度,过大或过小都不是个好选择。\"\r\n }\r\n case 3: {\r\n return \"不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。\"\r\n }\r\n case 4: {\r\n return \"尝试着顶开掉落的障碍,是个很酷的玩法。\"\r\n }\r\n }\r\n },\r\n\r\n beginTiming: function () {\r\n this._startTime = new Date().getTime();\r\n },\r\n\r\n endTiming: function () {\r\n this._endTime = new Date().getTime();\r\n // this._totalTime = endTime - this._startTime;\r\n },\r\n //如果是判断时常的游戏 调用此方法\r\n updateScoreTime: function () {\r\n let endTime = new Date().getTime();\r\n let tempTime = endTime - this._startTime;\r\n if (tempTime < 0 || tempTime > 500) {\r\n tempTime = Math.round(cc.director.getAnimationInterval() * 1000);\r\n }\r\n this._endTime += tempTime / 1000;\r\n this._totalTime = this._endTime.toFixed(2);\r\n GameData._instance.GM_INFO.currScore = this._totalTime;\r\n this._startTime = endTime;\r\n },\r\n //倒计时调用此方法\r\n countDown: function () {\r\n this._endTime = new Date().getTime();\r\n this._totalTime = Math.floor((this._endTime - this._startTime) / 1000);\r\n GameData._instance.GM_INFO.remainingTime = GameData._instance.GM_INFO.totalTime - this._totalTime;\r\n },\r\n\r\n getGameInfo: function(node){\r\n var jg = false;\r\n return jg;\r\n },\r\n //根据服务器数据重置所需要所有数据\r\n reset: function(){\r\n console.log(\"本地数据丢失,重新启动游戏\");\r\n cc.director.loadScene('LoadScene');\r\n },\r\n\r\n setGameInfo: function(pd){\r\n \r\n },\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = second;\r\n let hour = Math.floor(total / (60 * 60));//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = Math.floor(afterHour / 60);//计算整数分\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n return '剩余:' + hour + ':' + min + ':' + afterMin\r\n },\r\n\r\n getTimeMargin2:(second) => {\r\n let total = second;\r\n let min = null;\r\n let afterMin = null;\r\n let hour = Math.floor(total / (60 * 60));//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n min = Math.floor(afterHour / 60);//计算整数分\r\n if(min < 10) min = \"0\"+min;\r\n afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n if(afterMin < 10) afterMin = \"0\" + afterMin;\r\n return '剩余:' + min + ':' + afterMin\r\n },\r\n\r\n setFrindBlock: function(userid){\r\n\r\n },\r\n //将时间转换为59:23\r\n getTime: function(time){\r\n var label = \"\";\r\n var number_1 = null;\r\n var number_2 = null;\r\n number_1 = Math.floor(time/60)\r\n number_2 = time-number_1*60;\r\n if(number_1 < 10){\r\n number_1 = \"0\"+number_1;\r\n }\r\n if(number_2 < 10){\r\n number_2 = \"0\"+number_2;\r\n }\r\n label = number_1 + \":\" + number_2;\r\n return label;\r\n },\r\n //number 为传进来的数值,type为最多显示几位数\r\n getNumber: function(number,type){\r\n // console.log(type,\"需要转换的数字为:\",number);\r\n var count = 1000;\r\n var place = type - 3;\r\n if(number > Math.pow(count,8)*Math.pow(10,place)){\r\n if(number/Math.pow(count,8) < 100)\r\n number = Math.floor(number/Math.pow(count,8)*10)/10+\"S\";\r\n else\r\n number = Math.floor(number/Math.pow(count,8))+\"S\";\r\n }\r\n else if(number > Math.pow(count,7)*Math.pow(10,place)){\r\n if(number/Math.pow(count,7) < 100)\r\n number = Math.floor(number/Math.pow(count,7)*10)/10+\"s\";\r\n else\r\n number = Math.floor(number/Math.pow(count,7))+\"s\";\r\n }\r\n else if(number > Math.pow(count,6)*Math.pow(10,place)){\r\n if(number/Math.pow(count,6) < 100)\r\n number = Math.floor(number/Math.pow(count,6)*10)/10+\"Q\";\r\n else\r\n number = Math.floor(number/Math.pow(count,6))+\"Q\";\r\n }\r\n else if(number > Math.pow(count,5)*Math.pow(10,place)){\r\n if(number/Math.pow(count,5) < 100)\r\n number = Math.floor(number/Math.pow(count,5)*10)/10+\"q\";\r\n else\r\n number = Math.floor(number/Math.pow(count,5))+\"q\";\r\n\r\n }\r\n else if(number > Math.pow(count,4)*Math.pow(10,place)){\r\n if(number/Math.pow(count,4) < 100)\r\n number = Math.floor(number/Math.pow(count,4)*10)/10+\"t\";\r\n else\r\n number = Math.floor(number/Math.pow(count,4))+\"t\";\r\n }\r\n else if(number > Math.pow(count,3)*Math.pow(10,place)){\r\n if(number/Math.pow(count,3) < 100)\r\n number = Math.floor(number/Math.pow(count,3)*10)/10+\"b\";\r\n else\r\n number = Math.floor(number/Math.pow(count,3))+\"b\";\r\n }\r\n else if(number > Math.pow(count,2)*Math.pow(10,place)){\r\n if(number/Math.pow(count,2) < 100)\r\n number = Math.floor(number/Math.pow(count,2)*10)/10+\"m\";\r\n else\r\n number = Math.floor(number/Math.pow(count,2))+\"m\";\r\n }\r\n else if(number > Math.pow(count,1)*Math.pow(10,place)){\r\n if(number/Math.pow(count,1) < 100){\r\n number = Math.floor(number/Math.pow(count,1)*10)/10+\"k\";\r\n }\r\n else\r\n number = Math.floor(number/Math.pow(count,1))+\"k\";\r\n }\r\n else{\r\n number = Math.floor(number/Math.pow(count,0))+\"\";\r\n }\r\n // console.log(\"结果为\"+type+\"位数\",number);\r\n return number;\r\n },\r\n\r\n begainTiming: function () {\r\n this._startTime = new Date().getTime();\r\n },\r\n\r\n endTiming2: function () {\r\n let endTime = new Date().getTime();\r\n this._endTime = endTime;\r\n this._totalTime = endTime - this._startTime;\r\n },\r\n getScoreTime: function () {\r\n let endTime = new Date().getTime();\r\n let tempTime = endTime - this._startTime;\r\n if (tempTime < 0 || tempTime > 500) {\r\n tempTime = Math.round(cc.director.getAnimationInterval() * 1000);\r\n }\r\n GameData._instance.GM_INFO.currScore += tempTime;\r\n this._startTime = endTime;\r\n },\r\n\r\n getFormatTime: function (time) {\r\n let date = new Date();\r\n date.setTime(time);\r\n let ms = date.getMilliseconds();\r\n // let msString = date.getMilliseconds();\r\n let msString = null;\r\n let secondString = null;\r\n let minString = null;\r\n msString = Math.floor(ms / 10) % 100;\r\n secondString = date.getSeconds();\r\n minString = date.getMinutes();\r\n if (msString < 10) {\r\n msString = \"0\" + msString;\r\n }\r\n if (secondString < 10) {\r\n secondString = \"0\" + secondString;\r\n }\r\n secondString = secondString + \":\";\r\n\r\n if (minString < 10) {\r\n minString = \"0\" + minString;\r\n }\r\n minString = minString + \":\";\r\n return minString + secondString + msString;\r\n\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};\r\nexport { GameTool };"]} \ No newline at end of file diff --git a/library/imports/f1/f124c672-2895-4f3e-86ec-14a468f946a6.js b/library/imports/f1/f124c672-2895-4f3e-86ec-14a468f946a6.js new file mode 100644 index 0000000..204aa94 --- /dev/null +++ b/library/imports/f1/f124c672-2895-4f3e-86ec-14a468f946a6.js @@ -0,0 +1,34 @@ +"use strict"; +cc._RF.push(module, 'f124cZyKJVPPobsFKRo+Uam', 'Storage'); +// Script/tool/Storage.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageMessage = void 0; +//缓存浏览器数据 +var StorageMessage = { + getStorage: function (key) { + var result = null; + if (cc.sys.localStorage.getItem(key)) { + var result = cc.sys.localStorage.getItem(key); + } + if (result) { + result = JSON.parse(result); + } + return result; + }, + setStorage: function (key, value) { + //主动拉起分享接口 + var temp = JSON.stringify(value); + cc.sys.localStorage.setItem(key, temp); + }, + removeStorage: function (key) { + //主动删除消息接口 + if (cc.sys.localStorage.getItem(key)) { + cc.sys.localStorage.removeItem(key); + } + }, +}; +exports.StorageMessage = StorageMessage; + +cc._RF.pop(); \ No newline at end of file diff --git a/library/imports/f1/f124c672-2895-4f3e-86ec-14a468f946a6.js.map b/library/imports/f1/f124c672-2895-4f3e-86ec-14a468f946a6.js.map new file mode 100644 index 0000000..6055c59 --- /dev/null +++ b/library/imports/f1/f124c672-2895-4f3e-86ec-14a468f946a6.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets\\Script\\tool\\Storage.ts"],"names":[],"mappings":";;;;;;;AAAA,SAAS;AACT,IAAI,cAAc,GAAG;IACjB,UAAU,EAAG,UAAS,GAAG;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC/C;QAED,IAAG,MAAM,EAAC;YACR,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,UAAU,EAAG,UAAS,GAAG,EAAC,KAAK;QAC3B,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IACD,aAAa,EAAG,UAAS,GAAG;QAC1B,UAAU;QACV,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;SACpC;IACH,CAAC;CACJ,CAAC;AAEO,wCAAc","file":"","sourceRoot":"/","sourcesContent":["//缓存浏览器数据\nvar StorageMessage = {\n getStorage : function(key){\n var result = null;\n if(cc.sys.localStorage.getItem(key)){\n var result = cc.sys.localStorage.getItem(key);\n }\n \n if(result){\n result = JSON.parse(result);\n }\n return result;\n },\n setStorage : function(key,value){\n //主动拉起分享接口\n var temp = JSON.stringify(value);\n cc.sys.localStorage.setItem(key, temp)\n },\n removeStorage : function(key){\n //主动删除消息接口\n if(cc.sys.localStorage.getItem(key)){\n cc.sys.localStorage.removeItem(key)\n }\n },\n};\n\nexport { StorageMessage };"]} \ No newline at end of file diff --git a/library/uuid-to-mtime.json b/library/uuid-to-mtime.json index 442f9a5..daf80ba 100644 --- a/library/uuid-to-mtime.json +++ b/library/uuid-to-mtime.json @@ -10,8 +10,8 @@ "relativePath": "Scene" }, "4734c20c-0db8-4eb2-92ea-e692f4d70934": { - "asset": 1717063292222, - "meta": 1717124730916, + "asset": 1717128059453, + "meta": 1717137201982, "relativePath": "Script" }, "7b81d4e8-ec84-4716-968d-500ac1d78a54": { @@ -30,8 +30,8 @@ "relativePath": "Script\\ListView" }, "2d2f792f-a40c-49bb-a189-ed176a246e49": { - "asset": 1717067787704, - "meta": 1717125013258, + "asset": 1717138672802, + "meta": 1717138672806, "relativePath": "Scene\\RankScene.fire" }, "a8027877-d8d6-4645-97a0-52d4a0123dba": { @@ -94,11 +94,6 @@ "meta": 1717128451214, "relativePath": "prefab\\qiu4.prefab" }, - "32254f37-ac95-4912-a787-b8e0429ba0f1": { - "asset": 1715324578897, - "meta": 1715325498665, - "relativePath": "prefab\\RankListItem.prefab" - }, "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5": { "asset": 1717134890847, "meta": 1717134890854, @@ -115,8 +110,8 @@ "relativePath": "Script\\Notification.ts" }, "4bff6e01-b411-48f4-867a-5d841f9e400f": { - "asset": 1716867446333, - "meta": 1716868891166, + "asset": 1717138653505, + "meta": 1717138653551, "relativePath": "Script\\tool" }, "61aff0f9-48ef-48a6-8d1f-1a621e4c54d9": { @@ -224,11 +219,6 @@ "meta": 1716259520393, "relativePath": "res\\back.png" }, - "a1dd7a8c-882a-4e2c-bdc5-0d725df431b2": { - "asset": 1716270799785, - "meta": 1716270804817, - "relativePath": "Script\\tool\\GameTool.js" - }, "81f30e9d-18f4-47fa-b5db-f0a0d38c382a": { "asset": 1626182755806, "meta": 1716369706296, @@ -239,506 +229,6 @@ "meta": 1716369919777, "relativePath": "Shader\\shader_005M.mtl" }, - "9836134e-b892-4283-b6b2-78b5acf3ed45": { - "asset": 1714966328642, - "meta": 1717124728023, - "relativePath": "effects" - }, - "f6e6dd15-71d1-4ffe-ace7-24fd39942c05": { - "asset": 1714966328752, - "meta": 1717124728038, - "relativePath": "obsolete" - }, - "f743d2b6-b7ea-4c14-a55b-547ed4d0a045": { - "asset": 1714966328752, - "meta": 1717124728038, - "relativePath": "particle" - }, - "ae6c6c98-11e4-452f-8758-75f5c6a56e83": { - "asset": 1714966328831, - "meta": 1717124728038, - "relativePath": "prefab" - }, - "897ef7a1-4860-4f64-968d-f5924b18668a": { - "asset": 1714966328752, - "meta": 1717124728371, - "relativePath": "prefab\\2d-camera.prefab" - }, - "70d7cdb0-04cd-41bb-9480-c06a4785f386": { - "asset": 1714966328768, - "meta": 1717124728372, - "relativePath": "prefab\\3d-camera.prefab" - }, - "a3ee0214-b432-4865-9666-4a3211814282": { - "asset": 1714966328800, - "meta": 1717124728374, - "relativePath": "prefab\\light" - }, - "972b9a4d-47ee-4c74-b5c3-61d8a69bc29f": { - "asset": 1714966328768, - "meta": 1717124728384, - "relativePath": "prefab\\button.prefab" - }, - "ed88f13d-fcad-4848-aa35-65a2cb973584": { - "asset": 1714966328768, - "meta": 1717124728375, - "relativePath": "prefab\\3d-stage.prefab" - }, - "70bbeb73-6dc2-4ee4-8faf-76b3a0e34ec4": { - "asset": 1714966328768, - "meta": 1717124728377, - "relativePath": "prefab\\3d-particle.prefab" - }, - "2c937608-2562-40ea-b264-7395df6f0cea": { - "asset": 1714966328768, - "meta": 1717124728380, - "relativePath": "prefab\\canvas.prefab" - }, - "61aeb05b-3b32-452b-8eed-2b76deeed554": { - "asset": 1714966328783, - "meta": 1717124728382, - "relativePath": "prefab\\editbox.prefab" - }, - "27756ebb-3d33-44b0-9b96-e858fadd4dd4": { - "asset": 1714966328783, - "meta": 1717124728390, - "relativePath": "prefab\\label.prefab" - }, - "785a442c-3ceb-45be-a46e-7317f625f3b9": { - "asset": 1714966328783, - "meta": 1717124728392, - "relativePath": "prefab\\layout.prefab" - }, - "cd33edea-55f5-46c2-958d-357a01384a36": { - "asset": 1714966328800, - "meta": 1717124728394, - "relativePath": "prefab\\particlesystem.prefab" - }, - "5965ffac-69da-4b55-bcde-9225d0613c28": { - "asset": 1714966328800, - "meta": 1717124728397, - "relativePath": "prefab\\progressBar.prefab" - }, - "ca8401fe-ad6e-41a8-bd46-8e3e4e9945be": { - "asset": 1714966328800, - "meta": 1717124728395, - "relativePath": "prefab\\pageview.prefab" - }, - "4a37dd57-78cd-4cec-aad4-f11a73d12b63": { - "asset": 1714966328800, - "meta": 1717124728402, - "relativePath": "prefab\\richtext.prefab" - }, - "0004d1cf-a0ad-47d8-ab17-34d3db9d35a3": { - "asset": 1714966328800, - "meta": 1717124728406, - "relativePath": "prefab\\slider.prefab" - }, - "32044bd2-481f-4cf1-a656-e2b2fb1594eb": { - "asset": 1714966328800, - "meta": 1717124728401, - "relativePath": "prefab\\scrollview.prefab" - }, - "96083d03-c332-4a3f-9386-d03e2d19e8ee": { - "asset": 1714966328815, - "meta": 1717124728423, - "relativePath": "prefab\\sprite.prefab" - }, - "d8afc78c-4eac-4a9f-83dd-67bc70344d33": { - "asset": 1714966328862, - "meta": 1717124728038, - "relativePath": "resources" - }, - "294c1663-4adf-4a1e-a795-53808011a38a": { - "asset": 1714966328862, - "meta": 1717124728424, - "relativePath": "resources\\effects" - }, - "bbee2217-c261-49bd-a8ce-708d6bcc3500": { - "asset": 1714966328893, - "meta": 1717124728426, - "relativePath": "resources\\materials" - }, - "7de03a80-4457-438d-95a7-3e7cdffd6086": { - "asset": 1714966328815, - "meta": 1717124728433, - "relativePath": "prefab\\tiledmap.prefab" - }, - "30682f87-9f0d-4f17-8a44-72863791461b": { - "asset": 1714966328831, - "meta": 1717124728455, - "relativePath": "resources\\effects\\builtin-2d-graphics.effect" - }, - "1f55e3be-b89b-4b79-88de-47fd31018044": { - "asset": 1714966328815, - "meta": 1717124728430, - "relativePath": "prefab\\sprite_splash.prefab" - }, - "144c3297-af63-49e8-b8ef-1cfa29b3be28": { - "asset": 1714966328831, - "meta": 1717124728464, - "relativePath": "resources\\effects\\builtin-2d-gray-sprite.effect" - }, - "0d784963-d024-4ea6-a7db-03be0ad63010": { - "asset": 1714966328815, - "meta": 1717124728439, - "relativePath": "prefab\\toggle.prefab" - }, - "f18742d7-56d2-4eb5-ae49-2d9d710b37c8": { - "asset": 1714966328831, - "meta": 1717124728472, - "relativePath": "resources\\effects\\builtin-2d-label.effect" - }, - "0e42ba95-1fa1-46aa-b2cf-143cd1bcee2c": { - "asset": 1714966328815, - "meta": 1717124728434, - "relativePath": "prefab\\tiledtile.prefab" - }, - "0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7": { - "asset": 1714966328831, - "meta": 1717124728479, - "relativePath": "resources\\effects\\builtin-2d-spine.effect" - }, - "2874f8dd-416c-4440-81b7-555975426e93": { - "asset": 1714966328846, - "meta": 1717124728487, - "relativePath": "resources\\effects\\builtin-2d-sprite.effect" - }, - "829a282c-b049-4019-bd38-5ace8d8a6417": { - "asset": 1714966328846, - "meta": 1717124728531, - "relativePath": "resources\\effects\\builtin-3d-particle.effect" - }, - "2a7c0036-e0b3-4fe1-8998-89a54b8a2bec": { - "asset": 1714966328846, - "meta": 1717124728548, - "relativePath": "resources\\effects\\builtin-3d-trail.effect" - }, - "c0040c95-c57f-49cd-9cbc-12316b73d0d4": { - "asset": 1714966328846, - "meta": 1717124728553, - "relativePath": "resources\\effects\\builtin-clear-stencil.effect" - }, - "6d91e591-4ce0-465c-809f-610ec95019c6": { - "asset": 1714966328862, - "meta": 1717124728566, - "relativePath": "resources\\effects\\builtin-unlit.effect" - }, - "bf0a434c-84dd-4a8e-a08a-7a36f180cc75": { - "asset": 1714966328815, - "meta": 1717124728444, - "relativePath": "prefab\\toggleContainer.prefab" - }, - "232d2782-c4bd-4bb4-9e01-909f03d6d3b9": { - "asset": 1714966328815, - "meta": 1717124728457, - "relativePath": "prefab\\videoplayer.prefab" - }, - "d1b8be49-b0a0-435c-83b7-552bed4bbe35": { - "asset": 1714966328815, - "meta": 1717124728446, - "relativePath": "prefab\\toggleGroup.prefab" - }, - "8c5001fd-07ee-4a4b-a8a0-63e15195e94d": { - "asset": 1714966328831, - "meta": 1717124728535, - "relativePath": "prefab\\webview.prefab" - }, - "ddb99b39-7004-47cd-9705-751905c43c46": { - "asset": 1714966328800, - "meta": 1717124728585, - "relativePath": "prefab\\light\\directional.prefab" - }, - "0cf30284-9073-46bc-9eba-e62b69dbbff3": { - "asset": 1714966328800, - "meta": 1717124728587, - "relativePath": "prefab\\light\\point.prefab" - }, - "61906da3-7003-4bda-9abc-5769c76faee4": { - "asset": 1714966328783, - "meta": 1717124728585, - "relativePath": "prefab\\light\\ambient.prefab" - }, - "f5331fd2-bf42-4ee3-a3fd-3e1657600eff": { - "asset": 1714966328800, - "meta": 1717124728588, - "relativePath": "prefab\\light\\spot.prefab" - }, - "a153945d-2511-4c14-be7b-05d242f47d57": { - "asset": 1714966328862, - "meta": 1717124728659, - "relativePath": "resources\\materials\\builtin-2d-graphics.mtl" - }, - "6f801092-0c37-4f30-89ef-c8d960825b36": { - "asset": 1714966328862, - "meta": 1717124728657, - "relativePath": "resources\\materials\\builtin-2d-base.mtl" - }, - "3a7bb79f-32fd-422e-ada2-96f518fed422": { - "asset": 1714966328862, - "meta": 1717124728660, - "relativePath": "resources\\materials\\builtin-2d-gray-sprite.mtl" - }, - "432fa09c-cf03-4cff-a186-982604408a07": { - "asset": 1714966328878, - "meta": 1717124728666, - "relativePath": "resources\\materials\\builtin-3d-particle.mtl" - }, - "7afd064b-113f-480e-b793-8817d19f63c3": { - "asset": 1714966328878, - "meta": 1717124728663, - "relativePath": "resources\\materials\\builtin-2d-spine.mtl" - }, - "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432": { - "asset": 1714966328878, - "meta": 1717124728662, - "relativePath": "resources\\materials\\builtin-2d-sprite.mtl" - }, - "cf7e0bb8-a81c-44a9-ad79-d28d43991032": { - "asset": 1714966328878, - "meta": 1717124728664, - "relativePath": "resources\\materials\\builtin-clear-stencil.mtl" - }, - "e02d87d4-e599-4d16-8001-e14891ac6506": { - "asset": 1714966328878, - "meta": 1717124728658, - "relativePath": "resources\\materials\\builtin-2d-label.mtl" - }, - "466d4f9b-e5f4-4ea8-85d5-3c6e9a65658a": { - "asset": 1714966328878, - "meta": 1717124728665, - "relativePath": "resources\\materials\\builtin-3d-trail.mtl" - }, - "d0a82d39-bede-46c4-b698-c81ff0dedfff": { - "asset": 1714966328752, - "meta": 1717124728442, - "relativePath": "particle\\atom.png" - }, - "2a296057-247c-4a1c-bbeb-0548b6c98650": { - "asset": 1714966328893, - "meta": 1717124728666, - "relativePath": "resources\\materials\\builtin-unlit.mtl" - }, - "8a96b965-2dc0-4e03-aa90-3b79cb93b5b4": { - "asset": 1714966328752, - "meta": 1717124728440, - "relativePath": "obsolete\\atom.png" - }, - "b8223619-7e38-47c4-841f-9160c232495a": { - "asset": 1714966328752, - "meta": 1717124728697, - "relativePath": "obsolete\\atom.plist" - }, - "b2687ac4-099e-403c-a192-ff477686f4f5": { - "asset": 1714966328752, - "meta": 1717124728696, - "relativePath": "particle\\atom.plist" - }, - "430eccbf-bf2c-4e6e-8c0c-884bbb487f32": { - "asset": 1714966328642, - "meta": 1717124728231, - "relativePath": "effects\\__builtin-editor-gizmo-line.effect" - }, - "6c5cf6e1-b044-4eac-9431-835644d57381": { - "asset": 1714966328642, - "meta": 1717124728238, - "relativePath": "effects\\__builtin-editor-gizmo-unlit.effect" - }, - "115286d1-2e10-49ee-aab4-341583f607e8": { - "asset": 1714966328642, - "meta": 1717124728269, - "relativePath": "effects\\__builtin-editor-gizmo.effect" - }, - "abc2cb62-7852-4525-a90d-d474487b88f2": { - "asset": 1714966328642, - "meta": 1717124728158, - "relativePath": "effects\\builtin-phong.effect" - }, - "e2f00085-c597-422d-9759-52c360279106": { - "asset": 1714966328642, - "meta": 1717124728215, - "relativePath": "effects\\builtin-toon.effect" - }, - "f8e6b000-5643-4b86-9080-aa680ce1f599": { - "asset": 1714966328706, - "meta": 1717124728038, - "relativePath": "image" - }, - "5c3eedba-6c41-4c0c-9ba7-d91f813cbd1c": { - "asset": 1714966328721, - "meta": 1717124728038, - "relativePath": "materials" - }, - "fc09f9bd-2cce-4605-b630-8145ef809ed6": { - "asset": 1714966328721, - "meta": 1717124728038, - "relativePath": "misc" - }, - "99170b0b-d210-46f1-b213-7d9e3f23098a": { - "asset": 1714966328673, - "meta": 1717124728318, - "relativePath": "image\\default_progressbar_bg.png" - }, - "cfef78f1-c8df-49b7-8ed0-4c953ace2621": { - "asset": 1714966328673, - "meta": 1717124728320, - "relativePath": "image\\default_progressbar.png" - }, - "db019bf7-f71c-4111-98cf-918ea180cb48": { - "asset": 1714966328737, - "meta": 1717124728038, - "relativePath": "model" - }, - "e39e96e6-6f6e-413f-bcf1-ac7679bb648a": { - "asset": 1714966328737, - "meta": 1717124728325, - "relativePath": "model\\prefab" - }, - "b43ff3c2-02bb-4874-81f7-f2dea6970f18": { - "asset": 1714966328658, - "meta": 1717124728308, - "relativePath": "image\\default_btn_pressed.png" - }, - "edd215b9-2796-4a05-aaf5-81f96c9281ce": { - "asset": 1714966328658, - "meta": 1717124728310, - "relativePath": "image\\default_editbox_bg.png" - }, - "617323dd-11f4-4dd3-8eec-0caf6b3b45b9": { - "asset": 1714966328689, - "meta": 1717124728357, - "relativePath": "image\\default_scrollbar_vertical_bg.png" - }, - "6e056173-d285-473c-b206-40a7fff5386e": { - "asset": 1714966328689, - "meta": 1717124728354, - "relativePath": "image\\default_sprite.png" - }, - "4bab67cb-18e6-4099-b840-355f0473f890": { - "asset": 1714966328689, - "meta": 1717124728355, - "relativePath": "image\\default_scrollbar_bg.png" - }, - "e851e89b-faa2-4484-bea6-5c01dd9f06e2": { - "asset": 1714966328658, - "meta": 1717124728351, - "relativePath": "image\\default_btn_normal.png" - }, - "c4480a0a-6ac5-443f-8b40-361a14257fc8": { - "asset": 1714966328706, - "meta": 1717124728634, - "relativePath": "materials\\builtin-phong.mtl" - }, - "a87cc147-01b2-43f8-8e42-a7ca90b0c757": { - "asset": 1714966328721, - "meta": 1717124728574, - "relativePath": "model\\prefab\\box.prefab" - }, - "d81ec8ad-247c-4e62-aa3c-d35c4193c7af": { - "asset": 1714966328673, - "meta": 1717124728352, - "relativePath": "image\\default_panel.png" - }, - "b5fc2cf2-7942-483d-be1f-bbeadc4714ad": { - "asset": 1714966328737, - "meta": 1717124728570, - "relativePath": "model\\prefab\\cone.prefab" - }, - "fe1417b6-fe6b-46a4-ae7c-9fd331f33a2a": { - "asset": 1714966328737, - "meta": 1717124728571, - "relativePath": "model\\prefab\\capsule.prefab" - }, - "71561142-4c83-4933-afca-cb7a17f67053": { - "asset": 1714966328658, - "meta": 1717124728304, - "relativePath": "image\\default_btn_disabled.png" - }, - "567dcd80-8bf4-4535-8a5a-313f1caf078a": { - "asset": 1714966328673, - "meta": 1717124728316, - "relativePath": "image\\default_radio_button_off.png" - }, - "3f376125-a699-40ca-ad05-04d662eaa1f2": { - "asset": 1714966328737, - "meta": 1717124728576, - "relativePath": "model\\prefab\\plane.prefab" - }, - "6c9ef10d-b479-420b-bfe6-39cdda6a8ae0": { - "asset": 1714966328737, - "meta": 1717124728578, - "relativePath": "model\\prefab\\quad.prefab" - }, - "600301aa-3357-4a10-b086-84f011fa32ba": { - "asset": 1714966328642, - "meta": 1717124728322, - "relativePath": "image\\default-particle.png" - }, - "2d9a4b85-b0ab-4c46-84c5-18f393ab2058": { - "asset": 1714966328737, - "meta": 1717124728581, - "relativePath": "model\\prefab\\sphere.prefab" - }, - "1c5e4038-953a-44c2-b620-0bbfc6170477": { - "asset": 1714966328737, - "meta": 1717124728579, - "relativePath": "model\\prefab\\cylinder.prefab" - }, - "9d60001f-b5f4-4726-a629-2659e3ded0b8": { - "asset": 1714966328673, - "meta": 1717124728364, - "relativePath": "image\\default_radio_button_on.png" - }, - "de510076-056b-484f-b94c-83bef217d0e1": { - "asset": 1714966328737, - "meta": 1717124728583, - "relativePath": "model\\prefab\\torus.prefab" - }, - "2be36297-9abb-4fee-8049-9ed5e271da8a": { - "asset": 1714966328721, - "meta": 1717124728436, - "relativePath": "misc\\default_video.mp4" - }, - "0291c134-b3da-4098-b7b5-e397edbe947f": { - "asset": 1714966328689, - "meta": 1717124728359, - "relativePath": "image\\default_scrollbar.png" - }, - "d6d3ca85-4681-47c1-b5dd-d036a9d39ea2": { - "asset": 1714966328689, - "meta": 1717124728361, - "relativePath": "image\\default_scrollbar_vertical.png" - }, - "0275e94c-56a7-410f-bd1a-fc7483f7d14a": { - "asset": 1714966328705, - "meta": 1717124728360, - "relativePath": "image\\default_sprite_splash.png" - }, - "73a0903d-d80e-4e3c-aa67-f999543c08f5": { - "asset": 1714966328706, - "meta": 1717124728429, - "relativePath": "image\\default_toggle_checkmark.png" - }, - "d29077ba-1627-4a72-9579-7b56a235340c": { - "asset": 1714966328706, - "meta": 1717124728421, - "relativePath": "image\\default_toggle_normal.png" - }, - "b181c1e4-0a72-4a91-bfb0-ae6f36ca60bd": { - "asset": 1714966328706, - "meta": 1717124728432, - "relativePath": "image\\default_toggle_pressed.png" - }, - "c25b9d50-c8fc-4d27-beeb-6e7c1f2e5c0f": { - "asset": 1714966328706, - "meta": 1717124728427, - "relativePath": "image\\default_toggle_disabled.png" - }, - "954fec8b-cd16-4bb9-a3b7-7719660e7558": { - "asset": 1714966328737, - "meta": 1717124730833, - "relativePath": "model\\primitives.fbx" - }, "41ff2622-6092-4155-95fb-636454d00701": { "asset": 1714979881066, "meta": 1716370505022, @@ -844,11 +334,6 @@ "meta": 1717128045692, "relativePath": "Scene\\LoadScene.fire" }, - "454ad829-851a-40ea-8ab9-941e828357ca": { - "asset": 1717124810504, - "meta": 1717124814356, - "relativePath": "Script\\Load.ts" - }, "f2f0b239-3ec5-48fa-8d7c-c45e86f8a55a": { "asset": 1717125474791, "meta": 1717125955856, @@ -888,5 +373,525 @@ "asset": 1717137078225, "meta": 1717137094166, "relativePath": "Script\\GameManager.ts" + }, + "9836134e-b892-4283-b6b2-78b5acf3ed45": { + "asset": 1714966328642, + "meta": 1717138650580, + "relativePath": "effects" + }, + "abc2cb62-7852-4525-a90d-d474487b88f2": { + "asset": 1714966328642, + "meta": 1717138650722, + "relativePath": "effects\\builtin-phong.effect" + }, + "e2f00085-c597-422d-9759-52c360279106": { + "asset": 1714966328642, + "meta": 1717138650777, + "relativePath": "effects\\builtin-toon.effect" + }, + "430eccbf-bf2c-4e6e-8c0c-884bbb487f32": { + "asset": 1714966328642, + "meta": 1717138650794, + "relativePath": "effects\\__builtin-editor-gizmo-line.effect" + }, + "6c5cf6e1-b044-4eac-9431-835644d57381": { + "asset": 1714966328642, + "meta": 1717138650802, + "relativePath": "effects\\__builtin-editor-gizmo-unlit.effect" + }, + "115286d1-2e10-49ee-aab4-341583f607e8": { + "asset": 1714966328642, + "meta": 1717138650839, + "relativePath": "effects\\__builtin-editor-gizmo.effect" + }, + "f8e6b000-5643-4b86-9080-aa680ce1f599": { + "asset": 1714966328706, + "meta": 1717138650581, + "relativePath": "image" + }, + "5c3eedba-6c41-4c0c-9ba7-d91f813cbd1c": { + "asset": 1714966328721, + "meta": 1717138650582, + "relativePath": "materials" + }, + "fc09f9bd-2cce-4605-b630-8145ef809ed6": { + "asset": 1714966328721, + "meta": 1717138650583, + "relativePath": "misc" + }, + "617323dd-11f4-4dd3-8eec-0caf6b3b45b9": { + "asset": 1714966328689, + "meta": 1717138650946, + "relativePath": "image\\default_scrollbar_vertical_bg.png" + }, + "4bab67cb-18e6-4099-b840-355f0473f890": { + "asset": 1714966328689, + "meta": 1717138650937, + "relativePath": "image\\default_scrollbar_bg.png" + }, + "db019bf7-f71c-4111-98cf-918ea180cb48": { + "asset": 1714966328737, + "meta": 1717138650584, + "relativePath": "model" + }, + "e39e96e6-6f6e-413f-bcf1-ac7679bb648a": { + "asset": 1714966328737, + "meta": 1717138650903, + "relativePath": "model\\prefab" + }, + "99170b0b-d210-46f1-b213-7d9e3f23098a": { + "asset": 1714966328673, + "meta": 1717138650931, + "relativePath": "image\\default_progressbar_bg.png" + }, + "71561142-4c83-4933-afca-cb7a17f67053": { + "asset": 1714966328658, + "meta": 1717138650884, + "relativePath": "image\\default_btn_disabled.png" + }, + "e851e89b-faa2-4484-bea6-5c01dd9f06e2": { + "asset": 1714966328658, + "meta": 1717138650934, + "relativePath": "image\\default_btn_normal.png" + }, + "edd215b9-2796-4a05-aaf5-81f96c9281ce": { + "asset": 1714966328658, + "meta": 1717138650888, + "relativePath": "image\\default_editbox_bg.png" + }, + "6e056173-d285-473c-b206-40a7fff5386e": { + "asset": 1714966328689, + "meta": 1717138650935, + "relativePath": "image\\default_sprite.png" + }, + "567dcd80-8bf4-4535-8a5a-313f1caf078a": { + "asset": 1714966328673, + "meta": 1717138650938, + "relativePath": "image\\default_radio_button_off.png" + }, + "cfef78f1-c8df-49b7-8ed0-4c953ace2621": { + "asset": 1714966328673, + "meta": 1717138650887, + "relativePath": "image\\default_progressbar.png" + }, + "f6e6dd15-71d1-4ffe-ace7-24fd39942c05": { + "asset": 1714966328752, + "meta": 1717138650585, + "relativePath": "obsolete" + }, + "b43ff3c2-02bb-4874-81f7-f2dea6970f18": { + "asset": 1714966328658, + "meta": 1717138650897, + "relativePath": "image\\default_btn_pressed.png" + }, + "c4480a0a-6ac5-443f-8b40-361a14257fc8": { + "asset": 1714966328706, + "meta": 1717138651299, + "relativePath": "materials\\builtin-phong.mtl" + }, + "f743d2b6-b7ea-4c14-a55b-547ed4d0a045": { + "asset": 1714966328752, + "meta": 1717138650586, + "relativePath": "particle" + }, + "9d60001f-b5f4-4726-a629-2659e3ded0b8": { + "asset": 1714966328673, + "meta": 1717138650896, + "relativePath": "image\\default_radio_button_on.png" + }, + "a87cc147-01b2-43f8-8e42-a7ca90b0c757": { + "asset": 1714966328721, + "meta": 1717138651216, + "relativePath": "model\\prefab\\box.prefab" + }, + "d81ec8ad-247c-4e62-aa3c-d35c4193c7af": { + "asset": 1714966328673, + "meta": 1717138650900, + "relativePath": "image\\default_panel.png" + }, + "fe1417b6-fe6b-46a4-ae7c-9fd331f33a2a": { + "asset": 1714966328737, + "meta": 1717138651209, + "relativePath": "model\\prefab\\capsule.prefab" + }, + "ae6c6c98-11e4-452f-8758-75f5c6a56e83": { + "asset": 1714966328831, + "meta": 1717138650587, + "relativePath": "prefab" + }, + "d6d3ca85-4681-47c1-b5dd-d036a9d39ea2": { + "asset": 1714966328689, + "meta": 1717138650942, + "relativePath": "image\\default_scrollbar_vertical.png" + }, + "b5fc2cf2-7942-483d-be1f-bbeadc4714ad": { + "asset": 1714966328737, + "meta": 1717138651217, + "relativePath": "model\\prefab\\cone.prefab" + }, + "1c5e4038-953a-44c2-b620-0bbfc6170477": { + "asset": 1714966328737, + "meta": 1717138651221, + "relativePath": "model\\prefab\\cylinder.prefab" + }, + "0291c134-b3da-4098-b7b5-e397edbe947f": { + "asset": 1714966328689, + "meta": 1717138650943, + "relativePath": "image\\default_scrollbar.png" + }, + "3f376125-a699-40ca-ad05-04d662eaa1f2": { + "asset": 1714966328737, + "meta": 1717138651223, + "relativePath": "model\\prefab\\plane.prefab" + }, + "6c9ef10d-b479-420b-bfe6-39cdda6a8ae0": { + "asset": 1714966328737, + "meta": 1717138651207, + "relativePath": "model\\prefab\\quad.prefab" + }, + "600301aa-3357-4a10-b086-84f011fa32ba": { + "asset": 1714966328642, + "meta": 1717138650902, + "relativePath": "image\\default-particle.png" + }, + "2d9a4b85-b0ab-4c46-84c5-18f393ab2058": { + "asset": 1714966328737, + "meta": 1717138651205, + "relativePath": "model\\prefab\\sphere.prefab" + }, + "de510076-056b-484f-b94c-83bef217d0e1": { + "asset": 1714966328737, + "meta": 1717138651211, + "relativePath": "model\\prefab\\torus.prefab" + }, + "0275e94c-56a7-410f-bd1a-fc7483f7d14a": { + "asset": 1714966328705, + "meta": 1717138650940, + "relativePath": "image\\default_sprite_splash.png" + }, + "897ef7a1-4860-4f64-968d-f5924b18668a": { + "asset": 1714966328752, + "meta": 1717138650955, + "relativePath": "prefab\\2d-camera.prefab" + }, + "70d7cdb0-04cd-41bb-9480-c06a4785f386": { + "asset": 1714966328768, + "meta": 1717138650953, + "relativePath": "prefab\\3d-camera.prefab" + }, + "a3ee0214-b432-4865-9666-4a3211814282": { + "asset": 1714966328800, + "meta": 1717138650956, + "relativePath": "prefab\\light" + }, + "ed88f13d-fcad-4848-aa35-65a2cb973584": { + "asset": 1714966328768, + "meta": 1717138650958, + "relativePath": "prefab\\3d-stage.prefab" + }, + "70bbeb73-6dc2-4ee4-8faf-76b3a0e34ec4": { + "asset": 1714966328768, + "meta": 1717138650965, + "relativePath": "prefab\\3d-particle.prefab" + }, + "972b9a4d-47ee-4c74-b5c3-61d8a69bc29f": { + "asset": 1714966328768, + "meta": 1717138650960, + "relativePath": "prefab\\button.prefab" + }, + "2c937608-2562-40ea-b264-7395df6f0cea": { + "asset": 1714966328768, + "meta": 1717138650962, + "relativePath": "prefab\\canvas.prefab" + }, + "61aeb05b-3b32-452b-8eed-2b76deeed554": { + "asset": 1714966328783, + "meta": 1717138650967, + "relativePath": "prefab\\editbox.prefab" + }, + "27756ebb-3d33-44b0-9b96-e858fadd4dd4": { + "asset": 1714966328783, + "meta": 1717138650972, + "relativePath": "prefab\\label.prefab" + }, + "ca8401fe-ad6e-41a8-bd46-8e3e4e9945be": { + "asset": 1714966328800, + "meta": 1717138650979, + "relativePath": "prefab\\pageview.prefab" + }, + "785a442c-3ceb-45be-a46e-7317f625f3b9": { + "asset": 1714966328783, + "meta": 1717138650975, + "relativePath": "prefab\\layout.prefab" + }, + "cd33edea-55f5-46c2-958d-357a01384a36": { + "asset": 1714966328800, + "meta": 1717138650977, + "relativePath": "prefab\\particlesystem.prefab" + }, + "5965ffac-69da-4b55-bcde-9225d0613c28": { + "asset": 1714966328800, + "meta": 1717138650982, + "relativePath": "prefab\\progressBar.prefab" + }, + "2be36297-9abb-4fee-8049-9ed5e271da8a": { + "asset": 1714966328721, + "meta": 1717138651019, + "relativePath": "misc\\default_video.mp4" + }, + "4a37dd57-78cd-4cec-aad4-f11a73d12b63": { + "asset": 1714966328800, + "meta": 1717138650981, + "relativePath": "prefab\\richtext.prefab" + }, + "c25b9d50-c8fc-4d27-beeb-6e7c1f2e5c0f": { + "asset": 1714966328706, + "meta": 1717138651007, + "relativePath": "image\\default_toggle_disabled.png" + }, + "32044bd2-481f-4cf1-a656-e2b2fb1594eb": { + "asset": 1714966328800, + "meta": 1717138650985, + "relativePath": "prefab\\scrollview.prefab" + }, + "0004d1cf-a0ad-47d8-ab17-34d3db9d35a3": { + "asset": 1714966328800, + "meta": 1717138650987, + "relativePath": "prefab\\slider.prefab" + }, + "b181c1e4-0a72-4a91-bfb0-ae6f36ca60bd": { + "asset": 1714966328706, + "meta": 1717138651033, + "relativePath": "image\\default_toggle_pressed.png" + }, + "96083d03-c332-4a3f-9386-d03e2d19e8ee": { + "asset": 1714966328815, + "meta": 1717138651016, + "relativePath": "prefab\\sprite.prefab" + }, + "d8afc78c-4eac-4a9f-83dd-67bc70344d33": { + "asset": 1714966328862, + "meta": 1717138650588, + "relativePath": "resources" + }, + "294c1663-4adf-4a1e-a795-53808011a38a": { + "asset": 1714966328862, + "meta": 1717138651011, + "relativePath": "resources\\effects" + }, + "bbee2217-c261-49bd-a8ce-708d6bcc3500": { + "asset": 1714966328893, + "meta": 1717138651015, + "relativePath": "resources\\materials" + }, + "1f55e3be-b89b-4b79-88de-47fd31018044": { + "asset": 1714966328815, + "meta": 1717138651018, + "relativePath": "prefab\\sprite_splash.prefab" + }, + "30682f87-9f0d-4f17-8a44-72863791461b": { + "asset": 1714966328831, + "meta": 1717138651043, + "relativePath": "resources\\effects\\builtin-2d-graphics.effect" + }, + "73a0903d-d80e-4e3c-aa67-f999543c08f5": { + "asset": 1714966328706, + "meta": 1717138651012, + "relativePath": "image\\default_toggle_checkmark.png" + }, + "144c3297-af63-49e8-b8ef-1cfa29b3be28": { + "asset": 1714966328831, + "meta": 1717138651056, + "relativePath": "resources\\effects\\builtin-2d-gray-sprite.effect" + }, + "f18742d7-56d2-4eb5-ae49-2d9d710b37c8": { + "asset": 1714966328831, + "meta": 1717138651066, + "relativePath": "resources\\effects\\builtin-2d-label.effect" + }, + "7de03a80-4457-438d-95a7-3e7cdffd6086": { + "asset": 1714966328815, + "meta": 1717138651021, + "relativePath": "prefab\\tiledmap.prefab" + }, + "d29077ba-1627-4a72-9579-7b56a235340c": { + "asset": 1714966328706, + "meta": 1717138651029, + "relativePath": "image\\default_toggle_normal.png" + }, + "0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7": { + "asset": 1714966328831, + "meta": 1717138651076, + "relativePath": "resources\\effects\\builtin-2d-spine.effect" + }, + "0e42ba95-1fa1-46aa-b2cf-143cd1bcee2c": { + "asset": 1714966328815, + "meta": 1717138651023, + "relativePath": "prefab\\tiledtile.prefab" + }, + "2874f8dd-416c-4440-81b7-555975426e93": { + "asset": 1714966328846, + "meta": 1717138651088, + "relativePath": "resources\\effects\\builtin-2d-sprite.effect" + }, + "d1b8be49-b0a0-435c-83b7-552bed4bbe35": { + "asset": 1714966328815, + "meta": 1717138651032, + "relativePath": "prefab\\toggleGroup.prefab" + }, + "829a282c-b049-4019-bd38-5ace8d8a6417": { + "asset": 1714966328846, + "meta": 1717138651151, + "relativePath": "resources\\effects\\builtin-3d-particle.effect" + }, + "bf0a434c-84dd-4a8e-a08a-7a36f180cc75": { + "asset": 1714966328815, + "meta": 1717138651027, + "relativePath": "prefab\\toggleContainer.prefab" + }, + "2a7c0036-e0b3-4fe1-8998-89a54b8a2bec": { + "asset": 1714966328846, + "meta": 1717138651179, + "relativePath": "resources\\effects\\builtin-3d-trail.effect" + }, + "0d784963-d024-4ea6-a7db-03be0ad63010": { + "asset": 1714966328815, + "meta": 1717138651025, + "relativePath": "prefab\\toggle.prefab" + }, + "c0040c95-c57f-49cd-9cbc-12316b73d0d4": { + "asset": 1714966328846, + "meta": 1717138651186, + "relativePath": "resources\\effects\\builtin-clear-stencil.effect" + }, + "232d2782-c4bd-4bb4-9e01-909f03d6d3b9": { + "asset": 1714966328815, + "meta": 1717138651045, + "relativePath": "prefab\\videoplayer.prefab" + }, + "6d91e591-4ce0-465c-809f-610ec95019c6": { + "asset": 1714966328862, + "meta": 1717138651201, + "relativePath": "resources\\effects\\builtin-unlit.effect" + }, + "8c5001fd-07ee-4a4b-a8a0-63e15195e94d": { + "asset": 1714966328831, + "meta": 1717138651160, + "relativePath": "prefab\\webview.prefab" + }, + "61906da3-7003-4bda-9abc-5769c76faee4": { + "asset": 1714966328783, + "meta": 1717138651212, + "relativePath": "prefab\\light\\ambient.prefab" + }, + "ddb99b39-7004-47cd-9705-751905c43c46": { + "asset": 1714966328800, + "meta": 1717138651219, + "relativePath": "prefab\\light\\directional.prefab" + }, + "0cf30284-9073-46bc-9eba-e62b69dbbff3": { + "asset": 1714966328800, + "meta": 1717138651227, + "relativePath": "prefab\\light\\point.prefab" + }, + "f5331fd2-bf42-4ee3-a3fd-3e1657600eff": { + "asset": 1714966328800, + "meta": 1717138651228, + "relativePath": "prefab\\light\\spot.prefab" + }, + "a153945d-2511-4c14-be7b-05d242f47d57": { + "asset": 1714966328862, + "meta": 1717138651332, + "relativePath": "resources\\materials\\builtin-2d-graphics.mtl" + }, + "3a7bb79f-32fd-422e-ada2-96f518fed422": { + "asset": 1714966328862, + "meta": 1717138651331, + "relativePath": "resources\\materials\\builtin-2d-gray-sprite.mtl" + }, + "7afd064b-113f-480e-b793-8817d19f63c3": { + "asset": 1714966328878, + "meta": 1717138651328, + "relativePath": "resources\\materials\\builtin-2d-spine.mtl" + }, + "e02d87d4-e599-4d16-8001-e14891ac6506": { + "asset": 1714966328878, + "meta": 1717138651328, + "relativePath": "resources\\materials\\builtin-2d-label.mtl" + }, + "6f801092-0c37-4f30-89ef-c8d960825b36": { + "asset": 1714966328862, + "meta": 1717138651327, + "relativePath": "resources\\materials\\builtin-2d-base.mtl" + }, + "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432": { + "asset": 1714966328878, + "meta": 1717138651330, + "relativePath": "resources\\materials\\builtin-2d-sprite.mtl" + }, + "cf7e0bb8-a81c-44a9-ad79-d28d43991032": { + "asset": 1714966328878, + "meta": 1717138651336, + "relativePath": "resources\\materials\\builtin-clear-stencil.mtl" + }, + "2a296057-247c-4a1c-bbeb-0548b6c98650": { + "asset": 1714966328893, + "meta": 1717138651335, + "relativePath": "resources\\materials\\builtin-unlit.mtl" + }, + "466d4f9b-e5f4-4ea8-85d5-3c6e9a65658a": { + "asset": 1714966328878, + "meta": 1717138651333, + "relativePath": "resources\\materials\\builtin-3d-trail.mtl" + }, + "8a96b965-2dc0-4e03-aa90-3b79cb93b5b4": { + "asset": 1714966328752, + "meta": 1717138651035, + "relativePath": "obsolete\\atom.png" + }, + "432fa09c-cf03-4cff-a186-982604408a07": { + "asset": 1714966328878, + "meta": 1717138651334, + "relativePath": "resources\\materials\\builtin-3d-particle.mtl" + }, + "d0a82d39-bede-46c4-b698-c81ff0dedfff": { + "asset": 1714966328752, + "meta": 1717138651010, + "relativePath": "particle\\atom.png" + }, + "b2687ac4-099e-403c-a192-ff477686f4f5": { + "asset": 1714966328752, + "meta": 1717138651368, + "relativePath": "particle\\atom.plist" + }, + "b8223619-7e38-47c4-841f-9160c232495a": { + "asset": 1714966328752, + "meta": 1717138651369, + "relativePath": "obsolete\\atom.plist" + }, + "954fec8b-cd16-4bb9-a3b7-7719660e7558": { + "asset": 1714966328737, + "meta": 1717138653478, + "relativePath": "model\\primitives.fbx" + }, + "ddac3642-fbda-4742-bd05-b3d208870e1a": { + "asset": 1717138578210, + "meta": 1717138653645, + "relativePath": "Script\\tool\\GameTool.ts" + }, + "f124c672-2895-4f3e-86ec-14a468f946a6": { + "asset": 1717128110405, + "meta": 1717138653655, + "relativePath": "Script\\tool\\Storage.ts" + }, + "2a951e22-b1e0-4155-972d-251ef3fa8f5a": { + "asset": 1717138670447, + "meta": 1717138670450, + "relativePath": "prefab\\RankListItem.prefab" + }, + "454ad829-851a-40ea-8ab9-941e828357ca": { + "asset": 1717138705575, + "meta": 1717138760409, + "relativePath": "Script\\Load.ts" } } \ No newline at end of file diff --git a/local/layout.editor.json b/local/layout.editor.json index f4ac75f..e9f57b1 100644 --- a/local/layout.editor.json +++ b/local/layout.editor.json @@ -13,13 +13,13 @@ "type": "dock-h", "children": [ { - "width": 207.1666717529297, + "width": 207.28125, "height": 571, "type": "dock-v", "children": [ { - "width": 207.1666717529297, - "height": 307.9895935058594, + "width": 207.28125, + "height": 308.13543701171875, "type": "panel", "active": 0, "children": [ @@ -27,8 +27,8 @@ ] }, { - "width": 207.1666717529297, - "height": 260, + "width": 207.28125, + "height": 259.8645935058594, "type": "panel", "active": 0, "children": [ @@ -38,7 +38,7 @@ ] }, { - "width": 759.59375, + "width": 759.3333740234375, "height": 571, "type": "panel", "active": 0, @@ -47,7 +47,7 @@ ] }, { - "width": 307.2395935058594, + "width": 307.375, "height": 571, "type": "panel", "active": 0, diff --git a/local/local.json b/local/local.json index 439d87f..20fe934 100644 --- a/local/local.json +++ b/local/local.json @@ -1,9 +1,8 @@ { - "last-edit": "4eaf518b-35ec-4262-928d-4d497c3f2830", + "last-edit": "2d2f792f-a40c-49bb-a189-ed176a246e49", "recent-items": [ "40ba7e70-1826-4aa1-92f3-aa63ae39294b", "32254f37-ac95-4912-a787-b8e0429ba0f1", - "2d2f792f-a40c-49bb-a189-ed176a246e49", "774829bb-123e-48b6-930e-6b3e02491506", "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d", "3a232388-d8dc-4f79-a1ea-82f6385b7ce2", @@ -11,6 +10,7 @@ "13110e4f-3587-4e6b-8811-0ca16cac8149", "d1323772-4ab2-4527-bd20-501fe4fb9723", "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5", - "4eaf518b-35ec-4262-928d-4d497c3f2830" + "4eaf518b-35ec-4262-928d-4d497c3f2830", + "2d2f792f-a40c-49bb-a189-ed176a246e49" ] } diff --git a/local/node-tree-state.json b/local/node-tree-state.json index b335064..60d674d 100644 --- a/local/node-tree-state.json +++ b/local/node-tree-state.json @@ -185,10 +185,7 @@ "a9Y/TP/QhAdq9i2KGsTC0d", "a1BRwywGFMT6iJxK+nijOf", "7aHA1K+7hE8YNbYjVirEih", - "8ak5WlHVBELqSzRzcpZa3P", "a2Zfykcl1GPqJhA7ixiKd3", - "10unPSfi1NUb30N1EjhieB", - "791LpnRkFNkqdfpCoJ3Pqk", "fe7qLOC0RM9qPt+IfQpa5W", "8fIUbpCjhI5r01JqiMBRub", "78pYT7vxBK7YbD2aVkC4Kw", @@ -201,6 +198,17 @@ "a5O+jG/8JF/bXXMh61VbrP", "ecZU+ZNaxJvovWhjTwolW3", "1eUcABlmZJH62rOyXieYFR", - "9ah+lyxSVO6Jf1EY5aebLK" + "9ah+lyxSVO6Jf1EY5aebLK", + "78Sk802p9L/Ip+ZPEFbJnp", + "cfD+6eekJE44Ilk2xG5ORu", + "6bCpWS8ktAfIpBUoWywuvF", + "97jJpx7PFP3KaIhLHDBrwq", + "beOm6xY9JGcpUIgHepr4za", + "05VwVz2ohMvbMUbFxpVLs6", + "a0jBYkupRJ1qUCnIBv+/lY", + "5dxBdyCr9Dd7WMwsS/0Owj", + "791LpnRkFNkqdfpCoJ3Pqk", + "8ak5WlHVBELqSzRzcpZa3P", + "10unPSfi1NUb30N1EjhieB" ] } diff --git a/temp/BackupAssets/assets/Scene/RankScene.fire b/temp/BackupAssets/assets/Scene/RankScene.fire index 8063587..5fa8d06 100644 --- a/temp/BackupAssets/assets/Scene/RankScene.fire +++ b/temp/BackupAssets/assets/Scene/RankScene.fire @@ -57,7 +57,7 @@ "_is3DNode": true, "_groupIndex": 0, "groupIndex": 0, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "_id": "2d2f792f-a40c-49bb-a189-ed176a246e49" }, { @@ -1166,7 +1166,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "6eyN1+nK5HT7svNqUsa2/+", "sync": false @@ -1344,7 +1344,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "08Vcf5jRBOhLOtnEzMUku6", "sync": false @@ -1451,7 +1451,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "f0DfDJ4PNDbb7lvykwzyBm", "sync": false @@ -1482,7 +1482,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "38W68aamJOhbnBDiSboSCF", "sync": false @@ -1661,7 +1661,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "07jJ4rjvBM3K8UmWuJPTSW", "sync": false @@ -1770,7 +1770,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "cf00JqB1FL4J82EdUA2X13", "sync": false @@ -1879,7 +1879,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "1beDtXl+VD86kzCArCfEPs", "sync": false @@ -1890,7 +1890,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "d03AAa5MpCZY7eWAmnGlia", "sync": false @@ -1998,7 +1998,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "de4HHWkIhExrJq1+nHHMA6", "sync": false @@ -2106,7 +2106,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "05c46heZhJV4sYMqYyxlB5", "sync": false @@ -2214,7 +2214,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "2an+mxcU5ApJz+ZlYlaw5G", "sync": false @@ -2322,7 +2322,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "78MlwwIH1CYrPsut4N5MBU", "sync": false @@ -2343,7 +2343,7 @@ "__id__": 20 }, "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" + "__uuid__": "2a951e22-b1e0-4155-972d-251ef3fa8f5a" }, "fileId": "55FH2q1HJAyK0hrjxGH/+q", "sync": false @@ -4967,7 +4967,7 @@ "__id__": 2 }, "component": "", - "_componentId": "e1b90/rohdEk4SdmmEZANaD", + "_componentId": "e74a999IDFOabyymZgXQIiy", "handler": "backClick", "customEventData": "" }, @@ -4988,25 +4988,6 @@ "_fitHeight": true, "_id": "17HeE62vtFurfhKbLJeXdc" }, - { - "__type__": "e1b90/rohdEk4SdmmEZANaD", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "Player": { - "__id__": 69 - }, - "selfNode": { - "__id__": 86 - }, - "phone": { - "__id__": 89 - }, - "_id": "75enN1g2JHy7NqiKYVoxNQ" - }, { "__type__": "cc.Widget", "_name": "", @@ -5033,5 +5014,24 @@ "_originalWidth": 0, "_originalHeight": 0, "_id": "45wIx1qRNIfKRBbYhYEP1r" + }, + { + "__type__": "e74a999IDFOabyymZgXQIiy", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "Player": { + "__id__": 69 + }, + "selfNode": { + "__id__": 86 + }, + "phone": { + "__id__": 89 + }, + "_id": "81Iy69gIdCtp0UzAUPZ1+M" } ] \ No newline at end of file diff --git a/temp/quick-scripts/dst/__file_stats__.json b/temp/quick-scripts/dst/__file_stats__.json index fb3f333..a81bf1a 100644 --- a/temp/quick-scripts/dst/__file_stats__.json +++ b/temp/quick-scripts/dst/__file_stats__.json @@ -1 +1 @@ -{"version":"1.0.8","stats":{"C:/Work/Project/Sun_moves/temp/quick-scripts/src/__qc_index__.js":"2024-05-31T04:01:01.151Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/ListView/ItemRender.js":"2024-05-31T03:05:31.347Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameOver.js":"2024-05-31T03:05:31.338Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/crypto/serverAPI.js":"2024-05-31T03:05:31.340Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js":"2024-05-31T03:05:31.336Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GuideManager.js":"2024-05-31T03:59:10.293Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/DynamicAtlasManager.js":"2024-05-31T03:05:31.327Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Helloworld.js":"2024-05-31T03:05:31.350Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameData.js":"2024-05-31T03:25:56.295Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Load.js":"2024-05-31T03:06:54.359Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Notification.js":"2024-05-31T03:05:31.353Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/BallAudioManager.js":"2024-05-31T03:05:31.346Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameManager.js":"2024-05-31T03:25:56.329Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/CtrlFluxayTexture.js":"2024-05-31T03:05:31.344Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/Shake.js":"2024-05-31T03:05:31.334Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/test.js":"2024-05-31T03:05:31.356Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Sun.js":"2024-05-31T03:05:31.333Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Storage.js":"2024-05-31T03:05:31.337Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/GameTool.js":"2024-05-31T03:05:31.341Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/ListView/List.js":"2024-05-31T03:05:31.348Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/crypto/crypto-js.min.js":"2024-05-31T03:05:31.351Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/RankManager.js":"2024-05-31T03:59:10.309Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/AudioManager.js":"2024-05-31T03:25:56.512Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/AudioManager.js":"2024-05-31T03:29:13.491Z"}} +{"version":"1.0.8","stats":{"C:/Work/Project/Sun_moves/temp/quick-scripts/src/__qc_index__.js":"2024-05-31T06:57:33.895Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/DynamicAtlasManager.js":"2024-05-31T06:57:33.840Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameOver.js":"2024-05-31T06:57:33.849Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/ListView/List.js":"2024-05-31T06:57:33.856Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/crypto/serverAPI.js":"2024-05-31T06:57:33.851Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/RankManager.js":"2024-05-31T06:57:33.860Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GuideManager.js":"2024-05-31T06:57:33.837Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js":"2024-05-31T06:57:33.847Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Notification.js":"2024-05-31T06:57:33.863Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Sun.js":"2024-05-31T06:57:33.844Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameData.js":"2024-05-31T06:57:33.864Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Load.js":"2024-05-31T06:57:33.842Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Storage.js":"2024-05-31T06:57:33.848Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/GameTool.js":"2024-05-31T06:57:33.857Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/ListView/ItemRender.js":"2024-05-31T06:57:33.854Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/AudioManager.js":"2024-05-31T06:57:33.850Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/Shake.js":"2024-05-31T06:57:33.845Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/crypto/crypto-js.min.js":"2024-05-31T06:57:33.859Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameManager.js":"2024-05-31T06:57:33.852Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/Storage.js":"2024-05-31T06:57:33.862Z"}} diff --git a/temp/quick-scripts/dst/__qc_bundle__.js b/temp/quick-scripts/dst/__qc_bundle__.js index d0402c4..1e3ec1b 100644 --- a/temp/quick-scripts/dst/__qc_bundle__.js +++ b/temp/quick-scripts/dst/__qc_bundle__.js @@ -27,6 +27,7 @@ require('./assets/Script/tool/AudioManager'); require('./assets/Script/tool/DynamicAtlasManager'); require('./assets/Script/tool/GameTool'); require('./assets/Script/tool/Shake'); +require('./assets/Script/tool/Storage'); require('./assets/migration/use_v2.1-2.2.1_cc.Toggle_event'); } @@ -44,7 +45,7 @@ require('./assets/migration/use_v2.1-2.2.1_cc.Toggle_event'); (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/ListView/ItemRender.js'; + var __filename = 'preview-scripts/assets/Script/tool/DynamicAtlasManager.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -52,108 +53,18 @@ require('./assets/migration/use_v2.1-2.2.1_cc.Toggle_event'); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'ca0f9k0oBVDbpQC+OMNTF3m', 'ItemRender'); -// Script/ListView/ItemRender.ts +cc._RF.push(module, '3ffacOneORCf6Bc1LFhTCCQ', 'DynamicAtlasManager'); +// Script/tool/DynamicAtlasManager.js "use strict"; -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 _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var ItemRender = /** @class */ (function (_super) { - __extends(ItemRender, _super); - function ItemRender() { - var _this = _super !== null && _super.apply(this, arguments) || this; - /**数据 */ - _this.data = null; - /**索引 0表示第一项*/ - _this.itemIndex = 0; - return _this; - } - /**数据改变时调用 */ - ItemRender.prototype.dataChanged = function () { - if (this.data.name.length > 6) { - this.data.name = this.data.name.substring(0, 6) + "..."; - } - this.node.getChildByName("rankLab").getComponent(cc.Label).string = this.data.rank + ""; - this.node.getChildByName("nameLab").getComponent(cc.Label).string = this.data.name + ""; - this.node.getChildByName("totalLab").getComponent(cc.Label).string = this.data.total + ""; - this.node.getChildByName("rank").getChildByName("one").active = false; - this.node.getChildByName("rank").getChildByName("two").active = false; - this.node.getChildByName("rank").getChildByName("three").active = false; - if (this.data.rank == 1) { - this.node.getChildByName("rank").getChildByName("one").active = true; - this.node.getChildByName("rankLab").active = false; - } - else if (this.data.rank == 2) { - this.node.getChildByName("rank").getChildByName("two").active = true; - this.node.getChildByName("rankLab").active = false; - } - else if (this.data.rank == 3) { - this.node.getChildByName("rank").getChildByName("three").active = true; - this.node.getChildByName("rankLab").active = false; - } - else { - this.node.getChildByName("rankLab").active = true; - } - this.setPic(); - }; - ItemRender.prototype.setPic = function () { - var _this = this; - this.node.getChildByName("pic").getChildByName("icon").active = false; - this.node.getChildByName("pic").getChildByName("pic").active = false; - var self = this; - var url = this.data.pic; - fetch(url) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - // console.log(this.data.rank,'X-Info:', errNo); // 输出X-ErrNo的值 - if (errNo == "5093") { - // console.log(this.data.rank,"没头像"); - _this.node.getChildByName("pic").getChildByName("icon").active = true; - } - }) - .catch(function (error) { - console.error('Error fetching X-Info:', error); - }); - cc.assetManager.loadRemote(url, { ext: '.jpg' }, function (err, texture) { - if (texture) { - _this.node.getChildByName("pic").getChildByName("pic").active = true; - var sprite = _this.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite); - sprite.spriteFrame = new cc.SpriteFrame(texture); - // console.log(this.data.rank,"设置头像成功",err); - } - else { - // console.log("设置头像失败",url); - console.log(err, texture); - } - }); - }; - ItemRender = __decorate([ - ccclass - ], ItemRender); - return ItemRender; -}(cc.Component)); -exports.default = ItemRender; + +cc.Class({ + "extends": cc.Component, + properties: {}, + onLoad: function onLoad() { + cc.dynamicAtlasManager.enabled = false; + } +}); cc._RF.pop(); } @@ -166,7 +77,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMaXN0Vmlld1xcSXRlbVJlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUc1QztJQUF3Qyw4QkFBWTtJQUFwRDtRQUFBLHFFQXFFQztRQXBFRyxRQUFRO1FBQ0QsVUFBSSxHQUFPLElBQUksQ0FBQztRQUN2QixjQUFjO1FBQ1AsZUFBUyxHQUFVLENBQUMsQ0FBQzs7SUFpRWhDLENBQUM7SUEvREcsYUFBYTtJQUNOLGdDQUFXLEdBQWxCO1FBQ0ksSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFBO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFB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QUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBQyxHQUFHLEVBQUMsTUFBTSxFQUFDLEVBQUMsVUFBQyxHQUFHLEVBQUUsT0FBb0I7WUFDbkUsSUFBRyxPQUFPLEVBQUM7Z0JBQ1AsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ25FLElBQUksTUFBTSxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzRixNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakQsNENBQTRDO2FBQy9DO2lCQUNHO2dCQUNBLDZCQUE2QjtnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsT0FBTyxDQUFDLENBQUE7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFsRWdCLFVBQVU7UUFEOUIsT0FBTztPQUNhLFVBQVUsQ0FxRTlCO0lBQUQsaUJBQUM7Q0FyRUQsQUFxRUMsQ0FyRXVDLEVBQUUsQ0FBQyxTQUFTLEdBcUVuRDtrQkFyRW9CLFVBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGlzdCwgeyBMaXN0VHlwZSB9IGZyb20gXCIuL0xpc3RcIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJdGVtUmVuZGVyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8qKuaVsOaNriAqL1xyXG4gICAgcHVibGljIGRhdGE6YW55ID0gbnVsbDtcclxuICAgIC8qKue0ouW8lSAw6KGo56S656ys5LiA6aG5Ki9cclxuICAgIHB1YmxpYyBpdGVtSW5kZXg6bnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirmlbDmja7mlLnlj5jml7bosIPnlKggKi9cclxuICAgIHB1YmxpYyBkYXRhQ2hhbmdlZCgpe1xyXG4gICAgICAgIGlmKHRoaXMuZGF0YS5uYW1lLmxlbmd0aCA+IDYpe1xyXG4gICAgICAgICAgICB0aGlzLmRhdGEubmFtZSA9IHRoaXMuZGF0YS5uYW1lLnN1YnN0cmluZygwLDYpICsgXCIuLi5cIlxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5kYXRhLnJhbmsgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEubmFtZSArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEudG90YWwgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5kYXRhLnJhbmsgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmRhdGEucmFuayA9PSAyKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBpYygpO1xyXG4gICAgfSAgIFxyXG4gICAgXHJcbiAgICBwdWJsaWMgc2V0UGljKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSBmYWxzZTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgbGV0IHVybCA9IHRoaXMuZGF0YS5waWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssJ1gtSW5mbzonLCBlcnJObyk7IC8vIOi+k+WHulgtRXJyTm/nmoTlgLxcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLmsqHlpLTlg49cIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCB7ZXh0OicuanBnJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdmFyIHNwcml0ZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIHNwcml0ZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5yYW5rLFwi6K6+572u5aS05YOP5oiQ5YqfXCIsZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLorr7nva7lpLTlg4/lpLHotKVcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxEeW5hbWljQXRsYXNNYW5hZ2VyLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwib25Mb2FkIiwiZHluYW1pY0F0bGFzTWFuYWdlciIsImVuYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUFBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxTQURQO0FBR0xDLEVBQUFBLFVBQVUsRUFBRSxFQUhQO0FBTUxDLEVBQUFBLE1BTkssb0JBTUs7QUFDTkosSUFBQUEsRUFBRSxDQUFDSyxtQkFBSCxDQUF1QkMsT0FBdkIsR0FBaUMsS0FBakM7QUFDSDtBQVJJLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IGNjLkNvbXBvbmVudCxcclxuXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICB9LFxyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcbiAgICAgICAgY2MuZHluYW1pY0F0bGFzTWFuYWdlci5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB9LFxyXG59KTtcclxuIl19 //------QC-SOURCE-SPLIT------ (function() { @@ -389,3266 +300,6 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRix1Q0FBa0M7QUFFbEMsZ0RBQTBDO0FBR3BDLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXNDLDRCQUFZO0lBQWxEO1FBQUEscUVBMklDO1FBeklHLFdBQUssR0FBYSxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFhLElBQUksQ0FBQztRQUV0QixjQUFRLEdBQVksSUFBSSxDQUFDO1FBRXpCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUVwQixXQUFLLEdBQVksSUFBSSxDQUFDO1FBRXRCLFVBQUksR0FBWSxJQUFJLENBQUM7UUFFckIsVUFBSSxHQUFZLElBQUksQ0FBQzs7SUEySHpCLENBQUM7SUF4SEcsZUFBZTtJQUNmLHdCQUFLLEdBQUw7UUFDSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3JELElBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFLEVBQUM7WUFDekMsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQTtTQUM5RTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFRLENBQUMsU0FB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LEVBQUUsQ0FBQyxJQUFJLENBQUM7OENBQ087SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDRTtJQUVwQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MkNBQ0k7SUFFdEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzswQ0FDRztJQUVyQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBaEJKLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0EySTVCO0lBQUQsZUFBQztDQTNJRCxBQTJJQyxDQTNJcUMsRUFBRSxDQUFDLFNBQVMsR0EySWpEO2tCQTNJb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi9HYW1lRGF0YVwiO1xyXG5pbXBvcnQgTGlzdCBmcm9tIFwiLi9MaXN0Vmlldy9MaXN0XCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi9jcnlwdG8vc2VydmVyQVBJXCI7XHJcbmltcG9ydCBScSBmcm9tIFwiLi9jcnlwdG8vc2VydmVyQVBJXCI7XHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIGNvdW50OiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICB0aW1lOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHNlbGZOb2RlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgb25lOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgdHdvOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgdGhyZWU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmb3VyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgZml2ZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBsaXN0RGF0YTogYW55O1xyXG4gICAgc2VsZkRhdGE6IGFueTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuY291bnQuc3RyaW5nID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWw7XHJcbiAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lID4gMTApe1xyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSAocGFyc2VJbnQoTWF0aC5yYW5kb20oKSoxMCtcIlwiKSs1KS8xMFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWUuc3RyaW5nID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lICsgXCJzXCI7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnR3by5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRocmVlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm91ci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpdmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOW8gOWni+eOqVxyXG4gICAgYWdhaW4oKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaOkuihjOamnFxyXG4gICAgZ2V0UmFuaygpe1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJwYWdlXCI6MSxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOjEwMFxyXG4gICAgICAgIH07IFxyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDIsdGhpcy5nZXRSYW5rRGF0YS5iaW5kKHRoaXMpLHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIC8v6K6+572u5o6S6KGM5L+h5oGvXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgdGhpcy5saXN0RGF0YSA9IGRhdGEuZGF0YS5saXN0O1xyXG4gICAgICAgICAgICB0aGlzLnNlbGZEYXRhID0gZGF0YS5kYXRhLmluZm87XHJcbiAgICAgICAgICAgIGxldCByYW5rRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZih0aGlzLnNlbGZEYXRhLm5pY2tOYW1lLmxlbmd0aCA+IDQpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxmRGF0YS5uaWNrTmFtZT0gdGhpcy5zZWxmRGF0YS5uaWNrTmFtZS5zdWJzdHJpbmcoMCw0KSArIFwiLi4uXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuc2VsZkRhdGEubmlja05hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuc2VsZkRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICAgICAgdGhpcy5zZXRQaWModGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGhpcy5zZWxmRGF0YS5waWMpO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD10aGlzLmxpc3REYXRhLmxlbmd0aC0xO2krKyl7XHJcbiAgICAgICAgICAgICAgICByYW5rRGF0YS5wdXNoKHtyYW5rOihpKzEpLCBuYW1lOnRoaXMubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRoaXMubGlzdERhdGFbaV0udG90YWxTdW5Db3VudCwgcGljOnRoaXMubGlzdERhdGFbaV0ucGljfSk7XHJcbiAgICAgICAgICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPT0gdGhpcy5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSAodGhpcy5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBcIjk5K1wiOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGk8NSkgdGhpcy5zZXRSYW5rKGksdGhpcy5saXN0RGF0YVtpXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+agueaNruWGheWuueWhq+WFheaOkuihjOamnFxyXG4gICAgc2V0UmFuayhudW0sZGF0YSl7XHJcbiAgICAgICAgdmFyIGhpdE5vZGUgPSBudWxsO1xyXG4gICAgICAgIGlmKG51bSA9PSAwKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAxKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMudHdvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAyKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMudGhyZWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDMpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5mb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSA0KXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMuZml2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoaGl0Tm9kZSl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYoZGF0YS5uaWNrTmFtZS5sZW5ndGggPiA0KXtcclxuICAgICAgICAgICAgICAgIGRhdGEubmlja05hbWU9IGRhdGEubmlja05hbWUuc3Vic3RyaW5nKDAsNCkgKyBcIi4uLlwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBkYXRhLm5pY2tOYW1lO1xyXG4gICAgICAgICAgICBoaXROb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBkYXRhLnRvdGFsU3VuQ291bnQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLGRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcbiAgICAvL+iuvue9ruWktOWDj1xyXG4gICAgcHVibGljIHNldFBpYyhub2RlLHBpYyl7XHJcbiAgICAgICAgbm9kZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBsZXQgdXJsID0gcGljO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBmZXRjaCh1cmwpXHJcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1MZW5ndGgnKTtcclxuICAgICAgICAgICAgfSlcclxuICAgIFxyXG4gICAgICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbn1cclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/crypto/serverAPI.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, '98307M8uUtLYKaHXPmGgCWf', 'serverAPI'); -// Script/crypto/serverAPI.ts - -"use strict"; -// import CryptoJS from "crypto-js"; -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; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var GameData_1 = require("../GameData"); -var CryptoJS = require("./crypto-js.min.js"); //引用AES源码js -// import axios from 'axios' -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var HttpUtil = /** @class */ (function (_super) { - __extends(HttpUtil, _super); - function HttpUtil() { - return _super !== null && _super.apply(this, arguments) || this; - } - //排行榜type2为获取,type1为上传 - HttpUtil.rankData = function (type, callback, data) { - return __awaiter(this, void 0, Promise, function () { - var time, url; - return __generator(this, function (_a) { - data.gameId = GameData_1.default._instance.GM_INFO.gameId; - data.userId = GameData_1.default._instance.GM_INFO.userId; - time = Math.floor((new Date().getTime()) / 1000); - url = apiSign("/api/get/rank/data?gameId=" + config.gameId + "&dataType=" + type + "&time=" + time, data); - this.httpPost(url, data, callback); - return [2 /*return*/]; - }); - }); - }; - HttpUtil.uploadUserLogData = function (data, callback) { - return __awaiter(this, void 0, Promise, function () { - var url; - return __generator(this, function (_a) { - data.gameId = GameData_1.default._instance.GM_INFO.gameId; - data.userId = GameData_1.default._instance.GM_INFO.userId; - url = '/log/collect/data'; - this.httpPost(url, data, callback); - return [2 /*return*/]; - }); - }); - }; - //暂时用不到 - HttpUtil.getUserRecord = function (data, callback) { - return __awaiter(this, void 0, Promise, function () { - var time, url; - return __generator(this, function (_a) { - data.gameId = GameData_1.default._instance.GM_INFO.gameId; - data.userId = GameData_1.default._instance.GM_INFO.userId; - time = Math.floor((new Date().getTime()) / 1000); - url = apiSign("/api/get/user/data?gameId=" + config.gameId + "&time=" + time, data); - this.httpPost(url, data, callback); - return [2 /*return*/]; - }); - }); - }; - HttpUtil.httpPost = function (url, data, callBack) { - data.gameId = GameData_1.default._instance.GM_INFO.gameId; - data.userId = GameData_1.default._instance.GM_INFO.userId; - var urlData = "http://api.sparkus.cn" + url; - // console.log("params:",JSON.stringify(data)); - var xhr = new XMLHttpRequest(); - xhr.open('POST', urlData); - xhr.setRequestHeader('Content-Type', 'application/json'); - xhr.onreadystatechange = function () { - if (xhr.readyState == 4 && xhr.status == 200) { - var data = xhr.responseText; - if (!data) { - // console.log("初始化失败"); - return; - } - var json = JSON.parse(data); - // console.log('http success:' + json); - callBack(json); - } - else { - // var json = JSON.parse(data); - // console.log('http fail:' + url); - callBack(json); - } - }; - xhr.send(JSON.stringify(data)); - }; - HttpUtil.httpGet = function (url, callBack) { - var urlData = "http://api.sparkus.cn" + url; - console.log(urlData); - var xhr = new XMLHttpRequest(); - xhr.open('GET', urlData); - xhr.setRequestHeader('Content-Type', 'text/plain'); - xhr.onreadystatechange = function () { - if (xhr.readyState == 4 && xhr.status == 200) { - var data = xhr.responseText; - if (data) { - var json = JSON.parse(data); - console.info('http success:' + json); - callBack(json); - } - else - callBack(data); - } - else { - console.info('http fail:' + url); - callBack(null); - } - }; - xhr.send(); - }; - HttpUtil = __decorate([ - ccclass - ], HttpUtil); - return HttpUtil; -}(cc.Component)); -exports.default = HttpUtil; -function responseHandler(response) { - return response.data; -} -// 响应拦截器 -// Rq.interceptors.response.use(responseHandler) -var config = { - gameId: "100009", - secretKey: "CMNhOzBA", - EK: "hui231%1" -}; -var Crypoto = /** @class */ (function () { - function Crypoto() { - // 加密的向明值,自己根据项目实际情况定,需要跟后端开发保持一致 - this.keyHex = this.getHetKey(); - } - Crypoto.prototype.getHetKey = function () { - return CryptoJS.enc.Utf8.parse(config.EK); - }; - /** DES加密 */ - Crypoto.prototype.encryptByDES = function (message, secret) { - if (!message) { - return message; - } - var key = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; - var encrypted = CryptoJS.DES.encrypt(message, key, { - mode: CryptoJS.mode.ECB, - padding: CryptoJS.pad.Pkcs7 - }); - return encrypted.toString(); - }; - /** DES解密 */ - Crypoto.prototype.decryptByDES = function (message, secret) { - var key = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; - var decrypted = CryptoJS.DES.decrypt({ - ciphertext: CryptoJS.enc.Base64.parse(message) - }, key, { - mode: CryptoJS.mode.ECB, - padding: CryptoJS.pad.Pkcs7 - }); - return decrypted.toString(CryptoJS.enc.Utf8); - }; - /** hmacSHA256加密 */ - Crypoto.prototype.hmacSha256 = function (message, secret) { - var keyHex = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; - var hash = CryptoJS.HmacSHA256(message, keyHex); - return hash.toString(); - }; - /** hmacSHA256验证 */ - Crypoto.prototype.verifyHmacSha256 = function (message, signature) { - var hash = CryptoJS.HmacSHA256(message, this.keyHex); - return hash.toString() === signature; - }; - /** CBC加密 */ - Crypoto.prototype.encryptCBC = function (word) { - if (!word) { - return word; - } - var srcs = CryptoJS.enc.Utf8.parse(word); - var encrypted = CryptoJS.AES.encrypt(srcs, this.keyHex, { - iv: this.keyHex, - mode: CryptoJS.mode.CBC, - padding: CryptoJS.pad.ZeroPadding - }); - return encrypted.toString(); - }; - /** CBC解密 */ - Crypoto.prototype.decryptCBC = function (word) { - if (!word) { - return word; - } - var encryptedHexStr = CryptoJS.enc.Hex.parse(word); - var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); - var decrypt = CryptoJS.AES.decrypt(srcs, this.keyHex, { - iv: this.keyHex, - mode: CryptoJS.mode.CBC, - padding: CryptoJS.pad.ZeroPadding - }); - var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); - return decryptedStr.toString(); - }; - return Crypoto; -}()); -var fxCry = new Crypoto(); -function isEmpty(data) { - return data === "" || data === null || data === undefined || data.length === 0 || JSON.stringify(data) == "{}"; -} -function getQueryString(obj) { - // 首先对对象的键进行排序并过滤空值 - var sortedKeys = Object.keys(obj).sort(); - var sortedObj = {}; - for (var i = 0; i < sortedKeys.length; i++) { - if (isEmpty(obj[sortedKeys[i]])) { - continue; - } - sortedObj[sortedKeys[i]] = obj[sortedKeys[i]]; - } - // 然后将排序后的对象转换为查询字符串 - var params = []; - for (var key in sortedObj) { - params.push(encodeURIComponent(key) + "=" + encodeURIComponent(sortedObj[key])); - } - return params.join('&'); -} -/** - * 组装签名字符串 - * @param string url: 请求地址 - * @param string postStr: post参数的a=1&b=2 - * @returns - */ -function genSignStr(url, postStr) { - var lessUrl = url.replace('?', ''); - lessUrl = lessUrl + "&" + postStr; - return encodeURIComponent(fxCry.hmacSha256(lessUrl)); -} -// 对参数进行统一urlencode -function urlencode(url) { - var _a = url.split("?", 2), baseUrl = _a[0], queryString = _a[1]; - var params = new URLSearchParams(queryString); - return baseUrl + "?" + params.toString(); -} -/** - * - * @param url {string} 接口地址 - * @param params {object} 需要加密的参数对象 - */ -function apiSign(url, params) { - if (params === void 0) { params = {}; } - var convertUrl = url.trim(); - if (convertUrl.indexOf('?') === -1) { - convertUrl += '?'; - } - // 传入参数转换拼接字符串 - var postStr = getQueryString(params); - var signedStr = genSignStr(convertUrl, postStr); - var encryptStr = "sign=" + signedStr; - var encryptSignStr = fxCry.encryptByDES(encryptStr, config.secretKey); - encryptSignStr = encodeURIComponent(encryptSignStr); - return urlencode(convertUrl) + "&_p=" + encryptSignStr; -} - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxjcnlwdG9cXHNlcnZlckFQSS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0NBQW9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHcEMsd0NBQW1DO0FBQ25DLDZDQUFnRCxDQUFFLFdBQVc7QUFFN0QsNEJBQTRCO0FBQ3RCLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXNDLDRCQUFZO0lBQWxEOztJQTZFQSxDQUFDO0lBNUVDLHNCQUFzQjtJQUNULGlCQUFRLEdBQXJCLFVBQXNCLElBQUksRUFBQyxRQUFRLEVBQUMsSUFBSTt1Q0FBRyxPQUFPOzs7Z0JBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUMxQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtnQkFDaEQsR0FBRyxHQUFHLE9BQU8sQ0FBQywrQkFBNkIsTUFBTSxDQUFDLE1BQU0sa0JBQWEsSUFBSSxjQUFTLElBQU0sRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDckcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLFFBQVEsQ0FBQyxDQUFDOzs7O0tBQ2xDO0lBRVksMEJBQWlCLEdBQTlCLFVBQStCLElBQUksRUFBQyxRQUFRO3VDQUFHLE9BQU87OztnQkFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENB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QUFDLENBQUMsRUFBekMsT0FBTyxRQUFBLEVBQUUsV0FBVyxRQUFxQixDQUFDO0lBQ2pELElBQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELE9BQVUsT0FBTyxTQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUksQ0FBQztBQUMzQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsT0FBTyxDQUFDLEdBQVcsRUFBRSxNQUFXO0lBQVgsdUJBQUEsRUFBQSxXQUFXO0lBRXZDLElBQUksVUFBVSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMzQixJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDbEMsVUFBVSxJQUFJLEdBQUcsQ0FBQTtLQUNsQjtJQUVELGNBQWM7SUFDZCxJQUFJLE9BQU8sR0FBSSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFckMsSUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNqRCxJQUFNLFVBQVUsR0FBRyxVQUFRLFNBQVcsQ0FBQTtJQUV0QyxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDckUsY0FBYyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBRW5ELE9BQVUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFPLGNBQWdCLENBQUE7QUFDeEQsQ0FBQyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBDcnlwdG9KUyBmcm9tIFwiY3J5cHRvLWpzXCI7XG5cblxuaW1wb3J0IEdhbWVEYXRhIGZyb20gJy4uL0dhbWVEYXRhJztcbmltcG9ydCBDcnlwdG9KUyA9IHJlcXVpcmUoJy4vY3J5cHRvLWpzLm1pbi5qcycpOyAgLy/lvJXnlKhBRVPmupDnoIFqc1xuXG4vLyBpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcblxuQGNjY2xhc3NcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBVdGlsIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcbiAgLy/mjpLooYzmppx0eXBlMuS4uuiOt+WPlu+8jHR5cGUx5Li65LiK5LygXG4gIHN0YXRpYyBhc3luYyByYW5rRGF0YSh0eXBlLGNhbGxiYWNrLGRhdGEpOiBQcm9taXNlPGFueT4ge1xuICAgIGRhdGEuZ2FtZUlkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkO1xuICAgIGRhdGEudXNlcklkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkO1xuICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxuICAgIGNvbnN0IHVybCA9IGFwaVNpZ24oYC9hcGkvZ2V0L3JhbmsvZGF0YT9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZkYXRhVHlwZT0ke3R5cGV9JnRpbWU9JHt0aW1lfWAsIGRhdGEpXG4gICAgdGhpcy5odHRwUG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XG4gIH1cbiAgXG4gIHN0YXRpYyBhc3luYyB1cGxvYWRVc2VyTG9nRGF0YShkYXRhLGNhbGxiYWNrKTogUHJvbWlzZTxhbnk+IHtcbiAgICBkYXRhLmdhbWVJZCA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmdhbWVJZDtcbiAgICBkYXRhLnVzZXJJZCA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZDtcbiAgICBjb25zdCB1cmwgPSAnL2xvZy9jb2xsZWN0L2RhdGEnO1xuICAgIHRoaXMuaHR0cFBvc3QodXJsLGRhdGEsY2FsbGJhY2spO1xuICB9XG4gIC8v5pqC5pe255So5LiN5YiwXG4gIHN0YXRpYyBhc3luYyBnZXRVc2VyUmVjb3JkKGRhdGEsY2FsbGJhY2spOiBQcm9taXNlPGFueT4ge1xuICAgIGRhdGEuZ2FtZUlkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkO1xuICAgIGRhdGEudXNlcklkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkO1xuICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxuICAgIGNvbnN0IHVybCA9IGFwaVNpZ24oYC9hcGkvZ2V0L3VzZXIvZGF0YT9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZ0aW1lPSR7dGltZX1gLCBkYXRhKVxuICAgIHRoaXMuaHR0cFBvc3QodXJsLGRhdGEsY2FsbGJhY2spO1xuICB9XG5cbiAgc3RhdGljIGh0dHBQb3N0KHVybCxkYXRhLGNhbGxCYWNrKXtcbiAgICAgIGRhdGEuZ2FtZUlkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkO1xuICAgICAgZGF0YS51c2VySWQgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQ7XG4gICAgICB2YXIgdXJsRGF0YSA9IFwiaHR0cDovL2FwaS5zcGFya3VzLmNuXCIgKyB1cmw7XG4gICAgICAvLyBjb25zb2xlLmxvZyhcInBhcmFtczpcIixKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgICBsZXQgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgICB4aHIub3BlbignUE9TVCcsIHVybERhdGEpO1xuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0ICYmIHhoci5zdGF0dXMgPT0gMjAwKSB7XG4gICAgICAgICAgICAgIHZhciBkYXRhID0geGhyLnJlc3BvbnNlVGV4dDtcbiAgICAgICAgICAgICAgaWYoIWRhdGEpe1xuICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLliJ3lp4vljJblpLHotKVcIik7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnaHR0cCBzdWNjZXNzOicgKyBqc29uKTtcbiAgICAgICAgICAgICAgY2FsbEJhY2soanNvbik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAvLyAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnaHR0cCBmYWlsOicgKyB1cmwpO1xuICAgICAgICAgICAgICBjYWxsQmFjayhqc29uKTtcbiAgICAgICAgICB9XG4gICAgICB9O1xuICAgICAgeGhyLnNlbmQoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICB9XG5cbiAgc3RhdGljIGh0dHBHZXQodXJsLGNhbGxCYWNrKXtcbiAgICAgIHZhciB1cmxEYXRhID0gXCJodHRwOi8vYXBpLnNwYXJrdXMuY25cIiArIHVybDtcbiAgICAgIGNvbnNvbGUubG9nKHVybERhdGEpO1xuICAgICAgbGV0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgeGhyLm9wZW4oJ0dFVCcsIHVybERhdGEpO1xuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICd0ZXh0L3BsYWluJyk7XG4gICAgICBcbiAgICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09IDQgJiYgeGhyLnN0YXR1cyA9PSAyMDApIHtcbiAgICAgICAgICAgICAgdmFyIGRhdGEgPSB4aHIucmVzcG9uc2VUZXh0O1xuICAgICAgICAgICAgICBpZihkYXRhKXtcbiAgICAgICAgICAgICAgICAgIHZhciBqc29uID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnaHR0cCBzdWNjZXNzOicgKyBqc29uKTtcbiAgICAgICAgICAgICAgICAgIGNhbGxCYWNrKGpzb24pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGVsc2UgY2FsbEJhY2soZGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnaHR0cCBmYWlsOicgKyB1cmwpO1xuICAgICAgICAgICAgICBjYWxsQmFjayhudWxsKTtcbiAgICAgICAgICB9XG4gICAgICB9O1xuICAgICAgeGhyLnNlbmQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IHsgZGF0YTogYW55IH0pIHtcbiAgcmV0dXJuIHJlc3BvbnNlLmRhdGFcbn1cbi8vIOWTjeW6lOaLpuaIquWZqFxuLy8gUnEuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLnVzZShyZXNwb25zZUhhbmRsZXIpXG5jb25zdCBjb25maWcgPSB7XG4gIGdhbWVJZDogXCIxMDAwMDlcIixcbiAgc2VjcmV0S2V5OiBcIkNNTmhPekJBXCIsXG4gIEVLOlwiaHVpMjMxJTFcIlxufTtcblxuaW50ZXJmYWNlIENyeXBvdG9UeXBlIHtcbiAgZW5jcnlwdEJ5REVTOiBhbnlcbiAgZGVjcnlwdEJ5REVTOiBhbnlcbiAgaG1hY1NoYTI1NjogYW55XG59XG4gXG5jbGFzcyBDcnlwb3RvIGltcGxlbWVudHMgQ3J5cG90b1R5cGUge1xuICAgIC8vIOWKoOWvhueahOWQkeaYjuWAvO+8jOiHquW3seagueaNrumhueebruWunumZheaDheWGteWumu+8jOmcgOimgei3n+WQjuerr+W8gOWPkeS/neaMgeS4gOiHtFxuICAgIHByaXZhdGUga2V5SGV4ID0gdGhpcy5nZXRIZXRLZXkoKVxuIFxuICAgIHByaXZhdGUgZ2V0SGV0S2V5KCkge1xuICAgICAgICByZXR1cm4gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoY29uZmlnLkVLKTtcbiAgICB9XG5cbiAgICAvKiogREVT5Yqg5a+GICovXG4gICAgZW5jcnlwdEJ5REVTKG1lc3NhZ2U6IHN0cmluZywgc2VjcmV0Pzogc3RyaW5nKSB7XG4gICAgICBpZighbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gbWVzc2FnZVxuICAgICAgfVxuICAgICAgY29uc3Qga2V5ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxuICAgICAgY29uc3QgZW5jcnlwdGVkID0gQ3J5cHRvSlMuREVTLmVuY3J5cHQobWVzc2FnZSwga2V5LCB7XG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuRUNCLFxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczdcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGVuY3J5cHRlZC50b1N0cmluZygpXG4gICAgfVxuXG4gICAgLyoqIERFU+ino+WvhiAqL1xuICAgIGRlY3J5cHRCeURFUyhtZXNzYWdlOiBzdHJpbmcsIHNlY3JldD86IHN0cmluZykge1xuICAgICAgY29uc3Qga2V5ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxuXG4gICAgICBjb25zdCBkZWNyeXB0ZWQgPSBDcnlwdG9KUy5ERVMuZGVjcnlwdCh7XG4gICAgICAgIGNpcGhlcnRleHQ6IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2UobWVzc2FnZSlcbiAgICAgIH0sIGtleSwge1xuICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkVDQixcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3XG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gZGVjcnlwdGVkLnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KVxuICAgIH1cblxuICAgIC8qKiBobWFjU0hBMjU25Yqg5a+GICovXG4gICAgaG1hY1NoYTI1NihtZXNzYWdlOiBzdHJpbmcsIHNlY3JldD86IHN0cmluZykge1xuICAgICAgY29uc3Qga2V5SGV4ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxuICAgICAgXG4gICAgICBjb25zdCBoYXNoID0gQ3J5cHRvSlMuSG1hY1NIQTI1NihtZXNzYWdlLCBrZXlIZXgpO1xuICAgICAgcmV0dXJuIGhhc2gudG9TdHJpbmcoKVxuICAgIH1cblxuICAgIC8qKiBobWFjU0hBMjU26aqM6K+BICovXG4gICAgdmVyaWZ5SG1hY1NoYTI1NihtZXNzYWdlOiBzdHJpbmcsIHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBoYXNoID0gQ3J5cHRvSlMuSG1hY1NIQTI1NihtZXNzYWdlLCB0aGlzLmtleUhleCk7XG4gICAgICByZXR1cm4gaGFzaC50b1N0cmluZygpID09PSBzaWduYXR1cmVcbiAgICB9XG4gXG4gICAgLyoqIENCQ+WKoOWvhiAqL1xuICAgIGVuY3J5cHRDQkMod29yZDogc3RyaW5nKSB7XG4gICAgICAgIGlmICghd29yZCkge1xuICAgICAgICAgICAgcmV0dXJuIHdvcmQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3JjcyA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKHdvcmQpO1xuICAgICAgICBjb25zdCBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChzcmNzLCB0aGlzLmtleUhleCwge1xuICAgICAgICAgICAgaXY6IHRoaXMua2V5SGV4LFxuICAgICAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXG4gICAgICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuWmVyb1BhZGRpbmdcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBlbmNyeXB0ZWQudG9TdHJpbmcoKTsgXG4gICAgfVxuIFxuICAgIC8qKiBDQkPop6Plr4YgKi9cbiAgICBkZWNyeXB0Q0JDKHdvcmQ6IHN0cmluZykge1xuICAgICAgICBpZiAoIXdvcmQpIHtcbiAgICAgICAgICAgIHJldHVybiB3b3JkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5IZXgucGFyc2Uod29yZCk7XG4gICAgICAgIGNvbnN0IHNyY3MgPSBDcnlwdG9KUy5lbmMuQmFzZTY0LnN0cmluZ2lmeShlbmNyeXB0ZWRIZXhTdHIpO1xuICAgICAgICBjb25zdCBkZWNyeXB0ID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQoc3JjcywgdGhpcy5rZXlIZXgsIHtcbiAgICAgICAgICAgIGl2OiB0aGlzLmtleUhleCxcbiAgICAgICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxuICAgICAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlplcm9QYWRkaW5nXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZWNyeXB0ZWRTdHIgPSBkZWNyeXB0LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KTtcbiAgICAgICAgcmV0dXJuIGRlY3J5cHRlZFN0ci50b1N0cmluZygpO1xuICAgIH1cbn1cbmNvbnN0IGZ4Q3J5ID0gbmV3IENyeXBvdG8oKTtcblxuZnVuY3Rpb24gaXNFbXB0eShkYXRhKSB7XG4gIHJldHVybiBkYXRhID09PSBcIlwiIHx8IGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkIHx8IGRhdGEubGVuZ3RoID09PSAwIHx8IEpTT04uc3RyaW5naWZ5KGRhdGEpID09IFwie31cIlxufVxuXG5mdW5jdGlvbiBnZXRRdWVyeVN0cmluZyhvYmopIHtcbiAgLy8g6aaW5YWI5a+55a+56LGh55qE6ZSu6L+b6KGM5o6S5bqP5bm26L+H5ruk56m65YC8XG4gIGNvbnN0IHNvcnRlZEtleXMgPSBPYmplY3Qua2V5cyhvYmopLnNvcnQoKTtcbiAgY29uc3Qgc29ydGVkT2JqID0ge307XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc29ydGVkS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpc0VtcHR5KG9ialtzb3J0ZWRLZXlzW2ldXSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBzb3J0ZWRPYmpbc29ydGVkS2V5c1tpXV0gPSBvYmpbc29ydGVkS2V5c1tpXV07XG4gIH1cbiAgXG4gIC8vIOeEtuWQjuWwhuaOkuW6j+WQjueahOWvueixoei9rOaNouS4uuafpeivouWtl+espuS4slxuICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgZm9yIChjb25zdCBrZXkgaW4gc29ydGVkT2JqKSB7XG4gICAgcGFyYW1zLnB1c2goYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNvcnRlZE9ialtrZXldKX1gKTtcbiAgfVxuICByZXR1cm4gcGFyYW1zLmpvaW4oJyYnKTtcbn1cblxuXG4vKipcbiAqIOe7hOijheetvuWQjeWtl+espuS4slxuICogQHBhcmFtIHN0cmluZyB1cmw6IOivt+axguWcsOWdgCBcbiAqIEBwYXJhbSBzdHJpbmcgcG9zdFN0cjogcG9zdOWPguaVsOeahGE9MSZiPTIgXG4gKiBAcmV0dXJucyBcbiAqL1xuXG5mdW5jdGlvbiBnZW5TaWduU3RyKHVybDogc3RyaW5nLCBwb3N0U3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgbGVzc1VybCA9IHVybC5yZXBsYWNlKCc/JywgJycpXG4gIGxlc3NVcmwgPSBsZXNzVXJsICsgXCImXCIgKyBwb3N0U3RyXG4gIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoZnhDcnkuaG1hY1NoYTI1NihsZXNzVXJsKSlcbn1cbi8vIOWvueWPguaVsOi/m+ihjOe7n+S4gHVybGVuY29kZVxuZnVuY3Rpb24gdXJsZW5jb2RlKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgW2Jhc2VVcmwsIHF1ZXJ5U3RyaW5nXSA9IHVybC5zcGxpdChcIj9cIiwgMik7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocXVlcnlTdHJpbmcpO1xuICByZXR1cm4gYCR7YmFzZVVybH0/JHtwYXJhbXMudG9TdHJpbmcoKX1gO1xufVxuXG4vKipcbiAqIFxuICogQHBhcmFtIHVybCB7c3RyaW5nfSDmjqXlj6PlnLDlnYBcbiAqIEBwYXJhbSBwYXJhbXMge29iamVjdH0g6ZyA6KaB5Yqg5a+G55qE5Y+C5pWw5a+56LGhXG4gKi9cbmZ1bmN0aW9uIGFwaVNpZ24odXJsOiBzdHJpbmcsIHBhcmFtcyA9IHt9KSB7XG5cbiAgbGV0IGNvbnZlcnRVcmwgPSB1cmwudHJpbSgpXG4gIGlmIChjb252ZXJ0VXJsLmluZGV4T2YoJz8nKSA9PT0gLTEpIHtcbiAgICBjb252ZXJ0VXJsICs9ICc/J1xuICB9XG4gIFxuICAvLyDkvKDlhaXlj4LmlbDovazmjaLmi7zmjqXlrZfnrKbkuLJcbiAgbGV0IHBvc3RTdHIgPSAgZ2V0UXVlcnlTdHJpbmcocGFyYW1zKVxuIFxuICBjb25zdCBzaWduZWRTdHIgPSBnZW5TaWduU3RyKGNvbnZlcnRVcmwsIHBvc3RTdHIpXG4gIGNvbnN0IGVuY3J5cHRTdHIgPSBgc2lnbj0ke3NpZ25lZFN0cn1gXG5cbiAgbGV0IGVuY3J5cHRTaWduU3RyID0gZnhDcnkuZW5jcnlwdEJ5REVTKGVuY3J5cHRTdHIsIGNvbmZpZy5zZWNyZXRLZXkpXG4gIGVuY3J5cHRTaWduU3RyID0gZW5jb2RlVVJJQ29tcG9uZW50KGVuY3J5cHRTaWduU3RyKVxuXG4gIHJldHVybiBgJHt1cmxlbmNvZGUoY29udmVydFVybCl9Jl9wPSR7ZW5jcnlwdFNpZ25TdHJ9YFxufVxuXG4iXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.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, '7a231Rz0d9LBYYgY3bDYlLB', 'use_v2.1-2.2.1_cc.Toggle_event'); -// migration/use_v2.1-2.2.1_cc.Toggle_event.js - -"use strict"; - -/* - * This script is automatically generated by Cocos Creator and is only used for projects compatible with the v2.1.0 ~ 2.2.1 version. - * You do not need to manually add this script in any other project. - * If you don't use cc.Toggle in your project, you can delete this script directly. - * If your project is hosted in VCS such as git, submit this script together. - * - * 此脚本由 Cocos Creator 自动生成,仅用于兼容 v2.1.0 ~ 2.2.1 版本的工程, - * 你无需在任何其它项目中手动添加此脚本。 - * 如果你的项目中没用到 Toggle,可直接删除该脚本。 - * 如果你的项目有托管于 git 等版本库,请将此脚本一并上传。 - */ -if (cc.Toggle) { - // Whether to trigger 'toggle' and 'checkEvents' events when modifying 'toggle.isChecked' in the code - // 在代码中修改 'toggle.isChecked' 时是否触发 'toggle' 与 'checkEvents' 事件 - cc.Toggle._triggerEventInScript_isChecked = true; -} - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcbWlncmF0aW9uXFx1c2VfdjIuMS0yLjIuMV9jYy5Ub2dnbGVfZXZlbnQuanMiXSwibmFtZXMiOlsiY2MiLCJUb2dnbGUiLCJfdHJpZ2dlckV2ZW50SW5TY3JpcHRfaXNDaGVja2VkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxFQUFFLENBQUNDLE1BQVAsRUFBZTtBQUNYO0FBQ0E7QUFDQUQsRUFBQUEsRUFBRSxDQUFDQyxNQUFILENBQVVDLCtCQUFWLEdBQTRDLElBQTVDO0FBQ0giLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFRoaXMgc2NyaXB0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IENvY29zIENyZWF0b3IgYW5kIGlzIG9ubHkgdXNlZCBmb3IgcHJvamVjdHMgY29tcGF0aWJsZSB3aXRoIHRoZSB2Mi4xLjAg772eIDIuMi4xIHZlcnNpb24uXHJcbiAqIFlvdSBkbyBub3QgbmVlZCB0byBtYW51YWxseSBhZGQgdGhpcyBzY3JpcHQgaW4gYW55IG90aGVyIHByb2plY3QuXHJcbiAqIElmIHlvdSBkb24ndCB1c2UgY2MuVG9nZ2xlIGluIHlvdXIgcHJvamVjdCwgeW91IGNhbiBkZWxldGUgdGhpcyBzY3JpcHQgZGlyZWN0bHkuXHJcbiAqIElmIHlvdXIgcHJvamVjdCBpcyBob3N0ZWQgaW4gVkNTIHN1Y2ggYXMgZ2l0LCBzdWJtaXQgdGhpcyBzY3JpcHQgdG9nZXRoZXIuXHJcbiAqXHJcbiAqIOatpOiEmuacrOeUsSBDb2NvcyBDcmVhdG9yIOiHquWKqOeUn+aIkO+8jOS7heeUqOS6juWFvOWuuSB2Mi4xLjAgfiAyLjIuMSDniYjmnKznmoTlt6XnqIvvvIxcclxuICog5L2g5peg6ZyA5Zyo5Lu75L2V5YW25a6D6aG555uu5Lit5omL5Yqo5re75Yqg5q2k6ISa5pys44CCXHJcbiAqIOWmguaenOS9oOeahOmhueebruS4reayoeeUqOWIsCBUb2dnbGXvvIzlj6/nm7TmjqXliKDpmaTor6XohJrmnKzjgIJcclxuICog5aaC5p6c5L2g55qE6aG555uu5pyJ5omY566h5LqOIGdpdCDnrYnniYjmnKzlupPvvIzor7flsIbmraTohJrmnKzkuIDlubbkuIrkvKDjgIJcclxuICovXHJcblxyXG5pZiAoY2MuVG9nZ2xlKSB7XHJcbiAgICAvLyBXaGV0aGVyIHRvIHRyaWdnZXIgJ3RvZ2dsZScgYW5kICdjaGVja0V2ZW50cycgZXZlbnRzIHdoZW4gbW9kaWZ5aW5nICd0b2dnbGUuaXNDaGVja2VkJyBpbiB0aGUgY29kZVxyXG4gICAgLy8g5Zyo5Luj56CB5Lit5L+u5pS5ICd0b2dnbGUuaXNDaGVja2VkJyDml7bmmK/lkKbop6blj5EgJ3RvZ2dsZScg5LiOICdjaGVja0V2ZW50cycg5LqL5Lu2XHJcbiAgICBjYy5Ub2dnbGUuX3RyaWdnZXJFdmVudEluU2NyaXB0X2lzQ2hlY2tlZCA9IHRydWU7XHJcbn1cclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/GuideManager.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, '3fd2fh6vHNJeISUizW09xat', 'GuideManager'); -// Script/GuideManager.ts - -"use strict"; -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 GameData_1 = require("./GameData"); -var Notification_1 = require("./Notification"); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - var _this = _super !== null && _super.apply(this, arguments) || this; - // LIFE-CYCLE CALLBACKS: - _this.dialog = null; - _this.ball = null; - _this.qiu1 = null; - _this.linePrefab = null; - return _this; - } - // onLoad () {} - NewClass.prototype.start = function () { - GameData_1.default._instance.GM_INFO.custom = 0; - this.init(); - this.startGuide(0); - }; - //初始化数据 - NewClass.prototype.init = function () { - this.custom = 1; - this.ball.zIndex = 100; - this.Pos_Array = []; - this.ball_Array = []; - this.begin = false; - this.clickNow = 0; - this.tip = null; - }; - //开始引导方法 - NewClass.prototype.startGuide = function (type) { - var _this = this; - var num = this.custom; - var time = 0.5; - var name = "tip" + num; - if (type != 0) { - cc.tween(this.node) - .to(time, { opacity: 255 }) - .call(function () { - _this.custom += 1; - if (type != 0) - _this.custom = 2; - if (_this.custom == 2) - _this.createSun1(); - else if (_this.custom == 3) - _this.createSun2(); - else if (_this.custom == 4) - _this.begin = true; - else if (_this.custom == 5) - cc.director.loadScene("GameScene"); - }) - .start(); - } - else { - this.tip = this.dialog.getChildByName(name); - this.tip.active = true; - this.tip.opacity = 0; - cc.tween(this.tip) - .to(time, { opacity: 255 }) - .start(); - } - }; - //清除所有太阳 - NewClass.prototype.beginClick = function () { - for (var i = 0; i < this.ball_Array.length; i++) { - this.ball_Array[i].getComponent("Sun").move = false; - } - }; - //点击开始游戏,或者点击跳过引导 - NewClass.prototype.clickBtn = function () { - cc.director.loadScene("GameScene"); - }; - //点击下一步按钮 - NewClass.prototype.next = function () { - var _this = this; - var time = 0.5; - cc.tween(this.tip) - .to(time, { opacity: 0 }) - .call(function () { - _this.custom += 1; - if (_this.custom == 2) - _this.createSun(true); - else if (_this.custom == 3) - _this.createSun(false); - else if (_this.custom == 4) - _this.begin = true; - else if (_this.custom == 5) - cc.director.loadScene("GameScene"); - }) - .start(); - }; - //创建太阳 - NewClass.prototype.createSun = function (type) { - var _this = this; - if (type == true) { - this.ball_Array = []; - this.Pos_Array.push(cc.v2(-250, -216), cc.v2(200, -115), cc.v2(-35, -500)); - var time1 = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[0].x, this.Pos_Array[0].y); - this.ball.opacity = 0; - cc.tween(this.ball) - .to(time1, { position: this.Pos_Array[0] }) - .call(function () { - _this.createBall(0, 0, 0, false); - }) - .delay(1) - .call(function () { - _this.startGuide(0); - }) - .start(); - } - else { - var time2 = this.calculateDistance(this.Pos_Array[0].x, this.Pos_Array[0].y, this.Pos_Array[1].x, this.Pos_Array[1].y); - var time3 = this.calculateDistance(this.Pos_Array[1].x, this.Pos_Array[1].y, this.Pos_Array[2].x, this.Pos_Array[2].y); - this.ball.opacity = 255; - this.createLine(cc.v2(this.ball.x, this.ball.y), cc.v2(this.Pos_Array[1].x, this.Pos_Array[1].y), 0.5); - cc.tween(this.ball) - .to(time2, { position: this.Pos_Array[1] }) - .call(function () { - _this.createBall(1, 0, 0, false); - }) - .delay(0.5) - .call(function () { - _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.Pos_Array[2].x, _this.Pos_Array[2].y), 0.5); - }) - .to(time3, { position: this.Pos_Array[2] }) - .call(function () { - _this.createBall(2, 0, 0, false); - _this.ball.opacity = 0; - }) - .delay(0.2) - .call(function () { - _this.destroyLine(); - _this.startGuide(0); - }) - .start(); - } - }; - //创建太阳 - NewClass.prototype.createBall = function (number, color, speed, repeat) { - var ball = null; - ball = cc.instantiate(this.qiu1); - ball.parent = this.node.getChildByName("Sun"); - ball.zIndex = this.Pos_Array.length - number; - ball.setPosition(this.ball.x, this.ball.y); - ball.getComponent("Sun").init(number, color, speed, repeat); - ball.getComponent("Sun").move = true; - this.ball_Array.push(ball); - }; - //获取两点之间角度创建连线用 - NewClass.prototype.calculateDistance = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 800) - distance = 800; - var time = distance / 800 * 0.8; - return time; - }; - //引导成功 - NewClass.prototype.passLevel = function () { - var _this = this; - var win = this.node.getChildByName("Win"); - win.active = true; - win.setScale(0); - cc.tween(win) - .delay(0.4) - .to(0.01, { scale: 2.5 }) - .to(0.35, { scale: 1 }) - .delay(0.6) - .call(function () { - win.active = false; - setTimeout(function () { - _this.destroyLine(); - var timeArray = []; - var timeCount = 0; - var ball = _this.ball_Array[0]; - for (var i = 1; i < _this.ball_Array.length; i++) { - var time = _this.calculateDistance(_this.ball_Array[i].x, _this.ball_Array[i].y, _this.ball_Array[i - 1].x, _this.ball_Array[i - 1].y); - timeArray.push(time); - } - var _loop_1 = function (k) { - setTimeout(function () { - cc.tween(ball) - .to(timeArray[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - setTimeout(function () { - _this.ball.opacity = 255; - _this.ball.position = cc.v3(ball.x, ball.y, 0); - _this.ball.active = false; - _this.startGuide(0); - }, 200); - } - }) - .start(); - }, timeCount * 1000); - timeCount += (timeArray[k - 1] + 0.1); - }; - for (var k = 1; k < _this.ball_Array.length; k++) { - _loop_1(k); - } - }, 400); - }) - .start(); - }; - //点击太阳执行方法 - NewClass.prototype.clickSun = function (data) { - var _this = this; - if (this.begin == true) { - if (data == this.clickNow) { - GameData_1.default._instance.AudioManager.playAudioButton(); - if (this.clickNow > 0) { - this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); - } - this.clickNow += 1; - GameData_1.default._instance.GM_INFO.total += 1; - setTimeout(function () { - if (_this.ball_Array[_this.clickNow - 1]) - _this.ball_Array[_this.clickNow - 1].getChildByName("guang").active = false; - }, 200); - if (this.clickNow == 3) { - this.passLevel(); - } - } - else { - this.loseLevel(); - } - } - }; - //失败事件 - NewClass.prototype.loseLevel = function () { - var _this = this; - this.begin = false; - GameData_1.default._instance.AudioManager.playWarning(); - this.destroyLine(); - var ball = this.ball_Array[0]; - var _loop_2 = function (k) { - cc.tween(this_1.ball_Array[k]) - .to(0.6, { x: ball.x, y: ball.y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - _this.ball.opacity = 0; - _this.ball.position = cc.v3(ball.x, ball.y, 0); - _this.clearSun(); - _this.custom = 1; - _this.startGuide(1); - } - }) - .start(); - }; - var this_1 = this; - for (var k = 1; k < this.ball_Array.length; k++) { - _loop_2(k); - } - //结束页面动画 - var over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.25, { opacity: 255 }) - .delay(0.1) - .to(0.2, { opacity: 0 }) - .delay(0.1) - .to(0.15, { opacity: 255 }) - .delay(0.1) - .to(0.1, { opacity: 0 }) - .start(); - }; - //点击太阳事件 - NewClass.prototype.clearSun = function () { - for (var k = 0; k < this.ball_Array.length; k++) { - this.ball_Array[k].removeFromParent(); - this.ball_Array[k] = null; - } - this.ball_Array = []; - }; - //获取时间戳 - NewClass.prototype.getTime = function () { - var timestamp = new Date().getTime(); - return timestamp; - }; - //创造连线,参数起点,终点,连线时间 - NewClass.prototype.createLine = function (start, end, time) { - var line = cc.instantiate(this.linePrefab); - line.parent = this.node.getChildByName("Line"); - line.setPosition(start.x, start.y); - var dx = end.x - start.x; - var dy = end.y - start.y; - var distance = Math.sqrt(dx * dx + dy * dy); - line.height = distance; - line.getComponent(cc.Sprite).fillRange = 0; - line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); - cc.tween(line.getComponent(cc.Sprite)) - .to(time, { fillRange: 1 }) - .start(); - }; - //摧毁连线 - NewClass.prototype.destroyLine = function () { - for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { - if (this.node.getChildByName("Line").children[i]) { - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - }; - //获取两个点之间的角度 用于写连线 确定连线方向 - NewClass.prototype.calculateAngle = function (x1, y1, x2, y2) { - var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; - return -angle; - }; - NewClass.prototype.onEnable = function () { - Notification_1.Notification.on("clickSun", this.clickSun, this); - }; - NewClass.prototype.onDisable = function () { - Notification_1.Notification.off("clickSun", this.clickSun); - }; - __decorate([ - property(cc.Node) - ], NewClass.prototype, "dialog", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "ball", void 0); - __decorate([ - property(cc.Prefab) - ], NewClass.prototype, "qiu1", void 0); - __decorate([ - property(cc.Prefab) - ], NewClass.prototype, "linePrefab", void 0); - 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHdWlkZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0NBQWtDO0FBQ2xDLHVDQUFrQztBQUNsQywrQ0FBOEM7QUFDeEMsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUM7SUFBc0MsNEJBQVk7SUFBbEQ7UUFBQSxxRUFrVEM7UUFqVEcsd0JBQXdCO1FBRXhCLFlBQU0sR0FBWSxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFZLElBQUksQ0FBQztRQUVyQixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDOztJQXlTakMsQ0FBQztJQWxTRyxlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU87SUFDUCx1QkFBSSxHQUFKO1FBQ0ksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxRQUFRO0lBQ1IsNkJBQVUsR0FBVixVQUFXLElBQUk7UUFBZixpQkF3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QUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBQyxFQUFFLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2xCLENBQUM7SUFDRCwyQkFBUSxHQUFSO1FBQ0ksMkJBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELDRCQUFTLEdBQVQ7UUFDSSwyQkFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUE3U0Q7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDSztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7MENBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztnREFDUztJQVRaLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FrVDVCO0lBQUQsZUFBQztDQWxURCxBQWtUQyxDQWxUcUMsRUFBRSxDQUFDLFNBQVMsR0FrVGpEO2tCQWxUb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v5q2k6aG16Z2i5Li65byV5a+86aG16Z2i77yM5ZCO57ut5pu05paw5oiQ5qih5p2/77yM5pqC5pe25YG35oeS5aSN5Yi25Li75ri45oiP5Zy65pmv5Luj56CB6L+b5p2lXHJcbmltcG9ydCBHYW1lRGF0YSBmcm9tICcuL0dhbWVEYXRhJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9Ob3RpZmljYXRpb24nO1xyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGRpYWxvZzogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGJhbGw6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTE6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIGNsaWNrTm93Om51bWJlcjtcclxuICAgIGN1c3RvbTogbnVtYmVyO1xyXG4gICAgUG9zX0FycmF5OiBhbnk7XHJcbiAgICBiYWxsX0FycmF5OiBhbnk7XHJcbiAgICBiZWdpbjogYm9vbGVhbjtcclxuICAgIHRpcDogY2MuTm9kZTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gPSAwO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRHdWlkZSgwKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5jdXN0b20gPSAxO1xyXG4gICAgICAgIHRoaXMuYmFsbC56SW5kZXggPSAxMDA7XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jbGlja05vdyA9IDA7XHJcbiAgICAgICAgdGhpcy50aXAgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgLy/lvIDlp4vlvJXlr7zmlrnms5VcclxuICAgIHN0YXJ0R3VpZGUodHlwZSl7XHJcbiAgICAgICAgbGV0IG51bSA9IHRoaXMuY3VzdG9tO1xyXG4gICAgICAgIGxldCB0aW1lID0gMC41O1xyXG4gICAgICAgIGxldCBuYW1lID0gXCJ0aXBcIiArIG51bTtcclxuICAgICAgICBpZih0eXBlIT0wKXtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlKVxyXG4gICAgICAgICAgICAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlICE9IDApIHRoaXMuY3VzdG9tID0gMjtcclxuICAgICAgICAgICAgICAgIGlmKCB0aGlzLmN1c3RvbSA9PSAyKSAgdGhpcy5jcmVhdGVTdW4xKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSAzKSAgdGhpcy5jcmVhdGVTdW4yKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA0KSAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA1KSBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLnRpcCA9IHRoaXMuZGlhbG9nLmdldENoaWxkQnlOYW1lKG5hbWUpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcC5hY3RpdmUgPSB0cnVlOyB0aGlzLnRpcC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy50aXApXHJcbiAgICAgICAgICAgIC50byh0aW1lLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5riF6Zmk5omA5pyJ5aSq6ZizXHJcbiAgICBiZWdpbkNsaWNrKCl7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vlvIDlp4vmuLjmiI/vvIzmiJbogIXngrnlh7vot7Pov4flvJXlr7xcclxuICAgIGNsaWNrQnRuKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vkuIvkuIDmraXmjInpkq5cclxuICAgIG5leHQoKXtcclxuICAgICAgICBsZXQgdGltZSA9IDAuNTtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLnRpcClcclxuICAgICAgICAudG8odGltZSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5jdXN0b20gKz0gMTtcclxuICAgICAgICAgICAgaWYoIHRoaXMuY3VzdG9tID09IDIpICB0aGlzLmNyZWF0ZVN1bih0cnVlKTtcclxuICAgICAgICAgICAgZWxzZSBpZiggdGhpcy5jdXN0b20gPT0gMykgIHRoaXMuY3JlYXRlU3VuKGZhbHNlKTtcclxuICAgICAgICAgICAgZWxzZSBpZiggdGhpcy5jdXN0b20gPT0gNCkgIHRoaXMuYmVnaW4gPSB0cnVlO1xyXG4gICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA1KSBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIm+W7uuWkqumYs1xyXG4gICAgY3JlYXRlU3VuKHR5cGUpe1xyXG4gICAgICAgIGlmKHR5cGUgPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLlBvc19BcnJheS5wdXNoKGNjLnYyKC0yNTAsLTIxNiksY2MudjIoMjAwLC0xMTUpLGNjLnYyKC0zNSwtNTAwKSk7XHJcbiAgICAgICAgICAgIGxldCB0aW1lMSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksdGhpcy5Qb3NfQXJyYXlbMF0ueCx0aGlzLlBvc19BcnJheVswXS55KVxyXG4gICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKHRpbWUxLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVswXX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKDAsMCwwLGZhbHNlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmRlbGF5KDEpXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgbGV0IHRpbWUyID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLlBvc19BcnJheVswXS54LHRoaXMuUG9zX0FycmF5WzBdLnksdGhpcy5Qb3NfQXJyYXlbMV0ueCx0aGlzLlBvc19BcnJheVsxXS55KVxyXG4gICAgICAgICAgICBsZXQgdGltZTMgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuUG9zX0FycmF5WzFdLngsdGhpcy5Qb3NfQXJyYXlbMV0ueSx0aGlzLlBvc19BcnJheVsyXS54LHRoaXMuUG9zX0FycmF5WzJdLnkpXHJcbiAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsLngsdGhpcy5iYWxsLnkpLGNjLnYyKHRoaXMuUG9zX0FycmF5WzFdLngsdGhpcy5Qb3NfQXJyYXlbMV0ueSksXHJcbiAgICAgICAgICAgIDAuNSk7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKHRpbWUyLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVsxXX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKDEsMCwwLGZhbHNlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmRlbGF5KDAuNSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsLngsdGhpcy5iYWxsLnkpLGNjLnYyKHRoaXMuUG9zX0FycmF5WzJdLngsdGhpcy5Qb3NfQXJyYXlbMl0ueSksXHJcbiAgICAgICAgICAgICAgICAwLjUpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudG8odGltZTMse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5WzJdfSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUJhbGwoMiwwLDAsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC4yKVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHdWlkZSgwKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8v5Yib5bu65aSq6ZizXHJcbiAgICBjcmVhdGVCYWxsKG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpe1xyXG4gICAgICAgIGxldCBiYWxsID0gbnVsbDtcclxuICAgICAgICBiYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUxKTtcclxuICAgICAgICBiYWxsLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlN1blwiKTtcclxuICAgICAgICBiYWxsLnpJbmRleCA9IHRoaXMuUG9zX0FycmF5Lmxlbmd0aCAtIG51bWJlcjtcclxuICAgICAgICBiYWxsLnNldFBvc2l0aW9uKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KTtcclxuICAgICAgICBiYWxsLmdldENvbXBvbmVudChcIlN1blwiKS5pbml0KG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpO1xyXG4gICAgICAgIGJhbGwuZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheS5wdXNoKGJhbGwpO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7Top5LluqbliJvlu7rov57nur/nlKhcclxuICAgIGNhbGN1bGF0ZURpc3RhbmNlKHgxLCB5MSwgeDIsIHkyKSB7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgaWYoZGlzdGFuY2UgPiA4MDApIGRpc3RhbmNlID0gODAwO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBkaXN0YW5jZS84MDAgKiAwLjg7XHJcbiAgICAgICAgcmV0dXJuIHRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvJXlr7zmiJDlip9cclxuICAgIHBhc3NMZXZlbCgpe1xyXG4gICAgICAgIGxldCB3aW4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5cIik7XHJcbiAgICAgICAgd2luLmFjdGl2ZSA9IHRydWU7IHdpbi5zZXRTY2FsZSgwKTtcclxuICAgICAgICBjYy50d2Vlbih3aW4pXHJcbiAgICAgICAgLmRlbGF5KDAuNClcclxuICAgICAgICAudG8oMC4wMSx7c2NhbGU6Mi41fSlcclxuICAgICAgICAudG8oMC4zNSx7c2NhbGU6MX0pXHJcbiAgICAgICAgLmRlbGF5KDAuNilcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgd2luLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgIGxldCB0aW1lQXJyYXkgPSBbXTtcclxuICAgICAgICAgICAgICAgIGxldCB0aW1lQ291bnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGk9MTsgaTwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdGltZSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGltZUFycmF5LnB1c2godGltZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGs9MTsgazwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaysrKXtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWVBcnJheVtrLTFdLHt4OnRoaXMuYmFsbF9BcnJheVtrXS54LHk6dGhpcy5iYWxsX0FycmF5W2tdLnl9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5wb3NpdGlvbiA9IGNjLnYzKGJhbGwueCxiYWxsLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgICAgICB0aW1lQ291bnQgKz0gKHRpbWVBcnJheVtrLTFdKzAuMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIDQwMCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICBpZihkYXRhID09IHRoaXMuY2xpY2tOb3cpe1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkF1ZGlvTWFuYWdlci5wbGF5QXVkaW9CdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS55KSxcclxuICAgICAgICAgICAgICAgICAgICBjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgMC4yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb3cgKz0gMTtcclxuICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsICs9IDE7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0uZ2V0Q2hpbGRCeU5hbWUoXCJndWFuZ1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID09IDMpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc0xldmVsKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+Wksei0peS6i+S7tlxyXG4gICAgbG9zZUxldmVsKCl7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5BdWRpb01hbmFnZXIucGxheVdhcm5pbmcoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgZm9yKGxldCBrPTE7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtrXSlcclxuICAgICAgICAgICAgLnRvKDAuNix7eDpiYWxsLngseTpiYWxsLnl9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyU3VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXN0b20gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHdWlkZSgxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICB9XHJcbiAgICAgICAgLy/nu5PmnZ/pobXpnaLliqjnlLtcclxuICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAudG8oMC4yNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMix7b3BhY2l0eTowfSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjE1LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4xLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vlpKrpmLPkuovku7ZcclxuICAgIGNsZWFyU3VuKCl7XHJcbiAgICAgICAgZm9yKGxldCBrPTA7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bml7bpl7TmiLNcclxuICAgIGdldFRpbWUoKXtcclxuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gdGltZXN0YW1wO1xyXG4gICAgfVxyXG4gICAgLy/liJvpgKDov57nur/vvIzlj4LmlbDotbfngrnvvIznu4jngrnvvIzov57nur/ml7bpl7RcclxuICAgIGNyZWF0ZUxpbmUoc3RhcnQsZW5kLHRpbWUpe1xyXG4gICAgICAgIGxldCBsaW5lID0gY2MuaW5zdGFudGlhdGUodGhpcy5saW5lUHJlZmFiKTtcclxuICAgICAgICBsaW5lLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIik7XHJcbiAgICAgICAgbGluZS5zZXRQb3NpdGlvbihzdGFydC54LHN0YXJ0LnkpO1xyXG4gICAgXHJcbiAgICAgICAgY29uc3QgZHggPSBlbmQueCAtIHN0YXJ0Lng7XHJcbiAgICAgICAgY29uc3QgZHkgPSBlbmQueSAtIHN0YXJ0Lnk7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGxpbmUuaGVpZ2h0ID0gZGlzdGFuY2U7XHJcbiAgICAgICAgbGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgIGxpbmUuYW5nbGUgPSAtdGhpcy5jYWxjdWxhdGVBbmdsZShzdGFydC54LHN0YXJ0LnksZW5kLngsZW5kLnkpO1xyXG4gICAgICAgIGNjLnR3ZWVuKGxpbmUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZToxfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5pGn5q+B6L+e57q/XHJcbiAgICBkZXN0cm95TGluZSgpIHtcclxuICAgICAgICBmb3IobGV0IGkgPTA7IGk8IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW4ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOS4queCueS5i+mXtOeahOinkuW6piDnlKjkuo7lhpnov57nur8g56Gu5a6a6L+e57q/5pa55ZCRXHJcbiAgICBjYWxjdWxhdGVBbmdsZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoeTIteTEseDIteDEpKjE4MCAvIE1hdGguUEkgLSA5MDtcclxuICAgICAgICByZXR1cm4gLWFuZ2xlO1xyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIE5vdGlmaWNhdGlvbi5vbihcImNsaWNrU3VuXCIsIHRoaXMuY2xpY2tTdW4sIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub2ZmKFwiY2xpY2tTdW5cIiwgdGhpcy5jbGlja1N1bik7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/tool/DynamicAtlasManager.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, '3ffacOneORCf6Bc1LFhTCCQ', 'DynamicAtlasManager'); -// Script/tool/DynamicAtlasManager.js - -"use strict"; - -cc.Class({ - "extends": cc.Component, - properties: {}, - onLoad: function onLoad() { - cc.dynamicAtlasManager.enabled = 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxEeW5hbWljQXRsYXNNYW5hZ2VyLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwib25Mb2FkIiwiZHluYW1pY0F0bGFzTWFuYWdlciIsImVuYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUFBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxTQURQO0FBR0xDLEVBQUFBLFVBQVUsRUFBRSxFQUhQO0FBTUxDLEVBQUFBLE1BTkssb0JBTUs7QUFDTkosSUFBQUEsRUFBRSxDQUFDSyxtQkFBSCxDQUF1QkMsT0FBdkIsR0FBaUMsS0FBakM7QUFDSDtBQVJJLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IGNjLkNvbXBvbmVudCxcclxuXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICB9LFxyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcbiAgICAgICAgY2MuZHluYW1pY0F0bGFzTWFuYWdlci5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB9LFxyXG59KTtcclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/GameData.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, 'f2f0bI5PsVI+o18xF6G+KVa', 'GameData'); -// Script/GameData.ts - -"use strict"; -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 _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var GameData = /** @class */ (function (_super) { - __extends(GameData, _super); - function GameData() { - return _super !== null && _super.apply(this, arguments) || this; - } - GameData_1 = GameData; - GameData.prototype.onLoad = function () { - if (GameData_1._instance == null) { - GameData_1._instance = this; - cc.game.addPersistRootNode(this.node); - //设置为常驻,绑定音频以及游戏各类信息 - this.AudioManager = this.node.getComponent('AudioManager'); - } - else { - this.node.destroy(); - return; - } - }; - GameData.prototype.start = function () { - this.GM_INFO_init(); - this.CLICK_init(); - this.LEVEL_INFO_init(); - //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 - this.GAME_DATA = []; - }; - GameData.prototype.GM_INFO_init = function () { - this.GM_INFO = { - // isEnd: false, - mean_Time: 0, - total: 0, - currSeed: 203213, - gameId: '100009', - userId: 200139, - guide: true, - url: "http://api.sparkus.cn", - success: false, - matchId: null, - custom: 0 - }; - }; - GameData.prototype.CLICK_init = function () { - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - totalSunCount: 0, - movedSunCount: 0, - sunSpeed: 0, - overlapSunCount: 0, - colorList: [], - duration: 0, - difficultyLevel: 0, - sunList: [], - stepTimeList: [], - remainder: 120 - }; - }; - GameData.prototype.LEVEL_INFO_init = function () { - this.LEVEL_INFO = [ - { - number: 3, - moveNumber: 0, - moveSpeed: 0, - maxDistance: 200, - maxMove: 1200, - repeat: 0 //是否重叠,现在0 不重叠 1 重叠1个 - }, - { - number: 4, - moveNumber: 0, - moveSpeed: 0, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 4, - moveNumber: 0, - moveSpeed: 0, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 1, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 5, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 3, - moveSpeed: 4, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 4, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 3, - moveSpeed: 4, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 3, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 3, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 5, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 9, - moveNumber: 3, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 9, - moveNumber: 5, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 10, - moveNumber: 5, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 3, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 4, - moveNumber: 0, - moveSpeed: 0, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 4, - moveNumber: 1, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 4, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 4, - moveNumber: 1, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 1, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 5, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 1, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 3, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - } - ]; - }; - var GameData_1; - GameData = GameData_1 = __decorate([ - ccclass - ], GameData); - return GameData; -}(cc.Component)); -exports.default = GameData; - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUUxQztJQUFzQyw0QkFBWTtJQUFsRDs7SUFzUkEsQ0FBQztpQkF0Um9CLFFBQVE7SUFnQnpCLHlCQUFNLEdBQU47UUFDSSxJQUFJLFVBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzVCLFVBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLG9CQUFvQjtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzlEO2FBQ0k7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLE9BQU87U0FDVjtJQUNMLENBQUM7SUFFRCx3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFDaEIsQ0FBQTtJQUNMLENBQUM7SUFFRCwrQkFBWSxHQUFaO1FBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNYLGdCQUFnQjtZQUNoQixTQUFTLEVBQUMsQ0FBQztZQUNYLEtBQUssRUFBQyxDQUFDO1lBQ1AsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFDLFFBQVE7WUFDZixNQUFNLEVBQUMsTUFBTTtZQUNiLEtBQUssRUFBQyxJQUFJO1lBQ1YsR0FB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QUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1NBRUosQ0FBQTtJQUNMLENBQUM7O0lBclJnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBc1I1QjtJQUFELGVBQUM7Q0F0UkQsQUFzUkMsQ0F0UnFDLEVBQUUsQ0FBQyxTQUFTLEdBc1JqRDtrQkF0Um9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVEYXRhIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIHN0YXRpYyBfaW5zdGFuY2U6IGFueTtcclxuICAgIEdNX0lORk86IHt9O1xyXG4gICAgQXVkaW9NYW5hZ2VyOiBhbnk7Ly/pn7PpopHnrqHnkIZcclxuICAgIEdBTUVfREFUQTogYW55W107Ly/lpIfnlKhcclxuICAgIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+WIneWni+W4g+WxgOacgOWkp+enu+WKqOi3neemu1xyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgLy/kuIrmiqXmlbDmja7vvIzmnInnmoTmuLjmiI/kuLrkuIDmlbTlsYDmuLjmiI/kuIDmrKHkuIrmiqXvvIzmnInnmoTkuLrmr4/mrKHmk43kvZzkuIrmiqVcclxuICAgIENMSUNLX0RBVEE6IHsgdHlwZTogbnVtYmVyOyBzdWNjZXNzOiBib29sZWFuOyByb3VuZDogbnVtYmVyOyB0b3RhbFN1bkNvdW50OiBudW1iZXI7IG1vdmVkU3VuQ291bnQ6IG51bWJlcjsgc3VuU3BlZWQ6IG51bWJlcjsgb3ZlcmxhcFN1bkNvdW50OiBudW1iZXI7IGNvbG9yTGlzdDogYW55W107IGR1cmF0aW9uOiBudW1iZXI7IGRpZmZpY3VsdHlMZXZlbDogbnVtYmVyOyBzdW5MaXN0OiBhbnlbXTsgc3RlcFRpbWVMaXN0OiBhbnlbXTsgcmVtYWluZGVyOiBudW1iZXI7IH07XHJcblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICBpZiAoR2FtZURhdGEuX2luc3RhbmNlID09IG51bGwpIHtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlID0gdGhpcztcclxuICAgICAgICAgICAgY2MuZ2FtZS5hZGRQZXJzaXN0Um9vdE5vZGUodGhpcy5ub2RlKTtcclxuICAgICAgICAgICAgLy/orr7nva7kuLrluLjpqbvvvIznu5Hlrprpn7PpopHku6Xlj4rmuLjmiI/lkITnsbvkv6Hmga9cclxuICAgICAgICAgICAgdGhpcy5BdWRpb01hbmFnZXIgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KCdBdWRpb01hbmFnZXInKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuR01fSU5GT19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5DTElDS19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPX2luaXQoKTtcclxuICAgICAgICAvL0dBTUVfREFUQSDlup/lvIPkuobvvIzmmoLml7bkuI3liKDpmaTku6XpmLLlkI7pnaLkv67mlLnlm54g5LiA5pW05bGA5Lyg5LiA5qyhXHJcbiAgICAgICAgdGhpcy5HQU1FX0RBVEEgPSBbXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG5cclxuICAgIEdNX0lORk9faW5pdCgpe1xyXG4gICAgICAgIHRoaXMuR01fSU5GTyA9IHsgXHJcbiAgICAgICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgbWVhbl9UaW1lOjAsICAgICAgICAgICAgICAgIC8v5bmz5Z2H5pS+566t6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsOjAsICAgICAgICAgICAgICAgICAgICAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgICAgICBjdXJyU2VlZDogMjAzMjEzLCAgICAgICAgICAgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICAgICAgZ2FtZUlkOicxMDAwMDknLFxyXG4gICAgICAgICAgICB1c2VySWQ6MjAwMTM5LFxyXG4gICAgICAgICAgICBndWlkZTp0cnVlLCAgICAgICAgICAgICAgICAgLy/mmK/lkKbmnInlvJXlr7xcclxuICAgICAgICAgICAgdXJsOlwiaHR0cDovL2FwaS5zcGFya3VzLmNuXCIsXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgIG1hdGNoSWQ6bnVsbCxcclxuICAgICAgICAgICAgY3VzdG9tOiAwXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBDTElDS19pbml0KCl7XHJcbiAgICAgICAgdGhpcy5DTElDS19EQVRBID0gXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOjEsXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgIHJvdW5kOjAsXHJcbiAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6MCxcclxuICAgICAgICAgICAgbW92ZWRTdW5Db3VudDowLFxyXG4gICAgICAgICAgICBzdW5TcGVlZDowLFxyXG4gICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6MCxcclxuICAgICAgICAgICAgY29sb3JMaXN0OltdLFxyXG4gICAgICAgICAgICBkdXJhdGlvbjowLFxyXG4gICAgICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6MCxcclxuICAgICAgICAgICAgc3VuTGlzdDpbXSxcclxuICAgICAgICAgICAgc3RlcFRpbWVMaXN0OltdLFxyXG4gICAgICAgICAgICByZW1haW5kZXI6MTIwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgTEVWRUxfSU5GT19pbml0KCl7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjozLCAgICAgICAvL+WkqumYs+aAu+aVsCBcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCwgICAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsICAgIC8v5aSq6Ziz56e75Yqo6YCf5bqm562J57qnXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsIC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MCAgICAgICAgLy/mmK/lkKbph43lj6DvvIznjrDlnKgwIOS4jemHjeWPoCAxIOmHjeWPoDHkuKpcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuozpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuInpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlm5vpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjoxLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkupTpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlha3pmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuIPpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlhavpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuZ3pmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuIDpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuozpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuInpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHlm5vpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkupTpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjoxMCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTEgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTIgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDowLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTMgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTQgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTUgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTYgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTcgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTggXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTkgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MixcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMjAgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICBdXHJcbiAgICB9XHJcbn1cclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Load.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, '454adgphRpA6oq5lB6Cg1fK', 'Load'); -// Script/Load.ts - -"use strict"; -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 _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; -var GameData_1 = require("./GameData"); -var Storage_1 = require("./Storage"); -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - NewClass.prototype.start = function () { - this.Authentication(); - }; - //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上 - NewClass.prototype.Authentication = function () { - var userId = Storage_1.StorageMessage.getStorage("user"); - if (userId == "undifend" || userId == null || userId == "") { - this.setUserId(); - } - else { - var data = Storage_1.StorageMessage.getStorage("user"); - data = this.getUserId(data); - var timestamp = parseInt(new Date().getTime() / 1000 + ""); - if ((timestamp - data[2]) > 86400) { - this.setUserId(); - return; - } - GameData_1.default._instance.GM_INFO.userId = parseInt(data[1]); - } - }; - //设置userId,链接有获取,没有跳转授权 - NewClass.prototype.setUserId = function () { - GameData_1.default._instance.GM_INFO.userId = this.getUserId(null); - if (GameData_1.default._instance.GM_INFO.userId == null) { - var url = "http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; - window.location.href = url; - } - else { - var timestamp = parseInt(new Date().getTime() / 1000 + ""); - var idTemp = "gameId=" + GameData_1.default._instance.GM_INFO.gameId + - "?userId= " + GameData_1.default._instance.GM_INFO.userId + "?time=" + timestamp; - Storage_1.StorageMessage.setStorage("user", idTemp); - GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); - } - }; - //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId - NewClass.prototype.getUserId = function (str) { - var pathStr = window.location.search; - var arr = pathStr.split("&"); - if (str != null) - arr = pathStr.split("?"); - if (pathStr.length >= 0 && arr.length > 0) { - var arr2_1 = []; - arr.map(function (item) { - arr2_1.push(item.split("=")[1]); - }); - return str == null ? arr2_1[0] : arr2_1; - } - else { - return null; - } - }; - //开始游戏,跳转至引导页面 - NewClass.prototype.startGame = function () { - cc.director.loadScene("GuideScene"); - }; - //备用,用来测试跳转 指定关卡 - NewClass.prototype.clickBtn = function (event, data) { - GameData_1.default._instance.GM_INFO.custom = parseInt(data); - cc.director.loadScene("GameScene"); - }; - //打开排行榜 - NewClass.prototype.openRank = function () { - cc.director.loadScene("RankScene"); - }; - 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBQzVELHVDQUFrQztBQUNsQyxxQ0FBMkM7QUFHM0M7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBbUVBLENBQUM7SUFqRUcsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0RBQWdEO0lBQ3hDLGlDQUFjLEdBQXRCO1FBQ0ksSUFBSSxNQUFNLEdBQUcsd0JBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBRyxNQUFNLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBRSxJQUFJLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7YUFDRztZQUNBLElBQUksSUFBSSxHQUFHLHdCQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBQztnQkFDN0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixPQUFPO2FBQ1Y7WUFDRCxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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InNvdXJjZXNDb250ZW50IjpbIlxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHksIHJlcXVpcmVDb21wb25lbnR9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVEYXRhIGZyb20gXCIuL0dhbWVEYXRhXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VNZXNzYWdlIH0gZnJvbSBcIi4vU3RvcmFnZVwiO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/pibTmnYPvvIzliKTmlq3mnInml6DnvJPlrZh1c2VyaWQs5pyJ55qE6K+d5Yik5pat5piv5ZCm6L+H5pyf77yM5rKh5pyJ55qE6K+d6YeN5paw6I635Y+WdXNlcmlkIOW5tuS4lOe8k+WtmOS4ilxyXG4gICAgcHJpdmF0ZSBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGxldCB1c2VySWQgPSBTdG9yYWdlTWVzc2FnZS5nZXRTdG9yYWdlKFwidXNlclwiKTtcclxuICAgICAgICBpZih1c2VySWQgPT0gXCJ1bmRpZmVuZFwiIHx8IHVzZXJJZD09bnVsbCB8fCB1c2VySWQgPT0gXCJcIil7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VXNlcklkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcInVzZXJcIik7XHJcbiAgICAgICAgICAgIGRhdGEgPSB0aGlzLmdldFVzZXJJZChkYXRhKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVzdGFtcCA9IHBhcnNlSW50KG5ldyBEYXRlKCkuZ2V0VGltZSgpLzEwMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgaWYoKHRpbWVzdGFtcCAtIGRhdGFbMl0pID4gODY0MDApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRVc2VySWQoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPSBwYXJzZUludChkYXRhWzFdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+iuvue9rnVzZXJJZCzpk77mjqXmnInojrflj5bvvIzmsqHmnInot7PovazmjojmnYNcclxuICAgIHByaXZhdGUgc2V0VXNlcklkKCl7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID0gdGhpcy5nZXRVc2VySWQobnVsbCk7XHJcbiAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID09IG51bGwpe1xyXG4gICAgICAgICAgICBsZXQgdXJsID0gXCJodHRwOi8vYXBpLnNwYXJrdXMuY24vYXBpL3VzZXIvYXV0aC9sb2dpbj9kb21haW49aHVpMzI1NzlXZFlQc2dZcSZjYWxsYmFjaz1cIitsb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgbGV0IHRpbWVzdGFtcCA9IHBhcnNlSW50KG5ldyBEYXRlKCkuZ2V0VGltZSgpLzEwMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgbGV0IGlkVGVtcCA9IFwiZ2FtZUlkPVwiICsgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkICsgXHJcbiAgICAgICAgICAgIFwiP3VzZXJJZD0gXCIgKyBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgKyBcIj90aW1lPVwiICsgdGltZXN0YW1wO1xyXG4gICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwidXNlclwiLGlkVGVtcCk7XHJcbiAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCA9IHBhcnNlSW50KEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ojrflj5Z1c2VyIGlkIOacieWPguaVsOS4uuiOt+WPlmdhbWVpZCB1c2VyaWQg5pe26Ze05oiz77yMIOaXoOWPguaVsOS4uuWPquiOt+WPlumTvuaOpeWwvue8gOS4iueahHVzZXJJZFxyXG4gICAgcHJpdmF0ZSBnZXRVc2VySWQoc3RyKSB7ICAgIFxyXG4gICAgICAgIGxldCBwYXRoU3RyID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaDtcclxuICAgICAgICBsZXQgYXJyPXBhdGhTdHIuc3BsaXQoXCImXCIpO1xyXG4gICAgICAgIGlmKHN0ciAhPSBudWxsKSBhcnI9cGF0aFN0ci5zcGxpdChcIj9cIik7XHJcbiAgICAgICAgaWYgKHBhdGhTdHIubGVuZ3RoPj0gMCYmYXJyLmxlbmd0aD4wKSB7XHJcbiAgICAgICAgICAgIGxldCBhcnIyPVtdO1xyXG4gICAgICAgICAgICBhcnIubWFwKGl0ZW09PntcclxuICAgICAgICAgICAgICAgIGFycjIucHVzaChpdGVtLnNwbGl0KFwiPVwiKVsxXSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgcmV0dXJuIHN0ciA9PSBudWxsID8gYXJyMlswXTphcnIyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lvIDlp4vmuLjmiI/vvIzot7Povazoh7PlvJXlr7zpobXpnaJcclxuICAgIHN0YXJ0R2FtZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkd1aWRlU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+Wkh+eUqO+8jOeUqOadpea1i+ivlei3s+i9rCDmjIflrprlhbPljaFcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSA9IHBhcnNlSW50KGRhdGEpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH0gICBcclxuICAgIC8v5omT5byA5o6S6KGM5qacXHJcbiAgICBvcGVuUmFuaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIlJhbmtTY2VuZVwiKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Notification.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, 'f2518+0IHRGOY+ueIhGtEeA', 'Notification'); -// Script/Notification.ts - -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Notification = void 0; -//全局通知 -var Notification = { - _eventMap: [], - on: function (masgId, callback, target) { - if (this._eventMap[masgId] === undefined) { - this._eventMap[masgId] = []; - } - this._eventMap[masgId].push({ callback: callback, target: target }); - }, - emit: function (masgId, parameter) { - var array = this._eventMap[masgId]; - if (array === undefined) - return; - for (var i = 0; i < array.length; i++) { - var element = array[i]; - if (element) - element.callback.call(element.target, parameter); - } - }, - off: function (masgId, callback) { - var array = this._eventMap[masgId]; - if (array === undefined) - return; - for (var i = 0; i < array.length; i++) { - var element = array[i]; - if (element && element.callback === callback) { - array[i] = undefined; - break; - } - } - }, - offMasgId: function (masgId) { - this._eventMap[masgId] = undefined; - }, - removeAllMsg: function () { - for (var k in this._eventMap) { - if (this._eventMap[k]) { - this.offMasgId(k); - } - } - } -}; -exports.Notification = Notification; - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxOb3RpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsTUFBTTtBQUNOLElBQUksWUFBWSxHQUFHO0lBQ2YsU0FBUyxFQUFFLEVBQUU7SUFDYixFQUFFLEVBQUUsVUFBVSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU07UUFDbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxFQUFFLFVBQVUsTUFBTSxFQUFFLFNBQVM7UUFDN0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUVoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsSUFBSSxPQUFPO2dCQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDakU7SUFDTCxDQUFDO0lBRUQsR0FBRyxFQUFFLFVBQVUsTUFBTSxFQUFFLFFBQVE7UUFDM0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUNoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7Z0JBQzFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7Z0JBQ3JCLE1BQU07YUFDVDtTQUNKO0lBQ0wsQ0FBQztJQUVELFNBQVMsRUFBRSxVQUFVLE1BQU07UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVksRUFBRTtRQUNWLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckI7U0FDSjtJQUNMLENBQUM7Q0FDSixDQUFDO0FBRU8sb0NBQVkiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvL+WFqOWxgOmAmuefpVxudmFyIE5vdGlmaWNhdGlvbiA9IHtcbiAgICBfZXZlbnRNYXA6IFtdLFxuICAgIG9uOiBmdW5jdGlvbiAobWFzZ0lkLCBjYWxsYmFjaywgdGFyZ2V0KSB7XG4gICAgICAgIGlmICh0aGlzLl9ldmVudE1hcFttYXNnSWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50TWFwW21hc2dJZF0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdLnB1c2goeyBjYWxsYmFjazogY2FsbGJhY2ssIHRhcmdldDogdGFyZ2V0IH0pO1xuICAgIH0sXG5cbiAgICBlbWl0OiBmdW5jdGlvbiAobWFzZ0lkLCBwYXJhbWV0ZXIpIHtcbiAgICAgICAgbGV0IGFycmF5ID0gdGhpcy5fZXZlbnRNYXBbbWFzZ0lkXTtcbiAgICAgICAgaWYgKGFycmF5ID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9IGFycmF5W2ldO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQuY2FsbGJhY2suY2FsbChlbGVtZW50LnRhcmdldCwgcGFyYW1ldGVyKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBvZmY6IGZ1bmN0aW9uIChtYXNnSWQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGxldCBhcnJheSA9IHRoaXMuX2V2ZW50TWFwW21hc2dJZF07XG4gICAgICAgIGlmIChhcnJheSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gYXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNhbGxiYWNrID09PSBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGFycmF5W2ldID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIG9mZk1hc2dJZDogZnVuY3Rpb24gKG1hc2dJZCkge1xuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdID0gdW5kZWZpbmVkO1xuICAgIH0sXG5cbiAgICByZW1vdmVBbGxNc2c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChsZXQgayBpbiB0aGlzLl9ldmVudE1hcCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2V2ZW50TWFwW2tdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vZmZNYXNnSWQoayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgeyBOb3RpZmljYXRpb24gfTsiXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/GameManager.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, 'b0432BA295DjIOcuitdGKO1', 'GameManager'); -// Script/GameManager.ts - -"use strict"; -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 _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var GameData_1 = require("./GameData"); -var Notification_1 = require("./Notification"); -var serverAPI_1 = require("./crypto/serverAPI"); -var GameManager = /** @class */ (function (_super) { - __extends(GameManager, _super); - function GameManager() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.ball = null; - _this.qiu1 = null; - _this.qiu2 = null; - _this.qiu3 = null; - _this.linePrefab = null; - _this.hit = null; - _this.bg1 = null; - _this.bg2 = null; - _this.time = null; - _this.begin = false; - _this.fuhuo = false; - _this.over = false; - _this.show = false; - _this.levelLabel = null; - return _this; - } - GameManager.prototype.onLoad = function () { }; - GameManager.prototype.start = function () { - this.fit(); - this.init(); - }; - //初始化数据 - GameManager.prototype.init = function () { - this.node.getChildByName("GameOver").zIndex = 100; - this.node.getChildByName("GameOver").active = false; - this.ball.zIndex = 100; - this.bg1 = this.node.getChildByName("bg1"); - this.bg2 = this.node.getChildByName("bg2"); - this.time = this.node.getChildByName("Top").getChildByName("time").getComponent(cc.Label); - this.node.getChildByName("showBtn").active = false; - this.begin = false; - this.over = false; - this.fuhuo = true; - this.pause = true; - this.show = false; - this.round = 0; - this.level = 2; - this.countTime = 60; - if (GameData_1.default._instance.GM_INFO.custom != 0) { - this.level = GameData_1.default._instance.GM_INFO.custom; - // this.levelLabel.string = this.level + ""; - GameData_1.default._instance.GM_INFO.custom += 1; - this.countTime = 12000000; - } - // this.levelLabel.string = this.level + ""; - this.timeCount = 0.1; - this.clickNow = 0; - this.clickCount = 0; - this.timeStart = 0; - this.repeat = -1; - this.numberRepeat = -1; - this.route_Array = []; - this.moveArray = []; - this.now_Array = []; - this.ball_Array = []; - this.Pos_Array = []; - this.time_Array = []; - this.color_Array = []; - GameData_1.default._instance.GAME_DATA = []; - GameData_1.default._instance.GM_INFO.success = false; - this.startTime = 0; - this.overTime = 0; - this.winTime = 0; - GameData_1.default._instance.GM_INFO.total = 0; - GameData_1.default._instance.GM_INFO.mean_Time = 0; - this.schedule(this.updateCountDownTime, 1); - this.startGame(); - }; - //根据是否全面屏,做独立适配方面 - GameManager.prototype.fit = function () { - this.fitTop = 450; //600 - this.fitBot = -600; //-700 - var jg = this.setFit(); - if (!jg) { - this.fitTop = 600; - this.fitBot = -700; - } - }; - //判断全面屏 - GameManager.prototype.getSetScreenResolutionFlag = function () { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if ((height / width) > (16.2 / 9)) - return false; - return true; - }; - //判断全面屏适配 - GameManager.prototype.setFit = function () { - var flag = this.getSetScreenResolutionFlag(); - if (flag) { - } - else { - } - return flag; - }; - //返回首页 - GameManager.prototype.backScene = function () { - cc.director.loadScene("LoadScene"); - }; - //下一关,或者重新开始,或者返回上一关,根据level决定 - GameManager.prototype.reStart = function (type) { - // if(GameData._instance.GM_INFO.custom != 0){ - // cc.director.loadScene("LoadScene"); - // return; - // } - this.node.getChildByName("showBtn").active = false; - this.destroyLine(); - this.timeCount = 0.1; - this.clickNow = 0; - this.timeStart = 0; - this.repeat = -1; - this.numberRepeat = -1; - this.begin = false; - this.route_Array = []; - this.now_Array = []; - this.ball_Array = []; - this.Pos_Array = []; - this.moveArray = []; - this.time_Array = []; - this.color_Array = []; - if (type == 0) { - this.bgMove(1); - } - else if (type == 1) { - this.startGame(); - } - else if (type == 2) { - this.bgMove(-1); - } - }; - //获取时间戳 - GameManager.prototype.getTime = function () { - var timestamp = new Date().getTime(); - return timestamp; - }; - //获胜 - GameManager.prototype.passLevel = function () { - var _this = this; - this.destroyLine(); - if (this.over == false && this.countTime >= 0) { - var timeArray_1 = []; - var timeCount = 0; - var ball_1 = this.ball_Array[0]; - for (var i = 1; i < this.ball_Array.length; i++) { - var time = this.calculateDistance(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y, 2); - timeArray_1.push(time); - } - var _loop_1 = function (k) { - setTimeout(function () { - cc.tween(ball_1) - .to(timeArray_1[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - setTimeout(function () { - _this.ball.opacity = 255; - _this.ball.position = cc.v3(ball_1.x, ball_1.y, 0); - ball_1.active = false; - _this.clearSun(); - _this.reStart(0); - }, 200); - } - }) - .start(); - }, timeCount * 1000); - timeCount += (timeArray_1[k - 1] + 0.1); - }; - for (var k = 1; k < this.ball_Array.length; k++) { - _loop_1(k); - } - } - }; - //失败 - GameManager.prototype.loseLevel = function (type) { - var _this = this; - this.destroyLine(); - if (this.over == false && this.countTime >= 0) { - var ball_2 = this.ball_Array[0]; - var _loop_2 = function (k) { - cc.tween(this_1.ball_Array[k]) - .to(2, { x: ball_2.x, y: ball_2.y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - _this.ball.opacity = 255; - _this.ball.position = cc.v3(ball_2.x, ball_2.y, 0); - _this.clearSun(); - _this.reStart(type); - } - }) - .start(); - }; - var this_1 = this; - for (var k = 1; k < this.ball_Array.length; k++) { - _loop_2(k); - } - } - }; - //清理太阳 - GameManager.prototype.clearSun = function () { - for (var k = 0; k < this.ball_Array.length; k++) { - this.ball_Array[k].removeFromParent(); - this.ball_Array[k] = null; - } - }; - //点击太阳执行方法 - GameManager.prototype.clickSun = function (data) { - var _this = this; - if (this.begin == true) { - this.clickCount += 1; - var clickTime = this.getTime(); - this.time_Array.push((clickTime - this.timeStart)); - this.timeStart = this.getTime(); - if (data == this.clickNow) { - GameData_1.default._instance.AudioManager.playAudioButton(); - if (this.clickNow > 0) { - this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); - } - this.clickNow += 1; - if (this.ball_Array[this.clickNow - 1]) - this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; - if (this.clickNow == this.now_Array.length) { - this.pause = true; - GameData_1.default._instance.GM_INFO.total += this.clickNow; - this.overTime = this.getTime(); - if (this.startTime > 0 && this.overTime > 0) { - GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); - } - var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); - this.startTime = 0; - this.overTime = 0; - var color = "y"; - if (this.level < 4 && this.level > 1) - color = "yr"; - else if (this.level >= 4) - color = "yrb"; - var win_1 = this.node.getChildByName("Win"); - win_1.active = true; - win_1.setScale(0); - GameData_1.default._instance.AudioManager.playWin(); - this.round += 1; - var sunArray = []; - if (this.moveArray.length > 0) { - for (var m = 0; m < this.moveArray.length; m++) { - if (m == this.repeat || m == this.numberRepeat) { - this.moveArray[m] = 2; - } - sunArray.push(this.moveArray[m]); - } - } - else { - for (var m = 0; m < this.ball_Array.length; m++) { - if (m == this.repeat || m == this.numberRepeat) { - sunArray.push(2); - } - else - sunArray.push(0); - } - } - GameData_1.default._instance.CLICK_DATA = - { - type: 1, - success: true, - round: this.round, - totalSunCount: this.now_Array.length, - movedSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveNumber, - sunSpeed: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveSpeed, - overlapSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].repeat, - colorList: this.color_Array, - duration: finish_time / 10, - difficultyLevel: this.level, - sunList: sunArray, - stepTimeList: this.time_Array, - remainder: this.countTime - }; - this.setData(); - cc.tween(win_1) - .delay(0.4) - .to(0.01, { scale: 2.5 }) - .to(0.35, { scale: 1 }) - .delay(0.4) - .call(function () { - win_1.active = false; - _this.destroyLine(); - if (_this.over == false && _this.countTime >= 0) { - if (_this.level >= 15) { - GameData_1.default._instance.GM_INFO.success = true; - _this.level += 0; - // this.levelLabel.string = this.level + ""; - _this.fuhuo = true; - _this.passLevel(); - } - else { - _this.level += 1; - // this.levelLabel.string = this.level + ""; - _this.fuhuo = true; - _this.passLevel(); - } - } - }) - .start(); - } - } - else { - this.setLoss(); - } - } - }; - //执行失败 - GameManager.prototype.setLoss = function () { - GameData_1.default._instance.AudioManager.playWarning(); - this.begin = false; - this.overTime = this.getTime(); - if (this.startTime > 0 && this.overTime > 0) { - GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); - } - var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); - this.startTime = 0; - this.overTime = 0; - var color = "y"; - if (this.level < 4 && this.level > 1) - color = "yr"; - else if (this.level >= 4) - color = "yrb"; - this.round += 1; - var sunArray = []; - if (this.moveArray.length > 0) { - for (var m = 0; m < this.moveArray.length; m++) { - if (m == this.repeat || m == this.numberRepeat) { - this.moveArray[m] = 2; - } - sunArray.push(this.moveArray[m]); - } - } - else { - for (var m = 0; m < this.ball_Array.length; m++) { - if (m == this.repeat || m == this.numberRepeat) { - sunArray.push(2); - } - else - sunArray.push(0); - } - } - GameData_1.default._instance.CLICK_DATA = - { - type: 1, - success: false, - round: this.round, - totalSunCount: this.now_Array.length, - movedSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveNumber, - sunSpeed: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveSpeed, - overlapSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].repeat, - colorList: this.color_Array, - duration: finish_time / 10, - difficultyLevel: this.level, - sunList: sunArray, - stepTimeList: this.time_Array, - remainder: this.countTime - }; - this.setData(); - if (this.fuhuo == true) { - this.fuhuo = false; - this.loseLevel(1); - } - else { - if (this.level > 2) { - this.level -= 1; - // this.levelLabel.string = this.level + ""; - this.fuhuo = true; - // this.fuhuo = false; - this.loseLevel(2); - } - else { - this.loseLevel(1); - } - } - var over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.25, { opacity: 255 }) - .delay(0.1) - .to(0.2, { opacity: 0 }) - .delay(0.1) - .to(0.15, { opacity: 255 }) - .delay(0.1) - .to(0.1, { opacity: 0 }) - .start(); - }; - //开始游戏 - GameManager.prototype.startGame = function () { - if (this.over == false && this.countTime > 0) { - this.pause = true; - this.createSun(); - this.begin = false; - cc.tween(this.ball) - .to(0.5, { opacity: 255, scale: 1.3 }) - .start(); - } - }; - //执行太阳运行动画,以及后面移动动画 - GameManager.prototype.runGame = function () { - var _this = this; - var time = -650; - var _loop_3 = function (i) { - time = this_2.now_Array[i].time * 1000 + time; - setTimeout(function () { - if (_this.over == false) { - var temp = _this.now_Array[i].timeCount; - if (temp > 0.5) - temp = 0.5; - if (i != 0) { - if (_this.ball && _this.now_Array[i]) { - _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.now_Array[i].x, _this.now_Array[i].y), _this.now_Array[i].time - temp); - } - } - cc.tween(_this.ball) - .to(_this.now_Array[i].time - temp, { x: _this.now_Array[i].x, y: _this.now_Array[i].y }) - .to(0.1, { scale: 1 }) - .call(function () { - _this.createBall(i, _this.now_Array[i].color, _this.now_Array[i].speed, _this.now_Array[i].repeat); - if (i == _this.now_Array.length - 1) { - _this.ball.opacity = 0; - setTimeout(function () { - _this.destroyLine(); - _this.beginGame(); - if (GameData_1.default._instance.LEVEL_INFO[_this.level - 1].moveNumber < 1) { - _this.pause = false; - } - else { - _this.moveAction(); - } - }, 150); - } - }) - .start(); - } - }, time); - }; - var this_2 = this; - for (var i = 0; i < this.now_Array.length; i++) { - _loop_3(i); - } - }; - //设置移动重叠数据 - GameManager.prototype.createMove = function () { - var _this = this; - if (this.over == false) { - var info = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; - //改变移动速度 - var speed = 7; - if (info.moveSpeed >= 2) { - speed = 7 - info.moveSpeed / 2; - } - if (info.repeat == 1) { - this.repeat = parseInt((Math.random() * (info.number - 1) + 1) + ""); - var tempNumber = 0; - // this.repeat = 4; - if (this.repeat > 4) { - this.numberRepeat = parseInt(Math.random() * 4 + ""); - if (this.repeat == (info.number - 1)) //如果是最后一个 不能跟第一个重叠 - this.numberRepeat = this.repeat - parseInt((Math.random() * 3 + 2) + ""); - tempNumber = this.Pos_Array[this.numberRepeat]; - this.Pos_Array[this.repeat] = tempNumber; - } - else { // 0 1 2 3 4 5 - // 6 - 3 - 1 = 2 4 01 4 - if (this.repeat == 0) - this.repeat = 1; - if ((info.number - 1 - this.repeat) == 2) { - this.numberRepeat = info.number - 1; - tempNumber = this.Pos_Array[this.numberRepeat]; - } - else if ((info.number - 1 - this.repeat) == 1) { - this.numberRepeat = this.repeat - 2; - tempNumber = this.Pos_Array[this.numberRepeat]; - } - else if ((info.number - 1 - this.repeat) == 0) { - this.numberRepeat = this.repeat - 2; - tempNumber = this.Pos_Array[this.numberRepeat]; - } - else if ((info.number - 1 - this.repeat) > 2) { - this.numberRepeat = parseInt(Math.random() * (info.number - this.repeat - 2) + "") + this.repeat + 2; - tempNumber = this.Pos_Array[this.numberRepeat]; - } - else { - this.numberRepeat = this.repeat - 2; - tempNumber = this.Pos_Array[this.numberRepeat]; - } - this.Pos_Array[this.repeat] = tempNumber; - } - } - if (info.moveNumber > 0) { - //0 1 2 3 4 5 6 7 8 9 - //可移动区分 - var pos_1 = cc.v2(0, 0); - for (var z = 0; z < info.number; z++) { - this.moveArray[z] = 0; - } - for (var p = 0; p < info.moveNumber; p++) { - this.moveArray[info.number - 1 - p] = 1; - } - var timeOut = 0; - //打乱可移动顺序 - this.moveArray.sort(function () { return Math.random() - 0.5; }); - if (this.moveArray[0] == 1) { - for (var r = info.number - 1; r >= 0; r--) { - if (this.moveArray[r] == 0) { - this.moveArray[r] = 1; - this.moveArray[0] = 0; - r = -1; - } - } - } - //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 - for (var k = 0; k < this.moveArray.length; k++) { - if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { - for (var m = this.moveArray.length - 1; m >= 0; m--) { - if (m != k && this.moveArray[m] == 0 && m != this.repeat && m != this.numberRepeat) { - this.moveArray[m] = 1; - this.moveArray[k] = 0; - m = -1; - } - } - } - } - var _loop_4 = function (i) { - if (this_3.moveArray[i] == 1) { - timeOut += 1; - setTimeout(function () { - pos_1 = _this.getPos2(true, i); - _this.Pos_Array[i] = pos_1; - }, timeOut * 300); - } - }; - var this_3 = this; - for (var i = 0; i < this.Pos_Array.length; i++) { - _loop_4(i); - } - } - } - }; - //移动后数据 重新刷一遍赋值 - GameManager.prototype.updateArray = function () { - for (var i = 0; i < this.now_Array.length - 1; i++) { - this.now_Array[i].x = this.Pos_Array[i].x; - this.now_Array[i].y = this.Pos_Array[i].y; - } - }; - //太阳初始化后移动方法 - GameManager.prototype.moveAction = function () { - var _this = this; - this.updateArray(); - var moveArray = this.moveArray; - var info = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; - //改变移动速度 - var speed = 7; - if (info.moveSpeed >= 2) { - speed = 7 - info.moveSpeed / 2; - } - if (info.moveNumber > 0) { - //0 1 2 3 4 5 6 7 8 9 - //可移动区分 - //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 - for (var k = 0; k < this.moveArray.length; k++) { - if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { - for (var m = this.moveArray.length - 1; m >= 0; m--) { - if (m != k && this.moveArray[m] == 0 && m != this.repeat && m != this.numberRepeat) { - this.moveArray[m] = 1; - this.moveArray[k] = 0; - m = -1; - } - } - } - } - var lastNumber = 0; - //锁定最后一个可移动的 - for (var j = 0; j < moveArray.length; j++) { - if (moveArray[j] == 1) { - lastNumber = j; - } - } - var _loop_5 = function (i) { - if (moveArray[i] == 1) { - if (i != lastNumber) { //如果不是最后一个移动的 - var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); - this_4.ball_Array[i].getComponent("Sun").move = true; - cc.tween(this_4.ball_Array[i]) - .to(time, { position: this_4.Pos_Array[i] }) - .call(function () { - _this.ball_Array[i].getComponent("Sun").move = false; - }) - .start(); - } - //如果是最后一个 - else { - var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); - this_4.ball_Array[i].getComponent("Sun").move = true; - cc.tween(this_4.ball_Array[i]) - .to(time, { position: this_4.Pos_Array[i] }) - .call(function () { - _this.ball_Array[i].getComponent("Sun").move = false; - }) - .start(); - } - } - }; - var this_4 = this; - for (var i = 0; i < this.ball_Array.length; i++) { - _loop_5(i); - } - } - }; - //每次重新开始新一轮儿游戏 - GameManager.prototype.beginGame = function () { - this.begin = true; - this.startTime = this.getTime(); - this.timeStart = this.getTime(); - this.pause = false; - // this.node.getChildByName("showBtn").active = true; - }; - //暂时作废 - // getRandomArray(lastNumber){ - // let num = parseInt(Math.random()*8 - 4 + ""); - // let jg = num + lastNumber; - // if(num > 1 || num <-1){ - // if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){ - // jg = this.getRandomArray(lastNumber); - // } - // } - // else{ - // jg = this.getRandomArray(lastNumber); - // } - // return jg; - // } - //创建太阳所需数据 - GameManager.prototype.createSun = function () { - var _this = this; - var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; - var tiemOut = 0; - var _loop_6 = function (l) { - tiemOut += 1; - setTimeout(function () { - if (_this.over == false) { - var pos = _this.getPos(false, l); - _this.Pos_Array.push(pos); - if (_this.Pos_Array.length == levelData.number) { - _this.createMove(); - _this.createPos(); - } - } - }, tiemOut * 100); - }; - for (var l = 0; l < levelData.number; l++) { - _loop_6(l); - } - }; - //创建太阳位置,颜色信息等数据 - GameManager.prototype.createPos = function () { - var data = { x: this.ball.x, y: this.ball.y, time: 0, timeCount: 0, color: 0, speed: 0, repeat: false }; - var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; - //颜色区分 - var colorArray = [0, 1]; - for (var j = 0; j < levelData.number - 2; j++) { - var colorTemp = parseInt(Math.random() * 3 + ""); - if (levelData.number < 6 && colorTemp == 2) - colorTemp = 0; - colorArray.push(colorTemp); - colorArray.sort(function () { return Math.random() - 0.5; }); - } - colorArray.sort(function () { return Math.random() - 0.5; }); - if (levelData.number == 4) - colorArray = [0, 0, 0, 0]; - this.color_Array = colorArray; - //存储太阳数据 - for (var i = 0; i < levelData.number; i++) { - var timeCount = this.timeCount + (0.6 - this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1)); - var time = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1) + timeCount; - data = { x: this.Pos_Array[i].x, y: this.Pos_Array[i].y, time: time, timeCount: timeCount, color: colorArray[i], speed: levelData.moveSpeed, repeat: false }; - if (this.repeat == i) { - data.repeat = true; - } - else if (this.numberRepeat == i) { - data.repeat = true; - } - this.now_Array.push(data); - } - this.runGame(); - }; - //获取,N个太阳位置的方法,和POS2分开两个方法,防止递归溢出 - GameManager.prototype.getPos = function (type, num) { - var posX = Math.random() * 620 - 310; - var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; - var point = cc.v2(posX, posY); - if (this.Pos_Array.length > 0) { - for (var i = 0; i < this.Pos_Array.length; i++) { - var distance = false; - var pd = false; - if (i == num) - pd = true; - distance = this.getDistance(posX, posY, this.Pos_Array[i].x, this.Pos_Array[i].y, pd); - if (distance == false) { - i = 10000; - point = this.getPos(type, num); - } - if (distance == true && i == (this.Pos_Array.length - 1)) { - i = 10000; - } - } - } - return point; - }; - //获取,N个太阳可移动位置的方法,和POS分开算防止递归溢出 - GameManager.prototype.getPos2 = function (type, num) { - var posX = Math.random() * 620 - 310; - var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; - var point = cc.v2(posX, posY); - if (this.Pos_Array.length > 0) { - for (var i = 0; i < this.Pos_Array.length; i++) { - var distance = false; - var pd = false; - if (i == num) - pd = true; - distance = this.getDistance2(posX, posY, this.Pos_Array[i].x, this.Pos_Array[i].y, pd); - if (distance == false) { - i = 10000; - point = this.getPos2(type, num); - } - if (distance == true && i == (this.Pos_Array.length - 1)) { - i = 10000; - } - } - } - return point; - }; - //获取两点之间距离,返回判断是否在一定范围内 将来提出到工具类 - GameManager.prototype.getDistance = function (x1, y1, x2, y2, num) { - var jg = false; - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 160) { - if (num == true) { - if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxMove) { - jg = true; - } - else - jg = false; - } - else { - if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxMove) { - jg = true; - } - else - jg = false; - } - } - return jg; - }; - //命中动画 - GameManager.prototype.hitAction = function (data) { - var _this = this; - this.hit.active = true; - this.hit.opacity = 0; - this.hit.setPosition; - this.hit.setPosition(this.ball_Array[data].x + 35, this.ball_Array[data].y + 35); - cc.tween(this.hit) - .to(0, { opacity: 255 }) - .to(0.2, { position: cc.v3(this.hit.x - 35, this.hit.y - 35, 0) }) - .delay(0.2) - .to(0.1, { opacity: 0 }) - .call(function () { - _this.hit.active = false; - }) - .start(); - }; - //创造太阳 - GameManager.prototype.createBall = function (number, color, speed, repeat) { - var ball = null; - if (color == 0) - ball = cc.instantiate(this.qiu1); - else if (color == 1) - ball = cc.instantiate(this.qiu2); - else if (color == 2) - ball = cc.instantiate(this.qiu3); - ball.parent = this.node.getChildByName("Sun"); - ball.zIndex = this.now_Array.length - number; - ball.setPosition(this.ball.x, this.ball.y); - ball.getComponent("Sun").init(number, color, speed, repeat); - this.ball_Array.push(ball); - }; - //销毁连线 - GameManager.prototype.destroyLine = function () { - for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { - if (this.node.getChildByName("Line").children[i]) { - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - }; - //创建连线 - GameManager.prototype.createLine = function (start, end, time) { - var line = cc.instantiate(this.linePrefab); - line.parent = this.node.getChildByName("Line"); - line.setPosition(start.x, start.y); - var dx = end.x - start.x; - var dy = end.y - start.y; - var distance = Math.sqrt(dx * dx + dy * dy); - line.height = distance; - line.getComponent(cc.Sprite).fillRange = 0; - line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); - cc.tween(line.getComponent(cc.Sprite)) - .to(time, { fillRange: 1 }) - .start(); - }; - //获取两点之间的角度,将来都可放工具类 - GameManager.prototype.calculateAngle = function (x1, y1, x2, y2) { - var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; - return -angle; - }; - //获取两点之间的距离 返回对应时间 - GameManager.prototype.calculateDistance = function (x1, y1, x2, y2, num) { - var dx = x2 - x1; - var dy = y2 - y1; - var time = 0; - var distance = Math.sqrt(dx * dx + dy * dy); - if (num == 1) { - if (distance > 800) - distance = 800; - time = distance / 800 * 0.6; - } - else if (num == 2) { - if (distance > 1200) - distance = 1200; - time = distance / 1200 * 1; - } - else if (num == 3) { - if (distance > 1200) - distance = 1200; - time = distance / 1200 * 1.5; - } - return time; - }; - //获取两点之间距离 返回距离判断 - GameManager.prototype.getDistance2 = function (x1, y1, x2, y2, num) { - var jg = false; - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 160) { - if (num == true) { - if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxDistance) - jg = true; - else - jg = false; - } - else { - jg = true; - } - } - return jg; - }; - //背景移动 - GameManager.prototype.bgMove = function (type) { - var _this = this; - var random = Math.random() * 300 + 300; - var posX = Math.random() * 600 - 300; - var y1 = this.bg1.y - random * type; - var time1 = 0.7 * (random / 400); - cc.tween(this.ball) - .to(0.3, { scale: 1.3 }) - .to(time1, { x: posX }) - .start(); - cc.tween(this.bg1) - .delay(0.3) - .to(time1, { y: y1 }) - .start(); - setTimeout(function () { - if (_this.over == false) - _this.startGame(); - }, time1 * 1500); - }; - //时间格式转换 - GameManager.prototype.getTimeMargin = function (second) { - var total = 0; - total = second; - var hour = 0; - hour = parseInt((total / 3600) + ""); //计算整数小时数 - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - var min = parseInt((afterHour / 60) + ""); //计算整数分 - var m = "" + min; - if (min < 10) - m = "0" + min; - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - var miao = afterMin + ""; - if (afterMin < 10) - miao = "0" + afterMin; - return m + ':' + miao; - }; - //如果是倒计时 调用此方法 - GameManager.prototype.updateCountDownTime = function () { - if (this.countTime > 0 && this.pause == false) { - this.countTime -= 1; - this.time.string = this.getTimeMargin(this.countTime); - if (this.countTime < 5) { - cc.tween(this.time.node) - .to(0.25, { scale: 1.5, color: cc.color(255, 0, 0) }) - .to(0.25, { scale: 1, color: cc.color(255, 255, 255) }) - .start(); - var over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.2, { opacity: 255 }) - .delay(0.1) - .to(0.2, { opacity: 0 }) - .start(); - } - if (this.countTime <= 0) { - this.begin = false; - this.over = true; - this.unschedule(this.updateCountDownTime); - this.setLoss(); - var time = 0; - if (this.clickCount > 0) - time = parseInt(GameData_1.default._instance.GM_INFO.mean_Time / this.clickCount + ""); - GameData_1.default._instance.GM_INFO.mean_Time = parseInt(time / 100 + ""); - GameData_1.default._instance.GM_INFO.mean_Time = GameData_1.default._instance.GM_INFO.mean_Time / 10; - if (time > 10000) - time = (Math.random() * 10 + 5) * 100; - this.setRank(time); - } - } - }; - //上传每次操作数据 - GameManager.prototype.setData = function () { - GameData_1.default._instance.GAME_DATA = []; - GameData_1.default._instance.GAME_DATA.push(GameData_1.default._instance.CLICK_DATA); - GameData_1.default._instance.CLICK_init(); - var data = GameData_1.default._instance.GAME_DATA; - var matchId = this.getMatchId(); - console.log(matchId); - var postData = { - "matchId": matchId, - "data": data - }; - console.log("上传数据:"); - serverAPI_1.default.uploadUserLogData(postData, function () { }); - }; - //获取matchId 用于上传每次点击数据里面记录id方便查询 - GameManager.prototype.getMatchId = function () { - var matchId = cc.sys.localStorage.getItem("matchId"); - if (matchId == "undifend" || matchId == null) { - matchId = this.setMatchId(); - } - else { - if (this.containsNanana(matchId) == true) { - matchId = this.setMatchId(); - } - else { - var char = parseInt(matchId[10]); - if (this.round == 1) { - char += 1; - } - matchId = matchId.slice(0, 10) + char + ""; - GameData_1.default._instance.GM_INFO.matchId = matchId; - cc.sys.localStorage.setItem("matchId", matchId); - } - } - return matchId; - }; - //检测matchId 如果有缓存以前的nanana数据清除 - GameManager.prototype.containsNanana = function (str) { - return /na/i.test(str); - }; - //重新设置MatchId - GameManager.prototype.setMatchId = function () { - // 定义包含可用字符的字符集 - var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; - // 创建一个数组以保存随机字符 - var uuidArray = []; - // 循环10次 生成10位的UUID - for (var i = 0; i < 10; i++) { - // 生成随机索引,范围是字符集的长度 - var randomIndex = Math.floor(Math.random() * characters.length); - // 从字符集中获取随机字符 - var randomChar = characters.charAt(randomIndex); - // 将字符添加到数组中 - uuidArray.push(randomChar); - } - var data = uuidArray.join('') + 1 + ""; - cc.sys.localStorage.setItem("matchNumber", 1); - cc.sys.localStorage.setItem("matchId", data); - GameData_1.default._instance.GM_INFO.matchId = data; - return data; - }; - //上传排行榜数据 - GameManager.prototype.setRank = function (time) { - var postData = { - "type": 1, - "reactionTime": time, - "totalSunCount": GameData_1.default._instance.GM_INFO.total, - "success": GameData_1.default._instance.GM_INFO.success - }; - serverAPI_1.default.rankData(1, function () { }, postData); - this.node.getChildByName("GameOver").active = true; - this.node.getChildByName("GameOver").opacity = 0; - cc.tween(this.node.getChildByName("GameOver")) - .to(0.4, { opacity: 255 }) - .delay(2) - .to(0.4, { opacity: 50 }) - .call(function () { - cc.director.loadScene("OverScene"); - }) - .start(); - }; - //作弊,测试用 - GameManager.prototype.showNumber = function () { - if (this.show == false) - this.show = true; - else if (this.show == true) - this.show = false; - for (var i = 0; i < this.ball_Array.length; i++) { - this.ball_Array[i].getComponent("Sun").showNumber(this.show); - } - }; - GameManager.prototype.onEnable = function () { - Notification_1.Notification.on("clickSun", this.clickSun, this); - }; - GameManager.prototype.onDisable = function () { - Notification_1.Notification.off("clickSun", this.clickSun); - }; - GameManager.prototype.update = function (dt) { - }; - __decorate([ - property(cc.Node) - ], GameManager.prototype, "ball", void 0); - __decorate([ - property(cc.Prefab) - ], GameManager.prototype, "qiu1", void 0); - __decorate([ - property(cc.Prefab) - ], GameManager.prototype, "qiu2", void 0); - __decorate([ - property(cc.Prefab) - ], GameManager.prototype, "qiu3", void 0); - __decorate([ - property(cc.Prefab) - ], GameManager.prototype, "linePrefab", void 0); - __decorate([ - property(cc.Node) - ], GameManager.prototype, "hit", void 0); - __decorate([ - property(cc.Label) - ], GameManager.prototype, "levelLabel", void 0); - GameManager = __decorate([ - ccclass - ], GameManager); - return GameManager; -}(cc.Component)); -exports.default = GameManager; - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTO0FBQ0gsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFDMUMsdUNBQWtDO0FBQ2xDLCtDQUE4QztBQUM5QyxnREFBMEM7QUFFMUM7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUFrL0JDO1FBaC9CRyxVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFjLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDO1FBRTdCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFDcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUNwQixTQUFHLEdBQVksSUFBSSxDQUFDO1FBQ3BCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFDdEIsV0FBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixXQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSSxHQUFZLEtBQUssQ0FBQztRQW9CdEIsZ0JBQVUsR0FBYSxJQUFJLENBQUM7O0lBMjhCaEMsQ0FBQztJQXA4QkcsNEJBQU0sR0FBTixjQUFXLENBQUM7SUFDWiwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBQztZQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDL0MsNENBQTRDO1lBQzVDLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1NBQzdCO1FBQ0QsNENBQTRDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixrQkFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsaUJBQWlCO0lBQ2pCLHlCQUFHLEdBQUg7UUFDSSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFFLEtBQUs7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU07UUFDMUIsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLElBQUcsQ0FBQyxFQUFFLEVBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUNELE9BQU87SUFDUCxnREFBMEIsR0FBMUI7UUFDSSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxTQUFTO0lBQ1QsNEJBQU0sR0FBTjtRQUNJLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQzdDLElBQUksSUFBSSxFQUFFO1NBQ1Q7YUFBTTtTQUNOO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU07SUFDTiwrQkFBUyxHQUFUO1FBQ0ksRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELDhCQUE4QjtJQUM5Qiw2QkFBTyxHQUFQLFVBQVEsSUFBSTtRQUNSLDhDQUE4QztRQUM5QywwQ0FBMEM7UUFDMUMsY0FBYztRQUNkLElBQUk7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25ELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBRyxJQUFJLElBQUksQ0FBQyxFQUFDO1lBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjthQUNJLElBQUcsSUFBSSxJQUFJLENBQUMsRUFBQztZQUNkLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNwQjthQUNJLElBQUcsSUFBSSxJQUFJLENBQUMsRUFBQztZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQjtJQUVMLENBQUM7SUFDRCxPQUFPO0lBQ1AsNkJBQU8sR0FBUDtRQUNJLElBQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkMsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUk7SUFDSiwrQkFBUyxHQUFUO1FBQUEsaUJBZ0NDO1FBL0JHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFHLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUFDO1lBQ3pDLElBQUksV0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDbEIsSUFBSSxNQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUM7Z0JBQ3hDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztnQkFDckQsV0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtvQ0FDTyxDQUFDO2dCQUNMLFVBQVUsQ0FBQztvQkFDUCxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQUksQ0FBQzt5QkFDYixFQUFFLENBQUMsV0FBUyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxLQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQzt5QkFDbEUsSUFBSSxDQUFDO3dCQUNGLEtBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzt3QkFDbEMsSUFBRyxDQUFDLElBQUksS0FBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDOzRCQUM3QixVQUFVLENBQUM7Z0NBQ1AsS0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2dDQUN4QixLQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQUksQ0FBQyxDQUFDLEVBQUMsTUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztnQ0FDNUMsTUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0NBQ3BCLEtBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQ0FDaEIsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDcEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3lCQUNYO29CQUNMLENBQUMsQ0FBQzt5QkFDRCxLQUFLLEVBQUUsQ0FBQztnQkFDYixDQUFDLEVBQUUsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQixTQUFTLElBQUksQ0FBQyxXQUFTLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLEdBQUcsQ0FBQyxDQUFDOztZQWxCdEMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTt3QkFBbkMsQ0FBQzthQW1CUjtTQUNKO0lBQ0wsQ0FBQztJQUNELElBQUk7SUFDSiwrQkFBUyxHQUFULFVBQVUsSUFBSTtRQUFkLGlCQW1CQztRQWxCRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBQztZQUN6QyxJQUFJLE1BQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO29DQUN0QixDQUFDO2dCQUNMLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQzNCLEVBQUUsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsTUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsTUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDO3FCQUN6QixJQUFJLENBQUM7b0JBQ0YsS0FBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO29CQUNsQyxJQUFHLENBQUMsSUFBSSxLQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7d0JBQzdCLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQzt3QkFDeEIsS0FBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFJLENBQUMsQ0FBQyxFQUFDLE1BQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQzVDLEtBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDaEIsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDdEI7Z0JBQ0wsQ0FBQyxDQUFDO3FCQUNELEtBQUssRUFBRSxDQUFBOzs7WUFaWixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO3dCQUFuQyxDQUFDO2FBYVI7U0FDSjtJQUNMLENBQUM7SUFDRCxNQUFNO0lBQ04sOEJBQVEsR0FBUjtRQUNJLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztZQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBQ0QsVUFBVTtJQUNWLDhCQUFRLEdBQVIsVUFBUyxJQUFJO1FBQWIsaUJBa0dDO1FBakdHLElBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7WUFDckIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1lBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLElBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUM7Z0JBQ3JCLGtCQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDbEQsSUFBRyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBQztvQkFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM1RixFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDeEUsR0FBRyxDQUFDLENBQUM7aUJBQ1I7Z0JBQ0QsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7Z0JBQ25CLElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUM1RSxJQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUM7b0JBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO29CQUNsQixrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUMvQixJQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFDO3dCQUN2QyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQzVFO29CQUNELElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDcEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7b0JBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7b0JBQ3RDLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQztvQkFDaEIsSUFBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7d0JBQUMsS0FBSyxHQUFHLElBQUksQ0FBQzt5QkFDNUMsSUFBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUM7d0JBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQztvQkFDdkMsSUFBSSxLQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzFDLEtBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUFDLEtBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25DLGtCQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDMUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQ2hCLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztvQkFDbEIsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7d0JBQ3pCLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFHLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQzs0QkFDdEMsSUFBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBQztnQ0FDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7NkJBQ3pCOzRCQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUNwQztxQkFDSjt5QkFDRzt3QkFDQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRyxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7NEJBQ3ZDLElBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUM7Z0NBQzFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7NkJBQ3BCOztnQ0FFRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUN4QjtxQkFDSjtvQkFDRCxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVO3dCQUN6Qjs0QkFDSSxJQUFJLEVBQUMsQ0FBQzs0QkFDTixPQUFPLEVBQUMsSUFBSTs0QkFDWixLQUFLLEVBQUMsSUFBSSxDQUFDLEtBQUs7NEJBQ2hCLGFBQWEsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07NEJBQ25DLGFBQWEsRUFBQyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVOzRCQUNwRSxRQUFRLEVBQUMsa0JBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzs0QkFDOUQsZUFBZSxFQUFDLGtCQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07NEJBQ2xFLFNBQVMsRUFBQyxJQUFJLENBQUMsV0FBVzs0QkFDMUIsUUFBUSxFQUFDLFdBQVcsR0FBQyxFQUFFOzRCQUN2QixlQUFlLEVBQUMsSUFBSSxDQUFDLEtBQUs7NEJBQzFCLE9BQU8sRUFBQyxRQUFROzRCQUNoQixZQUFZLEVBQUMsSUFBSSxDQUFDLFVBQVU7NEJBQzVCLFNBQVMsRUFBQyxJQUFJLENBQUMsU0FBUzt5QkFDM0IsQ0FBQTtvQkFDTCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2YsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFHLENBQUM7eUJBQ1osS0FBSyxDQUFDLEdBQUcsQ0FBQzt5QkFDVixFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxDQUFDO3lCQUNwQixFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsRUFBQyxDQUFDO3lCQUNsQixLQUFLLENBQUMsR0FBRyxDQUFDO3lCQUNWLElBQUksQ0FBQzt3QkFDRixLQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzt3QkFDbkIsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUNuQixJQUFHLEtBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLEtBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUFDOzRCQUN6QyxJQUFHLEtBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFDO2dDQUNoQixrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQ0FDMUMsS0FBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7Z0NBQ2hCLDRDQUE0QztnQ0FDNUMsS0FBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0NBQ2xCLEtBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzs2QkFDcEI7aUNBQ0c7Z0NBQ0EsS0FBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7Z0NBQ2hCLDRDQUE0QztnQ0FDNUMsS0FBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0NBQ2xCLEtBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzs2QkFDcEI7eUJBQ0o7b0JBQ0wsQ0FBQyxDQUFDO3lCQUNELEtBQUssRUFBRSxDQUFDO2lCQUNaO2FBQ0o7aUJBQ0c7Z0JBQ0EsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2xCO1NBQ0o7SUFDTCxDQUFDO0lBQ0QsTUFBTTtJQUNOLDZCQUFPLEdBQVA7UUFDSSxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBQztZQUN2QyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUU7UUFDRCxJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBQyxHQUFHLEdBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDaEIsSUFBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7WUFBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2FBQzVDLElBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDO1lBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoQixJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7WUFDekIsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUcsQ0FBQyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUN0QyxJQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFDO29CQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDekI7Z0JBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEM7U0FDSjthQUNHO1lBQ0EsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUcsQ0FBQyxHQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUN2QyxJQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFDO29CQUMxQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNwQjs7b0JBRUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN4QjtTQUNKO1FBQ0Qsa0JBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUM3QjtnQkFDSSxJQUFJLEVBQUMsQ0FBQztnQkFDTixPQUFPLEVBQUMsS0FBSztnQkFDYixLQUFLLEVBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQ2hCLGFBQWEsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07Z0JBQ25DLGFBQWEsRUFBQyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVO2dCQUNwRSxRQUFRLEVBQUMsa0JBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDOUQsZUFBZSxFQUFDLGtCQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07Z0JBQ2xFLFNBQVMsRUFBQyxJQUFJLENBQUMsV0FBVztnQkFDMUIsUUFBUSxFQUFDLFdBQVcsR0FBQyxFQUFFO2dCQUN2QixlQUFlLEVBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQzFCLE9BQU8sRUFBQyxRQUFRO2dCQUNoQixZQUFZLEVBQUMsSUFBSSxDQUFDLFVBQVU7Z0JBQzVCLFNBQVMsRUFBQyxJQUFJLENBQUMsU0FBUzthQUMzQixDQUFBO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBQztZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JCO2FBQ0c7WUFDQSxJQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFDO2dCQUNkLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNoQiw0Q0FBNEM7Z0JBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUNsQixzQkFBc0I7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckI7aUJBQ0c7Z0JBQ0EsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQjtTQUNKO1FBQ0QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDYixFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO2FBQ3RCLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxDQUFDO2FBQ25CLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO2FBQ3RCLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxDQUFDO2FBQ25CLEtBQUssRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUNELE1BQU07SUFDTiwrQkFBUyxHQUFUO1FBQ0ksSUFBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNsQixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLENBQUM7aUJBQy9CLEtBQUssRUFBRSxDQUFDO1NBQ1o7SUFDTCxDQUFDO0lBQ0QsbUJBQW1CO0lBQ25CLDZCQUFPLEdBQVA7UUFBQSxpQkF1Q0M7UUF0Q0csSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUM7Z0NBQ1IsQ0FBQztZQUNMLElBQUksR0FBRyxPQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUMxQyxVQUFVLENBQUM7Z0JBQ1AsSUFBRyxLQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBQztvQkFDbEIsSUFBSSxJQUFJLEdBQUcsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ3ZDLElBQUcsSUFBSSxHQUFHLEdBQUc7d0JBQUUsSUFBSSxHQUFHLEdBQUcsQ0FBQztvQkFDMUIsSUFBRyxDQUFDLElBQUksQ0FBQyxFQUFDO3dCQUNOLElBQUcsS0FBSSxDQUFDLElBQUksSUFBSSxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDOzRCQUM5QixLQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzdGLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFDLElBQUksQ0FBQyxDQUFDO3lCQUNoQztxQkFDSjtvQkFFRCxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUM7eUJBQ2xCLEVBQUUsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxJQUFJLEVBQUMsRUFBQyxDQUFDLEVBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7eUJBQzdFLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDLENBQUM7eUJBQ2pCLElBQUksQ0FBQzt3QkFDRixLQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUM1RixJQUFHLENBQUMsSUFBSSxLQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRSxDQUFDLEVBQUM7NEJBQzdCLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQzs0QkFDdEIsVUFBVSxDQUFDO2dDQUNQLEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQ0FDbkIsS0FBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dDQUNqQixJQUFHLGtCQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxDQUFDLEVBQUM7b0NBQ3hELEtBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2lDQUN0QjtxQ0FDRztvQ0FDQSxLQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7aUNBQ3JCOzRCQUVMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzt5QkFDWDtvQkFDTCxDQUFDLENBQUM7eUJBQ0QsS0FBSyxFQUFFLENBQUE7aUJBQ1g7WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7OztRQW5DYixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO29CQUFqQyxDQUFDO1NBb0NSO0lBQ0wsQ0FBQztJQUNELFVBQVU7SUFDVixnQ0FBVSxHQUFWO1FBQUEsaUJBMkZDO1FBMUZHLElBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLEVBQUM7WUFDbEIsSUFBSSxJQUFJLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkQsUUFBUTtZQUNSLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNkLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEVBQUM7Z0JBQ25CLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUM7YUFDaEM7WUFDRCxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFDO2dCQUNoQixJQUFJLENBQUMsTUFBTSxHQUFJLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDbkIsbUJBQW1CO2dCQUNuQixJQUFHLElBQUksQ0FBQyxNQUFNLEdBQUksQ0FBQyxFQUFDO29CQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO29CQUNuRCxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxFQUFHLGtCQUFrQjt3QkFDdkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFJLFFBQVEsQ0FBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUUsRUFBRSxDQUFDLENBQUE7b0JBQ3ZFLFVBQVUsR0FBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFFLEdBQUcsVUFBVSxDQUFDO2lCQUM3QztxQkFDRyxFQUFFLGVBQWU7b0JBQ2pCLHlCQUF5QjtvQkFDekIsSUFBRyxJQUFJLENBQUMsTUFBTSxJQUFLLENBQUM7d0JBQUUsSUFBSSxDQUFDLE1BQU0sR0FBSSxDQUFDLENBQUM7b0JBQ3ZDLElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFFLElBQUksQ0FBQyxFQUFDO3dCQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO3dCQUNwQyxVQUFVLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7cUJBQ25EO3lCQUNJLElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFFLElBQUksQ0FBQyxFQUFDO3dCQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO3dCQUNwQyxVQUFVLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7cUJBQ25EO3lCQUNJLElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFFLElBQUksQ0FBQyxFQUFDO3dCQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO3dCQUNwQyxVQUFVLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7cUJBQ25EO3lCQUNJLElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFFLEdBQUcsQ0FBQyxFQUFDO3dCQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBSSxDQUFDLENBQUU7d0JBQ2xHLFVBQVUsR0FBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztxQkFDbkQ7eUJBQ0c7d0JBQ0EsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzt3QkFDcEMsVUFBVSxHQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO3FCQUNuRDtvQkFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUM7aUJBQzVDO2FBQ0o7WUFDRCxJQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFDO2dCQUNuQixxQkFBcUI7Z0JBQ3JCLE9BQU87Z0JBQ1AsSUFBSSxLQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFDO29CQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDekI7Z0JBQ0QsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUM7b0JBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN2QztnQkFDRCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLFNBQVM7Z0JBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBTSxPQUFBLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQW5CLENBQW1CLENBQUMsQ0FBQztnQkFDL0MsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztvQkFDdEIsS0FBSSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBRSxDQUFDLElBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDO3dCQUMvQixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDOzRCQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ3RCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt5QkFDVjtxQkFDSjtpQkFDSjtnQkFDRCwwQ0FBMEM7Z0JBQzFDLEtBQUksSUFBSSxDQUFDLEdBQUUsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztvQkFDdEMsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUM7d0JBQ3BFLEtBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUM7NEJBQzdDLElBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUcsSUFBSSxDQUFDLFlBQVksRUFBQztnQ0FDNUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0NBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dDQUN0QixDQUFDLEdBQUksQ0FBQyxDQUFDLENBQUM7NkJBQ1g7eUJBQ0o7cUJBQ0o7aUJBQ0o7d0NBQ08sQ0FBQztvQkFDTCxJQUFHLE9BQUssU0FBUyxDQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQzt3QkFDdkIsT0FBTyxJQUFJLENBQUMsQ0FBQzt3QkFDYixVQUFVLENBQUM7NEJBQ1AsS0FBRyxHQUFHLEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUMzQixLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUcsQ0FBQzt3QkFDNUIsQ0FBQyxFQUFFLE9BQU8sR0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDbkI7OztnQkFQTCxLQUFJLElBQUksQ0FBQyxHQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFOzRCQUFqQyxDQUFDO2lCQVFSO2FBRUo7U0FDSjtJQUNMLENBQUM7SUFDRCxlQUFlO0lBQ2YsaUNBQVcsR0FBWDtRQUNJLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0M7SUFDTCxDQUFDO0lBQ0QsWUFBWTtJQUNaLGdDQUFVLEdBQVY7UUFBQSxpQkF5REM7UUF4REcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDL0IsSUFBSSxJQUFJLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsUUFBUTtRQUNSLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEVBQUM7WUFDbkIsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQztTQUNoQztRQUNELElBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUM7WUFDbkIscUJBQXFCO1lBQ3JCLE9BQU87WUFDUCwwQ0FBMEM7WUFDMUMsS0FBSSxJQUFJLENBQUMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUN0QyxJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBQztvQkFDcEUsS0FBSSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQzt3QkFDN0MsSUFBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBRyxJQUFJLENBQUMsWUFBWSxFQUFDOzRCQUM1RSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ3RCLENBQUMsR0FBSSxDQUFDLENBQUMsQ0FBQzt5QkFDWDtxQkFDSjtpQkFDSjthQUNKO1lBQ0QsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLFlBQVk7WUFDWixLQUFJLElBQUksQ0FBQyxHQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsU0FBUyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztnQkFDakMsSUFBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxFQUFDO29CQUNmLFVBQVUsR0FBRyxDQUFDLENBQUM7aUJBQ2xCO2FBQ0o7b0NBQ08sQ0FBQztnQkFDTCxJQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUM7b0JBQ2pCLElBQUcsQ0FBQyxJQUFJLFVBQVUsRUFBQyxFQUFLLGFBQWE7d0JBQ2pDLElBQUksSUFBSSxHQUFHLEtBQUssR0FBQyxPQUFLLGlCQUFpQixDQUFDLE9BQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxPQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsT0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLE9BQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQzt3QkFDN0gsT0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7d0JBQ25ELEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7NkJBQzNCLEVBQUUsQ0FBQyxJQUFJLEVBQUMsRUFBQyxRQUFRLEVBQUMsT0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQzs2QkFDckMsSUFBSSxDQUFDOzRCQUNGLEtBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7d0JBQ3hELENBQUMsQ0FBQzs2QkFDRCxLQUFLLEVBQUUsQ0FBQztxQkFDWjtvQkFDRCxTQUFTO3lCQUNMO3dCQUNBLElBQUksSUFBSSxHQUFHLEtBQUssR0FBQyxPQUFLLGlCQUFpQixDQUFDLE9BQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxPQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsT0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLE9BQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQzt3QkFDN0gsT0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7d0JBQ25ELEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7NkJBQzNCLEVBQUUsQ0FBQyxJQUFJLEVBQUMsRUFBQyxRQUFRLEVBQUMsT0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQzs2QkFDckMsSUFBSSxDQUFDOzRCQUNFLEtBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7d0JBQ3hELENBQUMsQ0FBQzs2QkFDTCxLQUFLLEVBQUUsQ0FBQztxQkFDWjtpQkFDSjs7O1lBdkJMLEtBQUksSUFBSSxDQUFDLEdBQUUsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUU7d0JBQWxDLENBQUM7YUF3QlI7U0FDSjtJQUNMLENBQUM7SUFDRCxjQUFjO0lBQ2QsK0JBQVMsR0FBVDtRQUNJLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHFEQUFxRDtJQUN6RCxDQUFDO0lBQ0QsTUFBTTtJQUNOLDhCQUE4QjtJQUM5QixxREFBcUQ7SUFDckQsaUNBQWlDO0lBQ2pDLDhCQUE4QjtJQUM5QixtRUFBbUU7SUFDbkUsb0RBQW9EO0lBQ3BELFlBQVk7SUFDWixRQUFRO0lBQ1IsWUFBWTtJQUNaLGdEQUFnRDtJQUNoRCxRQUFRO0lBQ1IsaUJBQWlCO0lBQ2pCLElBQUk7SUFFSixVQUFVO0lBQ1YsK0JBQVMsR0FBVDtRQUFBLGlCQWlCQztRQWhCRyxJQUFJLFNBQVMsR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0NBQ1IsQ0FBQztZQUNMLE9BQU8sSUFBSSxDQUFDLENBQUM7WUFDYixVQUFVLENBQUM7Z0JBQ1AsSUFBRyxLQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBQztvQkFDbEIsSUFBSSxHQUFHLEdBQUcsS0FBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQy9CLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN6QixJQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUM7d0JBQ3pDLEtBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFDbEIsS0FBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO3FCQUNwQjtpQkFDSjtZQUVMLENBQUMsRUFBRSxPQUFPLEdBQUMsR0FBRyxDQUFDLENBQUM7O1FBWnBCLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxTQUFTLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRTtvQkFBM0IsQ0FBQztTQWFSO0lBQ0wsQ0FBQztJQUNELGdCQUFnQjtJQUNoQiwrQkFBUyxHQUFUO1FBQ0ksSUFBSSxJQUFJLEdBQUcsRUFBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLEVBQUMsU0FBUyxFQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDO1FBQ3pGLElBQUksU0FBUyxHQUFHLGtCQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU07UUFDTixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFDbEMsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0MsSUFBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLElBQUksQ0FBQztnQkFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ3pELFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0IsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFNLE9BQUEsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsRUFBbkIsQ0FBbUIsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFNLE9BQUEsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsRUFBbkIsQ0FBbUIsQ0FBQyxDQUFDO1FBQzNDLElBQUcsU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsUUFBUTtRQUNSLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxTQUFTLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQ2hDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFDLFNBQVMsQ0FBQztZQUMvRyxJQUFJLEdBQUcsRUFBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxTQUFTLENBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQztZQUM5SSxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFDO2dCQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzthQUN0QjtpQkFDSSxJQUFHLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUFDO2dCQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzthQUN0QjtZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxpQ0FBaUM7SUFDakMsNEJBQU0sR0FBTixVQUFPLElBQUksRUFBQyxHQUFHO1FBQ1gsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDbkMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNqRSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN6QixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQ3JDLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUNmLElBQUcsQ0FBQyxJQUFJLEdBQUc7b0JBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDdkIsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQTtnQkFDakYsSUFBRyxRQUFRLElBQUksS0FBSyxFQUFDO29CQUNqQixDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUNWLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxHQUFHLENBQUMsQ0FBQztpQkFDakM7Z0JBQ0QsSUFBRyxRQUFRLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxFQUFDO29CQUNsRCxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNiO2FBQ0w7U0FDSDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCwrQkFBK0I7SUFDL0IsNkJBQU8sR0FBUCxVQUFRLElBQUksRUFBQyxHQUFHO1FBQ1osSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDbkMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNqRSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN6QixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQ3JDLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUNmLElBQUcsQ0FBQyxJQUFJLEdBQUc7b0JBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDdkIsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQTtnQkFDbEYsSUFBRyxRQUFRLElBQUksS0FBSyxFQUFDO29CQUNqQixDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUNWLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxHQUFHLENBQUMsQ0FBQztpQkFDbEM7Z0JBQ0QsSUFBRyxRQUFRLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxFQUFDO29CQUNsRCxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNiO2FBQ0w7U0FDSDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxnQ0FBZ0M7SUFDaEMsaUNBQVcsR0FBWCxVQUFZLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBQyxHQUFHO1FBQzFCLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNmLElBQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUcsUUFBUSxHQUFHLEdBQUcsRUFBQztZQUNkLElBQUcsR0FBRyxJQUFJLElBQUksRUFBQztnQkFDWCxJQUFHLFFBQVEsR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUM7b0JBQzlELEVBQUUsR0FBRyxJQUFJLENBQUM7aUJBQ2I7O29CQUNJLEVBQUUsR0FBRyxLQUFLLENBQUM7YUFDbkI7aUJBQ0c7Z0JBQ0EsSUFBRyxRQUFRLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFDO29CQUM5RCxFQUFFLEdBQUcsSUFBSSxDQUFDO2lCQUNiOztvQkFDSSxFQUFFLEdBQUcsS0FBSyxDQUFDO2FBQ25CO1NBQ0o7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxNQUFNO0lBQ04sK0JBQVMsR0FBVCxVQUFVLElBQUk7UUFBZCxpQkFhQztRQVpHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQTtRQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ2pCLEVBQUUsQ0FBQyxDQUFDLEVBQUMsRUFBQyxPQUFPLEVBQUMsR0FBRyxFQUFDLENBQUM7YUFDbkIsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFDLFFBQVEsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQzthQUN2RCxLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsQ0FBQzthQUNuQixJQUFJLENBQUM7WUFDRixLQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDNUIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxFQUFFLENBQUM7SUFDYixDQUFDO0lBQ0QsTUFBTTtJQUNOLGdDQUFVLEdBQVYsVUFBVyxNQUFNLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxNQUFNO1FBQ2hDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixJQUFHLEtBQUssSUFBSSxDQUFDO1lBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFDLElBQUcsS0FBSyxJQUFJLENBQUM7WUFBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0MsSUFBRyxLQUFLLElBQUksQ0FBQztZQUFDLElBQUksR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsTUFBTTtJQUNOLGlDQUFXLEdBQVg7UUFDSSxLQUFJLElBQUksQ0FBQyxHQUFFLENBQUMsRUFBRSxDQUFDLEdBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztZQUNsRSxJQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBQztnQkFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7YUFDdkQ7U0FDSjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDekQsQ0FBQztJQUNELE1BQU07SUFDTixnQ0FBVSxHQUFWLFVBQVcsS0FBSyxFQUFDLEdBQUcsRUFBQyxJQUFJO1FBQ3JCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyQyxFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsU0FBUyxFQUFDLENBQUMsRUFBQyxDQUFDO2FBQ3RCLEtBQUssRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUNELG9CQUFvQjtJQUNwQixvQ0FBYyxHQUFkLFVBQWUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUN6QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBQyxFQUFFLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxrQkFBa0I7SUFDbEIsdUNBQWlCLEdBQWpCLFVBQWtCLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHO1FBQ2pDLElBQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUcsR0FBRyxJQUFJLENBQUMsRUFBQztZQUNSLElBQUcsUUFBUSxHQUFHLEdBQUc7Z0JBQUUsUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUNsQyxJQUFJLEdBQUcsUUFBUSxHQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7U0FDN0I7YUFDSSxJQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUM7WUFDYixJQUFHLFFBQVEsR0FBRyxJQUFJO2dCQUFFLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxHQUFHLFFBQVEsR0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO2FBQ0ksSUFBRyxHQUFHLElBQUksQ0FBQyxFQUFDO1lBQ2IsSUFBRyxRQUFRLEdBQUcsSUFBSTtnQkFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3BDLElBQUksR0FBRyxRQUFRLEdBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxrQkFBa0I7SUFDbEIsa0NBQVksR0FBWixVQUFhLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBQyxHQUFHO1FBQzNCLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNmLElBQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUcsUUFBUSxHQUFHLEdBQUcsRUFBQztZQUNkLElBQUcsR0FBRyxJQUFJLElBQUksRUFBQztnQkFDWCxJQUFHLFFBQVEsR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXO29CQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7O29CQUM1RSxFQUFFLEdBQUcsS0FBSyxDQUFDO2FBQ25CO2lCQUNHO2dCQUNBLEVBQUUsR0FBRyxJQUFJLENBQUM7YUFDYjtTQUNKO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTTtJQUNOLDRCQUFNLEdBQU4sVUFBTyxJQUFJO1FBQVgsaUJBZ0JDO1FBZkcsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDckMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDbkMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLEtBQUssR0FBRyxHQUFHLEdBQUMsQ0FBQyxNQUFNLEdBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2xCLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLENBQUM7YUFDbkIsRUFBRSxDQUFDLEtBQUssRUFBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsQ0FBQzthQUNsQixLQUFLLEVBQUUsQ0FBQztRQUNULEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNqQixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsRUFBRSxDQUFDLEtBQUssRUFBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQzthQUNoQixLQUFLLEVBQUUsQ0FBQztRQUNULFVBQVUsQ0FBQztZQUNQLElBQUcsS0FBSSxDQUFDLElBQUksSUFBSSxLQUFLO2dCQUFFLEtBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxDQUFDLEVBQUUsS0FBSyxHQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxRQUFRO0lBQ1IsbUNBQWEsR0FBYixVQUFjLE1BQWE7UUFDdkIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNmLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQSxTQUFTO1FBQzlDLElBQUksU0FBUyxHQUFHLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBLGVBQWU7UUFDdEQsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsT0FBTztRQUMvQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUcsR0FBRyxHQUFHLEVBQUU7WUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFDLEdBQUcsQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFBLGFBQWE7UUFDOUQsSUFBSSxJQUFJLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFHLFFBQVEsR0FBRyxFQUFFO1lBQUUsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7UUFDeEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQTtJQUN6QixDQUFDO0lBQ0QsY0FBYztJQUNkLHlDQUFtQixHQUFuQjtRQUNJLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsSUFBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBQztnQkFDbEIsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztxQkFDdkIsRUFBRSxDQUFDLElBQUksRUFBQyxFQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDO3FCQUM1QyxFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUM7cUJBQzlDLEtBQUssRUFBRSxDQUFBO2dCQUNSLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1QyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztxQkFDYixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO3FCQUNyQixLQUFLLENBQUMsR0FBRyxDQUFDO3FCQUNWLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLENBQUM7cUJBQ25CLEtBQUssRUFBRSxDQUFDO2FBQ1o7WUFDRCxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUFDO2dCQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7Z0JBQ2IsSUFBRyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUM7b0JBQUUsSUFBSSxHQUFHLFFBQVEsQ0FBQyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ25HLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLElBQUksR0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQy9ELGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRSxFQUFFLENBQUM7Z0JBQ2hGLElBQUcsSUFBSSxHQUFHLEtBQUs7b0JBQUUsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsR0FBQyxHQUFHLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7U0FDSjtJQUNMLENBQUM7SUFDRCxVQUFVO0lBQ1YsNkJBQU8sR0FBUDtRQUNJLGtCQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDbEMsa0JBQVEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRSxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxJQUFJLElBQUksR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFDeEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsSUFBSSxRQUFRLEdBQUc7WUFDWCxTQUFTLEVBQUMsT0FBTztZQUNqQixNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BCLG1CQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFDLGNBQVcsQ0FBQyxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUNELGlDQUFpQztJQUNqQyxnQ0FBVSxHQUFWO1FBQ0ksSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELElBQUcsT0FBTyxJQUFJLFVBQVUsSUFBSSxPQUFPLElBQUUsSUFBSSxFQUFDO1lBQ3RDLE9BQU8sR0FBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDaEM7YUFDRztZQUNBLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUM7Z0JBQ3BDLE9BQU8sR0FBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDaEM7aUJBQ0c7Z0JBQ0EsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxJQUFHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFDO29CQUNmLElBQUksSUFBSSxDQUFDLENBQUM7aUJBQ2I7Z0JBQ0QsT0FBTyxHQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQzVDLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUM3QyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2xEO1NBQ0o7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsOEJBQThCO0lBQzlCLG9DQUFjLEdBQWQsVUFBZSxHQUFHO1FBQ2QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFDRCxhQUFhO0lBQ2IsZ0NBQVUsR0FBVjtRQUNJLGVBQWU7UUFDZixJQUFNLFVBQVUsR0FBRyxnRUFBZ0UsQ0FBQztRQUNwRixnQkFBZ0I7UUFDaEIsSUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLG1CQUFtQjtRQUNuQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JCLG1CQUFtQjtZQUN2QixJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEUsY0FBYztZQUNkLElBQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEQsWUFBWTtZQUNaLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDOUI7UUFDRCxJQUFJLElBQUksR0FBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDeEMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUM3QyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxTQUFTO0lBQ1QsNkJBQU8sR0FBUCxVQUFRLElBQUk7UUFDUixJQUFJLFFBQVEsR0FBRztZQUNYLE1BQU0sRUFBQyxDQUFDO1lBQ1IsY0FBYyxFQUFFLElBQUk7WUFDcEIsZUFBZSxFQUFFLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQ2pELFNBQVMsRUFBRSxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTztTQUVoRCxDQUFDO1FBQ0YsbUJBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLGNBQVcsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqRCxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzdDLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxPQUFPLEVBQUMsR0FBRyxFQUFDLENBQUM7YUFDckIsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNSLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLENBQUM7YUFDcEIsSUFBSSxDQUFDO1lBQ0YsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxFQUFFLENBQUE7SUFDWixDQUFDO0lBQ0QsUUFBUTtJQUNSLGdDQUFVLEdBQVY7UUFDSSxJQUFHLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSztZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2FBQ25DLElBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDN0MsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFDO1lBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEU7SUFDTCxDQUFDO0lBQ0QsOEJBQVEsR0FBUjtRQUNJLDJCQUFZLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCwrQkFBUyxHQUFUO1FBQ0ksMkJBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsNEJBQU0sR0FBTixVQUFRLEVBQUU7SUFDVixDQUFDO0lBLytCRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzZDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7NkNBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs2Q0FDRztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzZDQUNHO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7bURBQ1M7SUFFN0I7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDRTtJQTJCcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzttREFDUztJQXZDWCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBay9CL0I7SUFBRCxrQkFBQztDQWwvQkQsQUFrL0JDLENBbC9Cd0MsRUFBRSxDQUFDLFNBQVMsR0FrL0JwRDtrQkFsL0JvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8g5Li75ri45oiP5o6n5Yi257G7XHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5pbXBvcnQgR2FtZURhdGEgZnJvbSAnLi9HYW1lRGF0YSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vTm90aWZpY2F0aW9uJztcclxuaW1wb3J0IEh0dHBVdGlsIGZyb20gJy4vY3J5cHRvL3NlcnZlckFQSSc7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgYmFsbDogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcWl1MTogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBxaXUyOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTM6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgaGl0OiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGJnMTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBiZzI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgYmVnaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZ1aHVvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBvdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBjb3VudFRpbWU6bnVtYmVyO1xyXG4gICAgdGltZUNvdW50Om51bWJlcjtcclxuICAgIGZpdFRvcDpudW1iZXI7XHJcbiAgICBmaXRCb3Q6bnVtYmVyO1xyXG4gICAgbGV2ZWw6bnVtYmVyO1xyXG4gICAgY2xpY2tOb3c6bnVtYmVyO1xyXG4gICAgc3RhcnRUaW1lOm51bWJlcjtcclxuICAgIG92ZXJUaW1lOm51bWJlcjtcclxuICAgIHdpblRpbWU6bnVtYmVyO1xyXG4gICAgY2xpY2tDb3VudDpudW1iZXI7XHJcbiAgICB0aW1lU3RhcnQ6bnVtYmVyO1xyXG4gICAgcm91dGVfQXJyYXk6IGFueVtdO1xyXG4gICAgbm93X0FycmF5OiBhbnlbXTtcclxuICAgIGJhbGxfQXJyYXk6IGFueVtdO1xyXG4gICAgTGluZV9BcnJheTogYW55W107XHJcbiAgICBQb3NfQXJyYXk6IGFueVtdO1xyXG4gICAgdGltZV9BcnJheTogYW55W107XHJcbiAgICBjb2xvcl9BcnJheTogYW55W107XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBsZXZlbExhYmVsOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBzdGF0aWMgX2luc3RhbmNlOiBhbnk7XHJcbiAgICBtb3ZlQXJyYXk6IG51bWJlcltdO1xyXG4gICAgcmVwZWF0OiBudW1iZXI7XHJcbiAgICBudW1iZXJSZXBlYXQ6IG51bWJlcjtcclxuICAgIHJvdW5kOiBudW1iZXI7XHJcbiAgICBwYXVzZTogYm9vbGVhbjtcclxuICAgIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuZml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLnpJbmRleCA9IDEwMDtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJhbGwuekluZGV4ID0gMTAwO1xyXG4gICAgICAgIHRoaXMuYmcxID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcxXCIpO1xyXG4gICAgICAgIHRoaXMuYmcyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcyXCIpO1xyXG4gICAgICAgIHRoaXMudGltZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcInRpbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaG93QnRuXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBhdXNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJvdW5kID0gMDsgXHJcbiAgICAgICAgdGhpcy5sZXZlbCA9IDI7XHJcbiAgICAgICAgdGhpcy5jb3VudFRpbWUgPSA2MDtcclxuICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gIT0gMCl7XHJcbiAgICAgICAgICAgIHRoaXMubGV2ZWwgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b207XHJcbiAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lID0gMTIwMDAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICB0aGlzLnRpbWVDb3VudCA9IDAuMTtcclxuICAgICAgICB0aGlzLmNsaWNrTm93ID0gMDtcclxuICAgICAgICB0aGlzLmNsaWNrQ291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5yb3V0ZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubW92ZUFycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5ub3dfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLlBvc19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGltZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29sb3JfQXJyYXkgPSBbXTtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR0FNRV9EQVRBID0gW107XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uc3VjY2VzcyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gMDtcclxuICAgICAgICB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICB0aGlzLndpblRpbWUgPSAwO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsID0gMDtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lLDEpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRHYW1lKCk7XHJcbiAgICB9XHJcbiAgICAvL+agueaNruaYr+WQpuWFqOmdouWxj++8jOWBmueLrOeri+mAgumFjeaWuemdolxyXG4gICAgZml0KCl7XHJcbiAgICAgICAgdGhpcy5maXRUb3AgPSA0NTA7ICAvLzYwMFxyXG4gICAgICAgIHRoaXMuZml0Qm90ID0gLTYwMDsgLy8tNzAwXHJcbiAgICAgICAgdmFyIGpnID0gdGhpcy5zZXRGaXQoKTtcclxuICAgICAgICBpZighamcpe1xyXG4gICAgICAgICAgICB0aGlzLmZpdFRvcCA9IDYwMDtcclxuICAgICAgICAgICAgdGhpcy5maXRCb3QgPSAtNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5Yik5pat5YWo6Z2i5bGPXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZyAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdCAoKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSB0aGlzLmdldFNldFNjcmVlblJlc29sdXRpb25GbGFnKCk7XHJcbiAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH1cclxuICAgIC8v6L+U5Zue6aaW6aG1XHJcbiAgICBiYWNrU2NlbmUoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+S4i+S4gOWFs++8jOaIluiAhemHjeaWsOW8gOWni++8jOaIluiAhei/lOWbnuS4iuS4gOWFs++8jOagueaNrmxldmVs5Yaz5a6aXHJcbiAgICByZVN0YXJ0KHR5cGUpe1xyXG4gICAgICAgIC8vIGlmKEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSAhPSAwKXtcclxuICAgICAgICAvLyAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNob3dCdG5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIHRoaXMudGltZUNvdW50ID0gMC4xO1xyXG4gICAgICAgIHRoaXMuY2xpY2tOb3cgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucm91dGVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm5vd19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuUG9zX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tb3ZlQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnRpbWVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gW107XHJcbiAgICAgICAgaWYodHlwZSA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5iZ01vdmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IDIpe1xyXG4gICAgICAgICAgICB0aGlzLmJnTW92ZSgtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9XHJcbiAgICAvL+iOt+iDnFxyXG4gICAgcGFzc0xldmVsKCl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSAmJiB0aGlzLmNvdW50VGltZSA+PSAwKXtcclxuICAgICAgICAgICAgbGV0IHRpbWVBcnJheSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgdGltZUNvdW50ID0gMDtcclxuICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0xOyBpPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSwyKTtcclxuICAgICAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAudG8odGltZUFycmF5W2stMV0se3g6dGhpcy5iYWxsX0FycmF5W2tdLngseTp0aGlzLmJhbGxfQXJyYXlba10ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoayA9PSB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWxsLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTdW4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RhcnQoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgIHRpbWVDb3VudCArPSAodGltZUFycmF5W2stMV0rMC4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5aSx6LSlXHJcbiAgICBsb3NlTGV2ZWwodHlwZSl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSAmJiB0aGlzLmNvdW50VGltZSA+PSAwKXtcclxuICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2tdKVxyXG4gICAgICAgICAgICAgICAgLnRvKDIse3g6YmFsbC54LHk6YmFsbC55fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBpZihrID09IHRoaXMuYmFsbF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwucG9zaXRpb24gPSBjYy52MyhiYWxsLngsYmFsbC55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyU3VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVTdGFydCh0eXBlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5riF55CG5aSq6ZizXHJcbiAgICBjbGVhclN1bigpe1xyXG4gICAgICAgIGZvcihsZXQgaz0wOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10ucmVtb3ZlRnJvbVBhcmVudCgpO1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmNsaWNrQ291bnQgKz0gMTtcclxuICAgICAgICAgICAgbGV0IGNsaWNrVGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnRpbWVfQXJyYXkucHVzaCgoY2xpY2tUaW1lIC0gdGhpcy50aW1lU3RhcnQpKVxyXG4gICAgICAgICAgICB0aGlzLnRpbWVTdGFydCA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBpZihkYXRhID09IHRoaXMuY2xpY2tOb3cpe1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkF1ZGlvTWFuYWdlci5wbGF5QXVkaW9CdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS55KSxcclxuICAgICAgICAgICAgICAgICAgICBjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgMC4yKTsgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb3cgKz0gMTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdLmdldENoaWxkQnlOYW1lKFwiZ3VhbmdcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID09IHRoaXMubm93X0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwgKz0gdGhpcy5jbGlja05vdztcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJUaW1lID0gdGhpcy5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5zdGFydFRpbWUgPiAwICYmIHRoaXMub3ZlclRpbWUgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lICs9ICh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwOyB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3IgPSBcInlcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsIDwgNCAmJiB0aGlzLmxldmVsID4gMSljb2xvciA9IFwieXJcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMubGV2ZWwgPj0gNCkgY29sb3IgPSBcInlyYlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB3aW4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luLmFjdGl2ZSA9IHRydWU7IHdpbi5zZXRTY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQXVkaW9NYW5hZ2VyLnBsYXlXaW4oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdW5kICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHN1bkFycmF5ID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLm1vdmVBcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbbV0gPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCh0aGlzLm1vdmVBcnJheVttXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5DTElDS19EQVRBID0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6dHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kOnRoaXMucm91bmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFN1bkNvdW50OnRoaXMubm93X0FycmF5Lmxlbmd0aCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVkU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuU3BlZWQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlU3BlZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5yZXBlYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvckxpc3Q6dGhpcy5jb2xvcl9BcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOmZpbmlzaF90aW1lLzEwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOnRoaXMubGV2ZWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5MaXN0OnN1bkFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcFRpbWVMaXN0OnRoaXMudGltZV9BcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmRlcjp0aGlzLmNvdW50VGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4od2luKVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMDEse3NjYWxlOjIuNX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMzUse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID49IDE1KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxldmVsICs9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnVodW8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc0xldmVsKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmxldmVsTGFiZWwuc3RyaW5nID0gdGhpcy5sZXZlbCArIFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzTGV2ZWwoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9zcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/miafooYzlpLHotKVcclxuICAgIHNldExvc3MoKXtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQXVkaW9NYW5hZ2VyLnBsYXlXYXJuaW5nKCk7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub3ZlclRpbWUgPSB0aGlzLmdldFRpbWUoKTtcclxuICAgICAgICBpZih0aGlzLnN0YXJ0VGltZSA+IDAgJiYgdGhpcy5vdmVyVGltZSA+IDApe1xyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgKz0gKHRoaXMub3ZlclRpbWUgLSB0aGlzLnN0YXJ0VGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBmaW5pc2hfdGltZSA9IHBhcnNlSW50KCh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpLzEwMCtcIlwiKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IDA7IHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIGxldCBjb2xvciA9IFwieVwiO1xyXG4gICAgICAgIGlmKHRoaXMubGV2ZWwgPCA0ICYmIHRoaXMubGV2ZWwgPiAxKWNvbG9yID0gXCJ5clwiO1xyXG4gICAgICAgIGVsc2UgaWYodGhpcy5sZXZlbCA+PSA0KSBjb2xvciA9IFwieXJiXCI7XHJcbiAgICAgICAgdGhpcy5yb3VuZCArPSAxO1xyXG4gICAgICAgIGxldCBzdW5BcnJheSA9IFtdO1xyXG4gICAgICAgIGlmKHRoaXMubW92ZUFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IG09MCA7IG08dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2godGhpcy5tb3ZlQXJyYXlbbV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLmJhbGxfQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQ0xJQ0tfREFUQSA9IFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZToxLFxyXG4gICAgICAgICAgICBzdWNjZXNzOmZhbHNlLFxyXG4gICAgICAgICAgICByb3VuZDp0aGlzLnJvdW5kLFxyXG4gICAgICAgICAgICB0b3RhbFN1bkNvdW50OnRoaXMubm93X0FycmF5Lmxlbmd0aCxcclxuICAgICAgICAgICAgbW92ZWRTdW5Db3VudDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVOdW1iZXIsXHJcbiAgICAgICAgICAgIHN1blNwZWVkOkdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZVNwZWVkLFxyXG4gICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5yZXBlYXQsXHJcbiAgICAgICAgICAgIGNvbG9yTGlzdDp0aGlzLmNvbG9yX0FycmF5LFxyXG4gICAgICAgICAgICBkdXJhdGlvbjpmaW5pc2hfdGltZS8xMCxcclxuICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOnRoaXMubGV2ZWwsXHJcbiAgICAgICAgICAgIHN1bkxpc3Q6c3VuQXJyYXksXHJcbiAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDp0aGlzLnRpbWVfQXJyYXksXHJcbiAgICAgICAgICAgIHJlbWFpbmRlcjp0aGlzLmNvdW50VGltZVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldERhdGEoKTtcclxuICAgICAgICBpZih0aGlzLmZ1aHVvID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKDEpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5sZXZlbCA+IDIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZXZlbCAtPSAxO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb3NlTGV2ZWwoMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgIGNjLnR3ZWVuKG92ZXIpXHJcbiAgICAgICAgLnRvKDAuMjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4xNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5byA5aeL5ri45oiPXHJcbiAgICBzdGFydEdhbWUoKXtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPiAwKXtcclxuICAgICAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3VuKCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsKVxyXG4gICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjI1NSxzY2FsZToxLjN9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+aJp+ihjOWkqumYs+i/kOihjOWKqOeUu++8jOS7peWPiuWQjumdouenu+WKqOWKqOeUu1xyXG4gICAgcnVuR2FtZSgpe1xyXG4gICAgICAgIGxldCB0aW1lID0gLTY1MDtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIHRpbWUgPSB0aGlzLm5vd19BcnJheVtpXS50aW1lKjEwMDAgKyB0aW1lO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRlbXAgPSB0aGlzLm5vd19BcnJheVtpXS50aW1lQ291bnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGVtcCA+IDAuNSkgdGVtcCA9IDAuNTtcclxuICAgICAgICAgICAgICAgICAgICBpZihpICE9IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGwgJiYgdGhpcy5ub3dfQXJyYXlbaV0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVMaW5lKGNjLnYyKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KSxjYy52Mih0aGlzLm5vd19BcnJheVtpXS54LHRoaXMubm93X0FycmF5W2ldLnkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0udGltZS10ZW1wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGwpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKHRoaXMubm93X0FycmF5W2ldLnRpbWUtdGVtcCx7eDp0aGlzLm5vd19BcnJheVtpXS54LHk6dGhpcy5ub3dfQXJyYXlbaV0ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMSx7c2NhbGU6MX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKGksdGhpcy5ub3dfQXJyYXlbaV0uY29sb3IsdGhpcy5ub3dfQXJyYXlbaV0uc3BlZWQsdGhpcy5ub3dfQXJyYXlbaV0ucmVwZWF0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSB0aGlzLm5vd19BcnJheS5sZW5ndGggLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmVnaW5HYW1lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyPDEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdXNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTUwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgdGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/orr7nva7np7vliqjph43lj6DmlbDmja5cclxuICAgIGNyZWF0ZU1vdmUoKXtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICBsZXQgaW5mbyA9IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgICAgIC8v5pS55Y+Y56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgIHZhciBzcGVlZCA9IDc7XHJcbiAgICAgICAgICAgIGlmKGluZm8ubW92ZVNwZWVkID49IDIpe1xyXG4gICAgICAgICAgICAgICAgc3BlZWQgPSA3IC0gaW5mby5tb3ZlU3BlZWQvMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihpbmZvLnJlcGVhdCA9PSAxKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVwZWF0ICA9IHBhcnNlSW50KChNYXRoLnJhbmRvbSgpKihpbmZvLm51bWJlci0xKSsxKSArIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRlbXBOdW1iZXIgPSAwO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5yZXBlYXQgPSA0O1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5yZXBlYXQgID4gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSBwYXJzZUludChNYXRoLnJhbmRvbSgpKjQgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnJlcGVhdCAgPT0gKGluZm8ubnVtYmVyLTEpKSAgLy/lpoLmnpzmmK/mnIDlkI7kuIDkuKog5LiN6IO96Lef56ys5LiA5Liq6YeN5Y+gXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSB0aGlzLnJlcGVhdCAgLSBwYXJzZUludCggKE1hdGgucmFuZG9tKCkqMyArIDIpKyBcIlwiKVxyXG4gICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W3RoaXMucmVwZWF0IF0gPSB0ZW1wTnVtYmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXsgLy8gMCAxIDIgMyA0IDUgXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gNiAtIDMgLSAxICA9IDIgNCAgMDEgNFxyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ICA9PSAwKSB0aGlzLnJlcGVhdCAgPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPT0gMil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gaW5mby5udW1iZXIgLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZigoaW5mby5udW1iZXItMS10aGlzLnJlcGVhdCApID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gdGhpcy5yZXBlYXQgLSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoKGluZm8ubnVtYmVyLTEtdGhpcy5yZXBlYXQgKSA+IDIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHBhcnNlSW50KE1hdGgucmFuZG9tKCkqKGluZm8ubnVtYmVyLXRoaXMucmVwZWF0IC0yKSArIFwiXCIpICsgdGhpcy5yZXBlYXQgICsgMiA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W3RoaXMucmVwZWF0XSA9IHRlbXBOdW1iZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaW5mby5tb3ZlTnVtYmVyID4gMCl7XHJcbiAgICAgICAgICAgICAgICAvLzAgMSAyIDMgNCA1IDYgNyA4IDlcclxuICAgICAgICAgICAgICAgIC8v5Y+v56e75Yqo5Yy65YiGXHJcbiAgICAgICAgICAgICAgICBsZXQgcG9zID0gY2MudjIoMCwwKTtcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgej0wOyB6PGluZm8ubnVtYmVyOyB6Kyspe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W3pdID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgcD0wOyBwPGluZm8ubW92ZU51bWJlcjsgcCsrKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtpbmZvLm51bWJlci0xLXBdID0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCB0aW1lT3V0ID0gMDtcclxuICAgICAgICAgICAgICAgIC8v5omT5Lmx5Y+v56e75Yqo6aG65bqPXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXlbMF0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCByPWluZm8ubnVtYmVyLTE7IHI+PTA7IHItLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W3JdID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbcl0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbMF0gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy/lsIbph43lj6DnmoTorr7nva7kuLrkuI3lj6/np7vliqggIDEgMSAxIDEgMCAwIDEgMCAwIDAgICAvIDIgN1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBrID0wOyBrPHRoaXMubW92ZUFycmF5Lmxlbmd0aDtrKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W2tdPT0xICYmIChrID09IHRoaXMucmVwZWF0IHx8IGsgPT0gdGhpcy5udW1iZXJSZXBlYXQpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtID0gdGhpcy5tb3ZlQXJyYXkubGVuZ3RoLTE7IG0gPj0gMDsgbS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gIT0gayAmJiB0aGlzLm1vdmVBcnJheVttXSA9PSAwICYmIG0hPSB0aGlzLnJlcGVhdCAmJiBtIT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtrXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbSAgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgaSA9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheSBbaV0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVPdXQgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgPSB0aGlzLmdldFBvczIodHJ1ZSxpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W2ldID0gcG9zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB0aW1lT3V0KjMwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v56e75Yqo5ZCO5pWw5o2uIOmHjeaWsOWIt+S4gOmBjei1i+WAvFxyXG4gICAgdXBkYXRlQXJyYXkoKXtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICB0aGlzLm5vd19BcnJheVtpXS54ID0gdGhpcy5Qb3NfQXJyYXlbaV0ueDtcclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0ueSA9IHRoaXMuUG9zX0FycmF5W2ldLnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lpKrpmLPliJ3lp4vljJblkI7np7vliqjmlrnms5VcclxuICAgIG1vdmVBY3Rpb24oKXtcclxuICAgICAgICB0aGlzLnVwZGF0ZUFycmF5KCk7XHJcbiAgICAgICAgbGV0IG1vdmVBcnJheSA9IHRoaXMubW92ZUFycmF5O1xyXG4gICAgICAgIGxldCBpbmZvID0gR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXTtcclxuICAgICAgICAvL+aUueWPmOenu+WKqOmAn+W6plxyXG4gICAgICAgIHZhciBzcGVlZCA9IDc7XHJcbiAgICAgICAgaWYoaW5mby5tb3ZlU3BlZWQgPj0gMil7XHJcbiAgICAgICAgICAgIHNwZWVkID0gNyAtIGluZm8ubW92ZVNwZWVkLzI7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgaWYoaW5mby5tb3ZlTnVtYmVyID4gMCl7XHJcbiAgICAgICAgICAgIC8vMCAxIDIgMyA0IDUgNiA3IDggOVxyXG4gICAgICAgICAgICAvL+WPr+enu+WKqOWMuuWIhlxyXG4gICAgICAgICAgICAvL+WwhumHjeWPoOeahOiuvue9ruS4uuS4jeWPr+enu+WKqCAgMSAxIDEgMSAwIDAgMSAwIDAgMCAgIC8gMiA3XHJcbiAgICAgICAgICAgIGZvcihsZXQgayA9MDsgazx0aGlzLm1vdmVBcnJheS5sZW5ndGg7aysrKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W2tdPT0xICYmIChrID09IHRoaXMucmVwZWF0IHx8IGsgPT0gdGhpcy5udW1iZXJSZXBlYXQpKXtcclxuICAgICAgICAgICAgICAgICAgICBmb3IobGV0IG0gPSB0aGlzLm1vdmVBcnJheS5sZW5ndGgtMTsgbSA+PSAwOyBtLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihtICE9IGsgJiYgdGhpcy5tb3ZlQXJyYXlbbV0gPT0gMCAmJiBtIT0gdGhpcy5yZXBlYXQgJiYgbSE9IHRoaXMubnVtYmVyUmVwZWF0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W2tdID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGxhc3ROdW1iZXIgPSAwO1xyXG4gICAgICAgICAgICAvL+mUgeWumuacgOWQjuS4gOS4quWPr+enu+WKqOeahFxyXG4gICAgICAgICAgICBmb3IobGV0IGogPTA7IGo8bW92ZUFycmF5Lmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgICAgICAgaWYobW92ZUFycmF5W2pdPT0xKXtcclxuICAgICAgICAgICAgICAgICAgICBsYXN0TnVtYmVyID0gajtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3IobGV0IGkgPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYobW92ZUFycmF5W2ldID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgIT0gbGFzdE51bWJlcil7ICAgIC8v5aaC5p6c5LiN5piv5pyA5ZCO5LiA5Liq56e75Yqo55qEXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0aW1lID0gc3BlZWQqdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGxfQXJyYXlbaV0ueCx0aGlzLmJhbGxfQXJyYXlbaV0ueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnksMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtpXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWUse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5W2ldfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8v5aaC5p6c5piv5pyA5ZCO5LiA5LiqXHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRpbWUgPSBzcGVlZCp0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSwzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2ldKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8odGltZSx7cG9zaXRpb246dGhpcy5Qb3NfQXJyYXlbaV19KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5q+P5qyh6YeN5paw5byA5aeL5paw5LiA6L2u5YS/5ri45oiPXHJcbiAgICBiZWdpbkdhbWUoKXtcclxuICAgICAgICB0aGlzLmJlZ2luID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gdGhpcy5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5wYXVzZSA9IGZhbHNlO1xyXG4gICAgICAgIC8vIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNob3dCdG5cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8v5pqC5pe25L2c5bqfXHJcbiAgICAvLyBnZXRSYW5kb21BcnJheShsYXN0TnVtYmVyKXtcclxuICAgIC8vICAgICBsZXQgbnVtID0gIHBhcnNlSW50KE1hdGgucmFuZG9tKCkqOCAtIDQgKyBcIlwiKTtcclxuICAgIC8vICAgICBsZXQgamcgPSBudW0gKyBsYXN0TnVtYmVyO1xyXG4gICAgLy8gICAgIGlmKG51bSA+IDEgfHwgbnVtIDwtMSl7XHJcbiAgICAvLyAgICAgICAgIGlmKCBudW0gPT0gMCB8fCAoIGpnPDAgfHwgamcgPj0gdGhpcy5Qb3NfQXJyYXkubGVuZ3RoKSl7XHJcbiAgICAvLyAgICAgICAgICAgICBqZyA9IHRoaXMuZ2V0UmFuZG9tQXJyYXkobGFzdE51bWJlcik7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgZWxzZXtcclxuICAgIC8vICAgICAgICAgamcgPSB0aGlzLmdldFJhbmRvbUFycmF5KGxhc3ROdW1iZXIpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICByZXR1cm4gamc7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy/liJvlu7rlpKrpmLPmiYDpnIDmlbDmja5cclxuICAgIGNyZWF0ZVN1bigpe1xyXG4gICAgICAgIGxldCBsZXZlbERhdGEgPSBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdO1xyXG4gICAgICAgIGxldCB0aWVtT3V0ID0gMDtcclxuICAgICAgICBmb3IobGV0IGw9MDsgbDxsZXZlbERhdGEubnVtYmVyO2wrKyl7XHJcbiAgICAgICAgICAgIHRpZW1PdXQgKz0gMTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwb3MgPSB0aGlzLmdldFBvcyhmYWxzZSxsKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlBvc19BcnJheS5wdXNoKHBvcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID09IGxldmVsRGF0YS5udW1iZXIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVQb3MoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9LCB0aWVtT3V0KjEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/liJvlu7rlpKrpmLPkvY3nva7vvIzpopzoibLkv6Hmga/nrYnmlbDmja5cclxuICAgIGNyZWF0ZVBvcygpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge3g6dGhpcy5iYWxsLngseTp0aGlzLmJhbGwueSx0aW1lOjAsdGltZUNvdW50OjAsY29sb3I6MCxzcGVlZDowLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgbGV0IGxldmVsRGF0YSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgLy/popzoibLljLrliIZcclxuICAgICAgICBsZXQgY29sb3JBcnJheSA9IFswLDFdO1xyXG4gICAgICAgIGZvcihsZXQgaj0wOyBqPGxldmVsRGF0YS5udW1iZXItMjtqKyspe1xyXG4gICAgICAgICAgICBsZXQgY29sb3JUZW1wID0gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSozK1wiXCIpO1xyXG4gICAgICAgICAgICBpZihsZXZlbERhdGEubnVtYmVyIDwgNiAmJiBjb2xvclRlbXAgPT0gMikgY29sb3JUZW1wID0gMDtcclxuICAgICAgICAgICAgY29sb3JBcnJheS5wdXNoKGNvbG9yVGVtcCk7XHJcbiAgICAgICAgICAgIGNvbG9yQXJyYXkuc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3JBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgIGlmKGxldmVsRGF0YS5udW1iZXIgPT0gNCkgY29sb3JBcnJheSA9IFswLDAsMCwwXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gY29sb3JBcnJheTtcclxuICAgICAgICAvL+WtmOWCqOWkqumYs+aVsOaNrlxyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPGxldmVsRGF0YS5udW1iZXI7aSsrKXtcclxuICAgICAgICAgICAgbGV0IHRpbWVDb3VudCA9IHRoaXMudGltZUNvdW50ICsgKDAuNi10aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSwxKSk7XHJcbiAgICAgICAgICAgIGxldCB0aW1lID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnksMSkrdGltZUNvdW50O1xyXG4gICAgICAgICAgICBkYXRhID0ge3g6dGhpcy5Qb3NfQXJyYXlbaV0ueCx5OnRoaXMuUG9zX0FycmF5W2ldLnksdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnQsY29sb3I6Y29sb3JBcnJheVtpXSxzcGVlZDpsZXZlbERhdGEubW92ZVNwZWVkLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ID09IGkpe1xyXG4gICAgICAgICAgICAgICAgZGF0YS5yZXBlYXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5udW1iZXJSZXBlYXQgPT0gaSl7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnJlcGVhdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ydW5HYW1lKCk7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPlu+8jE7kuKrlpKrpmLPkvY3nva7nmoTmlrnms5XvvIzlkoxQT1My5YiG5byA5Lik5Liq5pa55rOV77yM6Ziy5q2i6YCS5b2S5rqi5Ye6XHJcbiAgICBnZXRQb3ModHlwZSxudW0pe1xyXG4gICAgICAgIGxldCBwb3NYID0gTWF0aC5yYW5kb20oKSo2MjAgLSAzMTA7XHJcbiAgICAgICAgbGV0IHBvc1kgPSBNYXRoLnJhbmRvbSgpKih0aGlzLmZpdFRvcC10aGlzLmZpdEJvdCkgKyB0aGlzLmZpdEJvdDtcclxuICAgICAgICBsZXQgcG9pbnQgPSBjYy52Mihwb3NYLHBvc1kpO1xyXG4gICAgICAgIGlmKHRoaXMuUG9zX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBkaXN0YW5jZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgbGV0IHBkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IG51bSkgcGQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZGlzdGFuY2UgPSB0aGlzLmdldERpc3RhbmNlKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3ModHlwZSxudW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPT0gdHJ1ZSAmJiBpID09ICh0aGlzLlBvc19BcnJheS5sZW5ndGgtMSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb2ludDtcclxuICAgIH1cclxuICAgIC8v6I635Y+W77yMTuS4quWkqumYs+WPr+enu+WKqOS9jee9rueahOaWueazle+8jOWSjFBPU+WIhuW8gOeul+mYsuatoumAkuW9kua6ouWHulxyXG4gICAgZ2V0UG9zMih0eXBlLG51bSl7XHJcbiAgICAgICAgbGV0IHBvc1ggPSBNYXRoLnJhbmRvbSgpKjYyMCAtIDMxMDtcclxuICAgICAgICBsZXQgcG9zWSA9IE1hdGgucmFuZG9tKCkqKHRoaXMuZml0VG9wLXRoaXMuZml0Qm90KSArIHRoaXMuZml0Qm90O1xyXG4gICAgICAgIGxldCBwb2ludCA9IGNjLnYyKHBvc1gscG9zWSk7XHJcbiAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMuUG9zX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IGRpc3RhbmNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBsZXQgcGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gbnVtKSBwZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBkaXN0YW5jZSA9IHRoaXMuZ2V0RGlzdGFuY2UyKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3MyKHR5cGUsbnVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlID09IHRydWUgJiYgaSA9PSAodGhpcy5Qb3NfQXJyYXkubGVuZ3RoLTEpKXtcclxuICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9pbnQ7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOeCueS5i+mXtOi3neemu++8jOi/lOWbnuWIpOaWreaYr+WQpuWcqOS4gOWumuiMg+WbtOWGhSDlsIbmnaXmj5Dlh7rliLDlt6XlhbfnsbtcclxuICAgIGdldERpc3RhbmNlKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heE1vdmUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlIDwgR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tYXhNb3ZlKXtcclxuICAgICAgICAgICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH1cclxuICAgIC8v5ZG95Lit5Yqo55S7XHJcbiAgICBoaXRBY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gdHJ1ZTsgdGhpcy5oaXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5oaXQuc2V0UG9zaXRpb25cclxuICAgICAgICB0aGlzLmhpdC5zZXRQb3NpdGlvbih0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueCszNSx0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueSszNSk7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5oaXQpXHJcbiAgICAgICAgLnRvKDAse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAudG8oMC4yLHtwb3NpdGlvbjpjYy52Myh0aGlzLmhpdC54LTM1LHRoaXMuaGl0LnktMzUsMCl9KVxyXG4gICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5Yib6YCg5aSq6ZizXHJcbiAgICBjcmVhdGVCYWxsKG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpe1xyXG4gICAgICAgIGxldCBiYWxsID0gbnVsbDtcclxuICAgICAgICBpZihjb2xvciA9PSAwKWJhbGwgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLnFpdTEpO1xyXG4gICAgICAgIGVsc2UgaWYoY29sb3IgPT0gMSliYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUyKTtcclxuICAgICAgICBlbHNlIGlmKGNvbG9yID09IDIpYmFsbCA9IGNjLmluc3RhbnRpYXRlKHRoaXMucWl1Myk7XHJcbiAgICAgICAgYmFsbC5wYXJlbnQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJTdW5cIik7XHJcbiAgICAgICAgYmFsbC56SW5kZXggPSB0aGlzLm5vd19BcnJheS5sZW5ndGggLSBudW1iZXI7XHJcbiAgICAgICAgYmFsbC5zZXRQb3NpdGlvbih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSk7XHJcbiAgICAgICAgYmFsbC5nZXRDb21wb25lbnQoXCJTdW5cIikuaW5pdChudW1iZXIsY29sb3Isc3BlZWQscmVwZWF0KTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkucHVzaChiYWxsKTtcclxuICAgIH1cclxuICAgIC8v6ZSA5q+B6L+e57q/XHJcbiAgICBkZXN0cm95TGluZSgpIHtcclxuICAgICAgICBmb3IobGV0IGkgPTA7IGk8IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW4ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICB9XHJcbiAgICAvL+WIm+W7uui/nue6v1xyXG4gICAgY3JlYXRlTGluZShzdGFydCxlbmQsdGltZSl7XHJcbiAgICAgICAgbGV0IGxpbmUgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLmxpbmVQcmVmYWIpO1xyXG4gICAgICAgIGxpbmUucGFyZW50ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKTtcclxuICAgICAgICBsaW5lLnNldFBvc2l0aW9uKHN0YXJ0Lngsc3RhcnQueSk7XHJcbiAgICAgICAgY29uc3QgZHggPSBlbmQueCAtIHN0YXJ0Lng7XHJcbiAgICAgICAgY29uc3QgZHkgPSBlbmQueSAtIHN0YXJ0Lnk7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGxpbmUuaGVpZ2h0ID0gZGlzdGFuY2U7XHJcbiAgICAgICAgbGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgIGxpbmUuYW5nbGUgPSAtdGhpcy5jYWxjdWxhdGVBbmdsZShzdGFydC54LHN0YXJ0LnksZW5kLngsZW5kLnkpO1xyXG4gICAgICAgIGNjLnR3ZWVuKGxpbmUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZToxfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v6I635Y+W5Lik54K55LmL6Ze055qE6KeS5bqm77yM5bCG5p2l6YO95Y+v5pS+5bel5YW357G7XHJcbiAgICBjYWxjdWxhdGVBbmdsZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoeTIteTEseDIteDEpKjE4MCAvIE1hdGguUEkgLSA5MDtcclxuICAgICAgICByZXR1cm4gLWFuZ2xlO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7TnmoTot53nprsg6L+U5Zue5a+55bqU5pe26Ze0XHJcbiAgICBjYWxjdWxhdGVEaXN0YW5jZSh4MSwgeTEsIHgyLCB5MiwgbnVtKSB7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICBsZXQgdGltZSA9IDA7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKG51bSA9PSAxKXtcclxuICAgICAgICAgICAgaWYoZGlzdGFuY2UgPiA4MDApIGRpc3RhbmNlID0gODAwO1xyXG4gICAgICAgICAgICB0aW1lID0gZGlzdGFuY2UvODAwICogMC42O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAyKXtcclxuICAgICAgICAgICAgaWYoZGlzdGFuY2UgPiAxMjAwKSBkaXN0YW5jZSA9IDEyMDA7XHJcbiAgICAgICAgICAgIHRpbWUgPSBkaXN0YW5jZS8xMjAwICogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMyl7XHJcbiAgICAgICAgICAgIGlmKGRpc3RhbmNlID4gMTIwMCkgZGlzdGFuY2UgPSAxMjAwO1xyXG4gICAgICAgICAgICB0aW1lID0gZGlzdGFuY2UvMTIwMCAqIDEuNTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aW1lO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7Tot53nprsgIOi/lOWbnui3neemu+WIpOaWrVxyXG4gICAgZ2V0RGlzdGFuY2UyKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heERpc3RhbmNlKSBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcbiAgICAvL+iDjOaZr+enu+WKqFxyXG4gICAgYmdNb3ZlKHR5cGUpe1xyXG4gICAgICAgIGxldCByYW5kb20gPSBNYXRoLnJhbmRvbSgpKjMwMCArIDMwMDtcclxuICAgICAgICBsZXQgcG9zWCA9IE1hdGgucmFuZG9tKCkqNjAwIC0gMzAwO1xyXG4gICAgICAgIGxldCB5MSA9IHRoaXMuYmcxLnkgLSByYW5kb20qdHlwZTtcclxuICAgICAgICBsZXQgdGltZTEgPSAwLjcqKHJhbmRvbS80MDApO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAudG8oMC4zLHtzY2FsZToxLjN9KVxyXG4gICAgICAgIC50byh0aW1lMSx7eDpwb3NYfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLmJnMSlcclxuICAgICAgICAuZGVsYXkoMC4zKVxyXG4gICAgICAgIC50byh0aW1lMSx7eTp5MX0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSkgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgICAgICB9LCB0aW1lMSoxNTAwKTtcclxuICAgIH1cclxuICAgIC8v5pe26Ze05qC85byP6L2s5o2iXHJcbiAgICBnZXRUaW1lTWFyZ2luKHNlY29uZDpudW1iZXIpIHtcclxuICAgICAgICBsZXQgdG90YWwgPSAwO1xyXG4gICAgICAgIHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gMDtcclxuICAgICAgICBob3VyID0gcGFyc2VJbnQoKHRvdGFsIC8gMzYwMCkgKyBcIlwiKTsvL+iuoeeul+aVtOaVsOWwj+aXtuaVsFxyXG4gICAgICAgIGxldCBhZnRlckhvdXIgPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwOy8v5Y+W5b6X566X5Ye65bCP5pe25pWw5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pbiA9IHBhcnNlSW50KChhZnRlckhvdXIgLyA2MCkrXCJcIik7Ly/orqHnrpfmlbTmlbDliIZcclxuICAgICAgICBsZXQgbSA9IFwiXCIgKyBtaW47ICBcclxuICAgICAgICBpZihtaW4gPCAxMCkgbSA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWlhbyA9IGFmdGVyTWluICsgXCJcIjtcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBtaWFvID0gXCIwXCIgKyBhZnRlck1pbjtcclxuICAgICAgICByZXR1cm4gbSArICc6JyArIG1pYW9cclxuICAgIH1cclxuICAgIC8v5aaC5p6c5piv5YCS6K6h5pe2IOiwg+eUqOatpOaWueazlVxyXG4gICAgdXBkYXRlQ291bnREb3duVGltZSAoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY291bnRUaW1lID4gMCAmJiB0aGlzLnBhdXNlID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSB0aGlzLmdldFRpbWVNYXJnaW4odGhpcy5jb3VudFRpbWUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8IDUpe1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy50aW1lLm5vZGUpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yNSx7c2NhbGU6MS41LGNvbG9yOmNjLmNvbG9yKDI1NSwwLDApfSlcclxuICAgICAgICAgICAgICAgIC50bygwLjI1LHtzY2FsZToxLGNvbG9yOmNjLmNvbG9yKDI1NSwyNTUsMjU1KX0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKVxyXG4gICAgICAgICAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYodGhpcy5jb3VudFRpbWUgPD0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMudXBkYXRlQ291bnREb3duVGltZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvc3MoKTtcclxuICAgICAgICAgICAgICAgIHZhciB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tDb3VudCA+IDApIHRpbWUgPSBwYXJzZUludChHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUvdGhpcy5jbGlja0NvdW50ICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSBwYXJzZUludCh0aW1lLzEwMCArIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lIC8xMDtcclxuICAgICAgICAgICAgICAgIGlmKHRpbWUgPiAxMDAwMCkgdGltZSA9IChNYXRoLnJhbmRvbSgpKjEwKzUpKjEwMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmFuayh0aW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5LiK5Lyg5q+P5qyh5pON5L2c5pWw5o2uXHJcbiAgICBzZXREYXRhKCl7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdBTUVfREFUQSA9IFtdO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEEucHVzaChHYW1lRGF0YS5faW5zdGFuY2UuQ0xJQ0tfREFUQSk7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX2luaXQoKTtcclxuICAgICAgICBsZXQgZGF0YSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhtYXRjaElkKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwibWF0Y2hJZFwiOm1hdGNoSWQsXHJcbiAgICAgICAgICAgIFwiZGF0YVwiOiBkYXRhXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuS4iuS8oOaVsOaNrjpcIilcclxuICAgICAgICBIdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPlm1hdGNoSWQgIOeUqOS6juS4iuS8oOavj+asoeeCueWHu+aVsOaNrumHjOmdouiusOW9lWlk5pa55L6/5p+l6K+iXHJcbiAgICBnZXRNYXRjaElkICgpe1xyXG4gICAgICAgIGxldCBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hJZFwiKTtcclxuICAgICAgICBpZihtYXRjaElkID09IFwidW5kaWZlbmRcIiB8fCBtYXRjaElkPT1udWxsKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgPSAgdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBjaGFyID0gcGFyc2VJbnQobWF0Y2hJZFsxMF0pO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5yb3VuZCA9PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICBjaGFyICs9IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtYXRjaElkICA9IG1hdGNoSWQuc2xpY2UoMCwgMTApICsgY2hhciArIFwiXCI7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tYXRjaElkID0gbWF0Y2hJZDtcclxuICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH1cclxuICAgIC8v5qOA5rWLbWF0Y2hJZCDlpoLmnpzmnInnvJPlrZjku6XliY3nmoRuYW5hbmHmlbDmja7muIXpmaRcclxuICAgIGNvbnRhaW5zTmFuYW5hKHN0cikge1xyXG4gICAgICAgIHJldHVybiAvbmEvaS50ZXN0KHN0cik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOiuvue9rk1hdGNoSWRcclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLGRhdGEpO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmjpLooYzmppzmlbDmja5cclxuICAgIHNldFJhbmsodGltZSl7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInJlYWN0aW9uVGltZVwiOiB0aW1lLFxyXG4gICAgICAgICAgICBcInRvdGFsU3VuQ291bnRcIjogR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwsXHJcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgSHR0cFV0aWwucmFua0RhdGEoMSxmdW5jdGlvbigpe30scG9zdERhdGEpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgyKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/kvZzlvIrvvIzmtYvor5XnlKhcclxuICAgIHNob3dOdW1iZXIoKXtcclxuICAgICAgICBpZih0aGlzLnNob3cgPT0gZmFsc2UpIHRoaXMuc2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnNob3cgPT0gdHJ1ZSkgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5zaG93TnVtYmVyKHRoaXMuc2hvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIE5vdGlmaWNhdGlvbi5vbihcImNsaWNrU3VuXCIsIHRoaXMuY2xpY2tTdW4sIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub2ZmKFwiY2xpY2tTdW5cIiwgdGhpcy5jbGlja1N1bik7XHJcbiAgICB9XHJcbiAgICB1cGRhdGUgKGR0KSB7XHJcbiAgICB9XHJcbn1cclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/tool/Shake.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, '61affD5SO9Ipo0fGmIeTFTZ', 'Shake'); -// Script/tool/Shake.js - -"use strict"; - -/** - * 自定义抖动效果 - */ -var Shake = cc.Class({ - "extends": cc.Component, - properties: { - //抖动时间 - duration: 0, - //X轴抖动范围 - shakeX: 0, - shakeY: 0 - }, - shake: function shake(callback) { - if (this.shaking) { - return; - } - - this.callback = callback; - this.shaking = true; - this.dtCost = 0; - this.nodeInitialPos = this.node.getPosition(); - this.unschedule(this.doSchedule); - this.schedule(this.doSchedule, 0, cc.macro.REPEAT_FOREVER, 0); - }, - doSchedule: function doSchedule(dt) { - var dt2 = dt * 50; - var randX = this.getRandomStrength(-this.shakeX, this.shakeX) * dt2; - var randY = this.getRandomStrength(-this.shakeY, this.shakeY) * dt2; - this.node.setPosition(cc.pAdd(this.nodeInitialPos, cc.v2(randX, randY))); - this.dtCost += dt; - - if (this.dtCost >= this.duration) { - this.unschedule(this.doSchedule); - this.node.setPosition(this.nodeInitialPos); - this.shaking = false; - - if (this.callback) { - this.callback(); - } - } - }, - //获取两个数间的随机值 - getRandomStrength: function getRandomStrength(min, max) { - return Math.random() * (max - min + 1) + min; - } -}); - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxTaGFrZS5qcyJdLCJuYW1lcyI6WyJTaGFrZSIsImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwiZHVyYXRpb24iLCJzaGFrZVgiLCJzaGFrZVkiLCJzaGFrZSIsImNhbGxiYWNrIiwic2hha2luZyIsImR0Q29zdCIsIm5vZGVJbml0aWFsUG9zIiwibm9kZSIsImdldFBvc2l0aW9uIiwidW5zY2hlZHVsZSIsImRvU2NoZWR1bGUiLCJzY2hlZHVsZSIsIm1hY3JvIiwiUkVQRUFUX0ZPUkVWRVIiLCJkdCIsImR0MiIsInJhbmRYIiwiZ2V0UmFuZG9tU3RyZW5ndGgiLCJyYW5kWSIsInNldFBvc2l0aW9uIiwicEFkZCIsInYyIiwibWluIiwibWF4IiwiTWF0aCIsInJhbmRvbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxLQUFLLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ2pCLGFBQVNELEVBQUUsQ0FBQ0UsU0FESztBQUdqQkMsRUFBQUEsVUFBVSxFQUFFO0FBQ1I7QUFDQUMsSUFBQUEsUUFBUSxFQUFFLENBRkY7QUFHUjtBQUNBQyxJQUFBQSxNQUFNLEVBQUUsQ0FKQTtBQUtSQyxJQUFBQSxNQUFNLEVBQUU7QUFMQSxHQUhLO0FBV2pCQyxFQUFBQSxLQUFLLEVBQUUsZUFBVUMsUUFBVixFQUFvQjtBQUN2QixRQUFHLEtBQUtDLE9BQVIsRUFBZ0I7QUFDWjtBQUNIOztBQUNELFNBQUtELFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlLElBQWY7QUFDQSxTQUFLQyxNQUFMLEdBQWMsQ0FBZDtBQUNBLFNBQUtDLGNBQUwsR0FBc0IsS0FBS0MsSUFBTCxDQUFVQyxXQUFWLEVBQXRCO0FBQ0EsU0FBS0MsVUFBTCxDQUFnQixLQUFLQyxVQUFyQjtBQUNBLFNBQUtDLFFBQUwsQ0FBYyxLQUFLRCxVQUFuQixFQUErQixDQUEvQixFQUFrQ2YsRUFBRSxDQUFDaUIsS0FBSCxDQUFTQyxjQUEzQyxFQUEyRCxDQUEzRDtBQUNILEdBckJnQjtBQXNCakJILEVBQUFBLFVBQVUsRUFBRSxvQkFBVUksRUFBVixFQUFjO0FBQ3RCLFFBQUlDLEdBQUcsR0FBR0QsRUFBRSxHQUFHLEVBQWY7QUFDQSxRQUFJRSxLQUFLLEdBQUcsS0FBS0MsaUJBQUwsQ0FBdUIsQ0FBQyxLQUFLakIsTUFBN0IsRUFBcUMsS0FBS0EsTUFBMUMsSUFBb0RlLEdBQWhFO0FBQ0EsUUFBSUcsS0FBSyxHQUFHLEtBQUtELGlCQUFMLENBQXVCLENBQUMsS0FBS2hCLE1BQTdCLEVBQXFDLEtBQUtBLE1BQTFDLElBQW9EYyxHQUFoRTtBQUNBLFNBQUtSLElBQUwsQ0FBVVksV0FBVixDQUFzQnhCLEVBQUUsQ0FBQ3lCLElBQUgsQ0FBUSxLQUFLZCxjQUFiLEVBQTZCWCxFQUFFLENBQUMwQixFQUFILENBQU1MLEtBQU4sRUFBYUUsS0FBYixDQUE3QixDQUF0QjtBQUNBLFNBQUtiLE1BQUwsSUFBZVMsRUFBZjs7QUFDQSxRQUFJLEtBQUtULE1BQUwsSUFBZSxLQUFLTixRQUF4QixFQUFrQztBQUM5QixXQUFLVSxVQUFMLENBQWdCLEtBQUtDLFVBQXJCO0FBQ0EsV0FBS0gsSUFBTCxDQUFVWSxXQUFWLENBQXNCLEtBQUtiLGNBQTNCO0FBQ0EsV0FBS0YsT0FBTCxHQUFlLEtBQWY7O0FBQ0EsVUFBRyxLQUFLRCxRQUFSLEVBQWlCO0FBQ2IsYUFBS0EsUUFBTDtBQUNIO0FBQ0o7QUFDSixHQXBDZ0I7QUFxQ2pCO0FBQ0FjLEVBQUFBLGlCQUFpQixFQUFFLDJCQUFVSyxHQUFWLEVBQWVDLEdBQWYsRUFBb0I7QUFDbkMsV0FBT0MsSUFBSSxDQUFDQyxNQUFMLE1BQWlCRixHQUFHLEdBQUdELEdBQU4sR0FBWSxDQUE3QixJQUFrQ0EsR0FBekM7QUFDSDtBQXhDZ0IsQ0FBVCxDQUFaIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICog6Ieq5a6a5LmJ5oqW5Yqo5pWI5p6cXHJcbiAqL1xyXG52YXIgU2hha2UgPSBjYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiBjYy5Db21wb25lbnQsXHJcblxyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIC8v5oqW5Yqo5pe26Ze0XHJcbiAgICAgICAgZHVyYXRpb246IDAsXHJcbiAgICAgICAgLy9Y6L205oqW5Yqo6IyD5Zu0XHJcbiAgICAgICAgc2hha2VYOiAwLFxyXG4gICAgICAgIHNoYWtlWTogMCxcclxuICAgIH0sXHJcblxyXG4gICAgc2hha2U6IGZ1bmN0aW9uIChjYWxsYmFjaykge1xyXG4gICAgICAgIGlmKHRoaXMuc2hha2luZyl7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jYWxsYmFjayA9IGNhbGxiYWNrO1xyXG4gICAgICAgIHRoaXMuc2hha2luZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kdENvc3QgPSAwO1xyXG4gICAgICAgIHRoaXMubm9kZUluaXRpYWxQb3MgPSB0aGlzLm5vZGUuZ2V0UG9zaXRpb24oKTtcclxuICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy5kb1NjaGVkdWxlKTtcclxuICAgICAgICB0aGlzLnNjaGVkdWxlKHRoaXMuZG9TY2hlZHVsZSwgMCwgY2MubWFjcm8uUkVQRUFUX0ZPUkVWRVIsIDApO1xyXG4gICAgfSxcclxuICAgIGRvU2NoZWR1bGU6IGZ1bmN0aW9uIChkdCkge1xyXG4gICAgICAgIHZhciBkdDIgPSBkdCAqIDUwO1xyXG4gICAgICAgIHZhciByYW5kWCA9IHRoaXMuZ2V0UmFuZG9tU3RyZW5ndGgoLXRoaXMuc2hha2VYLCB0aGlzLnNoYWtlWCkgKiBkdDI7XHJcbiAgICAgICAgdmFyIHJhbmRZID0gdGhpcy5nZXRSYW5kb21TdHJlbmd0aCgtdGhpcy5zaGFrZVksIHRoaXMuc2hha2VZKSAqIGR0MjtcclxuICAgICAgICB0aGlzLm5vZGUuc2V0UG9zaXRpb24oY2MucEFkZCh0aGlzLm5vZGVJbml0aWFsUG9zLCBjYy52MihyYW5kWCwgcmFuZFkpKSk7XHJcbiAgICAgICAgdGhpcy5kdENvc3QgKz0gZHQ7XHJcbiAgICAgICAgaWYgKHRoaXMuZHRDb3N0ID49IHRoaXMuZHVyYXRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMuZG9TY2hlZHVsZSk7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5zZXRQb3NpdGlvbih0aGlzLm5vZGVJbml0aWFsUG9zKTtcclxuICAgICAgICAgICAgdGhpcy5zaGFraW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY2FsbGJhY2spe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYWxsYmFjaygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5Lik5Liq5pWw6Ze055qE6ZqP5py65YC8XHJcbiAgICBnZXRSYW5kb21TdHJlbmd0aDogZnVuY3Rpb24gKG1pbiwgbWF4KSB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkgKyBtaW47XHJcbiAgICB9LFxyXG59KTtcclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Sun.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, '4be67sdkexCyqLl0NHd9N1f', 'Sun'); -// Script/Sun.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 _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var Notification_1 = require("./Notification"); -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - // onLoad () {} - NewClass.prototype.start = function () { - }; - //初始化数据 - NewClass.prototype.init = function (_id, color, speed, repeat) { - this.touch = true; - this.move = false; - this.id_Number = _id; - this._color = color; - this._speed = speed; - this._repeat = repeat; - //太阳动画 - cc.tween(this.node.getChildByName("shan")) - .repeatForever(cc.tween() - .to(1, { opacity: 0, scale: 0.5, }) - .delay(0.2) - .to(1, { opacity: 255, scale: 1.2 }) - .delay(0.5)) - .start(); - }; - //用于作弊 测试 - NewClass.prototype.showNumber = function (type) { - this.node.getChildByName("number").active = type; - if (type == true) - this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; - }; - //点击事件 - NewClass.prototype.clickBtn = function (event, data) { - if (data === "1") { - if (this.move == false && this.touch == true) { - if (this.node.parent.parent.name == "GameNode") { - if (this.node.parent.parent.getComponent("GameManager").begin == true) { - cc.tween(this.node.getChildByName("action")) - .to(0.5, { opacity: 0, scale: 1.8 }) - .start(); - cc.tween(this.node) - .to(0.3, { scale: 1.3 }) - .to(0.3, { scale: 1 }) - .start(); - this.touch = false; - this.node.zIndex = -1; - Notification_1.Notification.emit("clickSun", this.id_Number); - } - } - else { - this.touch = false; - this.node.zIndex = -1; - Notification_1.Notification.emit("clickSun", this.id_Number); - } - } - } - else { - if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { - this.touch = false; - this.node.zIndex = -1; - Notification_1.Notification.emit("clickSun", this.id_Number); - } - } - }; - 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,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dCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVNYW5hZ2VyIGZyb20gJy4vR2FtZU1hbmFnZXInO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbic7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBpZF9OdW1iZXI6bnVtYmVyXHJcbiAgICBfc3BlZWQ6bnVtYmVyXHJcbiAgICBfY29sb3I6bnVtYmVyXHJcbiAgICB0b3VjaDpib29sZWFuXHJcbiAgICBfcmVwZWF0OmJvb2xlYW5cclxuICAgIG1vdmU6Ym9vbGVhblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdChfaWQsY29sb3Isc3BlZWQscmVwZWF0KXtcclxuICAgICAgICB0aGlzLnRvdWNoID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlkX051bWJlciAgPSBfaWQ7XHJcbiAgICAgICAgdGhpcy5fY29sb3IgPSBjb2xvcjtcclxuICAgICAgICB0aGlzLl9zcGVlZCA9IHNwZWVkO1xyXG4gICAgICAgIHRoaXMuX3JlcGVhdCA9IHJlcGVhdDtcclxuICAgICAgICAvL+WkqumYs+WKqOeUu1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNoYW5cIikpXHJcbiAgICAgICAgLnJlcGVhdEZvcmV2ZXIoXHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKClcclxuICAgICAgICAgICAgLnRvKDEse29wYWNpdHk6MCxzY2FsZTowLjUsfSlcclxuICAgICAgICAgICAgLmRlbGF5KDAuMilcclxuICAgICAgICAgICAgLnRvKDEse29wYWNpdHk6MjU1LHNjYWxlOjEuMn0pXHJcbiAgICAgICAgICAgIC5kZWxheSgwLjUpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/nlKjkuo7kvZzlvIog5rWL6K+VXHJcbiAgICBzaG93TnVtYmVyKHR5cGUpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5hY3RpdmUgPSB0eXBlO1xyXG4gICAgICAgIGlmKHR5cGUgPT0gdHJ1ZSlcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5pZF9OdW1iZXIgKyBcIlwiO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vkuovku7ZcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIGlmKGRhdGEgPT09IFwiMVwiKXtcclxuICAgICAgICAgICAgaWYoIHRoaXMubW92ZSA9PSBmYWxzZSAmJiB0aGlzLnRvdWNoID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5ub2RlLnBhcmVudC5wYXJlbnQubmFtZSA9PSBcIkdhbWVOb2RlXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJhY3Rpb25cIikpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50bygwLjUse29wYWNpdHk6MCxzY2FsZToxLjh9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC4zLHtzY2FsZToxLjN9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC4zLHtzY2FsZToxfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG91Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3VjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYoIHRoaXMudG91Y2ggPT0gdHJ1ZSAmJiB0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHdWlkZU1hbmFnZXJcIikuYmVnaW4gPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuekluZGV4ID0gLTE7XHJcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Storage.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, '7cf8cMT5zJA0ZU4Gp0JcL8v', 'Storage'); -// Script/Storage.ts - -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.StorageMessage = void 0; -//缓存浏览器数据 -var StorageMessage = { - getStorage: function (key) { - var result = null; - if (cc.sys.localStorage.getItem(key)) { - var result = cc.sys.localStorage.getItem(key); - } - if (result) { - result = JSON.parse(result); - } - return result; - }, - setStorage: function (key, value) { - //主动拉起分享接口 - var temp = JSON.stringify(value); - cc.sys.localStorage.setItem(key, temp); - }, - removeStorage: function (key) { - //主动删除消息接口 - if (cc.sys.localStorage.getItem(key)) { - cc.sys.localStorage.removeItem(key); - } - }, -}; -exports.StorageMessage = StorageMessage; - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVM7QUFDVCxJQUFJLGNBQWMsR0FBRztJQUNqQixVQUFVLEVBQUcsVUFBUyxHQUFHO1FBQ3JCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQztZQUNsQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFHLE1BQU0sRUFBQztZQUNSLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUNELFVBQVUsRUFBRyxVQUFTLEdBQUcsRUFBQyxLQUFLO1FBQzNCLFVBQVU7UUFDVixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUNELGFBQWEsRUFBRyxVQUFTLEdBQUc7UUFDMUIsVUFBVTtRQUNWLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUNwQztJQUNILENBQUM7Q0FDSixDQUFDO0FBRU8sd0NBQWMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvL+e8k+WtmOa1j+iniOWZqOaVsOaNrlxudmFyIFN0b3JhZ2VNZXNzYWdlID0ge1xuICAgIGdldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgICB2YXIgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICAgIHZhciByZXN1bHQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYocmVzdWx0KXtcbiAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICAgIHNldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXksdmFsdWUpe1xuICAgICAgICAvL+S4u+WKqOaLiei1t+WIhuS6q+aOpeWPo1xuICAgICAgICB2YXIgdGVtcCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdGVtcClcbiAgICB9LFxuICAgIHJlbW92ZVN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgLy/kuLvliqjliKDpmaTmtojmga/mjqXlj6NcbiAgICAgIGlmKGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKXtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSlcbiAgICAgIH1cbiAgICB9LFxufTtcblxuZXhwb3J0IHsgU3RvcmFnZU1lc3NhZ2UgfTsiXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/tool/GameTool.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, 'a1dd7qMiCpOLL3FDXJd9DGy', 'GameTool'); -// Script/tool/GameTool.js - -"use strict"; - -var _window$GameTool; - -var StorageMessage = require("Storage").StorageMessage; - -window.GameTool = (_window$GameTool = { - _startTime: 0, - _endTime: 0, - _totalTime: 0, - getSeedRandom: function getSeedRandom(min, max) { - //包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); - }, - getSetScreenResolutionFlag: function getSetScreenResolutionFlag() { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if (height / width > 16.2 / 9) return false; - return true; - }, - //判断全面屏适配 - setFit: function setFit(canvas) { - var flag = GameTool.getSetScreenResolutionFlag(); - - if (flag) {// console.log("不是全面屏"); - // canvas.fitWidth = false; - // canvas.fitHeight = true; - } else {// console.log("是全面屏"); - // canvas.fitWidth = true; - // canvas.fitHeight = false; - } - - return flag; - }, - // submitScoreButtonFunc: function(score1,fen1){ - // console.log("上传分数:",score1,fen1) - // // var score = score1; - // // var fen = fen1; - // // if (CC_WECHATGAME) { - // // window.wx.postMessage({ - // // messageType: 3, - // // MAIN_MENU_NUM: "guan", - // // score: score, - // // MAIN_MENU_FEN: "score", - // // fen: fen, - // // }); - // // } else { - // // cc.log("提交得分: x1 : " + score) - // // } - // // return true; - // }, - submitScoreButtonFunc: function submitScoreButtonFunc(fen2, number) { - console.log("number=", number); - - if (number == 0) { - console.log("上传分数:", fen2); - var fen = fen2; - - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 3, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: fen, - fen: 0 - }); - } else { - cc.log("提交得分: x1 : " + fen); - } - } else { - console.log("上传特殊分数:", fen2); - var fen = fen2; - - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 7, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: 0, - fen: fen - }); - } else { - cc.log("提交得分: x1 : " + fen); - } - } - - return true; - }, - getTip: function getTip() { - var index = Math.floor(Math.random() * 4) + 1; - - switch (index) { - case 1: - { - return "根据小球的位置,合理晃动手机,确保小球不掉出木板。"; - } - - case 2: - { - return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。"; - } - - case 3: - { - return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。"; - } - - case 4: - { - return "尝试着顶开掉落的障碍,是个很酷的玩法。"; - } - } - }, - beginTiming: function beginTiming() { - this._startTime = new Date().getTime(); - }, - endTiming: function endTiming() { - this._endTime = new Date().getTime(); // this._totalTime = endTime - this._startTime; - }, - //如果是判断时常的游戏 调用此方法 - updateScoreTime: function updateScoreTime() { - var endTime = new Date().getTime(); - var tempTime = endTime - this._startTime; - - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - - this._endTime += tempTime / 1000; - this._totalTime = this._endTime.toFixed(2); - GM_INFO.currScore = this._totalTime; - this._startTime = endTime; - }, - //倒计时调用此方法 - countDown: function countDown() { - this._endTime = new Date().getTime(); - this._totalTime = parseInt((this._endTime - this._startTime) / 1000); - GM_INFO.remainingTime = GM_INFO.totalTime - this._totalTime; - }, - httpRequest: function httpRequest(url, data, _success, _fail) { - console.log("进入网络请求:"); - wx.getNetworkType({ - success: function success(res) { - var networkType = res.networkType; // console.log(networkType); - //有网络状态下 - - if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json', - // 默认值 - 'Authorization': window.globalData.BASE64_JWT_TOKEN ? 'Bearer ' + window.globalData.BASE64_JWT_TOKEN : '' - }, - method: 'POST', - success: function success(res) { - console.log('httpRequest:::::success', res); - - _success(res); - }, - fail: function fail(res) { - console.log('httpRequest:::::fail', res, "失败url为", url); - - _fail(res); - } - }); - } else { - _fail(res); - } - }, - fail: function fail(res) { - _fail(res); - } - }); // console.log('httpRequest:::::', url, data, success, fail) - }, - httpRequest_Notoken: function httpRequest_Notoken(url, data, _success2, _fail2) { - // console.log('httpRequest:::::', url, data, success, fail) - wx.getNetworkType({ - success: function success(res) { - var networkType = res.networkType; // console.log(networkType); - //有网络状态下 - - if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json' // 默认值 - - }, - method: 'POST', - success: function success(res) { - console.log('httpRequest:::::success', res); - - _success2(res); - }, - fail: function fail(res) { - console.log('httpRequest:::::fail', res, "失败url为", url); - - _fail2(res); - } - }); - } else { - _fail2(res); - } - }, - fail: function fail(res) { - _fail2(res); - } - }); - }, - getGameInfo: function getGameInfo(node) { - var jg = false; - var nodes = node; - var data = { - 'appid': window.globalData.appid - }; - window.GameTool.httpRequest(window.globalData.getUserInfoUrl, data, function (res) { - window.globalData.gameUserInfo = res.data.king_user; //user_id在这里 - - console.log("拿到服务器的信息", res.data); - - if (window.globalData.gameUserInfo) { - console.log("获得服务器游戏信息成功:", window.globalData.gameUserInfo); - if (window.globalData.gameUserInfo.unlock_1) window.GM_INFO.unlock_1 = window.globalData.gameUserInfo.unlock_1; - if (window.globalData.gameUserInfo.unlock_2) window.GM_INFO.unlock_2 = window.globalData.gameUserInfo.unlock_2; //如果服务器有金币信息 - - if (window.globalData.gameUserInfo.coin) { - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if (StorageMessage.getStorage("Coin")) { - if (window.globalData.gameUserInfo.coin != StorageMessage.getStorage("Coin")) { - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } //如果本地没有金币信息 , 以服务器金币信息为主 - else { - window.GM_INFO.coin = window.globalData.gameUserInfo.coin; - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } else { - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if (StorageMessage.getStorage("Coin")) { - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } //如果本地没有金币信息 , 以服务器金币信息为主 - else { - window.GM_INFO.coin = 200; - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } - - cc.director.loadScene('GameBegin'); // console.log("即将进入这里"); - // if(StorageMessage.getStorage("level")){ - // // console.log("本地有等级信息;"); - // // console.log("服务器信息等级为:",window.globalData.gameUserInfo.level); - // window.GM_INFO.level = StorageMessage.getStorage("level"); - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // // console.log("本地等级信息为:",window.GM_INFO.level); - // //本地存储等级 小于服务器等级, 等于本地数据丢失,这时以服务器数据为主重新构建游戏 - // if(window.GM_INFO.level < window.globalData.gameUserInfo.level){ - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - // //正常进入游戏,以本地数据为主,服务器数据为辅 - // else{ - // console.log("本地数据大以本地主数据为主"); - // // window.GameTool.setGameInfo(true); - // } - // } - // else{ - // console.log("笨地没等级数据"); - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - - if (CC_WECHATGAME) { - wx.onShow(function (res) { - if (res) { - if (res.query) { - console.log("分享中带的信息", res.query); - - if (res.query.key1) { - window.GameTool.setFrindHelp(res.query.key1); - } - - if (res.query.key2) { - window.GameTool.setFrindBlock(res.query.key2); - } - - if (res.query.key3) { - window.GameTool.setFrindBlockMax(res.query.key3); - } - } - } - }); - wx.onHide(function (res) { - console.log("检测退出游戏"); // window.arm = []; - // for(var i=0; i<12; i++){ - // window.arm[i] = null; - // window.arm[i] = {error:"error"}; - // } - // window.arm = StorageMessage.setStorage("arm",window.arm); - - var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level, window.GM_INFO.coin); - window.GameTool.setGameInfo(); - }); - } - - jg = true; - } else { - console.log("拿到服务器信息失败"); - cc.director.loadScene("LoadScene"); - } - }, function () { - jg = false; - console.log("get用户信息失败", res); - }); - return jg; - }, - //根据服务器数据重置所需要所有数据 - reset: function reset() { - // if(window.globalData.gameUserInfo.arm) - // StorageMessage.setStorage("arm",window.globalData.gameUserInfo.arm); - // if(window.globalData.gameUserInfo.richest_coin) - // StorageMessage.setStorage("coin",parseInt(window.globalData.gameUserInfo.richest_coin)); - // if(window.globalData.gameUserInfo.dimond) - // StorageMessage.setStorage("dimond",window.globalData.gameUserInfo.dimond); - // if(window.globalData.gameUserInfo.buy_time) - // StorageMessage.setStorage("buy_Time",window.globalData.gameUserInfo.buy_time); - // if(window.globalData.gameUserInfo.dimond_time) - // StorageMessage.setStorage("dimond_Time",window.globalData.gameUserInfo.dimond_time); - // if(window.globalData.gameUserInfo.level) - // StorageMessage.setStorage("level",window.globalData.gameUserInfo.level); - // if(window.globalData.gameUserInfo.total_Speed) - // StorageMessage.setStorage("total_Speed",parseInt(window.globalData.gameUserInfo.total_Speed)); - // if(window.globalData.gameUserInfo.leave_time) - // StorageMessage.setStorage("leave_time",window.globalData.gameUserInfo.leave_time); - // if(window.globalData.gameUserInfo.reward1) - // StorageMessage.setStorage("share_Array",window.globalData.gameUserInfo.reward1); - // if(window.globalData.gameUserInfo.reward2) - // StorageMessage.setStorage("share_100",window.globalData.gameUserInfo.reward2); - // StorageMessage.setStorage("GM_INFO",window.GM_INFO); - console.log("本地数据丢失,重新启动游戏"); - cc.director.loadScene('LoadScene'); - }, - setGameInfo: function setGameInfo(pd) { - var data = {// "richest_coin":window.coin+"", - // "arm":window.arm, - // "buy_time":window.buy_Time, - // "dimond":parseInt(window.dimond), - // "dimond_time":window.dimond_Time, - // "level":window.GM_INFO.level, - // "total_speed":window.total_Speed+"", - // "reward_1":window.GM_INFO.share_Array, //用于存储6个红包的领取信息 - // "reward_2":window.share_100 //用于存储100个红包的领取信息 - }; // console.log("存储之前检测:",window.arm,arms); - - window.GameTool.httpRequest(window.globalData.richest, data, function (res) { - console.log('存储userInfo成功', res); - - if (!pd) { - window.GM_INFO.leave_time = res.data.leave_time; - StorageMessage.setStorage("leave_time", window.GM_INFO.leave_time); - } - }, function (res) { - console.log('存储userInfo失败', res); - - if (!pd) { - window.GM_INFO.leave_time = parseInt(new Date().valueOf() / 1000); - StorageMessage.setStorage("leave_time", data); - } - }); - }, - //输入秒,返回需要展示时间格式 - getTimeMargin: function getTimeMargin(second) { - var total = second; - var hour = parseInt(total / (60 * 60)); //计算整数小时数 - - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - - var min = parseInt(afterHour / 60); //计算整数分 - - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - - return '剩余:' + hour + ':' + min + ':' + afterMin; - }, - getTimeMargin2: function getTimeMargin2(second) { - var total = second; - var hour = parseInt(total / (60 * 60)); //计算整数小时数 - - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - - var min = parseInt(afterHour / 60); //计算整数分 - - if (min < 10) min = "0" + min; - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - - if (afterMin < 10) afterMin = "0" + afterMin; - return '剩余:' + min + ':' + afterMin; - }, - setFrindBlock: function setFrindBlock(userid) { - // console.log("添加时候的userid"); - var data = { - user_id: userid - }; // if(userid != window.globalData.gameUserInfo.user_id){ - // console.log("进分享的不是自己"); - // { - - window.GameTool.httpRequest(window.globalData.entryBlock, data, function (res) { - console.log('添加红包助力信息成功', res); - }, function (res) { - console.log('添加红包助力信息失败', res); - }); // } - // } - // else{ - // console.log("进入分享的是自己"); - // } - } -}, _window$GameTool["getSeedRandom"] = function getSeedRandom(min, max) { - //包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); -}, _window$GameTool.getTime = function getTime(time) { - var label = ""; - var number_1 = parseInt(time / 60); - var number_2 = time - number_1 * 60; - - if (number_1 < 10) { - number_1 = "0" + number_1; - } - - if (number_2 < 10) { - number_2 = "0" + number_2; - } - - label = number_1 + ":" + number_2; - return label; -}, _window$GameTool.getNumber = function getNumber(number, type) { - // console.log(type,"需要转换的数字为:",number); - var count = 1000; - var place = type - 3; - - if (number > Math.pow(count, 8) * Math.pow(10, place)) { - if (number / Math.pow(count, 8) < 100) number = parseInt(number / Math.pow(count, 8) * 10) / 10 + "S";else number = parseInt(number / Math.pow(count, 8)) + "S"; - } else if (number > Math.pow(count, 7) * Math.pow(10, place)) { - if (number / Math.pow(count, 7) < 100) number = parseInt(number / Math.pow(count, 7) * 10) / 10 + "s";else number = parseInt(number / Math.pow(count, 7)) + "s"; - } else if (number > Math.pow(count, 6) * Math.pow(10, place)) { - if (number / Math.pow(count, 6) < 100) number = parseInt(number / Math.pow(count, 6) * 10) / 10 + "Q";else number = parseInt(number / Math.pow(count, 6)) + "Q"; - } else if (number > Math.pow(count, 5) * Math.pow(10, place)) { - if (number / Math.pow(count, 5) < 100) number = parseInt(number / Math.pow(count, 5) * 10) / 10 + "q";else number = parseInt(number / Math.pow(count, 5)) + "q"; - } else if (number > Math.pow(count, 4) * Math.pow(10, place)) { - if (number / Math.pow(count, 4) < 100) number = parseInt(number / Math.pow(count, 4) * 10) / 10 + "t";else number = parseInt(number / Math.pow(count, 4)) + "t"; - } else if (number > Math.pow(count, 3) * Math.pow(10, place)) { - if (number / Math.pow(count, 3) < 100) number = parseInt(number / Math.pow(count, 3) * 10) / 10 + "b";else number = parseInt(number / Math.pow(count, 3)) + "b"; - } else if (number > Math.pow(count, 2) * Math.pow(10, place)) { - if (number / Math.pow(count, 2) < 100) number = parseInt(number / Math.pow(count, 2) * 10) / 10 + "m";else number = parseInt(number / Math.pow(count, 2)) + "m"; - } else if (number > Math.pow(count, 1) * Math.pow(10, place)) { - if (number / Math.pow(count, 1) < 100) { - number = parseInt(number / Math.pow(count, 1) * 10) / 10 + "k"; - } else number = parseInt(number / Math.pow(count, 1)) + "k"; - } else { - number = parseInt(number / Math.pow(count, 0)) + ""; - } // console.log("结果为"+type+"位数",number); - - - return number; -}, _window$GameTool.begainTiming = function begainTiming() { - this._startTime = new Date().getTime(); -}, _window$GameTool["endTiming"] = function endTiming() { - var endTime = new Date().getTime(); - this._endTime = endTime; - this._totalTime = endTime - this._startTime; -}, _window$GameTool.getScoreTime = function getScoreTime() { - var endTime = new Date().getTime(); - var tempTime = endTime - this._startTime; - - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - - GM_INFO.currScore += tempTime; - this._startTime = endTime; -}, _window$GameTool.getFormatTime = function getFormatTime(time) { - var date = new Date(); - date.setTime(time); - var ms = date.getMilliseconds(); // let msString = date.getMilliseconds(); - - var msString = parseInt(ms / 10) % 100; - var secondString = date.getSeconds(); - var minString = date.getMinutes(); - - if (msString < 10) { - msString = "0" + msString; - } - - if (secondString < 10) { - secondString = "0" + secondString; - } - - secondString = secondString + ":"; - - if (minString < 10) { - minString = "0" + minString; - } - - minString = minString + ":"; - return minString + secondString + msString; -}, _window$GameTool.pushLister = function pushLister() {}, _window$GameTool.removeAllLister = function removeAllLister() {}, _window$GameTool); - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxHYW1lVG9vbC5qcyJdLCJuYW1lcyI6WyJTdG9yYWdlTWVzc2FnZSIsInJlcXVpcmUiLCJ3aW5kb3ciLCJHYW1lVG9vbCIsIl9zdGFydFRpbWUiLCJfZW5kVGltZSIsIl90b3RhbFRpbWUiLCJnZXRTZWVkUmFuZG9tIiwibWluIiwibWF4IiwiR01fSU5GTyIsImN1cnJTZWVkIiwicm5kIiwidG1wIiwicGFyc2VJbnQiLCJnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZyIsInNpemUiLCJjYyIsIndpblNpemUiLCJ3aWR0aCIsImhlaWdodCIsInNldEZpdCIsImNhbnZhcyIsImZsYWciLCJzdWJtaXRTY29yZUJ1dHRvbkZ1bmMiLCJmZW4yIiwibnVtYmVyIiwiY29uc29sZSIsImxvZyIsImZlbiIsIkNDX1dFQ0hBVEdBTUUiLCJ3eCIsInBvc3RNZXNzYWdlIiwibWVzc2FnZVR5cGUiLCJNQUlOX01FTlVfRkVOIiwiTUFJTl9NRU5VX05VTSIsInNjb3JlIiwiZ2V0VGlwIiwiaW5kZXgiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJiZWdpblRpbWluZyIsIkRhdGUiLCJnZXRUaW1lIiwiZW5kVGltaW5nIiwidXBkYXRlU2NvcmVUaW1lIiwiZW5kVGltZSIsInRlbXBUaW1lIiwicm91bmQiLCJkaXJlY3RvciIsImdldEFuaW1hdGlvbkludGVydmFsIiwidG9GaXhlZCIsImN1cnJTY29yZSIsImNvdW50RG93biIsInJlbWFpbmluZ1RpbWUiLCJ0b3RhbFRpbWUiLCJodHRwUmVxdWVzdCIsInVybCIsImRhdGEiLCJzdWNjZXNzIiwiZmFpbCIsImdldE5ldHdvcmtUeXBlIiwicmVzIiwibmV0d29ya1R5cGUiLCJyZXF1ZXN0IiwiZ2xvYmFsRGF0YSIsInJlcXVlc3RBUEkiLCJoZWFkZXIiLCJCQVNFNjRfSldUX1RPS0VOIiwibWV0aG9kIiwiaHR0cFJlcXVlc3RfTm90b2tlbiIsImdldEdhbWVJbmZvIiwibm9kZSIsImpnIiwibm9kZXMiLCJhcHBpZCIsImdldFVzZXJJbmZvVXJsIiwiZ2FtZVVzZXJJbmZvIiwia2luZ191c2VyIiwidW5sb2NrXzEiLCJ1bmxvY2tfMiIsImNvaW4iLCJnZXRTdG9yYWdlIiwic2V0U3RvcmFnZSIsImxvYWRTY2VuZSIsIm9uU2hvdyIsInF1ZXJ5Iiwia2V5MSIsInNldEZyaW5kSGVscCIsImtleTIiLCJzZXRGcmluZEJsb2NrIiwia2V5MyIsInNldEZyaW5kQmxvY2tNYXgiLCJvbkhpZGUiLCJ0ZW1wIiwibGV2ZWwiLCJzZXRHYW1lSW5mbyIsInJlc2V0IiwicGQiLCJyaWNoZXN0IiwibGVhdmVfdGltZSIsInZhbHVlT2YiLCJnZXRUaW1lTWFyZ2luIiwic2Vjb25kIiwidG90YWwiLCJob3VyIiwiYWZ0ZXJIb3VyIiwiYWZ0ZXJNaW4iLCJnZXRUaW1lTWFyZ2luMiIsInVzZXJpZCIsInVzZXJfaWQiLCJlbnRyeUJsb2NrIiwidGltZSIsImxhYmVsIiwibnVtYmVyXzEiLCJudW1iZXJfMiIsImdldE51bWJlciIsInR5cGUiLCJjb3VudCIsInBsYWNlIiwicG93IiwiYmVnYWluVGltaW5nIiwiZ2V0U2NvcmVUaW1lIiwiZ2V0Rm9ybWF0VGltZSIsImRhdGUiLCJzZXRUaW1lIiwibXMiLCJnZXRNaWxsaXNlY29uZHMiLCJtc1N0cmluZyIsInNlY29uZFN0cmluZyIsImdldFNlY29uZHMiLCJtaW5TdHJpbmciLCJnZXRNaW51dGVzIiwicHVzaExpc3RlciIsInJlbW92ZUFsbExpc3RlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUlBLGNBQWMsR0FBR0MsT0FBTyxDQUFDLFNBQUQsQ0FBUCxDQUFtQkQsY0FBeEM7O0FBQ0FFLE1BQU0sQ0FBQ0MsUUFBUDtBQUNJQyxFQUFBQSxVQUFVLEVBQUUsQ0FEaEI7QUFFSUMsRUFBQUEsUUFBUSxFQUFFLENBRmQ7QUFHSUMsRUFBQUEsVUFBVSxFQUFFLENBSGhCO0FBSUlDLEVBQUFBLGFBQWEsRUFBRSx1QkFBVUMsR0FBVixFQUFl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O0FBQ0FrRixFQUFBQSxJQUFJLENBQUNDLE9BQUwsQ0FBYWIsSUFBYjtBQUVBLE1BQUljLEVBQUUsR0FBR0YsSUFBSSxDQUFDRyxlQUFMLEVBQVQsQ0FMMkIsQ0FNM0I7O0FBQ0EsTUFBSUMsUUFBUSxHQUFHbkgsUUFBUSxDQUFDaUgsRUFBRSxHQUFHLEVBQU4sQ0FBUixHQUFvQixHQUFuQztBQUVBLE1BQUlHLFlBQVksR0FBR0wsSUFBSSxDQUFDTSxVQUFMLEVBQW5CO0FBRUEsTUFBSUMsU0FBUyxHQUFHUCxJQUFJLENBQUNRLFVBQUwsRUFBaEI7O0FBRUEsTUFBSUosUUFBUSxHQUFHLEVBQWYsRUFBbUI7QUFDZkEsSUFBQUEsUUFBUSxHQUFHLE1BQU1BLFFBQWpCO0FBQ0g7O0FBQ0QsTUFBSUMsWUFBWSxHQUFHLEVBQW5CLEVBQXVCO0FBQ25CQSxJQUFBQSxZQUFZLEdBQUcsTUFBTUEsWUFBckI7QUFDSDs7QUFDREEsRUFBQUEsWUFBWSxHQUFHQSxZQUFZLEdBQUcsR0FBOUI7O0FBRUEsTUFBSUUsU0FBUyxHQUFHLEVBQWhCLEVBQW9CO0FBQ2hCQSxJQUFBQSxTQUFTLEdBQUcsTUFBTUEsU0FBbEI7QUFDSDs7QUFDREEsRUFBQUEsU0FBUyxHQUFHQSxTQUFTLEdBQUcsR0FBeEI7QUFFQSxTQUFPQSxTQUFTLEdBQUdGLFlBQVosR0FBMkJELFFBQWxDO0FBRUgsQ0Fsa0JMLG1CQW1rQklLLFVBbmtCSixHQW1rQmUsc0JBQVksQ0FFdEIsQ0Fya0JMLG1CQXNrQklDLGVBdGtCSixHQXNrQm9CLDJCQUFZLENBRTNCLENBeGtCTCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsidmFyIFN0b3JhZ2VNZXNzYWdlID0gcmVxdWlyZShcIlN0b3JhZ2VcIikuU3RvcmFnZU1lc3NhZ2U7XHJcbndpbmRvdy5HYW1lVG9vbCA9IHtcclxuICAgIF9zdGFydFRpbWU6IDAsXHJcbiAgICBfZW5kVGltZTogMCxcclxuICAgIF90b3RhbFRpbWU6IDAsXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBtYXggPSBtYXggfHwgMTtcclxuICAgICAgICBtaW4gPSBtaW4gfHwgMDtcclxuICAgICAgICBHTV9JTkZPLmN1cnJTZWVkID0gKEdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBHTV9JTkZPLmN1cnJTZWVkIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuICAgIFxyXG4gICAgZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdDogZnVuY3Rpb24gKGNhbnZhcykge1xyXG4gICAgICAgIGxldCBmbGFnID0gR2FtZVRvb2wuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLkuI3mmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRXaWR0aCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAvLyBjYW52YXMuZml0SGVpZ2h0ID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLmmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRXaWR0aCA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRIZWlnaHQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZsYWc7XHJcbiAgICB9LFxyXG5cclxuICAgIC8vIHN1Ym1pdFNjb3JlQnV0dG9uRnVuYzogZnVuY3Rpb24oc2NvcmUxLGZlbjEpe1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKFwi5LiK5Lyg5YiG5pWwOlwiLHNjb3JlMSxmZW4xKVxyXG4gICAgLy8gICAgIC8vIHZhciBzY29yZSA9IHNjb3JlMTtcclxuICAgIC8vICAgICAvLyB2YXIgZmVuID0gZmVuMTtcclxuICAgIC8vICAgICAvLyBpZiAoQ0NfV0VDSEFUR0FNRSkge1xyXG4gICAgLy8gICAgIC8vICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgLy8gICAgIC8vICAgICAgICAgbWVzc2FnZVR5cGU6IDMsXHJcbiAgICAvLyAgICAgLy8gICAgICAgICBNQUlOX01FTlVfTlVNOiBcImd1YW5cIixcclxuICAgIC8vICAgICAvLyAgICAgICAgIHNjb3JlOiBzY29yZSxcclxuICAgIC8vICAgICAvLyAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgIC8vICAgICAvLyAgICAgICAgIGZlbjogZmVuLFxyXG4gICAgLy8gICAgIC8vICAgICB9KTtcclxuICAgIC8vICAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICAgIC8vICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBzY29yZSlcclxuICAgIC8vICAgICAvLyB9XHJcbiAgICAvLyAgICAgLy8gcmV0dXJuIHRydWU7XHJcbiAgICAvLyB9LFxyXG5cclxuXHJcbiAgICBzdWJtaXRTY29yZUJ1dHRvbkZ1bmM6IGZ1bmN0aW9uKGZlbjIsbnVtYmVyKXtcclxuICAgIFx0Y29uc29sZS5sb2coXCJudW1iZXI9XCIsbnVtYmVyKVxyXG4gICAgICAgIGlmKG51bWJlciA9PSAwKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLkuIrkvKDliIbmlbA6XCIsZmVuMilcclxuICAgICAgICAgICAgdmFyIGZlbiA9IGZlbjI7XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUeXBlOiAzLFxyXG4gICAgICAgICAgICAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgICAgICAgICAgICAgICAgICBNQUlOX01FTlVfTlVNOiBcImZlblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjb3JlOiBmZW4sXHJcbiAgICAgICAgICAgICAgICAgICAgZmVuOiAwLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBmZW4pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLkuIrkvKDnibnmrorliIbmlbA6XCIsZmVuMilcclxuICAgICAgICAgICAgdmFyIGZlbiA9IGZlbjI7XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUeXBlOiA3LFxyXG4gICAgICAgICAgICAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgICAgICAgICAgICAgICAgICBNQUlOX01FTlVfTlVNOiBcImZlblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjb3JlOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGZlbjogZmVuLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBmZW4pXHJcbiAgICAgICAgICAgIH0gICBcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFRpcDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBpbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDQpICsgMTtcclxuICAgICAgICBzd2l0Y2ggKGluZGV4KSB7XHJcbiAgICAgICAgICAgIGNhc2UgMToge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwi5qC55o2u5bCP55CD55qE5L2N572u77yM5ZCI55CG5pmD5Yqo5omL5py677yM56Gu5L+d5bCP55CD5LiN5o6J5Ye65pyo5p2/44CCXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlIDI6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBcIuagueaNruWwj+eQg+S9jee9ruaOp+WItuaZg+WKqOW5heW6pu+8jOi/h+Wkp+aIlui/h+Wwj+mDveS4jeaYr+S4quWlvemAieaLqeOAglwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAzOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCLkuI3opoHooqvlpKnkuIrmjonokL3nmoTpmpznoo3lkJPliLDvvIzmnInml7blgJnlroPlj43ogIzkvJrluK7kvaDkv53mjIHlubPooaHjgIJcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgNDoge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwi5bCd6K+V552A6aG25byA5o6J6JC955qE6Zqc56KN77yM5piv5Liq5b6I6YW355qE546p5rOV44CCXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgYmVnaW5UaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgIH0sXHJcblxyXG4gICAgZW5kVGltaW5nOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuX3RvdGFsVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICB9LFxyXG4gICAgLy/lpoLmnpzmmK/liKTmlq3ml7bluLjnmoTmuLjmiI8g6LCD55So5q2k5pa55rOVXHJcbiAgICB1cGRhdGVTY29yZVRpbWU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIGxldCB0ZW1wVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICAgICAgaWYgKHRlbXBUaW1lIDwgMCB8fCB0ZW1wVGltZSA+IDUwMCkge1xyXG4gICAgICAgICAgICB0ZW1wVGltZSA9IE1hdGgucm91bmQoY2MuZGlyZWN0b3IuZ2V0QW5pbWF0aW9uSW50ZXJ2YWwoKSAqIDEwMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9lbmRUaW1lICs9IHRlbXBUaW1lIC8gMTAwMDtcclxuICAgICAgICB0aGlzLl90b3RhbFRpbWUgPSB0aGlzLl9lbmRUaW1lLnRvRml4ZWQoMik7XHJcbiAgICAgICAgR01fSU5GTy5jdXJyU2NvcmUgPSB0aGlzLl90b3RhbFRpbWU7XHJcbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gZW5kVGltZTtcclxuICAgIH0sXHJcbiAgICAvL+WAkuiuoeaXtuiwg+eUqOatpOaWueazlVxyXG4gICAgY291bnREb3duOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IHBhcnNlSW50KCh0aGlzLl9lbmRUaW1lIC0gdGhpcy5fc3RhcnRUaW1lKSAvIDEwMDApO1xyXG4gICAgICAgIEdNX0lORk8ucmVtYWluaW5nVGltZSA9IEdNX0lORk8udG90YWxUaW1lIC0gdGhpcy5fdG90YWxUaW1lO1xyXG4gICAgfSxcclxuXHJcbiAgICBodHRwUmVxdWVzdCh1cmwsIGRhdGEsIHN1Y2Nlc3MsIGZhaWwpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIui/m+WFpee9kee7nOivt+axgjpcIik7XHJcbiAgICAgICAgd3guZ2V0TmV0d29ya1R5cGUoe1xyXG4gICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgIHZhciBuZXR3b3JrVHlwZSA9IHJlcy5uZXR3b3JrVHlwZTtcclxuICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZyhuZXR3b3JrVHlwZSk7XHJcbiAgICAgICAgICAgICAgLy/mnInnvZHnu5znirbmgIHkuItcclxuICAgICAgICAgICAgICBpZihuZXR3b3JrVHlwZSA9PSBcIndpZmlcIiB8fG5ldHdvcmtUeXBlID09IFwiNGdcIiB8fCBuZXR3b3JrVHlwZSA9PSBcIjNnXCIgfHwgbmV0d29ya1R5cGUgPT1cInVua25vd25cIil7XHJcbiAgICAgICAgICAgICAgICAgICAgd3gucmVxdWVzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogd2luZG93Lmdsb2JhbERhdGEucmVxdWVzdEFQSSArIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCAvLyDpu5jorqTlgLxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzp3aW5kb3cuZ2xvYmFsRGF0YS5CQVNFNjRfSldUX1RPS0VOPydCZWFyZXIgJyt3aW5kb3cuZ2xvYmFsRGF0YS5CQVNFNjRfSldUX1RPS0VOOicnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjpzdWNjZXNzJyxyZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjpmYWlsJywgcmVzLFwi5aSx6LSldXJs5Li6XCIsdXJsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmYWlsKHJlcyl7XHJcbiAgICAgICAgICAgICAgICBmYWlsKHJlcylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OicsIHVybCwgZGF0YSwgc3VjY2VzcywgZmFpbClcclxuXHJcbiAgICB9LFxyXG5cclxuICAgIGh0dHBSZXF1ZXN0X05vdG9rZW4odXJsLCBkYXRhLCBzdWNjZXNzLCBmYWlsKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjonLCB1cmwsIGRhdGEsIHN1Y2Nlc3MsIGZhaWwpXHJcbiAgICAgICAgd3guZ2V0TmV0d29ya1R5cGUoe1xyXG4gICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgIHZhciBuZXR3b3JrVHlwZSA9IHJlcy5uZXR3b3JrVHlwZTtcclxuICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZyhuZXR3b3JrVHlwZSk7XHJcbiAgICAgICAgICAgICAgLy/mnInnvZHnu5znirbmgIHkuItcclxuICAgICAgICAgICAgICBpZihuZXR3b3JrVHlwZSA9PSBcIndpZmlcIiB8fG5ldHdvcmtUeXBlID09IFwiNGdcIiB8fCBuZXR3b3JrVHlwZSA9PSBcIjNnXCIgfHwgbmV0d29ya1R5cGUgPT1cInVua25vd25cIil7XHJcbiAgICAgICAgICAgICAgICAgICAgd3gucmVxdWVzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogd2luZG93Lmdsb2JhbERhdGEucmVxdWVzdEFQSSArIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCAvLyDpu5jorqTlgLxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OnN1Y2Nlc3MnLHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OmZhaWwnLCByZXMsXCLlpLHotKV1cmzkuLpcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbChyZXMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBmYWlsKHJlcylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZmFpbChyZXMpe1xyXG4gICAgICAgICAgICAgICAgZmFpbChyZXMpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcblxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRHYW1lSW5mbzogZnVuY3Rpb24obm9kZSl7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgdmFyIG5vZGVzID0gbm9kZTtcclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgJ2FwcGlkJzogd2luZG93Lmdsb2JhbERhdGEuYXBwaWRcclxuICAgICAgICB9XHJcbiAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLmdldFVzZXJJbmZvVXJsLCBkYXRhLCBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mbyA9IHJlcy5kYXRhLmtpbmdfdXNlcjsgIC8vdXNlcl9pZOWcqOi/memHjFxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIuaLv+WIsOacjeWKoeWZqOeahOS/oeaBr1wiLHJlcy5kYXRhKTtcclxuXHJcbiAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mbyl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIuiOt+W+l+acjeWKoeWZqOa4uOaIj+S/oeaBr+aIkOWKnzpcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8pO1xyXG4gICAgICAgICAgICAgICAgaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVubG9ja18xKVxyXG4gICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8udW5sb2NrXzEgPSB3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8udW5sb2NrXzE7XHJcbiAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby51bmxvY2tfMilcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLnVubG9ja18yID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVubG9ja18yO1xyXG4gICAgICAgICAgICAvL+WmguaenOacjeWKoeWZqOaciemHkeW4geS/oeaBr1xyXG4gICAgICAgICAgICBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uY29pbil7XHJcbiAgICAgICAgICAgICAgICAvL+acrOWcsOS5n+aciemHkeW4geS/oeaBrywg5Lul5pys5Zyw5Li65Li7LOaKiuacrOWcsOmHkeW4geS/oeaBr+WQjOatpeWIsOacjeWKoeWZqFxyXG4gICAgICAgICAgICAgICAgaWYoU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcIkNvaW5cIikpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5jb2luICE9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8uY29pbiA9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiQ29pblwiLHdpbmRvdy5HTV9JTkZPLmNvaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gICAvL+WmguaenOacrOWcsOayoeaciemHkeW4geS/oeaBryAsIOS7peacjeWKoeWZqOmHkeW4geS/oeaBr+S4uuS4u1xyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuR01fSU5GTy5jb2luID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmNvaW47XHJcbiAgICAgICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcIkNvaW5cIix3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy/mnKzlnLDkuZ/mnInph5HluIHkv6Hmga8sIOS7peacrOWcsOS4uuS4uyzmiormnKzlnLDph5HluIHkv6Hmga/lkIzmraXliLDmnI3liqHlmahcclxuICAgICAgICAgICAgICAgIGlmKFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8uY29pbiA9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiQ29pblwiLHdpbmRvdy5HTV9JTkZPLmNvaW4pO1xyXG4gICAgICAgICAgICAgICAgfSAgIC8v5aaC5p6c5pys5Zyw5rKh5pyJ6YeR5biB5L+h5oGvICwg5Lul5pyN5Yqh5Zmo6YeR5biB5L+h5oGv5Li65Li7XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmNvaW4gPSAyMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcIkNvaW5cIix3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKCdHYW1lQmVnaW4nKTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLljbPlsIbov5vlhaXov5nph4xcIik7XHJcbiAgICAgICAgICAgIC8vIGlmKFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJsZXZlbFwiKSl7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacrOWcsOacieetiee6p+S/oeaBrztcIik7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacjeWKoeWZqOS/oeaBr+etiee6p+S4ujpcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8ubGV2ZWwpO1xyXG4gICAgICAgICAgICAvLyAgICAgd2luZG93LkdNX0lORk8ubGV2ZWwgPSBTdG9yYWdlTWVzc2FnZS5nZXRTdG9yYWdlKFwibGV2ZWxcIik7XHJcbiAgICAgICAgICAgIC8vICAgICB2YXIgdGVtcCA9IHdpbmRvdy5HYW1lVG9vbC5zdWJtaXRTY29yZUJ1dHRvbkZ1bmMod2luZG93LkdNX0lORk8ubGV2ZWwsd2luZG93LkdNX0lORk8uY29pbik7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacrOWcsOetiee6p+S/oeaBr+S4ujpcIix3aW5kb3cuR01fSU5GTy5sZXZlbCk7XHJcbiAgICAgICAgICAgIC8vICAgICAvL+acrOWcsOWtmOWCqOetiee6pyDlsI/kuo7mnI3liqHlmajnrYnnuqcsIOetieS6juacrOWcsOaVsOaNruS4ouWksSzov5nml7bku6XmnI3liqHlmajmlbDmja7kuLrkuLvph43mlrDmnoTlu7rmuLjmiI9cclxuICAgICAgICAgICAgLy8gICAgIGlmKHdpbmRvdy5HTV9JTkZPLmxldmVsIDwgd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsKXtcclxuICAgICAgICAgICAgLy8gICAgICAgICAvLyBub2Rlcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmxldmVsID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHZhciB0ZW1wID0gd2luZG93LkdhbWVUb29sLnN1Ym1pdFNjb3JlQnV0dG9uRnVuYyh3aW5kb3cuR01fSU5GTy5sZXZlbCx3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICB3aW5kb3cuR2FtZVRvb2wucmVzZXQoKTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gICAgIC8v5q2j5bi46L+b5YWl5ri45oiPLOS7peacrOWcsOaVsOaNruS4uuS4uyzmnI3liqHlmajmlbDmja7kuLrovoVcclxuICAgICAgICAgICAgLy8gICAgIGVsc2V7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgY29uc29sZS5sb2coXCLmnKzlnLDmlbDmja7lpKfku6XmnKzlnLDkuLvmlbDmja7kuLrkuLtcIik7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgLy8gd2luZG93LkdhbWVUb29sLnNldEdhbWVJbmZvKHRydWUpO1xyXG4gICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vIGVsc2V7XHJcbiAgICAgICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcIuesqOWcsOayoeetiee6p+aVsOaNrlwiKTtcclxuICAgICAgICAgICAgLy8gICAgIC8vIG5vZGVzLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vICAgICB3aW5kb3cuR01fSU5GTy5sZXZlbCA9IHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZXZlbDtcclxuICAgICAgICAgICAgLy8gICAgIHZhciB0ZW1wID0gd2luZG93LkdhbWVUb29sLnN1Ym1pdFNjb3JlQnV0dG9uRnVuYyh3aW5kb3cuR01fSU5GTy5sZXZlbCx3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgLy8gICAgIHdpbmRvdy5HYW1lVG9vbC5yZXNldCgpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3eC5vblNob3coZnVuY3Rpb24ocmVzKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihyZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihyZXMucXVlcnkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLliIbkuqvkuK3luKbnmoTkv6Hmga9cIixyZXMucXVlcnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzLnF1ZXJ5LmtleTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5zZXRGcmluZEhlbHAocmVzLnF1ZXJ5LmtleTEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzLnF1ZXJ5LmtleTIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5zZXRGcmluZEJsb2NrKHJlcy5xdWVyeS5rZXkyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlcy5xdWVyeS5rZXkzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuR2FtZVRvb2wuc2V0RnJpbmRCbG9ja01heChyZXMucXVlcnkua2V5Myk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHd4Lm9uSGlkZShmdW5jdGlvbihyZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5qOA5rWL6YCA5Ye65ri45oiPXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpbmRvdy5hcm0gPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBmb3IodmFyIGk9MDsgaTwxMjsgaSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgd2luZG93LmFybVtpXSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIHdpbmRvdy5hcm1baV0gPSB7ZXJyb3I6XCJlcnJvclwifTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gd2luZG93LmFybSA9IFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJhcm1cIix3aW5kb3cuYXJtKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgdGVtcCA9IHdpbmRvdy5HYW1lVG9vbC5zdWJtaXRTY29yZUJ1dHRvbkZ1bmMod2luZG93LkdNX0lORk8ubGV2ZWwsd2luZG93LkdNX0lORk8uY29pbik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LkdhbWVUb29sLnNldEdhbWVJbmZvKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5ou/5Yiw5pyN5Yqh5Zmo5L+h5oGv5aSx6LSlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0sZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJnZXTnlKjmiLfkv6Hmga/lpLHotKVcIixyZXMpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfSxcclxuICAgIC8v5qC55o2u5pyN5Yqh5Zmo5pWw5o2u6YeN572u5omA6ZyA6KaB5omA5pyJ5pWw5o2uXHJcbiAgICByZXNldDogZnVuY3Rpb24oKXtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uYXJtKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiYXJtXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmFybSk7XHJcbiAgICAgICAgLy8gaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJpY2hlc3RfY29pbikgXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJjb2luXCIscGFyc2VJbnQod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJpY2hlc3RfY29pbikpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5kaW1vbmQpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJkaW1vbmRcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uZGltb25kKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uYnV5X3RpbWUpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJidXlfVGltZVwiLHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5idXlfdGltZSk7XHJcbiAgICAgICAgLy8gaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmRpbW9uZF90aW1lKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiZGltb25kX1RpbWVcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uZGltb25kX3RpbWUpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZXZlbClcclxuICAgICAgICAvLyAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcImxldmVsXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8udG90YWxfU3BlZWQpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJ0b3RhbF9TcGVlZFwiLHBhcnNlSW50KHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby50b3RhbF9TcGVlZCkpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZWF2ZV90aW1lKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwibGVhdmVfdGltZVwiLHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZWF2ZV90aW1lKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8ucmV3YXJkMSlcclxuICAgICAgICAvLyAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcInNoYXJlX0FycmF5XCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJld2FyZDEpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5yZXdhcmQyKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwic2hhcmVfMTAwXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJld2FyZDIpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJHTV9JTkZPXCIsd2luZG93LkdNX0lORk8pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi5pys5Zyw5pWw5o2u5Lii5aSxLOmHjeaWsOWQr+WKqOa4uOaIj1wiKTtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoJ0xvYWRTY2VuZScpO1xyXG4gICAgfSxcclxuXHJcbiAgICBzZXRHYW1lSW5mbzogZnVuY3Rpb24ocGQpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAvLyBcInJpY2hlc3RfY29pblwiOndpbmRvdy5jb2luK1wiXCIsXHJcbiAgICAgICAgICAgIC8vIFwiYXJtXCI6d2luZG93LmFybSxcclxuICAgICAgICAgICAgLy8gXCJidXlfdGltZVwiOndpbmRvdy5idXlfVGltZSxcclxuICAgICAgICAgICAgLy8gXCJkaW1vbmRcIjpwYXJzZUludCh3aW5kb3cuZGltb25kKSxcclxuICAgICAgICAgICAgLy8gXCJkaW1vbmRfdGltZVwiOndpbmRvdy5kaW1vbmRfVGltZSxcclxuICAgICAgICAgICAgLy8gXCJsZXZlbFwiOndpbmRvdy5HTV9JTkZPLmxldmVsLFxyXG4gICAgICAgICAgICAvLyBcInRvdGFsX3NwZWVkXCI6d2luZG93LnRvdGFsX1NwZWVkK1wiXCIsXHJcbiAgICAgICAgICAgIC8vIFwicmV3YXJkXzFcIjp3aW5kb3cuR01fSU5GTy5zaGFyZV9BcnJheSwgICAgICAvL+eUqOS6juWtmOWCqDbkuKrnuqLljIXnmoTpooblj5bkv6Hmga9cclxuICAgICAgICAgICAgLy8gXCJyZXdhcmRfMlwiOndpbmRvdy5zaGFyZV8xMDAgICAgICAgICAgICAgICAgIC8v55So5LqO5a2Y5YKoMTAw5Liq57qi5YyF55qE6aKG5Y+W5L+h5oGvXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5a2Y5YKo5LmL5YmN5qOA5rWLOlwiLHdpbmRvdy5hcm0sYXJtcyk7XHJcbiAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLnJpY2hlc3QsIGRhdGEsIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ+WtmOWCqHVzZXJJbmZv5oiQ5YqfJywgcmVzKTtcclxuICAgICAgICAgICAgaWYoIXBkKXtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmxlYXZlX3RpbWUgPSByZXMuZGF0YS5sZWF2ZV90aW1lO1xyXG4gICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcImxlYXZlX3RpbWVcIix3aW5kb3cuR01fSU5GTy5sZWF2ZV90aW1lKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9LGZ1bmN0aW9uKHJlcyl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCflrZjlgqh1c2VySW5mb+Wksei0pScsIHJlcyk7XHJcbiAgICAgICAgICAgIGlmKCFwZCl7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cuR01fSU5GTy5sZWF2ZV90aW1lID0gcGFyc2VJbnQobmV3IERhdGUoKS52YWx1ZU9mKCkvMTAwMCk7XHJcbiAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwibGVhdmVfdGltZVwiLGRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcblxyXG5cclxuICAgIC8v6L6T5YWl56eSLOi/lOWbnumcgOimgeWxleekuuaXtumXtOagvOW8j1xyXG4gICAgZ2V0VGltZU1hcmdpbjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gcGFyc2VJbnQodG90YWwgLyAoNjAgKiA2MCkpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoYWZ0ZXJIb3VyIC8gNjApOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgbGV0IGFmdGVyTWluID0gdG90YWwgLSBob3VyICogNjAgKiA2MCAtIG1pbiAqIDYwOy8v5Y+W5b6X566X5Ye65YiG5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgcmV0dXJuICfliankvZk6JyArIGhvdXIgKyAnOicgKyBtaW4gKyAnOicgKyBhZnRlck1pblxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRUaW1lTWFyZ2luMjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gcGFyc2VJbnQodG90YWwgLyAoNjAgKiA2MCkpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoYWZ0ZXJIb3VyIC8gNjApOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgaWYobWluIDwgMTApIG1pbiA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBhZnRlck1pbiA9IFwiMFwiICsgYWZ0ZXJNaW47XHJcbiAgICAgICAgcmV0dXJuICfliankvZk6JyAgKyBtaW4gKyAnOicgKyBhZnRlck1pblxyXG4gICAgfSxcclxuXHJcbiAgICBzZXRGcmluZEJsb2NrOiBmdW5jdGlvbih1c2VyaWQpe1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5re75Yqg5pe25YCZ55qEdXNlcmlkXCIpO1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICB1c2VyX2lkOnVzZXJpZFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpZih1c2VyaWQgIT0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVzZXJfaWQpe1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIui/m+WIhuS6q+eahOS4jeaYr+iHquW3sVwiKTtcclxuICAgICAgICAgICAgLy8ge1xyXG4gICAgICAgICAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLmVudHJ5QmxvY2ssIGRhdGEsIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5re75Yqg57qi5YyF5Yqp5Yqb5L+h5oGv5oiQ5YqfJywgcmVzKVxyXG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfmt7vliqDnuqLljIXliqnlipvkv6Hmga/lpLHotKUnLCByZXMpXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIGVsc2V7XHJcbiAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKFwi6L+b5YWl5YiG5Lqr55qE5piv6Ieq5bexXCIpO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH0sXHJcblxyXG4gICAgLy8gc2V0RnJpbmRCbG9ja01heDogZnVuY3Rpb24odXNlcmlkKXtcclxuICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIua3u+WKoOaXtuWAmeeahHVzZXJpZFwiKTtcclxuICAgIC8vICAgICBsZXQgZGF0YSA9IHtcclxuICAgIC8vICAgICAgICAgdXNlcl9pZDp1c2VyaWRcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgLy8gaWYodXNlcmlkICE9IHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby51c2VyX2lkKXtcclxuICAgIC8vICAgICAgICAgLy8gY29uc29sZS5sb2coXCLov5vliIbkuqvnmoTkuI3mmK/oh6rlt7FcIik7XHJcbiAgICAvLyAgICAgICAgIC8vIHtcclxuICAgIC8vICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5odHRwUmVxdWVzdCh3aW5kb3cuZ2xvYmFsRGF0YS5lbnRyeUJsb2NrTWF4LCBkYXRhLCBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+a3u+WKoOacgOWQjueahOWlveWPi+S/oeaBr+aIkOWKnycsIHJlcylcclxuICAgIC8vICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5re75Yqg5pyA5ZCO55qE5aW95Y+L5L+h5oGv5L+h5oGv5aSx6LSlJywgcmVzKVxyXG4gICAgLy8gICAgICAgICAgICAgfSlcclxuICAgIC8vICAgICAgICAgLy8gfVxyXG4gICAgLy8gICAgIC8vIH1cclxuICAgIC8vICAgICAvLyBlbHNle1xyXG4gICAgLy8gICAgIC8vICAgICBjb25zb2xlLmxvZyhcIui/m+WFpeWIhuS6q+eahOaYr+iHquW3sVwiKTtcclxuICAgIC8vICAgICAvLyB9XHJcbiAgICAvLyB9LFxyXG5cclxuXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBtYXggPSBtYXggfHwgMTtcclxuICAgICAgICBtaW4gPSBtaW4gfHwgMDtcclxuICAgICAgICBHTV9JTkZPLmN1cnJTZWVkID0gKEdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBHTV9JTkZPLmN1cnJTZWVkIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+WwhuaXtumXtOi9rOaNouS4ujU5OjIzXHJcbiAgICBnZXRUaW1lOiBmdW5jdGlvbih0aW1lKXtcclxuICAgICAgICB2YXIgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgIHZhciBudW1iZXJfMSA9IHBhcnNlSW50KHRpbWUvNjApO1xyXG4gICAgICAgIHZhciBudW1iZXJfMiA9IHRpbWUtbnVtYmVyXzEqNjA7XHJcbiAgICAgICAgaWYobnVtYmVyXzEgPCAxMCl7XHJcbiAgICAgICAgICAgIG51bWJlcl8xID0gXCIwXCIrbnVtYmVyXzE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKG51bWJlcl8yIDwgMTApe1xyXG4gICAgICAgICAgICBudW1iZXJfMiA9IFwiMFwiK251bWJlcl8yO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCA9IG51bWJlcl8xICsgXCI6XCIgKyBudW1iZXJfMjtcclxuXHJcbiAgICAgICAgcmV0dXJuIGxhYmVsO1xyXG4gICAgfSxcclxuICAgIC8vbnVtYmVyIOS4uuS8oOi/m+adpeeahOaVsOWAvCx0eXBl5Li65pyA5aSa5pi+56S65Yeg5L2N5pWwXHJcbiAgICBnZXROdW1iZXI6IGZ1bmN0aW9uKG51bWJlcix0eXBlKXtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0eXBlLFwi6ZyA6KaB6L2s5o2i55qE5pWw5a2X5Li6OlwiLG51bWJlcik7XHJcbiAgICAgICAgdmFyIGNvdW50ID0gMTAwMDtcclxuICAgICAgICB2YXIgcGxhY2UgPSB0eXBlIC0gMztcclxuICAgICAgICBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw4KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsOCkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsOCkqMTApLzEwK1wiU1wiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsOCkpK1wiU1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDcpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSoxMCkvMTArXCJzXCI7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSkrXCJzXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsNikqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDYpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDYpKjEwKS8xMCtcIlFcIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDYpKStcIlFcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw1KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsNSkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNSkqMTApLzEwK1wicVwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNSkpK1wicVwiO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw0KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsNCkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNCkqMTApLzEwK1widFwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNCkpK1widFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDMpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSoxMCkvMTArXCJiXCI7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSkrXCJiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsMikqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDIpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDIpKjEwKS8xMCtcIm1cIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDIpKStcIm1cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCwxKSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsMSkgPCAxMDApe1xyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDEpKjEwKS8xMCtcImtcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsMSkpK1wia1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsMCkpK1wiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi57uT5p6c5Li6XCIrdHlwZStcIuS9jeaVsFwiLG51bWJlcik7XHJcbiAgICAgICAgcmV0dXJuIG51bWJlcjtcclxuICAgIH0sXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIGJlZ2FpblRpbWluZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgfSxcclxuXHJcbiAgICBlbmRUaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuX2VuZFRpbWUgPSBlbmRUaW1lO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNjb3JlVGltZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBlbmRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgbGV0IHRlbXBUaW1lID0gZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTtcclxuICAgICAgICBpZiAodGVtcFRpbWUgPCAwIHx8IHRlbXBUaW1lID4gNTAwKSB7XHJcbiAgICAgICAgICAgIHRlbXBUaW1lID0gTWF0aC5yb3VuZChjYy5kaXJlY3Rvci5nZXRBbmltYXRpb25JbnRlcnZhbCgpICogMTAwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEdNX0lORk8uY3VyclNjb3JlICs9IHRlbXBUaW1lO1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IGVuZFRpbWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldEZvcm1hdFRpbWU6IGZ1bmN0aW9uICh0aW1lKSB7XHJcblxyXG4gICAgICAgIGxldCBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICBkYXRlLnNldFRpbWUodGltZSk7XHJcblxyXG4gICAgICAgIGxldCBtcyA9IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCk7XHJcbiAgICAgICAgLy8gbGV0IG1zU3RyaW5nID0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcclxuICAgICAgICBsZXQgbXNTdHJpbmcgPSBwYXJzZUludChtcyAvIDEwKSAlIDEwMDtcclxuXHJcbiAgICAgICAgbGV0IHNlY29uZFN0cmluZyA9IGRhdGUuZ2V0U2Vjb25kcygpO1xyXG5cclxuICAgICAgICBsZXQgbWluU3RyaW5nID0gZGF0ZS5nZXRNaW51dGVzKCk7XHJcblxyXG4gICAgICAgIGlmIChtc1N0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIG1zU3RyaW5nID0gXCIwXCIgKyBtc1N0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNlY29uZFN0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIHNlY29uZFN0cmluZyA9IFwiMFwiICsgc2Vjb25kU3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWNvbmRTdHJpbmcgPSBzZWNvbmRTdHJpbmcgKyBcIjpcIjtcclxuXHJcbiAgICAgICAgaWYgKG1pblN0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIG1pblN0cmluZyA9IFwiMFwiICsgbWluU3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtaW5TdHJpbmcgPSBtaW5TdHJpbmcgKyBcIjpcIjtcclxuXHJcbiAgICAgICAgcmV0dXJuIG1pblN0cmluZyArIHNlY29uZFN0cmluZyArIG1zU3RyaW5nO1xyXG5cclxuICAgIH0sXHJcbiAgICBwdXNoTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgICByZW1vdmVBbGxMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuXHJcbn07Il19 //------QC-SOURCE-SPLIT------ (function() { @@ -4294,6 +945,2491 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMaXN0Vmlld1xcTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEYsMkNBQXFDO0FBRS9CLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRTVDLFlBQVk7QUFDWixJQUFZLFFBT1g7QUFQRCxXQUFZLFFBQVE7SUFDaEIsVUFBVTtJQUNWLG1EQUFjLENBQUE7SUFDZCxVQUFVO0lBQ1YsK0NBQVksQ0FBQTtJQUNaLFVBQVU7SUFDVix1Q0FBUSxDQUFBO0FBQ1osQ0FBQyxFQVBXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBT25CO0FBRUQsY0FBYztBQUNkLElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUNyQixVQUFVO0lBQ1YsNkRBQWMsQ0FBQTtJQUNkLFVBQVU7SUFDVix5REFBWSxDQUFBO0FBQ2hCLENBQUMsRUFMVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQUt4QjtBQUVEOzs7Ozs7O0dBT0c7QUFFSDtJQUFrQyx3QkFBWTtJQUE5QztRQUFBLHFFQXlpQkM7UUF2aUJHLHFEQUFxRDtRQUNyRCxVQUFVO1FBRUgsZ0JBQVUsR0FBWSxJQUFJLENBQUM7UUFFbEMsVUFBVTtRQUVILFVBQUksR0FBYSxRQUFRLENBQUMsUUFBUSxDQUFDO1FBRTFDLGNBQWM7UUFFUCxlQUFTLEdBQWtCLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFFM0QsY0FBYztRQUVQLFlBQU0sR0FBVyxDQUFDLENBQUM7UUFFMUIsY0FBYztRQUVQLFlBQU0sR0FBVyxDQUFDLENBQUM7UUFFMUIsU0FBUztRQUVGLGlCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRS9C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QUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3Q0FDL0c7SUFJMUI7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sZ0JBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUM7d0NBQzNHO0lBSTFCO1FBREMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLGdCQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs2Q0FDckc7SUFJL0I7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sZ0JBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDO2dEQUNsRztJQUlsQztRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxnQkFBSyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUM7OENBQ3RHO0lBS2hDO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7MENBQ087SUFJNUI7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sZ0JBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDOytDQUNyRztJQTFDaEIsSUFBSTtRQUR4QixPQUFPO09BQ2EsSUFBSSxDQXlpQnhCO0lBQUQsV0FBQztDQXppQkQsQUF5aUJDLENBemlCaUMsRUFBRSxDQUFDLFNBQVMsR0F5aUI3QztrQkF6aUJvQixJQUFJIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuaW1wb3J0IEl0ZW1SZW5kZXIgZnJvbSBcIi4vSXRlbVJlbmRlclwiXHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuLyoq5YiX6KGo5o6S5YiX5pa55byPICovXHJcbmV4cG9ydCBlbnVtIExpc3RUeXBlIHtcclxuICAgIC8qKuawtOW5s+aOkuWIlyAqL1xyXG4gICAgSG9yaXpvbnRhbCA9IDEsXHJcbiAgICAvKirlnoLnm7TmjpLliJcgKi9cclxuICAgIFZlcnRpY2FsID0gMixcclxuICAgIC8qKue9keagvOaOkuWIlyAqL1xyXG4gICAgR3JpZCA9IDNcclxufVxyXG5cclxuLyoq572R5qC85biD5bGA5Lit55qE5pa55ZCRICovXHJcbmV4cG9ydCBlbnVtIFN0YXJ0QXhpc1R5cGUge1xyXG4gICAgLyoq5rC05bmz5o6S5YiXICovXHJcbiAgICBIb3Jpem9udGFsID0gMSxcclxuICAgIC8qKuWeguebtOaOkuWIlyAqL1xyXG4gICAgVmVydGljYWwgPSAyLFxyXG59XHJcblxyXG4vKipcclxuICog5YiX6KGoXHJcbiAqIOagueaNrmNvY29zX2V4YW1wbGXnmoRsaXN0Vmlld+aUueWKqOiAjOadpVxyXG4gKiBAYXV0aG9yIGNoZW5rYWkgMjAyMC43LjhcclxuICogQGV4YW1wbGVcclxuICogIDEu5Yib5bu6Y29jb3PnmoRTY3JvbGxWaWV357uE5Lu277yM5re75YqgTGlzdO+8jOiuvue9rkxpc3TlsZ7mgKfljbPlj69cclxuICogIFxyXG4gKi9cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGlzdCBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgLy89PT09PT09PT09PT09PT09PT09PSDlsZ7mgKfpnaLmnb8gPT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgLyoq5YiX6KGo6YCJ6aG5ICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5Ob2RlLCB0b29sdGlwOiBcIuWIl+ihqOmhuVwiIH0pXHJcbiAgICBwdWJsaWMgaXRlbVJlbmRlcjogY2MuTm9kZSA9IG51bGw7XHJcblxyXG4gICAgLyoq5o6S5YiX5pa55byPICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5FbnVtKExpc3RUeXBlKSwgdG9vbHRpcDogXCLmjpLliJfmlrnlvI9cIiB9KVxyXG4gICAgcHVibGljIHR5cGU6IExpc3RUeXBlID0gTGlzdFR5cGUuVmVydGljYWw7XHJcblxyXG4gICAgLyoq572R5qC85biD5bGA5Lit55qE5pa55ZCRICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5FbnVtKFN0YXJ0QXhpc1R5cGUpLCB0b29sdGlwOiBcIue9keagvOW4g+WxgOS4reeahOaWueWQkVwiLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQgfSB9KVxyXG4gICAgcHVibGljIHN0YXJ0QXhpczogU3RhcnRBeGlzVHlwZSA9IFN0YXJ0QXhpc1R5cGUuSG9yaXpvbnRhbDtcclxuXHJcbiAgICAvKirliJfooajpobnkuYvpl7RY6Ze06ZqUICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuWIl+ihqOmhuVjpl7TpmpRcIiwgdmlzaWJsZSgpIHsgcmV0dXJuICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuSG9yaXpvbnRhbCB8fCB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkgfSB9KVxyXG4gICAgcHVibGljIHNwYWNlWDogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirliJfooajpobnkuYvpl7RZ6Ze06ZqUICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuWIl+ihqOmhuVnpl7TpmpRcIiwgdmlzaWJsZSgpIHsgcmV0dXJuIHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCB8fCB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCB9IH0pXHJcbiAgICBwdWJsaWMgc3BhY2VZOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKuS4iumXtOi3nSAqL1xyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogY2MuSW50ZWdlciwgdG9vbHRpcDogXCLkuIrpl7Tot51cIiwgdmlzaWJsZSgpIHsgcmV0dXJuICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuVmVydGljYWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX3RvcDogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirkuIvpl7Tot50gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5LiL6Ze06LedXCIsIHZpc2libGUoKSB7IHJldHVybiAodGhpcy50eXBlID09IExpc3RUeXBlLlZlcnRpY2FsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB9IH0pXHJcbiAgICBwdWJsaWMgcGFkZGluZ19idXR0b206IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5bem6Ze06LedICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuW3pumXtOi3nVwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB9IH0pXHJcbiAgICBwdWJsaWMgcGFkZGluZ19sZWZ0OiBudW1iZXIgPSAwO1xyXG5cclxuXHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkludGVnZXIpXHJcbiAgICBwdWJsaWMgX3BhZGRpbmc6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5Y+z6Ze06LedICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuWPs+mXtOi3nVwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB9IH0pXHJcbiAgICBwdWJsaWMgcGFkZGluZ19yaWdodDogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvLz09PT09PT09PT09PT09PT09PT09PT0g5rua5Yqo5a655ZmoID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8qKuWIl+ihqOa7muWKqOWuueWZqCAqL1xyXG4gICAgcHVibGljIHNjcm9sbFZpZXc6IGNjLlNjcm9sbFZpZXcgPSBudWxsO1xyXG4gICAgLyoqc2Nyb2xsVmlld+eahOWGheWuueWuueWZqCAqL1xyXG4gICAgcHJpdmF0ZSBjb250ZW50OiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PSDliJfooajpobkgPT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvKirliJfooajpobnmlbDmja4gKi9cclxuICAgIHByaXZhdGUgaXRlbURhdGFMaXN0OiBBcnJheTxhbnk+ID0gW107XHJcbiAgICAvKirlupTliJvlu7rnmoTlrp7kvovmlbDph48gKi9cclxuICAgIHByaXZhdGUgc3Bhd25Db3VudDogbnVtYmVyID0gMDtcclxuICAgIC8qKuWtmOaUvuWIl+ihqOmhueWunuS+i+eahOaVsOe7hCAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtTGlzdDogQXJyYXk8Y2MuTm9kZT4gPSBbXTtcclxuICAgIC8qKml0ZW3nmoTpq5jluqYgKi9cclxuICAgIHByaXZhdGUgaXRlbUhlaWdodDogbnVtYmVyID0gMDtcclxuICAgIC8qKml0ZW3nmoTlrr3luqYgKi9cclxuICAgIHByaXZhdGUgaXRlbVdpZHRoOiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5a2Y5pS+5LiN5YaN5L2/55So5Lit55qE5YiX6KGo6aG5ICovXHJcbiAgICBwcml2YXRlIGl0ZW1Qb29sOiBBcnJheTxjYy5Ob2RlPiA9IFtdO1xyXG5cclxuICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT0g6K6h566X5Y+C5pWwID09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvKirot53nprtzY3JvbGxWaWV35Lit5b+D54K555qE6Led56a777yM6LaF6L+H6L+Z5Liq6Led56a755qEaXRlbeS8muiiq+mHjee9ru+8jOS4gOiIrOiuvue9ruS4uiBzY3JvbGxWSWV3LmhlaWdodC8yICsgaXRlbS5oZWlndC8yICsgc3BhY2XvvIzlm6DkuLrov5nkuKrot53nprtpdGVt5q2j5aW96LaF5Ye6c2Nyb2xsVmlld+aYvuekuuiMg+WbtCAqL1xyXG4gICAgcHJpdmF0ZSBoYWxmU2Nyb2xsVmlldzogbnVtYmVyID0gMDtcclxuICAgIC8qKuS4iuS4gOasoWNvbnRlbnTnmoRY5YC877yM55So5LqO5ZKM546w5ZyoY29udGVudOeahFjlgLzmr5TovoPvvIzlvpflh7rmmK/lkJHlt6bov5jmmK/lkJHlj7Pmu5rliqggKi9cclxuICAgIHByaXZhdGUgbGFzdENvbnRlbnRQb3NYOiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5LiK5LiA5qyhY29udGVudOeahFnlgLzvvIznlKjkuo7lkoznjrDlnKhjb250ZW5055qEWeWAvOavlOi+g++8jOW+l+WHuuaYr+WQkeS4iui/mOaYr+WQkeS4i+a7muWKqCAqL1xyXG4gICAgcHJpdmF0ZSBsYXN0Q29udGVudFBvc1k6IG51bWJlciA9IDA7XHJcbiAgICAvKirnvZHmoLzooYzmlbAgKi9cclxuICAgIHByaXZhdGUgZ3JpZFJvdzogbnVtYmVyID0gMDtcclxuICAgIC8qKue9keagvOWIl+aVsCAqL1xyXG4gICAgcHJpdmF0ZSBncmlkQ29sOiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5Yi35paw5pe26Ze077yM5Y2V5L2NcyAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVUaW1lcjogbnVtYmVyID0gMDtcclxuICAgIC8qKuWIt+aWsOmXtOmalO+8jOWNleS9jXMgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlSW50ZXJ2YWw6IG51bWJlciA9IDAuMTtcclxuICAgIC8qKuaYr+WQpua7muWKqOWuueWZqCAqL1xyXG4gICAgcHJpdmF0ZSBiU2Nyb2xsaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvKirliLfmlrDnmoTlh73mlbAgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlRnVuOiBGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTtcclxuXHJcbiAgICBvbkxvYWQoKSB7XHJcbiAgICAgICAgdGhpcy5pdGVtSGVpZ2h0ID0gdGhpcy5pdGVtUmVuZGVyLmhlaWdodDtcclxuICAgICAgICB0aGlzLml0ZW1XaWR0aCA9IHRoaXMuaXRlbVJlbmRlci53aWR0aDtcclxuICAgICAgICB0aGlzLnNjcm9sbFZpZXcgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNjcm9sbFZpZXcpO1xyXG4gICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50O1xyXG4gICAgICAgIHRoaXMuY29udGVudC5hbmNob3JYID0gMDtcclxuICAgICAgICB0aGlzLmNvbnRlbnQuYW5jaG9yWSA9IDE7XHJcbiAgICAgICAgdGhpcy5jb250ZW50LnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxWaWV3Lm5vZGUub24oXCJzY3JvbGxpbmdcIiwgdGhpcy5vblNjcm9sbGluZywgdGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliJfooajmlbDmja4gKOWIl+ihqOaVsOaNruWkjeWItuS9v+eUqO+8jOWmguaenOWIl+ihqOaVsOaNruaUueWPmO+8jOWImemcgOimgemHjeaWsOiuvue9ruS4gOmBjeaVsOaNrilcclxuICAgICAqIEBwYXJhbSBpdGVtRGF0YUxpc3QgaXRlbeaVsOaNruWIl+ihqFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0RGF0YShpdGVtRGF0YUxpc3Q6IEFycmF5PGFueT4pIHtcclxuICAgICAgICB0aGlzLml0ZW1EYXRhTGlzdCA9IGl0ZW1EYXRhTGlzdC5zbGljZSgpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xyXG4gICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLyoq6K6h566X5YiX6KGo55qE5ZCE6aG55Y+C5pWwICovXHJcbiAgICBwcml2YXRlIGNvdW50TGlzdFBhcmFtKCkge1xyXG4gICAgICAgIGxldCBkYXRhTGVuID0gdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoO1xyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3Lmhvcml6b250YWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3LnZlcnRpY2FsID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50LndpZHRoID0gdGhpcy5jb250ZW50LnBhcmVudC53aWR0aDtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50LmhlaWdodCA9IGRhdGFMZW4gKiB0aGlzLml0ZW1IZWlnaHQgKyAoZGF0YUxlbiAtIDEpICogdGhpcy5zcGFjZVkgKyB0aGlzLnBhZGRpbmdfdG9wICsgdGhpcy5wYWRkaW5nX2J1dHRvbTtcclxuICAgICAgICAgICAgdGhpcy5zcGF3bkNvdW50ID0gTWF0aC5yb3VuZCh0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpKSArIDI7IC8v6K6h566X5Yib5bu655qEaXRlbeWunuS+i+aVsOmHj++8jOavlOW9k+WJjXNjcm9sbFZpZXflrrnlmajog73mlL7kuIvnmoRpdGVt5pWw6YeP5YaN5Yqg5LiKMuS4qlxyXG4gICAgICAgICAgICB0aGlzLmhhbGZTY3JvbGxWaWV3ID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUuaGVpZ2h0IC8gMiArIHRoaXMuaXRlbUhlaWdodCAvIDIgKyB0aGlzLnNwYWNlWTsgLy/orqHnrpdidWZmZXJab25l77yMaXRlbeeahOaYvuekuuiMg+WbtFxyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZ1biA9IHRoaXMudXBkYXRlVjtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5ob3Jpem9udGFsID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3LnZlcnRpY2FsID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudC53aWR0aCA9IGRhdGFMZW4gKiB0aGlzLml0ZW1XaWR0aCArIChkYXRhTGVuIC0gMSkgKiB0aGlzLnNwYWNlWCArIHRoaXMucGFkZGluZ19sZWZ0ICsgdGhpcy5wYWRkaW5nX3JpZ2h0O1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQuaGVpZ2h0ID0gdGhpcy5jb250ZW50LnBhcmVudC5oZWlnaHQ7XHJcbiAgICAgICAgICAgIHRoaXMuc3Bhd25Db3VudCA9IE1hdGgucm91bmQodGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkpICsgMjtcclxuICAgICAgICAgICAgdGhpcy5oYWxmU2Nyb2xsVmlldyA9IHRoaXMuc2Nyb2xsVmlldy5ub2RlLndpZHRoIC8gMiArIHRoaXMuaXRlbVdpZHRoIC8gMiArIHRoaXMuc3BhY2VYO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZ1biA9IHRoaXMudWRwYXRlSDtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLlZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcuaG9yaXpvbnRhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3LnZlcnRpY2FsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC53aWR0aCA9IHRoaXMuY29udGVudC5wYXJlbnQud2lkdGg7XHJcbiAgICAgICAgICAgICAgICAvL+WmguaenGxlZnTlkoxyaWdodOmXtOmalOi/h+Wkp++8jOWvvOiHtOaUvuS4jeS4i+S4gOS4qml0ZW3vvIzliJlsZWZ05ZKMcmlnaHTpg73orr7nva7kuLow77yM55u45b2T5LqO5LiN55Sf5pWIXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYWRkaW5nX2xlZnQgKyB0aGlzLnBhZGRpbmdfcmlnaHQgKyB0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYID4gdGhpcy5jb250ZW50LndpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWRkaW5nX2xlZnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ19yaWdodCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcInBhZGRpbmdfbGVmdOaIlnBhZGRpbmdfcmlnaHTov4flpKdcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkQ29sID0gTWF0aC5mbG9vcigodGhpcy5jb250ZW50LndpZHRoIC0gdGhpcy5wYWRkaW5nX2xlZnQgLSB0aGlzLnBhZGRpbmdfcmlnaHQpIC8gKHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVgpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZFJvdyA9IE1hdGguY2VpbChkYXRhTGVuIC8gdGhpcy5ncmlkQ29sKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC5oZWlnaHQgPSB0aGlzLmdyaWRSb3cgKiB0aGlzLml0ZW1IZWlnaHQgKyAodGhpcy5ncmlkUm93IC0gMSkgKiB0aGlzLnNwYWNlWSArIHRoaXMucGFkZGluZ190b3AgKyB0aGlzLnBhZGRpbmdfYnV0dG9tO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zcGF3bkNvdW50ID0gTWF0aC5yb3VuZCh0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpKSAqIHRoaXMuZ3JpZENvbCArIHRoaXMuZ3JpZENvbCAqIDI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhbGZTY3JvbGxWaWV3ID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUuaGVpZ2h0IC8gMiArIHRoaXMuaXRlbUhlaWdodCAvIDIgKyB0aGlzLnNwYWNlWTtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51cGRhdGVHcmlkX1Y7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcuaG9yaXpvbnRhbCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIC8v6K6h566X6auY6Ze06ZqUXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQuaGVpZ2h0ID0gdGhpcy5jb250ZW50LnBhcmVudC5oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAvL+WmguaenGxlZnTlkoxyaWdodOmXtOmalOi/h+Wkp++8jOWvvOiHtOaUvuS4jeS4i+S4gOS4qml0ZW3vvIzliJlsZWZ05ZKMcmlnaHTpg73orr7nva7kuLow77yM55u45b2T5LqO5LiN55Sf5pWIXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYWRkaW5nX3RvcCArIHRoaXMucGFkZGluZ19idXR0b20gKyB0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSA+IHRoaXMuY29udGVudC5oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdfdG9wID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdfYnV0dG9tID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwicGFkZGluZ190b3DmiJZwYWRkaW5nX2J1dHRvbei/h+Wkp1wiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRSb3cgPSBNYXRoLmZsb29yKCh0aGlzLmNvbnRlbnQuaGVpZ2h0IC0gdGhpcy5wYWRkaW5nX3RvcCAtIHRoaXMucGFkZGluZ19idXR0b20pIC8gKHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRDb2wgPSBNYXRoLmNlaWwoZGF0YUxlbiAvIHRoaXMuZ3JpZFJvdyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQud2lkdGggPSB0aGlzLmdyaWRDb2wgKiB0aGlzLml0ZW1XaWR0aCArICh0aGlzLmdyaWRDb2wgLSAxKSAqIHRoaXMuc3BhY2VYICsgdGhpcy5wYWRkaW5nX2xlZnQgKyB0aGlzLnBhZGRpbmdfcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNwYXduQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuc2Nyb2xsVmlldy5ub2RlLndpZHRoIC8gKHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVgpKSAqIHRoaXMuZ3JpZFJvdyArIHRoaXMuZ3JpZFJvdyAqIDI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhbGZTY3JvbGxWaWV3ID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAyICsgdGhpcy5pdGVtV2lkdGggLyAyICsgdGhpcy5zcGFjZVg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUZ1biA9IHRoaXMudXBkYXRlR3JpZF9IO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5Yib5bu65YiX6KGoIFxyXG4gICAgICogQHBhcmFtIHN0YXJ0SW5kZXgg6LW35aeL5pi+56S655qE5pWw5o2u57Si5byVIDDooajnpLrnrKzkuIDpoblcclxuICAgICAqIEBwYXJhbSBvZmZzZXQgICAgIHNjcm9sbFZpZXflgY/np7vph49cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBjcmVhdGVMaXN0KHN0YXJ0SW5kZXg6IG51bWJlciwgb2Zmc2V0OiBjYy5WZWMyKSB7XHJcbiAgICAgICAgLy/lvZPpnIDopoHmmL7npLrnmoTmlbDmja7plb/luqYgPiDomZrmi5/liJfooajplb/luqbvvIwg5Yig6Zmk5pyA5pyr5bC+5Yeg5Liq5pWw5o2u5pe277yM5YiX6KGo6ZyA6KaB6YeN572u5L2N572u5Yiwc2Nyb2xsVmlld+acgOW6leerr1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGggPiB0aGlzLnNwYXduQ291bnQgJiYgKHN0YXJ0SW5kZXggKyB0aGlzLnNwYXduQ291bnQgLSAxKSA+PSB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgc3RhcnRJbmRleCA9IHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCAtIHRoaXMuc3Bhd25Db3VudDtcclxuICAgICAgICAgICAgb2Zmc2V0ID0gdGhpcy5zY3JvbGxWaWV3LmdldE1heFNjcm9sbE9mZnNldCgpO1xyXG5cclxuICAgICAgICAgICAgLy/lvZPpnIDopoHmmL7npLrnmoTmlbDmja7plb/luqYgPD0g6Jma5ouf5YiX6KGo6ZW/5bqm77yMIOmakOiXj+WkmuS9meeahOiZmuaLn+WIl+ihqOmhuSBcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA8PSB0aGlzLnNwYXduQ291bnQpIHtcclxuICAgICAgICAgICAgc3RhcnRJbmRleCA9IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Bhd25Db3VudDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtOiBjYy5Ob2RlO1xyXG4gICAgICAgICAgICAvL+mcgOimgeaYvuekuueahOaVsOaNrue0ouW8leWcqOaVsOaNruiMg+WbtOWGhe+8jOWImWl0ZW3lrp7kvovmmL7npLrlh7rmnaVcclxuICAgICAgICAgICAgaWYgKGkgKyBzdGFydEluZGV4IDwgdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtTGlzdFtpXSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9IHRoaXMuZ2V0SXRlbSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3QucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnBhcmVudCA9IHRoaXMuY29udGVudDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9IHRoaXMuaXRlbUxpc3RbaV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL+mcgOimgeaYvuekuueahOaVsOaNrue0ouW8lei2hei/h+S6huaVsOaNruiMg+WbtO+8jOWImWl0ZW3lrp7kvovpmpDol4/otbfmnaVcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vaXRlbeWunuS+i+aVsOmHjyA+IOmcgOimgeaYvuekuueahOaVsOaNrumHj1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbUxpc3QubGVuZ3RoID4gKHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCAtIHN0YXJ0SW5kZXgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9IHRoaXMuaXRlbUxpc3QucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtUG9vbC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaSArIHN0YXJ0SW5kZXg7XHJcbiAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2kgKyBzdGFydEluZGV4XTtcclxuICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgLy/lm6DkuLpjb250ZW5055qE6ZSa54K5WOaYrzDvvIzmiYDku6VpdGVt55qEeOWAvOaYr2NvbnRlbnQud2l0aC8y6KGo56S65bGF5Lit77yM6ZSa54K5WeaYrzHvvIzmiYDku6VpdGVt55qEeeWAvOS7jmNvbnRlbnTpobbpg6jlkJHkuIvmmK8w5Yiw6LSf5peg56m344CC5omA5LulaXRlbS55PSAtaXRlbS5oZWlnaHQvMuaXtu+8jOaYr+WcqGNvbnRlbnTnmoTpobbpg6jjgIJcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2V0UG9zaXRpb24odGhpcy5jb250ZW50LndpZHRoIC8gMiwgLWl0ZW0uaGVpZ2h0ICogKDAuNSArIGkgKyBzdGFydEluZGV4KSAtIHRoaXMuc3BhY2VZICogKGkgKyBzdGFydEluZGV4KSAtIHRoaXMucGFkZGluZ190b3ApO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtLnNldFBvc2l0aW9uKGl0ZW0ud2lkdGggKiAoMC41ICsgaSArIHN0YXJ0SW5kZXgpICsgdGhpcy5zcGFjZVggKiAoaSArIHN0YXJ0SW5kZXgpICsgdGhpcy5wYWRkaW5nX2xlZnQsIC10aGlzLmNvbnRlbnQuaGVpZ2h0IC8gMik7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLlZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJvdyA9IE1hdGguZmxvb3IoKGkgKyBzdGFydEluZGV4KSAvIHRoaXMuZ3JpZENvbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbCA9IChpICsgc3RhcnRJbmRleCkgJSB0aGlzLmdyaWRDb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zZXRQb3NpdGlvbihpdGVtLndpZHRoICogKDAuNSArIGNvbCkgKyB0aGlzLnNwYWNlWCAqIGNvbCArIHRoaXMucGFkZGluZ19sZWZ0LCAtaXRlbS5oZWlnaHQgKiAoMC41ICsgcm93KSAtIHRoaXMuc3BhY2VZICogcm93IC0gdGhpcy5wYWRkaW5nX3RvcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcm93ID0gKGkgKyBzdGFydEluZGV4KSAlIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgICAgICAgICB2YXIgY29sID0gTWF0aC5mbG9vcigoaSArIHN0YXJ0SW5kZXgpIC8gdGhpcy5ncmlkUm93KTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnNldFBvc2l0aW9uKGl0ZW0ud2lkdGggKiAoMC41ICsgY29sKSArIHRoaXMuc3BhY2VYICogY29sICsgdGhpcy5wYWRkaW5nX2xlZnQsIC1pdGVtLmhlaWdodCAqICgwLjUgKyByb3cpIC0gdGhpcy5zcGFjZVkgKiByb3cgLSB0aGlzLnBhZGRpbmdfdG9wKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2Nyb2xsVmlldy5zY3JvbGxUb09mZnNldChvZmZzZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKuiOt+WPluS4gOS4quWIl+ihqOmhuSAqL1xyXG4gICAgcHJpdmF0ZSBnZXRJdGVtKCkge1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW1Qb29sLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYy5pbnN0YW50aWF0ZSh0aGlzLml0ZW1SZW5kZXIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1Qb29sLnBvcCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGUoZHQpIHtcclxuICAgICAgICBpZiAodGhpcy5iU2Nyb2xsaW5nID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGRhdGVUaW1lciArPSBkdDtcclxuICAgICAgICBpZiAodGhpcy51cGRhdGVUaW1lciA8IHRoaXMudXBkYXRlSW50ZXJ2YWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyID0gMDtcclxuICAgICAgICB0aGlzLmJTY3JvbGxpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUZ1bigpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2Nyb2xsaW5nKCkge1xyXG4gICAgICAgIHRoaXMuYlNjcm9sbGluZyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq5Z6C55u05o6S5YiXICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZVYoKSB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5pdGVtTGlzdDtcclxuICAgICAgICBsZXQgaXRlbTtcclxuICAgICAgICBsZXQgYnVmZmVyWm9uZSA9IHRoaXMuaGFsZlNjcm9sbFZpZXc7XHJcbiAgICAgICAgbGV0IGlzVXAgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC55ID4gdGhpcy5sYXN0Q29udGVudFBvc1k7XHJcbiAgICAgICAgbGV0IG9mZnNldCA9ICh0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSkgKiBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpdGVtID0gaXRlbXNbaV07XHJcbiAgICAgICAgICAgIGxldCB2aWV3UG9zID0gdGhpcy5nZXRQb3NpdGlvbkluVmlldyhpdGVtKTtcclxuICAgICAgICAgICAgaWYgKGlzVXApIHtcclxuICAgICAgICAgICAgICAgIC8vaXRlbeS4iua7keaXtu+8jOi2heWHuuS6hnNjcm9sbFZpZXfkuIrovrnnlYzvvIzlsIZpdGVt56e75Yqo5Yiw5LiL5pa55aSN55So77yMaXRlbeenu+WKqOWIsOS4i+aWueeahOS9jee9ruW/hemhu+S4jei2hei/h2NvbnRlbnTnmoTkuIvovrnnlYxcclxuICAgICAgICAgICAgICAgIGlmICh2aWV3UG9zLnkgPiBidWZmZXJab25lICYmIGl0ZW0ueSAtIG9mZnNldCAtIHRoaXMucGFkZGluZ19idXR0b20gPiAtdGhpcy5jb250ZW50LmhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4ICsgaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ueSA9IGl0ZW0ueSAtIG9mZnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vaXRlbeS4i+a7keaXtu+8jOi2heWHuuS6hnNjcm9sbFZpZXfkuIvovrnnlYzvvIzlsIZpdGVt56e75Yqo5Yiw5LiK5pa55aSN55So77yMaXRlbeenu+WKqOWIsOS4iuaWueeahOS9jee9ruW/hemhu+S4jei2hei/h2NvbnRlbnTnmoTkuIrovrnnlYxcclxuICAgICAgICAgICAgICAgIGlmICh2aWV3UG9zLnkgPCAtYnVmZmVyWm9uZSAmJiBpdGVtLnkgKyBvZmZzZXQgKyB0aGlzLnBhZGRpbmdfdG9wIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4IC0gaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ueSA9IGl0ZW0ueSArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RDb250ZW50UG9zWSA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50Lnk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq5rC05bmz5o6S5YiXICovXHJcbiAgICBwcml2YXRlIHVkcGF0ZUgoKSB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5pdGVtTGlzdDtcclxuICAgICAgICBsZXQgaXRlbTtcclxuICAgICAgICBsZXQgYnVmZmVyWm9uZSA9IHRoaXMuaGFsZlNjcm9sbFZpZXc7XHJcbiAgICAgICAgbGV0IGlzUmlnaHQgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC54ID4gdGhpcy5sYXN0Q29udGVudFBvc1g7XHJcbiAgICAgICAgbGV0IG9mZnNldCA9ICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYKSAqIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgbGV0IHZpZXdQb3MgPSB0aGlzLmdldFBvc2l0aW9uSW5WaWV3KGl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoaXNSaWdodCkge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5Y+z5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+WPs+i+ueeVjO+8jOWwhml0ZW3np7vliqjliLDlt6bmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5bem5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOW3pui+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueCA+IGJ1ZmZlclpvbmUgJiYgaXRlbS54IC0gb2Zmc2V0IC0gdGhpcy5wYWRkaW5nX2xlZnQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggLSBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5bem5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+W3pui+ueeVjO+8jOWwhml0ZW3np7vliqjliLDlj7PmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5Y+z5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOWPs+i+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueCA8IC1idWZmZXJab25lICYmIGl0ZW0ueCArIG9mZnNldCArIHRoaXMucGFkZGluZ19yaWdodCA8IHRoaXMuY29udGVudC53aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4ICsgaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RDb250ZW50UG9zWCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50Lng7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq572R5qC85Z6C55u05o6S5YiXICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZUdyaWRfVigpIHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1MaXN0O1xyXG4gICAgICAgIGxldCBpdGVtOiBjYy5Ob2RlO1xyXG4gICAgICAgIGxldCBidWZmZXJab25lID0gdGhpcy5oYWxmU2Nyb2xsVmlldztcclxuICAgICAgICBsZXQgaXNVcCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50LnkgPiB0aGlzLmxhc3RDb250ZW50UG9zWTtcclxuICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZKSAqICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRDb2wpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuZ2V0UG9zaXRpb25JblZpZXcoaXRlbSk7XHJcbiAgICAgICAgICAgIGlmIChpc1VwKSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3kuIrmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35LiK6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOS4i+aWueWkjeeUqO+8jGl0ZW3np7vliqjliLDkuIvmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5LiL6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy55ID4gYnVmZmVyWm9uZSAmJiBpdGVtLnkgLSBvZmZzZXQgLSB0aGlzLnBhZGRpbmdfYnV0dG9tID4gLXRoaXMuY29udGVudC5oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCArICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRDb2wpICogdGhpcy5ncmlkQ29sO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7Ly9pdGVt5LiL5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+S4i+i+ueeVjO+8jOWwhml0ZW3np7vliqjliLDkuIrmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5LiK5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOS4iui+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueSA8IC1idWZmZXJab25lICYmIGl0ZW0ueSArIG9mZnNldCArIHRoaXMucGFkZGluZ190b3AgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggLSAodGhpcy5zcGF3bkNvdW50IC8gdGhpcy5ncmlkQ29sKSAqIHRoaXMuZ3JpZENvbDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueSA9IGl0ZW0ueSArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueSA9IGl0ZW0ueSArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NZID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueTtcclxuICAgIH1cclxuXHJcbiAgICAvKirnvZHmoLzmsLTlubPmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlR3JpZF9IKCkge1xyXG4gICAgICAgIGxldCBpdGVtcyA9IHRoaXMuaXRlbUxpc3Q7XHJcbiAgICAgICAgbGV0IGl0ZW07XHJcbiAgICAgICAgbGV0IGJ1ZmZlclpvbmUgPSB0aGlzLmhhbGZTY3JvbGxWaWV3O1xyXG4gICAgICAgIGxldCBpc1JpZ2h0ID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueCA+IHRoaXMubGFzdENvbnRlbnRQb3NYO1xyXG4gICAgICAgIGxldCBvZmZzZXQgPSAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkgKiAodGhpcy5zcGF3bkNvdW50IC8gdGhpcy5ncmlkUm93KTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgbGV0IHZpZXdQb3MgPSB0aGlzLmdldFBvc2l0aW9uSW5WaWV3KGl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoaXNSaWdodCkge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5Y+z5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+WPs+i+ueeVjO+8jOWwhml0ZW3np7vliqjliLDlt6bmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5bem5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOW3pui+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueCA+IGJ1ZmZlclpvbmUgJiYgaXRlbS54IC0gb2Zmc2V0IC0gdGhpcy5wYWRkaW5nX2xlZnQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggLSAodGhpcy5zcGF3bkNvdW50IC8gdGhpcy5ncmlkUm93KSAqIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCAtIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCAtIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5bem5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+W3pui+ueeVjO+8jOWwhml0ZW3np7vliqjliLDlj7PmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5Y+z5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOWPs+i+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueCA8IC1idWZmZXJab25lICYmIGl0ZW0ueCArIG9mZnNldCArIHRoaXMucGFkZGluZ19yaWdodCA8IHRoaXMuY29udGVudC53aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4ICsgKHRoaXMuc3Bhd25Db3VudCAvIHRoaXMuZ3JpZFJvdykgKiB0aGlzLmdyaWRSb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF0gIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnggPSBpdGVtLnggKyBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGEgPSB0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnggPSBpdGVtLnggKyBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RDb250ZW50UG9zWCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50Lng7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq6I635Y+WaXRlbeWcqHNjcm9sbFZpZXfnmoTlsYDpg6jlnZDmoIcgKi9cclxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25JblZpZXcoaXRlbSkge1xyXG4gICAgICAgIGxldCB3b3JsZFBvcyA9IGl0ZW0ucGFyZW50LmNvbnZlcnRUb1dvcmxkU3BhY2VBUihpdGVtLnBvc2l0aW9uKTtcclxuICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuc2Nyb2xsVmlldy5ub2RlLmNvbnZlcnRUb05vZGVTcGFjZUFSKHdvcmxkUG9zKTtcclxuICAgICAgICByZXR1cm4gdmlld1BvcztcclxuICAgIH1cclxuXHJcbiAgICAvKirojrflj5bliJfooajmlbDmja4gKi9cclxuICAgIHB1YmxpYyBnZXRMaXN0RGF0YSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pdGVtRGF0YUxpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlop7liqDkuIDpobnmlbDmja7liLDliJfooajnmoTmnKvlsL5cclxuICAgICAqIEBwYXJhbSBkYXRhIOaVsOaNrlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWRkSXRlbShkYXRhOiBhbnkpIHtcclxuICAgICAgICB0aGlzLml0ZW1EYXRhTGlzdC5wdXNoKGRhdGEpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5aKe5Yqg5LiA6aG55pWw5o2u5Yiw5YiX6KGo5oyH5a6a5L2N572uXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggICDkvY3nva7vvIww6KGo56S656ysMemhuVxyXG4gICAgICogQHBhcmFtIGRhdGEgIOaVsOaNrlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWRkSXRlbUF0KGluZGV4OiBudW1iZXIsIGRhdGE6IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpbmRleF0gIT0gbnVsbCB8fCB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGggPT0gaW5kZXgpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtRGF0YUxpc3Quc3BsaWNlKGluZGV4LCAxLCBkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5Yig6Zmk5LiA6aG55pWw5o2uXHJcbiAgICAgKiBAcGFyYW0gaW5kZXgg5Yig6Zmk6aG555qE5L2N572uICww6KGo56S656ysMemhuVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVsZXRlSXRlbShpbmRleDogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbURhdGFMaXN0LnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOaUueWPmOS4gOmhueaVsOaNrlxyXG4gICAgICogQHBhcmFtIGluZGV4ICAg5L2N572uLDDooajnpLrnrKwx6aG5XHJcbiAgICAgKiBAcGFyYW0gZGF0YSAg5pu/5o2i55qE5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaGFuZ2VJdGVtKGluZGV4OiBudW1iZXIsIGRhdGE6IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpbmRleF0gIT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW1EYXRhTGlzdFtpbmRleF0gPSBkYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoq6I635Y+W56ys5LiA5LiqSXRlbeeahOS9jee9riAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVDb250ZW50KCkge1xyXG4gICAgICAgIC8v5pi+56S65YiX6KGo5a6e5L6L5Li6MOS4qlxyXG4gICAgICAgIGlmICh0aGlzLml0ZW1MaXN0Lmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRMaXN0UGFyYW0oKTtcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVMaXN0KDAsIG5ldyBjYy5WZWMyKDAsIDApKTtcclxuICAgICAgICAgICAgLy/mmL7npLrliJfooajnmoTlrp7kvovkuI3kuLow5Liq77yM5YiZ6ZyA6KaB6YeN5paw5o6S5YiXaXRlbeWunuS+i+aVsOe7hFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYi55IC0gYS55O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS54IC0gYi54O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLlZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS54IC0gYi54O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGIueSAtIGEueTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYi55IC0gYS55O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEueCAtIGIueDtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5jb3VudExpc3RQYXJhbSgpO1xyXG5cclxuICAgICAgICAgICAgLy/ojrflj5bnrKzkuIDkuKppdGVt5a6e5L6L6ZyA6KaB5pi+56S655qE5pWw5o2u57Si5byVXHJcbiAgICAgICAgICAgIHZhciBzdGFydEluZGV4ID0gdGhpcy5pdGVtTGlzdFswXS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcikuaXRlbUluZGV4O1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkICYmIHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggKz0gKHN0YXJ0SW5kZXggKyB0aGlzLnNwYXduQ291bnQpICUgdGhpcy5ncmlkQ29sO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkICYmIHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuSG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleCArPSAoc3RhcnRJbmRleCArIHRoaXMuc3Bhd25Db3VudCkgJSB0aGlzLmdyaWRSb3c7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vZ2V0U2Nyb2xsT2Zmc2V0KCnlkoxzY3JvbGxUb09mZnNldCgp55qEeOWAvOaYr+ebuOWPjeeahFxyXG4gICAgICAgICAgICB2YXIgb2Zmc2V0OiBjYy5WZWMyID0gdGhpcy5zY3JvbGxWaWV3LmdldFNjcm9sbE9mZnNldCgpO1xyXG4gICAgICAgICAgICBvZmZzZXQueCA9IC0gb2Zmc2V0Lng7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpc3Qoc3RhcnRJbmRleCwgb2Zmc2V0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoq6ZSA5q+BICovXHJcbiAgICBwdWJsaWMgb25EZXN0cm95KCkge1xyXG4gICAgICAgIC8v5riF55CG5YiX6KGo6aG5XHJcbiAgICAgICAgbGV0IGxlbiA9IHRoaXMuaXRlbUxpc3QubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGNjLmlzVmFsaWQodGhpcy5pdGVtTGlzdFtpXSwgdHJ1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3RbaV0uZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXRlbUxpc3QubGVuZ3RoID0gMDtcclxuICAgICAgICAvL+a4heeQhuWvueixoeaxoFxyXG4gICAgICAgIGxlbiA9IHRoaXMuaXRlbVBvb2wubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGNjLmlzVmFsaWQodGhpcy5pdGVtUG9vbFtpXSwgdHJ1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbVBvb2xbaV0uZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXRlbVBvb2wubGVuZ3RoID0gMDtcclxuICAgICAgICAvL+a4heeQhuWIl+ihqOaVsOaNrlxyXG4gICAgICAgIHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA9IDA7XHJcbiAgICB9XHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/crypto/serverAPI.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, '98307M8uUtLYKaHXPmGgCWf', 'serverAPI'); +// Script/crypto/serverAPI.ts + +"use strict"; +// import CryptoJS from "crypto-js"; +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; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var GameData_1 = require("../GameData"); +var CryptoJS = require("./crypto-js.min.js"); //引用AES源码js +// import axios from 'axios' +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var HttpUtil = /** @class */ (function (_super) { + __extends(HttpUtil, _super); + function HttpUtil() { + return _super !== null && _super.apply(this, arguments) || this; + } + //排行榜type2为获取,type1为上传 + HttpUtil.rankData = function (type, callback, data) { + return __awaiter(this, void 0, Promise, function () { + var time, url; + return __generator(this, function (_a) { + data.gameId = GameData_1.default._instance.GM_INFO.gameId; + data.userId = GameData_1.default._instance.GM_INFO.userId; + time = Math.floor((new Date().getTime()) / 1000); + url = apiSign("/api/get/rank/data?gameId=" + config.gameId + "&dataType=" + type + "&time=" + time, data); + this.httpPost(url, data, callback); + return [2 /*return*/]; + }); + }); + }; + HttpUtil.uploadUserLogData = function (data, callback) { + return __awaiter(this, void 0, Promise, function () { + var url; + return __generator(this, function (_a) { + data.gameId = GameData_1.default._instance.GM_INFO.gameId; + data.userId = GameData_1.default._instance.GM_INFO.userId; + url = '/log/collect/data'; + this.httpPost(url, data, callback); + return [2 /*return*/]; + }); + }); + }; + //暂时用不到 + HttpUtil.getUserRecord = function (data, callback) { + return __awaiter(this, void 0, Promise, function () { + var time, url; + return __generator(this, function (_a) { + data.gameId = GameData_1.default._instance.GM_INFO.gameId; + data.userId = GameData_1.default._instance.GM_INFO.userId; + time = Math.floor((new Date().getTime()) / 1000); + url = apiSign("/api/get/user/data?gameId=" + config.gameId + "&time=" + time, data); + this.httpPost(url, data, callback); + return [2 /*return*/]; + }); + }); + }; + HttpUtil.httpPost = function (url, data, callBack) { + data.gameId = GameData_1.default._instance.GM_INFO.gameId; + data.userId = GameData_1.default._instance.GM_INFO.userId; + var urlData = "http://api.sparkus.cn" + url; + // console.log("params:",JSON.stringify(data)); + var xhr = new XMLHttpRequest(); + xhr.open('POST', urlData); + xhr.setRequestHeader('Content-Type', 'application/json'); + xhr.onreadystatechange = function () { + if (xhr.readyState == 4 && xhr.status == 200) { + var data = xhr.responseText; + if (!data) { + // console.log("初始化失败"); + return; + } + var json = JSON.parse(data); + // console.log('http success:' + json); + callBack(json); + } + else { + // var json = JSON.parse(data); + // console.log('http fail:' + url); + callBack(json); + } + }; + xhr.send(JSON.stringify(data)); + }; + HttpUtil.httpGet = function (url, callBack) { + var urlData = "http://api.sparkus.cn" + url; + console.log(urlData); + var xhr = new XMLHttpRequest(); + xhr.open('GET', urlData); + xhr.setRequestHeader('Content-Type', 'text/plain'); + xhr.onreadystatechange = function () { + if (xhr.readyState == 4 && xhr.status == 200) { + var data = xhr.responseText; + if (data) { + var json = JSON.parse(data); + console.info('http success:' + json); + callBack(json); + } + else + callBack(data); + } + else { + console.info('http fail:' + url); + callBack(null); + } + }; + xhr.send(); + }; + HttpUtil = __decorate([ + ccclass + ], HttpUtil); + return HttpUtil; +}(cc.Component)); +exports.default = HttpUtil; +function responseHandler(response) { + return response.data; +} +// 响应拦截器 +// Rq.interceptors.response.use(responseHandler) +var config = { + gameId: "100009", + secretKey: "CMNhOzBA", + EK: "hui231%1" +}; +var Crypoto = /** @class */ (function () { + function Crypoto() { + // 加密的向明值,自己根据项目实际情况定,需要跟后端开发保持一致 + this.keyHex = this.getHetKey(); + } + Crypoto.prototype.getHetKey = function () { + return CryptoJS.enc.Utf8.parse(config.EK); + }; + /** DES加密 */ + Crypoto.prototype.encryptByDES = function (message, secret) { + if (!message) { + return message; + } + var key = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; + var encrypted = CryptoJS.DES.encrypt(message, key, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }); + return encrypted.toString(); + }; + /** DES解密 */ + Crypoto.prototype.decryptByDES = function (message, secret) { + var key = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; + var decrypted = CryptoJS.DES.decrypt({ + ciphertext: CryptoJS.enc.Base64.parse(message) + }, key, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }); + return decrypted.toString(CryptoJS.enc.Utf8); + }; + /** hmacSHA256加密 */ + Crypoto.prototype.hmacSha256 = function (message, secret) { + var keyHex = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; + var hash = CryptoJS.HmacSHA256(message, keyHex); + return hash.toString(); + }; + /** hmacSHA256验证 */ + Crypoto.prototype.verifyHmacSha256 = function (message, signature) { + var hash = CryptoJS.HmacSHA256(message, this.keyHex); + return hash.toString() === signature; + }; + /** CBC加密 */ + Crypoto.prototype.encryptCBC = function (word) { + if (!word) { + return word; + } + var srcs = CryptoJS.enc.Utf8.parse(word); + var encrypted = CryptoJS.AES.encrypt(srcs, this.keyHex, { + iv: this.keyHex, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.ZeroPadding + }); + return encrypted.toString(); + }; + /** CBC解密 */ + Crypoto.prototype.decryptCBC = function (word) { + if (!word) { + return word; + } + var encryptedHexStr = CryptoJS.enc.Hex.parse(word); + var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); + var decrypt = CryptoJS.AES.decrypt(srcs, this.keyHex, { + iv: this.keyHex, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.ZeroPadding + }); + var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); + return decryptedStr.toString(); + }; + return Crypoto; +}()); +var fxCry = new Crypoto(); +function isEmpty(data) { + return data === "" || data === null || data === undefined || data.length === 0 || JSON.stringify(data) == "{}"; +} +function getQueryString(obj) { + // 首先对对象的键进行排序并过滤空值 + var sortedKeys = Object.keys(obj).sort(); + var sortedObj = {}; + for (var i = 0; i < sortedKeys.length; i++) { + if (isEmpty(obj[sortedKeys[i]])) { + continue; + } + sortedObj[sortedKeys[i]] = obj[sortedKeys[i]]; + } + // 然后将排序后的对象转换为查询字符串 + var params = []; + for (var key in sortedObj) { + params.push(encodeURIComponent(key) + "=" + encodeURIComponent(sortedObj[key])); + } + return params.join('&'); +} +/** + * 组装签名字符串 + * @param string url: 请求地址 + * @param string postStr: post参数的a=1&b=2 + * @returns + */ +function genSignStr(url, postStr) { + var lessUrl = url.replace('?', ''); + lessUrl = lessUrl + "&" + postStr; + return encodeURIComponent(fxCry.hmacSha256(lessUrl)); +} +// 对参数进行统一urlencode +function urlencode(url) { + var _a = url.split("?", 2), baseUrl = _a[0], queryString = _a[1]; + var params = new URLSearchParams(queryString); + return baseUrl + "?" + params.toString(); +} +/** + * + * @param url {string} 接口地址 + * @param params {object} 需要加密的参数对象 + */ +function apiSign(url, params) { + if (params === void 0) { params = {}; } + var convertUrl = url.trim(); + if (convertUrl.indexOf('?') === -1) { + convertUrl += '?'; + } + // 传入参数转换拼接字符串 + var postStr = getQueryString(params); + var signedStr = genSignStr(convertUrl, postStr); + var encryptStr = "sign=" + signedStr; + var encryptSignStr = fxCry.encryptByDES(encryptStr, config.secretKey); + encryptSignStr = encodeURIComponent(encryptSignStr); + return urlencode(convertUrl) + "&_p=" + encryptSignStr; +} + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxjcnlwdG9cXHNlcnZlckFQSS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0NBQW9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHcEMsd0NBQW1DO0FBQ25DLDZDQUFnRCxDQUFFLFdBQVc7QUFFN0QsNEJBQTRCO0FBQ3RCLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXNDLDRCQUFZO0lBQWxEOztJQTZFQSxDQUFDO0lBNUVDLHNCQUFzQjtJQUNULGlCQUFRLEdBQXJCLFVBQXNCLElBQUksRUFBQyxRQUFRLEVBQUMsSUFBSTt1Q0FBRyxPQUFPOzs7Z0JBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUMxQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtnQkFDaEQsR0FBRyxHQUFHLE9BQU8sQ0FBQywrQkFBNkIsTUFBTSxDQUFDLE1BQU0sa0JBQWEsSUFBSSxjQUFTLElBQU0sRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDckcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLFFBQVEsQ0FBQyxDQUFDOzs7O0tBQ2xDO0lBRVksMEJBQWlCLEdBQTlCLFVBQStCLElBQUksRUFBQyxRQUFRO3VDQUFHLE9BQU87OztnQkFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENB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QUFDLENBQUMsRUFBekMsT0FBTyxRQUFBLEVBQUUsV0FBVyxRQUFxQixDQUFDO0lBQ2pELElBQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELE9BQVUsT0FBTyxTQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUksQ0FBQztBQUMzQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsT0FBTyxDQUFDLEdBQVcsRUFBRSxNQUFXO0lBQVgsdUJBQUEsRUFBQSxXQUFXO0lBRXZDLElBQUksVUFBVSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMzQixJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDbEMsVUFBVSxJQUFJLEdBQUcsQ0FBQTtLQUNsQjtJQUVELGNBQWM7SUFDZCxJQUFJLE9BQU8sR0FBSSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFckMsSUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNqRCxJQUFNLFVBQVUsR0FBRyxVQUFRLFNBQVcsQ0FBQTtJQUV0QyxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDckUsY0FBYyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBRW5ELE9BQVUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFPLGNBQWdCLENBQUE7QUFDeEQsQ0FBQyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBDcnlwdG9KUyBmcm9tIFwiY3J5cHRvLWpzXCI7XG5cblxuaW1wb3J0IEdhbWVEYXRhIGZyb20gJy4uL0dhbWVEYXRhJztcbmltcG9ydCBDcnlwdG9KUyA9IHJlcXVpcmUoJy4vY3J5cHRvLWpzLm1pbi5qcycpOyAgLy/lvJXnlKhBRVPmupDnoIFqc1xuXG4vLyBpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcblxuQGNjY2xhc3NcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBVdGlsIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcbiAgLy/mjpLooYzmppx0eXBlMuS4uuiOt+WPlu+8jHR5cGUx5Li65LiK5LygXG4gIHN0YXRpYyBhc3luYyByYW5rRGF0YSh0eXBlLGNhbGxiYWNrLGRhdGEpOiBQcm9taXNlPGFueT4ge1xuICAgIGRhdGEuZ2FtZUlkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkO1xuICAgIGRhdGEudXNlcklkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkO1xuICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxuICAgIGNvbnN0IHVybCA9IGFwaVNpZ24oYC9hcGkvZ2V0L3JhbmsvZGF0YT9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZkYXRhVHlwZT0ke3R5cGV9JnRpbWU9JHt0aW1lfWAsIGRhdGEpXG4gICAgdGhpcy5odHRwUG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XG4gIH1cbiAgXG4gIHN0YXRpYyBhc3luYyB1cGxvYWRVc2VyTG9nRGF0YShkYXRhLGNhbGxiYWNrKTogUHJvbWlzZTxhbnk+IHtcbiAgICBkYXRhLmdhbWVJZCA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmdhbWVJZDtcbiAgICBkYXRhLnVzZXJJZCA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZDtcbiAgICBjb25zdCB1cmwgPSAnL2xvZy9jb2xsZWN0L2RhdGEnO1xuICAgIHRoaXMuaHR0cFBvc3QodXJsLGRhdGEsY2FsbGJhY2spO1xuICB9XG4gIC8v5pqC5pe255So5LiN5YiwXG4gIHN0YXRpYyBhc3luYyBnZXRVc2VyUmVjb3JkKGRhdGEsY2FsbGJhY2spOiBQcm9taXNlPGFueT4ge1xuICAgIGRhdGEuZ2FtZUlkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkO1xuICAgIGRhdGEudXNlcklkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkO1xuICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxuICAgIGNvbnN0IHVybCA9IGFwaVNpZ24oYC9hcGkvZ2V0L3VzZXIvZGF0YT9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZ0aW1lPSR7dGltZX1gLCBkYXRhKVxuICAgIHRoaXMuaHR0cFBvc3QodXJsLGRhdGEsY2FsbGJhY2spO1xuICB9XG5cbiAgc3RhdGljIGh0dHBQb3N0KHVybCxkYXRhLGNhbGxCYWNrKXtcbiAgICAgIGRhdGEuZ2FtZUlkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkO1xuICAgICAgZGF0YS51c2VySWQgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQ7XG4gICAgICB2YXIgdXJsRGF0YSA9IFwiaHR0cDovL2FwaS5zcGFya3VzLmNuXCIgKyB1cmw7XG4gICAgICAvLyBjb25zb2xlLmxvZyhcInBhcmFtczpcIixKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgICBsZXQgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgICB4aHIub3BlbignUE9TVCcsIHVybERhdGEpO1xuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0ICYmIHhoci5zdGF0dXMgPT0gMjAwKSB7XG4gICAgICAgICAgICAgIHZhciBkYXRhID0geGhyLnJlc3BvbnNlVGV4dDtcbiAgICAgICAgICAgICAgaWYoIWRhdGEpe1xuICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLliJ3lp4vljJblpLHotKVcIik7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnaHR0cCBzdWNjZXNzOicgKyBqc29uKTtcbiAgICAgICAgICAgICAgY2FsbEJhY2soanNvbik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAvLyAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnaHR0cCBmYWlsOicgKyB1cmwpO1xuICAgICAgICAgICAgICBjYWxsQmFjayhqc29uKTtcbiAgICAgICAgICB9XG4gICAgICB9O1xuICAgICAgeGhyLnNlbmQoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICB9XG5cbiAgc3RhdGljIGh0dHBHZXQodXJsLGNhbGxCYWNrKXtcbiAgICAgIHZhciB1cmxEYXRhID0gXCJodHRwOi8vYXBpLnNwYXJrdXMuY25cIiArIHVybDtcbiAgICAgIGNvbnNvbGUubG9nKHVybERhdGEpO1xuICAgICAgbGV0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgeGhyLm9wZW4oJ0dFVCcsIHVybERhdGEpO1xuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICd0ZXh0L3BsYWluJyk7XG4gICAgICBcbiAgICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09IDQgJiYgeGhyLnN0YXR1cyA9PSAyMDApIHtcbiAgICAgICAgICAgICAgdmFyIGRhdGEgPSB4aHIucmVzcG9uc2VUZXh0O1xuICAgICAgICAgICAgICBpZihkYXRhKXtcbiAgICAgICAgICAgICAgICAgIHZhciBqc29uID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnaHR0cCBzdWNjZXNzOicgKyBqc29uKTtcbiAgICAgICAgICAgICAgICAgIGNhbGxCYWNrKGpzb24pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGVsc2UgY2FsbEJhY2soZGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnaHR0cCBmYWlsOicgKyB1cmwpO1xuICAgICAgICAgICAgICBjYWxsQmFjayhudWxsKTtcbiAgICAgICAgICB9XG4gICAgICB9O1xuICAgICAgeGhyLnNlbmQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IHsgZGF0YTogYW55IH0pIHtcbiAgcmV0dXJuIHJlc3BvbnNlLmRhdGFcbn1cbi8vIOWTjeW6lOaLpuaIquWZqFxuLy8gUnEuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLnVzZShyZXNwb25zZUhhbmRsZXIpXG5jb25zdCBjb25maWcgPSB7XG4gIGdhbWVJZDogXCIxMDAwMDlcIixcbiAgc2VjcmV0S2V5OiBcIkNNTmhPekJBXCIsXG4gIEVLOlwiaHVpMjMxJTFcIlxufTtcblxuaW50ZXJmYWNlIENyeXBvdG9UeXBlIHtcbiAgZW5jcnlwdEJ5REVTOiBhbnlcbiAgZGVjcnlwdEJ5REVTOiBhbnlcbiAgaG1hY1NoYTI1NjogYW55XG59XG4gXG5jbGFzcyBDcnlwb3RvIGltcGxlbWVudHMgQ3J5cG90b1R5cGUge1xuICAgIC8vIOWKoOWvhueahOWQkeaYjuWAvO+8jOiHquW3seagueaNrumhueebruWunumZheaDheWGteWumu+8jOmcgOimgei3n+WQjuerr+W8gOWPkeS/neaMgeS4gOiHtFxuICAgIHByaXZhdGUga2V5SGV4ID0gdGhpcy5nZXRIZXRLZXkoKVxuIFxuICAgIHByaXZhdGUgZ2V0SGV0S2V5KCkge1xuICAgICAgICByZXR1cm4gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoY29uZmlnLkVLKTtcbiAgICB9XG5cbiAgICAvKiogREVT5Yqg5a+GICovXG4gICAgZW5jcnlwdEJ5REVTKG1lc3NhZ2U6IHN0cmluZywgc2VjcmV0Pzogc3RyaW5nKSB7XG4gICAgICBpZighbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gbWVzc2FnZVxuICAgICAgfVxuICAgICAgY29uc3Qga2V5ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxuICAgICAgY29uc3QgZW5jcnlwdGVkID0gQ3J5cHRvSlMuREVTLmVuY3J5cHQobWVzc2FnZSwga2V5LCB7XG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuRUNCLFxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczdcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGVuY3J5cHRlZC50b1N0cmluZygpXG4gICAgfVxuXG4gICAgLyoqIERFU+ino+WvhiAqL1xuICAgIGRlY3J5cHRCeURFUyhtZXNzYWdlOiBzdHJpbmcsIHNlY3JldD86IHN0cmluZykge1xuICAgICAgY29uc3Qga2V5ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxuXG4gICAgICBjb25zdCBkZWNyeXB0ZWQgPSBDcnlwdG9KUy5ERVMuZGVjcnlwdCh7XG4gICAgICAgIGNpcGhlcnRleHQ6IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2UobWVzc2FnZSlcbiAgICAgIH0sIGtleSwge1xuICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkVDQixcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3XG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gZGVjcnlwdGVkLnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KVxuICAgIH1cblxuICAgIC8qKiBobWFjU0hBMjU25Yqg5a+GICovXG4gICAgaG1hY1NoYTI1NihtZXNzYWdlOiBzdHJpbmcsIHNlY3JldD86IHN0cmluZykge1xuICAgICAgY29uc3Qga2V5SGV4ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxuICAgICAgXG4gICAgICBjb25zdCBoYXNoID0gQ3J5cHRvSlMuSG1hY1NIQTI1NihtZXNzYWdlLCBrZXlIZXgpO1xuICAgICAgcmV0dXJuIGhhc2gudG9TdHJpbmcoKVxuICAgIH1cblxuICAgIC8qKiBobWFjU0hBMjU26aqM6K+BICovXG4gICAgdmVyaWZ5SG1hY1NoYTI1NihtZXNzYWdlOiBzdHJpbmcsIHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBoYXNoID0gQ3J5cHRvSlMuSG1hY1NIQTI1NihtZXNzYWdlLCB0aGlzLmtleUhleCk7XG4gICAgICByZXR1cm4gaGFzaC50b1N0cmluZygpID09PSBzaWduYXR1cmVcbiAgICB9XG4gXG4gICAgLyoqIENCQ+WKoOWvhiAqL1xuICAgIGVuY3J5cHRDQkMod29yZDogc3RyaW5nKSB7XG4gICAgICAgIGlmICghd29yZCkge1xuICAgICAgICAgICAgcmV0dXJuIHdvcmQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3JjcyA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKHdvcmQpO1xuICAgICAgICBjb25zdCBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChzcmNzLCB0aGlzLmtleUhleCwge1xuICAgICAgICAgICAgaXY6IHRoaXMua2V5SGV4LFxuICAgICAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXG4gICAgICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuWmVyb1BhZGRpbmdcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBlbmNyeXB0ZWQudG9TdHJpbmcoKTsgXG4gICAgfVxuIFxuICAgIC8qKiBDQkPop6Plr4YgKi9cbiAgICBkZWNyeXB0Q0JDKHdvcmQ6IHN0cmluZykge1xuICAgICAgICBpZiAoIXdvcmQpIHtcbiAgICAgICAgICAgIHJldHVybiB3b3JkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5IZXgucGFyc2Uod29yZCk7XG4gICAgICAgIGNvbnN0IHNyY3MgPSBDcnlwdG9KUy5lbmMuQmFzZTY0LnN0cmluZ2lmeShlbmNyeXB0ZWRIZXhTdHIpO1xuICAgICAgICBjb25zdCBkZWNyeXB0ID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQoc3JjcywgdGhpcy5rZXlIZXgsIHtcbiAgICAgICAgICAgIGl2OiB0aGlzLmtleUhleCxcbiAgICAgICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxuICAgICAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlplcm9QYWRkaW5nXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZWNyeXB0ZWRTdHIgPSBkZWNyeXB0LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KTtcbiAgICAgICAgcmV0dXJuIGRlY3J5cHRlZFN0ci50b1N0cmluZygpO1xuICAgIH1cbn1cbmNvbnN0IGZ4Q3J5ID0gbmV3IENyeXBvdG8oKTtcblxuZnVuY3Rpb24gaXNFbXB0eShkYXRhKSB7XG4gIHJldHVybiBkYXRhID09PSBcIlwiIHx8IGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkIHx8IGRhdGEubGVuZ3RoID09PSAwIHx8IEpTT04uc3RyaW5naWZ5KGRhdGEpID09IFwie31cIlxufVxuXG5mdW5jdGlvbiBnZXRRdWVyeVN0cmluZyhvYmopIHtcbiAgLy8g6aaW5YWI5a+55a+56LGh55qE6ZSu6L+b6KGM5o6S5bqP5bm26L+H5ruk56m65YC8XG4gIGNvbnN0IHNvcnRlZEtleXMgPSBPYmplY3Qua2V5cyhvYmopLnNvcnQoKTtcbiAgY29uc3Qgc29ydGVkT2JqID0ge307XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc29ydGVkS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpc0VtcHR5KG9ialtzb3J0ZWRLZXlzW2ldXSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBzb3J0ZWRPYmpbc29ydGVkS2V5c1tpXV0gPSBvYmpbc29ydGVkS2V5c1tpXV07XG4gIH1cbiAgXG4gIC8vIOeEtuWQjuWwhuaOkuW6j+WQjueahOWvueixoei9rOaNouS4uuafpeivouWtl+espuS4slxuICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgZm9yIChjb25zdCBrZXkgaW4gc29ydGVkT2JqKSB7XG4gICAgcGFyYW1zLnB1c2goYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNvcnRlZE9ialtrZXldKX1gKTtcbiAgfVxuICByZXR1cm4gcGFyYW1zLmpvaW4oJyYnKTtcbn1cblxuXG4vKipcbiAqIOe7hOijheetvuWQjeWtl+espuS4slxuICogQHBhcmFtIHN0cmluZyB1cmw6IOivt+axguWcsOWdgCBcbiAqIEBwYXJhbSBzdHJpbmcgcG9zdFN0cjogcG9zdOWPguaVsOeahGE9MSZiPTIgXG4gKiBAcmV0dXJucyBcbiAqL1xuXG5mdW5jdGlvbiBnZW5TaWduU3RyKHVybDogc3RyaW5nLCBwb3N0U3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgbGVzc1VybCA9IHVybC5yZXBsYWNlKCc/JywgJycpXG4gIGxlc3NVcmwgPSBsZXNzVXJsICsgXCImXCIgKyBwb3N0U3RyXG4gIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoZnhDcnkuaG1hY1NoYTI1NihsZXNzVXJsKSlcbn1cbi8vIOWvueWPguaVsOi/m+ihjOe7n+S4gHVybGVuY29kZVxuZnVuY3Rpb24gdXJsZW5jb2RlKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgW2Jhc2VVcmwsIHF1ZXJ5U3RyaW5nXSA9IHVybC5zcGxpdChcIj9cIiwgMik7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocXVlcnlTdHJpbmcpO1xuICByZXR1cm4gYCR7YmFzZVVybH0/JHtwYXJhbXMudG9TdHJpbmcoKX1gO1xufVxuXG4vKipcbiAqIFxuICogQHBhcmFtIHVybCB7c3RyaW5nfSDmjqXlj6PlnLDlnYBcbiAqIEBwYXJhbSBwYXJhbXMge29iamVjdH0g6ZyA6KaB5Yqg5a+G55qE5Y+C5pWw5a+56LGhXG4gKi9cbmZ1bmN0aW9uIGFwaVNpZ24odXJsOiBzdHJpbmcsIHBhcmFtcyA9IHt9KSB7XG5cbiAgbGV0IGNvbnZlcnRVcmwgPSB1cmwudHJpbSgpXG4gIGlmIChjb252ZXJ0VXJsLmluZGV4T2YoJz8nKSA9PT0gLTEpIHtcbiAgICBjb252ZXJ0VXJsICs9ICc/J1xuICB9XG4gIFxuICAvLyDkvKDlhaXlj4LmlbDovazmjaLmi7zmjqXlrZfnrKbkuLJcbiAgbGV0IHBvc3RTdHIgPSAgZ2V0UXVlcnlTdHJpbmcocGFyYW1zKVxuIFxuICBjb25zdCBzaWduZWRTdHIgPSBnZW5TaWduU3RyKGNvbnZlcnRVcmwsIHBvc3RTdHIpXG4gIGNvbnN0IGVuY3J5cHRTdHIgPSBgc2lnbj0ke3NpZ25lZFN0cn1gXG5cbiAgbGV0IGVuY3J5cHRTaWduU3RyID0gZnhDcnkuZW5jcnlwdEJ5REVTKGVuY3J5cHRTdHIsIGNvbmZpZy5zZWNyZXRLZXkpXG4gIGVuY3J5cHRTaWduU3RyID0gZW5jb2RlVVJJQ29tcG9uZW50KGVuY3J5cHRTaWduU3RyKVxuXG4gIHJldHVybiBgJHt1cmxlbmNvZGUoY29udmVydFVybCl9Jl9wPSR7ZW5jcnlwdFNpZ25TdHJ9YFxufVxuXG4iXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/RankManager.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, 'e74a999IDFOabyymZgXQIiy', 'RankManager'); +// Script/RankManager.ts + +"use strict"; +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 GameData_1 = require("./GameData"); +var List_1 = require("./ListView/List"); +var serverAPI_1 = require("./crypto/serverAPI"); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +//排行榜 +var RankManager = /** @class */ (function (_super) { + __extends(RankManager, _super); + function RankManager() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.Player = null; + _this.selfNode = null; + _this.phone = null; + return _this; + } + RankManager.prototype.onLoad = function () { + this.init(); + }; + //初始化数据 + RankManager.prototype.init = function () { + this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); + this.Player.getChildByName("rank").active = false; + this.listData = []; + this.selfData = null; + this.rankNumber = 100; + this.rankTotal = 100; + this.selfNode.opacity = 0; + }; + RankManager.prototype.start = function () { + this.Player.active = false; + this.getRank(); + }; + //调用获取排行榜接口 + RankManager.prototype.getRank = function () { + var postData = { + "page": 1, + "pageSize": 100 + }; + //回调进getRankData + serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); + }; + //实际设置排行数据 + RankManager.prototype.getRankData = function (data) { + if (data) { + console.log(data); + this.listData = data.data.list; + this.selfData = data.data.info; + var rankData = []; + var self = false; + for (var i = 0; i <= this.listData.length - 1; i++) { + rankData.push({ rank: (i + 1), name: this.listData[i].nickName, total: this.listData[i].totalSunCount, pic: this.listData[i].pic }); + if (GameData_1.default._instance.GM_INFO.userId == this.listData[i].userId) { + self = true; + this.rankNumber = i; + this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = (i + 1) + ""; + } + if (i == (this.listData.length - 1) && self == false) { + this.rankNumber = i; + this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = "99+"; + } + } + this.rankList.setData(rankData); + if (this.selfData.nickName.length > 6) { + this.selfData.nickName = this.selfData.nickName.substring(0, 6) + "..."; + } + this.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = this.selfData.nickName; + this.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = this.selfData.totalSunCount; + this.setPic(this.selfData.pic); + if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "1") { + this.selfNode.getChildByName("rank").getChildByName("one").active = true; + } + else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "2") { + this.selfNode.getChildByName("rank").getChildByName("two").active = true; + } + else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "3") { + this.selfNode.getChildByName("rank").getChildByName("three").active = true; + } + else { + // this.selfNode.getChildByName("four").active = true; + } + this.selfNode.opacity = 255; + if (this.selfData.totalSunCount == 0) + this.selfNode.opacity = 0; + } + }; + //返回按钮 + RankManager.prototype.backClick = function () { + cc.director.loadScene("LoadScene"); + }; + //最上方用户动画 + RankManager.prototype.playerAction = function () { + var _this = this; + //-254 377 210 453 + this.Player.getChildByName("rank").active = false; + var time = 1; + this.tween = cc.tween(this.Player) + .to(2, { position: cc.v3(210, 453, 0) }) + .call(function () { + _this.Player.getChildByName("rank").active = true; + _this.Player.getChildByName("rank").getChildByName("number") + .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; + }) + .start(); + time = (this.listData.length - this.rankNumber) / this.listData.length; + if (this.listData.length >= 99) { + if (this.rankNumber >= 99) { + time = (Math.random() * 49 + 1) / 100; + var matchId = cc.sys.localStorage.getItem("matchNumber"); + if (matchId == null || matchId == undefined) { + time = 0; + } + } + } + setTimeout(function () { + if (_this.tween) + _this.tween.stop(); + _this.Player.getChildByName("rank").active = true; + _this.Player.getChildByName("rank").getChildByName("number") + .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; + }, time * 2000); + }; + //设置头像 + RankManager.prototype.setPic = function (pic) { + var _this = this; + this.phone.node.parent.getChildByName("icon").active = false; + this.phone.node.active = false; + this.Player.active = true; + this.Player.opacity = 0; + this.Player.getChildByName("mask").getChildByName("icon").active = false; + this.Player.getChildByName("mask").getChildByName("phone").active = false; + fetch(pic) + .then(function (response) { + return response.headers.get('Content-Length'); + }) + .then(function (errNo) { + if (errNo == "5093") { + _this.phone.node.parent.getChildByName("icon").active = true; + _this.Player.getChildByName("mask").getChildByName("icon").active = true; + } + }) + .catch(function (error) { + console.error('Error fetching X-Info:', error); + }); + var self = this; + cc.assetManager.loadRemote(pic, { ext: '.jpg' }, function (err, texture) { + self.Player.opacity = 255; + if (texture) { + self.phone.node.active = true; + self.phone.spriteFrame = new cc.SpriteFrame(texture); + self.Player.getChildByName("mask").getChildByName("icon").active = false; + self.Player.getChildByName("mask").getChildByName("phone").active = true; + self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) + .spriteFrame = new cc.SpriteFrame(texture); + setTimeout(function () { + self.playerAction(); + }, 500); + } + else { + self.Player.getChildByName("mask").getChildByName("icon").active = true; + setTimeout(function () { + self.playerAction(); + }, 500); + } + }); + }; + __decorate([ + property(cc.Node) //用户上方头像 + ], RankManager.prototype, "Player", void 0); + __decorate([ + property(cc.Node) //用户最下方个人信息 + ], RankManager.prototype, "selfNode", void 0); + __decorate([ + property(cc.Sprite) //用户头像换图 + ], RankManager.prototype, "phone", void 0); + RankManager = __decorate([ + ccclass + ], RankManager); + return RankManager; +}(cc.Component)); +exports.default = RankManager; + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxSYW5rTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBa0M7QUFDbEMsd0NBQW1DO0FBQ25DLGdEQUEwQztBQUNwQyxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUM1QyxLQUFLO0FBRUw7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUFvS0M7UUFsS0csWUFBTSxHQUFZLElBQUksQ0FBQztRQUV2QixjQUFRLEdBQVksSUFBSSxDQUFDO1FBRXpCLFdBQUssR0FBYyxJQUFJLENBQUM7O0lBOEo1QixDQUFDO0lBdEpHLDRCQUFNLEdBQU47UUFDSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU87SUFDUCwwQkFBSSxHQUFKO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQUksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRSxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxP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LENBQUMsQ0FBVSxRQUFROytDQUNiO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBVSxXQUFXO2lEQUNkO0lBRXpCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBUSxRQUFROzhDQUNaO0lBTlAsV0FBVztRQUQvQixPQUFPO09BQ2EsV0FBVyxDQW9LL0I7SUFBRCxrQkFBQztDQXBLRCxBQW9LQyxDQXBLd0MsRUFBRSxDQUFDLFNBQVMsR0FvS3BEO2tCQXBLb0IsV0FBVyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi9HYW1lRGF0YVwiO1xyXG5pbXBvcnQgTGlzdCBmcm9tIFwiLi9MaXN0Vmlldy9MaXN0XCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi9jcnlwdG8vc2VydmVyQVBJXCI7XHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8v5o6S6KGM5qacXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmtNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+S4iuaWueWktOWDj1xyXG4gICAgUGxheWVyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+acgOS4i+aWueS4quS6uuS/oeaBr1xyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSkgICAgICAgIC8v55So5oi35aS05YOP5o2i5Zu+XHJcbiAgICBwaG9uZTogY2MuU3ByaXRlID0gbnVsbDtcclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAvL+aOkuihjOamnFxyXG4gICAgdHdlZW46IGNjLlR3ZWVuPGNjLk5vZGU+OyAgIC8v5pyA5LiK5pa555So5oi35aS05YOP5Yqo55S7XHJcbiAgICBsaXN0RGF0YTogYW55OyAgICAgICAgICAgICAgLy/mgLvliJfooajkv6Hmga9cclxuICAgIHNlbGZEYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+iHquW3seS/oeaBr1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyOyAgICAgICAgIC8v55So5oi36Ieq5bex5o6S5ZCNIOacieWPr+iDveS4jeWcqOaOkuihjOamnOWGhTk5K1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7ICAgICAgICAgIC8v6I635Y+W5o6S6KGM5qac55So5oi35pWw6YePIOeOsOWcqOS4ujEwMFxyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5yYW5rTGlzdCA9IGNjLmZpbmQoXCJTY3JvbGxWaWV3XCIsIHRoaXMubm9kZSkuZ2V0Q29tcG9uZW50KExpc3QpO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gMTAwO1xyXG4gICAgICAgIHRoaXMucmFua1RvdGFsPSAxMDA7XHJcbiAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCgpIHtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdldFJhbmsoKTtcclxuICAgIH1cclxuICAgIC8v6LCD55So6I635Y+W5o6S6KGM5qac5o6l5Y+jXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcInBhZ2VcIjoxLFxyXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6MTAwXHJcbiAgICAgICAgfTsgXHJcbiAgICAgICAgLy/lm57osIPov5tnZXRSYW5rRGF0YVxyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDIsdGhpcy5nZXRSYW5rRGF0YS5iaW5kKHRoaXMpLHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIC8v5a6e6ZmF6K6+572u5o6S6KGM5pWw5o2uXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICAgICAgdGhpcy5zZWxmRGF0YSA9IGRhdGEuZGF0YS5pbmZvO1xyXG4gICAgICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICAgICAgbGV0IHNlbGYgPSBmYWxzZTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7aTw9dGhpcy5saXN0RGF0YS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0aGlzLmxpc3REYXRhW2ldLm5pY2tOYW1lLCB0b3RhbDp0aGlzLmxpc3REYXRhW2ldLnRvdGFsU3VuQ291bnQsIHBpYzp0aGlzLmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID09IHRoaXMubGlzdERhdGFbaV0udXNlcklkKXtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJhbmtOdW1iZXIgPSBpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSAodGhpcy5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gaTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFwiOTkrXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmFua0xpc3Quc2V0RGF0YShyYW5rRGF0YSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc2VsZkRhdGEubmlja05hbWUubGVuZ3RoID4gNil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lPSB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lLnN1YnN0cmluZygwLDYpICsgXCIuLi5cIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5zZWxmRGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5zZWxmRGF0YS50b3RhbFN1bkNvdW50O1xyXG4gICAgICAgICAgICB0aGlzLnNldFBpYyh0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID09IFwiMVwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwib25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9PSBcIjJcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPT0gXCIzXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwiZm91clwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgaWYodGhpcy5zZWxmRGF0YS50b3RhbFN1bkNvdW50ID09IDApIHRoaXMuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57mjInpkq5cclxuICAgIGJhY2tDbGljaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5pyA5LiK5pa555So5oi35Yqo55S7XHJcbiAgICBwbGF5ZXJBY3Rpb24oKXtcclxuICAgICAgICAvLy0yNTQgMzc3ICAyMTAgNDUzXHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB0aW1lID0gMTtcclxuICAgICAgICB0aGlzLnR3ZWVuID0gY2MudHdlZW4odGhpcy5QbGF5ZXIpXHJcbiAgICAgICAgLnRvKDIse3Bvc2l0aW9uOmNjLnYzKDIxMCw0NTMsMCl9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB0aW1lID0gKHRoaXMubGlzdERhdGEubGVuZ3RoIC0gdGhpcy5yYW5rTnVtYmVyKS90aGlzLmxpc3REYXRhLmxlbmd0aDtcclxuICAgICAgICBpZih0aGlzLmxpc3REYXRhLmxlbmd0aCA+PSA5OSl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmFua051bWJlciA+PSA5OSl7XHJcbiAgICAgICAgICAgICAgICB0aW1lID0gKE1hdGgucmFuZG9tKCkqNDkrMSkvMTAwXHJcbiAgICAgICAgICAgICAgICB2YXIgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoTnVtYmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYobWF0Y2hJZCA9PSBudWxsIHx8IG1hdGNoSWQgPT0gdW5kZWZpbmVkKXtcclxuICAgICAgICAgICAgICAgICAgICB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgaWYodGhpcy50d2Vlbil0aGlzLnR3ZWVuLnN0b3AoKTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKVxyXG4gICAgICAgICAgICAuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSAgcGFyc2VJbnQodGltZSoxMDAgKyBcIlwiKSArIFwiJVwiO1xyXG4gICAgICAgIH0sIHRpbWUqMjAwMCk7XHJcblxyXG4gICAgfVxyXG4gICAgLy/orr7nva7lpLTlg49cclxuICAgIHB1YmxpYyBzZXRQaWMocGljKXtcclxuICAgICAgICB0aGlzLnBob25lLm5vZGUucGFyZW50LmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBob25lLm5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLlBsYXllci5vcGFjaXR5ID0gMDtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGZldGNoKHBpYylcclxuICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1MZW5ndGgnKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUocGljLCB7ZXh0OicuanBnJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgc2VsZi5QbGF5ZXIub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnBob25lLm5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNlbGYucGhvbmUuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwicGhvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpXHJcbiAgICAgICAgICAgICAgICAuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmLnBsYXllckFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/GuideManager.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, '3fd2fh6vHNJeISUizW09xat', 'GuideManager'); +// Script/GuideManager.ts + +"use strict"; +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 GameData_1 = require("./GameData"); +var Notification_1 = require("./Notification"); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + var _this = _super !== null && _super.apply(this, arguments) || this; + // LIFE-CYCLE CALLBACKS: + _this.dialog = null; + _this.ball = null; + _this.qiu1 = null; + _this.linePrefab = null; + return _this; + } + // onLoad () {} + NewClass.prototype.start = function () { + GameData_1.default._instance.GM_INFO.custom = 0; + this.init(); + this.startGuide(0); + }; + //初始化数据 + NewClass.prototype.init = function () { + this.custom = 1; + this.ball.zIndex = 100; + this.Pos_Array = []; + this.ball_Array = []; + this.begin = false; + this.clickNow = 0; + this.tip = null; + }; + //开始引导方法 + NewClass.prototype.startGuide = function (type) { + var _this = this; + var num = this.custom; + var time = 0.5; + var name = "tip" + num; + if (type != 0) { + cc.tween(this.node) + .to(time, { opacity: 255 }) + .call(function () { + _this.custom += 1; + if (type != 0) + _this.custom = 2; + if (_this.custom == 2) + _this.createSun1(); + else if (_this.custom == 3) + _this.createSun2(); + else if (_this.custom == 4) + _this.begin = true; + else if (_this.custom == 5) + cc.director.loadScene("GameScene"); + }) + .start(); + } + else { + this.tip = this.dialog.getChildByName(name); + this.tip.active = true; + this.tip.opacity = 0; + cc.tween(this.tip) + .to(time, { opacity: 255 }) + .start(); + } + }; + //清除所有太阳 + NewClass.prototype.beginClick = function () { + for (var i = 0; i < this.ball_Array.length; i++) { + this.ball_Array[i].getComponent("Sun").move = false; + } + }; + //点击开始游戏,或者点击跳过引导 + NewClass.prototype.clickBtn = function () { + cc.director.loadScene("GameScene"); + }; + //点击下一步按钮 + NewClass.prototype.next = function () { + var _this = this; + var time = 0.5; + cc.tween(this.tip) + .to(time, { opacity: 0 }) + .call(function () { + _this.custom += 1; + if (_this.custom == 2) + _this.createSun(true); + else if (_this.custom == 3) + _this.createSun(false); + else if (_this.custom == 4) + _this.begin = true; + else if (_this.custom == 5) + cc.director.loadScene("GameScene"); + }) + .start(); + }; + //创建太阳 + NewClass.prototype.createSun = function (type) { + var _this = this; + if (type == true) { + this.ball_Array = []; + this.Pos_Array.push(cc.v2(-250, -216), cc.v2(200, -115), cc.v2(-35, -500)); + var time1 = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[0].x, this.Pos_Array[0].y); + this.ball.opacity = 0; + cc.tween(this.ball) + .to(time1, { position: this.Pos_Array[0] }) + .call(function () { + _this.createBall(0, 0, 0, false); + }) + .delay(1) + .call(function () { + _this.startGuide(0); + }) + .start(); + } + else { + var time2 = this.calculateDistance(this.Pos_Array[0].x, this.Pos_Array[0].y, this.Pos_Array[1].x, this.Pos_Array[1].y); + var time3 = this.calculateDistance(this.Pos_Array[1].x, this.Pos_Array[1].y, this.Pos_Array[2].x, this.Pos_Array[2].y); + this.ball.opacity = 255; + this.createLine(cc.v2(this.ball.x, this.ball.y), cc.v2(this.Pos_Array[1].x, this.Pos_Array[1].y), 0.5); + cc.tween(this.ball) + .to(time2, { position: this.Pos_Array[1] }) + .call(function () { + _this.createBall(1, 0, 0, false); + }) + .delay(0.5) + .call(function () { + _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.Pos_Array[2].x, _this.Pos_Array[2].y), 0.5); + }) + .to(time3, { position: this.Pos_Array[2] }) + .call(function () { + _this.createBall(2, 0, 0, false); + _this.ball.opacity = 0; + }) + .delay(0.2) + .call(function () { + _this.destroyLine(); + _this.startGuide(0); + }) + .start(); + } + }; + //创建太阳 + NewClass.prototype.createBall = function (number, color, speed, repeat) { + var ball = null; + ball = cc.instantiate(this.qiu1); + ball.parent = this.node.getChildByName("Sun"); + ball.zIndex = this.Pos_Array.length - number; + ball.setPosition(this.ball.x, this.ball.y); + ball.getComponent("Sun").init(number, color, speed, repeat); + ball.getComponent("Sun").move = true; + this.ball_Array.push(ball); + }; + //获取两点之间角度创建连线用 + NewClass.prototype.calculateDistance = function (x1, y1, x2, y2) { + var dx = x2 - x1; + var dy = y2 - y1; + var distance = Math.sqrt(dx * dx + dy * dy); + if (distance > 800) + distance = 800; + var time = distance / 800 * 0.8; + return time; + }; + //引导成功 + NewClass.prototype.passLevel = function () { + var _this = this; + var win = this.node.getChildByName("Win"); + win.active = true; + win.setScale(0); + cc.tween(win) + .delay(0.4) + .to(0.01, { scale: 2.5 }) + .to(0.35, { scale: 1 }) + .delay(0.6) + .call(function () { + win.active = false; + setTimeout(function () { + _this.destroyLine(); + var timeArray = []; + var timeCount = 0; + var ball = _this.ball_Array[0]; + for (var i = 1; i < _this.ball_Array.length; i++) { + var time = _this.calculateDistance(_this.ball_Array[i].x, _this.ball_Array[i].y, _this.ball_Array[i - 1].x, _this.ball_Array[i - 1].y); + timeArray.push(time); + } + var _loop_1 = function (k) { + setTimeout(function () { + cc.tween(ball) + .to(timeArray[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + setTimeout(function () { + _this.ball.opacity = 255; + _this.ball.position = cc.v3(ball.x, ball.y, 0); + _this.ball.active = false; + _this.startGuide(0); + }, 200); + } + }) + .start(); + }, timeCount * 1000); + timeCount += (timeArray[k - 1] + 0.1); + }; + for (var k = 1; k < _this.ball_Array.length; k++) { + _loop_1(k); + } + }, 400); + }) + .start(); + }; + //点击太阳执行方法 + NewClass.prototype.clickSun = function (data) { + var _this = this; + if (this.begin == true) { + if (data == this.clickNow) { + GameData_1.default._instance.AudioManager.playAudioButton(); + if (this.clickNow > 0) { + this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); + } + this.clickNow += 1; + GameData_1.default._instance.GM_INFO.total += 1; + setTimeout(function () { + if (_this.ball_Array[_this.clickNow - 1]) + _this.ball_Array[_this.clickNow - 1].getChildByName("guang").active = false; + }, 200); + if (this.clickNow == 3) { + this.passLevel(); + } + } + else { + this.loseLevel(); + } + } + }; + //失败事件 + NewClass.prototype.loseLevel = function () { + var _this = this; + this.begin = false; + GameData_1.default._instance.AudioManager.playWarning(); + this.destroyLine(); + var ball = this.ball_Array[0]; + var _loop_2 = function (k) { + cc.tween(this_1.ball_Array[k]) + .to(0.6, { x: ball.x, y: ball.y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + _this.ball.opacity = 0; + _this.ball.position = cc.v3(ball.x, ball.y, 0); + _this.clearSun(); + _this.custom = 1; + _this.startGuide(1); + } + }) + .start(); + }; + var this_1 = this; + for (var k = 1; k < this.ball_Array.length; k++) { + _loop_2(k); + } + //结束页面动画 + var over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.25, { opacity: 255 }) + .delay(0.1) + .to(0.2, { opacity: 0 }) + .delay(0.1) + .to(0.15, { opacity: 255 }) + .delay(0.1) + .to(0.1, { opacity: 0 }) + .start(); + }; + //点击太阳事件 + NewClass.prototype.clearSun = function () { + for (var k = 0; k < this.ball_Array.length; k++) { + this.ball_Array[k].removeFromParent(); + this.ball_Array[k] = null; + } + this.ball_Array = []; + }; + //获取时间戳 + NewClass.prototype.getTime = function () { + var timestamp = new Date().getTime(); + return timestamp; + }; + //创造连线,参数起点,终点,连线时间 + NewClass.prototype.createLine = function (start, end, time) { + var line = cc.instantiate(this.linePrefab); + line.parent = this.node.getChildByName("Line"); + line.setPosition(start.x, start.y); + var dx = end.x - start.x; + var dy = end.y - start.y; + var distance = Math.sqrt(dx * dx + dy * dy); + line.height = distance; + line.getComponent(cc.Sprite).fillRange = 0; + line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); + cc.tween(line.getComponent(cc.Sprite)) + .to(time, { fillRange: 1 }) + .start(); + }; + //摧毁连线 + NewClass.prototype.destroyLine = function () { + for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { + if (this.node.getChildByName("Line").children[i]) { + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + }; + //获取两个点之间的角度 用于写连线 确定连线方向 + NewClass.prototype.calculateAngle = function (x1, y1, x2, y2) { + var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; + return -angle; + }; + NewClass.prototype.onEnable = function () { + Notification_1.Notification.on("clickSun", this.clickSun, this); + }; + NewClass.prototype.onDisable = function () { + Notification_1.Notification.off("clickSun", this.clickSun); + }; + __decorate([ + property(cc.Node) + ], NewClass.prototype, "dialog", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "ball", void 0); + __decorate([ + property(cc.Prefab) + ], NewClass.prototype, "qiu1", void 0); + __decorate([ + property(cc.Prefab) + ], NewClass.prototype, "linePrefab", void 0); + 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHdWlkZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0NBQWtDO0FBQ2xDLHVDQUFrQztBQUNsQywrQ0FBOEM7QUFDeEMsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUM7SUFBc0MsNEJBQVk7SUFBbEQ7UUFBQSxxRUFrVEM7UUFqVEcsd0JBQXdCO1FBRXhCLFlBQU0sR0FBWSxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFZLElBQUksQ0FBQztRQUVyQixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDOztJQXlTakMsQ0FBQztJQWxTRyxlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU87SUFDUCx1QkFBSSxHQUFKO1FBQ0ksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxRQUFRO0lBQ1IsNkJBQVUsR0FBVixVQUFXLElBQUk7UUFBZixpQkF3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QUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBQyxFQUFFLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2xCLENBQUM7SUFDRCwyQkFBUSxHQUFSO1FBQ0ksMkJBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELDRCQUFTLEdBQVQ7UUFDSSwyQkFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUE3U0Q7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDSztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7MENBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztnREFDUztJQVRaLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FrVDVCO0lBQUQsZUFBQztDQWxURCxBQWtUQyxDQWxUcUMsRUFBRSxDQUFDLFNBQVMsR0FrVGpEO2tCQWxUb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v5q2k6aG16Z2i5Li65byV5a+86aG16Z2i77yM5ZCO57ut5pu05paw5oiQ5qih5p2/77yM5pqC5pe25YG35oeS5aSN5Yi25Li75ri45oiP5Zy65pmv5Luj56CB6L+b5p2lXHJcbmltcG9ydCBHYW1lRGF0YSBmcm9tICcuL0dhbWVEYXRhJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9Ob3RpZmljYXRpb24nO1xyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGRpYWxvZzogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGJhbGw6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTE6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIGNsaWNrTm93Om51bWJlcjtcclxuICAgIGN1c3RvbTogbnVtYmVyO1xyXG4gICAgUG9zX0FycmF5OiBhbnk7XHJcbiAgICBiYWxsX0FycmF5OiBhbnk7XHJcbiAgICBiZWdpbjogYm9vbGVhbjtcclxuICAgIHRpcDogY2MuTm9kZTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gPSAwO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRHdWlkZSgwKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5jdXN0b20gPSAxO1xyXG4gICAgICAgIHRoaXMuYmFsbC56SW5kZXggPSAxMDA7XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jbGlja05vdyA9IDA7XHJcbiAgICAgICAgdGhpcy50aXAgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgLy/lvIDlp4vlvJXlr7zmlrnms5VcclxuICAgIHN0YXJ0R3VpZGUodHlwZSl7XHJcbiAgICAgICAgbGV0IG51bSA9IHRoaXMuY3VzdG9tO1xyXG4gICAgICAgIGxldCB0aW1lID0gMC41O1xyXG4gICAgICAgIGxldCBuYW1lID0gXCJ0aXBcIiArIG51bTtcclxuICAgICAgICBpZih0eXBlIT0wKXtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlKVxyXG4gICAgICAgICAgICAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlICE9IDApIHRoaXMuY3VzdG9tID0gMjtcclxuICAgICAgICAgICAgICAgIGlmKCB0aGlzLmN1c3RvbSA9PSAyKSAgdGhpcy5jcmVhdGVTdW4xKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSAzKSAgdGhpcy5jcmVhdGVTdW4yKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA0KSAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA1KSBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLnRpcCA9IHRoaXMuZGlhbG9nLmdldENoaWxkQnlOYW1lKG5hbWUpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcC5hY3RpdmUgPSB0cnVlOyB0aGlzLnRpcC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy50aXApXHJcbiAgICAgICAgICAgIC50byh0aW1lLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5riF6Zmk5omA5pyJ5aSq6ZizXHJcbiAgICBiZWdpbkNsaWNrKCl7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vlvIDlp4vmuLjmiI/vvIzmiJbogIXngrnlh7vot7Pov4flvJXlr7xcclxuICAgIGNsaWNrQnRuKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vkuIvkuIDmraXmjInpkq5cclxuICAgIG5leHQoKXtcclxuICAgICAgICBsZXQgdGltZSA9IDAuNTtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLnRpcClcclxuICAgICAgICAudG8odGltZSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5jdXN0b20gKz0gMTtcclxuICAgICAgICAgICAgaWYoIHRoaXMuY3VzdG9tID09IDIpICB0aGlzLmNyZWF0ZVN1bih0cnVlKTtcclxuICAgICAgICAgICAgZWxzZSBpZiggdGhpcy5jdXN0b20gPT0gMykgIHRoaXMuY3JlYXRlU3VuKGZhbHNlKTtcclxuICAgICAgICAgICAgZWxzZSBpZiggdGhpcy5jdXN0b20gPT0gNCkgIHRoaXMuYmVnaW4gPSB0cnVlO1xyXG4gICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA1KSBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIm+W7uuWkqumYs1xyXG4gICAgY3JlYXRlU3VuKHR5cGUpe1xyXG4gICAgICAgIGlmKHR5cGUgPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLlBvc19BcnJheS5wdXNoKGNjLnYyKC0yNTAsLTIxNiksY2MudjIoMjAwLC0xMTUpLGNjLnYyKC0zNSwtNTAwKSk7XHJcbiAgICAgICAgICAgIGxldCB0aW1lMSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksdGhpcy5Qb3NfQXJyYXlbMF0ueCx0aGlzLlBvc19BcnJheVswXS55KVxyXG4gICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKHRpbWUxLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVswXX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKDAsMCwwLGZhbHNlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmRlbGF5KDEpXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgbGV0IHRpbWUyID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLlBvc19BcnJheVswXS54LHRoaXMuUG9zX0FycmF5WzBdLnksdGhpcy5Qb3NfQXJyYXlbMV0ueCx0aGlzLlBvc19BcnJheVsxXS55KVxyXG4gICAgICAgICAgICBsZXQgdGltZTMgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuUG9zX0FycmF5WzFdLngsdGhpcy5Qb3NfQXJyYXlbMV0ueSx0aGlzLlBvc19BcnJheVsyXS54LHRoaXMuUG9zX0FycmF5WzJdLnkpXHJcbiAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsLngsdGhpcy5iYWxsLnkpLGNjLnYyKHRoaXMuUG9zX0FycmF5WzFdLngsdGhpcy5Qb3NfQXJyYXlbMV0ueSksXHJcbiAgICAgICAgICAgIDAuNSk7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKHRpbWUyLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVsxXX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKDEsMCwwLGZhbHNlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmRlbGF5KDAuNSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsLngsdGhpcy5iYWxsLnkpLGNjLnYyKHRoaXMuUG9zX0FycmF5WzJdLngsdGhpcy5Qb3NfQXJyYXlbMl0ueSksXHJcbiAgICAgICAgICAgICAgICAwLjUpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudG8odGltZTMse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5WzJdfSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUJhbGwoMiwwLDAsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC4yKVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHdWlkZSgwKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8v5Yib5bu65aSq6ZizXHJcbiAgICBjcmVhdGVCYWxsKG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpe1xyXG4gICAgICAgIGxldCBiYWxsID0gbnVsbDtcclxuICAgICAgICBiYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUxKTtcclxuICAgICAgICBiYWxsLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlN1blwiKTtcclxuICAgICAgICBiYWxsLnpJbmRleCA9IHRoaXMuUG9zX0FycmF5Lmxlbmd0aCAtIG51bWJlcjtcclxuICAgICAgICBiYWxsLnNldFBvc2l0aW9uKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KTtcclxuICAgICAgICBiYWxsLmdldENvbXBvbmVudChcIlN1blwiKS5pbml0KG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpO1xyXG4gICAgICAgIGJhbGwuZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheS5wdXNoKGJhbGwpO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7Top5LluqbliJvlu7rov57nur/nlKhcclxuICAgIGNhbGN1bGF0ZURpc3RhbmNlKHgxLCB5MSwgeDIsIHkyKSB7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgaWYoZGlzdGFuY2UgPiA4MDApIGRpc3RhbmNlID0gODAwO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBkaXN0YW5jZS84MDAgKiAwLjg7XHJcbiAgICAgICAgcmV0dXJuIHRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvJXlr7zmiJDlip9cclxuICAgIHBhc3NMZXZlbCgpe1xyXG4gICAgICAgIGxldCB3aW4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5cIik7XHJcbiAgICAgICAgd2luLmFjdGl2ZSA9IHRydWU7IHdpbi5zZXRTY2FsZSgwKTtcclxuICAgICAgICBjYy50d2Vlbih3aW4pXHJcbiAgICAgICAgLmRlbGF5KDAuNClcclxuICAgICAgICAudG8oMC4wMSx7c2NhbGU6Mi41fSlcclxuICAgICAgICAudG8oMC4zNSx7c2NhbGU6MX0pXHJcbiAgICAgICAgLmRlbGF5KDAuNilcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgd2luLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgIGxldCB0aW1lQXJyYXkgPSBbXTtcclxuICAgICAgICAgICAgICAgIGxldCB0aW1lQ291bnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGk9MTsgaTwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdGltZSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGltZUFycmF5LnB1c2godGltZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGs9MTsgazwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaysrKXtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWVBcnJheVtrLTFdLHt4OnRoaXMuYmFsbF9BcnJheVtrXS54LHk6dGhpcy5iYWxsX0FycmF5W2tdLnl9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5wb3NpdGlvbiA9IGNjLnYzKGJhbGwueCxiYWxsLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgICAgICB0aW1lQ291bnQgKz0gKHRpbWVBcnJheVtrLTFdKzAuMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIDQwMCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICBpZihkYXRhID09IHRoaXMuY2xpY2tOb3cpe1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkF1ZGlvTWFuYWdlci5wbGF5QXVkaW9CdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS55KSxcclxuICAgICAgICAgICAgICAgICAgICBjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgMC4yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb3cgKz0gMTtcclxuICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsICs9IDE7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0uZ2V0Q2hpbGRCeU5hbWUoXCJndWFuZ1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID09IDMpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc0xldmVsKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+Wksei0peS6i+S7tlxyXG4gICAgbG9zZUxldmVsKCl7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5BdWRpb01hbmFnZXIucGxheVdhcm5pbmcoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgZm9yKGxldCBrPTE7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtrXSlcclxuICAgICAgICAgICAgLnRvKDAuNix7eDpiYWxsLngseTpiYWxsLnl9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyU3VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXN0b20gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHdWlkZSgxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICB9XHJcbiAgICAgICAgLy/nu5PmnZ/pobXpnaLliqjnlLtcclxuICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAudG8oMC4yNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMix7b3BhY2l0eTowfSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjE1LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4xLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vlpKrpmLPkuovku7ZcclxuICAgIGNsZWFyU3VuKCl7XHJcbiAgICAgICAgZm9yKGxldCBrPTA7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bml7bpl7TmiLNcclxuICAgIGdldFRpbWUoKXtcclxuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gdGltZXN0YW1wO1xyXG4gICAgfVxyXG4gICAgLy/liJvpgKDov57nur/vvIzlj4LmlbDotbfngrnvvIznu4jngrnvvIzov57nur/ml7bpl7RcclxuICAgIGNyZWF0ZUxpbmUoc3RhcnQsZW5kLHRpbWUpe1xyXG4gICAgICAgIGxldCBsaW5lID0gY2MuaW5zdGFudGlhdGUodGhpcy5saW5lUHJlZmFiKTtcclxuICAgICAgICBsaW5lLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIik7XHJcbiAgICAgICAgbGluZS5zZXRQb3NpdGlvbihzdGFydC54LHN0YXJ0LnkpO1xyXG4gICAgXHJcbiAgICAgICAgY29uc3QgZHggPSBlbmQueCAtIHN0YXJ0Lng7XHJcbiAgICAgICAgY29uc3QgZHkgPSBlbmQueSAtIHN0YXJ0Lnk7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGxpbmUuaGVpZ2h0ID0gZGlzdGFuY2U7XHJcbiAgICAgICAgbGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgIGxpbmUuYW5nbGUgPSAtdGhpcy5jYWxjdWxhdGVBbmdsZShzdGFydC54LHN0YXJ0LnksZW5kLngsZW5kLnkpO1xyXG4gICAgICAgIGNjLnR3ZWVuKGxpbmUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZToxfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5pGn5q+B6L+e57q/XHJcbiAgICBkZXN0cm95TGluZSgpIHtcclxuICAgICAgICBmb3IobGV0IGkgPTA7IGk8IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW4ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOS4queCueS5i+mXtOeahOinkuW6piDnlKjkuo7lhpnov57nur8g56Gu5a6a6L+e57q/5pa55ZCRXHJcbiAgICBjYWxjdWxhdGVBbmdsZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoeTIteTEseDIteDEpKjE4MCAvIE1hdGguUEkgLSA5MDtcclxuICAgICAgICByZXR1cm4gLWFuZ2xlO1xyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIE5vdGlmaWNhdGlvbi5vbihcImNsaWNrU3VuXCIsIHRoaXMuY2xpY2tTdW4sIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub2ZmKFwiY2xpY2tTdW5cIiwgdGhpcy5jbGlja1N1bik7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.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, '7a231Rz0d9LBYYgY3bDYlLB', 'use_v2.1-2.2.1_cc.Toggle_event'); +// migration/use_v2.1-2.2.1_cc.Toggle_event.js + +"use strict"; + +/* + * This script is automatically generated by Cocos Creator and is only used for projects compatible with the v2.1.0 ~ 2.2.1 version. + * You do not need to manually add this script in any other project. + * If you don't use cc.Toggle in your project, you can delete this script directly. + * If your project is hosted in VCS such as git, submit this script together. + * + * 此脚本由 Cocos Creator 自动生成,仅用于兼容 v2.1.0 ~ 2.2.1 版本的工程, + * 你无需在任何其它项目中手动添加此脚本。 + * 如果你的项目中没用到 Toggle,可直接删除该脚本。 + * 如果你的项目有托管于 git 等版本库,请将此脚本一并上传。 + */ +if (cc.Toggle) { + // Whether to trigger 'toggle' and 'checkEvents' events when modifying 'toggle.isChecked' in the code + // 在代码中修改 'toggle.isChecked' 时是否触发 'toggle' 与 'checkEvents' 事件 + cc.Toggle._triggerEventInScript_isChecked = true; +} + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcbWlncmF0aW9uXFx1c2VfdjIuMS0yLjIuMV9jYy5Ub2dnbGVfZXZlbnQuanMiXSwibmFtZXMiOlsiY2MiLCJUb2dnbGUiLCJfdHJpZ2dlckV2ZW50SW5TY3JpcHRfaXNDaGVja2VkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxFQUFFLENBQUNDLE1BQVAsRUFBZTtBQUNYO0FBQ0E7QUFDQUQsRUFBQUEsRUFBRSxDQUFDQyxNQUFILENBQVVDLCtCQUFWLEdBQTRDLElBQTVDO0FBQ0giLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFRoaXMgc2NyaXB0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IENvY29zIENyZWF0b3IgYW5kIGlzIG9ubHkgdXNlZCBmb3IgcHJvamVjdHMgY29tcGF0aWJsZSB3aXRoIHRoZSB2Mi4xLjAg772eIDIuMi4xIHZlcnNpb24uXHJcbiAqIFlvdSBkbyBub3QgbmVlZCB0byBtYW51YWxseSBhZGQgdGhpcyBzY3JpcHQgaW4gYW55IG90aGVyIHByb2plY3QuXHJcbiAqIElmIHlvdSBkb24ndCB1c2UgY2MuVG9nZ2xlIGluIHlvdXIgcHJvamVjdCwgeW91IGNhbiBkZWxldGUgdGhpcyBzY3JpcHQgZGlyZWN0bHkuXHJcbiAqIElmIHlvdXIgcHJvamVjdCBpcyBob3N0ZWQgaW4gVkNTIHN1Y2ggYXMgZ2l0LCBzdWJtaXQgdGhpcyBzY3JpcHQgdG9nZXRoZXIuXHJcbiAqXHJcbiAqIOatpOiEmuacrOeUsSBDb2NvcyBDcmVhdG9yIOiHquWKqOeUn+aIkO+8jOS7heeUqOS6juWFvOWuuSB2Mi4xLjAgfiAyLjIuMSDniYjmnKznmoTlt6XnqIvvvIxcclxuICog5L2g5peg6ZyA5Zyo5Lu75L2V5YW25a6D6aG555uu5Lit5omL5Yqo5re75Yqg5q2k6ISa5pys44CCXHJcbiAqIOWmguaenOS9oOeahOmhueebruS4reayoeeUqOWIsCBUb2dnbGXvvIzlj6/nm7TmjqXliKDpmaTor6XohJrmnKzjgIJcclxuICog5aaC5p6c5L2g55qE6aG555uu5pyJ5omY566h5LqOIGdpdCDnrYnniYjmnKzlupPvvIzor7flsIbmraTohJrmnKzkuIDlubbkuIrkvKDjgIJcclxuICovXHJcblxyXG5pZiAoY2MuVG9nZ2xlKSB7XHJcbiAgICAvLyBXaGV0aGVyIHRvIHRyaWdnZXIgJ3RvZ2dsZScgYW5kICdjaGVja0V2ZW50cycgZXZlbnRzIHdoZW4gbW9kaWZ5aW5nICd0b2dnbGUuaXNDaGVja2VkJyBpbiB0aGUgY29kZVxyXG4gICAgLy8g5Zyo5Luj56CB5Lit5L+u5pS5ICd0b2dnbGUuaXNDaGVja2VkJyDml7bmmK/lkKbop6blj5EgJ3RvZ2dsZScg5LiOICdjaGVja0V2ZW50cycg5LqL5Lu2XHJcbiAgICBjYy5Ub2dnbGUuX3RyaWdnZXJFdmVudEluU2NyaXB0X2lzQ2hlY2tlZCA9IHRydWU7XHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Notification.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, 'f2518+0IHRGOY+ueIhGtEeA', 'Notification'); +// Script/Notification.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Notification = void 0; +//全局通知 +var Notification = { + _eventMap: [], + on: function (masgId, callback, target) { + if (this._eventMap[masgId] === undefined) { + this._eventMap[masgId] = []; + } + this._eventMap[masgId].push({ callback: callback, target: target }); + }, + emit: function (masgId, parameter) { + var array = this._eventMap[masgId]; + if (array === undefined) + return; + for (var i = 0; i < array.length; i++) { + var element = array[i]; + if (element) + element.callback.call(element.target, parameter); + } + }, + off: function (masgId, callback) { + var array = this._eventMap[masgId]; + if (array === undefined) + return; + for (var i = 0; i < array.length; i++) { + var element = array[i]; + if (element && element.callback === callback) { + array[i] = undefined; + break; + } + } + }, + offMasgId: function (masgId) { + this._eventMap[masgId] = undefined; + }, + removeAllMsg: function () { + for (var k in this._eventMap) { + if (this._eventMap[k]) { + this.offMasgId(k); + } + } + } +}; +exports.Notification = Notification; + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxOb3RpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsTUFBTTtBQUNOLElBQUksWUFBWSxHQUFHO0lBQ2YsU0FBUyxFQUFFLEVBQUU7SUFDYixFQUFFLEVBQUUsVUFBVSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU07UUFDbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxFQUFFLFVBQVUsTUFBTSxFQUFFLFNBQVM7UUFDN0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUVoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsSUFBSSxPQUFPO2dCQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDakU7SUFDTCxDQUFDO0lBRUQsR0FBRyxFQUFFLFVBQVUsTUFBTSxFQUFFLFFBQVE7UUFDM0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUNoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7Z0JBQzFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7Z0JBQ3JCLE1BQU07YUFDVDtTQUNKO0lBQ0wsQ0FBQztJQUVELFNBQVMsRUFBRSxVQUFVLE1BQU07UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVksRUFBRTtRQUNWLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckI7U0FDSjtJQUNMLENBQUM7Q0FDSixDQUFDO0FBRU8sb0NBQVkiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvL+WFqOWxgOmAmuefpVxudmFyIE5vdGlmaWNhdGlvbiA9IHtcbiAgICBfZXZlbnRNYXA6IFtdLFxuICAgIG9uOiBmdW5jdGlvbiAobWFzZ0lkLCBjYWxsYmFjaywgdGFyZ2V0KSB7XG4gICAgICAgIGlmICh0aGlzLl9ldmVudE1hcFttYXNnSWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50TWFwW21hc2dJZF0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdLnB1c2goeyBjYWxsYmFjazogY2FsbGJhY2ssIHRhcmdldDogdGFyZ2V0IH0pO1xuICAgIH0sXG5cbiAgICBlbWl0OiBmdW5jdGlvbiAobWFzZ0lkLCBwYXJhbWV0ZXIpIHtcbiAgICAgICAgbGV0IGFycmF5ID0gdGhpcy5fZXZlbnRNYXBbbWFzZ0lkXTtcbiAgICAgICAgaWYgKGFycmF5ID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9IGFycmF5W2ldO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQuY2FsbGJhY2suY2FsbChlbGVtZW50LnRhcmdldCwgcGFyYW1ldGVyKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBvZmY6IGZ1bmN0aW9uIChtYXNnSWQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGxldCBhcnJheSA9IHRoaXMuX2V2ZW50TWFwW21hc2dJZF07XG4gICAgICAgIGlmIChhcnJheSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gYXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNhbGxiYWNrID09PSBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGFycmF5W2ldID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIG9mZk1hc2dJZDogZnVuY3Rpb24gKG1hc2dJZCkge1xuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdID0gdW5kZWZpbmVkO1xuICAgIH0sXG5cbiAgICByZW1vdmVBbGxNc2c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChsZXQgayBpbiB0aGlzLl9ldmVudE1hcCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2V2ZW50TWFwW2tdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vZmZNYXNnSWQoayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgeyBOb3RpZmljYXRpb24gfTsiXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Sun.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, '4be67sdkexCyqLl0NHd9N1f', 'Sun'); +// Script/Sun.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 _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var Notification_1 = require("./Notification"); +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + return _super !== null && _super.apply(this, arguments) || this; + } + // onLoad () {} + NewClass.prototype.start = function () { + }; + //初始化数据 + NewClass.prototype.init = function (_id, color, speed, repeat) { + this.touch = true; + this.move = false; + this.id_Number = _id; + this._color = color; + this._speed = speed; + this._repeat = repeat; + //太阳动画 + cc.tween(this.node.getChildByName("shan")) + .repeatForever(cc.tween() + .to(1, { opacity: 0, scale: 0.5, }) + .delay(0.2) + .to(1, { opacity: 255, scale: 1.2 }) + .delay(0.5)) + .start(); + }; + //用于作弊 测试 + NewClass.prototype.showNumber = function (type) { + this.node.getChildByName("number").active = type; + if (type == true) + this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; + }; + //点击事件 + NewClass.prototype.clickBtn = function (event, data) { + if (data === "1") { + if (this.move == false && this.touch == true) { + if (this.node.parent.parent.name == "GameNode") { + if (this.node.parent.parent.getComponent("GameManager").begin == true) { + cc.tween(this.node.getChildByName("action")) + .to(0.5, { opacity: 0, scale: 1.8 }) + .start(); + cc.tween(this.node) + .to(0.3, { scale: 1.3 }) + .to(0.3, { scale: 1 }) + .start(); + this.touch = false; + this.node.zIndex = -1; + Notification_1.Notification.emit("clickSun", this.id_Number); + } + } + else { + this.touch = false; + this.node.zIndex = -1; + Notification_1.Notification.emit("clickSun", this.id_Number); + } + } + } + else { + if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { + this.touch = false; + this.node.zIndex = -1; + Notification_1.Notification.emit("clickSun", this.id_Number); + } + } + }; + 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,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dCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVNYW5hZ2VyIGZyb20gJy4vR2FtZU1hbmFnZXInO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbic7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBpZF9OdW1iZXI6bnVtYmVyXHJcbiAgICBfc3BlZWQ6bnVtYmVyXHJcbiAgICBfY29sb3I6bnVtYmVyXHJcbiAgICB0b3VjaDpib29sZWFuXHJcbiAgICBfcmVwZWF0OmJvb2xlYW5cclxuICAgIG1vdmU6Ym9vbGVhblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdChfaWQsY29sb3Isc3BlZWQscmVwZWF0KXtcclxuICAgICAgICB0aGlzLnRvdWNoID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlkX051bWJlciAgPSBfaWQ7XHJcbiAgICAgICAgdGhpcy5fY29sb3IgPSBjb2xvcjtcclxuICAgICAgICB0aGlzLl9zcGVlZCA9IHNwZWVkO1xyXG4gICAgICAgIHRoaXMuX3JlcGVhdCA9IHJlcGVhdDtcclxuICAgICAgICAvL+WkqumYs+WKqOeUu1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNoYW5cIikpXHJcbiAgICAgICAgLnJlcGVhdEZvcmV2ZXIoXHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKClcclxuICAgICAgICAgICAgLnRvKDEse29wYWNpdHk6MCxzY2FsZTowLjUsfSlcclxuICAgICAgICAgICAgLmRlbGF5KDAuMilcclxuICAgICAgICAgICAgLnRvKDEse29wYWNpdHk6MjU1LHNjYWxlOjEuMn0pXHJcbiAgICAgICAgICAgIC5kZWxheSgwLjUpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/nlKjkuo7kvZzlvIog5rWL6K+VXHJcbiAgICBzaG93TnVtYmVyKHR5cGUpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5hY3RpdmUgPSB0eXBlO1xyXG4gICAgICAgIGlmKHR5cGUgPT0gdHJ1ZSlcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5pZF9OdW1iZXIgKyBcIlwiO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vkuovku7ZcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIGlmKGRhdGEgPT09IFwiMVwiKXtcclxuICAgICAgICAgICAgaWYoIHRoaXMubW92ZSA9PSBmYWxzZSAmJiB0aGlzLnRvdWNoID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5ub2RlLnBhcmVudC5wYXJlbnQubmFtZSA9PSBcIkdhbWVOb2RlXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJhY3Rpb25cIikpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50bygwLjUse29wYWNpdHk6MCxzY2FsZToxLjh9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC4zLHtzY2FsZToxLjN9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC4zLHtzY2FsZToxfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG91Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3VjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYoIHRoaXMudG91Y2ggPT0gdHJ1ZSAmJiB0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHdWlkZU1hbmFnZXJcIikuYmVnaW4gPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuekluZGV4ID0gLTE7XHJcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/GameData.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, 'f2f0bI5PsVI+o18xF6G+KVa', 'GameData'); +// Script/GameData.ts + +"use strict"; +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 _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var GameData = /** @class */ (function (_super) { + __extends(GameData, _super); + function GameData() { + return _super !== null && _super.apply(this, arguments) || this; + } + GameData_1 = GameData; + GameData.prototype.onLoad = function () { + if (GameData_1._instance == null) { + GameData_1._instance = this; + cc.game.addPersistRootNode(this.node); + //设置为常驻,绑定音频以及游戏各类信息 + this.AudioManager = this.node.getComponent('AudioManager'); + } + else { + this.node.destroy(); + return; + } + }; + GameData.prototype.start = function () { + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); + //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 + this.GAME_DATA = []; + }; + GameData.prototype.GM_INFO_init = function () { + this.GM_INFO = { + // isEnd: false, + mean_Time: 0, + total: 0, + currSeed: 203213, + gameId: '100009', + userId: 200139, + guide: true, + url: "http://api.sparkus.cn", + success: false, + matchId: null, + custom: 0 + }; + }; + GameData.prototype.CLICK_init = function () { + this.CLICK_DATA = + { + type: 1, + success: false, + round: 0, + totalSunCount: 0, + movedSunCount: 0, + sunSpeed: 0, + overlapSunCount: 0, + colorList: [], + duration: 0, + difficultyLevel: 0, + sunList: [], + stepTimeList: [], + remainder: 120 + }; + }; + GameData.prototype.LEVEL_INFO_init = function () { + this.LEVEL_INFO = [ + { + number: 3, + moveNumber: 0, + moveSpeed: 0, + maxDistance: 200, + maxMove: 1200, + repeat: 0 //是否重叠,现在0 不重叠 1 重叠1个 + }, + { + number: 4, + moveNumber: 0, + moveSpeed: 0, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 4, + moveNumber: 0, + moveSpeed: 0, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 5, + moveNumber: 1, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 5, + moveNumber: 0, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 6, + moveNumber: 0, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 6, + moveNumber: 3, + moveSpeed: 4, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 7, + moveNumber: 0, + moveSpeed: 4, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 7, + moveNumber: 3, + moveSpeed: 4, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 7, + moveNumber: 3, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 8, + moveNumber: 3, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 8, + moveNumber: 5, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 9, + moveNumber: 3, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 9, + moveNumber: 5, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 10, + moveNumber: 5, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 3, + moveNumber: 0, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 4, + moveNumber: 0, + moveSpeed: 0, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 4, + moveNumber: 1, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 4, + moveNumber: 0, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 4, + moveNumber: 1, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 5, + moveNumber: 1, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 5, + moveNumber: 0, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 5, + moveNumber: 1, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 5, + moveNumber: 2, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 5, + moveNumber: 3, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + } + ]; + }; + var GameData_1; + GameData = GameData_1 = __decorate([ + ccclass + ], GameData); + return GameData; +}(cc.Component)); +exports.default = GameData; + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUUxQztJQUFzQyw0QkFBWTtJQUFsRDs7SUFzUkEsQ0FBQztpQkF0Um9CLFFBQVE7SUFnQnpCLHlCQUFNLEdBQU47UUFDSSxJQUFJLFVBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzVCLFVBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLG9CQUFvQjtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzlEO2FBQ0k7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLE9BQU87U0FDVjtJQUNMLENBQUM7SUFFRCx3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFDaEIsQ0FBQTtJQUNMLENBQUM7SUFFRCwrQkFBWSxHQUFaO1FBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNYLGdCQUFnQjtZQUNoQixTQUFTLEVBQUMsQ0FBQztZQUNYLEtBQUssRUFBQyxDQUFDO1lBQ1AsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFDLFFBQVE7WUFDZixNQUFNLEVBQUMsTUFBTTtZQUNiLEtBQUssRUFBQyxJQUFJO1lBQ1YsR0FB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QUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1NBRUosQ0FBQTtJQUNMLENBQUM7O0lBclJnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBc1I1QjtJQUFELGVBQUM7Q0F0UkQsQUFzUkMsQ0F0UnFDLEVBQUUsQ0FBQyxTQUFTLEdBc1JqRDtrQkF0Um9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVEYXRhIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIHN0YXRpYyBfaW5zdGFuY2U6IGFueTtcclxuICAgIEdNX0lORk86IHt9O1xyXG4gICAgQXVkaW9NYW5hZ2VyOiBhbnk7Ly/pn7PpopHnrqHnkIZcclxuICAgIEdBTUVfREFUQTogYW55W107Ly/lpIfnlKhcclxuICAgIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+WIneWni+W4g+WxgOacgOWkp+enu+WKqOi3neemu1xyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgLy/kuIrmiqXmlbDmja7vvIzmnInnmoTmuLjmiI/kuLrkuIDmlbTlsYDmuLjmiI/kuIDmrKHkuIrmiqXvvIzmnInnmoTkuLrmr4/mrKHmk43kvZzkuIrmiqVcclxuICAgIENMSUNLX0RBVEE6IHsgdHlwZTogbnVtYmVyOyBzdWNjZXNzOiBib29sZWFuOyByb3VuZDogbnVtYmVyOyB0b3RhbFN1bkNvdW50OiBudW1iZXI7IG1vdmVkU3VuQ291bnQ6IG51bWJlcjsgc3VuU3BlZWQ6IG51bWJlcjsgb3ZlcmxhcFN1bkNvdW50OiBudW1iZXI7IGNvbG9yTGlzdDogYW55W107IGR1cmF0aW9uOiBudW1iZXI7IGRpZmZpY3VsdHlMZXZlbDogbnVtYmVyOyBzdW5MaXN0OiBhbnlbXTsgc3RlcFRpbWVMaXN0OiBhbnlbXTsgcmVtYWluZGVyOiBudW1iZXI7IH07XHJcblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICBpZiAoR2FtZURhdGEuX2luc3RhbmNlID09IG51bGwpIHtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlID0gdGhpcztcclxuICAgICAgICAgICAgY2MuZ2FtZS5hZGRQZXJzaXN0Um9vdE5vZGUodGhpcy5ub2RlKTtcclxuICAgICAgICAgICAgLy/orr7nva7kuLrluLjpqbvvvIznu5Hlrprpn7PpopHku6Xlj4rmuLjmiI/lkITnsbvkv6Hmga9cclxuICAgICAgICAgICAgdGhpcy5BdWRpb01hbmFnZXIgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KCdBdWRpb01hbmFnZXInKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuR01fSU5GT19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5DTElDS19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPX2luaXQoKTtcclxuICAgICAgICAvL0dBTUVfREFUQSDlup/lvIPkuobvvIzmmoLml7bkuI3liKDpmaTku6XpmLLlkI7pnaLkv67mlLnlm54g5LiA5pW05bGA5Lyg5LiA5qyhXHJcbiAgICAgICAgdGhpcy5HQU1FX0RBVEEgPSBbXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG5cclxuICAgIEdNX0lORk9faW5pdCgpe1xyXG4gICAgICAgIHRoaXMuR01fSU5GTyA9IHsgXHJcbiAgICAgICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgbWVhbl9UaW1lOjAsICAgICAgICAgICAgICAgIC8v5bmz5Z2H5pS+566t6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsOjAsICAgICAgICAgICAgICAgICAgICAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgICAgICBjdXJyU2VlZDogMjAzMjEzLCAgICAgICAgICAgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICAgICAgZ2FtZUlkOicxMDAwMDknLFxyXG4gICAgICAgICAgICB1c2VySWQ6MjAwMTM5LFxyXG4gICAgICAgICAgICBndWlkZTp0cnVlLCAgICAgICAgICAgICAgICAgLy/mmK/lkKbmnInlvJXlr7xcclxuICAgICAgICAgICAgdXJsOlwiaHR0cDovL2FwaS5zcGFya3VzLmNuXCIsXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgIG1hdGNoSWQ6bnVsbCxcclxuICAgICAgICAgICAgY3VzdG9tOiAwXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBDTElDS19pbml0KCl7XHJcbiAgICAgICAgdGhpcy5DTElDS19EQVRBID0gXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOjEsXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgIHJvdW5kOjAsXHJcbiAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6MCxcclxuICAgICAgICAgICAgbW92ZWRTdW5Db3VudDowLFxyXG4gICAgICAgICAgICBzdW5TcGVlZDowLFxyXG4gICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6MCxcclxuICAgICAgICAgICAgY29sb3JMaXN0OltdLFxyXG4gICAgICAgICAgICBkdXJhdGlvbjowLFxyXG4gICAgICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6MCxcclxuICAgICAgICAgICAgc3VuTGlzdDpbXSxcclxuICAgICAgICAgICAgc3RlcFRpbWVMaXN0OltdLFxyXG4gICAgICAgICAgICByZW1haW5kZXI6MTIwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgTEVWRUxfSU5GT19pbml0KCl7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjozLCAgICAgICAvL+WkqumYs+aAu+aVsCBcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCwgICAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsICAgIC8v5aSq6Ziz56e75Yqo6YCf5bqm562J57qnXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsIC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MCAgICAgICAgLy/mmK/lkKbph43lj6DvvIznjrDlnKgwIOS4jemHjeWPoCAxIOmHjeWPoDHkuKpcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuozpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuInpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlm5vpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjoxLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkupTpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlha3pmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuIPpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlhavpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuZ3pmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuIDpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuozpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuInpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHlm5vpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkupTpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjoxMCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTEgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTIgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDowLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTMgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTQgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTUgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTYgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTcgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTggXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTkgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MixcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMjAgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICBdXHJcbiAgICB9XHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Load.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, '454adgphRpA6oq5lB6Cg1fK', 'Load'); +// Script/Load.ts + +"use strict"; +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 _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; +var GameData_1 = require("./GameData"); +var Storage_1 = require("./Storage"); +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + return _super !== null && _super.apply(this, arguments) || this; + } + NewClass.prototype.start = function () { + this.Authentication(); + }; + //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上 + NewClass.prototype.Authentication = function () { + var userId = Storage_1.StorageMessage.getStorage("user"); + if (userId == "undifend" || userId == null || userId == "") { + this.setUserId(); + } + else { + var data = Storage_1.StorageMessage.getStorage("user"); + data = this.getUserId(data); + var timestamp = parseInt(new Date().getTime() / 1000 + ""); + if ((timestamp - data[2]) > 86400) { + this.setUserId(); + return; + } + GameData_1.default._instance.GM_INFO.userId = parseInt(data[1]); + } + }; + //设置userId,链接有获取,没有跳转授权 + NewClass.prototype.setUserId = function () { + GameData_1.default._instance.GM_INFO.userId = this.getUserId(null); + if (GameData_1.default._instance.GM_INFO.userId == null) { + var url = "http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; + window.location.href = url; + } + else { + var timestamp = parseInt(new Date().getTime() / 1000 + ""); + var idTemp = "gameId=" + GameData_1.default._instance.GM_INFO.gameId + + "?userId= " + GameData_1.default._instance.GM_INFO.userId + "?time=" + timestamp; + Storage_1.StorageMessage.setStorage("user", idTemp); + GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); + } + }; + //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId + NewClass.prototype.getUserId = function (str) { + var pathStr = window.location.search; + var arr = pathStr.split("&"); + if (str != null) + arr = pathStr.split("?"); + if (pathStr.length >= 0 && arr.length > 0) { + var arr2_1 = []; + arr.map(function (item) { + arr2_1.push(item.split("=")[1]); + }); + return str == null ? arr2_1[0] : arr2_1; + } + else { + return null; + } + }; + //开始游戏,跳转至引导页面 + NewClass.prototype.startGame = function () { + cc.director.loadScene("GuideScene"); + }; + //备用,用来测试跳转 指定关卡 + NewClass.prototype.clickBtn = function (event, data) { + GameData_1.default._instance.GM_INFO.custom = parseInt(data); + cc.director.loadScene("GameScene"); + }; + //打开排行榜 + NewClass.prototype.openRank = function () { + cc.director.loadScene("RankScene"); + }; + 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBQzVELHVDQUFrQztBQUNsQyxxQ0FBMkM7QUFHM0M7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBbUVBLENBQUM7SUFqRUcsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0RBQWdEO0lBQ3hDLGlDQUFjLEdBQXRCO1FBQ0ksSUFBSSxNQUFNLEdBQUcsd0JBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBRyxNQUFNLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBRSxJQUFJLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7YUFDRztZQUNBLElBQUksSUFBSSxHQUFHLHdCQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBQztnQkFDN0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixPQUFPO2FBQ1Y7WUFDRCxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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InNvdXJjZXNDb250ZW50IjpbIlxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHksIHJlcXVpcmVDb21wb25lbnR9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVEYXRhIGZyb20gXCIuL0dhbWVEYXRhXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VNZXNzYWdlIH0gZnJvbSBcIi4vU3RvcmFnZVwiO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/pibTmnYPvvIzliKTmlq3mnInml6DnvJPlrZh1c2VyaWQs5pyJ55qE6K+d5Yik5pat5piv5ZCm6L+H5pyf77yM5rKh5pyJ55qE6K+d6YeN5paw6I635Y+WdXNlcmlkIOW5tuS4lOe8k+WtmOS4ilxyXG4gICAgcHJpdmF0ZSBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGxldCB1c2VySWQgPSBTdG9yYWdlTWVzc2FnZS5nZXRTdG9yYWdlKFwidXNlclwiKTtcclxuICAgICAgICBpZih1c2VySWQgPT0gXCJ1bmRpZmVuZFwiIHx8IHVzZXJJZD09bnVsbCB8fCB1c2VySWQgPT0gXCJcIil7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VXNlcklkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcInVzZXJcIik7XHJcbiAgICAgICAgICAgIGRhdGEgPSB0aGlzLmdldFVzZXJJZChkYXRhKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVzdGFtcCA9IHBhcnNlSW50KG5ldyBEYXRlKCkuZ2V0VGltZSgpLzEwMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgaWYoKHRpbWVzdGFtcCAtIGRhdGFbMl0pID4gODY0MDApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRVc2VySWQoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPSBwYXJzZUludChkYXRhWzFdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+iuvue9rnVzZXJJZCzpk77mjqXmnInojrflj5bvvIzmsqHmnInot7PovazmjojmnYNcclxuICAgIHByaXZhdGUgc2V0VXNlcklkKCl7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID0gdGhpcy5nZXRVc2VySWQobnVsbCk7XHJcbiAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID09IG51bGwpe1xyXG4gICAgICAgICAgICBsZXQgdXJsID0gXCJodHRwOi8vYXBpLnNwYXJrdXMuY24vYXBpL3VzZXIvYXV0aC9sb2dpbj9kb21haW49aHVpMzI1NzlXZFlQc2dZcSZjYWxsYmFjaz1cIitsb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgbGV0IHRpbWVzdGFtcCA9IHBhcnNlSW50KG5ldyBEYXRlKCkuZ2V0VGltZSgpLzEwMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgbGV0IGlkVGVtcCA9IFwiZ2FtZUlkPVwiICsgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkICsgXHJcbiAgICAgICAgICAgIFwiP3VzZXJJZD0gXCIgKyBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgKyBcIj90aW1lPVwiICsgdGltZXN0YW1wO1xyXG4gICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwidXNlclwiLGlkVGVtcCk7XHJcbiAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCA9IHBhcnNlSW50KEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ojrflj5Z1c2VyIGlkIOacieWPguaVsOS4uuiOt+WPlmdhbWVpZCB1c2VyaWQg5pe26Ze05oiz77yMIOaXoOWPguaVsOS4uuWPquiOt+WPlumTvuaOpeWwvue8gOS4iueahHVzZXJJZFxyXG4gICAgcHJpdmF0ZSBnZXRVc2VySWQoc3RyKSB7ICAgIFxyXG4gICAgICAgIGxldCBwYXRoU3RyID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaDtcclxuICAgICAgICBsZXQgYXJyPXBhdGhTdHIuc3BsaXQoXCImXCIpO1xyXG4gICAgICAgIGlmKHN0ciAhPSBudWxsKSBhcnI9cGF0aFN0ci5zcGxpdChcIj9cIik7XHJcbiAgICAgICAgaWYgKHBhdGhTdHIubGVuZ3RoPj0gMCYmYXJyLmxlbmd0aD4wKSB7XHJcbiAgICAgICAgICAgIGxldCBhcnIyPVtdO1xyXG4gICAgICAgICAgICBhcnIubWFwKGl0ZW09PntcclxuICAgICAgICAgICAgICAgIGFycjIucHVzaChpdGVtLnNwbGl0KFwiPVwiKVsxXSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgcmV0dXJuIHN0ciA9PSBudWxsID8gYXJyMlswXTphcnIyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lvIDlp4vmuLjmiI/vvIzot7Povazoh7PlvJXlr7zpobXpnaJcclxuICAgIHN0YXJ0R2FtZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkd1aWRlU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+Wkh+eUqO+8jOeUqOadpea1i+ivlei3s+i9rCDmjIflrprlhbPljaFcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSA9IHBhcnNlSW50KGRhdGEpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH0gICBcclxuICAgIC8v5omT5byA5o6S6KGM5qacXHJcbiAgICBvcGVuUmFuaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIlJhbmtTY2VuZVwiKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Storage.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, '7cf8cMT5zJA0ZU4Gp0JcL8v', 'Storage'); +// Script/Storage.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageMessage = void 0; +//缓存浏览器数据 +var StorageMessage = { + getStorage: function (key) { + var result = null; + if (cc.sys.localStorage.getItem(key)) { + var result = cc.sys.localStorage.getItem(key); + } + if (result) { + result = JSON.parse(result); + } + return result; + }, + setStorage: function (key, value) { + //主动拉起分享接口 + var temp = JSON.stringify(value); + cc.sys.localStorage.setItem(key, temp); + }, + removeStorage: function (key) { + //主动删除消息接口 + if (cc.sys.localStorage.getItem(key)) { + cc.sys.localStorage.removeItem(key); + } + }, +}; +exports.StorageMessage = StorageMessage; + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVM7QUFDVCxJQUFJLGNBQWMsR0FBRztJQUNqQixVQUFVLEVBQUcsVUFBUyxHQUFHO1FBQ3JCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQztZQUNsQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFHLE1BQU0sRUFBQztZQUNSLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUNELFVBQVUsRUFBRyxVQUFTLEdBQUcsRUFBQyxLQUFLO1FBQzNCLFVBQVU7UUFDVixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUNELGFBQWEsRUFBRyxVQUFTLEdBQUc7UUFDMUIsVUFBVTtRQUNWLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUNwQztJQUNILENBQUM7Q0FDSixDQUFDO0FBRU8sd0NBQWMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvL+e8k+WtmOa1j+iniOWZqOaVsOaNrlxudmFyIFN0b3JhZ2VNZXNzYWdlID0ge1xuICAgIGdldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgICB2YXIgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICAgIHZhciByZXN1bHQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYocmVzdWx0KXtcbiAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICAgIHNldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXksdmFsdWUpe1xuICAgICAgICAvL+S4u+WKqOaLiei1t+WIhuS6q+aOpeWPo1xuICAgICAgICB2YXIgdGVtcCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdGVtcClcbiAgICB9LFxuICAgIHJlbW92ZVN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgLy/kuLvliqjliKDpmaTmtojmga/mjqXlj6NcbiAgICAgIGlmKGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKXtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSlcbiAgICAgIH1cbiAgICB9LFxufTtcblxuZXhwb3J0IHsgU3RvcmFnZU1lc3NhZ2UgfTsiXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/tool/GameTool.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, 'ddac3ZC+9pHQr0Fs9IIhw4a', 'GameTool'); +// Script/tool/GameTool.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GameTool = void 0; +var GameData_1 = require("../GameData"); +//最大工具类 +var GameTool = { + _startTime: 0, + _endTime: 0, + _totalTime: 0, + getSeedRandom: function (min, max) { + max = max || 1; + min = min || 0; + GameData_1.default._instance.GM_INFO.currSeed = (GameData_1.default._instance.GM_INFO.currSeed * 9301 + 49297) % 233280; + var rnd = GameData_1.default._instance.GM_INFO.currSeed / 233280.0; + var tmp = min + rnd * (max - min); + return Math.floor(tmp); + }, + getSetScreenResolutionFlag: function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }, + //判断全面屏适配 + setFit: function (canvas) { + var flag = GameTool.getSetScreenResolutionFlag(); + if (flag) { + // console.log("不是全面屏"); + // canvas.fitWidth = false; + // canvas.fitHeight = true; + } + else { + // console.log("是全面屏"); + // canvas.fitWidth = true; + // canvas.fitHeight = false; + } + return flag; + }, + getTip: function () { + var index = Math.floor(Math.random() * 4) + 1; + switch (index) { + case 1: { + return "根据小球的位置,合理晃动手机,确保小球不掉出木板。"; + } + case 2: { + return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。"; + } + case 3: { + return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。"; + } + case 4: { + return "尝试着顶开掉落的障碍,是个很酷的玩法。"; + } + } + }, + beginTiming: function () { + this._startTime = new Date().getTime(); + }, + endTiming: function () { + this._endTime = new Date().getTime(); + // this._totalTime = endTime - this._startTime; + }, + //如果是判断时常的游戏 调用此方法 + updateScoreTime: function () { + var endTime = new Date().getTime(); + var tempTime = endTime - this._startTime; + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + this._endTime += tempTime / 1000; + this._totalTime = this._endTime.toFixed(2); + GameData_1.default._instance.GM_INFO.currScore = this._totalTime; + this._startTime = endTime; + }, + //倒计时调用此方法 + countDown: function () { + this._endTime = new Date().getTime(); + this._totalTime = Math.floor((this._endTime - this._startTime) / 1000); + GameData_1.default._instance.GM_INFO.remainingTime = GameData_1.default._instance.GM_INFO.totalTime - this._totalTime; + }, + getGameInfo: function (node) { + var jg = false; + return jg; + }, + //根据服务器数据重置所需要所有数据 + reset: function () { + console.log("本地数据丢失,重新启动游戏"); + cc.director.loadScene('LoadScene'); + }, + setGameInfo: function (pd) { + }, + //输入秒,返回需要展示时间格式 + getTimeMargin: function (second) { + var total = second; + var hour = Math.floor(total / (60 * 60)); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + var min = Math.floor(afterHour / 60); //计算整数分 + var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + return '剩余:' + hour + ':' + min + ':' + afterMin; + }, + getTimeMargin2: function (second) { + var total = second; + var min = null; + var afterMin = null; + var hour = Math.floor(total / (60 * 60)); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + min = Math.floor(afterHour / 60); //计算整数分 + if (min < 10) + min = "0" + min; + afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + if (afterMin < 10) + afterMin = "0" + afterMin; + return '剩余:' + min + ':' + afterMin; + }, + setFrindBlock: function (userid) { + }, + //将时间转换为59:23 + getTime: function (time) { + var label = ""; + var number_1 = null; + var number_2 = null; + number_1 = Math.floor(time / 60); + number_2 = time - number_1 * 60; + if (number_1 < 10) { + number_1 = "0" + number_1; + } + if (number_2 < 10) { + number_2 = "0" + number_2; + } + label = number_1 + ":" + number_2; + return label; + }, + //number 为传进来的数值,type为最多显示几位数 + getNumber: function (number, type) { + // console.log(type,"需要转换的数字为:",number); + var count = 1000; + var place = type - 3; + if (number > Math.pow(count, 8) * Math.pow(10, place)) { + if (number / Math.pow(count, 8) < 100) + number = Math.floor(number / Math.pow(count, 8) * 10) / 10 + "S"; + else + number = Math.floor(number / Math.pow(count, 8)) + "S"; + } + else if (number > Math.pow(count, 7) * Math.pow(10, place)) { + if (number / Math.pow(count, 7) < 100) + number = Math.floor(number / Math.pow(count, 7) * 10) / 10 + "s"; + else + number = Math.floor(number / Math.pow(count, 7)) + "s"; + } + else if (number > Math.pow(count, 6) * Math.pow(10, place)) { + if (number / Math.pow(count, 6) < 100) + number = Math.floor(number / Math.pow(count, 6) * 10) / 10 + "Q"; + else + number = Math.floor(number / Math.pow(count, 6)) + "Q"; + } + else if (number > Math.pow(count, 5) * Math.pow(10, place)) { + if (number / Math.pow(count, 5) < 100) + number = Math.floor(number / Math.pow(count, 5) * 10) / 10 + "q"; + else + number = Math.floor(number / Math.pow(count, 5)) + "q"; + } + else if (number > Math.pow(count, 4) * Math.pow(10, place)) { + if (number / Math.pow(count, 4) < 100) + number = Math.floor(number / Math.pow(count, 4) * 10) / 10 + "t"; + else + number = Math.floor(number / Math.pow(count, 4)) + "t"; + } + else if (number > Math.pow(count, 3) * Math.pow(10, place)) { + if (number / Math.pow(count, 3) < 100) + number = Math.floor(number / Math.pow(count, 3) * 10) / 10 + "b"; + else + number = Math.floor(number / Math.pow(count, 3)) + "b"; + } + else if (number > Math.pow(count, 2) * Math.pow(10, place)) { + if (number / Math.pow(count, 2) < 100) + number = Math.floor(number / Math.pow(count, 2) * 10) / 10 + "m"; + else + number = Math.floor(number / Math.pow(count, 2)) + "m"; + } + else if (number > Math.pow(count, 1) * Math.pow(10, place)) { + if (number / Math.pow(count, 1) < 100) { + number = Math.floor(number / Math.pow(count, 1) * 10) / 10 + "k"; + } + else + number = Math.floor(number / Math.pow(count, 1)) + "k"; + } + else { + number = Math.floor(number / Math.pow(count, 0)) + ""; + } + // console.log("结果为"+type+"位数",number); + return number; + }, + begainTiming: function () { + this._startTime = new Date().getTime(); + }, + endTiming2: function () { + var endTime = new Date().getTime(); + this._endTime = endTime; + this._totalTime = endTime - this._startTime; + }, + getScoreTime: function () { + var endTime = new Date().getTime(); + var tempTime = endTime - this._startTime; + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + GameData_1.default._instance.GM_INFO.currScore += tempTime; + this._startTime = endTime; + }, + getFormatTime: function (time) { + var date = new Date(); + date.setTime(time); + var ms = date.getMilliseconds(); + // let msString = date.getMilliseconds(); + var msString = null; + var secondString = null; + var minString = null; + msString = Math.floor(ms / 10) % 100; + secondString = date.getSeconds(); + minString = date.getMinutes(); + if (msString < 10) { + msString = "0" + msString; + } + if (secondString < 10) { + secondString = "0" + secondString; + } + secondString = secondString + ":"; + if (minString < 10) { + minString = "0" + minString; + } + minString = minString + ":"; + return minString + secondString + msString; + }, + pushLister: function () { + }, + removeAllLister: function () { + }, +}; +exports.GameTool = GameTool; + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxHYW1lVG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBbUM7QUFFbkMsT0FBTztBQUNQLElBQUksUUFBUSxHQUFHO0lBQ1gsVUFBVSxFQUFFLENBQUM7SUFDYixRQUFRLEVBQUUsQ0FBQztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsYUFBYSxFQUFFLFVBQVUsR0FBRyxFQUFFLEdBQUc7UUFDN0IsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDZixHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNmLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDcEcsSUFBSSxHQUFHLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekQsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELDBCQUEwQixFQUFFO1FBQ3hCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDdEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN2QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNE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LENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBQyxLQUFLLENBQUMsRUFBQztZQUM3QyxJQUFHLE1BQU0sR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsR0FBRyxHQUFHO2dCQUM3QixNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxHQUFDLEdBQUcsQ0FBQzs7Z0JBRXhELE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLEdBQUcsQ0FBQztTQUN6RDthQUNJLElBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFDLEtBQUssQ0FBQyxFQUFDO1lBQ2xELElBQUcsTUFBTSxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUc7Z0JBQzdCLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsR0FBQyxFQUFFLEdBQUMsR0FBRyxDQUFDOztnQkFFeEQsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsR0FBRyxDQUFDO1NBQ3pEO2FBQ0ksSUFBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcs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LENBQUMsVUFBVSxFQUFFLENBQUM7UUFDakMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLFFBQVEsR0FBRyxFQUFFLEVBQUU7WUFDZixRQUFRLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztTQUM3QjtRQUNELElBQUksWUFBWSxHQUFHLEVBQUUsRUFBRTtZQUNuQixZQUFZLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQztTQUNyQztRQUNELFlBQVksR0FBRyxZQUFZLEdBQUcsR0FBRyxDQUFDO1FBRWxDLElBQUksU0FBUyxHQUFHLEVBQUUsRUFBRTtZQUNoQixTQUFTLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQztTQUMvQjtRQUNELFNBQVMsR0FBRyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQzVCLE9BQU8sU0FBUyxHQUFHLFlBQVksR0FBRyxRQUFRLENBQUM7SUFFL0MsQ0FBQztJQUNELFVBQVUsRUFBQztJQUVYLENBQUM7SUFDRCxlQUFlLEVBQUM7SUFFaEIsQ0FBQztDQUVKLENBQUM7QUFDTyw0QkFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi4vR2FtZURhdGFcIjtcclxuaW1wb3J0IHsgU3RvcmFnZU1lc3NhZ2UgfSBmcm9tIFwiLi9TdG9yYWdlXCI7XHJcbi8v5pyA5aSn5bel5YW357G7XHJcbnZhciBHYW1lVG9vbCA9IHtcclxuICAgIF9zdGFydFRpbWU6IDAsXHJcbiAgICBfZW5kVGltZTogMCxcclxuICAgIF90b3RhbFRpbWU6IDAsXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBtYXggPSBtYXggfHwgMTtcclxuICAgICAgICBtaW4gPSBtaW4gfHwgMDtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXJyU2VlZCA9IChHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXJyU2VlZCAqIDkzMDEgKyA0OTI5NykgJSAyMzMyODA7XHJcbiAgICAgICAgbGV0IHJuZCA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1cnJTZWVkIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKHRtcCk7XHJcbiAgICB9LFxyXG4gICAgXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuICAgICAgICBsZXQgd2lkdGggPSBzaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBzaXplLmhlaWdodDtcclxuICAgICAgICBpZiAoKGhlaWdodCAvIHdpZHRoKSA+ICgxNi4yIC8gOSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0sXHJcbiAgICAvL+WIpOaWreWFqOmdouWxj+mAgumFjVxyXG4gICAgc2V0Rml0OiBmdW5jdGlvbiAoY2FudmFzKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSBHYW1lVG9vbC5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuS4jeaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICAgICAgLy8gY2FudmFzLmZpdFdpZHRoID0gZmFsc2U7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRIZWlnaHQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICAgICAgLy8gY2FudmFzLmZpdFdpZHRoID0gdHJ1ZTtcclxuICAgICAgICAgICAgLy8gY2FudmFzLmZpdEhlaWdodCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH0sXHJcblxyXG4gICAgZ2V0VGlwOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbGV0IGluZGV4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNCkgKyAxO1xyXG4gICAgICAgIHN3aXRjaCAoaW5kZXgpIHtcclxuICAgICAgICAgICAgY2FzZSAxOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCLmoLnmja7lsI/nkIPnmoTkvY3nva7vvIzlkIjnkIbmmYPliqjmiYvmnLrvvIznoa7kv53lsI/nkIPkuI3mjonlh7rmnKjmnb/jgIJcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgMjoge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwi5qC55o2u5bCP55CD5L2N572u5o6n5Yi25pmD5Yqo5bmF5bqm77yM6L+H5aSn5oiW6L+H5bCP6YO95LiN5piv5Liq5aW96YCJ5oup44CCXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlIDM6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBcIuS4jeimgeiiq+WkqeS4iuaOieiQveeahOmanOeijeWQk+WIsO+8jOacieaXtuWAmeWug+WPjeiAjOS8muW4ruS9oOS/neaMgeW5s+ihoeOAglwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSA0OiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCLlsJ3or5XnnYDpobblvIDmjonokL3nmoTpmpznoo3vvIzmmK/kuKrlvojphbfnmoTnjqnms5XjgIJcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBiZWdpblRpbWluZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgfSxcclxuXHJcbiAgICBlbmRUaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLl9lbmRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgLy8gdGhpcy5fdG90YWxUaW1lID0gZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTtcclxuICAgIH0sXHJcbiAgICAvL+WmguaenOaYr+WIpOaWreaXtuW4uOeahOa4uOaIjyDosIPnlKjmraTmlrnms5VcclxuICAgIHVwZGF0ZVNjb3JlVGltZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBlbmRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgbGV0IHRlbXBUaW1lID0gZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTtcclxuICAgICAgICBpZiAodGVtcFRpbWUgPCAwIHx8IHRlbXBUaW1lID4gNTAwKSB7XHJcbiAgICAgICAgICAgIHRlbXBUaW1lID0gTWF0aC5yb3VuZChjYy5kaXJlY3Rvci5nZXRBbmltYXRpb25JbnRlcnZhbCgpICogMTAwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2VuZFRpbWUgKz0gdGVtcFRpbWUgLyAxMDAwO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IHRoaXMuX2VuZFRpbWUudG9GaXhlZCgyKTtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXJyU2NvcmUgPSB0aGlzLl90b3RhbFRpbWU7XHJcbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gZW5kVGltZTtcclxuICAgIH0sXHJcbiAgICAvL+WAkuiuoeaXtuiwg+eUqOatpOaWueazlVxyXG4gICAgY291bnREb3duOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IE1hdGguZmxvb3IoKHRoaXMuX2VuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWUpIC8gMTAwMCk7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ucmVtYWluaW5nVGltZSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsVGltZSAtIHRoaXMuX3RvdGFsVGltZTtcclxuICAgIH0sXHJcblxyXG4gICAgZ2V0R2FtZUluZm86IGZ1bmN0aW9uKG5vZGUpe1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH0sXHJcbiAgICAvL+agueaNruacjeWKoeWZqOaVsOaNrumHjee9ruaJgOmcgOimgeaJgOacieaVsOaNrlxyXG4gICAgcmVzZXQ6IGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLmnKzlnLDmlbDmja7kuKLlpLEs6YeN5paw5ZCv5Yqo5ri45oiPXCIpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZSgnTG9hZFNjZW5lJyk7XHJcbiAgICB9LFxyXG5cclxuICAgIHNldEdhbWVJbmZvOiBmdW5jdGlvbihwZCl7XHJcbiAgIFxyXG4gICAgfSxcclxuICAgIC8v6L6T5YWl56eSLOi/lOWbnumcgOimgeWxleekuuaXtumXtOagvOW8j1xyXG4gICAgZ2V0VGltZU1hcmdpbjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gTWF0aC5mbG9vcih0b3RhbCAvICg2MCAqIDYwKSk7Ly/orqHnrpfmlbTmlbDlsI/ml7bmlbBcclxuICAgICAgICBsZXQgYWZ0ZXJIb3VyID0gdG90YWwgLSBob3VyICogNjAgKiA2MDsvL+WPluW+l+eul+WHuuWwj+aXtuaVsOWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaW4gPSBNYXRoLmZsb29yKGFmdGVySG91ciAvIDYwKTsvL+iuoeeul+aVtOaVsOWIhlxyXG4gICAgICAgIGxldCBhZnRlck1pbiA9IHRvdGFsIC0gaG91ciAqIDYwICogNjAgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIHJldHVybiAn5Ymp5L2ZOicgKyBob3VyICsgJzonICsgbWluICsgJzonICsgYWZ0ZXJNaW5cclxuICAgIH0sXHJcblxyXG4gICAgZ2V0VGltZU1hcmdpbjI6KHNlY29uZCkgPT4ge1xyXG4gICAgICAgIGxldCB0b3RhbCA9IHNlY29uZDtcclxuICAgICAgICBsZXQgbWluID0gbnVsbDtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSBudWxsO1xyXG4gICAgICAgIGxldCBob3VyID0gTWF0aC5mbG9vcih0b3RhbCAvICg2MCAqIDYwKSk7Ly/orqHnrpfmlbTmlbDlsI/ml7bmlbBcclxuICAgICAgICBsZXQgYWZ0ZXJIb3VyID0gdG90YWwgLSBob3VyICogNjAgKiA2MDsvL+WPluW+l+eul+WHuuWwj+aXtuaVsOWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIG1pbiA9IE1hdGguZmxvb3IoYWZ0ZXJIb3VyIC8gNjApOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgaWYobWluIDwgMTApIG1pbiA9IFwiMFwiK21pbjtcclxuICAgICAgICBhZnRlck1pbiA9IHRvdGFsIC0gaG91ciAqIDYwICogNjAgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGlmKGFmdGVyTWluIDwgMTApIGFmdGVyTWluID0gXCIwXCIgKyBhZnRlck1pbjtcclxuICAgICAgICByZXR1cm4gJ+WJqeS9mTonICArIG1pbiArICc6JyArIGFmdGVyTWluXHJcbiAgICB9LFxyXG5cclxuICAgIHNldEZyaW5kQmxvY2s6IGZ1bmN0aW9uKHVzZXJpZCl7XHJcblxyXG4gICAgfSxcclxuICAgIC8v5bCG5pe26Ze06L2s5o2i5Li6NTk6MjNcclxuICAgIGdldFRpbWU6IGZ1bmN0aW9uKHRpbWUpe1xyXG4gICAgICAgIHZhciBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgdmFyIG51bWJlcl8xID0gbnVsbDtcclxuICAgICAgICB2YXIgbnVtYmVyXzIgPSBudWxsO1xyXG4gICAgICAgIG51bWJlcl8xID0gTWF0aC5mbG9vcih0aW1lLzYwKVxyXG4gICAgICAgIG51bWJlcl8yID0gdGltZS1udW1iZXJfMSo2MDtcclxuICAgICAgICBpZihudW1iZXJfMSA8IDEwKXtcclxuICAgICAgICAgICAgbnVtYmVyXzEgPSBcIjBcIitudW1iZXJfMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYobnVtYmVyXzIgPCAxMCl7XHJcbiAgICAgICAgICAgIG51bWJlcl8yID0gXCIwXCIrbnVtYmVyXzI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsID0gbnVtYmVyXzEgKyBcIjpcIiArIG51bWJlcl8yO1xyXG4gICAgICAgIHJldHVybiBsYWJlbDtcclxuICAgIH0sXHJcbiAgICAvL251bWJlciDkuLrkvKDov5vmnaXnmoTmlbDlgLwsdHlwZeS4uuacgOWkmuaYvuekuuWHoOS9jeaVsFxyXG4gICAgZ2V0TnVtYmVyOiBmdW5jdGlvbihudW1iZXIsdHlwZSl7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2codHlwZSxcIumcgOimgei9rOaNoueahOaVsOWtl+S4ujpcIixudW1iZXIpO1xyXG4gICAgICAgIHZhciBjb3VudCA9IDEwMDA7XHJcbiAgICAgICAgdmFyIHBsYWNlID0gdHlwZSAtIDM7XHJcbiAgICAgICAgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsOCkqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDgpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsOCkqMTApLzEwK1wiU1wiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCw4KSkrXCJTXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsNykqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDcpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsNykqMTApLzEwK1wic1wiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSkrXCJzXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsNikqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDYpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsNikqMTApLzEwK1wiUVwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCw2KSkrXCJRXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsNSkqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDUpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsNSkqMTApLzEwK1wicVwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCw1KSkrXCJxXCI7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDQpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCw0KSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguZmxvb3IobnVtYmVyL01hdGgucG93KGNvdW50LDQpKjEwKS8xMCtcInRcIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsNCkpK1widFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDMpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguZmxvb3IobnVtYmVyL01hdGgucG93KGNvdW50LDMpKjEwKS8xMCtcImJcIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsMykpK1wiYlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDIpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCwyKSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguZmxvb3IobnVtYmVyL01hdGgucG93KGNvdW50LDIpKjEwKS8xMCtcIm1cIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsMikpK1wibVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDEpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCwxKSA8IDEwMCl7XHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCwxKSoxMCkvMTArXCJrXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsMSkpK1wia1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCwwKSkrXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCLnu5PmnpzkuLpcIit0eXBlK1wi5L2N5pWwXCIsbnVtYmVyKTtcclxuICAgICAgICByZXR1cm4gbnVtYmVyO1xyXG4gICAgfSxcclxuXHJcbiAgICBiZWdhaW5UaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgIH0sXHJcblxyXG4gICAgZW5kVGltaW5nMjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBlbmRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IGVuZFRpbWU7XHJcbiAgICAgICAgdGhpcy5fdG90YWxUaW1lID0gZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTtcclxuICAgIH0sXHJcbiAgICBnZXRTY29yZVRpbWU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIGxldCB0ZW1wVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICAgICAgaWYgKHRlbXBUaW1lIDwgMCB8fCB0ZW1wVGltZSA+IDUwMCkge1xyXG4gICAgICAgICAgICB0ZW1wVGltZSA9IE1hdGgucm91bmQoY2MuZGlyZWN0b3IuZ2V0QW5pbWF0aW9uSW50ZXJ2YWwoKSAqIDEwMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXJyU2NvcmUgKz0gdGVtcFRpbWU7XHJcbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gZW5kVGltZTtcclxuICAgIH0sXHJcblxyXG4gICAgZ2V0Rm9ybWF0VGltZTogZnVuY3Rpb24gKHRpbWUpIHtcclxuICAgICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgZGF0ZS5zZXRUaW1lKHRpbWUpO1xyXG4gICAgICAgIGxldCBtcyA9IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCk7XHJcbiAgICAgICAgLy8gbGV0IG1zU3RyaW5nID0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcclxuICAgICAgICBsZXQgbXNTdHJpbmcgPSBudWxsO1xyXG4gICAgICAgIGxldCBzZWNvbmRTdHJpbmcgPSBudWxsO1xyXG4gICAgICAgIGxldCBtaW5TdHJpbmcgPSBudWxsO1xyXG4gICAgICAgIG1zU3RyaW5nID0gTWF0aC5mbG9vcihtcyAvIDEwKSAlIDEwMDtcclxuICAgICAgICBzZWNvbmRTdHJpbmcgPSBkYXRlLmdldFNlY29uZHMoKTtcclxuICAgICAgICBtaW5TdHJpbmcgPSBkYXRlLmdldE1pbnV0ZXMoKTtcclxuICAgICAgICBpZiAobXNTdHJpbmcgPCAxMCkge1xyXG4gICAgICAgICAgICBtc1N0cmluZyA9IFwiMFwiICsgbXNTdHJpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzZWNvbmRTdHJpbmcgPCAxMCkge1xyXG4gICAgICAgICAgICBzZWNvbmRTdHJpbmcgPSBcIjBcIiArIHNlY29uZFN0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgc2Vjb25kU3RyaW5nID0gc2Vjb25kU3RyaW5nICsgXCI6XCI7XHJcblxyXG4gICAgICAgIGlmIChtaW5TdHJpbmcgPCAxMCkge1xyXG4gICAgICAgICAgICBtaW5TdHJpbmcgPSBcIjBcIiArIG1pblN0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgbWluU3RyaW5nID0gbWluU3RyaW5nICsgXCI6XCI7XHJcbiAgICAgICAgcmV0dXJuIG1pblN0cmluZyArIHNlY29uZFN0cmluZyArIG1zU3RyaW5nO1xyXG5cclxuICAgIH0sXHJcbiAgICBwdXNoTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgICByZW1vdmVBbGxMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuXHJcbn07XHJcbmV4cG9ydCB7IEdhbWVUb29sIH07Il19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/ListView/ItemRender.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, 'ca0f9k0oBVDbpQC+OMNTF3m', 'ItemRender'); +// Script/ListView/ItemRender.ts + +"use strict"; +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 _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var ItemRender = /** @class */ (function (_super) { + __extends(ItemRender, _super); + function ItemRender() { + var _this = _super !== null && _super.apply(this, arguments) || this; + /**数据 */ + _this.data = null; + /**索引 0表示第一项*/ + _this.itemIndex = 0; + return _this; + } + /**数据改变时调用 */ + ItemRender.prototype.dataChanged = function () { + if (this.data.name.length > 6) { + this.data.name = this.data.name.substring(0, 6) + "..."; + } + this.node.getChildByName("rankLab").getComponent(cc.Label).string = this.data.rank + ""; + this.node.getChildByName("nameLab").getComponent(cc.Label).string = this.data.name + ""; + this.node.getChildByName("totalLab").getComponent(cc.Label).string = this.data.total + ""; + this.node.getChildByName("rank").getChildByName("one").active = false; + this.node.getChildByName("rank").getChildByName("two").active = false; + this.node.getChildByName("rank").getChildByName("three").active = false; + if (this.data.rank == 1) { + this.node.getChildByName("rank").getChildByName("one").active = true; + this.node.getChildByName("rankLab").active = false; + } + else if (this.data.rank == 2) { + this.node.getChildByName("rank").getChildByName("two").active = true; + this.node.getChildByName("rankLab").active = false; + } + else if (this.data.rank == 3) { + this.node.getChildByName("rank").getChildByName("three").active = true; + this.node.getChildByName("rankLab").active = false; + } + else { + this.node.getChildByName("rankLab").active = true; + } + this.setPic(); + }; + ItemRender.prototype.setPic = function () { + var _this = this; + this.node.getChildByName("pic").getChildByName("icon").active = false; + this.node.getChildByName("pic").getChildByName("pic").active = false; + var self = this; + var url = this.data.pic; + fetch(url) + .then(function (response) { + return response.headers.get('Content-Length'); + }) + .then(function (errNo) { + // console.log(this.data.rank,'X-Info:', errNo); // 输出X-ErrNo的值 + if (errNo == "5093") { + // console.log(this.data.rank,"没头像"); + _this.node.getChildByName("pic").getChildByName("icon").active = true; + } + }) + .catch(function (error) { + console.error('Error fetching X-Info:', error); + }); + cc.assetManager.loadRemote(url, { ext: '.jpg' }, function (err, texture) { + if (texture) { + _this.node.getChildByName("pic").getChildByName("pic").active = true; + var sprite = _this.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite); + sprite.spriteFrame = new cc.SpriteFrame(texture); + // console.log(this.data.rank,"设置头像成功",err); + } + else { + // console.log("设置头像失败",url); + console.log(err, texture); + } + }); + }; + ItemRender = __decorate([ + ccclass + ], ItemRender); + return ItemRender; +}(cc.Component)); +exports.default = ItemRender; + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMaXN0Vmlld1xcSXRlbVJlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUc1QztJQUF3Qyw4QkFBWTtJQUFwRDtRQUFBLHFFQXFFQztRQXBFRyxRQUFRO1FBQ0QsVUFBSSxHQUFPLElBQUksQ0FBQztRQUN2QixjQUFjO1FBQ1AsZUFBUyxHQUFVLENBQUMsQ0FBQzs7SUFpRWhDLENBQUM7SUEvREcsYUFBYTtJQUNOLGdDQUFXLEdBQWxCO1FBQ0ksSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFBO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFB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QUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBQyxHQUFHLEVBQUMsTUFBTSxFQUFDLEVBQUMsVUFBQyxHQUFHLEVBQUUsT0FBb0I7WUFDbkUsSUFBRyxPQUFPLEVBQUM7Z0JBQ1AsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ25FLElBQUksTUFBTSxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzRixNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakQsNENBQTRDO2FBQy9DO2lCQUNHO2dCQUNBLDZCQUE2QjtnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsT0FBTyxDQUFDLENBQUE7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFsRWdCLFVBQVU7UUFEOUIsT0FBTztPQUNhLFVBQVUsQ0FxRTlCO0lBQUQsaUJBQUM7Q0FyRUQsQUFxRUMsQ0FyRXVDLEVBQUUsQ0FBQyxTQUFTLEdBcUVuRDtrQkFyRW9CLFVBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGlzdCwgeyBMaXN0VHlwZSB9IGZyb20gXCIuL0xpc3RcIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJdGVtUmVuZGVyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8qKuaVsOaNriAqL1xyXG4gICAgcHVibGljIGRhdGE6YW55ID0gbnVsbDtcclxuICAgIC8qKue0ouW8lSAw6KGo56S656ys5LiA6aG5Ki9cclxuICAgIHB1YmxpYyBpdGVtSW5kZXg6bnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirmlbDmja7mlLnlj5jml7bosIPnlKggKi9cclxuICAgIHB1YmxpYyBkYXRhQ2hhbmdlZCgpe1xyXG4gICAgICAgIGlmKHRoaXMuZGF0YS5uYW1lLmxlbmd0aCA+IDYpe1xyXG4gICAgICAgICAgICB0aGlzLmRhdGEubmFtZSA9IHRoaXMuZGF0YS5uYW1lLnN1YnN0cmluZygwLDYpICsgXCIuLi5cIlxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5kYXRhLnJhbmsgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEubmFtZSArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEudG90YWwgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5kYXRhLnJhbmsgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmRhdGEucmFuayA9PSAyKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBpYygpO1xyXG4gICAgfSAgIFxyXG4gICAgXHJcbiAgICBwdWJsaWMgc2V0UGljKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSBmYWxzZTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgbGV0IHVybCA9IHRoaXMuZGF0YS5waWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssJ1gtSW5mbzonLCBlcnJObyk7IC8vIOi+k+WHulgtRXJyTm/nmoTlgLxcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLmsqHlpLTlg49cIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCB7ZXh0OicuanBnJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdmFyIHNwcml0ZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIHNwcml0ZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5yYW5rLFwi6K6+572u5aS05YOP5oiQ5YqfXCIsZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLorr7nva7lpLTlg4/lpLHotKVcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/tool/AudioManager.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, '971c4vub4BJpqrSCLPJ8g1V', 'AudioManager'); +// Script/AudioManager.js + +"use strict"; + +cc.Class({ + "extends": cc.Component, + properties: { + //背景音乐 + audioGameBgm0: { + "default": null, + type: cc.AudioClip + }, + // 按钮点击 + audioButtonClick: { + "default": null, + type: cc.AudioClip + }, + // 报警音效 + audioWarning: { + "default": null, + type: cc.AudioClip + }, + //游戏开始音效 + audioWin: { + "default": null, + type: cc.AudioClip + }, + reward: false, + finish: false, + rewardCount: 0 + }, + ctor: function ctor() { + this.mAudioMap = {}; + /** + * 默认音量大小 + * @type {number} + */ + + this.bgMusicVolume = 0.1; + this.effectMusicVolume = 1; + this.mMusicSwitch = 1; + this.mEffectSwitch = 1; + }, + play: function play(audioSource, loop, callback, isBgMusic) { + if (isBgMusic && !this.mMusicSwitch) return; + if (!isBgMusic && !this.mEffectSwitch) return; + var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume; + + if (cc.sys.isBrowser) { + if (audioSource == this.brickSound) { + volume = 0.1; + } + + var context = cc.audioEngine.play(audioSource, loop, volume); + + if (callback) { + cc.audioEngine.setFinishCallback(context, function () { + callback.call(this); + }.bind(this)); + } + + this.mAudioMap[audioSource] = context; + return audioSource; + } else { + var context = wx.createInnerAudioContext(); + context.autoplay = true; + context.loop = loop; + context.obeyMuteSwitch = true; + context.volume = volume; + + if (callback) { + context.onEnded(function () { + callback.call(this); + }.bind(this)); + } else { + context.offEnded(); + } // var audioPath = cc.url.raw("resources/BallMaster/sounds" + audioSource.name + ".mp3"); + + + context.src = audioSource.nativeUrl; + context.play(); + this.mAudioMap[audioSource] = context; + return audioSource; + } + }, + save: function save() {// cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch); + // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch); + }, + onLoad: function onLoad() { + var _this = this; + + // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Music_Volume, function(volume) { + // this.mMusicSwitch = parseInt(volume); + // }.bind(this), 1); + // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Effect_Volume, function(volume) { + // this.mEffectSwitch = parseInt(volume); + // }.bind(this), 1); + this.reward = false; + this.finish = false; + this.rewardCount = 0; + window.addEventListener('rewardCanUse', function () { + // 此时激励可用 游戏内部逻辑 + _this.reward = true; + }); + 'undefined' != typeof window['reward'] ? window.dispatchEvent(window['reward']) : ""; + this.preload(); + }, + preload: function preload() { + if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { + return; + } + + var musics = [this.audioGameBgm0]; + musics.forEach(function (path) {// var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path; + // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) { + // cc.loader.load(musicPath, function(err, remoteUrl) { + // if (err) { + // cc.error(err.message || err); + // return; + // } + // }); + // } + }); + }, + getAudioMusicSwitch: function getAudioMusicSwitch() { + return this.mMusicSwitch; + }, + getAudioEffectSwitch: function getAudioEffectSwitch() { + return this.mEffectSwitch; + }, + trunAudioSound: function trunAudioSound(on) { + this.switchMusic(on); + this.switchEffect(on); + }, + switchMusic: function switchMusic(on) { + if (this.mMusicSwitch != (on ? 1 : 0)) { + this.mMusicSwitch = 1 - this.mMusicSwitch; // this.save(); + } + + if (on) { + this.playMusicGame(); + } else { + this.stopMusic(); + } + }, + switchEffect: function switchEffect(on) { + if (this.mEffectSwitch != (on ? 1 : 0)) { + this.mEffectSwitch = 1 - this.mEffectSwitch; // this.save(); + } + }, + onHide: function onHide() { + cc.audioEngine.pauseAll(); // if (CC_JSB) { + // } else { + // for (var key in this.mAudioMap) { + // if (key === this.mMusicKey) { + // this.mAudioMap[key].pause(); + // } else { + // this.mAudioMap[key].stop(); + // } + // } + // } + }, + onShow: function onShow() { + cc.audioEngine.resumeAll(); // if (CC_JSB) { + // } else { + // if (!this.mMusicSwitch) return; + // var context = this.mAudioMap[this.mMusicKey]; + // if (context) { + // context.play(); + // } + // } + }, + playMusic: function playMusic(key, callback, loop) { + loop = typeof loop == 'undefined' || loop ? true : false; + this.stopMusic(); + this.mMusicKey = this.play(key, loop, callback, true); + }, + + /** + * 游戏背景音乐 + */ + playMusicGame: function playMusicGame() { + this.playMusic(this.audioGameBgm0); + }, + + /** + * 停止背景音乐播放 + */ + stopMusic: function stopMusic() { + // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey); + var context = this.mAudioMap[this.mMusicKey]; + + if (typeof context != 'undefined') { + if (cc.sys.isBrowser) { + cc.audioEngine.stop(context); + } else { + context.stop(); + } + + cc.audioEngine.stop(context); + } + }, + // 炸弹、火箭爆炸音效 + playBomb: function playBomb() { + return this.play(this.audioBomb, false); + }, + //激光音效 + playJiGuang: function playJiGuang() { + return this.play(this.audioJiGuang, false); + }, + //技能音效 + playItem1: function playItem1() { + return this.play(this.audioItem1, false); + }, + + /* + * 游戏开始音效 + * + */ + playGameStart: function playGameStart() { + return this.play(this.audioGameStart, false); + }, + + /* + * 失败的游戏结束 + */ + playGameOver: function playGameOver() { + return this.play(this.audioGameOver, false); + }, + + /* + * 成功的游戏结束 + */ + playGameResultFailed: function playGameResultFailed() { + return this.play(this.audioGameResultFail, false); + }, + + /* + * 成功的游戏结束 + */ + playGameResultSuccess: function playGameResultSuccess() { + return this.play(this.audioGameResultSuccess, false); + }, + + /** + * 报警的音效 + */ + playWarning: function playWarning() { + return this.play(this.audioWarning, false); + }, + playWin: function playWin() { + return this.play(this.audioWin, false); + }, + + /* + * 方块碰撞的声音 + */ + playBrick: function playBrick() { + return this.play(this.brickSound, false); + }, + //方块破碎的声音 + brickBoom: function brickBoom() { + return this.play(this.audioObj, false); + }, + + /** + * 按钮 + */ + playAudioButton: function playAudioButton() { + return this.play(this.audioButtonClick, false); + }, + playRandomMatch: function playRandomMatch() { + this.playMusic(this.randomMatchSound); + }, + playMatchFoundSound: function playMatchFoundSound() { + this.stopMusic(); + return this.play(this.matchFoundSound, 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxBdWRpb01hbmFnZXIuanMiXSwibmFtZXMiOlsiY2MiLCJDbGFzcyIsIkNvbXBvbmVudCIsInByb3BlcnRpZXMiLCJhdWRpb0dhbWVCZ20wIiwidHlwZSIsIkF1ZGlvQ2xpcCIsImF1ZGlvQnV0dG9uQ2xpY2siLCJhdWRpb1dhcm5pbmciLCJhdWRpb1dpbiIsInJld2FyZCIsImZpbmlzaCIsInJld2FyZENvdW50IiwiY3RvciIsIm1BdWRpb01hcCIsImJnTXVzaWNWb2x1bWUiLCJlZmZlY3RNdXNpY1ZvbHVtZSIsIm1NdXNpY1N3aXRjaCIsIm1FZmZlY3RTd2l0Y2giLCJwbGF5IiwiYXVkaW9Tb3VyY2UiLCJsb29wIiwiY2FsbGJhY2siLCJpc0JnTXVzaWMiLCJ2b2x1bWUiLCJzeXMiLCJpc0Jyb3dzZXIiLCJicmlja1NvdW5kIiwiY29udGV4dCIsImF1ZGlvRW5naW5lIiwic2V0RmluaXNoQ2FsbGJhY2siLCJjYWxsIiwiYmluZCIsInd4IiwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQiLCJhdXRvcGxheSIsIm9iZXlNdXRlU3dpdGNoIiwib25FbmRlZCIsIm9mZkVuZGVkIiwic3JjIiwibmF0aXZlVXJsIiwic2F2ZSIsIm9uTG9hZCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJkaXNwYXRjaEV2ZW50IiwicHJlbG9hZCIsInBsYXRmb3JtIiwiV0VDSEFUX0dBTUUiLCJtdXNpY3MiLCJmb3JFYWNoIiwicGF0aCIsImdldEF1ZGlvTXVzaWNTd2l0Y2giLCJnZXRBdWRpb0VmZmVjdFN3aXRjaCIsInRydW5BdWRpb1NvdW5kIiwib24iLCJzd2l0Y2hNdXNpYyIsInN3aXRjaEVmZmVjdCIsInBsYXlNdXNpY0dhbWUiLCJzdG9wTXVzaWMiLCJvbkhpZGUiLCJwYXVzZUFsbCIsIm9uU2hvdyIsInJlc3VtZUFsbCIsInBsYXlNdXNpYyIsImtleSIsIm1NdXNpY0tleSIsInN0b3AiLCJwbGF5Qm9tYiIsImF1ZGlvQm9tYiIsInBsYXlKaUd1YW5nIiwiYXVkaW9KaUd1YW5nIiwicGxheUl0ZW0xIiwiYXVkaW9JdGVtMSIsInBsYXlHYW1lU3RhcnQiLCJhdWRpb0dhbWVTdGFydCIsInBsYXlHYW1lT3ZlciIsImF1ZGlvR2FtZU92ZXIiLCJwbGF5R2FtZVJlc3VsdEZhaWxlZCIsImF1ZGlvR2FtZVJlc3VsdEZhaWwiLCJwbGF5R2FtZVJlc3VsdFN1Y2Nlc3MiLCJhdWRpb0dhbWVSZXN1bHRTdWNjZXNzIiwicGxheVdhcm5pbmciLCJwbGF5V2luIiwicGxheUJyaWNrIiwiYnJpY2tCb29tIiwiYXVkaW9PYmoiLCJwbGF5QXVkaW9CdXR0b24iLCJwbGF5UmFuZG9tTWF0Y2giLCJyYW5kb21NYXRjaFNvdW5kIiwicGxheU1hdGNoRm91bmRTb3VuZCIsIm1hdGNoRm91bmRTb3VuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTRCxFQUFFLENBQUNFLFNBRFA7QUFFTEMsRUFBQUEsVUFBVSxFQUFDO0FBQ1A7QUFDQUMsSUFBQUEsYUFBYSxFQUFDO0FBQ1YsaUJBQVEsSUFERTtBQUVWQyxNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGRSxLQUZQO0FBTVA7QUFDQUMsSUFBQUEsZ0JBQWdCLEVBQUM7QUFDYixpQkFBUSxJQURLO0FBRWJGLE1BQUFBLElBQUksRUFBQ0wsRUFBRSxDQUFDTTtBQUZLLEtBUFY7QUFXUDtBQUNBRSxJQUFBQSxZQUFZLEVBQUM7QUFDVCxpQkFBUSxJQURDO0FBRVRILE1BQUFBLElBQUksRUFBQ0wsRUFBRSxDQUFDTTtBQUZDLEtBWk47QUFpQlA7QUFDQUcsSUFBQUEsUUFBUSxFQUFDO0FBQ0wsaUJBQVEsSUFESDtBQUVMSixNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGSCxLQWxCRjtBQXVCUEksSUFBQUEsTUFBTSxFQUFFLEtBdkJEO0FBd0JQQyxJQUFBQSxNQUFNLEVBQUUsS0F4QkQ7QUF5QlBDLElBQUFBLFdBQVcsRUFB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LG1DQTBRTDtBQUNJLFdBQU8sS0FBSzdELElBQUwsQ0FBVSxLQUFLOEQsc0JBQWYsRUFBc0MsS0FBdEMsQ0FBUDtBQUNILEdBNVFJOztBQTZRTDtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEsV0FoUksseUJBaVJMO0FBQ0ksV0FBTyxLQUFLL0QsSUFBTCxDQUFVLEtBQUtYLFlBQWYsRUFBNEIsS0FBNUIsQ0FBUDtBQUVILEdBcFJJO0FBc1JMMkUsRUFBQUEsT0F0UksscUJBdVJMO0FBQ0ksV0FBTyxLQUFLaEUsSUFBTCxDQUFVLEtBQUtWLFFBQWYsRUFBd0IsS0FBeEIsQ0FBUDtBQUNILEdBelJJOztBQTJSTDtBQUNKO0FBQ0E7QUFDSTJFLEVBQUFBLFNBOVJLLHVCQStSTDtBQUNJLFdBQU8sS0FBS2pFLElBQUwsQ0FBVSxLQUFLUSxVQUFmLEVBQTBCLEtBQTFCLENBQVA7QUFDSCxHQWpTSTtBQWtTTDtBQUNBMEQsRUFBQUEsU0FuU0ssdUJBbVNNO0FBQ1AsV0FBTyxLQUFLbEUsSUFBTCxDQUFVLEtBQUttRSxRQUFmLEVBQXdCLEtBQXhCLENBQVA7QUFDSCxHQXJTSTs7QUFzU0w7QUFDSjtBQUNBO0FBQ0lDLEVBQUFBLGVBelNLLDZCQXlTYztBQUNmLFdBQU8sS0FBS3BFLElBQUwsQ0FBVSxLQUFLWixnQkFBZixFQUFpQyxLQUFqQyxDQUFQO0FBQ0gsR0EzU0k7QUE2U0xpRixFQUFBQSxlQTdTSyw2QkE4U0w7QUFDSSxTQUFLeEIsU0FBTCxDQUFlLEtBQUt5QixnQkFBcEI7QUFDSCxHQWhUSTtBQWlUTEMsRUFBQUEsbUJBalRLLGlDQWtUTDtBQUNJLFNBQUsvQixTQUFMO0FBQ0EsV0FBTyxLQUFLeEMsSUFBTCxDQUFVLEtBQUt3RSxlQUFmLEVBQWdDLEtBQWhDLENBQVA7QUFDSDtBQXJUSSxDQUFUIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxuICAgIHByb3BlcnRpZXM6e1xuICAgICAgICAvL+iDjOaZr+mfs+S5kFxuICAgICAgICBhdWRpb0dhbWVCZ20wOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaMiemSrueCueWHu1xuICAgICAgICBhdWRpb0J1dHRvbkNsaWNrOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaKpeitpumfs+aViFxuICAgICAgICBhdWRpb1dhcm5pbmc6e1xuICAgICAgICAgICAgZGVmYXVsdDpudWxsLFxuICAgICAgICAgICAgdHlwZTpjYy5BdWRpb0NsaXBcbiAgICAgICAgfSxcblxuICAgICAgICAvL+a4uOaIj+W8gOWni+mfs+aViFxuICAgICAgICBhdWRpb1dpbjp7XG4gICAgICAgICAgICBkZWZhdWx0Om51bGwsXG4gICAgICAgICAgICB0eXBlOmNjLkF1ZGlvQ2xpcFxuICAgICAgICB9LFxuXG4gICAgICAgIHJld2FyZDogZmFsc2UsXG4gICAgICAgIGZpbmlzaDogZmFsc2UsXG4gICAgICAgIHJld2FyZENvdW50OiAwXG5cbiAgICB9LFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tQXVkaW9NYXAgPSB7fTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog6buY6K6k6Z+z6YeP5aSn5bCPXG4gICAgICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmJnTXVzaWNWb2x1bWUgPSAwLjE7XG4gICAgICAgIHRoaXMuZWZmZWN0TXVzaWNWb2x1bWUgPSAxO1xuXG4gICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMTtcbiAgICAgICAgdGhpcy5tRWZmZWN0U3dpdGNoID0gMTtcbiAgICB9LFxuICAgIHBsYXkgOiBmdW5jdGlvbihhdWRpb1NvdXJjZSwgbG9vcCwgY2FsbGJhY2ssIGlzQmdNdXNpYykge1xuICAgICAgICBpZiAoaXNCZ011c2ljICYmICF0aGlzLm1NdXNpY1N3aXRjaCkgcmV0dXJuO1xuICAgICAgICBpZiAoIWlzQmdNdXNpYyAmJiAhdGhpcy5tRWZmZWN0U3dpdGNoKSByZXR1cm47XG5cbiAgICAgICAgdmFyIHZvbHVtZSA9IGlzQmdNdXNpYyA/IHRoaXMuYmdNdXNpY1ZvbHVtZSA6IHRoaXMuZWZmZWN0TXVzaWNWb2x1bWU7XG5cbiAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIGlmKGF1ZGlvU291cmNlID09IHRoaXMuYnJpY2tTb3VuZCl7XG4gICAgICAgICAgICAgICAgdm9sdW1lID0gMC4xO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIHZhciBjb250ZXh0ID0gY2MuYXVkaW9FbmdpbmUucGxheShhdWRpb1NvdXJjZSwgbG9vcCwgdm9sdW1lKTtcbiAgICAgICAgICAgIGlmIChjYWxsYmFjayl7XG4gICAgICAgICAgICAgICAgY2MuYXVkaW9FbmdpbmUuc2V0RmluaXNoQ2FsbGJhY2soY29udGV4dCwgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm1BdWRpb01hcFthdWRpb1NvdXJjZV0gPSBjb250ZXh0O1xuICAgICAgICAgICAgcmV0dXJuIGF1ZGlvU291cmNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIGNvbnRleHQgPSB3eC5jcmVhdGVJbm5lckF1ZGlvQ29udGV4dCgpO1xuICAgICAgICAgICAgY29udGV4dC5hdXRvcGxheSA9IHRydWU7XG4gICAgICAgICAgICBjb250ZXh0Lmxvb3AgPSBsb29wO1xuICAgICAgICAgICAgY29udGV4dC5vYmV5TXV0ZVN3aXRjaCA9IHRydWU7XG4gICAgICAgICAgICBjb250ZXh0LnZvbHVtZSA9IHZvbHVtZTtcblxuICAgICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5vbkVuZGVkKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjay5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRleHQub2ZmRW5kZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAvLyB2YXIgYXVkaW9QYXRoID0gY2MudXJsLnJhdyhcInJlc291cmNlcy9CYWxsTWFzdGVyL3NvdW5kc1wiICsgYXVkaW9Tb3VyY2UubmFtZSArIFwiLm1wM1wiKTtcbiAgICAgICAgICAgIGNvbnRleHQuc3JjID0gYXVkaW9Tb3VyY2UubmF0aXZlVXJsO1xuICAgICAgICAgICAgY29udGV4dC5wbGF5KClcbiAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2F1ZGlvU291cmNlXSA9IGNvbnRleHQ7XG4gICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIGF1ZGlvU291cmNlO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHNhdmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19NdXNpY19Wb2x1bWUsIHRoaXMubU11c2ljU3dpdGNoKTtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCB0aGlzLm1FZmZlY3RTd2l0Y2gpO1xuICAgIH0sXG4gICAgb25Mb2FkKCkge1xuICAgICAgICAvLyBjYy53d3guU3RvcmFnZS5nZXRJdGVtKGNjLnd3eC5TdG9yYWdlLktleV9TZXR0aW5nX011c2ljX1ZvbHVtZSwgZnVuY3Rpb24odm9sdW1lKSB7XG4gICAgICAgIC8vICAgICB0aGlzLm1NdXNpY1N3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2UuZ2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCBmdW5jdGlvbih2b2x1bWUpIHtcbiAgICAgICAgLy8gICAgIHRoaXMubUVmZmVjdFN3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cbiAgICAgICAgdGhpcy5yZXdhcmQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2ggPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXdhcmRDb3VudCA9IDA7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXdhcmRDYW5Vc2UnLCAoKSA9PiB7XG4gICAgICAgICAgICAvLyDmraTml7bmv4DlirHlj6/nlKgg5ri45oiP5YaF6YOo6YC76L6RXG4gICAgICAgICAgICB0aGlzLnJld2FyZCA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICd1bmRlZmluZWQnICE9IHR5cGVvZiB3aW5kb3dbJ3Jld2FyZCddID8gXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KHdpbmRvd1sncmV3YXJkJ10pOlwiXCJcblxuICAgICAgICB0aGlzLnByZWxvYWQoKTtcbiAgICB9LFxuICAgIHByZWxvYWQgOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKCEoY2Muc3lzLnBsYXRmb3JtID09PSBjYy5zeXMuV0VDSEFUX0dBTUUpKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHZhciBtdXNpY3MgPSBbXG4gICAgICAgICAgICB0aGlzLmF1ZGlvR2FtZUJnbTAsXG4gICAgICAgIF07XG4gICAgICAgIG11c2ljcy5mb3JFYWNoKGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgICAgIC8vIHZhciBtdXNpY1BhdGggPSB3eERvd25sb2FkZXIuUkVNT1RFX1NFUlZFUl9ST09UICsgcGF0aDtcbiAgICAgICAgICAgIC8vIGlmIChtdXNpY1BhdGggIT0gd3hEb3dubG9hZGVyLlJFTU9URV9TRVJWRVJfUk9PVCAmJiBtdXNpY1BhdGguZW5kc1dpdGgoJy5tcDMnKSkge1xuICAgICAgICAgICAgLy8gICAgIGNjLmxvYWRlci5sb2FkKG11c2ljUGF0aCwgZnVuY3Rpb24oZXJyLCByZW1vdGVVcmwpIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgY2MuZXJyb3IoZXJyLm1lc3NhZ2UgfHwgZXJyKTtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9KVxuICAgIH0sXG5cbiAgICBnZXRBdWRpb011c2ljU3dpdGNoKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLm1NdXNpY1N3aXRjaDtcblxuICAgIH0sXG4gICAgZ2V0QXVkaW9FZmZlY3RTd2l0Y2goKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubUVmZmVjdFN3aXRjaDtcbiAgICB9LFxuICAgIHRydW5BdWRpb1NvdW5kKG9uKVxuICAgIHtcbiAgICAgICAgdGhpcy5zd2l0Y2hNdXNpYyhvbik7XG4gICAgICAgIHRoaXMuc3dpdGNoRWZmZWN0KG9uKVxuICAgIH0sXG4gICAgc3dpdGNoTXVzaWMgOiBmdW5jdGlvbihvbikge1xuICAgICAgICBpZiAodGhpcy5tTXVzaWNTd2l0Y2ggIT0gKG9uPzE6MCkpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMS10aGlzLm1NdXNpY1N3aXRjaDtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2ZSgpO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgaWYob24pXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMucGxheU11c2ljR2FtZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc3dpdGNoRWZmZWN0IDogZnVuY3Rpb24ob24pIHtcbiAgICAgICAgaWYgKHRoaXMubUVmZmVjdFN3aXRjaCAhPSAob24/MTowKSl7XG4gICAgICAgICAgICB0aGlzLm1FZmZlY3RTd2l0Y2ggPSAxLXRoaXMubUVmZmVjdFN3aXRjaDtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2ZSgpO1xuXG4gICAgICAgIH1cbiAgICB9LFxuICAgIG9uSGlkZSAoKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnBhdXNlQWxsKCk7XG5cbiAgICAgICAgLy8gaWYgKENDX0pTQikge1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgZm9yICh2YXIga2V5IGluIHRoaXMubUF1ZGlvTWFwKSB7XG4gICAgICAgIC8vICAgICAgICAgaWYgKGtleSA9PT0gdGhpcy5tTXVzaWNLZXkpIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5tQXVkaW9NYXBba2V5XS5wYXVzZSgpO1xuICAgICAgICAvLyAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2tleV0uc3RvcCgpO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH0sXG5cbiAgICBvblNob3cgKCkge1xuICAgICAgICBjYy5hdWRpb0VuZ2luZS5yZXN1bWVBbGwoKTtcblxuICAgICAgICAvLyBpZiAoQ0NfSlNCKSB7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICBpZiAoIXRoaXMubU11c2ljU3dpdGNoKSByZXR1cm47XG4gICAgICAgIC8vICAgICB2YXIgY29udGV4dCA9IHRoaXMubUF1ZGlvTWFwW3RoaXMubU11c2ljS2V5XTtcbiAgICAgICAgLy8gICAgIGlmIChjb250ZXh0KSB7XG4gICAgICAgIC8vICAgICAgICAgY29udGV4dC5wbGF5KCk7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH1cbiAgICB9LFxuICAgIHBsYXlNdXNpYyA6IGZ1bmN0aW9uKGtleSwgY2FsbGJhY2ssIGxvb3ApIHtcblxuICAgICAgICBsb29wID0gdHlwZW9mIGxvb3AgPT0gJ3VuZGVmaW5lZCcgIHx8IGxvb3AgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgdGhpcy5tTXVzaWNLZXkgPSB0aGlzLnBsYXkoa2V5LCBsb29wLCBjYWxsYmFjaywgdHJ1ZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmuLjmiI/og4zmma/pn7PkuZBcbiAgICAgKi9cbiAgICBwbGF5TXVzaWNHYW1lICgpIHtcbiAgICAgICAgdGhpcy5wbGF5TXVzaWModGhpcy5hdWRpb0dhbWVCZ20wKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIOWBnOatouiDjOaZr+mfs+S5kOaSreaUvlxuICAgICAqL1xuICAgIHN0b3BNdXNpYyAoKSB7XG4gICAgICAgIC8vIGNjLnd3eC5PdXRQdXQubG9nKCdzdG9wTXVzaWMgYXVkaW8gZWZmZWN0IHd4OiAnICsgdGhpcy5tTXVzaWNLZXkpO1xuXG4gICAgICAgIHZhciBjb250ZXh0ID0gdGhpcy5tQXVkaW9NYXBbdGhpcy5tTXVzaWNLZXldO1xuXG4gICAgICAgIGlmICh0eXBlb2YoY29udGV4dCkgIT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGlmIChjYy5zeXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICAgICAgY2MuYXVkaW9FbmdpbmUuc3RvcChjb250ZXh0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5zdG9wKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYy5hdWRpb0VuZ2luZS5zdG9wKGNvbnRleHQpO1xuXG4gICAgICAgIH1cbiAgICB9LFxuICAgIC8vIOeCuOW8ueOAgeeBq+eureeIhueCuOmfs+aViFxuICAgIHBsYXlCb21iICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvQm9tYiwgZmFsc2UpO1xuICAgIH0sXG4gICAgLy/mv4DlhYnpn7PmlYhcbiAgICBwbGF5SmlHdWFuZygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9KaUd1YW5nLCBmYWxzZSk7XG4gICAgfSxcbiAgICAvL+aKgOiDvemfs+aViFxuICAgIHBsYXlJdGVtMSgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9JdGVtMSwgZmFsc2UpO1xuICAgIH0sXG4gICAgLypcbiAgICAgKiDmuLjmiI/lvIDlp4vpn7PmlYhcbiAgICAgKlxuICAgICAqL1xuICAgICBwbGF5R2FtZVN0YXJ0KClcbiAgICAge1xuICAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvR2FtZVN0YXJ0LCBmYWxzZSk7XG4gICAgIH0sXG4gICAgIC8qXG4gICAgICAqIOWksei0peeahOa4uOaIj+e7k+adn1xuICAgICAgKi9cbiAgICAgcGxheUdhbWVPdmVyKClcbiAgICAge1xuICAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvR2FtZU92ZXIsZmFsc2UpO1xuICAgICB9LFxuICAgIC8qXG4gICAgICAqIOaIkOWKn+eahOa4uOaIj+e7k+adn1xuICAgICAgKi9cbiAgICBwbGF5R2FtZVJlc3VsdEZhaWxlZCgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lUmVzdWx0RmFpbCxmYWxzZSk7XG4gICAgfSxcbiAgICAvKlxuICAqIOaIkOWKn+eahOa4uOaIj+e7k+adn1xuICAqL1xuICAgIHBsYXlHYW1lUmVzdWx0U3VjY2VzcygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lUmVzdWx0U3VjY2VzcyxmYWxzZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmiqXorabnmoTpn7PmlYhcbiAgICAgKi9cbiAgICBwbGF5V2FybmluZygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9XYXJuaW5nLGZhbHNlKTtcblxuICAgIH0sXG5cbiAgICBwbGF5V2luKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb1dpbixmYWxzZSk7XG4gICAgfSxcblxuICAgIC8qXG4gICAgICog5pa55Z2X56Kw5pKe55qE5aOw6Z+zXG4gICAgICovXG4gICAgcGxheUJyaWNrKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5icmlja1NvdW5kLGZhbHNlKTtcbiAgICB9LFxuICAgIC8v5pa55Z2X56C056KO55qE5aOw6Z+zXG4gICAgYnJpY2tCb29tKCl7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb09iaixmYWxzZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmjInpkq5cbiAgICAgKi9cbiAgICBwbGF5QXVkaW9CdXR0b24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9CdXR0b25DbGljaywgZmFsc2UpO1xuICAgIH0sXG5cbiAgICBwbGF5UmFuZG9tTWF0Y2goKVxuICAgIHtcbiAgICAgICAgdGhpcy5wbGF5TXVzaWModGhpcy5yYW5kb21NYXRjaFNvdW5kKTtcbiAgICB9LFxuICAgIHBsYXlNYXRjaEZvdW5kU291bmQoKVxuICAgIHtcbiAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLm1hdGNoRm91bmRTb3VuZCwgZmFsc2UpO1xuICAgIH1cbn0pOyJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/tool/Shake.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, '61affD5SO9Ipo0fGmIeTFTZ', 'Shake'); +// Script/tool/Shake.js + +"use strict"; + +/** + * 自定义抖动效果 + */ +var Shake = cc.Class({ + "extends": cc.Component, + properties: { + //抖动时间 + duration: 0, + //X轴抖动范围 + shakeX: 0, + shakeY: 0 + }, + shake: function shake(callback) { + if (this.shaking) { + return; + } + + this.callback = callback; + this.shaking = true; + this.dtCost = 0; + this.nodeInitialPos = this.node.getPosition(); + this.unschedule(this.doSchedule); + this.schedule(this.doSchedule, 0, cc.macro.REPEAT_FOREVER, 0); + }, + doSchedule: function doSchedule(dt) { + var dt2 = dt * 50; + var randX = this.getRandomStrength(-this.shakeX, this.shakeX) * dt2; + var randY = this.getRandomStrength(-this.shakeY, this.shakeY) * dt2; + this.node.setPosition(cc.pAdd(this.nodeInitialPos, cc.v2(randX, randY))); + this.dtCost += dt; + + if (this.dtCost >= this.duration) { + this.unschedule(this.doSchedule); + this.node.setPosition(this.nodeInitialPos); + this.shaking = false; + + if (this.callback) { + this.callback(); + } + } + }, + //获取两个数间的随机值 + getRandomStrength: function getRandomStrength(min, max) { + return Math.random() * (max - min + 1) + min; + } +}); + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxTaGFrZS5qcyJdLCJuYW1lcyI6WyJTaGFrZSIsImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwiZHVyYXRpb24iLCJzaGFrZVgiLCJzaGFrZVkiLCJzaGFrZSIsImNhbGxiYWNrIiwic2hha2luZyIsImR0Q29zdCIsIm5vZGVJbml0aWFsUG9zIiwibm9kZSIsImdldFBvc2l0aW9uIiwidW5zY2hlZHVsZSIsImRvU2NoZWR1bGUiLCJzY2hlZHVsZSIsIm1hY3JvIiwiUkVQRUFUX0ZPUkVWRVIiLCJkdCIsImR0MiIsInJhbmRYIiwiZ2V0UmFuZG9tU3RyZW5ndGgiLCJyYW5kWSIsInNldFBvc2l0aW9uIiwicEFkZCIsInYyIiwibWluIiwibWF4IiwiTWF0aCIsInJhbmRvbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxLQUFLLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ2pCLGFBQVNELEVBQUUsQ0FBQ0UsU0FESztBQUdqQkMsRUFBQUEsVUFBVSxFQUFFO0FBQ1I7QUFDQUMsSUFBQUEsUUFBUSxFQUFFLENBRkY7QUFHUjtBQUNBQyxJQUFBQSxNQUFNLEVBQUUsQ0FKQTtBQUtSQyxJQUFBQSxNQUFNLEVBQUU7QUFMQSxHQUhLO0FBV2pCQyxFQUFBQSxLQUFLLEVBQUUsZUFBVUMsUUFBVixFQUFvQjtBQUN2QixRQUFHLEtBQUtDLE9BQVIsRUFBZ0I7QUFDWjtBQUNIOztBQUNELFNBQUtELFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlLElBQWY7QUFDQSxTQUFLQyxNQUFMLEdBQWMsQ0FBZDtBQUNBLFNBQUtDLGNBQUwsR0FBc0IsS0FBS0MsSUFBTCxDQUFVQyxXQUFWLEVBQXRCO0FBQ0EsU0FBS0MsVUFBTCxDQUFnQixLQUFLQyxVQUFyQjtBQUNBLFNBQUtDLFFBQUwsQ0FBYyxLQUFLRCxVQUFuQixFQUErQixDQUEvQixFQUFrQ2YsRUFBRSxDQUFDaUIsS0FBSCxDQUFTQyxjQUEzQyxFQUEyRCxDQUEzRDtBQUNILEdBckJnQjtBQXNCakJILEVBQUFBLFVBQVUsRUFBRSxvQkFBVUksRUFBVixFQUFjO0FBQ3RCLFFBQUlDLEdBQUcsR0FBR0QsRUFBRSxHQUFHLEVBQWY7QUFDQSxRQUFJRSxLQUFLLEdBQUcsS0FBS0MsaUJBQUwsQ0FBdUIsQ0FBQyxLQUFLakIsTUFBN0IsRUFBcUMsS0FBS0EsTUFBMUMsSUFBb0RlLEdBQWhFO0FBQ0EsUUFBSUcsS0FBSyxHQUFHLEtBQUtELGlCQUFMLENBQXVCLENBQUMsS0FBS2hCLE1BQTdCLEVBQXFDLEtBQUtBLE1BQTFDLElBQW9EYyxHQUFoRTtBQUNBLFNBQUtSLElBQUwsQ0FBVVksV0FBVixDQUFzQnhCLEVBQUUsQ0FBQ3lCLElBQUgsQ0FBUSxLQUFLZCxjQUFiLEVBQTZCWCxFQUFFLENBQUMwQixFQUFILENBQU1MLEtBQU4sRUFBYUUsS0FBYixDQUE3QixDQUF0QjtBQUNBLFNBQUtiLE1BQUwsSUFBZVMsRUFBZjs7QUFDQSxRQUFJLEtBQUtULE1BQUwsSUFBZSxLQUFLTixRQUF4QixFQUFrQztBQUM5QixXQUFLVSxVQUFMLENBQWdCLEtBQUtDLFVBQXJCO0FBQ0EsV0FBS0gsSUFBTCxDQUFVWSxXQUFWLENBQXNCLEtBQUtiLGNBQTNCO0FBQ0EsV0FBS0YsT0FBTCxHQUFlLEtBQWY7O0FBQ0EsVUFBRyxLQUFLRCxRQUFSLEVBQWlCO0FBQ2IsYUFBS0EsUUFBTDtBQUNIO0FBQ0o7QUFDSixHQXBDZ0I7QUFxQ2pCO0FBQ0FjLEVBQUFBLGlCQUFpQixFQUFFLDJCQUFVSyxHQUFWLEVBQWVDLEdBQWYsRUFBb0I7QUFDbkMsV0FBT0MsSUFBSSxDQUFDQyxNQUFMLE1BQWlCRixHQUFHLEdBQUdELEdBQU4sR0FBWSxDQUE3QixJQUFrQ0EsR0FBekM7QUFDSDtBQXhDZ0IsQ0FBVCxDQUFaIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICog6Ieq5a6a5LmJ5oqW5Yqo5pWI5p6cXHJcbiAqL1xyXG52YXIgU2hha2UgPSBjYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiBjYy5Db21wb25lbnQsXHJcblxyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIC8v5oqW5Yqo5pe26Ze0XHJcbiAgICAgICAgZHVyYXRpb246IDAsXHJcbiAgICAgICAgLy9Y6L205oqW5Yqo6IyD5Zu0XHJcbiAgICAgICAgc2hha2VYOiAwLFxyXG4gICAgICAgIHNoYWtlWTogMCxcclxuICAgIH0sXHJcblxyXG4gICAgc2hha2U6IGZ1bmN0aW9uIChjYWxsYmFjaykge1xyXG4gICAgICAgIGlmKHRoaXMuc2hha2luZyl7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jYWxsYmFjayA9IGNhbGxiYWNrO1xyXG4gICAgICAgIHRoaXMuc2hha2luZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kdENvc3QgPSAwO1xyXG4gICAgICAgIHRoaXMubm9kZUluaXRpYWxQb3MgPSB0aGlzLm5vZGUuZ2V0UG9zaXRpb24oKTtcclxuICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy5kb1NjaGVkdWxlKTtcclxuICAgICAgICB0aGlzLnNjaGVkdWxlKHRoaXMuZG9TY2hlZHVsZSwgMCwgY2MubWFjcm8uUkVQRUFUX0ZPUkVWRVIsIDApO1xyXG4gICAgfSxcclxuICAgIGRvU2NoZWR1bGU6IGZ1bmN0aW9uIChkdCkge1xyXG4gICAgICAgIHZhciBkdDIgPSBkdCAqIDUwO1xyXG4gICAgICAgIHZhciByYW5kWCA9IHRoaXMuZ2V0UmFuZG9tU3RyZW5ndGgoLXRoaXMuc2hha2VYLCB0aGlzLnNoYWtlWCkgKiBkdDI7XHJcbiAgICAgICAgdmFyIHJhbmRZID0gdGhpcy5nZXRSYW5kb21TdHJlbmd0aCgtdGhpcy5zaGFrZVksIHRoaXMuc2hha2VZKSAqIGR0MjtcclxuICAgICAgICB0aGlzLm5vZGUuc2V0UG9zaXRpb24oY2MucEFkZCh0aGlzLm5vZGVJbml0aWFsUG9zLCBjYy52MihyYW5kWCwgcmFuZFkpKSk7XHJcbiAgICAgICAgdGhpcy5kdENvc3QgKz0gZHQ7XHJcbiAgICAgICAgaWYgKHRoaXMuZHRDb3N0ID49IHRoaXMuZHVyYXRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMuZG9TY2hlZHVsZSk7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5zZXRQb3NpdGlvbih0aGlzLm5vZGVJbml0aWFsUG9zKTtcclxuICAgICAgICAgICAgdGhpcy5zaGFraW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY2FsbGJhY2spe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYWxsYmFjaygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5Lik5Liq5pWw6Ze055qE6ZqP5py65YC8XHJcbiAgICBnZXRSYW5kb21TdHJlbmd0aDogZnVuY3Rpb24gKG1pbiwgbWF4KSB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkgKyBtaW47XHJcbiAgICB9LFxyXG59KTtcclxuIl19 //------QC-SOURCE-SPLIT------ (function() { @@ -6650,7 +5786,7 @@ cc._RF.pop(); (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/RankManager.js'; + var __filename = 'preview-scripts/assets/Script/GameManager.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -6658,8 +5794,8 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'e74a999IDFOabyymZgXQIiy', 'RankManager'); -// Script/RankManager.ts +cc._RF.push(module, 'b0432BA295DjIOcuitdGKO1', 'GameManager'); +// Script/GameManager.ts "use strict"; var __extends = (this && this.__extends) || (function () { @@ -6682,185 +5818,1074 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); -var GameData_1 = require("./GameData"); -var List_1 = require("./ListView/List"); -var serverAPI_1 = require("./crypto/serverAPI"); +// 主游戏控制类 var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -//排行榜 -var RankManager = /** @class */ (function (_super) { - __extends(RankManager, _super); - function RankManager() { +var GameData_1 = require("./GameData"); +var Notification_1 = require("./Notification"); +var serverAPI_1 = require("./crypto/serverAPI"); +var GameManager = /** @class */ (function (_super) { + __extends(GameManager, _super); + function GameManager() { var _this = _super !== null && _super.apply(this, arguments) || this; - _this.Player = null; - _this.selfNode = null; - _this.phone = null; + _this.ball = null; + _this.qiu1 = null; + _this.qiu2 = null; + _this.qiu3 = null; + _this.linePrefab = null; + _this.hit = null; + _this.bg1 = null; + _this.bg2 = null; + _this.time = null; + _this.begin = false; + _this.fuhuo = false; + _this.over = false; + _this.show = false; + _this.levelLabel = null; return _this; } - RankManager.prototype.onLoad = function () { + GameManager.prototype.onLoad = function () { }; + GameManager.prototype.start = function () { + this.fit(); this.init(); }; //初始化数据 - RankManager.prototype.init = function () { - this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); - this.Player.getChildByName("rank").active = false; - this.listData = []; - this.selfData = null; - this.rankNumber = 100; - this.rankTotal = 100; - this.selfNode.opacity = 0; + GameManager.prototype.init = function () { + this.node.getChildByName("GameOver").zIndex = 100; + this.node.getChildByName("GameOver").active = false; + this.ball.zIndex = 100; + this.bg1 = this.node.getChildByName("bg1"); + this.bg2 = this.node.getChildByName("bg2"); + this.time = this.node.getChildByName("Top").getChildByName("time").getComponent(cc.Label); + this.node.getChildByName("showBtn").active = false; + this.begin = false; + this.over = false; + this.fuhuo = true; + this.pause = true; + this.show = false; + this.round = 0; + this.level = 2; + this.countTime = 60; + if (GameData_1.default._instance.GM_INFO.custom != 0) { + this.level = GameData_1.default._instance.GM_INFO.custom; + // this.levelLabel.string = this.level + ""; + GameData_1.default._instance.GM_INFO.custom += 1; + this.countTime = 12000000; + } + // this.levelLabel.string = this.level + ""; + this.timeCount = 0.1; + this.clickNow = 0; + this.clickCount = 0; + this.timeStart = 0; + this.repeat = -1; + this.numberRepeat = -1; + this.route_Array = []; + this.moveArray = []; + this.now_Array = []; + this.ball_Array = []; + this.Pos_Array = []; + this.time_Array = []; + this.color_Array = []; + GameData_1.default._instance.GAME_DATA = []; + GameData_1.default._instance.GM_INFO.success = false; + this.startTime = 0; + this.overTime = 0; + this.winTime = 0; + GameData_1.default._instance.GM_INFO.total = 0; + GameData_1.default._instance.GM_INFO.mean_Time = 0; + this.schedule(this.updateCountDownTime, 1); + this.startGame(); }; - RankManager.prototype.start = function () { - this.Player.active = false; - this.getRank(); - }; - //调用获取排行榜接口 - RankManager.prototype.getRank = function () { - var postData = { - "page": 1, - "pageSize": 100 - }; - //回调进getRankData - serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); - }; - //实际设置排行数据 - RankManager.prototype.getRankData = function (data) { - if (data) { - console.log(data); - this.listData = data.data.list; - this.selfData = data.data.info; - var rankData = []; - var self = false; - for (var i = 0; i <= this.listData.length - 1; i++) { - rankData.push({ rank: (i + 1), name: this.listData[i].nickName, total: this.listData[i].totalSunCount, pic: this.listData[i].pic }); - if (GameData_1.default._instance.GM_INFO.userId == this.listData[i].userId) { - self = true; - this.rankNumber = i; - this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = (i + 1) + ""; - } - if (i == (this.listData.length - 1) && self == false) { - this.rankNumber = i; - this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = "99+"; - } - } - this.rankList.setData(rankData); - if (this.selfData.nickName.length > 6) { - this.selfData.nickName = this.selfData.nickName.substring(0, 6) + "..."; - } - this.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = this.selfData.nickName; - this.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = this.selfData.totalSunCount; - this.setPic(this.selfData.pic); - if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "1") { - this.selfNode.getChildByName("rank").getChildByName("one").active = true; - } - else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "2") { - this.selfNode.getChildByName("rank").getChildByName("two").active = true; - } - else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "3") { - this.selfNode.getChildByName("rank").getChildByName("three").active = true; - } - else { - // this.selfNode.getChildByName("four").active = true; - } - this.selfNode.opacity = 255; - if (this.selfData.totalSunCount == 0) - this.selfNode.opacity = 0; + //根据是否全面屏,做独立适配方面 + GameManager.prototype.fit = function () { + this.fitTop = 450; //600 + this.fitBot = -600; //-700 + var jg = this.setFit(); + if (!jg) { + this.fitTop = 600; + this.fitBot = -700; } }; - //返回按钮 - RankManager.prototype.backClick = function () { + //判断全面屏 + GameManager.prototype.getSetScreenResolutionFlag = function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }; + //判断全面屏适配 + GameManager.prototype.setFit = function () { + var flag = this.getSetScreenResolutionFlag(); + if (flag) { + } + else { + } + return flag; + }; + //返回首页 + GameManager.prototype.backScene = function () { cc.director.loadScene("LoadScene"); }; - //最上方用户动画 - RankManager.prototype.playerAction = function () { + //下一关,或者重新开始,或者返回上一关,根据level决定 + GameManager.prototype.reStart = function (type) { + // if(GameData._instance.GM_INFO.custom != 0){ + // cc.director.loadScene("LoadScene"); + // return; + // } + this.node.getChildByName("showBtn").active = false; + this.destroyLine(); + this.timeCount = 0.1; + this.clickNow = 0; + this.timeStart = 0; + this.repeat = -1; + this.numberRepeat = -1; + this.begin = false; + this.route_Array = []; + this.now_Array = []; + this.ball_Array = []; + this.Pos_Array = []; + this.moveArray = []; + this.time_Array = []; + this.color_Array = []; + if (type == 0) { + this.bgMove(1); + } + else if (type == 1) { + this.startGame(); + } + else if (type == 2) { + this.bgMove(-1); + } + }; + //获取时间戳 + GameManager.prototype.getTime = function () { + var timestamp = new Date().getTime(); + return timestamp; + }; + //获胜 + GameManager.prototype.passLevel = function () { var _this = this; - //-254 377 210 453 - this.Player.getChildByName("rank").active = false; - var time = 1; - this.tween = cc.tween(this.Player) - .to(2, { position: cc.v3(210, 453, 0) }) - .call(function () { - _this.Player.getChildByName("rank").active = true; - _this.Player.getChildByName("rank").getChildByName("number") - .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; - }) + this.destroyLine(); + if (this.over == false && this.countTime >= 0) { + var timeArray_1 = []; + var timeCount = 0; + var ball_1 = this.ball_Array[0]; + for (var i = 1; i < this.ball_Array.length; i++) { + var time = this.calculateDistance(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y, 2); + timeArray_1.push(time); + } + var _loop_1 = function (k) { + setTimeout(function () { + cc.tween(ball_1) + .to(timeArray_1[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + setTimeout(function () { + _this.ball.opacity = 255; + _this.ball.position = cc.v3(ball_1.x, ball_1.y, 0); + ball_1.active = false; + _this.clearSun(); + _this.reStart(0); + }, 200); + } + }) + .start(); + }, timeCount * 1000); + timeCount += (timeArray_1[k - 1] + 0.1); + }; + for (var k = 1; k < this.ball_Array.length; k++) { + _loop_1(k); + } + } + }; + //失败 + GameManager.prototype.loseLevel = function (type) { + var _this = this; + this.destroyLine(); + if (this.over == false && this.countTime >= 0) { + var ball_2 = this.ball_Array[0]; + var _loop_2 = function (k) { + cc.tween(this_1.ball_Array[k]) + .to(2, { x: ball_2.x, y: ball_2.y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + _this.ball.opacity = 255; + _this.ball.position = cc.v3(ball_2.x, ball_2.y, 0); + _this.clearSun(); + _this.reStart(type); + } + }) + .start(); + }; + var this_1 = this; + for (var k = 1; k < this.ball_Array.length; k++) { + _loop_2(k); + } + } + }; + //清理太阳 + GameManager.prototype.clearSun = function () { + for (var k = 0; k < this.ball_Array.length; k++) { + this.ball_Array[k].removeFromParent(); + this.ball_Array[k] = null; + } + }; + //点击太阳执行方法 + GameManager.prototype.clickSun = function (data) { + var _this = this; + if (this.begin == true) { + this.clickCount += 1; + var clickTime = this.getTime(); + this.time_Array.push((clickTime - this.timeStart)); + this.timeStart = this.getTime(); + if (data == this.clickNow) { + GameData_1.default._instance.AudioManager.playAudioButton(); + if (this.clickNow > 0) { + this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); + } + this.clickNow += 1; + if (this.ball_Array[this.clickNow - 1]) + this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; + if (this.clickNow == this.now_Array.length) { + this.pause = true; + GameData_1.default._instance.GM_INFO.total += this.clickNow; + this.overTime = this.getTime(); + if (this.startTime > 0 && this.overTime > 0) { + GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); + } + var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); + this.startTime = 0; + this.overTime = 0; + var color = "y"; + if (this.level < 4 && this.level > 1) + color = "yr"; + else if (this.level >= 4) + color = "yrb"; + var win_1 = this.node.getChildByName("Win"); + win_1.active = true; + win_1.setScale(0); + GameData_1.default._instance.AudioManager.playWin(); + this.round += 1; + var sunArray = []; + if (this.moveArray.length > 0) { + for (var m = 0; m < this.moveArray.length; m++) { + if (m == this.repeat || m == this.numberRepeat) { + this.moveArray[m] = 2; + } + sunArray.push(this.moveArray[m]); + } + } + else { + for (var m = 0; m < this.ball_Array.length; m++) { + if (m == this.repeat || m == this.numberRepeat) { + sunArray.push(2); + } + else + sunArray.push(0); + } + } + GameData_1.default._instance.CLICK_DATA = + { + type: 1, + success: true, + round: this.round, + totalSunCount: this.now_Array.length, + movedSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveNumber, + sunSpeed: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveSpeed, + overlapSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].repeat, + colorList: this.color_Array, + duration: finish_time / 10, + difficultyLevel: this.level, + sunList: sunArray, + stepTimeList: this.time_Array, + remainder: this.countTime + }; + this.setData(); + cc.tween(win_1) + .delay(0.4) + .to(0.01, { scale: 2.5 }) + .to(0.35, { scale: 1 }) + .delay(0.4) + .call(function () { + win_1.active = false; + _this.destroyLine(); + if (_this.over == false && _this.countTime >= 0) { + if (_this.level >= 15) { + GameData_1.default._instance.GM_INFO.success = true; + _this.level += 0; + // this.levelLabel.string = this.level + ""; + _this.fuhuo = true; + _this.passLevel(); + } + else { + _this.level += 1; + // this.levelLabel.string = this.level + ""; + _this.fuhuo = true; + _this.passLevel(); + } + } + }) + .start(); + } + } + else { + this.setLoss(); + } + } + }; + //执行失败 + GameManager.prototype.setLoss = function () { + GameData_1.default._instance.AudioManager.playWarning(); + this.begin = false; + this.overTime = this.getTime(); + if (this.startTime > 0 && this.overTime > 0) { + GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); + } + var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); + this.startTime = 0; + this.overTime = 0; + var color = "y"; + if (this.level < 4 && this.level > 1) + color = "yr"; + else if (this.level >= 4) + color = "yrb"; + this.round += 1; + var sunArray = []; + if (this.moveArray.length > 0) { + for (var m = 0; m < this.moveArray.length; m++) { + if (m == this.repeat || m == this.numberRepeat) { + this.moveArray[m] = 2; + } + sunArray.push(this.moveArray[m]); + } + } + else { + for (var m = 0; m < this.ball_Array.length; m++) { + if (m == this.repeat || m == this.numberRepeat) { + sunArray.push(2); + } + else + sunArray.push(0); + } + } + GameData_1.default._instance.CLICK_DATA = + { + type: 1, + success: false, + round: this.round, + totalSunCount: this.now_Array.length, + movedSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveNumber, + sunSpeed: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveSpeed, + overlapSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].repeat, + colorList: this.color_Array, + duration: finish_time / 10, + difficultyLevel: this.level, + sunList: sunArray, + stepTimeList: this.time_Array, + remainder: this.countTime + }; + this.setData(); + if (this.fuhuo == true) { + this.fuhuo = false; + this.loseLevel(1); + } + else { + if (this.level > 2) { + this.level -= 1; + // this.levelLabel.string = this.level + ""; + this.fuhuo = true; + // this.fuhuo = false; + this.loseLevel(2); + } + else { + this.loseLevel(1); + } + } + var over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.25, { opacity: 255 }) + .delay(0.1) + .to(0.2, { opacity: 0 }) + .delay(0.1) + .to(0.15, { opacity: 255 }) + .delay(0.1) + .to(0.1, { opacity: 0 }) .start(); - time = (this.listData.length - this.rankNumber) / this.listData.length; - if (this.listData.length >= 99) { - if (this.rankNumber >= 99) { - time = (Math.random() * 49 + 1) / 100; - var matchId = cc.sys.localStorage.getItem("matchNumber"); - if (matchId == null || matchId == undefined) { - time = 0; + }; + //开始游戏 + GameManager.prototype.startGame = function () { + if (this.over == false && this.countTime > 0) { + this.pause = true; + this.createSun(); + this.begin = false; + cc.tween(this.ball) + .to(0.5, { opacity: 255, scale: 1.3 }) + .start(); + } + }; + //执行太阳运行动画,以及后面移动动画 + GameManager.prototype.runGame = function () { + var _this = this; + var time = -650; + var _loop_3 = function (i) { + time = this_2.now_Array[i].time * 1000 + time; + setTimeout(function () { + if (_this.over == false) { + var temp = _this.now_Array[i].timeCount; + if (temp > 0.5) + temp = 0.5; + if (i != 0) { + if (_this.ball && _this.now_Array[i]) { + _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.now_Array[i].x, _this.now_Array[i].y), _this.now_Array[i].time - temp); + } + } + cc.tween(_this.ball) + .to(_this.now_Array[i].time - temp, { x: _this.now_Array[i].x, y: _this.now_Array[i].y }) + .to(0.1, { scale: 1 }) + .call(function () { + _this.createBall(i, _this.now_Array[i].color, _this.now_Array[i].speed, _this.now_Array[i].repeat); + if (i == _this.now_Array.length - 1) { + _this.ball.opacity = 0; + setTimeout(function () { + _this.destroyLine(); + _this.beginGame(); + if (GameData_1.default._instance.LEVEL_INFO[_this.level - 1].moveNumber < 1) { + _this.pause = false; + } + else { + _this.moveAction(); + } + }, 150); + } + }) + .start(); + } + }, time); + }; + var this_2 = this; + for (var i = 0; i < this.now_Array.length; i++) { + _loop_3(i); + } + }; + //设置移动重叠数据 + GameManager.prototype.createMove = function () { + var _this = this; + if (this.over == false) { + var info = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; + //改变移动速度 + var speed = 7; + if (info.moveSpeed >= 2) { + speed = 7 - info.moveSpeed / 2; + } + if (info.repeat == 1) { + this.repeat = parseInt((Math.random() * (info.number - 1) + 1) + ""); + var tempNumber = 0; + // this.repeat = 4; + if (this.repeat > 4) { + this.numberRepeat = parseInt(Math.random() * 4 + ""); + if (this.repeat == (info.number - 1)) //如果是最后一个 不能跟第一个重叠 + this.numberRepeat = this.repeat - parseInt((Math.random() * 3 + 2) + ""); + tempNumber = this.Pos_Array[this.numberRepeat]; + this.Pos_Array[this.repeat] = tempNumber; + } + else { // 0 1 2 3 4 5 + // 6 - 3 - 1 = 2 4 01 4 + if (this.repeat == 0) + this.repeat = 1; + if ((info.number - 1 - this.repeat) == 2) { + this.numberRepeat = info.number - 1; + tempNumber = this.Pos_Array[this.numberRepeat]; + } + else if ((info.number - 1 - this.repeat) == 1) { + this.numberRepeat = this.repeat - 2; + tempNumber = this.Pos_Array[this.numberRepeat]; + } + else if ((info.number - 1 - this.repeat) == 0) { + this.numberRepeat = this.repeat - 2; + tempNumber = this.Pos_Array[this.numberRepeat]; + } + else if ((info.number - 1 - this.repeat) > 2) { + this.numberRepeat = parseInt(Math.random() * (info.number - this.repeat - 2) + "") + this.repeat + 2; + tempNumber = this.Pos_Array[this.numberRepeat]; + } + else { + this.numberRepeat = this.repeat - 2; + tempNumber = this.Pos_Array[this.numberRepeat]; + } + this.Pos_Array[this.repeat] = tempNumber; + } + } + if (info.moveNumber > 0) { + //0 1 2 3 4 5 6 7 8 9 + //可移动区分 + var pos_1 = cc.v2(0, 0); + for (var z = 0; z < info.number; z++) { + this.moveArray[z] = 0; + } + for (var p = 0; p < info.moveNumber; p++) { + this.moveArray[info.number - 1 - p] = 1; + } + var timeOut = 0; + //打乱可移动顺序 + this.moveArray.sort(function () { return Math.random() - 0.5; }); + if (this.moveArray[0] == 1) { + for (var r = info.number - 1; r >= 0; r--) { + if (this.moveArray[r] == 0) { + this.moveArray[r] = 1; + this.moveArray[0] = 0; + r = -1; + } + } + } + //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 + for (var k = 0; k < this.moveArray.length; k++) { + if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { + for (var m = this.moveArray.length - 1; m >= 0; m--) { + if (m != k && this.moveArray[m] == 0 && m != this.repeat && m != this.numberRepeat) { + this.moveArray[m] = 1; + this.moveArray[k] = 0; + m = -1; + } + } + } + } + var _loop_4 = function (i) { + if (this_3.moveArray[i] == 1) { + timeOut += 1; + setTimeout(function () { + pos_1 = _this.getPos2(true, i); + _this.Pos_Array[i] = pos_1; + }, timeOut * 300); + } + }; + var this_3 = this; + for (var i = 0; i < this.Pos_Array.length; i++) { + _loop_4(i); } } } - setTimeout(function () { - if (_this.tween) - _this.tween.stop(); - _this.Player.getChildByName("rank").active = true; - _this.Player.getChildByName("rank").getChildByName("number") - .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; - }, time * 2000); }; - //设置头像 - RankManager.prototype.setPic = function (pic) { + //移动后数据 重新刷一遍赋值 + GameManager.prototype.updateArray = function () { + for (var i = 0; i < this.now_Array.length - 1; i++) { + this.now_Array[i].x = this.Pos_Array[i].x; + this.now_Array[i].y = this.Pos_Array[i].y; + } + }; + //太阳初始化后移动方法 + GameManager.prototype.moveAction = function () { var _this = this; - this.phone.node.parent.getChildByName("icon").active = false; - this.phone.node.active = false; - this.Player.active = true; - this.Player.opacity = 0; - this.Player.getChildByName("mask").getChildByName("icon").active = false; - this.Player.getChildByName("mask").getChildByName("phone").active = false; - fetch(pic) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - if (errNo == "5093") { - _this.phone.node.parent.getChildByName("icon").active = true; - _this.Player.getChildByName("mask").getChildByName("icon").active = true; + this.updateArray(); + var moveArray = this.moveArray; + var info = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; + //改变移动速度 + var speed = 7; + if (info.moveSpeed >= 2) { + speed = 7 - info.moveSpeed / 2; + } + if (info.moveNumber > 0) { + //0 1 2 3 4 5 6 7 8 9 + //可移动区分 + //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 + for (var k = 0; k < this.moveArray.length; k++) { + if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { + for (var m = this.moveArray.length - 1; m >= 0; m--) { + if (m != k && this.moveArray[m] == 0 && m != this.repeat && m != this.numberRepeat) { + this.moveArray[m] = 1; + this.moveArray[k] = 0; + m = -1; + } + } + } } - }) - .catch(function (error) { - console.error('Error fetching X-Info:', error); - }); - var self = this; - cc.assetManager.loadRemote(pic, { ext: '.jpg' }, function (err, texture) { - self.Player.opacity = 255; - if (texture) { - self.phone.node.active = true; - self.phone.spriteFrame = new cc.SpriteFrame(texture); - self.Player.getChildByName("mask").getChildByName("icon").active = false; - self.Player.getChildByName("mask").getChildByName("phone").active = true; - self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) - .spriteFrame = new cc.SpriteFrame(texture); - setTimeout(function () { - self.playerAction(); - }, 500); + var lastNumber = 0; + //锁定最后一个可移动的 + for (var j = 0; j < moveArray.length; j++) { + if (moveArray[j] == 1) { + lastNumber = j; + } + } + var _loop_5 = function (i) { + if (moveArray[i] == 1) { + if (i != lastNumber) { //如果不是最后一个移动的 + var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); + this_4.ball_Array[i].getComponent("Sun").move = true; + cc.tween(this_4.ball_Array[i]) + .to(time, { position: this_4.Pos_Array[i] }) + .call(function () { + _this.ball_Array[i].getComponent("Sun").move = false; + }) + .start(); + } + //如果是最后一个 + else { + var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); + this_4.ball_Array[i].getComponent("Sun").move = true; + cc.tween(this_4.ball_Array[i]) + .to(time, { position: this_4.Pos_Array[i] }) + .call(function () { + _this.ball_Array[i].getComponent("Sun").move = false; + }) + .start(); + } + } + }; + var this_4 = this; + for (var i = 0; i < this.ball_Array.length; i++) { + _loop_5(i); + } + } + }; + //每次重新开始新一轮儿游戏 + GameManager.prototype.beginGame = function () { + this.begin = true; + this.startTime = this.getTime(); + this.timeStart = this.getTime(); + this.pause = false; + // this.node.getChildByName("showBtn").active = true; + }; + //暂时作废 + // getRandomArray(lastNumber){ + // let num = parseInt(Math.random()*8 - 4 + ""); + // let jg = num + lastNumber; + // if(num > 1 || num <-1){ + // if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){ + // jg = this.getRandomArray(lastNumber); + // } + // } + // else{ + // jg = this.getRandomArray(lastNumber); + // } + // return jg; + // } + //创建太阳所需数据 + GameManager.prototype.createSun = function () { + var _this = this; + var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; + var tiemOut = 0; + var _loop_6 = function (l) { + tiemOut += 1; + setTimeout(function () { + if (_this.over == false) { + var pos = _this.getPos(false, l); + _this.Pos_Array.push(pos); + if (_this.Pos_Array.length == levelData.number) { + _this.createMove(); + _this.createPos(); + } + } + }, tiemOut * 100); + }; + for (var l = 0; l < levelData.number; l++) { + _loop_6(l); + } + }; + //创建太阳位置,颜色信息等数据 + GameManager.prototype.createPos = function () { + var data = { x: this.ball.x, y: this.ball.y, time: 0, timeCount: 0, color: 0, speed: 0, repeat: false }; + var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; + //颜色区分 + var colorArray = [0, 1]; + for (var j = 0; j < levelData.number - 2; j++) { + var colorTemp = parseInt(Math.random() * 3 + ""); + if (levelData.number < 6 && colorTemp == 2) + colorTemp = 0; + colorArray.push(colorTemp); + colorArray.sort(function () { return Math.random() - 0.5; }); + } + colorArray.sort(function () { return Math.random() - 0.5; }); + if (levelData.number == 4) + colorArray = [0, 0, 0, 0]; + this.color_Array = colorArray; + //存储太阳数据 + for (var i = 0; i < levelData.number; i++) { + var timeCount = this.timeCount + (0.6 - this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1)); + var time = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1) + timeCount; + data = { x: this.Pos_Array[i].x, y: this.Pos_Array[i].y, time: time, timeCount: timeCount, color: colorArray[i], speed: levelData.moveSpeed, repeat: false }; + if (this.repeat == i) { + data.repeat = true; + } + else if (this.numberRepeat == i) { + data.repeat = true; + } + this.now_Array.push(data); + } + this.runGame(); + }; + //获取,N个太阳位置的方法,和POS2分开两个方法,防止递归溢出 + GameManager.prototype.getPos = function (type, num) { + var posX = Math.random() * 620 - 310; + var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; + var point = cc.v2(posX, posY); + if (this.Pos_Array.length > 0) { + for (var i = 0; i < this.Pos_Array.length; i++) { + var distance = false; + var pd = false; + if (i == num) + pd = true; + distance = this.getDistance(posX, posY, this.Pos_Array[i].x, this.Pos_Array[i].y, pd); + if (distance == false) { + i = 10000; + point = this.getPos(type, num); + } + if (distance == true && i == (this.Pos_Array.length - 1)) { + i = 10000; + } + } + } + return point; + }; + //获取,N个太阳可移动位置的方法,和POS分开算防止递归溢出 + GameManager.prototype.getPos2 = function (type, num) { + var posX = Math.random() * 620 - 310; + var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; + var point = cc.v2(posX, posY); + if (this.Pos_Array.length > 0) { + for (var i = 0; i < this.Pos_Array.length; i++) { + var distance = false; + var pd = false; + if (i == num) + pd = true; + distance = this.getDistance2(posX, posY, this.Pos_Array[i].x, this.Pos_Array[i].y, pd); + if (distance == false) { + i = 10000; + point = this.getPos2(type, num); + } + if (distance == true && i == (this.Pos_Array.length - 1)) { + i = 10000; + } + } + } + return point; + }; + //获取两点之间距离,返回判断是否在一定范围内 将来提出到工具类 + GameManager.prototype.getDistance = function (x1, y1, x2, y2, num) { + var jg = false; + var dx = x2 - x1; + var dy = y2 - y1; + var distance = Math.sqrt(dx * dx + dy * dy); + if (distance > 160) { + if (num == true) { + if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxMove) { + jg = true; + } + else + jg = false; } else { - self.Player.getChildByName("mask").getChildByName("icon").active = true; - setTimeout(function () { - self.playerAction(); - }, 500); + if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxMove) { + jg = true; + } + else + jg = false; } - }); + } + return jg; + }; + //命中动画 + GameManager.prototype.hitAction = function (data) { + var _this = this; + this.hit.active = true; + this.hit.opacity = 0; + this.hit.setPosition; + this.hit.setPosition(this.ball_Array[data].x + 35, this.ball_Array[data].y + 35); + cc.tween(this.hit) + .to(0, { opacity: 255 }) + .to(0.2, { position: cc.v3(this.hit.x - 35, this.hit.y - 35, 0) }) + .delay(0.2) + .to(0.1, { opacity: 0 }) + .call(function () { + _this.hit.active = false; + }) + .start(); + }; + //创造太阳 + GameManager.prototype.createBall = function (number, color, speed, repeat) { + var ball = null; + if (color == 0) + ball = cc.instantiate(this.qiu1); + else if (color == 1) + ball = cc.instantiate(this.qiu2); + else if (color == 2) + ball = cc.instantiate(this.qiu3); + ball.parent = this.node.getChildByName("Sun"); + ball.zIndex = this.now_Array.length - number; + ball.setPosition(this.ball.x, this.ball.y); + ball.getComponent("Sun").init(number, color, speed, repeat); + this.ball_Array.push(ball); + }; + //销毁连线 + GameManager.prototype.destroyLine = function () { + for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { + if (this.node.getChildByName("Line").children[i]) { + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + }; + //创建连线 + GameManager.prototype.createLine = function (start, end, time) { + var line = cc.instantiate(this.linePrefab); + line.parent = this.node.getChildByName("Line"); + line.setPosition(start.x, start.y); + var dx = end.x - start.x; + var dy = end.y - start.y; + var distance = Math.sqrt(dx * dx + dy * dy); + line.height = distance; + line.getComponent(cc.Sprite).fillRange = 0; + line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); + cc.tween(line.getComponent(cc.Sprite)) + .to(time, { fillRange: 1 }) + .start(); + }; + //获取两点之间的角度,将来都可放工具类 + GameManager.prototype.calculateAngle = function (x1, y1, x2, y2) { + var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; + return -angle; + }; + //获取两点之间的距离 返回对应时间 + GameManager.prototype.calculateDistance = function (x1, y1, x2, y2, num) { + var dx = x2 - x1; + var dy = y2 - y1; + var time = 0; + var distance = Math.sqrt(dx * dx + dy * dy); + if (num == 1) { + if (distance > 800) + distance = 800; + time = distance / 800 * 0.6; + } + else if (num == 2) { + if (distance > 1200) + distance = 1200; + time = distance / 1200 * 1; + } + else if (num == 3) { + if (distance > 1200) + distance = 1200; + time = distance / 1200 * 1.5; + } + return time; + }; + //获取两点之间距离 返回距离判断 + GameManager.prototype.getDistance2 = function (x1, y1, x2, y2, num) { + var jg = false; + var dx = x2 - x1; + var dy = y2 - y1; + var distance = Math.sqrt(dx * dx + dy * dy); + if (distance > 160) { + if (num == true) { + if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxDistance) + jg = true; + else + jg = false; + } + else { + jg = true; + } + } + return jg; + }; + //背景移动 + GameManager.prototype.bgMove = function (type) { + var _this = this; + var random = Math.random() * 300 + 300; + var posX = Math.random() * 600 - 300; + var y1 = this.bg1.y - random * type; + var time1 = 0.7 * (random / 400); + cc.tween(this.ball) + .to(0.3, { scale: 1.3 }) + .to(time1, { x: posX }) + .start(); + cc.tween(this.bg1) + .delay(0.3) + .to(time1, { y: y1 }) + .start(); + setTimeout(function () { + if (_this.over == false) + _this.startGame(); + }, time1 * 1500); + }; + //时间格式转换 + GameManager.prototype.getTimeMargin = function (second) { + var total = 0; + total = second; + var hour = 0; + hour = parseInt((total / 3600) + ""); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + var min = parseInt((afterHour / 60) + ""); //计算整数分 + var m = "" + min; + if (min < 10) + m = "0" + min; + var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + var miao = afterMin + ""; + if (afterMin < 10) + miao = "0" + afterMin; + return m + ':' + miao; + }; + //如果是倒计时 调用此方法 + GameManager.prototype.updateCountDownTime = function () { + if (this.countTime > 0 && this.pause == false) { + this.countTime -= 1; + this.time.string = this.getTimeMargin(this.countTime); + if (this.countTime < 5) { + cc.tween(this.time.node) + .to(0.25, { scale: 1.5, color: cc.color(255, 0, 0) }) + .to(0.25, { scale: 1, color: cc.color(255, 255, 255) }) + .start(); + var over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.2, { opacity: 255 }) + .delay(0.1) + .to(0.2, { opacity: 0 }) + .start(); + } + if (this.countTime <= 0) { + this.begin = false; + this.over = true; + this.unschedule(this.updateCountDownTime); + this.setLoss(); + var time = 0; + if (this.clickCount > 0) + time = parseInt(GameData_1.default._instance.GM_INFO.mean_Time / this.clickCount + ""); + GameData_1.default._instance.GM_INFO.mean_Time = parseInt(time / 100 + ""); + GameData_1.default._instance.GM_INFO.mean_Time = GameData_1.default._instance.GM_INFO.mean_Time / 10; + if (time > 10000) + time = (Math.random() * 10 + 5) * 100; + this.setRank(time); + } + } + }; + //上传每次操作数据 + GameManager.prototype.setData = function () { + GameData_1.default._instance.GAME_DATA = []; + GameData_1.default._instance.GAME_DATA.push(GameData_1.default._instance.CLICK_DATA); + GameData_1.default._instance.CLICK_init(); + var data = GameData_1.default._instance.GAME_DATA; + var matchId = this.getMatchId(); + console.log(matchId); + var postData = { + "matchId": matchId, + "data": data + }; + console.log("上传数据:"); + serverAPI_1.default.uploadUserLogData(postData, function () { }); + }; + //获取matchId 用于上传每次点击数据里面记录id方便查询 + GameManager.prototype.getMatchId = function () { + var matchId = cc.sys.localStorage.getItem("matchId"); + if (matchId == "undifend" || matchId == null) { + matchId = this.setMatchId(); + } + else { + if (this.containsNanana(matchId) == true) { + matchId = this.setMatchId(); + } + else { + var char = parseInt(matchId[10]); + if (this.round == 1) { + char += 1; + } + matchId = matchId.slice(0, 10) + char + ""; + GameData_1.default._instance.GM_INFO.matchId = matchId; + cc.sys.localStorage.setItem("matchId", matchId); + } + } + return matchId; + }; + //检测matchId 如果有缓存以前的nanana数据清除 + GameManager.prototype.containsNanana = function (str) { + return /na/i.test(str); + }; + //重新设置MatchId + GameManager.prototype.setMatchId = function () { + // 定义包含可用字符的字符集 + var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; + // 创建一个数组以保存随机字符 + var uuidArray = []; + // 循环10次 生成10位的UUID + for (var i = 0; i < 10; i++) { + // 生成随机索引,范围是字符集的长度 + var randomIndex = Math.floor(Math.random() * characters.length); + // 从字符集中获取随机字符 + var randomChar = characters.charAt(randomIndex); + // 将字符添加到数组中 + uuidArray.push(randomChar); + } + var data = uuidArray.join('') + 1 + ""; + cc.sys.localStorage.setItem("matchNumber", 1); + cc.sys.localStorage.setItem("matchId", data); + GameData_1.default._instance.GM_INFO.matchId = data; + return data; + }; + //上传排行榜数据 + GameManager.prototype.setRank = function (time) { + var postData = { + "type": 1, + "reactionTime": time, + "totalSunCount": GameData_1.default._instance.GM_INFO.total, + "success": GameData_1.default._instance.GM_INFO.success + }; + serverAPI_1.default.rankData(1, function () { }, postData); + this.node.getChildByName("GameOver").active = true; + this.node.getChildByName("GameOver").opacity = 0; + cc.tween(this.node.getChildByName("GameOver")) + .to(0.4, { opacity: 255 }) + .delay(2) + .to(0.4, { opacity: 50 }) + .call(function () { + cc.director.loadScene("OverScene"); + }) + .start(); + }; + //作弊,测试用 + GameManager.prototype.showNumber = function () { + if (this.show == false) + this.show = true; + else if (this.show == true) + this.show = false; + for (var i = 0; i < this.ball_Array.length; i++) { + this.ball_Array[i].getComponent("Sun").showNumber(this.show); + } + }; + GameManager.prototype.onEnable = function () { + Notification_1.Notification.on("clickSun", this.clickSun, this); + }; + GameManager.prototype.onDisable = function () { + Notification_1.Notification.off("clickSun", this.clickSun); + }; + GameManager.prototype.update = function (dt) { }; __decorate([ - property(cc.Node) //用户上方头像 - ], RankManager.prototype, "Player", void 0); + property(cc.Node) + ], GameManager.prototype, "ball", void 0); __decorate([ - property(cc.Node) //用户最下方个人信息 - ], RankManager.prototype, "selfNode", void 0); + property(cc.Prefab) + ], GameManager.prototype, "qiu1", void 0); __decorate([ - property(cc.Sprite) //用户头像换图 - ], RankManager.prototype, "phone", void 0); - RankManager = __decorate([ + property(cc.Prefab) + ], GameManager.prototype, "qiu2", void 0); + __decorate([ + property(cc.Prefab) + ], GameManager.prototype, "qiu3", void 0); + __decorate([ + property(cc.Prefab) + ], GameManager.prototype, "linePrefab", void 0); + __decorate([ + property(cc.Node) + ], GameManager.prototype, "hit", void 0); + __decorate([ + property(cc.Label) + ], GameManager.prototype, "levelLabel", void 0); + GameManager = __decorate([ ccclass - ], RankManager); - return RankManager; + ], GameManager); + return GameManager; }(cc.Component)); -exports.default = RankManager; +exports.default = GameManager; cc._RF.pop(); } @@ -6873,13 +6898,13 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxSYW5rTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBa0M7QUFDbEMsd0NBQW1DO0FBQ25DLGdEQUEwQztBQUNwQyxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUM1QyxLQUFLO0FBRUw7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUFvS0M7UUFsS0csWUFBTSxHQUFZLElBQUksQ0FBQztRQUV2QixjQUFRLEdBQVksSUFBSSxDQUFDO1FBRXpCLFdBQUssR0FBYyxJQUFJLENBQUM7O0lBOEo1QixDQUFDO0lBdEpHLDRCQUFNLEdBQU47UUFDSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU87SUFDUCwwQkFBSSxHQUFKO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQUksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRSxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxP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LENBQUMsQ0FBVSxRQUFROytDQUNiO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBVSxXQUFXO2lEQUNkO0lBRXpCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBUSxRQUFROzhDQUNaO0lBTlAsV0FBVztRQUQvQixPQUFPO09BQ2EsV0FBVyxDQW9LL0I7SUFBRCxrQkFBQztDQXBLRCxBQW9LQyxDQXBLd0MsRUFBRSxDQUFDLFNBQVMsR0FvS3BEO2tCQXBLb0IsV0FBVyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi9HYW1lRGF0YVwiO1xyXG5pbXBvcnQgTGlzdCBmcm9tIFwiLi9MaXN0Vmlldy9MaXN0XCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi9jcnlwdG8vc2VydmVyQVBJXCI7XHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8v5o6S6KGM5qacXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmtNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+S4iuaWueWktOWDj1xyXG4gICAgUGxheWVyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+acgOS4i+aWueS4quS6uuS/oeaBr1xyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSkgICAgICAgIC8v55So5oi35aS05YOP5o2i5Zu+XHJcbiAgICBwaG9uZTogY2MuU3ByaXRlID0gbnVsbDtcclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAvL+aOkuihjOamnFxyXG4gICAgdHdlZW46IGNjLlR3ZWVuPGNjLk5vZGU+OyAgIC8v5pyA5LiK5pa555So5oi35aS05YOP5Yqo55S7XHJcbiAgICBsaXN0RGF0YTogYW55OyAgICAgICAgICAgICAgLy/mgLvliJfooajkv6Hmga9cclxuICAgIHNlbGZEYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+iHquW3seS/oeaBr1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyOyAgICAgICAgIC8v55So5oi36Ieq5bex5o6S5ZCNIOacieWPr+iDveS4jeWcqOaOkuihjOamnOWGhTk5K1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7ICAgICAgICAgIC8v6I635Y+W5o6S6KGM5qac55So5oi35pWw6YePIOeOsOWcqOS4ujEwMFxyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5yYW5rTGlzdCA9IGNjLmZpbmQoXCJTY3JvbGxWaWV3XCIsIHRoaXMubm9kZSkuZ2V0Q29tcG9uZW50KExpc3QpO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gMTAwO1xyXG4gICAgICAgIHRoaXMucmFua1RvdGFsPSAxMDA7XHJcbiAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCgpIHtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdldFJhbmsoKTtcclxuICAgIH1cclxuICAgIC8v6LCD55So6I635Y+W5o6S6KGM5qac5o6l5Y+jXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcInBhZ2VcIjoxLFxyXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6MTAwXHJcbiAgICAgICAgfTsgXHJcbiAgICAgICAgLy/lm57osIPov5tnZXRSYW5rRGF0YVxyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDIsdGhpcy5nZXRSYW5rRGF0YS5iaW5kKHRoaXMpLHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIC8v5a6e6ZmF6K6+572u5o6S6KGM5pWw5o2uXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICAgICAgdGhpcy5zZWxmRGF0YSA9IGRhdGEuZGF0YS5pbmZvO1xyXG4gICAgICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICAgICAgbGV0IHNlbGYgPSBmYWxzZTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7aTw9dGhpcy5saXN0RGF0YS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0aGlzLmxpc3REYXRhW2ldLm5pY2tOYW1lLCB0b3RhbDp0aGlzLmxpc3REYXRhW2ldLnRvdGFsU3VuQ291bnQsIHBpYzp0aGlzLmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID09IHRoaXMubGlzdERhdGFbaV0udXNlcklkKXtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJhbmtOdW1iZXIgPSBpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSAodGhpcy5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gaTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFwiOTkrXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmFua0xpc3Quc2V0RGF0YShyYW5rRGF0YSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc2VsZkRhdGEubmlja05hbWUubGVuZ3RoID4gNil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lPSB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lLnN1YnN0cmluZygwLDYpICsgXCIuLi5cIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5zZWxmRGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5zZWxmRGF0YS50b3RhbFN1bkNvdW50O1xyXG4gICAgICAgICAgICB0aGlzLnNldFBpYyh0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID09IFwiMVwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwib25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9PSBcIjJcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPT0gXCIzXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwiZm91clwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgaWYodGhpcy5zZWxmRGF0YS50b3RhbFN1bkNvdW50ID09IDApIHRoaXMuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57mjInpkq5cclxuICAgIGJhY2tDbGljaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5pyA5LiK5pa555So5oi35Yqo55S7XHJcbiAgICBwbGF5ZXJBY3Rpb24oKXtcclxuICAgICAgICAvLy0yNTQgMzc3ICAyMTAgNDUzXHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB0aW1lID0gMTtcclxuICAgICAgICB0aGlzLnR3ZWVuID0gY2MudHdlZW4odGhpcy5QbGF5ZXIpXHJcbiAgICAgICAgLnRvKDIse3Bvc2l0aW9uOmNjLnYzKDIxMCw0NTMsMCl9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB0aW1lID0gKHRoaXMubGlzdERhdGEubGVuZ3RoIC0gdGhpcy5yYW5rTnVtYmVyKS90aGlzLmxpc3REYXRhLmxlbmd0aDtcclxuICAgICAgICBpZih0aGlzLmxpc3REYXRhLmxlbmd0aCA+PSA5OSl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmFua051bWJlciA+PSA5OSl7XHJcbiAgICAgICAgICAgICAgICB0aW1lID0gKE1hdGgucmFuZG9tKCkqNDkrMSkvMTAwXHJcbiAgICAgICAgICAgICAgICB2YXIgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoTnVtYmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYobWF0Y2hJZCA9PSBudWxsIHx8IG1hdGNoSWQgPT0gdW5kZWZpbmVkKXtcclxuICAgICAgICAgICAgICAgICAgICB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgaWYodGhpcy50d2Vlbil0aGlzLnR3ZWVuLnN0b3AoKTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKVxyXG4gICAgICAgICAgICAuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSAgcGFyc2VJbnQodGltZSoxMDAgKyBcIlwiKSArIFwiJVwiO1xyXG4gICAgICAgIH0sIHRpbWUqMjAwMCk7XHJcblxyXG4gICAgfVxyXG4gICAgLy/orr7nva7lpLTlg49cclxuICAgIHB1YmxpYyBzZXRQaWMocGljKXtcclxuICAgICAgICB0aGlzLnBob25lLm5vZGUucGFyZW50LmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBob25lLm5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLlBsYXllci5vcGFjaXR5ID0gMDtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGZldGNoKHBpYylcclxuICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1MZW5ndGgnKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUocGljLCB7ZXh0OicuanBnJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgc2VsZi5QbGF5ZXIub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnBob25lLm5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNlbGYucGhvbmUuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwicGhvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpXHJcbiAgICAgICAgICAgICAgICAuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmLnBsYXllckFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbn1cclxuIl19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTO0FBQ0gsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFDMUMsdUNBQWtDO0FBQ2xDLCtDQUE4QztBQUM5QyxnREFBMEM7QUFFMUM7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUFrL0JDO1FBaC9CRyxVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFjLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDO1FBRTdCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFDcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUNwQixTQUFHLEdBQVksSUFBSSxDQUFDO1FBQ3BCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFDdEIsV0FBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixXQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSSxHQUFZLEtBQUssQ0FBQztRQW9CdEIsZ0JBQVUsR0FBYSxJQUFJLENBQUM7O0lBMjhCaEMsQ0FBQztJQXA4QkcsNEJBQU0sR0FBTixjQUFXLENBQUM7SUFDWiwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMs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QVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzZDQUNHO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7bURBQ1M7SUFFN0I7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDRTtJQTJCcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzttREFDUztJQXZDWCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBay9CL0I7SUFBRCxrQkFBQztDQWwvQkQsQUFrL0JDLENBbC9Cd0MsRUFBRSxDQUFDLFNBQVMsR0FrL0JwRDtrQkFsL0JvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8g5Li75ri45oiP5o6n5Yi257G7XHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5pbXBvcnQgR2FtZURhdGEgZnJvbSAnLi9HYW1lRGF0YSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vTm90aWZpY2F0aW9uJztcclxuaW1wb3J0IEh0dHBVdGlsIGZyb20gJy4vY3J5cHRvL3NlcnZlckFQSSc7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgYmFsbDogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcWl1MTogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBxaXUyOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTM6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgaGl0OiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGJnMTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBiZzI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgYmVnaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZ1aHVvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBvdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBjb3VudFRpbWU6bnVtYmVyO1xyXG4gICAgdGltZUNvdW50Om51bWJlcjtcclxuICAgIGZpdFRvcDpudW1iZXI7XHJcbiAgICBmaXRCb3Q6bnVtYmVyO1xyXG4gICAgbGV2ZWw6bnVtYmVyO1xyXG4gICAgY2xpY2tOb3c6bnVtYmVyO1xyXG4gICAgc3RhcnRUaW1lOm51bWJlcjtcclxuICAgIG92ZXJUaW1lOm51bWJlcjtcclxuICAgIHdpblRpbWU6bnVtYmVyO1xyXG4gICAgY2xpY2tDb3VudDpudW1iZXI7XHJcbiAgICB0aW1lU3RhcnQ6bnVtYmVyO1xyXG4gICAgcm91dGVfQXJyYXk6IGFueVtdO1xyXG4gICAgbm93X0FycmF5OiBhbnlbXTtcclxuICAgIGJhbGxfQXJyYXk6IGFueVtdO1xyXG4gICAgTGluZV9BcnJheTogYW55W107XHJcbiAgICBQb3NfQXJyYXk6IGFueVtdO1xyXG4gICAgdGltZV9BcnJheTogYW55W107XHJcbiAgICBjb2xvcl9BcnJheTogYW55W107XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBsZXZlbExhYmVsOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBzdGF0aWMgX2luc3RhbmNlOiBhbnk7XHJcbiAgICBtb3ZlQXJyYXk6IG51bWJlcltdO1xyXG4gICAgcmVwZWF0OiBudW1iZXI7XHJcbiAgICBudW1iZXJSZXBlYXQ6IG51bWJlcjtcclxuICAgIHJvdW5kOiBudW1iZXI7XHJcbiAgICBwYXVzZTogYm9vbGVhbjtcclxuICAgIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuZml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLnpJbmRleCA9IDEwMDtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJhbGwuekluZGV4ID0gMTAwO1xyXG4gICAgICAgIHRoaXMuYmcxID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcxXCIpO1xyXG4gICAgICAgIHRoaXMuYmcyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcyXCIpO1xyXG4gICAgICAgIHRoaXMudGltZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcInRpbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaG93QnRuXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBhdXNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJvdW5kID0gMDsgXHJcbiAgICAgICAgdGhpcy5sZXZlbCA9IDI7XHJcbiAgICAgICAgdGhpcy5jb3VudFRpbWUgPSA2MDtcclxuICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gIT0gMCl7XHJcbiAgICAgICAgICAgIHRoaXMubGV2ZWwgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b207XHJcbiAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lID0gMTIwMDAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICB0aGlzLnRpbWVDb3VudCA9IDAuMTtcclxuICAgICAgICB0aGlzLmNsaWNrTm93ID0gMDtcclxuICAgICAgICB0aGlzLmNsaWNrQ291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5yb3V0ZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubW92ZUFycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5ub3dfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLlBvc19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGltZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29sb3JfQXJyYXkgPSBbXTtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR0FNRV9EQVRBID0gW107XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uc3VjY2VzcyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gMDtcclxuICAgICAgICB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICB0aGlzLndpblRpbWUgPSAwO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsID0gMDtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lLDEpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRHYW1lKCk7XHJcbiAgICB9XHJcbiAgICAvL+agueaNruaYr+WQpuWFqOmdouWxj++8jOWBmueLrOeri+mAgumFjeaWuemdolxyXG4gICAgZml0KCl7XHJcbiAgICAgICAgdGhpcy5maXRUb3AgPSA0NTA7ICAvLzYwMFxyXG4gICAgICAgIHRoaXMuZml0Qm90ID0gLTYwMDsgLy8tNzAwXHJcbiAgICAgICAgdmFyIGpnID0gdGhpcy5zZXRGaXQoKTtcclxuICAgICAgICBpZighamcpe1xyXG4gICAgICAgICAgICB0aGlzLmZpdFRvcCA9IDYwMDtcclxuICAgICAgICAgICAgdGhpcy5maXRCb3QgPSAtNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5Yik5pat5YWo6Z2i5bGPXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZyAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdCAoKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSB0aGlzLmdldFNldFNjcmVlblJlc29sdXRpb25GbGFnKCk7XHJcbiAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH1cclxuICAgIC8v6L+U5Zue6aaW6aG1XHJcbiAgICBiYWNrU2NlbmUoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+S4i+S4gOWFs++8jOaIluiAhemHjeaWsOW8gOWni++8jOaIluiAhei/lOWbnuS4iuS4gOWFs++8jOagueaNrmxldmVs5Yaz5a6aXHJcbiAgICByZVN0YXJ0KHR5cGUpe1xyXG4gICAgICAgIC8vIGlmKEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSAhPSAwKXtcclxuICAgICAgICAvLyAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNob3dCdG5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIHRoaXMudGltZUNvdW50ID0gMC4xO1xyXG4gICAgICAgIHRoaXMuY2xpY2tOb3cgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucm91dGVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm5vd19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuUG9zX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tb3ZlQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnRpbWVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gW107XHJcbiAgICAgICAgaWYodHlwZSA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5iZ01vdmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IDIpe1xyXG4gICAgICAgICAgICB0aGlzLmJnTW92ZSgtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9XHJcbiAgICAvL+iOt+iDnFxyXG4gICAgcGFzc0xldmVsKCl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSAmJiB0aGlzLmNvdW50VGltZSA+PSAwKXtcclxuICAgICAgICAgICAgbGV0IHRpbWVBcnJheSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgdGltZUNvdW50ID0gMDtcclxuICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0xOyBpPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSwyKTtcclxuICAgICAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAudG8odGltZUFycmF5W2stMV0se3g6dGhpcy5iYWxsX0FycmF5W2tdLngseTp0aGlzLmJhbGxfQXJyYXlba10ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoayA9PSB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWxsLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTdW4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RhcnQoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgIHRpbWVDb3VudCArPSAodGltZUFycmF5W2stMV0rMC4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5aSx6LSlXHJcbiAgICBsb3NlTGV2ZWwodHlwZSl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSAmJiB0aGlzLmNvdW50VGltZSA+PSAwKXtcclxuICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2tdKVxyXG4gICAgICAgICAgICAgICAgLnRvKDIse3g6YmFsbC54LHk6YmFsbC55fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBpZihrID09IHRoaXMuYmFsbF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwucG9zaXRpb24gPSBjYy52MyhiYWxsLngsYmFsbC55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyU3VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVTdGFydCh0eXBlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5riF55CG5aSq6ZizXHJcbiAgICBjbGVhclN1bigpe1xyXG4gICAgICAgIGZvcihsZXQgaz0wOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10ucmVtb3ZlRnJvbVBhcmVudCgpO1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmNsaWNrQ291bnQgKz0gMTtcclxuICAgICAgICAgICAgbGV0IGNsaWNrVGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnRpbWVfQXJyYXkucHVzaCgoY2xpY2tUaW1lIC0gdGhpcy50aW1lU3RhcnQpKVxyXG4gICAgICAgICAgICB0aGlzLnRpbWVTdGFydCA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBpZihkYXRhID09IHRoaXMuY2xpY2tOb3cpe1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkF1ZGlvTWFuYWdlci5wbGF5QXVkaW9CdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS55KSxcclxuICAgICAgICAgICAgICAgICAgICBjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgMC4yKTsgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb3cgKz0gMTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdLmdldENoaWxkQnlOYW1lKFwiZ3VhbmdcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID09IHRoaXMubm93X0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwgKz0gdGhpcy5jbGlja05vdztcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJUaW1lID0gdGhpcy5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5zdGFydFRpbWUgPiAwICYmIHRoaXMub3ZlclRpbWUgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lICs9ICh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwOyB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3IgPSBcInlcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsIDwgNCAmJiB0aGlzLmxldmVsID4gMSljb2xvciA9IFwieXJcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMubGV2ZWwgPj0gNCkgY29sb3IgPSBcInlyYlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB3aW4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luLmFjdGl2ZSA9IHRydWU7IHdpbi5zZXRTY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQXVkaW9NYW5hZ2VyLnBsYXlXaW4oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdW5kICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHN1bkFycmF5ID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLm1vdmVBcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbbV0gPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCh0aGlzLm1vdmVBcnJheVttXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5DTElDS19EQVRBID0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6dHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kOnRoaXMucm91bmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFN1bkNvdW50OnRoaXMubm93X0FycmF5Lmxlbmd0aCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVkU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuU3BlZWQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlU3BlZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5yZXBlYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvckxpc3Q6dGhpcy5jb2xvcl9BcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOmZpbmlzaF90aW1lLzEwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOnRoaXMubGV2ZWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5MaXN0OnN1bkFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcFRpbWVMaXN0OnRoaXMudGltZV9BcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmRlcjp0aGlzLmNvdW50VGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4od2luKVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMDEse3NjYWxlOjIuNX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMzUse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID49IDE1KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxldmVsICs9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnVodW8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc0xldmVsKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmxldmVsTGFiZWwuc3RyaW5nID0gdGhpcy5sZXZlbCArIFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzTGV2ZWwoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9zcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/miafooYzlpLHotKVcclxuICAgIHNldExvc3MoKXtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQXVkaW9NYW5hZ2VyLnBsYXlXYXJuaW5nKCk7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub3ZlclRpbWUgPSB0aGlzLmdldFRpbWUoKTtcclxuICAgICAgICBpZih0aGlzLnN0YXJ0VGltZSA+IDAgJiYgdGhpcy5vdmVyVGltZSA+IDApe1xyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgKz0gKHRoaXMub3ZlclRpbWUgLSB0aGlzLnN0YXJ0VGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBmaW5pc2hfdGltZSA9IHBhcnNlSW50KCh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpLzEwMCtcIlwiKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IDA7IHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIGxldCBjb2xvciA9IFwieVwiO1xyXG4gICAgICAgIGlmKHRoaXMubGV2ZWwgPCA0ICYmIHRoaXMubGV2ZWwgPiAxKWNvbG9yID0gXCJ5clwiO1xyXG4gICAgICAgIGVsc2UgaWYodGhpcy5sZXZlbCA+PSA0KSBjb2xvciA9IFwieXJiXCI7XHJcbiAgICAgICAgdGhpcy5yb3VuZCArPSAxO1xyXG4gICAgICAgIGxldCBzdW5BcnJheSA9IFtdO1xyXG4gICAgICAgIGlmKHRoaXMubW92ZUFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IG09MCA7IG08dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2godGhpcy5tb3ZlQXJyYXlbbV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLmJhbGxfQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQ0xJQ0tfREFUQSA9IFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZToxLFxyXG4gICAgICAgICAgICBzdWNjZXNzOmZhbHNlLFxyXG4gICAgICAgICAgICByb3VuZDp0aGlzLnJvdW5kLFxyXG4gICAgICAgICAgICB0b3RhbFN1bkNvdW50OnRoaXMubm93X0FycmF5Lmxlbmd0aCxcclxuICAgICAgICAgICAgbW92ZWRTdW5Db3VudDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVOdW1iZXIsXHJcbiAgICAgICAgICAgIHN1blNwZWVkOkdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZVNwZWVkLFxyXG4gICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5yZXBlYXQsXHJcbiAgICAgICAgICAgIGNvbG9yTGlzdDp0aGlzLmNvbG9yX0FycmF5LFxyXG4gICAgICAgICAgICBkdXJhdGlvbjpmaW5pc2hfdGltZS8xMCxcclxuICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOnRoaXMubGV2ZWwsXHJcbiAgICAgICAgICAgIHN1bkxpc3Q6c3VuQXJyYXksXHJcbiAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDp0aGlzLnRpbWVfQXJyYXksXHJcbiAgICAgICAgICAgIHJlbWFpbmRlcjp0aGlzLmNvdW50VGltZVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldERhdGEoKTtcclxuICAgICAgICBpZih0aGlzLmZ1aHVvID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKDEpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5sZXZlbCA+IDIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZXZlbCAtPSAxO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb3NlTGV2ZWwoMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgIGNjLnR3ZWVuKG92ZXIpXHJcbiAgICAgICAgLnRvKDAuMjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4xNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5byA5aeL5ri45oiPXHJcbiAgICBzdGFydEdhbWUoKXtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPiAwKXtcclxuICAgICAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3VuKCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsKVxyXG4gICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjI1NSxzY2FsZToxLjN9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+aJp+ihjOWkqumYs+i/kOihjOWKqOeUu++8jOS7peWPiuWQjumdouenu+WKqOWKqOeUu1xyXG4gICAgcnVuR2FtZSgpe1xyXG4gICAgICAgIGxldCB0aW1lID0gLTY1MDtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIHRpbWUgPSB0aGlzLm5vd19BcnJheVtpXS50aW1lKjEwMDAgKyB0aW1lO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRlbXAgPSB0aGlzLm5vd19BcnJheVtpXS50aW1lQ291bnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGVtcCA+IDAuNSkgdGVtcCA9IDAuNTtcclxuICAgICAgICAgICAgICAgICAgICBpZihpICE9IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGwgJiYgdGhpcy5ub3dfQXJyYXlbaV0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVMaW5lKGNjLnYyKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KSxjYy52Mih0aGlzLm5vd19BcnJheVtpXS54LHRoaXMubm93X0FycmF5W2ldLnkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0udGltZS10ZW1wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGwpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKHRoaXMubm93X0FycmF5W2ldLnRpbWUtdGVtcCx7eDp0aGlzLm5vd19BcnJheVtpXS54LHk6dGhpcy5ub3dfQXJyYXlbaV0ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMSx7c2NhbGU6MX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKGksdGhpcy5ub3dfQXJyYXlbaV0uY29sb3IsdGhpcy5ub3dfQXJyYXlbaV0uc3BlZWQsdGhpcy5ub3dfQXJyYXlbaV0ucmVwZWF0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSB0aGlzLm5vd19BcnJheS5sZW5ndGggLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmVnaW5HYW1lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyPDEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdXNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTUwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgdGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/orr7nva7np7vliqjph43lj6DmlbDmja5cclxuICAgIGNyZWF0ZU1vdmUoKXtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICBsZXQgaW5mbyA9IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgICAgIC8v5pS55Y+Y56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgIHZhciBzcGVlZCA9IDc7XHJcbiAgICAgICAgICAgIGlmKGluZm8ubW92ZVNwZWVkID49IDIpe1xyXG4gICAgICAgICAgICAgICAgc3BlZWQgPSA3IC0gaW5mby5tb3ZlU3BlZWQvMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihpbmZvLnJlcGVhdCA9PSAxKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVwZWF0ICA9IHBhcnNlSW50KChNYXRoLnJhbmRvbSgpKihpbmZvLm51bWJlci0xKSsxKSArIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRlbXBOdW1iZXIgPSAwO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5yZXBlYXQgPSA0O1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5yZXBlYXQgID4gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSBwYXJzZUludChNYXRoLnJhbmRvbSgpKjQgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnJlcGVhdCAgPT0gKGluZm8ubnVtYmVyLTEpKSAgLy/lpoLmnpzmmK/mnIDlkI7kuIDkuKog5LiN6IO96Lef56ys5LiA5Liq6YeN5Y+gXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSB0aGlzLnJlcGVhdCAgLSBwYXJzZUludCggKE1hdGgucmFuZG9tKCkqMyArIDIpKyBcIlwiKVxyXG4gICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W3RoaXMucmVwZWF0IF0gPSB0ZW1wTnVtYmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXsgLy8gMCAxIDIgMyA0IDUgXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gNiAtIDMgLSAxICA9IDIgNCAgMDEgNFxyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ICA9PSAwKSB0aGlzLnJlcGVhdCAgPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPT0gMil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gaW5mby5udW1iZXIgLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZigoaW5mby5udW1iZXItMS10aGlzLnJlcGVhdCApID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gdGhpcy5yZXBlYXQgLSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoKGluZm8ubnVtYmVyLTEtdGhpcy5yZXBlYXQgKSA+IDIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHBhcnNlSW50KE1hdGgucmFuZG9tKCkqKGluZm8ubnVtYmVyLXRoaXMucmVwZWF0IC0yKSArIFwiXCIpICsgdGhpcy5yZXBlYXQgICsgMiA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W3RoaXMucmVwZWF0XSA9IHRlbXBOdW1iZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaW5mby5tb3ZlTnVtYmVyID4gMCl7XHJcbiAgICAgICAgICAgICAgICAvLzAgMSAyIDMgNCA1IDYgNyA4IDlcclxuICAgICAgICAgICAgICAgIC8v5Y+v56e75Yqo5Yy65YiGXHJcbiAgICAgICAgICAgICAgICBsZXQgcG9zID0gY2MudjIoMCwwKTtcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgej0wOyB6PGluZm8ubnVtYmVyOyB6Kyspe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W3pdID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgcD0wOyBwPGluZm8ubW92ZU51bWJlcjsgcCsrKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtpbmZvLm51bWJlci0xLXBdID0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCB0aW1lT3V0ID0gMDtcclxuICAgICAgICAgICAgICAgIC8v5omT5Lmx5Y+v56e75Yqo6aG65bqPXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXlbMF0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCByPWluZm8ubnVtYmVyLTE7IHI+PTA7IHItLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W3JdID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbcl0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbMF0gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy/lsIbph43lj6DnmoTorr7nva7kuLrkuI3lj6/np7vliqggIDEgMSAxIDEgMCAwIDEgMCAwIDAgICAvIDIgN1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBrID0wOyBrPHRoaXMubW92ZUFycmF5Lmxlbmd0aDtrKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W2tdPT0xICYmIChrID09IHRoaXMucmVwZWF0IHx8IGsgPT0gdGhpcy5udW1iZXJSZXBlYXQpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtID0gdGhpcy5tb3ZlQXJyYXkubGVuZ3RoLTE7IG0gPj0gMDsgbS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gIT0gayAmJiB0aGlzLm1vdmVBcnJheVttXSA9PSAwICYmIG0hPSB0aGlzLnJlcGVhdCAmJiBtIT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtrXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbSAgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgaSA9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheSBbaV0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVPdXQgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgPSB0aGlzLmdldFBvczIodHJ1ZSxpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W2ldID0gcG9zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB0aW1lT3V0KjMwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v56e75Yqo5ZCO5pWw5o2uIOmHjeaWsOWIt+S4gOmBjei1i+WAvFxyXG4gICAgdXBkYXRlQXJyYXkoKXtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICB0aGlzLm5vd19BcnJheVtpXS54ID0gdGhpcy5Qb3NfQXJyYXlbaV0ueDtcclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0ueSA9IHRoaXMuUG9zX0FycmF5W2ldLnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lpKrpmLPliJ3lp4vljJblkI7np7vliqjmlrnms5VcclxuICAgIG1vdmVBY3Rpb24oKXtcclxuICAgICAgICB0aGlzLnVwZGF0ZUFycmF5KCk7XHJcbiAgICAgICAgbGV0IG1vdmVBcnJheSA9IHRoaXMubW92ZUFycmF5O1xyXG4gICAgICAgIGxldCBpbmZvID0gR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXTtcclxuICAgICAgICAvL+aUueWPmOenu+WKqOmAn+W6plxyXG4gICAgICAgIHZhciBzcGVlZCA9IDc7XHJcbiAgICAgICAgaWYoaW5mby5tb3ZlU3BlZWQgPj0gMil7XHJcbiAgICAgICAgICAgIHNwZWVkID0gNyAtIGluZm8ubW92ZVNwZWVkLzI7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgaWYoaW5mby5tb3ZlTnVtYmVyID4gMCl7XHJcbiAgICAgICAgICAgIC8vMCAxIDIgMyA0IDUgNiA3IDggOVxyXG4gICAgICAgICAgICAvL+WPr+enu+WKqOWMuuWIhlxyXG4gICAgICAgICAgICAvL+WwhumHjeWPoOeahOiuvue9ruS4uuS4jeWPr+enu+WKqCAgMSAxIDEgMSAwIDAgMSAwIDAgMCAgIC8gMiA3XHJcbiAgICAgICAgICAgIGZvcihsZXQgayA9MDsgazx0aGlzLm1vdmVBcnJheS5sZW5ndGg7aysrKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W2tdPT0xICYmIChrID09IHRoaXMucmVwZWF0IHx8IGsgPT0gdGhpcy5udW1iZXJSZXBlYXQpKXtcclxuICAgICAgICAgICAgICAgICAgICBmb3IobGV0IG0gPSB0aGlzLm1vdmVBcnJheS5sZW5ndGgtMTsgbSA+PSAwOyBtLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihtICE9IGsgJiYgdGhpcy5tb3ZlQXJyYXlbbV0gPT0gMCAmJiBtIT0gdGhpcy5yZXBlYXQgJiYgbSE9IHRoaXMubnVtYmVyUmVwZWF0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W2tdID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGxhc3ROdW1iZXIgPSAwO1xyXG4gICAgICAgICAgICAvL+mUgeWumuacgOWQjuS4gOS4quWPr+enu+WKqOeahFxyXG4gICAgICAgICAgICBmb3IobGV0IGogPTA7IGo8bW92ZUFycmF5Lmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgICAgICAgaWYobW92ZUFycmF5W2pdPT0xKXtcclxuICAgICAgICAgICAgICAgICAgICBsYXN0TnVtYmVyID0gajtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3IobGV0IGkgPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYobW92ZUFycmF5W2ldID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgIT0gbGFzdE51bWJlcil7ICAgIC8v5aaC5p6c5LiN5piv5pyA5ZCO5LiA5Liq56e75Yqo55qEXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0aW1lID0gc3BlZWQqdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGxfQXJyYXlbaV0ueCx0aGlzLmJhbGxfQXJyYXlbaV0ueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnksMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtpXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWUse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5W2ldfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8v5aaC5p6c5piv5pyA5ZCO5LiA5LiqXHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRpbWUgPSBzcGVlZCp0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSwzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2ldKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8odGltZSx7cG9zaXRpb246dGhpcy5Qb3NfQXJyYXlbaV19KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5q+P5qyh6YeN5paw5byA5aeL5paw5LiA6L2u5YS/5ri45oiPXHJcbiAgICBiZWdpbkdhbWUoKXtcclxuICAgICAgICB0aGlzLmJlZ2luID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gdGhpcy5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5wYXVzZSA9IGZhbHNlO1xyXG4gICAgICAgIC8vIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNob3dCdG5cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8v5pqC5pe25L2c5bqfXHJcbiAgICAvLyBnZXRSYW5kb21BcnJheShsYXN0TnVtYmVyKXtcclxuICAgIC8vICAgICBsZXQgbnVtID0gIHBhcnNlSW50KE1hdGgucmFuZG9tKCkqOCAtIDQgKyBcIlwiKTtcclxuICAgIC8vICAgICBsZXQgamcgPSBudW0gKyBsYXN0TnVtYmVyO1xyXG4gICAgLy8gICAgIGlmKG51bSA+IDEgfHwgbnVtIDwtMSl7XHJcbiAgICAvLyAgICAgICAgIGlmKCBudW0gPT0gMCB8fCAoIGpnPDAgfHwgamcgPj0gdGhpcy5Qb3NfQXJyYXkubGVuZ3RoKSl7XHJcbiAgICAvLyAgICAgICAgICAgICBqZyA9IHRoaXMuZ2V0UmFuZG9tQXJyYXkobGFzdE51bWJlcik7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgZWxzZXtcclxuICAgIC8vICAgICAgICAgamcgPSB0aGlzLmdldFJhbmRvbUFycmF5KGxhc3ROdW1iZXIpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICByZXR1cm4gamc7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy/liJvlu7rlpKrpmLPmiYDpnIDmlbDmja5cclxuICAgIGNyZWF0ZVN1bigpe1xyXG4gICAgICAgIGxldCBsZXZlbERhdGEgPSBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdO1xyXG4gICAgICAgIGxldCB0aWVtT3V0ID0gMDtcclxuICAgICAgICBmb3IobGV0IGw9MDsgbDxsZXZlbERhdGEubnVtYmVyO2wrKyl7XHJcbiAgICAgICAgICAgIHRpZW1PdXQgKz0gMTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwb3MgPSB0aGlzLmdldFBvcyhmYWxzZSxsKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlBvc19BcnJheS5wdXNoKHBvcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID09IGxldmVsRGF0YS5udW1iZXIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVQb3MoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9LCB0aWVtT3V0KjEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/liJvlu7rlpKrpmLPkvY3nva7vvIzpopzoibLkv6Hmga/nrYnmlbDmja5cclxuICAgIGNyZWF0ZVBvcygpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge3g6dGhpcy5iYWxsLngseTp0aGlzLmJhbGwueSx0aW1lOjAsdGltZUNvdW50OjAsY29sb3I6MCxzcGVlZDowLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgbGV0IGxldmVsRGF0YSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgLy/popzoibLljLrliIZcclxuICAgICAgICBsZXQgY29sb3JBcnJheSA9IFswLDFdO1xyXG4gICAgICAgIGZvcihsZXQgaj0wOyBqPGxldmVsRGF0YS5udW1iZXItMjtqKyspe1xyXG4gICAgICAgICAgICBsZXQgY29sb3JUZW1wID0gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSozK1wiXCIpO1xyXG4gICAgICAgICAgICBpZihsZXZlbERhdGEubnVtYmVyIDwgNiAmJiBjb2xvclRlbXAgPT0gMikgY29sb3JUZW1wID0gMDtcclxuICAgICAgICAgICAgY29sb3JBcnJheS5wdXNoKGNvbG9yVGVtcCk7XHJcbiAgICAgICAgICAgIGNvbG9yQXJyYXkuc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3JBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgIGlmKGxldmVsRGF0YS5udW1iZXIgPT0gNCkgY29sb3JBcnJheSA9IFswLDAsMCwwXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gY29sb3JBcnJheTtcclxuICAgICAgICAvL+WtmOWCqOWkqumYs+aVsOaNrlxyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPGxldmVsRGF0YS5udW1iZXI7aSsrKXtcclxuICAgICAgICAgICAgbGV0IHRpbWVDb3VudCA9IHRoaXMudGltZUNvdW50ICsgKDAuNi10aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSwxKSk7XHJcbiAgICAgICAgICAgIGxldCB0aW1lID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnksMSkrdGltZUNvdW50O1xyXG4gICAgICAgICAgICBkYXRhID0ge3g6dGhpcy5Qb3NfQXJyYXlbaV0ueCx5OnRoaXMuUG9zX0FycmF5W2ldLnksdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnQsY29sb3I6Y29sb3JBcnJheVtpXSxzcGVlZDpsZXZlbERhdGEubW92ZVNwZWVkLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ID09IGkpe1xyXG4gICAgICAgICAgICAgICAgZGF0YS5yZXBlYXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5udW1iZXJSZXBlYXQgPT0gaSl7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnJlcGVhdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ydW5HYW1lKCk7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPlu+8jE7kuKrlpKrpmLPkvY3nva7nmoTmlrnms5XvvIzlkoxQT1My5YiG5byA5Lik5Liq5pa55rOV77yM6Ziy5q2i6YCS5b2S5rqi5Ye6XHJcbiAgICBnZXRQb3ModHlwZSxudW0pe1xyXG4gICAgICAgIGxldCBwb3NYID0gTWF0aC5yYW5kb20oKSo2MjAgLSAzMTA7XHJcbiAgICAgICAgbGV0IHBvc1kgPSBNYXRoLnJhbmRvbSgpKih0aGlzLmZpdFRvcC10aGlzLmZpdEJvdCkgKyB0aGlzLmZpdEJvdDtcclxuICAgICAgICBsZXQgcG9pbnQgPSBjYy52Mihwb3NYLHBvc1kpO1xyXG4gICAgICAgIGlmKHRoaXMuUG9zX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBkaXN0YW5jZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgbGV0IHBkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IG51bSkgcGQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZGlzdGFuY2UgPSB0aGlzLmdldERpc3RhbmNlKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3ModHlwZSxudW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPT0gdHJ1ZSAmJiBpID09ICh0aGlzLlBvc19BcnJheS5sZW5ndGgtMSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb2ludDtcclxuICAgIH1cclxuICAgIC8v6I635Y+W77yMTuS4quWkqumYs+WPr+enu+WKqOS9jee9rueahOaWueazle+8jOWSjFBPU+WIhuW8gOeul+mYsuatoumAkuW9kua6ouWHulxyXG4gICAgZ2V0UG9zMih0eXBlLG51bSl7XHJcbiAgICAgICAgbGV0IHBvc1ggPSBNYXRoLnJhbmRvbSgpKjYyMCAtIDMxMDtcclxuICAgICAgICBsZXQgcG9zWSA9IE1hdGgucmFuZG9tKCkqKHRoaXMuZml0VG9wLXRoaXMuZml0Qm90KSArIHRoaXMuZml0Qm90O1xyXG4gICAgICAgIGxldCBwb2ludCA9IGNjLnYyKHBvc1gscG9zWSk7XHJcbiAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMuUG9zX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IGRpc3RhbmNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBsZXQgcGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gbnVtKSBwZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBkaXN0YW5jZSA9IHRoaXMuZ2V0RGlzdGFuY2UyKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3MyKHR5cGUsbnVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlID09IHRydWUgJiYgaSA9PSAodGhpcy5Qb3NfQXJyYXkubGVuZ3RoLTEpKXtcclxuICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9pbnQ7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOeCueS5i+mXtOi3neemu++8jOi/lOWbnuWIpOaWreaYr+WQpuWcqOS4gOWumuiMg+WbtOWGhSDlsIbmnaXmj5Dlh7rliLDlt6XlhbfnsbtcclxuICAgIGdldERpc3RhbmNlKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heE1vdmUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlIDwgR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tYXhNb3ZlKXtcclxuICAgICAgICAgICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH1cclxuICAgIC8v5ZG95Lit5Yqo55S7XHJcbiAgICBoaXRBY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gdHJ1ZTsgdGhpcy5oaXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5oaXQuc2V0UG9zaXRpb25cclxuICAgICAgICB0aGlzLmhpdC5zZXRQb3NpdGlvbih0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueCszNSx0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueSszNSk7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5oaXQpXHJcbiAgICAgICAgLnRvKDAse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAudG8oMC4yLHtwb3NpdGlvbjpjYy52Myh0aGlzLmhpdC54LTM1LHRoaXMuaGl0LnktMzUsMCl9KVxyXG4gICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5Yib6YCg5aSq6ZizXHJcbiAgICBjcmVhdGVCYWxsKG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpe1xyXG4gICAgICAgIGxldCBiYWxsID0gbnVsbDtcclxuICAgICAgICBpZihjb2xvciA9PSAwKWJhbGwgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLnFpdTEpO1xyXG4gICAgICAgIGVsc2UgaWYoY29sb3IgPT0gMSliYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUyKTtcclxuICAgICAgICBlbHNlIGlmKGNvbG9yID09IDIpYmFsbCA9IGNjLmluc3RhbnRpYXRlKHRoaXMucWl1Myk7XHJcbiAgICAgICAgYmFsbC5wYXJlbnQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJTdW5cIik7XHJcbiAgICAgICAgYmFsbC56SW5kZXggPSB0aGlzLm5vd19BcnJheS5sZW5ndGggLSBudW1iZXI7XHJcbiAgICAgICAgYmFsbC5zZXRQb3NpdGlvbih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSk7XHJcbiAgICAgICAgYmFsbC5nZXRDb21wb25lbnQoXCJTdW5cIikuaW5pdChudW1iZXIsY29sb3Isc3BlZWQscmVwZWF0KTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkucHVzaChiYWxsKTtcclxuICAgIH1cclxuICAgIC8v6ZSA5q+B6L+e57q/XHJcbiAgICBkZXN0cm95TGluZSgpIHtcclxuICAgICAgICBmb3IobGV0IGkgPTA7IGk8IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW4ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICB9XHJcbiAgICAvL+WIm+W7uui/nue6v1xyXG4gICAgY3JlYXRlTGluZShzdGFydCxlbmQsdGltZSl7XHJcbiAgICAgICAgbGV0IGxpbmUgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLmxpbmVQcmVmYWIpO1xyXG4gICAgICAgIGxpbmUucGFyZW50ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKTtcclxuICAgICAgICBsaW5lLnNldFBvc2l0aW9uKHN0YXJ0Lngsc3RhcnQueSk7XHJcbiAgICAgICAgY29uc3QgZHggPSBlbmQueCAtIHN0YXJ0Lng7XHJcbiAgICAgICAgY29uc3QgZHkgPSBlbmQueSAtIHN0YXJ0Lnk7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGxpbmUuaGVpZ2h0ID0gZGlzdGFuY2U7XHJcbiAgICAgICAgbGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgIGxpbmUuYW5nbGUgPSAtdGhpcy5jYWxjdWxhdGVBbmdsZShzdGFydC54LHN0YXJ0LnksZW5kLngsZW5kLnkpO1xyXG4gICAgICAgIGNjLnR3ZWVuKGxpbmUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZToxfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v6I635Y+W5Lik54K55LmL6Ze055qE6KeS5bqm77yM5bCG5p2l6YO95Y+v5pS+5bel5YW357G7XHJcbiAgICBjYWxjdWxhdGVBbmdsZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoeTIteTEseDIteDEpKjE4MCAvIE1hdGguUEkgLSA5MDtcclxuICAgICAgICByZXR1cm4gLWFuZ2xlO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7TnmoTot53nprsg6L+U5Zue5a+55bqU5pe26Ze0XHJcbiAgICBjYWxjdWxhdGVEaXN0YW5jZSh4MSwgeTEsIHgyLCB5MiwgbnVtKSB7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICBsZXQgdGltZSA9IDA7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKG51bSA9PSAxKXtcclxuICAgICAgICAgICAgaWYoZGlzdGFuY2UgPiA4MDApIGRpc3RhbmNlID0gODAwO1xyXG4gICAgICAgICAgICB0aW1lID0gZGlzdGFuY2UvODAwICogMC42O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAyKXtcclxuICAgICAgICAgICAgaWYoZGlzdGFuY2UgPiAxMjAwKSBkaXN0YW5jZSA9IDEyMDA7XHJcbiAgICAgICAgICAgIHRpbWUgPSBkaXN0YW5jZS8xMjAwICogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMyl7XHJcbiAgICAgICAgICAgIGlmKGRpc3RhbmNlID4gMTIwMCkgZGlzdGFuY2UgPSAxMjAwO1xyXG4gICAgICAgICAgICB0aW1lID0gZGlzdGFuY2UvMTIwMCAqIDEuNTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aW1lO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7Tot53nprsgIOi/lOWbnui3neemu+WIpOaWrVxyXG4gICAgZ2V0RGlzdGFuY2UyKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heERpc3RhbmNlKSBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcbiAgICAvL+iDjOaZr+enu+WKqFxyXG4gICAgYmdNb3ZlKHR5cGUpe1xyXG4gICAgICAgIGxldCByYW5kb20gPSBNYXRoLnJhbmRvbSgpKjMwMCArIDMwMDtcclxuICAgICAgICBsZXQgcG9zWCA9IE1hdGgucmFuZG9tKCkqNjAwIC0gMzAwO1xyXG4gICAgICAgIGxldCB5MSA9IHRoaXMuYmcxLnkgLSByYW5kb20qdHlwZTtcclxuICAgICAgICBsZXQgdGltZTEgPSAwLjcqKHJhbmRvbS80MDApO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAudG8oMC4zLHtzY2FsZToxLjN9KVxyXG4gICAgICAgIC50byh0aW1lMSx7eDpwb3NYfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLmJnMSlcclxuICAgICAgICAuZGVsYXkoMC4zKVxyXG4gICAgICAgIC50byh0aW1lMSx7eTp5MX0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSkgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgICAgICB9LCB0aW1lMSoxNTAwKTtcclxuICAgIH1cclxuICAgIC8v5pe26Ze05qC85byP6L2s5o2iXHJcbiAgICBnZXRUaW1lTWFyZ2luKHNlY29uZDpudW1iZXIpIHtcclxuICAgICAgICBsZXQgdG90YWwgPSAwO1xyXG4gICAgICAgIHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gMDtcclxuICAgICAgICBob3VyID0gcGFyc2VJbnQoKHRvdGFsIC8gMzYwMCkgKyBcIlwiKTsvL+iuoeeul+aVtOaVsOWwj+aXtuaVsFxyXG4gICAgICAgIGxldCBhZnRlckhvdXIgPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwOy8v5Y+W5b6X566X5Ye65bCP5pe25pWw5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pbiA9IHBhcnNlSW50KChhZnRlckhvdXIgLyA2MCkrXCJcIik7Ly/orqHnrpfmlbTmlbDliIZcclxuICAgICAgICBsZXQgbSA9IFwiXCIgKyBtaW47ICBcclxuICAgICAgICBpZihtaW4gPCAxMCkgbSA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWlhbyA9IGFmdGVyTWluICsgXCJcIjtcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBtaWFvID0gXCIwXCIgKyBhZnRlck1pbjtcclxuICAgICAgICByZXR1cm4gbSArICc6JyArIG1pYW9cclxuICAgIH1cclxuICAgIC8v5aaC5p6c5piv5YCS6K6h5pe2IOiwg+eUqOatpOaWueazlVxyXG4gICAgdXBkYXRlQ291bnREb3duVGltZSAoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY291bnRUaW1lID4gMCAmJiB0aGlzLnBhdXNlID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSB0aGlzLmdldFRpbWVNYXJnaW4odGhpcy5jb3VudFRpbWUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8IDUpe1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy50aW1lLm5vZGUpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yNSx7c2NhbGU6MS41LGNvbG9yOmNjLmNvbG9yKDI1NSwwLDApfSlcclxuICAgICAgICAgICAgICAgIC50bygwLjI1LHtzY2FsZToxLGNvbG9yOmNjLmNvbG9yKDI1NSwyNTUsMjU1KX0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKVxyXG4gICAgICAgICAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYodGhpcy5jb3VudFRpbWUgPD0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMudXBkYXRlQ291bnREb3duVGltZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvc3MoKTtcclxuICAgICAgICAgICAgICAgIHZhciB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tDb3VudCA+IDApIHRpbWUgPSBwYXJzZUludChHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUvdGhpcy5jbGlja0NvdW50ICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSBwYXJzZUludCh0aW1lLzEwMCArIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lIC8xMDtcclxuICAgICAgICAgICAgICAgIGlmKHRpbWUgPiAxMDAwMCkgdGltZSA9IChNYXRoLnJhbmRvbSgpKjEwKzUpKjEwMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmFuayh0aW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5LiK5Lyg5q+P5qyh5pON5L2c5pWw5o2uXHJcbiAgICBzZXREYXRhKCl7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdBTUVfREFUQSA9IFtdO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEEucHVzaChHYW1lRGF0YS5faW5zdGFuY2UuQ0xJQ0tfREFUQSk7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX2luaXQoKTtcclxuICAgICAgICBsZXQgZGF0YSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhtYXRjaElkKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwibWF0Y2hJZFwiOm1hdGNoSWQsXHJcbiAgICAgICAgICAgIFwiZGF0YVwiOiBkYXRhXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuS4iuS8oOaVsOaNrjpcIilcclxuICAgICAgICBIdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPlm1hdGNoSWQgIOeUqOS6juS4iuS8oOavj+asoeeCueWHu+aVsOaNrumHjOmdouiusOW9lWlk5pa55L6/5p+l6K+iXHJcbiAgICBnZXRNYXRjaElkICgpe1xyXG4gICAgICAgIGxldCBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hJZFwiKTtcclxuICAgICAgICBpZihtYXRjaElkID09IFwidW5kaWZlbmRcIiB8fCBtYXRjaElkPT1udWxsKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgPSAgdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBjaGFyID0gcGFyc2VJbnQobWF0Y2hJZFsxMF0pO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5yb3VuZCA9PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICBjaGFyICs9IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtYXRjaElkICA9IG1hdGNoSWQuc2xpY2UoMCwgMTApICsgY2hhciArIFwiXCI7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tYXRjaElkID0gbWF0Y2hJZDtcclxuICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH1cclxuICAgIC8v5qOA5rWLbWF0Y2hJZCDlpoLmnpzmnInnvJPlrZjku6XliY3nmoRuYW5hbmHmlbDmja7muIXpmaRcclxuICAgIGNvbnRhaW5zTmFuYW5hKHN0cikge1xyXG4gICAgICAgIHJldHVybiAvbmEvaS50ZXN0KHN0cik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOiuvue9rk1hdGNoSWRcclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLGRhdGEpO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmjpLooYzmppzmlbDmja5cclxuICAgIHNldFJhbmsodGltZSl7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInJlYWN0aW9uVGltZVwiOiB0aW1lLFxyXG4gICAgICAgICAgICBcInRvdGFsU3VuQ291bnRcIjogR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwsXHJcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgSHR0cFV0aWwucmFua0RhdGEoMSxmdW5jdGlvbigpe30scG9zdERhdGEpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgyKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/kvZzlvIrvvIzmtYvor5XnlKhcclxuICAgIHNob3dOdW1iZXIoKXtcclxuICAgICAgICBpZih0aGlzLnNob3cgPT0gZmFsc2UpIHRoaXMuc2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnNob3cgPT0gdHJ1ZSkgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5zaG93TnVtYmVyKHRoaXMuc2hvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIE5vdGlmaWNhdGlvbi5vbihcImNsaWNrU3VuXCIsIHRoaXMuY2xpY2tTdW4sIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub2ZmKFwiY2xpY2tTdW5cIiwgdGhpcy5jbGlja1N1bik7XHJcbiAgICB9XHJcbiAgICB1cGRhdGUgKGR0KSB7XHJcbiAgICB9XHJcbn1cclxuIl19 //------QC-SOURCE-SPLIT------ (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/tool/AudioManager.js'; + var __filename = 'preview-scripts/assets/Script/tool/Storage.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -6887,286 +6912,37 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '971c4vub4BJpqrSCLPJ8g1V', 'AudioManager'); -// Script/AudioManager.js +cc._RF.push(module, 'f124cZyKJVPPobsFKRo+Uam', 'Storage'); +// Script/tool/Storage.ts "use strict"; - -cc.Class({ - "extends": cc.Component, - properties: { - //背景音乐 - audioGameBgm0: { - "default": null, - type: cc.AudioClip +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageMessage = void 0; +//缓存浏览器数据 +var StorageMessage = { + getStorage: function (key) { + var result = null; + if (cc.sys.localStorage.getItem(key)) { + var result = cc.sys.localStorage.getItem(key); + } + if (result) { + result = JSON.parse(result); + } + return result; }, - // 按钮点击 - audioButtonClick: { - "default": null, - type: cc.AudioClip + setStorage: function (key, value) { + //主动拉起分享接口 + var temp = JSON.stringify(value); + cc.sys.localStorage.setItem(key, temp); }, - // 报警音效 - audioWarning: { - "default": null, - type: cc.AudioClip + removeStorage: function (key) { + //主动删除消息接口 + if (cc.sys.localStorage.getItem(key)) { + cc.sys.localStorage.removeItem(key); + } }, - //游戏开始音效 - audioWin: { - "default": null, - type: cc.AudioClip - }, - reward: false, - finish: false, - rewardCount: 0 - }, - ctor: function ctor() { - this.mAudioMap = {}; - /** - * 默认音量大小 - * @type {number} - */ - - this.bgMusicVolume = 0.1; - this.effectMusicVolume = 1; - this.mMusicSwitch = 1; - this.mEffectSwitch = 1; - }, - play: function play(audioSource, loop, callback, isBgMusic) { - if (isBgMusic && !this.mMusicSwitch) return; - if (!isBgMusic && !this.mEffectSwitch) return; - var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume; - - if (cc.sys.isBrowser) { - if (audioSource == this.brickSound) { - volume = 0.1; - } - - var context = cc.audioEngine.play(audioSource, loop, volume); - - if (callback) { - cc.audioEngine.setFinishCallback(context, function () { - callback.call(this); - }.bind(this)); - } - - this.mAudioMap[audioSource] = context; - return audioSource; - } else { - var context = wx.createInnerAudioContext(); - context.autoplay = true; - context.loop = loop; - context.obeyMuteSwitch = true; - context.volume = volume; - - if (callback) { - context.onEnded(function () { - callback.call(this); - }.bind(this)); - } else { - context.offEnded(); - } // var audioPath = cc.url.raw("resources/BallMaster/sounds" + audioSource.name + ".mp3"); - - - context.src = audioSource.nativeUrl; - context.play(); - this.mAudioMap[audioSource] = context; - return audioSource; - } - }, - save: function save() {// cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch); - // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch); - }, - onLoad: function onLoad() { - var _this = this; - - // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Music_Volume, function(volume) { - // this.mMusicSwitch = parseInt(volume); - // }.bind(this), 1); - // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Effect_Volume, function(volume) { - // this.mEffectSwitch = parseInt(volume); - // }.bind(this), 1); - this.reward = false; - this.finish = false; - this.rewardCount = 0; - window.addEventListener('rewardCanUse', function () { - // 此时激励可用 游戏内部逻辑 - _this.reward = true; - }); - 'undefined' != typeof window['reward'] ? window.dispatchEvent(window['reward']) : ""; - this.preload(); - }, - preload: function preload() { - if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { - return; - } - - var musics = [this.audioGameBgm0]; - musics.forEach(function (path) {// var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path; - // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) { - // cc.loader.load(musicPath, function(err, remoteUrl) { - // if (err) { - // cc.error(err.message || err); - // return; - // } - // }); - // } - }); - }, - getAudioMusicSwitch: function getAudioMusicSwitch() { - return this.mMusicSwitch; - }, - getAudioEffectSwitch: function getAudioEffectSwitch() { - return this.mEffectSwitch; - }, - trunAudioSound: function trunAudioSound(on) { - this.switchMusic(on); - this.switchEffect(on); - }, - switchMusic: function switchMusic(on) { - if (this.mMusicSwitch != (on ? 1 : 0)) { - this.mMusicSwitch = 1 - this.mMusicSwitch; // this.save(); - } - - if (on) { - this.playMusicGame(); - } else { - this.stopMusic(); - } - }, - switchEffect: function switchEffect(on) { - if (this.mEffectSwitch != (on ? 1 : 0)) { - this.mEffectSwitch = 1 - this.mEffectSwitch; // this.save(); - } - }, - onHide: function onHide() { - cc.audioEngine.pauseAll(); // if (CC_JSB) { - // } else { - // for (var key in this.mAudioMap) { - // if (key === this.mMusicKey) { - // this.mAudioMap[key].pause(); - // } else { - // this.mAudioMap[key].stop(); - // } - // } - // } - }, - onShow: function onShow() { - cc.audioEngine.resumeAll(); // if (CC_JSB) { - // } else { - // if (!this.mMusicSwitch) return; - // var context = this.mAudioMap[this.mMusicKey]; - // if (context) { - // context.play(); - // } - // } - }, - playMusic: function playMusic(key, callback, loop) { - loop = typeof loop == 'undefined' || loop ? true : false; - this.stopMusic(); - this.mMusicKey = this.play(key, loop, callback, true); - }, - - /** - * 游戏背景音乐 - */ - playMusicGame: function playMusicGame() { - this.playMusic(this.audioGameBgm0); - }, - - /** - * 停止背景音乐播放 - */ - stopMusic: function stopMusic() { - // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey); - var context = this.mAudioMap[this.mMusicKey]; - - if (typeof context != 'undefined') { - if (cc.sys.isBrowser) { - cc.audioEngine.stop(context); - } else { - context.stop(); - } - - cc.audioEngine.stop(context); - } - }, - // 炸弹、火箭爆炸音效 - playBomb: function playBomb() { - return this.play(this.audioBomb, false); - }, - //激光音效 - playJiGuang: function playJiGuang() { - return this.play(this.audioJiGuang, false); - }, - //技能音效 - playItem1: function playItem1() { - return this.play(this.audioItem1, false); - }, - - /* - * 游戏开始音效 - * - */ - playGameStart: function playGameStart() { - return this.play(this.audioGameStart, false); - }, - - /* - * 失败的游戏结束 - */ - playGameOver: function playGameOver() { - return this.play(this.audioGameOver, false); - }, - - /* - * 成功的游戏结束 - */ - playGameResultFailed: function playGameResultFailed() { - return this.play(this.audioGameResultFail, false); - }, - - /* - * 成功的游戏结束 - */ - playGameResultSuccess: function playGameResultSuccess() { - return this.play(this.audioGameResultSuccess, false); - }, - - /** - * 报警的音效 - */ - playWarning: function playWarning() { - return this.play(this.audioWarning, false); - }, - playWin: function playWin() { - return this.play(this.audioWin, false); - }, - - /* - * 方块碰撞的声音 - */ - playBrick: function playBrick() { - return this.play(this.brickSound, false); - }, - //方块破碎的声音 - brickBoom: function brickBoom() { - return this.play(this.audioObj, false); - }, - - /** - * 按钮 - */ - playAudioButton: function playAudioButton() { - return this.play(this.audioButtonClick, false); - }, - playRandomMatch: function playRandomMatch() { - this.playMusic(this.randomMatchSound); - }, - playMatchFoundSound: function playMatchFoundSound() { - this.stopMusic(); - return this.play(this.matchFoundSound, false); - } -}); +}; +exports.StorageMessage = StorageMessage; cc._RF.pop(); } @@ -7179,5 +6955,5 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxBdWRpb01hbmFnZXIuanMiXSwibmFtZXMiOlsiY2MiLCJDbGFzcyIsIkNvbXBvbmVudCIsInByb3BlcnRpZXMiLCJhdWRpb0dhbWVCZ20wIiwidHlwZSIsIkF1ZGlvQ2xpcCIsImF1ZGlvQnV0dG9uQ2xpY2siLCJhdWRpb1dhcm5pbmciLCJhdWRpb1dpbiIsInJld2FyZCIsImZpbmlzaCIsInJld2FyZENvdW50IiwiY3RvciIsIm1BdWRpb01hcCIsImJnTXVzaWNWb2x1bWUiLCJlZmZlY3RNdXNpY1ZvbHVtZSIsIm1NdXNpY1N3aXRjaCIsIm1FZmZlY3RTd2l0Y2giLCJwbGF5IiwiYXVkaW9Tb3VyY2UiLCJsb29wIiwiY2FsbGJhY2siLCJpc0JnTXVzaWMiLCJ2b2x1bWUiLCJzeXMiLCJpc0Jyb3dzZXIiLCJicmlja1NvdW5kIiwiY29udGV4dCIsImF1ZGlvRW5naW5lIiwic2V0RmluaXNoQ2FsbGJhY2siLCJjYWxsIiwiYmluZCIsInd4IiwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQiLCJhdXRvcGxheSIsIm9iZXlNdXRlU3dpdGNoIiwib25FbmRlZCIsIm9mZkVuZGVkIiwic3JjIiwibmF0aXZlVXJsIiwic2F2ZSIsIm9uTG9hZCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJkaXNwYXRjaEV2ZW50IiwicHJlbG9hZCIsInBsYXRmb3JtIiwiV0VDSEFUX0dBTUUiLCJtdXNpY3MiLCJmb3JFYWNoIiwicGF0aCIsImdldEF1ZGlvTXVzaWNTd2l0Y2giLCJnZXRBdWRpb0VmZmVjdFN3aXRjaCIsInRydW5BdWRpb1NvdW5kIiwib24iLCJzd2l0Y2hNdXNpYyIsInN3aXRjaEVmZmVjdCIsInBsYXlNdXNpY0dhbWUiLCJzdG9wTXVzaWMiLCJvbkhpZGUiLCJwYXVzZUFsbCIsIm9uU2hvdyIsInJlc3VtZUFsbCIsInBsYXlNdXNpYyIsImtleSIsIm1NdXNpY0tleSIsInN0b3AiLCJwbGF5Qm9tYiIsImF1ZGlvQm9tYiIsInBsYXlKaUd1YW5nIiwiYXVkaW9KaUd1YW5nIiwicGxheUl0ZW0xIiwiYXVkaW9JdGVtMSIsInBsYXlHYW1lU3RhcnQiLCJhdWRpb0dhbWVTdGFydCIsInBsYXlHYW1lT3ZlciIsImF1ZGlvR2FtZU92ZXIiLCJwbGF5R2FtZVJlc3VsdEZhaWxlZCIsImF1ZGlvR2FtZVJlc3VsdEZhaWwiLCJwbGF5R2FtZVJlc3VsdFN1Y2Nlc3MiLCJhdWRpb0dhbWVSZXN1bHRTdWNjZXNzIiwicGxheVdhcm5pbmciLCJwbGF5V2luIiwicGxheUJyaWNrIiwiYnJpY2tCb29tIiwiYXVkaW9PYmoiLCJwbGF5QXVkaW9CdXR0b24iLCJwbGF5UmFuZG9tTWF0Y2giLCJyYW5kb21NYXRjaFNvdW5kIiwicGxheU1hdGNoRm91bmRTb3VuZCIsIm1hdGNoRm91bmRTb3VuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTRCxFQUFFLENBQUNFLFNBRFA7QUFFTEMsRUFBQUEsVUFBVSxFQUFDO0FBQ1A7QUFDQUMsSUFBQUEsYUFBYSxFQUFDO0FBQ1YsaUJBQVEsSUFERTtBQUVWQyxNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGRSxLQUZQO0FBTVA7QUFDQUMsSUFBQUEsZ0JBQWdCLEVBQUM7QUFDYixpQkFBUSxJQURLO0FBRWJGLE1BQUFBLElBQUksRUFBQ0wsRUFBRSxDQUFDTTtBQUZLLEtBUFY7QUFXUDtBQUNBRSxJQUFBQSxZQUFZLEVBQUM7QUFDVCxpQkFBUSxJQURDO0FBRVRILE1BQUFBLElBQUksRUFBQ0wsRUFBRSxDQUFDTTtBQUZDLEtBWk47QUFpQlA7QUFDQUcsSUFBQUEsUUFBUSxFQUFDO0FBQ0wsaUJBQVEsSUFESDtBQUVMSixNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGSCxLQWxCRjtBQXVCUEksSUFBQUEsTUFBTSxFQUFFLEtBdkJEO0FBd0JQQyxJQUFBQSxNQUFNLEVBQUUsS0F4QkQ7QUF5QlBDLElBQUFBLFdBQVcsRUFBRTtBQXpCTixHQUZOO0FBOEJMQyxFQUFBQSxJQUFJLEVBQUUsZ0JBQVk7QUFDZCxTQUFLQyxTQUFMLEdBQWlCLEVBQWpCO0FBRUE7QUFDUjtBQUNBO0FBQ0E7O0FBQ1EsU0FBS0MsYUFBTCxHQUFxQixHQUFyQjtBQUNBLFNBQUtDLGlCQUFMLEdBQXlCLENBQXpCO0FBRUEsU0FBS0MsWUFBTCxHQUFvQixDQUFwQjtBQUNBLFNBQUtDLGFBQUwsR0FBcUIsQ0FBckI7QUFDSCxHQTFDSTtBQTJDTEMsRUFBQUEsSUFBSSxFQUFHLGNBQVNDLFdBQVQsRUFBc0JDLElBQXRCLEVBQTRCQyxRQUE1QixFQUFzQ0MsU0FBdEMsRUFBaUQ7QUFDcEQsUUFBSUEsU0FBUyxJQUFJLENBQUMsS0FBS04sWUFBdkIsRUFBcUM7QUFDckMsUUFBSSxDQUFDTSxTQUFELElBQWMsQ0FBQyxLQUFLTCxhQUF4QixFQUF1QztBQUV2QyxRQUFJTSxNQUFNLEdBQUdELFNBQVMsR0FBRyxLQUFLUixhQUFSLEdBQXdCLEtBQUtDLGlCQUFuRDs7QUFFQSxRQUFJaEIsRUFBRSxDQUFDeUIsR0FBSCxDQUFPQyxTQUFYLEVBQXNCO0FBQ2xCLFVBQUdOLFdBQVcsSUFBSSxLQUFLTyxVQUF2QixFQUFrQztBQUM5QkgsUUFBQUEsTUFBTSxHQUFHLEdBQVQ7QUFDSDs7QUFDRCxVQUFJSSxPQUFPLEdBQUc1QixFQUFFLENBQUM2QixXQUFILENBQWVWLElBQWYsQ0FBb0JDLFdBQXBCLEVBQWlDQyxJQUFqQyxFQUF1Q0csTUFBdkMsQ0FBZDs7QUFDQSxVQUFJRixRQUFKLEVBQWE7QUFDVHRCLFFBQUFBLEVBQUUsQ0FBQzZCLFdBQUgsQ0FBZUMsaUJBQWYsQ0FBaUNGLE9BQWpDLEVBQTBDLFlBQVU7QUFDaEROLFVBQUFBLFFBQVEsQ0FBQ1MsSUFBVCxDQUFjLElBQWQ7QUFDSCxTQUZ5QyxDQUV4Q0MsSUFGd0MsQ0FFbkMsSUFGbUMsQ0FBMUM7QUFHSDs7QUFFRCxXQUFLbEIsU0FBTCxDQUFlTSxXQUFmLElBQThCUSxPQUE5QjtBQUNBLGFBQU9SLFdBQVA7QUFDSCxLQWJELE1BYU87QUFDSCxVQUFJUSxPQUFPLEdBQUdLLEVBQUUsQ0FBQ0MsdUJBQUgsRUFBZDtBQUNBTixNQUFBQSxPQUFPLENBQUNPLFFBQVIsR0FBbUIsSUFBbkI7QUFDQVAsTUFBQUEsT0FBTyxDQUFDUCxJQUFSLEdBQWVBLElBQWY7QUFDQU8sTUFBQUEsT0FBTyxDQUFDUSxjQUFSLEdBQXlCLElBQXpCO0FBQ0FSLE1BQUFBLE9BQU8sQ0FBQ0osTUFBUixHQUFpQkEsTUFBakI7O0FBRUEsVUFBSUYsUUFBSixFQUFjO0FBQ1ZNLFFBQUFBLE9BQU8sQ0FBQ1MsT0FBUixDQUFnQixZQUFXO0FBQ3ZCZixVQUFBQSxRQUFRLENBQUNTLElBQVQsQ0FBYyxJQUFkO0FBQ0gsU0FGZSxDQUVkQyxJQUZjLENBRVQsSUFGUyxDQUFoQjtBQUdILE9BSkQsTUFJTztBQUNISixRQUFBQSxPQUFPLENBQUNVLFFBQVI7QUFDSCxPQWJFLENBZUg7OztBQUNBVixNQUFBQSxPQUFPLENBQUNXLEdBQVIsR0FBY25CLFdBQVcsQ0FBQ29CLFNBQTFCO0FBQ0FaLE1BQUFBLE9BQU8sQ0FBQ1QsSUFBUjtBQUNBLFdBQUtMLFNBQUwsQ0FBZU0sV0FBZixJQUE4QlEsT0FBOUI7QUFFQSxhQUFPUixXQUFQO0FBQ0g7QUFDSixHQXBGSTtBQXNGTHFCLEVBQUFBLElBQUksRUFBRSxnQkFBWSxDQUNkO0FBQ0E7QUFDSCxHQXpGSTtBQTBGTEMsRUFBQUEsTUExRkssb0JBMEZJO0FBQUE7O0FBQ0w7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUEsU0FBS2hDLE1BQUwsR0FBYyxLQUFkO0FBQ0EsU0FBS0MsTUFBTCxHQUFjLEtBQWQ7QUFDQSxTQUFLQyxXQUFMLEdBQW1CLENBQW5CO0FBQ0ErQixJQUFBQSxNQUFNLENBQUNDLGdCQUFQLENBQXdCLGNBQXhCLEVBQXdDLFlBQU07QUFDMUM7QUFDQSxNQUFBLEtBQUksQ0FBQ2xDLE1BQUwsR0FBYyxJQUFkO0FBQ0gsS0FIRDtBQUtBLG1CQUFlLE9BQU9pQyxNQUFNLENBQUMsUUFBRCxDQUE1QixHQUNBQSxNQUFNLENBQUNFLGFBQVAsQ0FBcUJGLE1BQU0sQ0FBQyxRQUFELENBQTNCLENBREEsR0FDdUMsRUFEdkM7QUFHQSxTQUFLRyxPQUFMO0FBQ0gsR0EvR0k7QUFnSExBLEVBQUFBLE9BQU8sRUFBRyxtQkFBVztBQUNqQixRQUFJLEVBQUU5QyxFQUFFLENBQUN5QixHQUFILENBQU9zQixRQUFQLEtBQW9CL0MsRUFBRSxDQUFDeUIsR0FBSCxDQUFPdUIsV0FBN0IsQ0FBSixFQUErQztBQUFFO0FBQVM7O0FBRTFELFFBQUlDLE1BQU0sR0FBRyxDQUNULEtBQUs3QyxhQURJLENBQWI7QUFHQTZDLElBQUFBLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlLFVBQVNDLElBQVQsRUFBZSxDQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDSCxLQVZEO0FBV0gsR0FqSUk7QUFtSUxDLEVBQUFBLG1CQW5JSyxpQ0FvSUw7QUFDSSxXQUFPLEtBQUtuQyxZQUFaO0FBRUgsR0F2SUk7QUF3SUxvQyxFQUFBQSxvQkF4SUssa0NBeUlMO0FBQ0ksV0FBTyxLQUFLbkMsYUFBWjtBQUNILEdBM0lJO0FBNElMb0MsRUFBQUEsY0E1SUssMEJBNElVQyxFQTVJVixFQTZJTDtBQUNJLFNBQUtDLFdBQUwsQ0FBaUJELEVBQWpCO0FBQ0EsU0FBS0UsWUFBTCxDQUFrQkYsRUFBbEI7QUFDSCxHQWhKSTtBQWlKTEMsRUFBQUEsV0FBVyxFQUFHLHFCQUFTRCxFQUFULEVBQWE7QUFDdkIsUUFBSSxLQUFLdEMsWUFBTCxLQUFzQnNDLEVBQUUsR0FBQyxDQUFELEdBQUcsQ0FBM0IsQ0FBSixFQUNBO0FBQ0ksV0FBS3RDLFlBQUwsR0FBb0IsSUFBRSxLQUFLQSxZQUEzQixDQURKLENBRUk7QUFFSDs7QUFDRCxRQUFHc0MsRUFBSCxFQUNBO0FBQ0ksV0FBS0csYUFBTDtBQUNILEtBSEQsTUFLQTtBQUNJLFdBQUtDLFNBQUw7QUFDSDtBQUNKLEdBaEtJO0FBaUtMRixFQUFBQSxZQUFZLEVBQUcsc0JBQVNGLEVBQVQsRUFBYTtBQUN4QixRQUFJLEtBQUtyQyxhQUFMLEtBQXVCcUMsRUFBRSxHQUFDLENBQUQsR0FBRyxDQUE1QixDQUFKLEVBQW1DO0FBQy9CLFdBQUtyQyxhQUFMLEdBQXFCLElBQUUsS0FBS0EsYUFBNUIsQ0FEK0IsQ0FFL0I7QUFFSDtBQUNKLEdBdktJO0FBd0tMMEMsRUFBQUEsTUF4S0ssb0JBd0tLO0FBQ041RCxJQUFBQSxFQUFFLENBQUM2QixXQUFILENBQWVnQyxRQUFmLEdBRE0sQ0FHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNILEdBckxJO0FBdUxMQyxFQUFBQSxNQXZMSyxvQkF1TEs7QUFDTjlELElBQUFBLEVBQUUsQ0FBQzZCLFdBQUgsQ0FBZWtDLFNBQWYsR0FETSxDQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDSCxHQWxNSTtBQW1NTEMsRUFBQUEsU0FBUyxFQUFHLG1CQUFTQyxHQUFULEVBQWMzQyxRQUFkLEVBQXdCRCxJQUF4QixFQUE4QjtBQUV0Q0EsSUFBQUEsSUFBSSxHQUFHLE9BQU9BLElBQVAsSUFBZSxXQUFmLElBQStCQSxJQUEvQixHQUFzQyxJQUF0QyxHQUE2QyxLQUFwRDtBQUVBLFNBQUtzQyxTQUFMO0FBQ0EsU0FBS08sU0FBTCxHQUFpQixLQUFLL0MsSUFBTCxDQUFVOEMsR0FBVixFQUFlNUMsSUFBZixFQUFxQkMsUUFBckIsRUFBK0IsSUFBL0IsQ0FBakI7QUFDSCxHQXpNSTs7QUEwTUw7QUFDSjtBQUNBO0FBQ0lvQyxFQUFBQSxhQTdNSywyQkE2TVk7QUFDYixTQUFLTSxTQUFMLENBQWUsS0FBSzVELGFBQXBCO0FBQ0gsR0EvTUk7O0FBZ05MO0FBQ0o7QUFDQTtBQUNJdUQsRUFBQUEsU0FuTkssdUJBbU5RO0FBQ1Q7QUFFQSxRQUFJL0IsT0FBTyxHQUFHLEtBQUtkLFNBQUwsQ0FBZSxLQUFLb0QsU0FBcEIsQ0FBZDs7QUFFQSxRQUFJLE9BQU90QyxPQUFQLElBQW1CLFdBQXZCLEVBQW9DO0FBQ2hDLFVBQUk1QixFQUFFLENBQUN5QixHQUFILENBQU9DLFNBQVgsRUFBc0I7QUFDbEIxQixRQUFBQSxFQUFFLENBQUM2QixXQUFILENBQWVzQyxJQUFmLENBQW9CdkMsT0FBcEI7QUFDSCxPQUZELE1BRU87QUFDSEEsUUFBQUEsT0FBTyxDQUFDdUMsSUFBUjtBQUNIOztBQUNEbkUsTUFBQUEsRUFBRSxDQUFDNkIsV0FBSCxDQUFlc0MsSUFBZixDQUFvQnZDLE9BQXBCO0FBRUg7QUFDSixHQWpPSTtBQWtPTDtBQUNBd0MsRUFBQUEsUUFuT0ssc0JBbU9PO0FBQ1IsV0FBTyxLQUFLakQsSUFBTCxDQUFVLEtBQUtrRCxTQUFmLEVBQTBCLEtBQTFCLENBQVA7QUFDSCxHQXJPSTtBQXNPTDtBQUNBQyxFQUFBQSxXQXZPSyx5QkF3T0w7QUFDSSxXQUFPLEtBQUtuRCxJQUFMLENBQVUsS0FBS29ELFlBQWYsRUFBNkIsS0FBN0IsQ0FBUDtBQUNILEdBMU9JO0FBMk9MO0FBQ0FDLEVBQUFBLFNBNU9LLHVCQTZPTDtBQUNJLFdBQU8sS0FBS3JELElBQUwsQ0FBVSxLQUFLc0QsVUFBZixFQUEyQixLQUEzQixDQUFQO0FBQ0gsR0EvT0k7O0FBZ1BMO0FBQ0o7QUFDQTtBQUNBO0FBQ0tDLEVBQUFBLGFBcFBJLDJCQXFQSjtBQUNJLFdBQU8sS0FBS3ZELElBQUwsQ0FBVSxLQUFLd0QsY0FBZixFQUErQixLQUEvQixDQUFQO0FBQ0gsR0F2UEc7O0FBd1BKO0FBQ0w7QUFDQTtBQUNLQyxFQUFBQSxZQTNQSSwwQkE0UEo7QUFDSSxXQUFPLEtBQUt6RCxJQUFMLENBQVUsS0FBSzBELGFBQWYsRUFBNkIsS0FBN0IsQ0FBUDtBQUNILEdBOVBHOztBQStQTDtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEsb0JBbFFLLGtDQW1RTDtBQUNJLFdBQU8sS0FBSzNELElBQUwsQ0FBVSxLQUFLNEQsbUJBQWYsRUFBbUMsS0FBbkMsQ0FBUDtBQUNILEdBclFJOztBQXNRTDtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEscUJBelFLLG1DQTBRTDtBQUNJLFdBQU8sS0FBSzdELElBQUwsQ0FBVSxLQUFLOEQsc0JBQWYsRUFBc0MsS0FBdEMsQ0FBUDtBQUNILEdBNVFJOztBQTZRTDtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEsV0FoUksseUJBaVJMO0FBQ0ksV0FBTyxLQUFLL0QsSUFBTCxDQUFVLEtBQUtYLFlBQWYsRUFBNEIsS0FBNUIsQ0FBUDtBQUVILEdBcFJJO0FBc1JMMkUsRUFBQUEsT0F0UksscUJBdVJMO0FBQ0ksV0FBTyxLQUFLaEUsSUFBTCxDQUFVLEtBQUtWLFFBQWYsRUFBd0IsS0FBeEIsQ0FBUDtBQUNILEdBelJJOztBQTJSTDtBQUNKO0FBQ0E7QUFDSTJFLEVBQUFBLFNBOVJLLHVCQStSTDtBQUNJLFdBQU8sS0FBS2pFLElBQUwsQ0FBVSxLQUFLUSxVQUFmLEVBQTBCLEtBQTFCLENBQVA7QUFDSCxHQWpTSTtBQWtTTDtBQUNBMEQsRUFBQUEsU0FuU0ssdUJBbVNNO0FBQ1AsV0FBTyxLQUFLbEUsSUFBTCxDQUFVLEtBQUttRSxRQUFmLEVBQXdCLEtBQXhCLENBQVA7QUFDSCxHQXJTSTs7QUFzU0w7QUFDSjtBQUNBO0FBQ0lDLEVBQUFBLGVBelNLLDZCQXlTYztBQUNmLFdBQU8sS0FBS3BFLElBQUwsQ0FBVSxLQUFLWixnQkFBZixFQUFpQyxLQUFqQyxDQUFQO0FBQ0gsR0EzU0k7QUE2U0xpRixFQUFBQSxlQTdTSyw2QkE4U0w7QUFDSSxTQUFLeEIsU0FBTCxDQUFlLEtBQUt5QixnQkFBcEI7QUFDSCxHQWhUSTtBQWlUTEMsRUFBQUEsbUJBalRLLGlDQWtUTDtBQUNJLFNBQUsvQixTQUFMO0FBQ0EsV0FBTyxLQUFLeEMsSUFBTCxDQUFVLEtBQUt3RSxlQUFmLEVBQWdDLEtBQWhDLENBQVA7QUFDSDtBQXJUSSxDQUFUIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxuICAgIHByb3BlcnRpZXM6e1xuICAgICAgICAvL+iDjOaZr+mfs+S5kFxuICAgICAgICBhdWRpb0dhbWVCZ20wOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaMiemSrueCueWHu1xuICAgICAgICBhdWRpb0J1dHRvbkNsaWNrOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaKpeitpumfs+aViFxuICAgICAgICBhdWRpb1dhcm5pbmc6e1xuICAgICAgICAgICAgZGVmYXVsdDpudWxsLFxuICAgICAgICAgICAgdHlwZTpjYy5BdWRpb0NsaXBcbiAgICAgICAgfSxcblxuICAgICAgICAvL+a4uOaIj+W8gOWni+mfs+aViFxuICAgICAgICBhdWRpb1dpbjp7XG4gICAgICAgICAgICBkZWZhdWx0Om51bGwsXG4gICAgICAgICAgICB0eXBlOmNjLkF1ZGlvQ2xpcFxuICAgICAgICB9LFxuXG4gICAgICAgIHJld2FyZDogZmFsc2UsXG4gICAgICAgIGZpbmlzaDogZmFsc2UsXG4gICAgICAgIHJld2FyZENvdW50OiAwXG5cbiAgICB9LFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tQXVkaW9NYXAgPSB7fTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog6buY6K6k6Z+z6YeP5aSn5bCPXG4gICAgICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmJnTXVzaWNWb2x1bWUgPSAwLjE7XG4gICAgICAgIHRoaXMuZWZmZWN0TXVzaWNWb2x1bWUgPSAxO1xuXG4gICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMTtcbiAgICAgICAgdGhpcy5tRWZmZWN0U3dpdGNoID0gMTtcbiAgICB9LFxuICAgIHBsYXkgOiBmdW5jdGlvbihhdWRpb1NvdXJjZSwgbG9vcCwgY2FsbGJhY2ssIGlzQmdNdXNpYykge1xuICAgICAgICBpZiAoaXNCZ011c2ljICYmICF0aGlzLm1NdXNpY1N3aXRjaCkgcmV0dXJuO1xuICAgICAgICBpZiAoIWlzQmdNdXNpYyAmJiAhdGhpcy5tRWZmZWN0U3dpdGNoKSByZXR1cm47XG5cbiAgICAgICAgdmFyIHZvbHVtZSA9IGlzQmdNdXNpYyA/IHRoaXMuYmdNdXNpY1ZvbHVtZSA6IHRoaXMuZWZmZWN0TXVzaWNWb2x1bWU7XG5cbiAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIGlmKGF1ZGlvU291cmNlID09IHRoaXMuYnJpY2tTb3VuZCl7XG4gICAgICAgICAgICAgICAgdm9sdW1lID0gMC4xO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIHZhciBjb250ZXh0ID0gY2MuYXVkaW9FbmdpbmUucGxheShhdWRpb1NvdXJjZSwgbG9vcCwgdm9sdW1lKTtcbiAgICAgICAgICAgIGlmIChjYWxsYmFjayl7XG4gICAgICAgICAgICAgICAgY2MuYXVkaW9FbmdpbmUuc2V0RmluaXNoQ2FsbGJhY2soY29udGV4dCwgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm1BdWRpb01hcFthdWRpb1NvdXJjZV0gPSBjb250ZXh0O1xuICAgICAgICAgICAgcmV0dXJuIGF1ZGlvU291cmNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIGNvbnRleHQgPSB3eC5jcmVhdGVJbm5lckF1ZGlvQ29udGV4dCgpO1xuICAgICAgICAgICAgY29udGV4dC5hdXRvcGxheSA9IHRydWU7XG4gICAgICAgICAgICBjb250ZXh0Lmxvb3AgPSBsb29wO1xuICAgICAgICAgICAgY29udGV4dC5vYmV5TXV0ZVN3aXRjaCA9IHRydWU7XG4gICAgICAgICAgICBjb250ZXh0LnZvbHVtZSA9IHZvbHVtZTtcblxuICAgICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5vbkVuZGVkKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjay5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRleHQub2ZmRW5kZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAvLyB2YXIgYXVkaW9QYXRoID0gY2MudXJsLnJhdyhcInJlc291cmNlcy9CYWxsTWFzdGVyL3NvdW5kc1wiICsgYXVkaW9Tb3VyY2UubmFtZSArIFwiLm1wM1wiKTtcbiAgICAgICAgICAgIGNvbnRleHQuc3JjID0gYXVkaW9Tb3VyY2UubmF0aXZlVXJsO1xuICAgICAgICAgICAgY29udGV4dC5wbGF5KClcbiAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2F1ZGlvU291cmNlXSA9IGNvbnRleHQ7XG4gICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIGF1ZGlvU291cmNlO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHNhdmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19NdXNpY19Wb2x1bWUsIHRoaXMubU11c2ljU3dpdGNoKTtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCB0aGlzLm1FZmZlY3RTd2l0Y2gpO1xuICAgIH0sXG4gICAgb25Mb2FkKCkge1xuICAgICAgICAvLyBjYy53d3guU3RvcmFnZS5nZXRJdGVtKGNjLnd3eC5TdG9yYWdlLktleV9TZXR0aW5nX011c2ljX1ZvbHVtZSwgZnVuY3Rpb24odm9sdW1lKSB7XG4gICAgICAgIC8vICAgICB0aGlzLm1NdXNpY1N3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2UuZ2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCBmdW5jdGlvbih2b2x1bWUpIHtcbiAgICAgICAgLy8gICAgIHRoaXMubUVmZmVjdFN3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cbiAgICAgICAgdGhpcy5yZXdhcmQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2ggPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXdhcmRDb3VudCA9IDA7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXdhcmRDYW5Vc2UnLCAoKSA9PiB7XG4gICAgICAgICAgICAvLyDmraTml7bmv4DlirHlj6/nlKgg5ri45oiP5YaF6YOo6YC76L6RXG4gICAgICAgICAgICB0aGlzLnJld2FyZCA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICd1bmRlZmluZWQnICE9IHR5cGVvZiB3aW5kb3dbJ3Jld2FyZCddID8gXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KHdpbmRvd1sncmV3YXJkJ10pOlwiXCJcblxuICAgICAgICB0aGlzLnByZWxvYWQoKTtcbiAgICB9LFxuICAgIHByZWxvYWQgOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKCEoY2Muc3lzLnBsYXRmb3JtID09PSBjYy5zeXMuV0VDSEFUX0dBTUUpKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHZhciBtdXNpY3MgPSBbXG4gICAgICAgICAgICB0aGlzLmF1ZGlvR2FtZUJnbTAsXG4gICAgICAgIF07XG4gICAgICAgIG11c2ljcy5mb3JFYWNoKGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgICAgIC8vIHZhciBtdXNpY1BhdGggPSB3eERvd25sb2FkZXIuUkVNT1RFX1NFUlZFUl9ST09UICsgcGF0aDtcbiAgICAgICAgICAgIC8vIGlmIChtdXNpY1BhdGggIT0gd3hEb3dubG9hZGVyLlJFTU9URV9TRVJWRVJfUk9PVCAmJiBtdXNpY1BhdGguZW5kc1dpdGgoJy5tcDMnKSkge1xuICAgICAgICAgICAgLy8gICAgIGNjLmxvYWRlci5sb2FkKG11c2ljUGF0aCwgZnVuY3Rpb24oZXJyLCByZW1vdGVVcmwpIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgY2MuZXJyb3IoZXJyLm1lc3NhZ2UgfHwgZXJyKTtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9KVxuICAgIH0sXG5cbiAgICBnZXRBdWRpb011c2ljU3dpdGNoKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLm1NdXNpY1N3aXRjaDtcblxuICAgIH0sXG4gICAgZ2V0QXVkaW9FZmZlY3RTd2l0Y2goKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubUVmZmVjdFN3aXRjaDtcbiAgICB9LFxuICAgIHRydW5BdWRpb1NvdW5kKG9uKVxuICAgIHtcbiAgICAgICAgdGhpcy5zd2l0Y2hNdXNpYyhvbik7XG4gICAgICAgIHRoaXMuc3dpdGNoRWZmZWN0KG9uKVxuICAgIH0sXG4gICAgc3dpdGNoTXVzaWMgOiBmdW5jdGlvbihvbikge1xuICAgICAgICBpZiAodGhpcy5tTXVzaWNTd2l0Y2ggIT0gKG9uPzE6MCkpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMS10aGlzLm1NdXNpY1N3aXRjaDtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2ZSgpO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgaWYob24pXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMucGxheU11c2ljR2FtZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc3dpdGNoRWZmZWN0IDogZnVuY3Rpb24ob24pIHtcbiAgICAgICAgaWYgKHRoaXMubUVmZmVjdFN3aXRjaCAhPSAob24/MTowKSl7XG4gICAgICAgICAgICB0aGlzLm1FZmZlY3RTd2l0Y2ggPSAxLXRoaXMubUVmZmVjdFN3aXRjaDtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2ZSgpO1xuXG4gICAgICAgIH1cbiAgICB9LFxuICAgIG9uSGlkZSAoKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnBhdXNlQWxsKCk7XG5cbiAgICAgICAgLy8gaWYgKENDX0pTQikge1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgZm9yICh2YXIga2V5IGluIHRoaXMubUF1ZGlvTWFwKSB7XG4gICAgICAgIC8vICAgICAgICAgaWYgKGtleSA9PT0gdGhpcy5tTXVzaWNLZXkpIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5tQXVkaW9NYXBba2V5XS5wYXVzZSgpO1xuICAgICAgICAvLyAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2tleV0uc3RvcCgpO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH0sXG5cbiAgICBvblNob3cgKCkge1xuICAgICAgICBjYy5hdWRpb0VuZ2luZS5yZXN1bWVBbGwoKTtcblxuICAgICAgICAvLyBpZiAoQ0NfSlNCKSB7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICBpZiAoIXRoaXMubU11c2ljU3dpdGNoKSByZXR1cm47XG4gICAgICAgIC8vICAgICB2YXIgY29udGV4dCA9IHRoaXMubUF1ZGlvTWFwW3RoaXMubU11c2ljS2V5XTtcbiAgICAgICAgLy8gICAgIGlmIChjb250ZXh0KSB7XG4gICAgICAgIC8vICAgICAgICAgY29udGV4dC5wbGF5KCk7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH1cbiAgICB9LFxuICAgIHBsYXlNdXNpYyA6IGZ1bmN0aW9uKGtleSwgY2FsbGJhY2ssIGxvb3ApIHtcblxuICAgICAgICBsb29wID0gdHlwZW9mIGxvb3AgPT0gJ3VuZGVmaW5lZCcgIHx8IGxvb3AgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgdGhpcy5tTXVzaWNLZXkgPSB0aGlzLnBsYXkoa2V5LCBsb29wLCBjYWxsYmFjaywgdHJ1ZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmuLjmiI/og4zmma/pn7PkuZBcbiAgICAgKi9cbiAgICBwbGF5TXVzaWNHYW1lICgpIHtcbiAgICAgICAgdGhpcy5wbGF5TXVzaWModGhpcy5hdWRpb0dhbWVCZ20wKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIOWBnOatouiDjOaZr+mfs+S5kOaSreaUvlxuICAgICAqL1xuICAgIHN0b3BNdXNpYyAoKSB7XG4gICAgICAgIC8vIGNjLnd3eC5PdXRQdXQubG9nKCdzdG9wTXVzaWMgYXVkaW8gZWZmZWN0IHd4OiAnICsgdGhpcy5tTXVzaWNLZXkpO1xuXG4gICAgICAgIHZhciBjb250ZXh0ID0gdGhpcy5tQXVkaW9NYXBbdGhpcy5tTXVzaWNLZXldO1xuXG4gICAgICAgIGlmICh0eXBlb2YoY29udGV4dCkgIT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGlmIChjYy5zeXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICAgICAgY2MuYXVkaW9FbmdpbmUuc3RvcChjb250ZXh0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5zdG9wKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYy5hdWRpb0VuZ2luZS5zdG9wKGNvbnRleHQpO1xuXG4gICAgICAgIH1cbiAgICB9LFxuICAgIC8vIOeCuOW8ueOAgeeBq+eureeIhueCuOmfs+aViFxuICAgIHBsYXlCb21iICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvQm9tYiwgZmFsc2UpO1xuICAgIH0sXG4gICAgLy/mv4DlhYnpn7PmlYhcbiAgICBwbGF5SmlHdWFuZygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9KaUd1YW5nLCBmYWxzZSk7XG4gICAgfSxcbiAgICAvL+aKgOiDvemfs+aViFxuICAgIHBsYXlJdGVtMSgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9JdGVtMSwgZmFsc2UpO1xuICAgIH0sXG4gICAgLypcbiAgICAgKiDmuLjmiI/lvIDlp4vpn7PmlYhcbiAgICAgKlxuICAgICAqL1xuICAgICBwbGF5R2FtZVN0YXJ0KClcbiAgICAge1xuICAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvR2FtZVN0YXJ0LCBmYWxzZSk7XG4gICAgIH0sXG4gICAgIC8qXG4gICAgICAqIOWksei0peeahOa4uOaIj+e7k+adn1xuICAgICAgKi9cbiAgICAgcGxheUdhbWVPdmVyKClcbiAgICAge1xuICAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvR2FtZU92ZXIsZmFsc2UpO1xuICAgICB9LFxuICAgIC8qXG4gICAgICAqIOaIkOWKn+eahOa4uOaIj+e7k+adn1xuICAgICAgKi9cbiAgICBwbGF5R2FtZVJlc3VsdEZhaWxlZCgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lUmVzdWx0RmFpbCxmYWxzZSk7XG4gICAgfSxcbiAgICAvKlxuICAqIOaIkOWKn+eahOa4uOaIj+e7k+adn1xuICAqL1xuICAgIHBsYXlHYW1lUmVzdWx0U3VjY2VzcygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lUmVzdWx0U3VjY2VzcyxmYWxzZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmiqXorabnmoTpn7PmlYhcbiAgICAgKi9cbiAgICBwbGF5V2FybmluZygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9XYXJuaW5nLGZhbHNlKTtcblxuICAgIH0sXG5cbiAgICBwbGF5V2luKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb1dpbixmYWxzZSk7XG4gICAgfSxcblxuICAgIC8qXG4gICAgICog5pa55Z2X56Kw5pKe55qE5aOw6Z+zXG4gICAgICovXG4gICAgcGxheUJyaWNrKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5icmlja1NvdW5kLGZhbHNlKTtcbiAgICB9LFxuICAgIC8v5pa55Z2X56C056KO55qE5aOw6Z+zXG4gICAgYnJpY2tCb29tKCl7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb09iaixmYWxzZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmjInpkq5cbiAgICAgKi9cbiAgICBwbGF5QXVkaW9CdXR0b24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9CdXR0b25DbGljaywgZmFsc2UpO1xuICAgIH0sXG5cbiAgICBwbGF5UmFuZG9tTWF0Y2goKVxuICAgIHtcbiAgICAgICAgdGhpcy5wbGF5TXVzaWModGhpcy5yYW5kb21NYXRjaFNvdW5kKTtcbiAgICB9LFxuICAgIHBsYXlNYXRjaEZvdW5kU291bmQoKVxuICAgIHtcbiAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLm1hdGNoRm91bmRTb3VuZCwgZmFsc2UpO1xuICAgIH1cbn0pOyJdfQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVM7QUFDVCxJQUFJLGNBQWMsR0FBRztJQUNqQixVQUFVLEVBQUcsVUFBUyxHQUFHO1FBQ3JCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQztZQUNsQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFHLE1BQU0sRUFBQztZQUNSLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUNELFVBQVUsRUFBRyxVQUFTLEdBQUcsRUFBQyxLQUFLO1FBQzNCLFVBQVU7UUFDVixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUNELGFBQWEsRUFBRyxVQUFTLEdBQUc7UUFDMUIsVUFBVTtRQUNWLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUNwQztJQUNILENBQUM7Q0FDSixDQUFDO0FBRU8sd0NBQWMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvL+e8k+WtmOa1j+iniOWZqOaVsOaNrlxudmFyIFN0b3JhZ2VNZXNzYWdlID0ge1xuICAgIGdldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgICB2YXIgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICAgIHZhciByZXN1bHQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYocmVzdWx0KXtcbiAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICAgIHNldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXksdmFsdWUpe1xuICAgICAgICAvL+S4u+WKqOaLiei1t+WIhuS6q+aOpeWPo1xuICAgICAgICB2YXIgdGVtcCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdGVtcClcbiAgICB9LFxuICAgIHJlbW92ZVN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgLy/kuLvliqjliKDpmaTmtojmga/mjqXlj6NcbiAgICAgIGlmKGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKXtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSlcbiAgICAgIH1cbiAgICB9LFxufTtcblxuZXhwb3J0IHsgU3RvcmFnZU1lc3NhZ2UgfTsiXX0= //------QC-SOURCE-SPLIT------ diff --git a/temp/quick-scripts/dst/__qc_index__.js b/temp/quick-scripts/dst/__qc_index__.js index 2f2a2a4..b454f8c 100644 --- a/temp/quick-scripts/dst/__qc_index__.js +++ b/temp/quick-scripts/dst/__qc_index__.js @@ -27,6 +27,7 @@ require('./assets/Script/tool/AudioManager'); require('./assets/Script/tool/DynamicAtlasManager'); require('./assets/Script/tool/GameTool'); require('./assets/Script/tool/Shake'); +require('./assets/Script/tool/Storage'); require('./assets/migration/use_v2.1-2.2.1_cc.Toggle_event'); } diff --git a/temp/quick-scripts/dst/__quick_compile__.js b/temp/quick-scripts/dst/__quick_compile__.js index 50e292e..ee8ea23 100644 --- a/temp/quick-scripts/dst/__quick_compile__.js +++ b/temp/quick-scripts/dst/__quick_compile__.js @@ -1,6 +1,6 @@ (function () { -var scripts = [{"deps":{"./assets/Script/GameOver":2,"./assets/Script/GuideManager":5,"./assets/Script/Load":8,"./assets/Script/Notification":9,"./assets/Script/RankManager":17,"./assets/Script/Storage":13,"./assets/Script/Sun":12,"./assets/Script/GameData":7,"./assets/Script/ListView/List":15,"./assets/Script/ListView/ItemRender":1,"./assets/Script/crypto/serverAPI":3,"./assets/Script/crypto/crypto-js.min":16,"./assets/Script/tool/DynamicAtlasManager":6,"./assets/Script/tool/GameTool":14,"./assets/Script/tool/Shake":11,"./assets/Script/tool/AudioManager":18,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":4,"./assets/Script/GameManager":10},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/ListView/ItemRender.js"},{"deps":{"./GameData":7,"./crypto/serverAPI":3},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{"../GameData":7,"./crypto-js.min.js":16},"path":"preview-scripts/assets/Script/crypto/serverAPI.js"},{"deps":{},"path":"preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js"},{"deps":{"./GameData":7,"./Notification":9},"path":"preview-scripts/assets/Script/GuideManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/DynamicAtlasManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameData.js"},{"deps":{"./GameData":7,"./Storage":13},"path":"preview-scripts/assets/Script/Load.js"},{"deps":{},"path":"preview-scripts/assets/Script/Notification.js"},{"deps":{"./GameData":7,"./Notification":9,"./crypto/serverAPI":3},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/Shake.js"},{"deps":{"./Notification":9},"path":"preview-scripts/assets/Script/Sun.js"},{"deps":{},"path":"preview-scripts/assets/Script/Storage.js"},{"deps":{"Storage":13},"path":"preview-scripts/assets/Script/tool/GameTool.js"},{"deps":{"./ItemRender":1},"path":"preview-scripts/assets/Script/ListView/List.js"},{"deps":{},"path":"preview-scripts/assets/Script/crypto/crypto-js.min.js"},{"deps":{"./GameData":7,"./ListView/List":15,"./crypto/serverAPI":3},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/AudioManager.js"}]; +var scripts = [{"deps":{"./assets/Script/GameOver":2,"./assets/Script/GuideManager":6,"./assets/Script/Load":11,"./assets/Script/Notification":8,"./assets/Script/RankManager":5,"./assets/Script/Storage":12,"./assets/Script/Sun":9,"./assets/Script/GameData":10,"./assets/Script/ListView/List":3,"./assets/Script/ListView/ItemRender":14,"./assets/Script/crypto/serverAPI":4,"./assets/Script/crypto/crypto-js.min":17,"./assets/Script/tool/DynamicAtlasManager":1,"./assets/Script/tool/GameTool":13,"./assets/Script/tool/Shake":16,"./assets/Script/tool/Storage":19,"./assets/Script/tool/AudioManager":15,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":7,"./assets/Script/GameManager":18},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/DynamicAtlasManager.js"},{"deps":{"./GameData":10,"./crypto/serverAPI":4},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{"./ItemRender":14},"path":"preview-scripts/assets/Script/ListView/List.js"},{"deps":{"../GameData":10,"./crypto-js.min.js":17},"path":"preview-scripts/assets/Script/crypto/serverAPI.js"},{"deps":{"./GameData":10,"./ListView/List":3,"./crypto/serverAPI":4},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{"./GameData":10,"./Notification":8},"path":"preview-scripts/assets/Script/GuideManager.js"},{"deps":{},"path":"preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js"},{"deps":{},"path":"preview-scripts/assets/Script/Notification.js"},{"deps":{"./Notification":8},"path":"preview-scripts/assets/Script/Sun.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameData.js"},{"deps":{"./GameData":10,"./Storage":12},"path":"preview-scripts/assets/Script/Load.js"},{"deps":{},"path":"preview-scripts/assets/Script/Storage.js"},{"deps":{"../GameData":10},"path":"preview-scripts/assets/Script/tool/GameTool.js"},{"deps":{},"path":"preview-scripts/assets/Script/ListView/ItemRender.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/AudioManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/Shake.js"},{"deps":{},"path":"preview-scripts/assets/Script/crypto/crypto-js.min.js"},{"deps":{"./GameData":10,"./Notification":8,"./crypto/serverAPI":4},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/Storage.js"}]; var entries = ["preview-scripts/__qc_index__.js"]; var bundleScript = 'preview-scripts/__qc_bundle__.js'; diff --git a/temp/quick-scripts/dst/assets/Script/tool/GameTool.js b/temp/quick-scripts/dst/assets/Script/tool/GameTool.js index fe9a037..6d7b0fa 100644 --- a/temp/quick-scripts/dst/assets/Script/tool/GameTool.js +++ b/temp/quick-scripts/dst/assets/Script/tool/GameTool.js @@ -10,532 +10,250 @@ }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'a1dd7qMiCpOLL3FDXJd9DGy', 'GameTool'); -// Script/tool/GameTool.js +cc._RF.push(module, 'ddac3ZC+9pHQr0Fs9IIhw4a', 'GameTool'); +// Script/tool/GameTool.ts "use strict"; - -var _window$GameTool; - -var StorageMessage = require("Storage").StorageMessage; - -window.GameTool = (_window$GameTool = { - _startTime: 0, - _endTime: 0, - _totalTime: 0, - getSeedRandom: function getSeedRandom(min, max) { - //包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); - }, - getSetScreenResolutionFlag: function getSetScreenResolutionFlag() { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if (height / width > 16.2 / 9) return false; - return true; - }, - //判断全面屏适配 - setFit: function setFit(canvas) { - var flag = GameTool.getSetScreenResolutionFlag(); - - if (flag) {// console.log("不是全面屏"); - // canvas.fitWidth = false; - // canvas.fitHeight = true; - } else {// console.log("是全面屏"); - // canvas.fitWidth = true; - // canvas.fitHeight = false; - } - - return flag; - }, - // submitScoreButtonFunc: function(score1,fen1){ - // console.log("上传分数:",score1,fen1) - // // var score = score1; - // // var fen = fen1; - // // if (CC_WECHATGAME) { - // // window.wx.postMessage({ - // // messageType: 3, - // // MAIN_MENU_NUM: "guan", - // // score: score, - // // MAIN_MENU_FEN: "score", - // // fen: fen, - // // }); - // // } else { - // // cc.log("提交得分: x1 : " + score) - // // } - // // return true; - // }, - submitScoreButtonFunc: function submitScoreButtonFunc(fen2, number) { - console.log("number=", number); - - if (number == 0) { - console.log("上传分数:", fen2); - var fen = fen2; - - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 3, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: fen, - fen: 0 - }); - } else { - cc.log("提交得分: x1 : " + fen); - } - } else { - console.log("上传特殊分数:", fen2); - var fen = fen2; - - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 7, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: 0, - fen: fen - }); - } else { - cc.log("提交得分: x1 : " + fen); - } - } - - return true; - }, - getTip: function getTip() { - var index = Math.floor(Math.random() * 4) + 1; - - switch (index) { - case 1: - { - return "根据小球的位置,合理晃动手机,确保小球不掉出木板。"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GameTool = void 0; +var GameData_1 = require("../GameData"); +//最大工具类 +var GameTool = { + _startTime: 0, + _endTime: 0, + _totalTime: 0, + getSeedRandom: function (min, max) { + max = max || 1; + min = min || 0; + GameData_1.default._instance.GM_INFO.currSeed = (GameData_1.default._instance.GM_INFO.currSeed * 9301 + 49297) % 233280; + var rnd = GameData_1.default._instance.GM_INFO.currSeed / 233280.0; + var tmp = min + rnd * (max - min); + return Math.floor(tmp); + }, + getSetScreenResolutionFlag: function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }, + //判断全面屏适配 + setFit: function (canvas) { + var flag = GameTool.getSetScreenResolutionFlag(); + if (flag) { + // console.log("不是全面屏"); + // canvas.fitWidth = false; + // canvas.fitHeight = true; } - - case 2: - { - return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。"; + else { + // console.log("是全面屏"); + // canvas.fitWidth = true; + // canvas.fitHeight = false; } - - case 3: - { - return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。"; - } - - case 4: - { - return "尝试着顶开掉落的障碍,是个很酷的玩法。"; - } - } - }, - beginTiming: function beginTiming() { - this._startTime = new Date().getTime(); - }, - endTiming: function endTiming() { - this._endTime = new Date().getTime(); // this._totalTime = endTime - this._startTime; - }, - //如果是判断时常的游戏 调用此方法 - updateScoreTime: function updateScoreTime() { - var endTime = new Date().getTime(); - var tempTime = endTime - this._startTime; - - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - - this._endTime += tempTime / 1000; - this._totalTime = this._endTime.toFixed(2); - GM_INFO.currScore = this._totalTime; - this._startTime = endTime; - }, - //倒计时调用此方法 - countDown: function countDown() { - this._endTime = new Date().getTime(); - this._totalTime = parseInt((this._endTime - this._startTime) / 1000); - GM_INFO.remainingTime = GM_INFO.totalTime - this._totalTime; - }, - httpRequest: function httpRequest(url, data, _success, _fail) { - console.log("进入网络请求:"); - wx.getNetworkType({ - success: function success(res) { - var networkType = res.networkType; // console.log(networkType); - //有网络状态下 - - if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json', - // 默认值 - 'Authorization': window.globalData.BASE64_JWT_TOKEN ? 'Bearer ' + window.globalData.BASE64_JWT_TOKEN : '' - }, - method: 'POST', - success: function success(res) { - console.log('httpRequest:::::success', res); - - _success(res); - }, - fail: function fail(res) { - console.log('httpRequest:::::fail', res, "失败url为", url); - - _fail(res); + return flag; + }, + getTip: function () { + var index = Math.floor(Math.random() * 4) + 1; + switch (index) { + case 1: { + return "根据小球的位置,合理晃动手机,确保小球不掉出木板。"; } - }); - } else { - _fail(res); - } - }, - fail: function fail(res) { - _fail(res); - } - }); // console.log('httpRequest:::::', url, data, success, fail) - }, - httpRequest_Notoken: function httpRequest_Notoken(url, data, _success2, _fail2) { - // console.log('httpRequest:::::', url, data, success, fail) - wx.getNetworkType({ - success: function success(res) { - var networkType = res.networkType; // console.log(networkType); - //有网络状态下 - - if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json' // 默认值 - - }, - method: 'POST', - success: function success(res) { - console.log('httpRequest:::::success', res); - - _success2(res); - }, - fail: function fail(res) { - console.log('httpRequest:::::fail', res, "失败url为", url); - - _fail2(res); + case 2: { + return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。"; } - }); - } else { - _fail2(res); - } - }, - fail: function fail(res) { - _fail2(res); - } - }); - }, - getGameInfo: function getGameInfo(node) { - var jg = false; - var nodes = node; - var data = { - 'appid': window.globalData.appid - }; - window.GameTool.httpRequest(window.globalData.getUserInfoUrl, data, function (res) { - window.globalData.gameUserInfo = res.data.king_user; //user_id在这里 - - console.log("拿到服务器的信息", res.data); - - if (window.globalData.gameUserInfo) { - console.log("获得服务器游戏信息成功:", window.globalData.gameUserInfo); - if (window.globalData.gameUserInfo.unlock_1) window.GM_INFO.unlock_1 = window.globalData.gameUserInfo.unlock_1; - if (window.globalData.gameUserInfo.unlock_2) window.GM_INFO.unlock_2 = window.globalData.gameUserInfo.unlock_2; //如果服务器有金币信息 - - if (window.globalData.gameUserInfo.coin) { - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if (StorageMessage.getStorage("Coin")) { - if (window.globalData.gameUserInfo.coin != StorageMessage.getStorage("Coin")) { - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin", window.GM_INFO.coin); + case 3: { + return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。"; } - } //如果本地没有金币信息 , 以服务器金币信息为主 - else { - window.GM_INFO.coin = window.globalData.gameUserInfo.coin; - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } else { - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if (StorageMessage.getStorage("Coin")) { - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } //如果本地没有金币信息 , 以服务器金币信息为主 - else { - window.GM_INFO.coin = 200; - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } - - cc.director.loadScene('GameBegin'); // console.log("即将进入这里"); - // if(StorageMessage.getStorage("level")){ - // // console.log("本地有等级信息;"); - // // console.log("服务器信息等级为:",window.globalData.gameUserInfo.level); - // window.GM_INFO.level = StorageMessage.getStorage("level"); - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // // console.log("本地等级信息为:",window.GM_INFO.level); - // //本地存储等级 小于服务器等级, 等于本地数据丢失,这时以服务器数据为主重新构建游戏 - // if(window.GM_INFO.level < window.globalData.gameUserInfo.level){ - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - // //正常进入游戏,以本地数据为主,服务器数据为辅 - // else{ - // console.log("本地数据大以本地主数据为主"); - // // window.GameTool.setGameInfo(true); - // } - // } - // else{ - // console.log("笨地没等级数据"); - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - - if (CC_WECHATGAME) { - wx.onShow(function (res) { - if (res) { - if (res.query) { - console.log("分享中带的信息", res.query); - - if (res.query.key1) { - window.GameTool.setFrindHelp(res.query.key1); - } - - if (res.query.key2) { - window.GameTool.setFrindBlock(res.query.key2); - } - - if (res.query.key3) { - window.GameTool.setFrindBlockMax(res.query.key3); - } - } + case 4: { + return "尝试着顶开掉落的障碍,是个很酷的玩法。"; } - }); - wx.onHide(function (res) { - console.log("检测退出游戏"); // window.arm = []; - // for(var i=0; i<12; i++){ - // window.arm[i] = null; - // window.arm[i] = {error:"error"}; - // } - // window.arm = StorageMessage.setStorage("arm",window.arm); - - var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level, window.GM_INFO.coin); - window.GameTool.setGameInfo(); - }); } - - jg = true; - } else { - console.log("拿到服务器信息失败"); - cc.director.loadScene("LoadScene"); - } - }, function () { - jg = false; - console.log("get用户信息失败", res); - }); - return jg; - }, - //根据服务器数据重置所需要所有数据 - reset: function reset() { - // if(window.globalData.gameUserInfo.arm) - // StorageMessage.setStorage("arm",window.globalData.gameUserInfo.arm); - // if(window.globalData.gameUserInfo.richest_coin) - // StorageMessage.setStorage("coin",parseInt(window.globalData.gameUserInfo.richest_coin)); - // if(window.globalData.gameUserInfo.dimond) - // StorageMessage.setStorage("dimond",window.globalData.gameUserInfo.dimond); - // if(window.globalData.gameUserInfo.buy_time) - // StorageMessage.setStorage("buy_Time",window.globalData.gameUserInfo.buy_time); - // if(window.globalData.gameUserInfo.dimond_time) - // StorageMessage.setStorage("dimond_Time",window.globalData.gameUserInfo.dimond_time); - // if(window.globalData.gameUserInfo.level) - // StorageMessage.setStorage("level",window.globalData.gameUserInfo.level); - // if(window.globalData.gameUserInfo.total_Speed) - // StorageMessage.setStorage("total_Speed",parseInt(window.globalData.gameUserInfo.total_Speed)); - // if(window.globalData.gameUserInfo.leave_time) - // StorageMessage.setStorage("leave_time",window.globalData.gameUserInfo.leave_time); - // if(window.globalData.gameUserInfo.reward1) - // StorageMessage.setStorage("share_Array",window.globalData.gameUserInfo.reward1); - // if(window.globalData.gameUserInfo.reward2) - // StorageMessage.setStorage("share_100",window.globalData.gameUserInfo.reward2); - // StorageMessage.setStorage("GM_INFO",window.GM_INFO); - console.log("本地数据丢失,重新启动游戏"); - cc.director.loadScene('LoadScene'); - }, - setGameInfo: function setGameInfo(pd) { - var data = {// "richest_coin":window.coin+"", - // "arm":window.arm, - // "buy_time":window.buy_Time, - // "dimond":parseInt(window.dimond), - // "dimond_time":window.dimond_Time, - // "level":window.GM_INFO.level, - // "total_speed":window.total_Speed+"", - // "reward_1":window.GM_INFO.share_Array, //用于存储6个红包的领取信息 - // "reward_2":window.share_100 //用于存储100个红包的领取信息 - }; // console.log("存储之前检测:",window.arm,arms); - - window.GameTool.httpRequest(window.globalData.richest, data, function (res) { - console.log('存储userInfo成功', res); - - if (!pd) { - window.GM_INFO.leave_time = res.data.leave_time; - StorageMessage.setStorage("leave_time", window.GM_INFO.leave_time); - } - }, function (res) { - console.log('存储userInfo失败', res); - - if (!pd) { - window.GM_INFO.leave_time = parseInt(new Date().valueOf() / 1000); - StorageMessage.setStorage("leave_time", data); - } - }); - }, - //输入秒,返回需要展示时间格式 - getTimeMargin: function getTimeMargin(second) { - var total = second; - var hour = parseInt(total / (60 * 60)); //计算整数小时数 - - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - - var min = parseInt(afterHour / 60); //计算整数分 - - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - - return '剩余:' + hour + ':' + min + ':' + afterMin; - }, - getTimeMargin2: function getTimeMargin2(second) { - var total = second; - var hour = parseInt(total / (60 * 60)); //计算整数小时数 - - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - - var min = parseInt(afterHour / 60); //计算整数分 - - if (min < 10) min = "0" + min; - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - - if (afterMin < 10) afterMin = "0" + afterMin; - return '剩余:' + min + ':' + afterMin; - }, - setFrindBlock: function setFrindBlock(userid) { - // console.log("添加时候的userid"); - var data = { - user_id: userid - }; // if(userid != window.globalData.gameUserInfo.user_id){ - // console.log("进分享的不是自己"); - // { - - window.GameTool.httpRequest(window.globalData.entryBlock, data, function (res) { - console.log('添加红包助力信息成功', res); - }, function (res) { - console.log('添加红包助力信息失败', res); - }); // } - // } - // else{ - // console.log("进入分享的是自己"); - // } - } -}, _window$GameTool["getSeedRandom"] = function getSeedRandom(min, max) { - //包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); -}, _window$GameTool.getTime = function getTime(time) { - var label = ""; - var number_1 = parseInt(time / 60); - var number_2 = time - number_1 * 60; - - if (number_1 < 10) { - number_1 = "0" + number_1; - } - - if (number_2 < 10) { - number_2 = "0" + number_2; - } - - label = number_1 + ":" + number_2; - return label; -}, _window$GameTool.getNumber = function getNumber(number, type) { - // console.log(type,"需要转换的数字为:",number); - var count = 1000; - var place = type - 3; - - if (number > Math.pow(count, 8) * Math.pow(10, place)) { - if (number / Math.pow(count, 8) < 100) number = parseInt(number / Math.pow(count, 8) * 10) / 10 + "S";else number = parseInt(number / Math.pow(count, 8)) + "S"; - } else if (number > Math.pow(count, 7) * Math.pow(10, place)) { - if (number / Math.pow(count, 7) < 100) number = parseInt(number / Math.pow(count, 7) * 10) / 10 + "s";else number = parseInt(number / Math.pow(count, 7)) + "s"; - } else if (number > Math.pow(count, 6) * Math.pow(10, place)) { - if (number / Math.pow(count, 6) < 100) number = parseInt(number / Math.pow(count, 6) * 10) / 10 + "Q";else number = parseInt(number / Math.pow(count, 6)) + "Q"; - } else if (number > Math.pow(count, 5) * Math.pow(10, place)) { - if (number / Math.pow(count, 5) < 100) number = parseInt(number / Math.pow(count, 5) * 10) / 10 + "q";else number = parseInt(number / Math.pow(count, 5)) + "q"; - } else if (number > Math.pow(count, 4) * Math.pow(10, place)) { - if (number / Math.pow(count, 4) < 100) number = parseInt(number / Math.pow(count, 4) * 10) / 10 + "t";else number = parseInt(number / Math.pow(count, 4)) + "t"; - } else if (number > Math.pow(count, 3) * Math.pow(10, place)) { - if (number / Math.pow(count, 3) < 100) number = parseInt(number / Math.pow(count, 3) * 10) / 10 + "b";else number = parseInt(number / Math.pow(count, 3)) + "b"; - } else if (number > Math.pow(count, 2) * Math.pow(10, place)) { - if (number / Math.pow(count, 2) < 100) number = parseInt(number / Math.pow(count, 2) * 10) / 10 + "m";else number = parseInt(number / Math.pow(count, 2)) + "m"; - } else if (number > Math.pow(count, 1) * Math.pow(10, place)) { - if (number / Math.pow(count, 1) < 100) { - number = parseInt(number / Math.pow(count, 1) * 10) / 10 + "k"; - } else number = parseInt(number / Math.pow(count, 1)) + "k"; - } else { - number = parseInt(number / Math.pow(count, 0)) + ""; - } // console.log("结果为"+type+"位数",number); - - - return number; -}, _window$GameTool.begainTiming = function begainTiming() { - this._startTime = new Date().getTime(); -}, _window$GameTool["endTiming"] = function endTiming() { - var endTime = new Date().getTime(); - this._endTime = endTime; - this._totalTime = endTime - this._startTime; -}, _window$GameTool.getScoreTime = function getScoreTime() { - var endTime = new Date().getTime(); - var tempTime = endTime - this._startTime; - - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - - GM_INFO.currScore += tempTime; - this._startTime = endTime; -}, _window$GameTool.getFormatTime = function getFormatTime(time) { - var date = new Date(); - date.setTime(time); - var ms = date.getMilliseconds(); // let msString = date.getMilliseconds(); - - var msString = parseInt(ms / 10) % 100; - var secondString = date.getSeconds(); - var minString = date.getMinutes(); - - if (msString < 10) { - msString = "0" + msString; - } - - if (secondString < 10) { - secondString = "0" + secondString; - } - - secondString = secondString + ":"; - - if (minString < 10) { - minString = "0" + minString; - } - - minString = minString + ":"; - return minString + secondString + msString; -}, _window$GameTool.pushLister = function pushLister() {}, _window$GameTool.removeAllLister = function removeAllLister() {}, _window$GameTool); + }, + beginTiming: function () { + this._startTime = new Date().getTime(); + }, + endTiming: function () { + this._endTime = new Date().getTime(); + // this._totalTime = endTime - this._startTime; + }, + //如果是判断时常的游戏 调用此方法 + updateScoreTime: function () { + var endTime = new Date().getTime(); + var tempTime = endTime - this._startTime; + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + this._endTime += tempTime / 1000; + this._totalTime = this._endTime.toFixed(2); + GameData_1.default._instance.GM_INFO.currScore = this._totalTime; + this._startTime = endTime; + }, + //倒计时调用此方法 + countDown: function () { + this._endTime = new Date().getTime(); + this._totalTime = Math.floor((this._endTime - this._startTime) / 1000); + GameData_1.default._instance.GM_INFO.remainingTime = GameData_1.default._instance.GM_INFO.totalTime - this._totalTime; + }, + getGameInfo: function (node) { + var jg = false; + return jg; + }, + //根据服务器数据重置所需要所有数据 + reset: function () { + console.log("本地数据丢失,重新启动游戏"); + cc.director.loadScene('LoadScene'); + }, + setGameInfo: function (pd) { + }, + //输入秒,返回需要展示时间格式 + getTimeMargin: function (second) { + var total = second; + var hour = Math.floor(total / (60 * 60)); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + var min = Math.floor(afterHour / 60); //计算整数分 + var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + return '剩余:' + hour + ':' + min + ':' + afterMin; + }, + getTimeMargin2: function (second) { + var total = second; + var min = null; + var afterMin = null; + var hour = Math.floor(total / (60 * 60)); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + min = Math.floor(afterHour / 60); //计算整数分 + if (min < 10) + min = "0" + min; + afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + if (afterMin < 10) + afterMin = "0" + afterMin; + return '剩余:' + min + ':' + afterMin; + }, + setFrindBlock: function (userid) { + }, + //将时间转换为59:23 + getTime: function (time) { + var label = ""; + var number_1 = null; + var number_2 = null; + number_1 = Math.floor(time / 60); + number_2 = time - number_1 * 60; + if (number_1 < 10) { + number_1 = "0" + number_1; + } + if (number_2 < 10) { + number_2 = "0" + number_2; + } + label = number_1 + ":" + number_2; + return label; + }, + //number 为传进来的数值,type为最多显示几位数 + getNumber: function (number, type) { + // console.log(type,"需要转换的数字为:",number); + var count = 1000; + var place = type - 3; + if (number > Math.pow(count, 8) * Math.pow(10, place)) { + if (number / Math.pow(count, 8) < 100) + number = Math.floor(number / Math.pow(count, 8) * 10) / 10 + "S"; + else + number = Math.floor(number / Math.pow(count, 8)) + "S"; + } + else if (number > Math.pow(count, 7) * Math.pow(10, place)) { + if (number / Math.pow(count, 7) < 100) + number = Math.floor(number / Math.pow(count, 7) * 10) / 10 + "s"; + else + number = Math.floor(number / Math.pow(count, 7)) + "s"; + } + else if (number > Math.pow(count, 6) * Math.pow(10, place)) { + if (number / Math.pow(count, 6) < 100) + number = Math.floor(number / Math.pow(count, 6) * 10) / 10 + "Q"; + else + number = Math.floor(number / Math.pow(count, 6)) + "Q"; + } + else if (number > Math.pow(count, 5) * Math.pow(10, place)) { + if (number / Math.pow(count, 5) < 100) + number = Math.floor(number / Math.pow(count, 5) * 10) / 10 + "q"; + else + number = Math.floor(number / Math.pow(count, 5)) + "q"; + } + else if (number > Math.pow(count, 4) * Math.pow(10, place)) { + if (number / Math.pow(count, 4) < 100) + number = Math.floor(number / Math.pow(count, 4) * 10) / 10 + "t"; + else + number = Math.floor(number / Math.pow(count, 4)) + "t"; + } + else if (number > Math.pow(count, 3) * Math.pow(10, place)) { + if (number / Math.pow(count, 3) < 100) + number = Math.floor(number / Math.pow(count, 3) * 10) / 10 + "b"; + else + number = Math.floor(number / Math.pow(count, 3)) + "b"; + } + else if (number > Math.pow(count, 2) * Math.pow(10, place)) { + if (number / Math.pow(count, 2) < 100) + number = Math.floor(number / Math.pow(count, 2) * 10) / 10 + "m"; + else + number = Math.floor(number / Math.pow(count, 2)) + "m"; + } + else if (number > Math.pow(count, 1) * Math.pow(10, place)) { + if (number / Math.pow(count, 1) < 100) { + number = Math.floor(number / Math.pow(count, 1) * 10) / 10 + "k"; + } + else + number = Math.floor(number / Math.pow(count, 1)) + "k"; + } + else { + number = Math.floor(number / Math.pow(count, 0)) + ""; + } + // console.log("结果为"+type+"位数",number); + return number; + }, + begainTiming: function () { + this._startTime = new Date().getTime(); + }, + endTiming2: function () { + var endTime = new Date().getTime(); + this._endTime = endTime; + this._totalTime = endTime - this._startTime; + }, + getScoreTime: function () { + var endTime = new Date().getTime(); + var tempTime = endTime - this._startTime; + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + GameData_1.default._instance.GM_INFO.currScore += tempTime; + this._startTime = endTime; + }, + getFormatTime: function (time) { + var date = new Date(); + date.setTime(time); + var ms = date.getMilliseconds(); + // let msString = date.getMilliseconds(); + var msString = null; + var secondString = null; + var minString = null; + msString = Math.floor(ms / 10) % 100; + secondString = date.getSeconds(); + minString = date.getMinutes(); + if (msString < 10) { + msString = "0" + msString; + } + if (secondString < 10) { + secondString = "0" + secondString; + } + secondString = secondString + ":"; + if (minString < 10) { + minString = "0" + minString; + } + minString = minString + ":"; + return minString + secondString + msString; + }, + pushLister: function () { + }, + removeAllLister: function () { + }, +}; +exports.GameTool = GameTool; cc._RF.pop(); } @@ -548,4 +266,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxHYW1lVG9vbC5qcyJdLCJuYW1lcyI6WyJTdG9yYWdlTWVzc2FnZSIsInJlcXVpcmUiLCJ3aW5kb3ciLCJHYW1lVG9vbCIsIl9zdGFydFRpbWUiLCJfZW5kVGltZSIsIl90b3RhbFRpbWUiLCJnZXRTZWVkUmFuZG9tIiwibWluIiwibWF4IiwiR01fSU5GTyIsImN1cnJTZWVkIiwicm5kIiwidG1wIiwicGFyc2VJbnQiLCJnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZyIsInNpemUiLCJjYyIsIndpblNpemUiLCJ3aWR0aCIsImhlaWdodCIsInNldEZpdCIsImNhbnZhcyIsImZsYWciLCJzdWJtaXRTY29yZUJ1dHRvbkZ1bmMiLCJmZW4yIiwibnVtYmVyIiwiY29uc29sZSIsImxvZyIsImZlbiIsIkNDX1dFQ0hBVEdBTUUiLCJ3eCIsInBvc3RNZXNzYWdlIiwibWVzc2FnZVR5cGUiLCJNQUlOX01FTlVfRkVOIiwiTUFJTl9NRU5VX05VTSIsInNjb3JlIiwiZ2V0VGlwIiwiaW5kZXgiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJiZWdpblRpbWluZyIsIkRhdGUiLCJnZXRUaW1lIiwiZW5kVGltaW5nIiwidXBkYXRlU2NvcmVUaW1lIiwiZW5kVGltZSIsInRlbXBUaW1lIiwicm91bmQiLCJkaXJlY3RvciIsImdldEFuaW1hdGlvbkludGVydmFsIiwidG9GaXhlZCIsImN1cnJTY29yZSIsImNvdW50RG93biIsInJlbWFpbmluZ1RpbWUiLCJ0b3RhbFRpbWUiLCJodHRwUmVxdWVzdCIsInVybCIsImRhdGEiLCJzdWNjZXNzIiwiZmFpbCIsImdldE5ldHdvcmtUeXBlIiwicmVzIiwibmV0d29ya1R5cGUiLCJyZXF1ZXN0IiwiZ2xvYmFsRGF0YSIsInJlcXVlc3RBUEkiLCJoZWFkZXIiLCJCQVNFNjRfSldUX1RPS0VOIiwibWV0aG9kIiwiaHR0cFJlcXVlc3RfTm90b2tlbiIsImdldEdhbWVJbmZvIiwibm9kZSIsImpnIiwibm9kZXMiLCJhcHBpZCIsImdldFVzZXJJbmZvVXJsIiwiZ2FtZVVzZXJJbmZvIiwia2luZ191c2VyIiwidW5sb2NrXzEiLCJ1bmxvY2tfMiIsImNvaW4iLCJnZXRTdG9yYWdlIiwic2V0U3RvcmFnZSIsImxvYWRTY2VuZSIsIm9uU2hvdyIsInF1ZXJ5Iiwia2V5MSIsInNldEZyaW5kSGVscCIsImtleTIiLCJzZXRGcmluZEJsb2NrIiwia2V5MyIsInNldEZyaW5kQmxvY2tNYXgiLCJvbkhpZGUiLCJ0ZW1wIiwibGV2ZWwiLCJzZXRHYW1lSW5mbyIsInJlc2V0IiwicGQiLCJyaWNoZXN0IiwibGVhdmVfdGltZSIsInZhbHVlT2YiLCJnZXRUaW1lTWFyZ2luIiwic2Vjb25kIiwidG90YWwiLCJob3VyIiwiYWZ0ZXJIb3VyIiwiYWZ0ZXJNaW4iLCJnZXRUaW1lTWFyZ2luMiIsInVzZXJpZCIsInVzZXJfaWQiLCJlbnRyeUJsb2NrIiwidGltZSIsImxhYmVsIiwibnVtYmVyXzEiLCJudW1iZXJfMiIsImdldE51bWJlciIsInR5cGUiLCJjb3VudCIsInBsYWNlIiwicG93IiwiYmVnYWluVGltaW5nIiwiZ2V0U2NvcmVUaW1lIiwiZ2V0Rm9ybWF0VGltZSIsImRhdGUiLCJzZXRUaW1lIiwibXMiLCJnZXRNaWxsaXNlY29uZHMiLCJtc1N0cmluZyIsInNlY29uZFN0cmluZyIsImdldFNlY29uZHMiLCJtaW5TdHJpbmciLCJnZXRNaW51dGVzIiwicHVzaExpc3RlciIsInJlbW92ZUFsbExpc3RlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUlBLGNBQWMsR0FBR0MsT0FBTyxDQUFDLFNBQUQsQ0FBUCxDQUFtQkQsY0FBeEM7O0FBQ0FFLE1BQU0sQ0FBQ0MsUUFBUDtBQUNJQyxFQUFBQSxVQUFVLEVBQUUsQ0FEaEI7QUFFSUMsRUFBQUEsUUFBUSxFQUFFLENBRmQ7QUFHSUMsRUFBQUEsVUFBVSxFQUFFLENBSGhCO0FBSUlDLEVBQUFBLGFBQWEsRUFBRSx1QkFBVUMsR0FBVixFQUFl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O0FBQ0FrRixFQUFBQSxJQUFJLENBQUNDLE9BQUwsQ0FBYWIsSUFBYjtBQUVBLE1BQUljLEVBQUUsR0FBR0YsSUFBSSxDQUFDRyxlQUFMLEVBQVQsQ0FMMkIsQ0FNM0I7O0FBQ0EsTUFBSUMsUUFBUSxHQUFHbkgsUUFBUSxDQUFDaUgsRUFBRSxHQUFHLEVBQU4sQ0FBUixHQUFvQixHQUFuQztBQUVBLE1BQUlHLFlBQVksR0FBR0wsSUFBSSxDQUFDTSxVQUFMLEVBQW5CO0FBRUEsTUFBSUMsU0FBUyxHQUFHUCxJQUFJLENBQUNRLFVBQUwsRUFBaEI7O0FBRUEsTUFBSUosUUFBUSxHQUFHLEVBQWYsRUFBbUI7QUFDZkEsSUFBQUEsUUFBUSxHQUFHLE1BQU1BLFFBQWpCO0FBQ0g7O0FBQ0QsTUFBSUMsWUFBWSxHQUFHLEVBQW5CLEVBQXVCO0FBQ25CQSxJQUFBQSxZQUFZLEdBQUcsTUFBTUEsWUFBckI7QUFDSDs7QUFDREEsRUFBQUEsWUFBWSxHQUFHQSxZQUFZLEdBQUcsR0FBOUI7O0FBRUEsTUFBSUUsU0FBUyxHQUFHLEVBQWhCLEVBQW9CO0FBQ2hCQSxJQUFBQSxTQUFTLEdBQUcsTUFBTUEsU0FBbEI7QUFDSDs7QUFDREEsRUFBQUEsU0FBUyxHQUFHQSxTQUFTLEdBQUcsR0FBeEI7QUFFQSxTQUFPQSxTQUFTLEdBQUdGLFlBQVosR0FBMkJELFFBQWxDO0FBRUgsQ0Fsa0JMLG1CQW1rQklLLFVBbmtCSixHQW1rQmUsc0JBQVksQ0FFdEIsQ0Fya0JMLG1CQXNrQklDLGVBdGtCSixHQXNrQm9CLDJCQUFZLENBRTNCLENBeGtCTCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsidmFyIFN0b3JhZ2VNZXNzYWdlID0gcmVxdWlyZShcIlN0b3JhZ2VcIikuU3RvcmFnZU1lc3NhZ2U7XHJcbndpbmRvdy5HYW1lVG9vbCA9IHtcclxuICAgIF9zdGFydFRpbWU6IDAsXHJcbiAgICBfZW5kVGltZTogMCxcclxuICAgIF90b3RhbFRpbWU6IDAsXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBtYXggPSBtYXggfHwgMTtcclxuICAgICAgICBtaW4gPSBtaW4gfHwgMDtcclxuICAgICAgICBHTV9JTkZPLmN1cnJTZWVkID0gKEdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBHTV9JTkZPLmN1cnJTZWVkIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuICAgIFxyXG4gICAgZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdDogZnVuY3Rpb24gKGNhbnZhcykge1xyXG4gICAgICAgIGxldCBmbGFnID0gR2FtZVRvb2wuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLkuI3mmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRXaWR0aCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAvLyBjYW52YXMuZml0SGVpZ2h0ID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLmmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRXaWR0aCA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRIZWlnaHQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZsYWc7XHJcbiAgICB9LFxyXG5cclxuICAgIC8vIHN1Ym1pdFNjb3JlQnV0dG9uRnVuYzogZnVuY3Rpb24oc2NvcmUxLGZlbjEpe1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKFwi5LiK5Lyg5YiG5pWwOlwiLHNjb3JlMSxmZW4xKVxyXG4gICAgLy8gICAgIC8vIHZhciBzY29yZSA9IHNjb3JlMTtcclxuICAgIC8vICAgICAvLyB2YXIgZmVuID0gZmVuMTtcclxuICAgIC8vICAgICAvLyBpZiAoQ0NfV0VDSEFUR0FNRSkge1xyXG4gICAgLy8gICAgIC8vICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgLy8gICAgIC8vICAgICAgICAgbWVzc2FnZVR5cGU6IDMsXHJcbiAgICAvLyAgICAgLy8gICAgICAgICBNQUlOX01FTlVfTlVNOiBcImd1YW5cIixcclxuICAgIC8vICAgICAvLyAgICAgICAgIHNjb3JlOiBzY29yZSxcclxuICAgIC8vICAgICAvLyAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgIC8vICAgICAvLyAgICAgICAgIGZlbjogZmVuLFxyXG4gICAgLy8gICAgIC8vICAgICB9KTtcclxuICAgIC8vICAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICAgIC8vICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBzY29yZSlcclxuICAgIC8vICAgICAvLyB9XHJcbiAgICAvLyAgICAgLy8gcmV0dXJuIHRydWU7XHJcbiAgICAvLyB9LFxyXG5cclxuXHJcbiAgICBzdWJtaXRTY29yZUJ1dHRvbkZ1bmM6IGZ1bmN0aW9uKGZlbjIsbnVtYmVyKXtcclxuICAgIFx0Y29uc29sZS5sb2coXCJudW1iZXI9XCIsbnVtYmVyKVxyXG4gICAgICAgIGlmKG51bWJlciA9PSAwKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLkuIrkvKDliIbmlbA6XCIsZmVuMilcclxuICAgICAgICAgICAgdmFyIGZlbiA9IGZlbjI7XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUeXBlOiAzLFxyXG4gICAgICAgICAgICAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgICAgICAgICAgICAgICAgICBNQUlOX01FTlVfTlVNOiBcImZlblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjb3JlOiBmZW4sXHJcbiAgICAgICAgICAgICAgICAgICAgZmVuOiAwLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBmZW4pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLkuIrkvKDnibnmrorliIbmlbA6XCIsZmVuMilcclxuICAgICAgICAgICAgdmFyIGZlbiA9IGZlbjI7XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUeXBlOiA3LFxyXG4gICAgICAgICAgICAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgICAgICAgICAgICAgICAgICBNQUlOX01FTlVfTlVNOiBcImZlblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjb3JlOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGZlbjogZmVuLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBmZW4pXHJcbiAgICAgICAgICAgIH0gICBcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFRpcDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBpbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDQpICsgMTtcclxuICAgICAgICBzd2l0Y2ggKGluZGV4KSB7XHJcbiAgICAgICAgICAgIGNhc2UgMToge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwi5qC55o2u5bCP55CD55qE5L2N572u77yM5ZCI55CG5pmD5Yqo5omL5py677yM56Gu5L+d5bCP55CD5LiN5o6J5Ye65pyo5p2/44CCXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlIDI6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBcIuagueaNruWwj+eQg+S9jee9ruaOp+WItuaZg+WKqOW5heW6pu+8jOi/h+Wkp+aIlui/h+Wwj+mDveS4jeaYr+S4quWlvemAieaLqeOAglwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAzOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCLkuI3opoHooqvlpKnkuIrmjonokL3nmoTpmpznoo3lkJPliLDvvIzmnInml7blgJnlroPlj43ogIzkvJrluK7kvaDkv53mjIHlubPooaHjgIJcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgNDoge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwi5bCd6K+V552A6aG25byA5o6J6JC955qE6Zqc56KN77yM5piv5Liq5b6I6YW355qE546p5rOV44CCXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgYmVnaW5UaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgIH0sXHJcblxyXG4gICAgZW5kVGltaW5nOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuX3RvdGFsVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICB9LFxyXG4gICAgLy/lpoLmnpzmmK/liKTmlq3ml7bluLjnmoTmuLjmiI8g6LCD55So5q2k5pa55rOVXHJcbiAgICB1cGRhdGVTY29yZVRpbWU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIGxldCB0ZW1wVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICAgICAgaWYgKHRlbXBUaW1lIDwgMCB8fCB0ZW1wVGltZSA+IDUwMCkge1xyXG4gICAgICAgICAgICB0ZW1wVGltZSA9IE1hdGgucm91bmQoY2MuZGlyZWN0b3IuZ2V0QW5pbWF0aW9uSW50ZXJ2YWwoKSAqIDEwMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9lbmRUaW1lICs9IHRlbXBUaW1lIC8gMTAwMDtcclxuICAgICAgICB0aGlzLl90b3RhbFRpbWUgPSB0aGlzLl9lbmRUaW1lLnRvRml4ZWQoMik7XHJcbiAgICAgICAgR01fSU5GTy5jdXJyU2NvcmUgPSB0aGlzLl90b3RhbFRpbWU7XHJcbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gZW5kVGltZTtcclxuICAgIH0sXHJcbiAgICAvL+WAkuiuoeaXtuiwg+eUqOatpOaWueazlVxyXG4gICAgY291bnREb3duOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IHBhcnNlSW50KCh0aGlzLl9lbmRUaW1lIC0gdGhpcy5fc3RhcnRUaW1lKSAvIDEwMDApO1xyXG4gICAgICAgIEdNX0lORk8ucmVtYWluaW5nVGltZSA9IEdNX0lORk8udG90YWxUaW1lIC0gdGhpcy5fdG90YWxUaW1lO1xyXG4gICAgfSxcclxuXHJcbiAgICBodHRwUmVxdWVzdCh1cmwsIGRhdGEsIHN1Y2Nlc3MsIGZhaWwpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIui/m+WFpee9kee7nOivt+axgjpcIik7XHJcbiAgICAgICAgd3guZ2V0TmV0d29ya1R5cGUoe1xyXG4gICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgIHZhciBuZXR3b3JrVHlwZSA9IHJlcy5uZXR3b3JrVHlwZTtcclxuICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZyhuZXR3b3JrVHlwZSk7XHJcbiAgICAgICAgICAgICAgLy/mnInnvZHnu5znirbmgIHkuItcclxuICAgICAgICAgICAgICBpZihuZXR3b3JrVHlwZSA9PSBcIndpZmlcIiB8fG5ldHdvcmtUeXBlID09IFwiNGdcIiB8fCBuZXR3b3JrVHlwZSA9PSBcIjNnXCIgfHwgbmV0d29ya1R5cGUgPT1cInVua25vd25cIil7XHJcbiAgICAgICAgICAgICAgICAgICAgd3gucmVxdWVzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogd2luZG93Lmdsb2JhbERhdGEucmVxdWVzdEFQSSArIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCAvLyDpu5jorqTlgLxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzp3aW5kb3cuZ2xvYmFsRGF0YS5CQVNFNjRfSldUX1RPS0VOPydCZWFyZXIgJyt3aW5kb3cuZ2xvYmFsRGF0YS5CQVNFNjRfSldUX1RPS0VOOicnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjpzdWNjZXNzJyxyZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjpmYWlsJywgcmVzLFwi5aSx6LSldXJs5Li6XCIsdXJsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmYWlsKHJlcyl7XHJcbiAgICAgICAgICAgICAgICBmYWlsKHJlcylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OicsIHVybCwgZGF0YSwgc3VjY2VzcywgZmFpbClcclxuXHJcbiAgICB9LFxyXG5cclxuICAgIGh0dHBSZXF1ZXN0X05vdG9rZW4odXJsLCBkYXRhLCBzdWNjZXNzLCBmYWlsKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjonLCB1cmwsIGRhdGEsIHN1Y2Nlc3MsIGZhaWwpXHJcbiAgICAgICAgd3guZ2V0TmV0d29ya1R5cGUoe1xyXG4gICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgIHZhciBuZXR3b3JrVHlwZSA9IHJlcy5uZXR3b3JrVHlwZTtcclxuICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZyhuZXR3b3JrVHlwZSk7XHJcbiAgICAgICAgICAgICAgLy/mnInnvZHnu5znirbmgIHkuItcclxuICAgICAgICAgICAgICBpZihuZXR3b3JrVHlwZSA9PSBcIndpZmlcIiB8fG5ldHdvcmtUeXBlID09IFwiNGdcIiB8fCBuZXR3b3JrVHlwZSA9PSBcIjNnXCIgfHwgbmV0d29ya1R5cGUgPT1cInVua25vd25cIil7XHJcbiAgICAgICAgICAgICAgICAgICAgd3gucmVxdWVzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogd2luZG93Lmdsb2JhbERhdGEucmVxdWVzdEFQSSArIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCAvLyDpu5jorqTlgLxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OnN1Y2Nlc3MnLHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OmZhaWwnLCByZXMsXCLlpLHotKV1cmzkuLpcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbChyZXMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBmYWlsKHJlcylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZmFpbChyZXMpe1xyXG4gICAgICAgICAgICAgICAgZmFpbChyZXMpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcblxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRHYW1lSW5mbzogZnVuY3Rpb24obm9kZSl7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgdmFyIG5vZGVzID0gbm9kZTtcclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgJ2FwcGlkJzogd2luZG93Lmdsb2JhbERhdGEuYXBwaWRcclxuICAgICAgICB9XHJcbiAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLmdldFVzZXJJbmZvVXJsLCBkYXRhLCBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mbyA9IHJlcy5kYXRhLmtpbmdfdXNlcjsgIC8vdXNlcl9pZOWcqOi/memHjFxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIuaLv+WIsOacjeWKoeWZqOeahOS/oeaBr1wiLHJlcy5kYXRhKTtcclxuXHJcbiAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mbyl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIuiOt+W+l+acjeWKoeWZqOa4uOaIj+S/oeaBr+aIkOWKnzpcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8pO1xyXG4gICAgICAgICAgICAgICAgaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVubG9ja18xKVxyXG4gICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8udW5sb2NrXzEgPSB3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8udW5sb2NrXzE7XHJcbiAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby51bmxvY2tfMilcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLnVubG9ja18yID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVubG9ja18yO1xyXG4gICAgICAgICAgICAvL+WmguaenOacjeWKoeWZqOaciemHkeW4geS/oeaBr1xyXG4gICAgICAgICAgICBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uY29pbil7XHJcbiAgICAgICAgICAgICAgICAvL+acrOWcsOS5n+aciemHkeW4geS/oeaBrywg5Lul5pys5Zyw5Li65Li7LOaKiuacrOWcsOmHkeW4geS/oeaBr+WQjOatpeWIsOacjeWKoeWZqFxyXG4gICAgICAgICAgICAgICAgaWYoU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcIkNvaW5cIikpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5jb2luICE9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8uY29pbiA9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiQ29pblwiLHdpbmRvdy5HTV9JTkZPLmNvaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gICAvL+WmguaenOacrOWcsOayoeaciemHkeW4geS/oeaBryAsIOS7peacjeWKoeWZqOmHkeW4geS/oeaBr+S4uuS4u1xyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuR01fSU5GTy5jb2luID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmNvaW47XHJcbiAgICAgICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcIkNvaW5cIix3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy/mnKzlnLDkuZ/mnInph5HluIHkv6Hmga8sIOS7peacrOWcsOS4uuS4uyzmiormnKzlnLDph5HluIHkv6Hmga/lkIzmraXliLDmnI3liqHlmahcclxuICAgICAgICAgICAgICAgIGlmKFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8uY29pbiA9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiQ29pblwiLHdpbmRvdy5HTV9JTkZPLmNvaW4pO1xyXG4gICAgICAgICAgICAgICAgfSAgIC8v5aaC5p6c5pys5Zyw5rKh5pyJ6YeR5biB5L+h5oGvICwg5Lul5pyN5Yqh5Zmo6YeR5biB5L+h5oGv5Li65Li7XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmNvaW4gPSAyMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcIkNvaW5cIix3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKCdHYW1lQmVnaW4nKTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLljbPlsIbov5vlhaXov5nph4xcIik7XHJcbiAgICAgICAgICAgIC8vIGlmKFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJsZXZlbFwiKSl7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacrOWcsOacieetiee6p+S/oeaBrztcIik7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacjeWKoeWZqOS/oeaBr+etiee6p+S4ujpcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8ubGV2ZWwpO1xyXG4gICAgICAgICAgICAvLyAgICAgd2luZG93LkdNX0lORk8ubGV2ZWwgPSBTdG9yYWdlTWVzc2FnZS5nZXRTdG9yYWdlKFwibGV2ZWxcIik7XHJcbiAgICAgICAgICAgIC8vICAgICB2YXIgdGVtcCA9IHdpbmRvdy5HYW1lVG9vbC5zdWJtaXRTY29yZUJ1dHRvbkZ1bmMod2luZG93LkdNX0lORk8ubGV2ZWwsd2luZG93LkdNX0lORk8uY29pbik7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacrOWcsOetiee6p+S/oeaBr+S4ujpcIix3aW5kb3cuR01fSU5GTy5sZXZlbCk7XHJcbiAgICAgICAgICAgIC8vICAgICAvL+acrOWcsOWtmOWCqOetiee6pyDlsI/kuo7mnI3liqHlmajnrYnnuqcsIOetieS6juacrOWcsOaVsOaNruS4ouWksSzov5nml7bku6XmnI3liqHlmajmlbDmja7kuLrkuLvph43mlrDmnoTlu7rmuLjmiI9cclxuICAgICAgICAgICAgLy8gICAgIGlmKHdpbmRvdy5HTV9JTkZPLmxldmVsIDwgd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsKXtcclxuICAgICAgICAgICAgLy8gICAgICAgICAvLyBub2Rlcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmxldmVsID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHZhciB0ZW1wID0gd2luZG93LkdhbWVUb29sLnN1Ym1pdFNjb3JlQnV0dG9uRnVuYyh3aW5kb3cuR01fSU5GTy5sZXZlbCx3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICB3aW5kb3cuR2FtZVRvb2wucmVzZXQoKTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gICAgIC8v5q2j5bi46L+b5YWl5ri45oiPLOS7peacrOWcsOaVsOaNruS4uuS4uyzmnI3liqHlmajmlbDmja7kuLrovoVcclxuICAgICAgICAgICAgLy8gICAgIGVsc2V7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgY29uc29sZS5sb2coXCLmnKzlnLDmlbDmja7lpKfku6XmnKzlnLDkuLvmlbDmja7kuLrkuLtcIik7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgLy8gd2luZG93LkdhbWVUb29sLnNldEdhbWVJbmZvKHRydWUpO1xyXG4gICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vIGVsc2V7XHJcbiAgICAgICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcIuesqOWcsOayoeetiee6p+aVsOaNrlwiKTtcclxuICAgICAgICAgICAgLy8gICAgIC8vIG5vZGVzLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vICAgICB3aW5kb3cuR01fSU5GTy5sZXZlbCA9IHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZXZlbDtcclxuICAgICAgICAgICAgLy8gICAgIHZhciB0ZW1wID0gd2luZG93LkdhbWVUb29sLnN1Ym1pdFNjb3JlQnV0dG9uRnVuYyh3aW5kb3cuR01fSU5GTy5sZXZlbCx3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgLy8gICAgIHdpbmRvdy5HYW1lVG9vbC5yZXNldCgpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3eC5vblNob3coZnVuY3Rpb24ocmVzKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihyZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihyZXMucXVlcnkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLliIbkuqvkuK3luKbnmoTkv6Hmga9cIixyZXMucXVlcnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzLnF1ZXJ5LmtleTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5zZXRGcmluZEhlbHAocmVzLnF1ZXJ5LmtleTEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzLnF1ZXJ5LmtleTIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5zZXRGcmluZEJsb2NrKHJlcy5xdWVyeS5rZXkyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlcy5xdWVyeS5rZXkzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuR2FtZVRvb2wuc2V0RnJpbmRCbG9ja01heChyZXMucXVlcnkua2V5Myk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHd4Lm9uSGlkZShmdW5jdGlvbihyZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5qOA5rWL6YCA5Ye65ri45oiPXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpbmRvdy5hcm0gPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBmb3IodmFyIGk9MDsgaTwxMjsgaSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgd2luZG93LmFybVtpXSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIHdpbmRvdy5hcm1baV0gPSB7ZXJyb3I6XCJlcnJvclwifTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gd2luZG93LmFybSA9IFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJhcm1cIix3aW5kb3cuYXJtKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgdGVtcCA9IHdpbmRvdy5HYW1lVG9vbC5zdWJtaXRTY29yZUJ1dHRvbkZ1bmMod2luZG93LkdNX0lORk8ubGV2ZWwsd2luZG93LkdNX0lORk8uY29pbik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LkdhbWVUb29sLnNldEdhbWVJbmZvKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5ou/5Yiw5pyN5Yqh5Zmo5L+h5oGv5aSx6LSlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0sZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJnZXTnlKjmiLfkv6Hmga/lpLHotKVcIixyZXMpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfSxcclxuICAgIC8v5qC55o2u5pyN5Yqh5Zmo5pWw5o2u6YeN572u5omA6ZyA6KaB5omA5pyJ5pWw5o2uXHJcbiAgICByZXNldDogZnVuY3Rpb24oKXtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uYXJtKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiYXJtXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmFybSk7XHJcbiAgICAgICAgLy8gaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJpY2hlc3RfY29pbikgXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJjb2luXCIscGFyc2VJbnQod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJpY2hlc3RfY29pbikpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5kaW1vbmQpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJkaW1vbmRcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uZGltb25kKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uYnV5X3RpbWUpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJidXlfVGltZVwiLHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5idXlfdGltZSk7XHJcbiAgICAgICAgLy8gaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmRpbW9uZF90aW1lKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiZGltb25kX1RpbWVcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uZGltb25kX3RpbWUpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZXZlbClcclxuICAgICAgICAvLyAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcImxldmVsXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8udG90YWxfU3BlZWQpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJ0b3RhbF9TcGVlZFwiLHBhcnNlSW50KHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby50b3RhbF9TcGVlZCkpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZWF2ZV90aW1lKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwibGVhdmVfdGltZVwiLHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZWF2ZV90aW1lKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8ucmV3YXJkMSlcclxuICAgICAgICAvLyAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcInNoYXJlX0FycmF5XCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJld2FyZDEpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5yZXdhcmQyKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwic2hhcmVfMTAwXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJld2FyZDIpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJHTV9JTkZPXCIsd2luZG93LkdNX0lORk8pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi5pys5Zyw5pWw5o2u5Lii5aSxLOmHjeaWsOWQr+WKqOa4uOaIj1wiKTtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoJ0xvYWRTY2VuZScpO1xyXG4gICAgfSxcclxuXHJcbiAgICBzZXRHYW1lSW5mbzogZnVuY3Rpb24ocGQpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAvLyBcInJpY2hlc3RfY29pblwiOndpbmRvdy5jb2luK1wiXCIsXHJcbiAgICAgICAgICAgIC8vIFwiYXJtXCI6d2luZG93LmFybSxcclxuICAgICAgICAgICAgLy8gXCJidXlfdGltZVwiOndpbmRvdy5idXlfVGltZSxcclxuICAgICAgICAgICAgLy8gXCJkaW1vbmRcIjpwYXJzZUludCh3aW5kb3cuZGltb25kKSxcclxuICAgICAgICAgICAgLy8gXCJkaW1vbmRfdGltZVwiOndpbmRvdy5kaW1vbmRfVGltZSxcclxuICAgICAgICAgICAgLy8gXCJsZXZlbFwiOndpbmRvdy5HTV9JTkZPLmxldmVsLFxyXG4gICAgICAgICAgICAvLyBcInRvdGFsX3NwZWVkXCI6d2luZG93LnRvdGFsX1NwZWVkK1wiXCIsXHJcbiAgICAgICAgICAgIC8vIFwicmV3YXJkXzFcIjp3aW5kb3cuR01fSU5GTy5zaGFyZV9BcnJheSwgICAgICAvL+eUqOS6juWtmOWCqDbkuKrnuqLljIXnmoTpooblj5bkv6Hmga9cclxuICAgICAgICAgICAgLy8gXCJyZXdhcmRfMlwiOndpbmRvdy5zaGFyZV8xMDAgICAgICAgICAgICAgICAgIC8v55So5LqO5a2Y5YKoMTAw5Liq57qi5YyF55qE6aKG5Y+W5L+h5oGvXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5a2Y5YKo5LmL5YmN5qOA5rWLOlwiLHdpbmRvdy5hcm0sYXJtcyk7XHJcbiAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLnJpY2hlc3QsIGRhdGEsIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ+WtmOWCqHVzZXJJbmZv5oiQ5YqfJywgcmVzKTtcclxuICAgICAgICAgICAgaWYoIXBkKXtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmxlYXZlX3RpbWUgPSByZXMuZGF0YS5sZWF2ZV90aW1lO1xyXG4gICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcImxlYXZlX3RpbWVcIix3aW5kb3cuR01fSU5GTy5sZWF2ZV90aW1lKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9LGZ1bmN0aW9uKHJlcyl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCflrZjlgqh1c2VySW5mb+Wksei0pScsIHJlcyk7XHJcbiAgICAgICAgICAgIGlmKCFwZCl7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cuR01fSU5GTy5sZWF2ZV90aW1lID0gcGFyc2VJbnQobmV3IERhdGUoKS52YWx1ZU9mKCkvMTAwMCk7XHJcbiAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwibGVhdmVfdGltZVwiLGRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcblxyXG5cclxuICAgIC8v6L6T5YWl56eSLOi/lOWbnumcgOimgeWxleekuuaXtumXtOagvOW8j1xyXG4gICAgZ2V0VGltZU1hcmdpbjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gcGFyc2VJbnQodG90YWwgLyAoNjAgKiA2MCkpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoYWZ0ZXJIb3VyIC8gNjApOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgbGV0IGFmdGVyTWluID0gdG90YWwgLSBob3VyICogNjAgKiA2MCAtIG1pbiAqIDYwOy8v5Y+W5b6X566X5Ye65YiG5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgcmV0dXJuICfliankvZk6JyArIGhvdXIgKyAnOicgKyBtaW4gKyAnOicgKyBhZnRlck1pblxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRUaW1lTWFyZ2luMjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gcGFyc2VJbnQodG90YWwgLyAoNjAgKiA2MCkpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoYWZ0ZXJIb3VyIC8gNjApOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgaWYobWluIDwgMTApIG1pbiA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBhZnRlck1pbiA9IFwiMFwiICsgYWZ0ZXJNaW47XHJcbiAgICAgICAgcmV0dXJuICfliankvZk6JyAgKyBtaW4gKyAnOicgKyBhZnRlck1pblxyXG4gICAgfSxcclxuXHJcbiAgICBzZXRGcmluZEJsb2NrOiBmdW5jdGlvbih1c2VyaWQpe1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5re75Yqg5pe25YCZ55qEdXNlcmlkXCIpO1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICB1c2VyX2lkOnVzZXJpZFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpZih1c2VyaWQgIT0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVzZXJfaWQpe1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIui/m+WIhuS6q+eahOS4jeaYr+iHquW3sVwiKTtcclxuICAgICAgICAgICAgLy8ge1xyXG4gICAgICAgICAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLmVudHJ5QmxvY2ssIGRhdGEsIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5re75Yqg57qi5YyF5Yqp5Yqb5L+h5oGv5oiQ5YqfJywgcmVzKVxyXG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfmt7vliqDnuqLljIXliqnlipvkv6Hmga/lpLHotKUnLCByZXMpXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIGVsc2V7XHJcbiAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKFwi6L+b5YWl5YiG5Lqr55qE5piv6Ieq5bexXCIpO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH0sXHJcblxyXG4gICAgLy8gc2V0RnJpbmRCbG9ja01heDogZnVuY3Rpb24odXNlcmlkKXtcclxuICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIua3u+WKoOaXtuWAmeeahHVzZXJpZFwiKTtcclxuICAgIC8vICAgICBsZXQgZGF0YSA9IHtcclxuICAgIC8vICAgICAgICAgdXNlcl9pZDp1c2VyaWRcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgLy8gaWYodXNlcmlkICE9IHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby51c2VyX2lkKXtcclxuICAgIC8vICAgICAgICAgLy8gY29uc29sZS5sb2coXCLov5vliIbkuqvnmoTkuI3mmK/oh6rlt7FcIik7XHJcbiAgICAvLyAgICAgICAgIC8vIHtcclxuICAgIC8vICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5odHRwUmVxdWVzdCh3aW5kb3cuZ2xvYmFsRGF0YS5lbnRyeUJsb2NrTWF4LCBkYXRhLCBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+a3u+WKoOacgOWQjueahOWlveWPi+S/oeaBr+aIkOWKnycsIHJlcylcclxuICAgIC8vICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5re75Yqg5pyA5ZCO55qE5aW95Y+L5L+h5oGv5L+h5oGv5aSx6LSlJywgcmVzKVxyXG4gICAgLy8gICAgICAgICAgICAgfSlcclxuICAgIC8vICAgICAgICAgLy8gfVxyXG4gICAgLy8gICAgIC8vIH1cclxuICAgIC8vICAgICAvLyBlbHNle1xyXG4gICAgLy8gICAgIC8vICAgICBjb25zb2xlLmxvZyhcIui/m+WFpeWIhuS6q+eahOaYr+iHquW3sVwiKTtcclxuICAgIC8vICAgICAvLyB9XHJcbiAgICAvLyB9LFxyXG5cclxuXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBtYXggPSBtYXggfHwgMTtcclxuICAgICAgICBtaW4gPSBtaW4gfHwgMDtcclxuICAgICAgICBHTV9JTkZPLmN1cnJTZWVkID0gKEdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBHTV9JTkZPLmN1cnJTZWVkIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+WwhuaXtumXtOi9rOaNouS4ujU5OjIzXHJcbiAgICBnZXRUaW1lOiBmdW5jdGlvbih0aW1lKXtcclxuICAgICAgICB2YXIgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgIHZhciBudW1iZXJfMSA9IHBhcnNlSW50KHRpbWUvNjApO1xyXG4gICAgICAgIHZhciBudW1iZXJfMiA9IHRpbWUtbnVtYmVyXzEqNjA7XHJcbiAgICAgICAgaWYobnVtYmVyXzEgPCAxMCl7XHJcbiAgICAgICAgICAgIG51bWJlcl8xID0gXCIwXCIrbnVtYmVyXzE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKG51bWJlcl8yIDwgMTApe1xyXG4gICAgICAgICAgICBudW1iZXJfMiA9IFwiMFwiK251bWJlcl8yO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCA9IG51bWJlcl8xICsgXCI6XCIgKyBudW1iZXJfMjtcclxuXHJcbiAgICAgICAgcmV0dXJuIGxhYmVsO1xyXG4gICAgfSxcclxuICAgIC8vbnVtYmVyIOS4uuS8oOi/m+adpeeahOaVsOWAvCx0eXBl5Li65pyA5aSa5pi+56S65Yeg5L2N5pWwXHJcbiAgICBnZXROdW1iZXI6IGZ1bmN0aW9uKG51bWJlcix0eXBlKXtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0eXBlLFwi6ZyA6KaB6L2s5o2i55qE5pWw5a2X5Li6OlwiLG51bWJlcik7XHJcbiAgICAgICAgdmFyIGNvdW50ID0gMTAwMDtcclxuICAgICAgICB2YXIgcGxhY2UgPSB0eXBlIC0gMztcclxuICAgICAgICBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw4KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsOCkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsOCkqMTApLzEwK1wiU1wiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsOCkpK1wiU1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDcpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSoxMCkvMTArXCJzXCI7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSkrXCJzXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsNikqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDYpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDYpKjEwKS8xMCtcIlFcIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDYpKStcIlFcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw1KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsNSkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNSkqMTApLzEwK1wicVwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNSkpK1wicVwiO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw0KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsNCkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNCkqMTApLzEwK1widFwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNCkpK1widFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDMpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSoxMCkvMTArXCJiXCI7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSkrXCJiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsMikqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDIpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDIpKjEwKS8xMCtcIm1cIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDIpKStcIm1cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCwxKSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsMSkgPCAxMDApe1xyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDEpKjEwKS8xMCtcImtcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsMSkpK1wia1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsMCkpK1wiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi57uT5p6c5Li6XCIrdHlwZStcIuS9jeaVsFwiLG51bWJlcik7XHJcbiAgICAgICAgcmV0dXJuIG51bWJlcjtcclxuICAgIH0sXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIGJlZ2FpblRpbWluZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgfSxcclxuXHJcbiAgICBlbmRUaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuX2VuZFRpbWUgPSBlbmRUaW1lO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNjb3JlVGltZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBlbmRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgbGV0IHRlbXBUaW1lID0gZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTtcclxuICAgICAgICBpZiAodGVtcFRpbWUgPCAwIHx8IHRlbXBUaW1lID4gNTAwKSB7XHJcbiAgICAgICAgICAgIHRlbXBUaW1lID0gTWF0aC5yb3VuZChjYy5kaXJlY3Rvci5nZXRBbmltYXRpb25JbnRlcnZhbCgpICogMTAwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEdNX0lORk8uY3VyclNjb3JlICs9IHRlbXBUaW1lO1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IGVuZFRpbWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldEZvcm1hdFRpbWU6IGZ1bmN0aW9uICh0aW1lKSB7XHJcblxyXG4gICAgICAgIGxldCBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICBkYXRlLnNldFRpbWUodGltZSk7XHJcblxyXG4gICAgICAgIGxldCBtcyA9IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCk7XHJcbiAgICAgICAgLy8gbGV0IG1zU3RyaW5nID0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcclxuICAgICAgICBsZXQgbXNTdHJpbmcgPSBwYXJzZUludChtcyAvIDEwKSAlIDEwMDtcclxuXHJcbiAgICAgICAgbGV0IHNlY29uZFN0cmluZyA9IGRhdGUuZ2V0U2Vjb25kcygpO1xyXG5cclxuICAgICAgICBsZXQgbWluU3RyaW5nID0gZGF0ZS5nZXRNaW51dGVzKCk7XHJcblxyXG4gICAgICAgIGlmIChtc1N0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIG1zU3RyaW5nID0gXCIwXCIgKyBtc1N0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNlY29uZFN0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIHNlY29uZFN0cmluZyA9IFwiMFwiICsgc2Vjb25kU3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWNvbmRTdHJpbmcgPSBzZWNvbmRTdHJpbmcgKyBcIjpcIjtcclxuXHJcbiAgICAgICAgaWYgKG1pblN0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIG1pblN0cmluZyA9IFwiMFwiICsgbWluU3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtaW5TdHJpbmcgPSBtaW5TdHJpbmcgKyBcIjpcIjtcclxuXHJcbiAgICAgICAgcmV0dXJuIG1pblN0cmluZyArIHNlY29uZFN0cmluZyArIG1zU3RyaW5nO1xyXG5cclxuICAgIH0sXHJcbiAgICBwdXNoTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgICByZW1vdmVBbGxMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuXHJcbn07Il19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxHYW1lVG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBbUM7QUFFbkMsT0FBTztBQUNQLElBQUksUUFBUSxHQUFHO0lBQ1gsVUFBVSxFQUFFLENBQUM7SUFDYixRQUFRLEVBQUUsQ0FBQztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsYUFBYSxFQUFFLFVBQVUsR0FBRyxFQUFFLEdBQUc7UUFDN0IsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDZixHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNmLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDcEcsSUFBSSxHQUFHLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekQsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELDBCQUEwQixFQUFFO1FBQ3hCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDdEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN2QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNE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LENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBQyxLQUFLLENBQUMsRUFBQztZQUM3QyxJQUFHLE1BQU0sR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsR0FBRyxHQUFHO2dCQUM3QixNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxHQUFDLEdBQUcsQ0FBQzs7Z0JBRXhELE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLEdBQUcsQ0FBQztTQUN6RDthQUNJLElBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFDLEtBQUssQ0FBQyxFQUFDO1lBQ2xELElBQUcsTUFBTSxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUc7Z0JBQzdCLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsR0FBQyxFQUFFLEdBQUMsR0FBRyxDQUFDOztnQkFFeEQsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsR0FBRyxDQUFDO1NBQ3pEO2FBQ0ksSUFBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcs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LENBQUMsVUFBVSxFQUFFLENBQUM7UUFDakMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLFFBQVEsR0FBRyxFQUFFLEVBQUU7WUFDZixRQUFRLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztTQUM3QjtRQUNELElBQUksWUFBWSxHQUFHLEVBQUUsRUFBRTtZQUNuQixZQUFZLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQztTQUNyQztRQUNELFlBQVksR0FBRyxZQUFZLEdBQUcsR0FBRyxDQUFDO1FBRWxDLElBQUksU0FBUyxHQUFHLEVBQUUsRUFBRTtZQUNoQixTQUFTLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQztTQUMvQjtRQUNELFNBQVMsR0FBRyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQzVCLE9BQU8sU0FBUyxHQUFHLFlBQVksR0FBRyxRQUFRLENBQUM7SUFFL0MsQ0FBQztJQUNELFVBQVUsRUFBQztJQUVYLENBQUM7SUFDRCxlQUFlLEVBQUM7SUFFaEIsQ0FBQztDQUVKLENBQUM7QUFDTyw0QkFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi4vR2FtZURhdGFcIjtcclxuaW1wb3J0IHsgU3RvcmFnZU1lc3NhZ2UgfSBmcm9tIFwiLi9TdG9yYWdlXCI7XHJcbi8v5pyA5aSn5bel5YW357G7XHJcbnZhciBHYW1lVG9vbCA9IHtcclxuICAgIF9zdGFydFRpbWU6IDAsXHJcbiAgICBfZW5kVGltZTogMCxcclxuICAgIF90b3RhbFRpbWU6IDAsXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBtYXggPSBtYXggfHwgMTtcclxuICAgICAgICBtaW4gPSBtaW4gfHwgMDtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXJyU2VlZCA9IChHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXJyU2VlZCAqIDkzMDEgKyA0OTI5NykgJSAyMzMyODA7XHJcbiAgICAgICAgbGV0IHJuZCA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1cnJTZWVkIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKHRtcCk7XHJcbiAgICB9LFxyXG4gICAgXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuICAgICAgICBsZXQgd2lkdGggPSBzaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBzaXplLmhlaWdodDtcclxuICAgICAgICBpZiAoKGhlaWdodCAvIHdpZHRoKSA+ICgxNi4yIC8gOSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0sXHJcbiAgICAvL+WIpOaWreWFqOmdouWxj+mAgumFjVxyXG4gICAgc2V0Rml0OiBmdW5jdGlvbiAoY2FudmFzKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSBHYW1lVG9vbC5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuS4jeaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICAgICAgLy8gY2FudmFzLmZpdFdpZHRoID0gZmFsc2U7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRIZWlnaHQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICAgICAgLy8gY2FudmFzLmZpdFdpZHRoID0gdHJ1ZTtcclxuICAgICAgICAgICAgLy8gY2FudmFzLmZpdEhlaWdodCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH0sXHJcblxyXG4gICAgZ2V0VGlwOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbGV0IGluZGV4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNCkgKyAxO1xyXG4gICAgICAgIHN3aXRjaCAoaW5kZXgpIHtcclxuICAgICAgICAgICAgY2FzZSAxOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCLmoLnmja7lsI/nkIPnmoTkvY3nva7vvIzlkIjnkIbmmYPliqjmiYvmnLrvvIznoa7kv53lsI/nkIPkuI3mjonlh7rmnKjmnb/jgIJcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgMjoge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwi5qC55o2u5bCP55CD5L2N572u5o6n5Yi25pmD5Yqo5bmF5bqm77yM6L+H5aSn5oiW6L+H5bCP6YO95LiN5piv5Liq5aW96YCJ5oup44CCXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlIDM6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBcIuS4jeimgeiiq+WkqeS4iuaOieiQveeahOmanOeijeWQk+WIsO+8jOacieaXtuWAmeWug+WPjeiAjOS8muW4ruS9oOS/neaMgeW5s+ihoeOAglwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSA0OiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCLlsJ3or5XnnYDpobblvIDmjonokL3nmoTpmpznoo3vvIzmmK/kuKrlvojphbfnmoTnjqnms5XjgIJcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBiZWdpblRpbWluZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgfSxcclxuXHJcbiAgICBlbmRUaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLl9lbmRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgLy8gdGhpcy5fdG90YWxUaW1lID0gZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTtcclxuICAgIH0sXHJcbiAgICAvL+WmguaenOaYr+WIpOaWreaXtuW4uOeahOa4uOaIjyDosIPnlKjmraTmlrnms5VcclxuICAgIHVwZGF0ZVNjb3JlVGltZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBlbmRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgbGV0IHRlbXBUaW1lID0gZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTtcclxuICAgICAgICBpZiAodGVtcFRpbWUgPCAwIHx8IHRlbXBUaW1lID4gNTAwKSB7XHJcbiAgICAgICAgICAgIHRlbXBUaW1lID0gTWF0aC5yb3VuZChjYy5kaXJlY3Rvci5nZXRBbmltYXRpb25JbnRlcnZhbCgpICogMTAwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2VuZFRpbWUgKz0gdGVtcFRpbWUgLyAxMDAwO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IHRoaXMuX2VuZFRpbWUudG9GaXhlZCgyKTtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXJyU2NvcmUgPSB0aGlzLl90b3RhbFRpbWU7XHJcbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gZW5kVGltZTtcclxuICAgIH0sXHJcbiAgICAvL+WAkuiuoeaXtuiwg+eUqOatpOaWueazlVxyXG4gICAgY291bnREb3duOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IE1hdGguZmxvb3IoKHRoaXMuX2VuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWUpIC8gMTAwMCk7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ucmVtYWluaW5nVGltZSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsVGltZSAtIHRoaXMuX3RvdGFsVGltZTtcclxuICAgIH0sXHJcblxyXG4gICAgZ2V0R2FtZUluZm86IGZ1bmN0aW9uKG5vZGUpe1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH0sXHJcbiAgICAvL+agueaNruacjeWKoeWZqOaVsOaNrumHjee9ruaJgOmcgOimgeaJgOacieaVsOaNrlxyXG4gICAgcmVzZXQ6IGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLmnKzlnLDmlbDmja7kuKLlpLEs6YeN5paw5ZCv5Yqo5ri45oiPXCIpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZSgnTG9hZFNjZW5lJyk7XHJcbiAgICB9LFxyXG5cclxuICAgIHNldEdhbWVJbmZvOiBmdW5jdGlvbihwZCl7XHJcbiAgIFxyXG4gICAgfSxcclxuICAgIC8v6L6T5YWl56eSLOi/lOWbnumcgOimgeWxleekuuaXtumXtOagvOW8j1xyXG4gICAgZ2V0VGltZU1hcmdpbjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gTWF0aC5mbG9vcih0b3RhbCAvICg2MCAqIDYwKSk7Ly/orqHnrpfmlbTmlbDlsI/ml7bmlbBcclxuICAgICAgICBsZXQgYWZ0ZXJIb3VyID0gdG90YWwgLSBob3VyICogNjAgKiA2MDsvL+WPluW+l+eul+WHuuWwj+aXtuaVsOWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaW4gPSBNYXRoLmZsb29yKGFmdGVySG91ciAvIDYwKTsvL+iuoeeul+aVtOaVsOWIhlxyXG4gICAgICAgIGxldCBhZnRlck1pbiA9IHRvdGFsIC0gaG91ciAqIDYwICogNjAgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIHJldHVybiAn5Ymp5L2ZOicgKyBob3VyICsgJzonICsgbWluICsgJzonICsgYWZ0ZXJNaW5cclxuICAgIH0sXHJcblxyXG4gICAgZ2V0VGltZU1hcmdpbjI6KHNlY29uZCkgPT4ge1xyXG4gICAgICAgIGxldCB0b3RhbCA9IHNlY29uZDtcclxuICAgICAgICBsZXQgbWluID0gbnVsbDtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSBudWxsO1xyXG4gICAgICAgIGxldCBob3VyID0gTWF0aC5mbG9vcih0b3RhbCAvICg2MCAqIDYwKSk7Ly/orqHnrpfmlbTmlbDlsI/ml7bmlbBcclxuICAgICAgICBsZXQgYWZ0ZXJIb3VyID0gdG90YWwgLSBob3VyICogNjAgKiA2MDsvL+WPluW+l+eul+WHuuWwj+aXtuaVsOWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIG1pbiA9IE1hdGguZmxvb3IoYWZ0ZXJIb3VyIC8gNjApOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgaWYobWluIDwgMTApIG1pbiA9IFwiMFwiK21pbjtcclxuICAgICAgICBhZnRlck1pbiA9IHRvdGFsIC0gaG91ciAqIDYwICogNjAgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGlmKGFmdGVyTWluIDwgMTApIGFmdGVyTWluID0gXCIwXCIgKyBhZnRlck1pbjtcclxuICAgICAgICByZXR1cm4gJ+WJqeS9mTonICArIG1pbiArICc6JyArIGFmdGVyTWluXHJcbiAgICB9LFxyXG5cclxuICAgIHNldEZyaW5kQmxvY2s6IGZ1bmN0aW9uKHVzZXJpZCl7XHJcblxyXG4gICAgfSxcclxuICAgIC8v5bCG5pe26Ze06L2s5o2i5Li6NTk6MjNcclxuICAgIGdldFRpbWU6IGZ1bmN0aW9uKHRpbWUpe1xyXG4gICAgICAgIHZhciBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgdmFyIG51bWJlcl8xID0gbnVsbDtcclxuICAgICAgICB2YXIgbnVtYmVyXzIgPSBudWxsO1xyXG4gICAgICAgIG51bWJlcl8xID0gTWF0aC5mbG9vcih0aW1lLzYwKVxyXG4gICAgICAgIG51bWJlcl8yID0gdGltZS1udW1iZXJfMSo2MDtcclxuICAgICAgICBpZihudW1iZXJfMSA8IDEwKXtcclxuICAgICAgICAgICAgbnVtYmVyXzEgPSBcIjBcIitudW1iZXJfMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYobnVtYmVyXzIgPCAxMCl7XHJcbiAgICAgICAgICAgIG51bWJlcl8yID0gXCIwXCIrbnVtYmVyXzI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsID0gbnVtYmVyXzEgKyBcIjpcIiArIG51bWJlcl8yO1xyXG4gICAgICAgIHJldHVybiBsYWJlbDtcclxuICAgIH0sXHJcbiAgICAvL251bWJlciDkuLrkvKDov5vmnaXnmoTmlbDlgLwsdHlwZeS4uuacgOWkmuaYvuekuuWHoOS9jeaVsFxyXG4gICAgZ2V0TnVtYmVyOiBmdW5jdGlvbihudW1iZXIsdHlwZSl7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2codHlwZSxcIumcgOimgei9rOaNoueahOaVsOWtl+S4ujpcIixudW1iZXIpO1xyXG4gICAgICAgIHZhciBjb3VudCA9IDEwMDA7XHJcbiAgICAgICAgdmFyIHBsYWNlID0gdHlwZSAtIDM7XHJcbiAgICAgICAgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsOCkqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDgpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsOCkqMTApLzEwK1wiU1wiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCw4KSkrXCJTXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsNykqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDcpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsNykqMTApLzEwK1wic1wiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSkrXCJzXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsNikqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDYpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsNikqMTApLzEwK1wiUVwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCw2KSkrXCJRXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsNSkqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDUpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsNSkqMTApLzEwK1wicVwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCw1KSkrXCJxXCI7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDQpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCw0KSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguZmxvb3IobnVtYmVyL01hdGgucG93KGNvdW50LDQpKjEwKS8xMCtcInRcIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsNCkpK1widFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDMpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguZmxvb3IobnVtYmVyL01hdGgucG93KGNvdW50LDMpKjEwKS8xMCtcImJcIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsMykpK1wiYlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDIpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCwyKSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguZmxvb3IobnVtYmVyL01hdGgucG93KGNvdW50LDIpKjEwKS8xMCtcIm1cIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsMikpK1wibVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDEpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCwxKSA8IDEwMCl7XHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCwxKSoxMCkvMTArXCJrXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIvTWF0aC5wb3coY291bnQsMSkpK1wia1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlci9NYXRoLnBvdyhjb3VudCwwKSkrXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCLnu5PmnpzkuLpcIit0eXBlK1wi5L2N5pWwXCIsbnVtYmVyKTtcclxuICAgICAgICByZXR1cm4gbnVtYmVyO1xyXG4gICAgfSxcclxuXHJcbiAgICBiZWdhaW5UaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgIH0sXHJcblxyXG4gICAgZW5kVGltaW5nMjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBlbmRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IGVuZFRpbWU7XHJcbiAgICAgICAgdGhpcy5fdG90YWxUaW1lID0gZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTtcclxuICAgIH0sXHJcbiAgICBnZXRTY29yZVRpbWU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIGxldCB0ZW1wVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICAgICAgaWYgKHRlbXBUaW1lIDwgMCB8fCB0ZW1wVGltZSA+IDUwMCkge1xyXG4gICAgICAgICAgICB0ZW1wVGltZSA9IE1hdGgucm91bmQoY2MuZGlyZWN0b3IuZ2V0QW5pbWF0aW9uSW50ZXJ2YWwoKSAqIDEwMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXJyU2NvcmUgKz0gdGVtcFRpbWU7XHJcbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gZW5kVGltZTtcclxuICAgIH0sXHJcblxyXG4gICAgZ2V0Rm9ybWF0VGltZTogZnVuY3Rpb24gKHRpbWUpIHtcclxuICAgICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgZGF0ZS5zZXRUaW1lKHRpbWUpO1xyXG4gICAgICAgIGxldCBtcyA9IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCk7XHJcbiAgICAgICAgLy8gbGV0IG1zU3RyaW5nID0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcclxuICAgICAgICBsZXQgbXNTdHJpbmcgPSBudWxsO1xyXG4gICAgICAgIGxldCBzZWNvbmRTdHJpbmcgPSBudWxsO1xyXG4gICAgICAgIGxldCBtaW5TdHJpbmcgPSBudWxsO1xyXG4gICAgICAgIG1zU3RyaW5nID0gTWF0aC5mbG9vcihtcyAvIDEwKSAlIDEwMDtcclxuICAgICAgICBzZWNvbmRTdHJpbmcgPSBkYXRlLmdldFNlY29uZHMoKTtcclxuICAgICAgICBtaW5TdHJpbmcgPSBkYXRlLmdldE1pbnV0ZXMoKTtcclxuICAgICAgICBpZiAobXNTdHJpbmcgPCAxMCkge1xyXG4gICAgICAgICAgICBtc1N0cmluZyA9IFwiMFwiICsgbXNTdHJpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzZWNvbmRTdHJpbmcgPCAxMCkge1xyXG4gICAgICAgICAgICBzZWNvbmRTdHJpbmcgPSBcIjBcIiArIHNlY29uZFN0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgc2Vjb25kU3RyaW5nID0gc2Vjb25kU3RyaW5nICsgXCI6XCI7XHJcblxyXG4gICAgICAgIGlmIChtaW5TdHJpbmcgPCAxMCkge1xyXG4gICAgICAgICAgICBtaW5TdHJpbmcgPSBcIjBcIiArIG1pblN0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgbWluU3RyaW5nID0gbWluU3RyaW5nICsgXCI6XCI7XHJcbiAgICAgICAgcmV0dXJuIG1pblN0cmluZyArIHNlY29uZFN0cmluZyArIG1zU3RyaW5nO1xyXG5cclxuICAgIH0sXHJcbiAgICBwdXNoTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgICByZW1vdmVBbGxMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuXHJcbn07XHJcbmV4cG9ydCB7IEdhbWVUb29sIH07Il19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/tool/Storage.js b/temp/quick-scripts/dst/assets/Script/tool/Storage.js new file mode 100644 index 0000000..b19a416 --- /dev/null +++ b/temp/quick-scripts/dst/assets/Script/tool/Storage.js @@ -0,0 +1,56 @@ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/tool/Storage.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, 'f124cZyKJVPPobsFKRo+Uam', 'Storage'); +// Script/tool/Storage.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageMessage = void 0; +//缓存浏览器数据 +var StorageMessage = { + getStorage: function (key) { + var result = null; + if (cc.sys.localStorage.getItem(key)) { + var result = cc.sys.localStorage.getItem(key); + } + if (result) { + result = JSON.parse(result); + } + return result; + }, + setStorage: function (key, value) { + //主动拉起分享接口 + var temp = JSON.stringify(value); + cc.sys.localStorage.setItem(key, temp); + }, + removeStorage: function (key) { + //主动删除消息接口 + if (cc.sys.localStorage.getItem(key)) { + cc.sys.localStorage.removeItem(key); + } + }, +}; +exports.StorageMessage = StorageMessage; + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVM7QUFDVCxJQUFJLGNBQWMsR0FBRztJQUNqQixVQUFVLEVBQUcsVUFBUyxHQUFHO1FBQ3JCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQztZQUNsQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFHLE1BQU0sRUFBQztZQUNSLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUNELFVBQVUsRUFBRyxVQUFTLEdBQUcsRUFBQyxLQUFLO1FBQzNCLFVBQVU7UUFDVixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUNELGFBQWEsRUFBRyxVQUFTLEdBQUc7UUFDMUIsVUFBVTtRQUNWLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUNwQztJQUNILENBQUM7Q0FDSixDQUFDO0FBRU8sd0NBQWMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvL+e8k+WtmOa1j+iniOWZqOaVsOaNrlxudmFyIFN0b3JhZ2VNZXNzYWdlID0ge1xuICAgIGdldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgICB2YXIgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICAgIHZhciByZXN1bHQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYocmVzdWx0KXtcbiAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICAgIHNldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXksdmFsdWUpe1xuICAgICAgICAvL+S4u+WKqOaLiei1t+WIhuS6q+aOpeWPo1xuICAgICAgICB2YXIgdGVtcCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdGVtcClcbiAgICB9LFxuICAgIHJlbW92ZVN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgLy/kuLvliqjliKDpmaTmtojmga/mjqXlj6NcbiAgICAgIGlmKGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKXtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSlcbiAgICAgIH1cbiAgICB9LFxufTtcblxuZXhwb3J0IHsgU3RvcmFnZU1lc3NhZ2UgfTsiXX0= \ No newline at end of file diff --git a/temp/quick-scripts/src/__qc_index__.js b/temp/quick-scripts/src/__qc_index__.js index ec53bf9..1d2f8cd 100644 --- a/temp/quick-scripts/src/__qc_index__.js +++ b/temp/quick-scripts/src/__qc_index__.js @@ -16,4 +16,5 @@ require('./assets/Script/tool/AudioManager'); require('./assets/Script/tool/DynamicAtlasManager'); require('./assets/Script/tool/GameTool'); require('./assets/Script/tool/Shake'); +require('./assets/Script/tool/Storage'); require('./assets/migration/use_v2.1-2.2.1_cc.Toggle_event'); diff --git a/temp/quick-scripts/src/assets/Script/BallAudioManager.js.map b/temp/quick-scripts/src/assets/Script/BallAudioManager.js.map deleted file mode 100644 index 015d792..0000000 --- a/temp/quick-scripts/src/assets/Script/BallAudioManager.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\BallAudioManager.js"],"names":["cc","Class","Component","properties","audioGameBgm0","type","AudioClip","audioButtonClick","audioWarning","audioWin","reward","finish","rewardCount","ctor","mAudioMap","bgMusicVolume","effectMusicVolume","mMusicSwitch","mEffectSwitch","play","audioSource","loop","callback","isBgMusic","volume","sys","isBrowser","brickSound","context","audioEngine","setFinishCallback","call","bind","wx","createInnerAudioContext","autoplay","obeyMuteSwitch","onEnded","offEnded","src","nativeUrl","save","onLoad","window","addEventListener","dispatchEvent","preload","platform","WECHAT_GAME","musics","forEach","path","getAudioMusicSwitch","getAudioEffectSwitch","trunAudioSound","on","switchMusic","switchEffect","playMusicGame","stopMusic","onHide","pauseAll","onShow","resumeAll","playMusic","key","mMusicKey","stop","playBomb","audioBomb","playJiGuang","audioJiGuang","playItem1","audioItem1","playGameStart","audioGameStart","playGameOver","audioGameOver","playGameResultFailed","audioGameResultFail","playGameResultSuccess","audioGameResultSuccess","playWarning","playWin","playBrick","brickBoom","audioObj","playAudioButton","playRandomMatch","randomMatchSound","playMatchFoundSound","matchFoundSound"],"mappings":"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","sourceRoot":"/","sourcesContent":["cc.Class({\n extends: cc.Component,\n properties:{\n //背景音乐\n audioGameBgm0:{\n default:null,\n type:cc.AudioClip\n },\n // 按钮点击\n audioButtonClick:{\n default:null,\n type:cc.AudioClip\n },\n // 报警音效\n audioWarning:{\n default:null,\n type:cc.AudioClip\n },\n\n //游戏开始音效\n audioWin:{\n default:null,\n type:cc.AudioClip\n },\n\n reward: false,\n finish: false,\n rewardCount: 0\n\n },\n ctor: function () {\n this.mAudioMap = {};\n\n /**\n * 默认音量大小\n * @type {number}\n */\n this.bgMusicVolume = 0.1;\n this.effectMusicVolume = 1;\n\n this.mMusicSwitch = 1;\n this.mEffectSwitch = 1;\n },\n play : function(audioSource, loop, callback, isBgMusic) {\n if (isBgMusic && !this.mMusicSwitch) return;\n if (!isBgMusic && !this.mEffectSwitch) return;\n\n var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume;\n\n if (cc.sys.isBrowser) {\n if(audioSource == this.brickSound){\n volume = 0.1;\n } \n var context = cc.audioEngine.play(audioSource, loop, volume);\n if (callback){\n cc.audioEngine.setFinishCallback(context, function(){\n callback.call(this);\n }.bind(this));\n }\n // cc.wwx.OutPut.log('play audio effect isBrowser: ' + context.src);\n\n this.mAudioMap[audioSource] = context;\n return audioSource;\n } else {\n var context = wx.createInnerAudioContext();\n context.autoplay = true;\n context.loop = loop;\n context.obeyMuteSwitch = true;\n context.volume = volume;\n\n if (callback) {\n context.onEnded(function() {\n callback.call(this);\n }.bind(this));\n } else {\n context.offEnded();\n }\n \n // var audioPath = cc.url.raw(\"resources/BallMaster/sounds\" + audioSource.name + \".mp3\");\n context.src = audioSource.nativeUrl;\n context.play()\n this.mAudioMap[audioSource] = context;\n \n // cc.wwx.OutPut.log('play audio effect wx: ' + audioSource.nativeUrl);\n \n return audioSource;\n }\n },\n\n save: function () {\n // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch);\n // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch);\n },\n onLoad() {\n // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Music_Volume, function(volume) {\n // this.mMusicSwitch = parseInt(volume);\n // }.bind(this), 1);\n\n // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Effect_Volume, function(volume) {\n // this.mEffectSwitch = parseInt(volume);\n // }.bind(this), 1);\n\n\n this.reward = false;\n this.finish = false;\n this.rewardCount = 0;\n window.addEventListener('rewardCanUse', () => {\n // 此时激励可用 游戏内部逻辑\n this.reward = true;\n });\n\n 'undefined' != typeof window['reward'] ? \n window.dispatchEvent(window['reward']):\"\"\n\n this.preload();\n },\n preload : function() {\n if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { return; }\n\n var musics = [\n this.audioGameBgm0,\n ];\n musics.forEach(function(path) {\n // var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path;\n // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) {\n // cc.loader.load(musicPath, function(err, remoteUrl) {\n // if (err) {\n // cc.error(err.message || err);\n // return;\n // }\n // });\n // }\n })\n },\n\n getAudioMusicSwitch()\n {\n return this.mMusicSwitch;\n\n },\n getAudioEffectSwitch()\n {\n return this.mEffectSwitch;\n },\n trunAudioSound(on)\n {\n this.switchMusic(on);\n this.switchEffect(on)\n },\n switchMusic : function(on) {\n if (this.mMusicSwitch != (on?1:0))\n {\n this.mMusicSwitch = 1-this.mMusicSwitch;\n // this.save();\n \n }\n if(on)\n {\n this.playMusicGame();\n }\n else\n {\n this.stopMusic();\n }\n },\n switchEffect : function(on) {\n if (this.mEffectSwitch != (on?1:0)){\n this.mEffectSwitch = 1-this.mEffectSwitch;\n // this.save();\n\n }\n },\n onHide () {\n cc.audioEngine.pauseAll();\n\n // if (CC_JSB) {\n // } else {\n // for (var key in this.mAudioMap) {\n // if (key === this.mMusicKey) {\n // this.mAudioMap[key].pause();\n // } else {\n // this.mAudioMap[key].stop();\n // }\n // }\n // }\n },\n\n onShow () {\n cc.audioEngine.resumeAll();\n\n // if (CC_JSB) {\n // } else {\n // if (!this.mMusicSwitch) return;\n // var context = this.mAudioMap[this.mMusicKey];\n // if (context) {\n // context.play();\n // }\n // }\n },\n playMusic : function(key, callback, loop) {\n\n loop = typeof loop == 'undefined' || loop ? true : false;\n\n this.stopMusic();\n this.mMusicKey = this.play(key, loop, callback, true);\n },\n /**\n * 游戏背景音乐\n */\n playMusicGame () {\n this.playMusic(this.audioGameBgm0);\n },\n /**\n * 停止背景音乐播放\n */\n stopMusic () {\n // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey);\n\n var context = this.mAudioMap[this.mMusicKey];\n\n if (typeof(context) != 'undefined') {\n if (cc.sys.isBrowser) {\n cc.audioEngine.stop(context);\n } else {\n context.stop();\n }\n cc.audioEngine.stop(context);\n\n }\n },\n // 炸弹、火箭爆炸音效\n playBomb () {\n return this.play(this.audioBomb, false);\n },\n //激光音效\n playJiGuang()\n {\n return this.play(this.audioJiGuang, false);\n },\n //技能音效\n playItem1()\n {\n return this.play(this.audioItem1, false);\n },\n /*\n * 游戏开始音效\n *\n */\n playGameStart()\n {\n return this.play(this.audioGameStart, false);\n },\n /*\n * 失败的游戏结束\n */\n playGameOver()\n {\n return this.play(this.audioGameOver,false);\n },\n /*\n * 成功的游戏结束\n */\n playGameResultFailed()\n {\n return this.play(this.audioGameResultFail,false);\n },\n /*\n * 成功的游戏结束\n */\n playGameResultSuccess()\n {\n return this.play(this.audioGameResultSuccess,false);\n },\n /**\n * 报警的音效\n */\n playWarning()\n {\n return this.play(this.audioWarning,false);\n\n },\n\n playWin()\n {\n return this.play(this.audioWin,false);\n },\n\n /*\n * 方块碰撞的声音\n */\n playBrick()\n {\n return this.play(this.brickSound,false);\n },\n //方块破碎的声音\n brickBoom(){\n return this.play(this.audioObj,false);\n },\n /**\n * 按钮\n */\n playAudioButton () {\n return this.play(this.audioButtonClick, false);\n },\n\n playRandomMatch()\n {\n this.playMusic(this.randomMatchSound);\n },\n playMatchFoundSound()\n {\n this.stopMusic();\n return this.play(this.matchFoundSound, false);\n }\n});"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/CtrlFluxayTexture.js.map b/temp/quick-scripts/src/assets/Script/CtrlFluxayTexture.js.map deleted file mode 100644 index a508a17..0000000 --- a/temp/quick-scripts/src/assets/Script/CtrlFluxayTexture.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\CtrlFluxayTexture.js"],"names":["cc","Class","Component","properties","m_delayTime","m_fluxayTime","m_intervalTime","m_scale","m_angle","m_reviseStartTime","m_reviseTimeScale","ctor","_time","onLoad","sprite","node","getComponent","Sprite","_material","getMaterial","setProperty","refreshSpriteFrameData","update","dt","u_time","material","frame","spriteFrame","l","uv","r","b","t","u_uvOffset","Vec4","u_uvRotated","isRotated","getProperty","undefined"],"mappings":"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","sourceRoot":"/","sourcesContent":["\ncc.Class({\n extends: cc.Component,\n\n properties: {\n m_delayTime: {\n default: 0, \n },\n m_fluxayTime: {\n default: 1, \n },\n m_intervalTime: {\n default: 1, \n },\n m_scale: {\n default: 1, \n },\n m_angle: {\n default: 0, \n },\n m_reviseStartTime:{\n default: 0, \n },\n m_reviseTimeScale:{\n default: 1, \n },\n },\n\n ctor(){\n this._time = 0;\n },\n onLoad () {\n this._time -= this.m_delayTime;\n\n let sprite = this.node.getComponent(cc.Sprite);\n this._material = sprite.getMaterial(0);\n this._material.setProperty(\"u_scale\", this.m_scale);\n this._material.setProperty(\"u_angle\", this.m_angle);\n\n this.refreshSpriteFrameData();\n },\n\n update(dt) {\n if (this._time > (this.m_fluxayTime + this.m_intervalTime)) {\n this._time = 0;\n }\n\n let u_time = this._time/this.m_fluxayTime;\n if(this._time >this.m_fluxayTime)\n {\n u_time = 1+((this._time-this.m_fluxayTime)/this.m_intervalTime);\n }\n if(this.m_reviseTimeScale != null && this.m_reviseStartTime != null)\n {\n u_time = u_time/this.m_reviseTimeScale;\n u_time -= this.m_reviseStartTime;\n }\n this._material.setProperty(\"u_time\", u_time);\n this._time += dt;\n },\n\n refreshSpriteFrameData(){\n let sprite = this.node.getComponent(cc.Sprite);\n let material = sprite.getMaterial(0);\n let frame = sprite.spriteFrame;\n\n if(frame != null)\n {\n // xMin\n let l = frame.uv[0];\n // xMax\n let r = frame.uv[6];\n // yMax\n let b = frame.uv[3];\n // yMin\n let t = frame.uv[5];\n // 纹理在合图中的四个边界 uv 坐标\n let u_uvOffset = new cc.Vec4(l, t, r, b);\n // 纹理是否旋转\n let u_uvRotated = frame.isRotated() ? 1.0 : 0.0;\n // 设置材质的属性\n\n if(material.getProperty(\"u_uvOffset\") !== undefined)\n {\n material.setProperty(\"u_uvOffset\", u_uvOffset);\n }\n if(material.getProperty(\"u_uvRotated\") !== undefined)\n {\n material.setProperty(\"u_uvRotated\", u_uvRotated);\n }\n }\n }\n\n});\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/GameData.js.map b/temp/quick-scripts/src/assets/Script/GameData.js.map index 8245e3a..7925f2a 100644 --- a/temp/quick-scripts/src/assets/Script/GameData.js.map +++ b/temp/quick-scripts/src/assets/Script/GameData.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameData.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class GameData extends cc.Component {\r\n\r\n @property(cc.Label)\r\n label: cc.Label = null;\r\n\r\n @property\r\n text: string = 'hello';\r\n static _instance: any;\r\n GM_INFO: {};\r\n AudioManager: any;\r\n\r\n GAME_DATA: any[];\r\n LEVEL_INFO: { //第一难度\r\n number: number; //太阳总数 \r\n moveNumber: number; //太阳可移动个数\r\n moveSpeed: number; //太阳移动速度等级\r\n maxDistance: number; //布局后移动最大距离\r\n maxMove: number; //初始布局最大移动距离\r\n repeat: number; //是否重叠,现在0 不重叠 1 重叠1个\r\n }[];\r\n CLICK_DATA: { type: number; success: boolean; round: number; totalSunCount: number; movedSunCount: number; sunSpeed: number; overlapSunCount: number; colorList: any[]; duration: number; difficultyLevel: number; sunList: any[]; stepTimeList: any[]; remainder: number; };\r\n\r\n // LEVEL_INFO: { number: number; }[];\r\n // LEVEL_INFO:[];\r\n\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n \r\n onLoad () {\r\n if (GameData._instance == null) {\r\n GameData._instance = this;\r\n cc.game.addPersistRootNode(this.node);\r\n \r\n this.AudioManager = this.node.getComponent('BallAudioManager');\r\n }\r\n else {\r\n this.node.destroy();\r\n return;\r\n }\r\n }\r\n\r\n start () {\r\n this.GM_INFO = { \r\n // isEnd: false,\r\n mean_Time:0, //平均放箭速度\r\n total:0, //总共对的个数\r\n currSeed: 203213, //用于随机数种子\r\n gameId:'100009',\r\n userId:200139,\r\n guide:true, //是否有引导\r\n url:\"http://api.sparkus.cn\",\r\n success:false,\r\n matchId:null,\r\n custom: 0\r\n };\r\n this.LEVEL_INFO = [\r\n { //第一难度\r\n number:3, //太阳总数 \r\n moveNumber:0, //太阳可移动个数\r\n moveSpeed:0, //太阳移动速度等级\r\n maxDistance:200, //布局后移动最大距离\r\n maxMove:1200,\r\n repeat:0 //是否重叠,现在0 不重叠 1 重叠1个\r\n \r\n },\r\n { //第二难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第三难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第四难度\r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第五难度\r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第六难度\r\n number:6,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第七难度\r\n number:6,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第八难度\r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第九难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十一难度\r\n number:8,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十二难度\r\n number:8,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十三难度\r\n number:9,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十四难度\r\n number:9,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十五难度\r\n number:10,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //11 \r\n number:3,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //12 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //13 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //14 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //15 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //16 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //17 \r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //18 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //19 \r\n number:5,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //20 \r\n number:5,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n }\r\n\r\n ]\r\n\r\n this.CLICK_DATA = \r\n {\r\n type:1,\r\n success:false,\r\n round:0,\r\n totalSunCount:0,\r\n movedSunCount:0,\r\n sunSpeed:0,\r\n overlapSunCount:0,\r\n colorList:[],\r\n duration:0,\r\n difficultyLevel:0,\r\n sunList:[],\r\n stepTimeList:[],\r\n remainder:120\r\n }\r\n\r\n this.GAME_DATA = [\r\n \r\n ]\r\n }\r\n\r\n CLICK_init(){\r\n this.CLICK_DATA = \r\n {\r\n type:1,\r\n success:false,\r\n round:0,\r\n totalSunCount:0,\r\n movedSunCount:0,\r\n sunSpeed:0,\r\n overlapSunCount:0,\r\n colorList:[],\r\n duration:0,\r\n difficultyLevel:0,\r\n sunList:[],\r\n stepTimeList:[],\r\n remainder:120\r\n }\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACM,IAAA,KAAsB,EAAE,CAAC,UAAU,EAAlC,OAAO,aAAA,EAAE,QAAQ,cAAiB,CAAC;AAE1C;IAAsC,4BAAY;IAAlD;;IAsRA,CAAC;iBAtRoB,QAAQ;IAgBzB,yBAAM,GAAN;QACI,IAAI,UAAQ,CAAC,SAAS,IAAI,IAAI,EAAE;YAC5B,UAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,oBAAoB;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;SAC9D;aACI;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;SACV;IACL,CAAC;IAED,wBAAK,GAAL;QACI,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,mCAAmC;QACnC,IAAI,CAAC,SAAS,GAAG,EAChB,CAAA;IACL,CAAC;IAED,+BAAY,GAAZ;QACI,IAAI,CAAC,OAAO,GAAG;YACX,gBAAgB;YAChB,SAAS,EAAC,CAAC;YACX,KAAK,EAAC,CAAC;YACP,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAC,QAAQ;YACf,MAAM,EAAC,MAAM;YACb,KAAK,EAAC,IAAI;YACV,GAAG,EAAC,uBAAuB;YAC3B,OAAO,EAAC,KAAK;YACb,OAAO,EAAC,IAAI;YACZ,MAAM,EAAE,CAAC;SACZ,CAAC;IACN,CAAC;IAED,6BAAU,GAAV;QACI,IAAI,CAAC,UAAU;YACf;gBACI,IAAI,EAAC,CAAC;gBACN,OAAO,EAAC,KAAK;gBACb,KAAK,EAAC,CAAC;gBACP,aAAa,EAAC,CAAC;gBACf,aAAa,EAAC,CAAC;gBACf,QAAQ,EAAC,CAAC;gBACV,eAAe,EAAC,CAAC;gBACjB,SAAS,EAAC,EAAE;gBACZ,QAAQ,EAAC,CAAC;gBACV,eAAe,EAAC,CAAC;gBACjB,OAAO,EAAC,EAAE;gBACV,YAAY,EAAC,EAAE;gBACf,SAAS,EAAC,GAAG;aAChB,CAAA;IACL,CAAC;IACD,kCAAe,GAAf;QACI,IAAI,CAAC,UAAU,GAAG;YACd;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC,CAAQ,qBAAqB;aAExC;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,EAAE;gBACT,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;SAEJ,CAAA;IACL,CAAC;;IArRgB,QAAQ;QAD5B,OAAO;OACa,QAAQ,CAsR5B;IAAD,eAAC;CAtRD,AAsRC,CAtRqC,EAAE,CAAC,SAAS,GAsRjD;kBAtRoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class GameData extends cc.Component {\r\n static _instance: any;\r\n GM_INFO: {};\r\n AudioManager: any;//音频管理\r\n GAME_DATA: any[];//备用\r\n LEVEL_INFO: { //第一难度\r\n number: number; //太阳总数 \r\n moveNumber: number; //太阳可移动个数\r\n moveSpeed: number; //太阳移动速度等级\r\n maxDistance: number; //布局后移动最大距离\r\n maxMove: number; //初始布局最大移动距离\r\n repeat: number; //是否重叠,现在0 不重叠 1 重叠1个\r\n }[];\r\n //上报数据,有的游戏为一整局游戏一次上报,有的为每次操作上报\r\n CLICK_DATA: { type: number; success: boolean; round: number; totalSunCount: number; movedSunCount: number; sunSpeed: number; overlapSunCount: number; colorList: any[]; duration: number; difficultyLevel: number; sunList: any[]; stepTimeList: any[]; remainder: number; };\r\n\r\n onLoad () {\r\n if (GameData._instance == null) {\r\n GameData._instance = this;\r\n cc.game.addPersistRootNode(this.node);\r\n //设置为常驻,绑定音频以及游戏各类信息\r\n this.AudioManager = this.node.getComponent('AudioManager');\r\n }\r\n else {\r\n this.node.destroy();\r\n return;\r\n }\r\n }\r\n\r\n start () {\r\n this.GM_INFO_init();\r\n this.CLICK_init();\r\n this.LEVEL_INFO_init();\r\n //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次\r\n this.GAME_DATA = [\r\n ]\r\n }\r\n\r\n GM_INFO_init(){\r\n this.GM_INFO = { \r\n // isEnd: false,\r\n mean_Time:0, //平均放箭速度\r\n total:0, //总共对的个数\r\n currSeed: 203213, //用于随机数种子\r\n gameId:'100009',\r\n userId:200139,\r\n guide:true, //是否有引导\r\n url:\"http://api.sparkus.cn\",\r\n success:false,\r\n matchId:null,\r\n custom: 0\r\n };\r\n }\r\n\r\n CLICK_init(){\r\n this.CLICK_DATA = \r\n {\r\n type:1,\r\n success:false,\r\n round:0,\r\n totalSunCount:0,\r\n movedSunCount:0,\r\n sunSpeed:0,\r\n overlapSunCount:0,\r\n colorList:[],\r\n duration:0,\r\n difficultyLevel:0,\r\n sunList:[],\r\n stepTimeList:[],\r\n remainder:120\r\n }\r\n }\r\n LEVEL_INFO_init(){\r\n this.LEVEL_INFO = [\r\n { //第一难度\r\n number:3, //太阳总数 \r\n moveNumber:0, //太阳可移动个数\r\n moveSpeed:0, //太阳移动速度等级\r\n maxDistance:200, //布局后移动最大距离\r\n maxMove:1200,\r\n repeat:0 //是否重叠,现在0 不重叠 1 重叠1个\r\n \r\n },\r\n { //第二难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第三难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第四难度\r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第五难度\r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第六难度\r\n number:6,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第七难度\r\n number:6,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第八难度\r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第九难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十一难度\r\n number:8,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十二难度\r\n number:8,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十三难度\r\n number:9,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十四难度\r\n number:9,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十五难度\r\n number:10,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //11 \r\n number:3,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //12 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //13 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //14 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //15 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //16 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //17 \r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //18 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //19 \r\n number:5,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //20 \r\n number:5,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n }\r\n\r\n ]\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/GameManager.js.map b/temp/quick-scripts/src/assets/Script/GameManager.js.map index 8f3101a..69c3fdc 100644 --- a/temp/quick-scripts/src/assets/Script/GameManager.js.map +++ b/temp/quick-scripts/src/assets/Script/GameManager.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\nimport GameData from './GameData';\r\nimport { Notification } from './Notification';\r\nimport HttpUtil from './crypto/serverAPI';\r\n@ccclass\r\nexport default class GameManager extends cc.Component {\r\n\r\n @property(cc.Node)\r\n ball: cc.Node = null;\r\n @property(cc.Prefab)\r\n qiu1: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n qiu2: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n qiu3: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n linePrefab: cc.Prefab = null;\r\n @property(cc.Node)\r\n hit: cc.Node = null;\r\n\r\n bg1: cc.Node = null;\r\n bg2: cc.Node = null;\r\n time: cc.Label = null;\r\n\r\n // LIFE-CYCLE CALLBACKS:\r\n begin: boolean = false;\r\n fuhuo: boolean = false;\r\n over: boolean = false;\r\n show: boolean = false;\r\n countTime:number;\r\n timeCount:number;\r\n fitTop:number;\r\n fitBot:number;\r\n level:number;\r\n clickNow:number;\r\n startTime:number;\r\n overTime:number;\r\n winTime:number;\r\n clickCount:number;\r\n timeStart:number;\r\n route_Array: any[];\r\n now_Array: any[];\r\n ball_Array: any[];\r\n Line_Array: any[];\r\n Pos_Array: any[];\r\n time_Array: any[];\r\n color_Array: any[];\r\n\r\n\r\n @property(cc.Label)\r\n levelLabel: cc.Label = null;\r\n static _instance: any;\r\n moveArray: number[];\r\n repeat: number;\r\n numberRepeat: number;\r\n round: number;\r\n pause: boolean;\r\n\r\n onLoad () {\r\n\r\n }\r\n\r\n start () {\r\n this.fit();\r\n this.init();\r\n }\r\n fit(){\r\n this.fitTop = 450; //600\r\n this.fitBot = -600; //-700\r\n var jg = this.setFit();\r\n if(!jg){\r\n this.fitTop = 600;\r\n this.fitBot = -700;\r\n }\r\n }\r\n\r\n getSetScreenResolutionFlag () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n }\r\n //判断全面屏适配\r\n setFit () {\r\n let flag = this.getSetScreenResolutionFlag();\r\n if (flag) {\r\n } else {\r\n }\r\n return flag;\r\n }\r\n\r\n //初始化数据\r\n init(){\r\n this.node.getChildByName(\"GameOver\").zIndex = 100;\r\n this.node.getChildByName(\"GameOver\").active = false;\r\n this.ball.zIndex = 100;\r\n this.bg1 = this.node.getChildByName(\"bg1\");\r\n this.bg2 = this.node.getChildByName(\"bg2\");\r\n this.time = this.node.getChildByName(\"Top\").getChildByName(\"time\").getComponent(cc.Label);\r\n this.node.getChildByName(\"showBtn\").active = false;\r\n this.begin = false;\r\n this.over = false;\r\n this.fuhuo = true;\r\n this.pause = true;\r\n this.show = false;\r\n this.round = 0; \r\n this.level = 2;\r\n this.countTime = 60;\r\n if(GameData._instance.GM_INFO.custom != 0){\r\n this.level = GameData._instance.GM_INFO.custom;\r\n // this.levelLabel.string = this.level + \"\";\r\n GameData._instance.GM_INFO.custom += 1;\r\n this.countTime = 12000000;\r\n }\r\n // this.levelLabel.string = this.level + \"\";\r\n \r\n this.timeCount = 0.1;\r\n this.clickNow = 0;\r\n this.clickCount = 0;\r\n this.timeStart = 0;\r\n this.repeat = -1;\r\n this.numberRepeat = -1;\r\n this.route_Array = [];\r\n this.moveArray = [];\r\n this.now_Array = [];\r\n this.ball_Array = [];\r\n this.Pos_Array = [];\r\n this.time_Array = [];\r\n this.color_Array = [];\r\n GameData._instance.GAME_DATA = [];\r\n GameData._instance.GM_INFO.success = false;\r\n this.startTime = 0;\r\n this.overTime = 0;\r\n this.winTime = 0;\r\n GameData._instance.GM_INFO.total = 0;\r\n\r\n GameData._instance.GM_INFO.mean_Time = 0;\r\n this.schedule(this.updateCountDownTime,1);\r\n\r\n\r\n this.startGame();\r\n }\r\n\r\n backScene(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n\r\n\r\n //下一关,或者重新开始,或者返回上一关,根据level决定\r\n reStart(type){\r\n // if(GameData._instance.GM_INFO.custom != 0){\r\n // cc.director.loadScene(\"LoadScene\");\r\n // return;\r\n // }\r\n this.node.getChildByName(\"showBtn\").active = false;\r\n this.destroyLine();\r\n this.timeCount = 0.1;\r\n this.clickNow = 0;\r\n this.timeStart = 0;\r\n this.repeat = -1;\r\n this.numberRepeat = -1;\r\n \r\n this.begin = false;\r\n this.route_Array = [];\r\n this.now_Array = [];\r\n this.ball_Array = [];\r\n this.Pos_Array = [];\r\n this.moveArray = [];\r\n this.time_Array = [];\r\n this.color_Array = [];\r\n \r\n if(type == 0){\r\n this.bgMove(1);\r\n }\r\n else if(type == 1){\r\n this.startGame();\r\n }\r\n else if(type == 2){\r\n this.bgMove(-1);\r\n }\r\n \r\n }\r\n\r\n begin_Guide(){\r\n\r\n }\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n\r\n //获胜\r\n passLevel(){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance2(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n ball.active = false;\r\n this.clearSun();\r\n this.reStart(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }\r\n\r\n }\r\n //失败\r\n loseLevel(type){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(2,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.reStart(type);\r\n }\r\n })\r\n .start()\r\n }\r\n }\r\n\r\n }\r\n\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n }\r\n\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n this.clickCount += 1;\r\n let clickTime = this.getTime();\r\n this.time_Array.push((clickTime - this.timeStart))\r\n this.timeStart = this.getTime();\r\n if(data == this.clickNow){\r\n GameData._instance.AudioManager.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2); \r\n }\r\n this.clickNow += 1;\r\n // GameData._instance.GM_INFO.total += 1;\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n // setTimeout(() => {\r\n \r\n // }, 200);\r\n \r\n \r\n if(this.clickNow == this.now_Array.length){\r\n this.pause = true;\r\n GameData._instance.GM_INFO.total += this.clickNow;\r\n\r\n this.overTime = this.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n GameData._instance.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n // console.log(\"成功\",GameData._instance.GM_INFO.mean_Time,this.overTime,this.startTime);\r\n // console.log(GameData._instance.GM_INFO.mean_Time);\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n this.startTime = 0; this.overTime = 0;\r\n // console.log(\"33333333\");\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n GameData._instance.AudioManager.playWin();\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m{\r\n win.active = false;\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n if(this.level >= 15){\r\n GameData._instance.GM_INFO.success = true;\r\n this.level += 0;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n \r\n this.passLevel();\r\n }\r\n else{\r\n this.level += 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n \r\n this.passLevel();\r\n }\r\n }\r\n\r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n this.setLoss();\r\n }\r\n // this.hitAction(data)\r\n }\r\n\r\n }\r\n\r\n setLoss(){\r\n GameData._instance.AudioManager.playWarning();\r\n this.begin = false;\r\n this.overTime = this.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n GameData._instance.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n this.startTime = 0; this.overTime = 0;\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m 2){\r\n this.level -= 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n // this.fuhuo = false;\r\n this.loseLevel(2);\r\n }\r\n else{\r\n this.loseLevel(1);\r\n }\r\n }\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n\r\n hitAction(data){\r\n this.hit.active = true; this.hit.opacity = 0;\r\n this.hit.setPosition\r\n this.hit.setPosition(this.ball_Array[data].x+35,this.ball_Array[data].y+35);\r\n cc.tween(this.hit)\r\n .to(0,{opacity:255})\r\n .to(0.2,{position:cc.v3(this.hit.x-35,this.hit.y-35,0)})\r\n .delay(0.2)\r\n .to(0.1,{opacity:0})\r\n .call(() =>{\r\n this.hit.active = false;\r\n })\r\n .start();\r\n }\r\n\r\n //开始游戏\r\n startGame(){\r\n if(this.over == false && this.countTime > 0){\r\n this.pause = true;\r\n this.createSun();\r\n this.begin = false;\r\n cc.tween(this.ball)\r\n .to(0.5,{opacity:255,scale:1.3})\r\n .start();\r\n // this.runGame()\r\n }\r\n }\r\n\r\n runGame(){\r\n let time = -650;\r\n for(let i=0; i {\r\n if(this.over == false){\r\n let temp = this.now_Array[i].timeCount;\r\n if(temp > 0.5) temp = 0.5;\r\n if(i != 0){\r\n if(this.ball && this.now_Array[i]){\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.now_Array[i].x,this.now_Array[i].y),\r\n this.now_Array[i].time-temp);\r\n }\r\n }\r\n \r\n cc.tween(this.ball)\r\n .to(this.now_Array[i].time-temp,{x:this.now_Array[i].x,y:this.now_Array[i].y})\r\n .to(0.1,{scale:1})\r\n .call(()=>{\r\n this.createBall(i,this.now_Array[i].color,this.now_Array[i].speed,this.now_Array[i].repeat);\r\n if(i == this.now_Array.length -1){\r\n this.ball.opacity = 0;\r\n setTimeout(() => {\r\n this.destroyLine();\r\n this.beginGame();\r\n if(GameData._instance.LEVEL_INFO[this.level-1].moveNumber<1){\r\n this.pause = false;\r\n }\r\n else{\r\n this.moveAction();\r\n }\r\n \r\n }, 150);\r\n }\r\n })\r\n .start()\r\n }\r\n\r\n }, time);\r\n \r\n }\r\n }\r\n\r\n createMove(){\r\n if(this.over == false){\r\n let info = GameData._instance.LEVEL_INFO[this.level-1];\r\n //改变移动速度\r\n var speed = 7;\r\n if(info.moveSpeed >= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n }\r\n if(info.repeat == 1){\r\n this.repeat = parseInt((Math.random()*(info.number-1)+1) + \"\");\r\n let tempNumber = 0;\r\n // this.repeat = 4;\r\n if(this.repeat > 4){\r\n this.numberRepeat = parseInt(Math.random()*4 + \"\");\r\n if(this.repeat == (info.number-1)) //如果是最后一个 不能跟第一个重叠\r\n this.numberRepeat = this.repeat - parseInt( (Math.random()*3 + 2)+ \"\")\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n this.Pos_Array[this.repeat ] = tempNumber;\r\n }\r\n else{ // 0 1 2 3 4 5 \r\n // 6 - 3 - 1 = 2 4 01 4\r\n if(this.repeat == 0) this.repeat = 1;\r\n if((info.number-1-this.repeat ) == 2){\r\n this.numberRepeat = info.number - 1;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else if((info.number-1-this.repeat ) == 1){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) == 0){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) > 2){\r\n this.numberRepeat = parseInt(Math.random()*(info.number-this.repeat -2) + \"\") + this.repeat + 2 ;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else{\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n this.Pos_Array[this.repeat] = tempNumber;\r\n }\r\n }\r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n let pos = cc.v2(0,0);\r\n \r\n for(let z=0; z Math.random() - 0.5);\r\n if(this.moveArray[0] == 1){\r\n for(let r=info.number-1; r>=0; r--){\r\n if(this.moveArray[r] == 0){\r\n this.moveArray[r] = 1;\r\n this.moveArray[0] = 0;\r\n r = -1;\r\n }\r\n }\r\n }\r\n // debugger;\r\n //设置重叠\r\n // this.repeat = -1;\r\n // this.numberRepeat = -1;\r\n\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n for(let i =0; i {\r\n pos = this.getPos2(true,i);\r\n this.Pos_Array[i] = pos;\r\n }, timeOut*300);\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n //移动后数据 重新刷一遍赋值\r\n updateArray(){\r\n for(let i=0; i= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n } \r\n \r\n\r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n let pos = cc.v2(0,0);\r\n\r\n\r\n // this.repeat = -1;\r\n // this.numberRepeat = -1;\r\n\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n\r\n let lastNumber = 0;\r\n //锁定最后一个可移动的\r\n for(let j =0; j{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n //如果是最后一个\r\n else{\r\n let time = speed*this.calculateDistance3(this.ball_Array[i].x,this.ball_Array[i].y,this.Pos_Array[i].x,this.Pos_Array[i].y);\r\n this.ball_Array[i].getComponent(\"Sun\").move = true;\r\n cc.tween(this.ball_Array[i])\r\n .to(time,{position:this.Pos_Array[i]})\r\n .call(() =>{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n beginGame(){\r\n this.begin = true;\r\n this.startTime = this.getTime();\r\n this.timeStart = this.getTime();\r\n this.pause = false;\r\n // this.node.getChildByName(\"showBtn\").active = true;\r\n }\r\n\r\n getRandomArray(lastNumber){\r\n let num = parseInt(Math.random()*8 - 4 + \"\");\r\n let jg = num + lastNumber;\r\n if(num > 1 || num <-1){\r\n if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){\r\n jg = this.getRandomArray(lastNumber);\r\n }\r\n }\r\n else{\r\n jg = this.getRandomArray(lastNumber);\r\n }\r\n \r\n return jg;\r\n }\r\n\r\n //创建太阳所需数据\r\n createSun(){\r\n let levelData = GameData._instance.LEVEL_INFO[this.level-1];\r\n let tiemOut = 0;\r\n for(let l=0; l {\r\n if(this.over == false){\r\n let pos = this.getPos(false,l);\r\n this.Pos_Array.push(pos);\r\n if(this.Pos_Array.length == levelData.number){\r\n this.createMove();\r\n this.createPos();\r\n }\r\n }\r\n\r\n }, tiemOut*100);\r\n \r\n }\r\n // 0 0 0 0 0 0 0 0 0 0 0\r\n\r\n }\r\n\r\n createPos(){\r\n let data = {x:this.ball.x,y:this.ball.y,time:0,timeCount:0,color:0,speed:0,repeat:false};\r\n let levelData = GameData._instance.LEVEL_INFO[this.level-1];\r\n //颜色区分\r\n let colorArray = [0,1];\r\n for(let j=0; j Math.random() - 0.5);\r\n }\r\n colorArray.sort(() => Math.random() - 0.5);\r\n if(levelData.number == 4) colorArray = [0,0,0,0];\r\n this.color_Array = colorArray;\r\n\r\n\r\n for(let i=0; i 0){\r\n for(let i=0; i 0){\r\n for(let i=0; i 160){\r\n if(num == true){\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n else{\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n }\r\n return jg;\r\n }\r\n\r\n getDistance2(x1, y1, x2, y2,num) {\r\n var jg = false;\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 160){\r\n if(num == true){\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxDistance) jg = true;\r\n else jg = false;\r\n }\r\n else{\r\n jg = true;\r\n }\r\n }\r\n return jg;\r\n }\r\n\r\n\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n if(color == 0)ball = cc.instantiate(this.qiu1);\r\n else if(color == 1)ball = cc.instantiate(this.qiu2);\r\n else if(color == 2)ball = cc.instantiate(this.qiu3);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.now_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n this.ball_Array.push(ball);\r\n }\r\n\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n \r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n\r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n\r\n calculateDistance(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 800) distance = 800;\r\n const time = distance/800 * 0.6;\r\n return time;\r\n }\r\n\r\n calculateDistance2(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 1200) distance = 1200;\r\n const time = distance/1200 * 1;\r\n return time;\r\n }\r\n\r\n calculateDistance3(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 1200) distance = 1200;\r\n const time = distance/1200 * 1.5;\r\n return time;\r\n }\r\n\r\n //背景移动\r\n bgMove(type){\r\n let random = Math.random()*300 + 300;\r\n let posX = Math.random()*600 - 300;\r\n \r\n let y1 = this.bg1.y - random*type;\r\n // let y2 = this.bg2.y - random*type;\r\n let time1 = 0.7*(random/400);\r\n\r\n cc.tween(this.ball)\r\n .to(0.3,{scale:1.3})\r\n .to(time1,{x:posX})\r\n .start();\r\n\r\n cc.tween(this.bg1)\r\n .delay(0.3)\r\n .to(time1,{y:y1})\r\n .start();\r\n\r\n // cc.tween(this.bg2)\r\n // .delay(0.3)\r\n // .to(time1,{y:y2})\r\n // .start();\r\n\r\n setTimeout(() => {\r\n // if(this.over == false && GameData._instance.GM_INFO.custom == 0){\r\n // this.startGame();\r\n // }\r\n if(this.over == false){\r\n this.startGame();\r\n }\r\n \r\n }, time1*1500);\r\n }\r\n //时间格式转换\r\n getTimeMargin(second:number) {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n }\r\n\r\n \r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0 && this.pause == false) {\r\n this.countTime -= 1;\r\n this.time.string = this.getTimeMargin(this.countTime);\r\n if(this.countTime < 5){\r\n cc.tween(this.time.node)\r\n .to(0.25,{scale:1.5,color:cc.color(255,0,0)})\r\n .to(0.25,{scale:1,color:cc.color(255,255,255)})\r\n .start()\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.2,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .start();\r\n }\r\n if(this.countTime <= 0){\r\n this.begin = false;\r\n this.over = true;\r\n this.unschedule(this.updateCountDownTime);\r\n this.setLoss();\r\n var time = 0;\r\n \r\n // console.log(GameData._instance.GM_INFO.mean_Time,this.clickCount);\r\n if(this.clickCount > 0) time = parseInt(GameData._instance.GM_INFO.mean_Time/this.clickCount + \"\");\r\n GameData._instance.GM_INFO.mean_Time = parseInt(time/100 + \"\");\r\n GameData._instance.GM_INFO.mean_Time = GameData._instance.GM_INFO.mean_Time /10;\r\n // console.log( GameData._instance.GM_INFO.mean_Time,time);\r\n // debugger;\r\n if(time > 10000) time = (Math.random()*10+5)*100;\r\n this.setRank(time);\r\n }\r\n }\r\n }\r\n\r\n setData(){\r\n let data = GameData._instance.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n console.log(matchId);\r\n let postData = {\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n console.log(\"上传数据:\")\r\n HttpUtil.uploadUserLogData(postData,function(){})\r\n }\r\n\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(matchId[10]);\r\n if(this.round == 1){\r\n char += 1;\r\n }\r\n matchId = matchId.slice(0, 10) + char + \"\";\r\n GameData._instance.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n\r\n return matchId;\r\n }\r\n\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n }\r\n\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n \r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n \r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n GameData._instance.GM_INFO.matchId = data;\r\n return data;\r\n }\r\n\r\n setRank(time){\r\n let postData = {\r\n \"type\":1,\r\n \"reactionTime\": time,\r\n \"totalSunCount\": GameData._instance.GM_INFO.total,\r\n \"success\": GameData._instance.GM_INFO.success\r\n \r\n };\r\n // console.log(postData);\r\n HttpUtil.rankData(1,function(){},postData);\r\n this.node.getChildByName(\"GameOver\").active = true;\r\n this.node.getChildByName(\"GameOver\").opacity = 0;\r\n cc.tween(this.node.getChildByName(\"GameOver\"))\r\n .to(0.4,{opacity:255})\r\n .delay(2)\r\n .to(0.4,{opacity:50})\r\n .call(() =>{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n \r\n }\r\n\r\n outPut(){\r\n\r\n let data = GameData._instance.CLICK_DATA;\r\n GameData._instance.GAME_DATA = [];\r\n\r\n GameData._instance.GAME_DATA.push(GameData._instance.CLICK_DATA);\r\n GameData._instance.CLICK_init();\r\n }\r\n\r\n showNumber(){\r\n if(this.show == false) this.show = true;\r\n else if(this.show == true) this.show = false;\r\n for(let i=0; i (16.2 / 9)) return false;\r\n return true;\r\n }\r\n //判断全面屏适配\r\n setFit () {\r\n let flag = this.getSetScreenResolutionFlag();\r\n if (flag) {\r\n } else {\r\n }\r\n return flag;\r\n }\r\n //返回首页\r\n backScene(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n //下一关,或者重新开始,或者返回上一关,根据level决定\r\n reStart(type){\r\n // if(GameData._instance.GM_INFO.custom != 0){\r\n // cc.director.loadScene(\"LoadScene\");\r\n // return;\r\n // }\r\n this.node.getChildByName(\"showBtn\").active = false;\r\n this.destroyLine();\r\n this.timeCount = 0.1;\r\n this.clickNow = 0;\r\n this.timeStart = 0;\r\n this.repeat = -1;\r\n this.numberRepeat = -1;\r\n this.begin = false;\r\n this.route_Array = [];\r\n this.now_Array = [];\r\n this.ball_Array = [];\r\n this.Pos_Array = [];\r\n this.moveArray = [];\r\n this.time_Array = [];\r\n this.color_Array = [];\r\n if(type == 0){\r\n this.bgMove(1);\r\n }\r\n else if(type == 1){\r\n this.startGame();\r\n }\r\n else if(type == 2){\r\n this.bgMove(-1);\r\n }\r\n \r\n }\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n //获胜\r\n passLevel(){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y,2);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n ball.active = false;\r\n this.clearSun();\r\n this.reStart(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }\r\n }\r\n //失败\r\n loseLevel(type){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(2,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.reStart(type);\r\n }\r\n })\r\n .start()\r\n }\r\n }\r\n }\r\n //清理太阳\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n }\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n this.clickCount += 1;\r\n let clickTime = this.getTime();\r\n this.time_Array.push((clickTime - this.timeStart))\r\n this.timeStart = this.getTime();\r\n if(data == this.clickNow){\r\n GameData._instance.AudioManager.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2); \r\n }\r\n this.clickNow += 1;\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n if(this.clickNow == this.now_Array.length){\r\n this.pause = true;\r\n GameData._instance.GM_INFO.total += this.clickNow;\r\n this.overTime = this.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n GameData._instance.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n this.startTime = 0; this.overTime = 0;\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n GameData._instance.AudioManager.playWin();\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m{\r\n win.active = false;\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n if(this.level >= 15){\r\n GameData._instance.GM_INFO.success = true;\r\n this.level += 0;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n this.passLevel();\r\n }\r\n else{\r\n this.level += 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n this.passLevel();\r\n }\r\n }\r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n this.setLoss();\r\n }\r\n }\r\n }\r\n //执行失败\r\n setLoss(){\r\n GameData._instance.AudioManager.playWarning();\r\n this.begin = false;\r\n this.overTime = this.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n GameData._instance.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n this.startTime = 0; this.overTime = 0;\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m 2){\r\n this.level -= 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n // this.fuhuo = false;\r\n this.loseLevel(2);\r\n }\r\n else{\r\n this.loseLevel(1);\r\n }\r\n }\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n //开始游戏\r\n startGame(){\r\n if(this.over == false && this.countTime > 0){\r\n this.pause = true;\r\n this.createSun();\r\n this.begin = false;\r\n cc.tween(this.ball)\r\n .to(0.5,{opacity:255,scale:1.3})\r\n .start();\r\n }\r\n }\r\n //执行太阳运行动画,以及后面移动动画\r\n runGame(){\r\n let time = -650;\r\n for(let i=0; i {\r\n if(this.over == false){\r\n let temp = this.now_Array[i].timeCount;\r\n if(temp > 0.5) temp = 0.5;\r\n if(i != 0){\r\n if(this.ball && this.now_Array[i]){\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.now_Array[i].x,this.now_Array[i].y),\r\n this.now_Array[i].time-temp);\r\n }\r\n }\r\n \r\n cc.tween(this.ball)\r\n .to(this.now_Array[i].time-temp,{x:this.now_Array[i].x,y:this.now_Array[i].y})\r\n .to(0.1,{scale:1})\r\n .call(()=>{\r\n this.createBall(i,this.now_Array[i].color,this.now_Array[i].speed,this.now_Array[i].repeat);\r\n if(i == this.now_Array.length -1){\r\n this.ball.opacity = 0;\r\n setTimeout(() => {\r\n this.destroyLine();\r\n this.beginGame();\r\n if(GameData._instance.LEVEL_INFO[this.level-1].moveNumber<1){\r\n this.pause = false;\r\n }\r\n else{\r\n this.moveAction();\r\n }\r\n \r\n }, 150);\r\n }\r\n })\r\n .start()\r\n }\r\n }, time);\r\n }\r\n }\r\n //设置移动重叠数据\r\n createMove(){\r\n if(this.over == false){\r\n let info = GameData._instance.LEVEL_INFO[this.level-1];\r\n //改变移动速度\r\n var speed = 7;\r\n if(info.moveSpeed >= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n }\r\n if(info.repeat == 1){\r\n this.repeat = parseInt((Math.random()*(info.number-1)+1) + \"\");\r\n let tempNumber = 0;\r\n // this.repeat = 4;\r\n if(this.repeat > 4){\r\n this.numberRepeat = parseInt(Math.random()*4 + \"\");\r\n if(this.repeat == (info.number-1)) //如果是最后一个 不能跟第一个重叠\r\n this.numberRepeat = this.repeat - parseInt( (Math.random()*3 + 2)+ \"\")\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n this.Pos_Array[this.repeat ] = tempNumber;\r\n }\r\n else{ // 0 1 2 3 4 5 \r\n // 6 - 3 - 1 = 2 4 01 4\r\n if(this.repeat == 0) this.repeat = 1;\r\n if((info.number-1-this.repeat ) == 2){\r\n this.numberRepeat = info.number - 1;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else if((info.number-1-this.repeat ) == 1){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) == 0){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) > 2){\r\n this.numberRepeat = parseInt(Math.random()*(info.number-this.repeat -2) + \"\") + this.repeat + 2 ;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else{\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n this.Pos_Array[this.repeat] = tempNumber;\r\n }\r\n }\r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n let pos = cc.v2(0,0);\r\n for(let z=0; z Math.random() - 0.5);\r\n if(this.moveArray[0] == 1){\r\n for(let r=info.number-1; r>=0; r--){\r\n if(this.moveArray[r] == 0){\r\n this.moveArray[r] = 1;\r\n this.moveArray[0] = 0;\r\n r = -1;\r\n }\r\n }\r\n }\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n for(let i =0; i {\r\n pos = this.getPos2(true,i);\r\n this.Pos_Array[i] = pos;\r\n }, timeOut*300);\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n //移动后数据 重新刷一遍赋值\r\n updateArray(){\r\n for(let i=0; i= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n } \r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n let lastNumber = 0;\r\n //锁定最后一个可移动的\r\n for(let j =0; j{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n //如果是最后一个\r\n else{\r\n let time = speed*this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,this.Pos_Array[i].x,this.Pos_Array[i].y,3);\r\n this.ball_Array[i].getComponent(\"Sun\").move = true;\r\n cc.tween(this.ball_Array[i])\r\n .to(time,{position:this.Pos_Array[i]})\r\n .call(() =>{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n //每次重新开始新一轮儿游戏\r\n beginGame(){\r\n this.begin = true;\r\n this.startTime = this.getTime();\r\n this.timeStart = this.getTime();\r\n this.pause = false;\r\n // this.node.getChildByName(\"showBtn\").active = true;\r\n }\r\n //暂时作废\r\n // getRandomArray(lastNumber){\r\n // let num = parseInt(Math.random()*8 - 4 + \"\");\r\n // let jg = num + lastNumber;\r\n // if(num > 1 || num <-1){\r\n // if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){\r\n // jg = this.getRandomArray(lastNumber);\r\n // }\r\n // }\r\n // else{\r\n // jg = this.getRandomArray(lastNumber);\r\n // }\r\n // return jg;\r\n // }\r\n\r\n //创建太阳所需数据\r\n createSun(){\r\n let levelData = GameData._instance.LEVEL_INFO[this.level-1];\r\n let tiemOut = 0;\r\n for(let l=0; l {\r\n if(this.over == false){\r\n let pos = this.getPos(false,l);\r\n this.Pos_Array.push(pos);\r\n if(this.Pos_Array.length == levelData.number){\r\n this.createMove();\r\n this.createPos();\r\n }\r\n }\r\n\r\n }, tiemOut*100);\r\n }\r\n }\r\n //创建太阳位置,颜色信息等数据\r\n createPos(){\r\n let data = {x:this.ball.x,y:this.ball.y,time:0,timeCount:0,color:0,speed:0,repeat:false};\r\n let levelData = GameData._instance.LEVEL_INFO[this.level-1];\r\n //颜色区分\r\n let colorArray = [0,1];\r\n for(let j=0; j Math.random() - 0.5);\r\n }\r\n colorArray.sort(() => Math.random() - 0.5);\r\n if(levelData.number == 4) colorArray = [0,0,0,0];\r\n this.color_Array = colorArray;\r\n //存储太阳数据\r\n for(let i=0; i 0){\r\n for(let i=0; i 0){\r\n for(let i=0; i 160){\r\n if(num == true){\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n else{\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n }\r\n return jg;\r\n }\r\n //命中动画\r\n hitAction(data){\r\n this.hit.active = true; this.hit.opacity = 0;\r\n this.hit.setPosition\r\n this.hit.setPosition(this.ball_Array[data].x+35,this.ball_Array[data].y+35);\r\n cc.tween(this.hit)\r\n .to(0,{opacity:255})\r\n .to(0.2,{position:cc.v3(this.hit.x-35,this.hit.y-35,0)})\r\n .delay(0.2)\r\n .to(0.1,{opacity:0})\r\n .call(() =>{\r\n this.hit.active = false;\r\n })\r\n .start();\r\n }\r\n //创造太阳\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n if(color == 0)ball = cc.instantiate(this.qiu1);\r\n else if(color == 1)ball = cc.instantiate(this.qiu2);\r\n else if(color == 2)ball = cc.instantiate(this.qiu3);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.now_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n this.ball_Array.push(ball);\r\n }\r\n //销毁连线\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n //创建连线\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n //获取两点之间的角度,将来都可放工具类\r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n //获取两点之间的距离 返回对应时间\r\n calculateDistance(x1, y1, x2, y2, num) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n let time = 0;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(num == 1){\r\n if(distance > 800) distance = 800;\r\n time = distance/800 * 0.6;\r\n }\r\n else if(num == 2){\r\n if(distance > 1200) distance = 1200;\r\n time = distance/1200 * 1;\r\n }\r\n else if(num == 3){\r\n if(distance > 1200) distance = 1200;\r\n time = distance/1200 * 1.5;\r\n }\r\n\r\n return time;\r\n }\r\n //获取两点之间距离 返回距离判断\r\n getDistance2(x1, y1, x2, y2,num) {\r\n var jg = false;\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 160){\r\n if(num == true){\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxDistance) jg = true;\r\n else jg = false;\r\n }\r\n else{\r\n jg = true;\r\n }\r\n }\r\n return jg;\r\n }\r\n //背景移动\r\n bgMove(type){\r\n let random = Math.random()*300 + 300;\r\n let posX = Math.random()*600 - 300;\r\n let y1 = this.bg1.y - random*type;\r\n let time1 = 0.7*(random/400);\r\n cc.tween(this.ball)\r\n .to(0.3,{scale:1.3})\r\n .to(time1,{x:posX})\r\n .start();\r\n cc.tween(this.bg1)\r\n .delay(0.3)\r\n .to(time1,{y:y1})\r\n .start();\r\n setTimeout(() => {\r\n if(this.over == false) this.startGame();\r\n }, time1*1500);\r\n }\r\n //时间格式转换\r\n getTimeMargin(second:number) {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n }\r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0 && this.pause == false) {\r\n this.countTime -= 1;\r\n this.time.string = this.getTimeMargin(this.countTime);\r\n if(this.countTime < 5){\r\n cc.tween(this.time.node)\r\n .to(0.25,{scale:1.5,color:cc.color(255,0,0)})\r\n .to(0.25,{scale:1,color:cc.color(255,255,255)})\r\n .start()\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.2,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .start();\r\n }\r\n if(this.countTime <= 0){\r\n this.begin = false;\r\n this.over = true;\r\n this.unschedule(this.updateCountDownTime);\r\n this.setLoss();\r\n var time = 0;\r\n if(this.clickCount > 0) time = parseInt(GameData._instance.GM_INFO.mean_Time/this.clickCount + \"\");\r\n GameData._instance.GM_INFO.mean_Time = parseInt(time/100 + \"\");\r\n GameData._instance.GM_INFO.mean_Time = GameData._instance.GM_INFO.mean_Time /10;\r\n if(time > 10000) time = (Math.random()*10+5)*100;\r\n this.setRank(time);\r\n }\r\n }\r\n }\r\n //上传每次操作数据\r\n setData(){\r\n GameData._instance.GAME_DATA = [];\r\n GameData._instance.GAME_DATA.push(GameData._instance.CLICK_DATA);\r\n GameData._instance.CLICK_init();\r\n let data = GameData._instance.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n console.log(matchId);\r\n let postData = {\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n console.log(\"上传数据:\")\r\n HttpUtil.uploadUserLogData(postData,function(){})\r\n }\r\n //获取matchId 用于上传每次点击数据里面记录id方便查询\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(matchId[10]);\r\n if(this.round == 1){\r\n char += 1;\r\n }\r\n matchId = matchId.slice(0, 10) + char + \"\";\r\n GameData._instance.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n return matchId;\r\n }\r\n //检测matchId 如果有缓存以前的nanana数据清除\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n }\r\n //重新设置MatchId\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n GameData._instance.GM_INFO.matchId = data;\r\n return data;\r\n }\r\n //上传排行榜数据\r\n setRank(time){\r\n let postData = {\r\n \"type\":1,\r\n \"reactionTime\": time,\r\n \"totalSunCount\": GameData._instance.GM_INFO.total,\r\n \"success\": GameData._instance.GM_INFO.success\r\n \r\n };\r\n HttpUtil.rankData(1,function(){},postData);\r\n this.node.getChildByName(\"GameOver\").active = true;\r\n this.node.getChildByName(\"GameOver\").opacity = 0;\r\n cc.tween(this.node.getChildByName(\"GameOver\"))\r\n .to(0.4,{opacity:255})\r\n .delay(2)\r\n .to(0.4,{opacity:50})\r\n .call(() =>{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n //作弊,测试用\r\n showNumber(){\r\n if(this.show == false) this.show = true;\r\n else if(this.show == true) this.show = false;\r\n for(let i=0; i 10){\r\n GameData._instance.GM_INFO.mean_Time = (parseInt(Math.random()*10+\"\")+5)/10\r\n }\r\n this.time.string = GameData._instance.GM_INFO.mean_Time + \"s\";\r\n this.listData = [];\r\n this.selfData = null;\r\n this.one.active = false;\r\n this.two.active = false;\r\n this.three.active = false;\r\n this.four.active = false;\r\n this.five.active = false;\r\n // this.setData();\r\n this.getRank();\r\n }\r\n\r\n\r\n \r\n\r\n success(data){\r\n }\r\n\r\n\r\n\r\n back(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n\r\n again(){\r\n cc.director.loadScene(\"GameScene\");\r\n }\r\n\r\n getRank(){\r\n let postData = {\r\n \"page\":1,\r\n \"pageSize\":100\r\n }; \r\n HttpUtil.rankData(2,this.getRankData.bind(this),postData);\r\n }\r\n\r\n getRankData(data){\r\n if(data){\r\n this.listData = data.data.list;\r\n this.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n if(this.selfData.nickName.length > 4){\r\n this.selfData.nickName= this.selfData.nickName.substring(0,4) + \"...\"\r\n }\r\n this.selfNode.getChildByName(\"name\").getComponent(cc.Label).string = this.selfData.nickName;\r\n this.selfNode.getChildByName(\"total\").getComponent(cc.Label).string = this.selfData.totalSunCount;\r\n this.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n for(let i=0;i<=this.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:this.listData[i].nickName, total:this.listData[i].totalSunCount, pic:this.listData[i].pic});\r\n if(GameData._instance.GM_INFO.userId == this.listData[i].userId){\r\n self = true;\r\n this.selfNode.getChildByName(\"rank\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (this.listData.length-1) && self == false){\r\n this.selfNode.getChildByName(\"rank\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n if(i<5) this.setRank(i,this.listData[i]);\r\n }\r\n\r\n }\r\n }\r\n\r\n setRank(num,data){\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n if(data.nickName.length > 4){\r\n data.nickName= data.nickName.substring(0,4) + \"...\"\r\n }\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.totalSunCount;\r\n this.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n\r\n }\r\n\r\n public setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n \r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nimport GameData from \"./GameData\";\r\nimport List from \"./ListView/List\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\nimport Rq from \"./crypto/serverAPI\";\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n listData: any;\r\n selfData: any;\r\n // onLoad () {}\r\n start () {\r\n this.count.string = GameData._instance.GM_INFO.total;\r\n if(GameData._instance.GM_INFO.mean_Time > 10){\r\n GameData._instance.GM_INFO.mean_Time = (parseInt(Math.random()*10+\"\")+5)/10\r\n }\r\n this.time.string = GameData._instance.GM_INFO.mean_Time + \"s\";\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.listData = [];\r\n this.selfData = null;\r\n this.one.active = false;\r\n this.two.active = false;\r\n this.three.active = false;\r\n this.four.active = false;\r\n this.five.active = false;\r\n this.getRank();\r\n }\r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n //重新开始玩\r\n again(){\r\n cc.director.loadScene(\"GameScene\");\r\n }\r\n //获取排行榜\r\n getRank(){\r\n let postData = {\r\n \"page\":1,\r\n \"pageSize\":100\r\n }; \r\n HttpUtil.rankData(2,this.getRankData.bind(this),postData);\r\n }\r\n //设置排行信息\r\n getRankData(data){\r\n if(data){\r\n this.listData = data.data.list;\r\n this.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n if(this.selfData.nickName.length > 4){\r\n this.selfData.nickName= this.selfData.nickName.substring(0,4) + \"...\"\r\n }\r\n this.selfNode.getChildByName(\"name\").getComponent(cc.Label).string = this.selfData.nickName;\r\n this.selfNode.getChildByName(\"total\").getComponent(cc.Label).string = this.selfData.totalSunCount;\r\n this.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n for(let i=0;i<=this.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:this.listData[i].nickName, total:this.listData[i].totalSunCount, pic:this.listData[i].pic});\r\n if(GameData._instance.GM_INFO.userId == this.listData[i].userId){\r\n self = true;\r\n this.selfNode.getChildByName(\"rank\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (this.listData.length-1) && self == false){\r\n this.selfNode.getChildByName(\"rank\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n if(i<5) this.setRank(i,this.listData[i]);\r\n }\r\n }\r\n }\r\n //根据内容填充排行榜\r\n setRank(num,data){\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n if(data.nickName.length > 4){\r\n data.nickName= data.nickName.substring(0,4) + \"...\"\r\n }\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.totalSunCount;\r\n this.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n } \r\n //设置头像\r\n public setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n \r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/GuideManager.js.map b/temp/quick-scripts/src/assets/Script/GuideManager.js.map index cbad1b7..ae3c949 100644 --- a/temp/quick-scripts/src/assets/Script/GuideManager.js.map +++ b/temp/quick-scripts/src/assets/Script/GuideManager.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GuideManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\nimport GameData from './GameData';\r\nimport { Notification } from './Notification';\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.Node)\r\n dialog: cc.Node = null;\r\n @property(cc.Node)\r\n ball: cc.Node = null;\r\n @property(cc.Prefab)\r\n qiu1: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n linePrefab: cc.Prefab = null;\r\n clickNow:number;\r\n custom: number;\r\n Pos_Array: any;\r\n ball_Array: any;\r\n begin: boolean;\r\n tip: cc.Node;\r\n // onLoad () {}\r\n\r\n start () {\r\n GameData._instance.GM_INFO.custom = 0;\r\n this.custom = 1;\r\n this.init();\r\n this.startGuide(0);\r\n }\r\n\r\n init(){\r\n this.ball.zIndex = 100;\r\n this.Pos_Array = [];\r\n this.ball_Array = [];\r\n this.begin = false;\r\n this.clickNow = 0;\r\n this.tip = null;\r\n }\r\n\r\n startGuide(type){\r\n let num = this.custom;\r\n let time = 0.5;\r\n let delay = 1.5;\r\n let name = \"tip\" + num;\r\n\r\n if(type!=0){\r\n cc.tween(this.node)\r\n .to(time,{opacity:255})\r\n .call(() =>{\r\n this.custom += 1;\r\n if(type != 0) this.custom = 2;\r\n if( this.custom == 2) this.createSun1();\r\n else if( this.custom == 3) this.createSun2();\r\n else if( this.custom == 4){\r\n\r\n this.begin = true;\r\n } \r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n \r\n })\r\n .start();\r\n }\r\n else{\r\n this.tip = this.dialog.getChildByName(name);\r\n this.tip.active = true; this.tip.opacity = 0;\r\n cc.tween(this.tip)\r\n .to(time,{opacity:255})\r\n .start();\r\n // cc.tween(tip)\r\n // .to(time,{opacity:255})\r\n // .delay(delay)\r\n // .to(time,{opacity:0})\r\n // .call(() =>{\r\n // this.custom += 1;\r\n // if(type != 0) this.custom = 2;\r\n // if( this.custom == 2) this.createSun1();\r\n // else if( this.custom == 3) this.createSun2();\r\n // else if( this.custom == 4) this.begin = true;\r\n // else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n \r\n // })\r\n // .start();\r\n }\r\n\r\n }\r\n //创建太阳\r\n createSun1(){\r\n this.ball_Array = [];\r\n this.Pos_Array.push(cc.v2(-250,-216),cc.v2(200,-115),cc.v2(-35,-500));\r\n let time1 = this.calculateDistance(this.ball.x,this.ball.y,this.Pos_Array[0].x,this.Pos_Array[0].y)\r\n this.ball.opacity = 0;\r\n cc.tween(this.ball)\r\n .to(time1,{position:this.Pos_Array[0]})\r\n .call(() =>{\r\n this.createBall(0,0,0,false);\r\n })\r\n .delay(1)\r\n .call(() =>{\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n\r\n beginClick(){\r\n for(let i=0; i{\r\n this.custom += 1;\r\n // if(type != 0) this.custom = 2;\r\n if( this.custom == 2) this.createSun1();\r\n else if( this.custom == 3) this.createSun2();\r\n else if( this.custom == 4) this.begin = true;\r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n\r\n })\r\n .start();\r\n }\r\n\r\n createSun2(){\r\n let time2 = this.calculateDistance(this.Pos_Array[0].x,this.Pos_Array[0].y,this.Pos_Array[1].x,this.Pos_Array[1].y)\r\n let time3 = this.calculateDistance(this.Pos_Array[1].x,this.Pos_Array[1].y,this.Pos_Array[2].x,this.Pos_Array[2].y)\r\n this.ball.opacity = 255;\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[1].x,this.Pos_Array[1].y),\r\n 0.5);\r\n cc.tween(this.ball)\r\n .to(time2,{position:this.Pos_Array[1]})\r\n .call(() =>{\r\n this.createBall(1,0,0,false);\r\n })\r\n .delay(0.5)\r\n .call(() =>{\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[2].x,this.Pos_Array[2].y),\r\n 0.5);\r\n })\r\n .to(time3,{position:this.Pos_Array[2]})\r\n .call(() =>{\r\n this.createBall(2,0,0,false);\r\n this.ball.opacity = 0;\r\n })\r\n .delay(0.2)\r\n .call(() =>{\r\n this.destroyLine();\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n \r\n \r\n\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n ball = cc.instantiate(this.qiu1);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.Pos_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n ball.getComponent(\"Sun\").move = true;\r\n this.ball_Array.push(ball);\r\n }\r\n\r\n calculateDistance(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 800) distance = 800;\r\n const time = distance/800 * 0.8;\r\n return time;\r\n }\r\n\r\n //移动创建下一个太阳\r\n moveSun(){\r\n\r\n }\r\n\r\n //获胜\r\n passLevel(){\r\n this.destroyLine();\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.ball.active = false;\r\n this.startGuide(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }\r\n\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n if(data == this.clickNow){\r\n GameData._instance.AudioManager.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2);\r\n }\r\n this.clickNow += 1;\r\n GameData._instance.GM_INFO.total += 1;\r\n setTimeout(() => {\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n }, 200);\r\n \r\n \r\n if(this.clickNow == 3){\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n cc.tween(win)\r\n .delay(0.4)\r\n .to(0.01,{scale:2.5})\r\n .to(0.35,{scale:1})\r\n .delay(0.6)\r\n .call(() =>{\r\n win.active = false;\r\n setTimeout(() => {\r\n this.passLevel();\r\n }, 400);\r\n \r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n GameData._instance.AudioManager.playWarning();\r\n this.begin = false;\r\n\r\n this.loseLevel(1)\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n }\r\n }\r\n\r\n loseLevel(type){\r\n this.destroyLine();\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(0.6,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 0;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.custom = 1;\r\n this.startGuide(1);\r\n }\r\n })\r\n .start()\r\n }\r\n }\r\n\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n this.ball_Array = [];\r\n }\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n \r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n \r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n\r\n onEnable () {\r\n Notification.on(\"clickSun\", this.clickSun, this);\r\n }\r\n\r\n onDisable () {\r\n Notification.off(\"clickSun\", this.clickSun);\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GuideManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["//此页面为引导页面,后续更新成模板,暂时偷懒复制主游戏场景代码进来\r\nimport GameData from './GameData';\r\nimport { Notification } from './Notification';\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.Node)\r\n dialog: cc.Node = null;\r\n @property(cc.Node)\r\n ball: cc.Node = null;\r\n @property(cc.Prefab)\r\n qiu1: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n linePrefab: cc.Prefab = null;\r\n clickNow:number;\r\n custom: number;\r\n Pos_Array: any;\r\n ball_Array: any;\r\n begin: boolean;\r\n tip: cc.Node;\r\n // onLoad () {}\r\n\r\n start () {\r\n GameData._instance.GM_INFO.custom = 0;\r\n this.init();\r\n this.startGuide(0);\r\n }\r\n //初始化数据\r\n init(){\r\n this.custom = 1;\r\n this.ball.zIndex = 100;\r\n this.Pos_Array = [];\r\n this.ball_Array = [];\r\n this.begin = false;\r\n this.clickNow = 0;\r\n this.tip = null;\r\n }\r\n //开始引导方法\r\n startGuide(type){\r\n let num = this.custom;\r\n let time = 0.5;\r\n let name = \"tip\" + num;\r\n if(type!=0){\r\n cc.tween(this.node)\r\n .to(time,{opacity:255})\r\n .call(() =>{\r\n this.custom += 1;\r\n if(type != 0) this.custom = 2;\r\n if( this.custom == 2) this.createSun1();\r\n else if( this.custom == 3) this.createSun2();\r\n else if( this.custom == 4) this.begin = true;\r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n })\r\n .start();\r\n }\r\n else{\r\n this.tip = this.dialog.getChildByName(name);\r\n this.tip.active = true; this.tip.opacity = 0;\r\n cc.tween(this.tip)\r\n .to(time,{opacity:255})\r\n .start();\r\n }\r\n }\r\n //清除所有太阳\r\n beginClick(){\r\n for(let i=0; i{\r\n this.custom += 1;\r\n if( this.custom == 2) this.createSun(true);\r\n else if( this.custom == 3) this.createSun(false);\r\n else if( this.custom == 4) this.begin = true;\r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n\r\n })\r\n .start();\r\n }\r\n //创建太阳\r\n createSun(type){\r\n if(type == true){\r\n this.ball_Array = [];\r\n this.Pos_Array.push(cc.v2(-250,-216),cc.v2(200,-115),cc.v2(-35,-500));\r\n let time1 = this.calculateDistance(this.ball.x,this.ball.y,this.Pos_Array[0].x,this.Pos_Array[0].y)\r\n this.ball.opacity = 0;\r\n cc.tween(this.ball)\r\n .to(time1,{position:this.Pos_Array[0]})\r\n .call(() =>{\r\n this.createBall(0,0,0,false);\r\n })\r\n .delay(1)\r\n .call(() =>{\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n else{\r\n let time2 = this.calculateDistance(this.Pos_Array[0].x,this.Pos_Array[0].y,this.Pos_Array[1].x,this.Pos_Array[1].y)\r\n let time3 = this.calculateDistance(this.Pos_Array[1].x,this.Pos_Array[1].y,this.Pos_Array[2].x,this.Pos_Array[2].y)\r\n this.ball.opacity = 255;\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[1].x,this.Pos_Array[1].y),\r\n 0.5);\r\n cc.tween(this.ball)\r\n .to(time2,{position:this.Pos_Array[1]})\r\n .call(() =>{\r\n this.createBall(1,0,0,false);\r\n })\r\n .delay(0.5)\r\n .call(() =>{\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[2].x,this.Pos_Array[2].y),\r\n 0.5);\r\n })\r\n .to(time3,{position:this.Pos_Array[2]})\r\n .call(() =>{\r\n this.createBall(2,0,0,false);\r\n this.ball.opacity = 0;\r\n })\r\n .delay(0.2)\r\n .call(() =>{\r\n this.destroyLine();\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n\r\n }\r\n //创建太阳\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n ball = cc.instantiate(this.qiu1);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.Pos_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n ball.getComponent(\"Sun\").move = true;\r\n this.ball_Array.push(ball);\r\n }\r\n //获取两点之间角度创建连线用\r\n calculateDistance(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 800) distance = 800;\r\n const time = distance/800 * 0.8;\r\n return time;\r\n }\r\n\r\n //引导成功\r\n passLevel(){\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n cc.tween(win)\r\n .delay(0.4)\r\n .to(0.01,{scale:2.5})\r\n .to(0.35,{scale:1})\r\n .delay(0.6)\r\n .call(() =>{\r\n win.active = false;\r\n setTimeout(() => {\r\n this.destroyLine();\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.ball.active = false;\r\n this.startGuide(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }, 400);\r\n })\r\n .start();\r\n }\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n if(data == this.clickNow){\r\n GameData._instance.AudioManager.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2);\r\n }\r\n this.clickNow += 1;\r\n GameData._instance.GM_INFO.total += 1;\r\n setTimeout(() => {\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n }, 200);\r\n if(this.clickNow == 3){\r\n this.passLevel();\r\n }\r\n }\r\n else{\r\n this.loseLevel();\r\n }\r\n }\r\n }\r\n //失败事件\r\n loseLevel(){\r\n this.begin = false;\r\n GameData._instance.AudioManager.playWarning();\r\n this.destroyLine();\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(0.6,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 0;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.custom = 1;\r\n this.startGuide(1);\r\n }\r\n })\r\n .start()\r\n }\r\n //结束页面动画\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n //点击太阳事件\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n this.ball_Array = [];\r\n }\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n //创造连线,参数起点,终点,连线时间\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n \r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n //摧毁连线\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n //获取两个点之间的角度 用于写连线 确定连线方向\r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n onEnable () {\r\n Notification.on(\"clickSun\", this.clickSun, this);\r\n }\r\n onDisable () {\r\n Notification.off(\"clickSun\", this.clickSun);\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Helloworld.js.map b/temp/quick-scripts/src/assets/Script/Helloworld.js.map deleted file mode 100644 index 6b38e86..0000000 --- a/temp/quick-scripts/src/assets/Script/Helloworld.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\Helloworld.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import GameData from \"./GameData\";\r\nimport List from \"./ListView/List\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\n// import { apiSign } from \"./crypto/sign\";\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n\r\n@ccclass\r\nexport default class Helloworld extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Player: cc.Node = null;\r\n\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n\r\n @property(cc.Sprite)\r\n phone: cc.Sprite = null;\r\n\r\n private rankList: List; //排行榜\r\n tween: cc.Tween;\r\n listData: any;\r\n selfData: any;\r\n rankNumber: number;\r\n rankTotal: number;\r\n\r\n onLoad() {\r\n this.Player.getChildByName(\"rank\").active = false;\r\n this.rankList = cc.find(\"ScrollView\", this.node).getComponent(List);\r\n this.listData = [];\r\n this.selfData = null;\r\n this.rankNumber = 100;\r\n this.rankTotal= 100;\r\n this.selfNode.opacity = 0;\r\n }\r\n \r\n start() {\r\n this.Player.active = false;\r\n this.getRank();\r\n }\r\n\r\n getRankData(data){\r\n if(data){\r\n // console.log(data);\r\n this.listData = data.data.list;\r\n this.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n for(let i=0;i<=this.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:this.listData[i].nickName, total:this.listData[i].totalSunCount, pic:this.listData[i].pic});\r\n if(GameData._instance.GM_INFO.userId == this.listData[i].userId){\r\n self = true;\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (this.listData.length-1) && self == false){\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n this.rankList.setData(rankData);\r\n if(this.selfData.nickName.length > 6){\r\n this.selfData.nickName= this.selfData.nickName.substring(0,6) + \"...\"\r\n }\r\n this.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = this.selfData.nickName;\r\n this.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = this.selfData.totalSunCount;\r\n this.setPic(this.selfData.pic);\r\n this.setPic2(this.selfData.pic);\r\n if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"1\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"2\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"3\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n }\r\n else{\r\n // this.selfNode.getChildByName(\"four\").active = true;\r\n }\r\n this.selfNode.opacity = 255;\r\n if(this.selfData.totalSunCount == 0) this.selfNode.opacity = 0;\r\n }\r\n }\r\n backClick(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n\r\n playerAction(){\r\n //-254 377 210 453\r\n this.Player.getChildByName(\"rank\").active = false;\r\n\r\n let time = 1;\r\n this.tween = cc.tween(this.Player)\r\n .to(2,{position:cc.v3(210,453,0)})\r\n .call(() =>{\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n })\r\n .start();\r\n time = (this.listData.length - this.rankNumber)/this.listData.length;\r\n if(this.listData.length >= 99){\r\n if(this.rankNumber >= 99){\r\n time = (Math.random()*49+1)/100\r\n var matchId = cc.sys.localStorage.getItem(\"matchNumber\");\r\n if(matchId == null || matchId == undefined){\r\n time = 0;\r\n }\r\n }\r\n }\r\n else{\r\n\r\n }\r\n\r\n \r\n\r\n setTimeout(() => {\r\n if(this.tween)this.tween.stop();\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n }, time*2000);\r\n\r\n }\r\n\r\n getRank(){\r\n let postData = {\r\n \"page\":1,\r\n \"pageSize\":100\r\n }; \r\n HttpUtil.rankData(2,this.getRankData.bind(this),postData);\r\n }\r\n\r\n public setPic(pic){\r\n this.phone.node.parent.getChildByName(\"icon\").active = false;\r\n this.phone.node.active = false;\r\n let url = pic;\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n this.phone.node.parent.getChildByName(\"icon\").active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n var self = this;\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n this.phone.node.active = true;\r\n self.phone.spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n }\r\n\r\n public setPic2(pic){\r\n this.Player.active = true;\r\n this.Player.opacity = 0;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = false;\r\n let url = pic;\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n var self = this;\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n this.Player.opacity = 255;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = true;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").getComponent(cc.Sprite)\r\n .spriteFrame = new cc.SpriteFrame(texture);\r\n setTimeout(() => {\r\n this.playerAction();\r\n }, 500);\r\n // console.log(\"设置头像成功\",err);\r\n }\r\n else{\r\n this.Player.opacity = 255;\r\n // console.log(\"设置头像失败\",url);\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n console.log(err,texture)\r\n setTimeout(() => {\r\n this.playerAction();\r\n }, 500);\r\n }\r\n })\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Load.js.map b/temp/quick-scripts/src/assets/Script/Load.js.map index 734cb5d..6ce843f 100644 --- a/temp/quick-scripts/src/assets/Script/Load.js.map +++ b/temp/quick-scripts/src/assets/Script/Load.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Load.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wEAAwE;AACxE,mBAAmB;AACnB,kFAAkF;AAClF,8BAA8B;AAC9B,kFAAkF;AAC5E,IAAA,KAAwC,EAAE,CAAC,UAAU,EAApD,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,gBAAgB,sBAAiB,CAAC;AAC5D,uCAAkC;AAClC,qCAA2C;AAG3C,mDAAmD;AACnD,2CAA2C;AAG3C;IAAsC,4BAAY;IAAlD;;IAsFA,CAAC;IApFG,wBAAK,GAAL;QACI,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,gDAAgD;IACxC,iCAAc,GAAtB;QACI,IAAI,MAAM,GAAG,wBAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAG,MAAM,IAAI,UAAU,IAAI,MAAM,IAAE,IAAI,IAAI,MAAM,IAAI,EAAE,EAAC;YACpD,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;aACG;YACA,IAAI,IAAI,GAAG,wBAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACzD,IAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAC;gBAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO;aACV;YACD,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACzD;IACL,CAAC;IACD,uBAAuB;IACf,4BAAS,GAAjB;QACI,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzD,IAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAC;YACzC,IAAI,GAAG,GAAG,6EAA6E,GAAC,QAAQ,CAAC,IAAI,CAAC;YACtG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;SAC9B;aACG;YACA,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACzD,IAAI,MAAM,GAAG,SAAS,GAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;gBAC1D,WAAW,GAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;YACvE,wBAAc,CAAC,UAAU,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;YACzC,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACnF;IACL,CAAC;IACD,wDAAwD;IAChD,4BAAS,GAAjB,UAAkB,GAAG;QACjB,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrC,IAAI,GAAG,GAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAG,GAAG,IAAI,IAAI;YAAE,GAAG,GAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,IAAG,CAAC,IAAE,GAAG,CAAC,MAAM,GAAC,CAAC,EAAE;YAClC,IAAI,MAAI,GAAC,EAAE,CAAC;YACZ,GAAG,CAAC,GAAG,CAAC,UAAA,IAAI;gBACR,MAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;YACF,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,MAAI,CAAC,CAAC,CAAC,CAAA,CAAC,CAAA,MAAI,CAAC;SACrC;aAAM;YACH,OAAO,IAAI,CAAA;SACd;IACL,CAAC;IACD,cAAc;IACd,4BAAS,GAAT;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,2BAAQ,GAAR,UAAS,KAAK,EAAC,IAAI;QACf,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,4BAAS,GAAT;QACI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IACpD,CAAC;IAED,2BAAQ,GAAR;QACI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;IACrD,CAAC;IAED,uBAAI,GAAJ,UAAK,IAAI;QACL,YAAY;IAChB,CAAC;IAED,0BAAO,GAAP;QACI,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,2BAAQ,GAAR;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEvC,CAAC;IAnFgB,QAAQ;QAD5B,OAAO;OACa,QAAQ,CAsF5B;IAAD,eAAC;CAtFD,AAsFC,CAtFqC,EAAE,CAAC,SAAS,GAsFjD;kBAtFoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\nconst {ccclass, property, requireComponent} = cc._decorator;\r\nimport GameData from \"./GameData\";\r\nimport { StorageMessage } from \"./Storage\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\nimport Rq from \"./crypto/serverAPI\";\r\n// import {StorageMessage} from \"./StorageMessage\";\r\n// import { apiSign } from \"./crypto/sign\";\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n start () {\r\n this.Authentication();\r\n }\r\n\r\n //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上\r\n private Authentication(){\r\n let userId = StorageMessage.getStorage(\"user\");\r\n if(userId == \"undifend\" || userId==null || userId == \"\"){\r\n this.setUserId();\r\n }\r\n else{\r\n let data = StorageMessage.getStorage(\"user\");\r\n data = this.getUserId(data);\r\n let timestamp = parseInt(new Date().getTime()/1000 + \"\");\r\n if((timestamp - data[2]) > 86400){\r\n this.setUserId();\r\n return;\r\n }\r\n GameData._instance.GM_INFO.userId = parseInt(data[1]);\r\n }\r\n }\r\n //设置userId,链接有获取,没有跳转授权\r\n private setUserId(){\r\n GameData._instance.GM_INFO.userId = this.getUserId(null);\r\n if(GameData._instance.GM_INFO.userId == null){\r\n let url = \"http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n let timestamp = parseInt(new Date().getTime()/1000 + \"\");\r\n let idTemp = \"gameId=\" + GameData._instance.GM_INFO.gameId + \r\n \"?userId= \" + GameData._instance.GM_INFO.userId + \"?time=\" + timestamp;\r\n StorageMessage.setStorage(\"user\",idTemp);\r\n GameData._instance.GM_INFO.userId = parseInt(GameData._instance.GM_INFO.userId);\r\n }\r\n }\r\n //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId\r\n private getUserId(str) { \r\n let pathStr = window.location.search;\r\n let arr=pathStr.split(\"&\");\r\n if(str != null) arr=pathStr.split(\"?\");\r\n if (pathStr.length>= 0&&arr.length>0) {\r\n let arr2=[];\r\n arr.map(item=>{\r\n arr2.push(item.split(\"=\")[1])\r\n })\r\n return str == null ? arr2[0]:arr2;\r\n } else {\r\n return null\r\n }\r\n }\r\n //开始游戏,跳转至引导页面\r\n startGame(){\r\n cc.director.loadScene(\"GuideScene\");\r\n }\r\n \r\n clickBtn(event,data){\r\n GameData._instance.GM_INFO.custom = parseInt(data);\r\n cc.director.loadScene(\"GameScene\");\r\n } \r\n\r\n openLevel(){\r\n this.node.getChildByName(\"Level\").active = true;\r\n }\r\n\r\n closeBtn(){\r\n this.node.getChildByName(\"Level\").active = false;\r\n }\r\n\r\n back(data){\r\n // debugger;\r\n }\r\n\r\n openBtn(){\r\n GameData._instance.GM_INFO.custom = 0;\r\n cc.director.loadScene(\"GuideScene\");\r\n }\r\n\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n\r\n }\r\n \r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Load.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property, requireComponent} = cc._decorator;\r\nimport GameData from \"./GameData\";\r\nimport { StorageMessage } from \"./Storage\";\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n start () {\r\n this.Authentication();\r\n }\r\n\r\n //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上\r\n private Authentication(){\r\n let userId = StorageMessage.getStorage(\"user\");\r\n if(userId == \"undifend\" || userId==null || userId == \"\"){\r\n this.setUserId();\r\n }\r\n else{\r\n let data = StorageMessage.getStorage(\"user\");\r\n data = this.getUserId(data);\r\n let timestamp = parseInt(new Date().getTime()/1000 + \"\");\r\n if((timestamp - data[2]) > 86400){\r\n this.setUserId();\r\n return;\r\n }\r\n GameData._instance.GM_INFO.userId = parseInt(data[1]);\r\n }\r\n }\r\n //设置userId,链接有获取,没有跳转授权\r\n private setUserId(){\r\n GameData._instance.GM_INFO.userId = this.getUserId(null);\r\n if(GameData._instance.GM_INFO.userId == null){\r\n let url = \"http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n let timestamp = parseInt(new Date().getTime()/1000 + \"\");\r\n let idTemp = \"gameId=\" + GameData._instance.GM_INFO.gameId + \r\n \"?userId= \" + GameData._instance.GM_INFO.userId + \"?time=\" + timestamp;\r\n StorageMessage.setStorage(\"user\",idTemp);\r\n GameData._instance.GM_INFO.userId = parseInt(GameData._instance.GM_INFO.userId);\r\n }\r\n }\r\n //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId\r\n private getUserId(str) { \r\n let pathStr = window.location.search;\r\n let arr=pathStr.split(\"&\");\r\n if(str != null) arr=pathStr.split(\"?\");\r\n if (pathStr.length>= 0&&arr.length>0) {\r\n let arr2=[];\r\n arr.map(item=>{\r\n arr2.push(item.split(\"=\")[1])\r\n })\r\n return str == null ? arr2[0]:arr2;\r\n } else {\r\n return null\r\n }\r\n }\r\n //开始游戏,跳转至引导页面\r\n startGame(){\r\n cc.director.loadScene(\"GuideScene\");\r\n }\r\n //备用,用来测试跳转 指定关卡\r\n clickBtn(event,data){\r\n GameData._instance.GM_INFO.custom = parseInt(data);\r\n cc.director.loadScene(\"GameScene\");\r\n } \r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/RankManager.js.map b/temp/quick-scripts/src/assets/Script/RankManager.js.map new file mode 100644 index 0000000..8b83bca --- /dev/null +++ b/temp/quick-scripts/src/assets/Script/RankManager.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets\\Script\\RankManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAkC;AAClC,wCAAmC;AACnC,gDAA0C;AACpC,IAAA,KAAwB,EAAE,CAAC,UAAU,EAAnC,OAAO,aAAA,EAAE,QAAQ,cAAkB,CAAC;AAC5C,KAAK;AAEL;IAAyC,+BAAY;IAArD;QAAA,qEAoKC;QAlKG,YAAM,GAAY,IAAI,CAAC;QAEvB,cAAQ,GAAY,IAAI,CAAC;QAEzB,WAAK,GAAc,IAAI,CAAC;;IA8J5B,CAAC;IAtJG,4BAAM,GAAN;QACI,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IACD,OAAO;IACP,0BAAI,GAAJ;QACI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,cAAI,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,SAAS,GAAE,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,2BAAK,GAAL;QACI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IACD,WAAW;IACX,6BAAO,GAAP;QACI,IAAI,QAAQ,GAAG;YACX,MAAM,EAAC,CAAC;YACR,UAAU,EAAC,GAAG;SACjB,CAAC;QACF,gBAAgB;QAChB,mBAAQ,CAAC,QAAQ,CAAC,CAAC,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IACD,UAAU;IACV,iCAAW,GAAX,UAAY,IAAI;QACZ,IAAG,IAAI,EAAC;YACJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,IAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAC,CAAC,EAAC,CAAC,EAAE,EAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,GAAC,CAAC,CAAC,EAAE,IAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC,CAAC,CAAC;gBAC5H,IAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAC;oBAC5D,IAAI,GAAG,IAAI,CAAC;oBACZ,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAE,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,EAAE,CAAC;iBACrF;gBACD,IAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,EAAC;oBAC9C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;iBACjF;aACJ;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,GAAG,KAAK,CAAA;aACxE;YACD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/F,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YACrG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,EAAC;gBAC5E,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;aAC5E;iBACI,IAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,EAAC;gBACjF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;aAC5E;iBACI,IAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,EAAC;gBACjF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;aAC9E;iBACG;gBACA,sDAAsD;aACzD;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;YAC5B,IAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;SAClE;IACL,CAAC;IACD,MAAM;IACN,+BAAS,GAAT;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IACD,SAAS;IACT,kCAAY,GAAZ;QAAA,iBA6BC;QA5BG,mBAAmB;QACnB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QAClD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;aACjC,EAAE,CAAC,CAAC,EAAC,EAAC,QAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC;aACjC,IAAI,CAAC;YACF,KAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YACjD,KAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;iBAC1D,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAI,QAAQ,CAAC,IAAI,GAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACpE,CAAC,CAAC;aACD,KAAK,EAAE,CAAC;QACT,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrE,IAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAC;YAC1B,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,EAAC;gBACrB,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAC,EAAE,GAAC,CAAC,CAAC,GAAC,GAAG,CAAA;gBAC/B,IAAI,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACzD,IAAG,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,SAAS,EAAC;oBACvC,IAAI,GAAG,CAAC,CAAC;iBACZ;aACJ;SACJ;QACD,UAAU,CAAC;YACP,IAAG,KAAI,CAAC,KAAK;gBAAC,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChC,KAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YACjD,KAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;iBAC1D,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAI,QAAQ,CAAC,IAAI,GAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACpE,CAAC,EAAE,IAAI,GAAC,IAAI,CAAC,CAAC;IAElB,CAAC;IACD,MAAM;IACC,4BAAM,GAAb,UAAc,GAAG;QAAjB,iBA0CC;QAzCG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QACzE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QAC1E,KAAK,CAAC,GAAG,CAAC;aACT,IAAI,CAAC,UAAA,QAAQ;YACV,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC,CAAC;aACD,IAAI,CAAC,UAAA,KAAK;YACP,IAAG,KAAK,IAAI,MAAM,EAAC;gBACf,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC5D,KAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;aAC3E;QACL,CAAC,CAAC;aACD,KAAK,CAAC,UAAA,KAAK;YACR,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAC,GAAG,EAAC,MAAM,EAAC,EAAC,UAAC,GAAG,EAAE,OAAoB;YACnE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;YAC1B,IAAG,OAAO,EAAC;gBACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC;qBACjF,WAAW,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3C,UAAU,CAAC;oBACP,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxB,CAAC,EAAE,GAAG,CAAC,CAAC;aACX;iBACG;gBACA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;gBACxE,UAAU,CAAC;oBACP,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxB,CAAC,EAAE,GAAG,CAAC,CAAC;aACX;QAEL,CAAC,CAAC,CAAA;IACN,CAAC;IAhKD;QADC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAU,QAAQ;+CACb;IAEvB;QADC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAU,WAAW;iDACd;IAEzB;QADC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAQ,QAAQ;8CACZ;IANP,WAAW;QAD/B,OAAO;OACa,WAAW,CAoK/B;IAAD,kBAAC;CApKD,AAoKC,CApKwC,EAAE,CAAC,SAAS,GAoKpD;kBApKoB,WAAW","file":"","sourceRoot":"/","sourcesContent":["import GameData from \"./GameData\";\r\nimport List from \"./ListView/List\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\nconst { ccclass, property } = cc._decorator;\r\n//排行榜\r\n@ccclass\r\nexport default class RankManager extends cc.Component {\r\n @property(cc.Node) //用户上方头像\r\n Player: cc.Node = null;\r\n @property(cc.Node) //用户最下方个人信息\r\n selfNode: cc.Node = null;\r\n @property(cc.Sprite) //用户头像换图\r\n phone: cc.Sprite = null;\r\n private rankList: List; //排行榜\r\n tween: cc.Tween; //最上方用户头像动画\r\n listData: any; //总列表信息\r\n selfData: any; //自己信息\r\n rankNumber: number; //用户自己排名 有可能不在排行榜内99+\r\n rankTotal: number; //获取排行榜用户数量 现在为100\r\n\r\n onLoad() {\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.rankList = cc.find(\"ScrollView\", this.node).getComponent(List);\r\n this.Player.getChildByName(\"rank\").active = false;\r\n this.listData = [];\r\n this.selfData = null;\r\n this.rankNumber = 100;\r\n this.rankTotal= 100;\r\n this.selfNode.opacity = 0;\r\n }\r\n\r\n start() {\r\n this.Player.active = false;\r\n this.getRank();\r\n }\r\n //调用获取排行榜接口\r\n getRank(){\r\n let postData = {\r\n \"page\":1,\r\n \"pageSize\":100\r\n }; \r\n //回调进getRankData\r\n HttpUtil.rankData(2,this.getRankData.bind(this),postData);\r\n }\r\n //实际设置排行数据\r\n getRankData(data){\r\n if(data){\r\n console.log(data);\r\n this.listData = data.data.list;\r\n this.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n for(let i=0;i<=this.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:this.listData[i].nickName, total:this.listData[i].totalSunCount, pic:this.listData[i].pic});\r\n if(GameData._instance.GM_INFO.userId == this.listData[i].userId){\r\n self = true;\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (this.listData.length-1) && self == false){\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n this.rankList.setData(rankData);\r\n if(this.selfData.nickName.length > 6){\r\n this.selfData.nickName= this.selfData.nickName.substring(0,6) + \"...\"\r\n }\r\n this.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = this.selfData.nickName;\r\n this.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = this.selfData.totalSunCount;\r\n this.setPic(this.selfData.pic);\r\n if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"1\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"2\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"3\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n }\r\n else{\r\n // this.selfNode.getChildByName(\"four\").active = true;\r\n }\r\n this.selfNode.opacity = 255;\r\n if(this.selfData.totalSunCount == 0) this.selfNode.opacity = 0;\r\n }\r\n }\r\n //返回按钮\r\n backClick(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n //最上方用户动画\r\n playerAction(){\r\n //-254 377 210 453\r\n this.Player.getChildByName(\"rank\").active = false;\r\n let time = 1;\r\n this.tween = cc.tween(this.Player)\r\n .to(2,{position:cc.v3(210,453,0)})\r\n .call(() =>{\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n })\r\n .start();\r\n time = (this.listData.length - this.rankNumber)/this.listData.length;\r\n if(this.listData.length >= 99){\r\n if(this.rankNumber >= 99){\r\n time = (Math.random()*49+1)/100\r\n var matchId = cc.sys.localStorage.getItem(\"matchNumber\");\r\n if(matchId == null || matchId == undefined){\r\n time = 0;\r\n }\r\n }\r\n }\r\n setTimeout(() => {\r\n if(this.tween)this.tween.stop();\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n }, time*2000);\r\n\r\n }\r\n //设置头像\r\n public setPic(pic){\r\n this.phone.node.parent.getChildByName(\"icon\").active = false;\r\n this.phone.node.active = false;\r\n this.Player.active = true;\r\n this.Player.opacity = 0;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = false;\r\n fetch(pic)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n this.phone.node.parent.getChildByName(\"icon\").active = true;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n var self = this;\r\n cc.assetManager.loadRemote(pic, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n self.Player.opacity = 255;\r\n if(texture){\r\n self.phone.node.active = true;\r\n self.phone.spriteFrame = new cc.SpriteFrame(texture);\r\n self.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n self.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = true;\r\n self.Player.getChildByName(\"mask\").getChildByName(\"phone\").getComponent(cc.Sprite)\r\n .spriteFrame = new cc.SpriteFrame(texture);\r\n setTimeout(() => {\r\n self.playerAction();\r\n }, 500);\r\n }\r\n else{\r\n self.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n setTimeout(() => {\r\n self.playerAction();\r\n }, 500);\r\n }\r\n \r\n })\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Storage.js.map b/temp/quick-scripts/src/assets/Script/Storage.js.map index 2f0aae1..1c4305a 100644 --- a/temp/quick-scripts/src/assets/Script/Storage.js.map +++ b/temp/quick-scripts/src/assets/Script/Storage.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Storage.ts"],"names":[],"mappings":";;;;;;;AACA,IAAI,cAAc,GAAG;IACjB,UAAU,EAAG,UAAS,GAAG;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC/C;QAED,IAAG,MAAM,EAAC;YACR,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,UAAU,EAAG,UAAS,GAAG,EAAC,KAAK;QAC3B,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtC,YAAY;QACZ,+CAA+C;QAC/C,YAAY;IAChB,CAAC;IACD,aAAa,EAAG,UAAS,GAAG;QAC1B,UAAU;QACV,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;SACpC;IACH,CAAC;CACJ,CAAC;AAEO,wCAAc","file":"","sourceRoot":"/","sourcesContent":["\nvar StorageMessage = {\n getStorage : function(key){\n var result = null;\n if(cc.sys.localStorage.getItem(key)){\n var result = cc.sys.localStorage.getItem(key);\n }\n \n if(result){\n result = JSON.parse(result);\n }\n return result;\n },\n setStorage : function(key,value){\n //主动拉起分享接口\n var temp = JSON.stringify(value);\n cc.sys.localStorage.setItem(key, temp)\n // debugger;\n // var temp = cc.sys.localStorage.getItem(key);\n // debugger;\n },\n removeStorage : function(key){\n //主动删除消息接口\n if(cc.sys.localStorage.getItem(key)){\n cc.sys.localStorage.removeItem(key)\n }\n },\n};\n\nexport { StorageMessage };"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Storage.ts"],"names":[],"mappings":";;;;;;;AAAA,SAAS;AACT,IAAI,cAAc,GAAG;IACjB,UAAU,EAAG,UAAS,GAAG;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC/C;QAED,IAAG,MAAM,EAAC;YACR,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,UAAU,EAAG,UAAS,GAAG,EAAC,KAAK;QAC3B,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IACD,aAAa,EAAG,UAAS,GAAG;QAC1B,UAAU;QACV,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;SACpC;IACH,CAAC;CACJ,CAAC;AAEO,wCAAc","file":"","sourceRoot":"/","sourcesContent":["//缓存浏览器数据\nvar StorageMessage = {\n getStorage : function(key){\n var result = null;\n if(cc.sys.localStorage.getItem(key)){\n var result = cc.sys.localStorage.getItem(key);\n }\n \n if(result){\n result = JSON.parse(result);\n }\n return result;\n },\n setStorage : function(key,value){\n //主动拉起分享接口\n var temp = JSON.stringify(value);\n cc.sys.localStorage.setItem(key, temp)\n },\n removeStorage : function(key){\n //主动删除消息接口\n if(cc.sys.localStorage.getItem(key)){\n cc.sys.localStorage.removeItem(key)\n }\n },\n};\n\nexport { StorageMessage };"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Sun.js.map b/temp/quick-scripts/src/assets/Script/Sun.js.map index 3cb86e1..9565a60 100644 --- a/temp/quick-scripts/src/assets/Script/Sun.js.map +++ b/temp/quick-scripts/src/assets/Script/Sun.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Sun.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\nimport GameManager from './GameManager';\r\nimport { Notification } from './Notification';\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n id_Number:number\r\n _speed:number\r\n _color:number\r\n touch:boolean\r\n _repeat:boolean\r\n move:boolean\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n // onLoad () {}\r\n\r\n start () {\r\n this.touch = true;\r\n this.move = false;\r\n this._color = 0;\r\n this._speed = 0;\r\n var shan = this.node.getChildByName(\"shan\");\r\n\r\n cc.tween(shan)\r\n .repeatForever(\r\n cc.tween()\r\n .to(1,{opacity:0,scale:0.5,})\r\n .delay(0.2)\r\n .to(1,{opacity:255,scale:1.2})\r\n .delay(0.5)\r\n )\r\n .start();\r\n\r\n }\r\n\r\n init(_id,color,speed,repeat){\r\n this.id_Number = _id;\r\n this._color = color;\r\n this._speed = speed;\r\n this._repeat = repeat;\r\n }\r\n\r\n showNumber(type){\r\n this.node.getChildByName(\"number\").active = type;\r\n if(type == true)\r\n this.node.getChildByName(\"number\").getComponent(cc.Label).string = this.id_Number + \"\";\r\n }\r\n\r\n clickBtn(){\r\n var temp = this.node.parent.parent.name;\r\n // console.log(temp,this.move,this.touch);\r\n if( this.move == false && this.touch == true){\r\n if(this.node.parent.parent.name == \"GameNode\"){\r\n if(this.node.parent.parent.getComponent(\"GameManager\").begin == true){\r\n cc.tween(this.node.getChildByName(\"action\"))\r\n .to(0.5,{opacity:0,scale:1.8})\r\n .start();\r\n cc.tween(this.node)\r\n .to(0.3,{scale:1.3})\r\n .to(0.3,{scale:1})\r\n .start();\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n }\r\n else{\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n\r\n }\r\n }\r\n\r\n clickBtn2(){\r\n if( this.touch == true && this.node.parent.parent.getComponent(\"GuideManager\").begin == true){\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n }\r\n\r\n update (dt) {\r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Sun.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\nimport GameManager from './GameManager';\r\nimport { Notification } from './Notification';\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n id_Number:number\r\n _speed:number\r\n _color:number\r\n touch:boolean\r\n _repeat:boolean\r\n move:boolean\r\n // onLoad () {}\r\n start () {\r\n }\r\n //初始化数据\r\n init(_id,color,speed,repeat){\r\n this.touch = true;\r\n this.move = false;\r\n this.id_Number = _id;\r\n this._color = color;\r\n this._speed = speed;\r\n this._repeat = repeat;\r\n //太阳动画\r\n cc.tween(this.node.getChildByName(\"shan\"))\r\n .repeatForever(\r\n cc.tween()\r\n .to(1,{opacity:0,scale:0.5,})\r\n .delay(0.2)\r\n .to(1,{opacity:255,scale:1.2})\r\n .delay(0.5)\r\n )\r\n .start();\r\n }\r\n //用于作弊 测试\r\n showNumber(type){\r\n this.node.getChildByName(\"number\").active = type;\r\n if(type == true)\r\n this.node.getChildByName(\"number\").getComponent(cc.Label).string = this.id_Number + \"\";\r\n }\r\n //点击事件\r\n clickBtn(event,data){\r\n if(data === \"1\"){\r\n if( this.move == false && this.touch == true){\r\n if(this.node.parent.parent.name == \"GameNode\"){\r\n if(this.node.parent.parent.getComponent(\"GameManager\").begin == true){\r\n cc.tween(this.node.getChildByName(\"action\"))\r\n .to(0.5,{opacity:0,scale:1.8})\r\n .start();\r\n cc.tween(this.node)\r\n .to(0.3,{scale:1.3})\r\n .to(0.3,{scale:1})\r\n .start();\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n }\r\n else{\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n \r\n }\r\n }\r\n else{\r\n if( this.touch == true && this.node.parent.parent.getComponent(\"GuideManager\").begin == true){\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n }\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/test.js.map b/temp/quick-scripts/src/assets/Script/test.js.map deleted file mode 100644 index b5a05b4..0000000 --- a/temp/quick-scripts/src/assets/Script/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\test.ts"],"names":[],"mappings":"","file":"","sourceRoot":"/","sourcesContent":[""]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/tool/AudioManager.js.map b/temp/quick-scripts/src/assets/Script/tool/AudioManager.js.map new file mode 100644 index 0000000..5b9ef60 --- /dev/null +++ b/temp/quick-scripts/src/assets/Script/tool/AudioManager.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets\\Script\\AudioManager.js"],"names":["cc","Class","Component","properties","audioGameBgm0","type","AudioClip","audioButtonClick","audioWarning","audioWin","reward","finish","rewardCount","ctor","mAudioMap","bgMusicVolume","effectMusicVolume","mMusicSwitch","mEffectSwitch","play","audioSource","loop","callback","isBgMusic","volume","sys","isBrowser","brickSound","context","audioEngine","setFinishCallback","call","bind","wx","createInnerAudioContext","autoplay","obeyMuteSwitch","onEnded","offEnded","src","nativeUrl","save","onLoad","window","addEventListener","dispatchEvent","preload","platform","WECHAT_GAME","musics","forEach","path","getAudioMusicSwitch","getAudioEffectSwitch","trunAudioSound","on","switchMusic","switchEffect","playMusicGame","stopMusic","onHide","pauseAll","onShow","resumeAll","playMusic","key","mMusicKey","stop","playBomb","audioBomb","playJiGuang","audioJiGuang","playItem1","audioItem1","playGameStart","audioGameStart","playGameOver","audioGameOver","playGameResultFailed","audioGameResultFail","playGameResultSuccess","audioGameResultSuccess","playWarning","playWin","playBrick","brickBoom","audioObj","playAudioButton","playRandomMatch","randomMatchSound","playMatchFoundSound","matchFoundSound"],"mappings":"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","sourceRoot":"/","sourcesContent":["cc.Class({\n extends: cc.Component,\n properties:{\n //背景音乐\n audioGameBgm0:{\n default:null,\n type:cc.AudioClip\n },\n // 按钮点击\n audioButtonClick:{\n default:null,\n type:cc.AudioClip\n },\n // 报警音效\n audioWarning:{\n default:null,\n type:cc.AudioClip\n },\n\n //游戏开始音效\n audioWin:{\n default:null,\n type:cc.AudioClip\n },\n\n reward: false,\n finish: false,\n rewardCount: 0\n\n },\n ctor: function () {\n this.mAudioMap = {};\n\n /**\n * 默认音量大小\n * @type {number}\n */\n this.bgMusicVolume = 0.1;\n this.effectMusicVolume = 1;\n\n this.mMusicSwitch = 1;\n this.mEffectSwitch = 1;\n },\n play : function(audioSource, loop, callback, isBgMusic) {\n if (isBgMusic && !this.mMusicSwitch) return;\n if (!isBgMusic && !this.mEffectSwitch) return;\n\n var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume;\n\n if (cc.sys.isBrowser) {\n if(audioSource == this.brickSound){\n volume = 0.1;\n } \n var context = cc.audioEngine.play(audioSource, loop, volume);\n if (callback){\n cc.audioEngine.setFinishCallback(context, function(){\n callback.call(this);\n }.bind(this));\n }\n\n this.mAudioMap[audioSource] = context;\n return audioSource;\n } else {\n var context = wx.createInnerAudioContext();\n context.autoplay = true;\n context.loop = loop;\n context.obeyMuteSwitch = true;\n context.volume = volume;\n\n if (callback) {\n context.onEnded(function() {\n callback.call(this);\n }.bind(this));\n } else {\n context.offEnded();\n }\n \n // var audioPath = cc.url.raw(\"resources/BallMaster/sounds\" + audioSource.name + \".mp3\");\n context.src = audioSource.nativeUrl;\n context.play()\n this.mAudioMap[audioSource] = context;\n \n return audioSource;\n }\n },\n\n save: function () {\n // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch);\n // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch);\n },\n onLoad() {\n // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Music_Volume, function(volume) {\n // this.mMusicSwitch = parseInt(volume);\n // }.bind(this), 1);\n\n // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Effect_Volume, function(volume) {\n // this.mEffectSwitch = parseInt(volume);\n // }.bind(this), 1);\n\n this.reward = false;\n this.finish = false;\n this.rewardCount = 0;\n window.addEventListener('rewardCanUse', () => {\n // 此时激励可用 游戏内部逻辑\n this.reward = true;\n });\n\n 'undefined' != typeof window['reward'] ? \n window.dispatchEvent(window['reward']):\"\"\n\n this.preload();\n },\n preload : function() {\n if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { return; }\n\n var musics = [\n this.audioGameBgm0,\n ];\n musics.forEach(function(path) {\n // var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path;\n // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) {\n // cc.loader.load(musicPath, function(err, remoteUrl) {\n // if (err) {\n // cc.error(err.message || err);\n // return;\n // }\n // });\n // }\n })\n },\n\n getAudioMusicSwitch()\n {\n return this.mMusicSwitch;\n\n },\n getAudioEffectSwitch()\n {\n return this.mEffectSwitch;\n },\n trunAudioSound(on)\n {\n this.switchMusic(on);\n this.switchEffect(on)\n },\n switchMusic : function(on) {\n if (this.mMusicSwitch != (on?1:0))\n {\n this.mMusicSwitch = 1-this.mMusicSwitch;\n // this.save();\n \n }\n if(on)\n {\n this.playMusicGame();\n }\n else\n {\n this.stopMusic();\n }\n },\n switchEffect : function(on) {\n if (this.mEffectSwitch != (on?1:0)){\n this.mEffectSwitch = 1-this.mEffectSwitch;\n // this.save();\n\n }\n },\n onHide () {\n cc.audioEngine.pauseAll();\n\n // if (CC_JSB) {\n // } else {\n // for (var key in this.mAudioMap) {\n // if (key === this.mMusicKey) {\n // this.mAudioMap[key].pause();\n // } else {\n // this.mAudioMap[key].stop();\n // }\n // }\n // }\n },\n\n onShow () {\n cc.audioEngine.resumeAll();\n\n // if (CC_JSB) {\n // } else {\n // if (!this.mMusicSwitch) return;\n // var context = this.mAudioMap[this.mMusicKey];\n // if (context) {\n // context.play();\n // }\n // }\n },\n playMusic : function(key, callback, loop) {\n\n loop = typeof loop == 'undefined' || loop ? true : false;\n\n this.stopMusic();\n this.mMusicKey = this.play(key, loop, callback, true);\n },\n /**\n * 游戏背景音乐\n */\n playMusicGame () {\n this.playMusic(this.audioGameBgm0);\n },\n /**\n * 停止背景音乐播放\n */\n stopMusic () {\n // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey);\n\n var context = this.mAudioMap[this.mMusicKey];\n\n if (typeof(context) != 'undefined') {\n if (cc.sys.isBrowser) {\n cc.audioEngine.stop(context);\n } else {\n context.stop();\n }\n cc.audioEngine.stop(context);\n\n }\n },\n // 炸弹、火箭爆炸音效\n playBomb () {\n return this.play(this.audioBomb, false);\n },\n //激光音效\n playJiGuang()\n {\n return this.play(this.audioJiGuang, false);\n },\n //技能音效\n playItem1()\n {\n return this.play(this.audioItem1, false);\n },\n /*\n * 游戏开始音效\n *\n */\n playGameStart()\n {\n return this.play(this.audioGameStart, false);\n },\n /*\n * 失败的游戏结束\n */\n playGameOver()\n {\n return this.play(this.audioGameOver,false);\n },\n /*\n * 成功的游戏结束\n */\n playGameResultFailed()\n {\n return this.play(this.audioGameResultFail,false);\n },\n /*\n * 成功的游戏结束\n */\n playGameResultSuccess()\n {\n return this.play(this.audioGameResultSuccess,false);\n },\n /**\n * 报警的音效\n */\n playWarning()\n {\n return this.play(this.audioWarning,false);\n\n },\n\n playWin()\n {\n return this.play(this.audioWin,false);\n },\n\n /*\n * 方块碰撞的声音\n */\n playBrick()\n {\n return this.play(this.brickSound,false);\n },\n //方块破碎的声音\n brickBoom(){\n return this.play(this.audioObj,false);\n },\n /**\n * 按钮\n */\n playAudioButton () {\n return this.play(this.audioButtonClick, false);\n },\n\n playRandomMatch()\n {\n this.playMusic(this.randomMatchSound);\n },\n playMatchFoundSound()\n {\n this.stopMusic();\n return this.play(this.matchFoundSound, false);\n }\n});"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/tool/GameTool.js b/temp/quick-scripts/src/assets/Script/tool/GameTool.js index bcbb1b6..f0ae792 100644 --- a/temp/quick-scripts/src/assets/Script/tool/GameTool.js +++ b/temp/quick-scripts/src/assets/Script/tool/GameTool.js @@ -1,529 +1,247 @@ "use strict"; -cc._RF.push(module, 'a1dd7qMiCpOLL3FDXJd9DGy', 'GameTool'); -// Script/tool/GameTool.js +cc._RF.push(module, 'ddac3ZC+9pHQr0Fs9IIhw4a', 'GameTool'); +// Script/tool/GameTool.ts "use strict"; - -var _window$GameTool; - -var StorageMessage = require("Storage").StorageMessage; - -window.GameTool = (_window$GameTool = { - _startTime: 0, - _endTime: 0, - _totalTime: 0, - getSeedRandom: function getSeedRandom(min, max) { - //包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); - }, - getSetScreenResolutionFlag: function getSetScreenResolutionFlag() { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if (height / width > 16.2 / 9) return false; - return true; - }, - //判断全面屏适配 - setFit: function setFit(canvas) { - var flag = GameTool.getSetScreenResolutionFlag(); - - if (flag) {// console.log("不是全面屏"); - // canvas.fitWidth = false; - // canvas.fitHeight = true; - } else {// console.log("是全面屏"); - // canvas.fitWidth = true; - // canvas.fitHeight = false; - } - - return flag; - }, - // submitScoreButtonFunc: function(score1,fen1){ - // console.log("上传分数:",score1,fen1) - // // var score = score1; - // // var fen = fen1; - // // if (CC_WECHATGAME) { - // // window.wx.postMessage({ - // // messageType: 3, - // // MAIN_MENU_NUM: "guan", - // // score: score, - // // MAIN_MENU_FEN: "score", - // // fen: fen, - // // }); - // // } else { - // // cc.log("提交得分: x1 : " + score) - // // } - // // return true; - // }, - submitScoreButtonFunc: function submitScoreButtonFunc(fen2, number) { - console.log("number=", number); - - if (number == 0) { - console.log("上传分数:", fen2); - var fen = fen2; - - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 3, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: fen, - fen: 0 - }); - } else { - cc.log("提交得分: x1 : " + fen); - } - } else { - console.log("上传特殊分数:", fen2); - var fen = fen2; - - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 7, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: 0, - fen: fen - }); - } else { - cc.log("提交得分: x1 : " + fen); - } - } - - return true; - }, - getTip: function getTip() { - var index = Math.floor(Math.random() * 4) + 1; - - switch (index) { - case 1: - { - return "根据小球的位置,合理晃动手机,确保小球不掉出木板。"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GameTool = void 0; +var GameData_1 = require("../GameData"); +//最大工具类 +var GameTool = { + _startTime: 0, + _endTime: 0, + _totalTime: 0, + getSeedRandom: function (min, max) { + max = max || 1; + min = min || 0; + GameData_1.default._instance.GM_INFO.currSeed = (GameData_1.default._instance.GM_INFO.currSeed * 9301 + 49297) % 233280; + var rnd = GameData_1.default._instance.GM_INFO.currSeed / 233280.0; + var tmp = min + rnd * (max - min); + return Math.floor(tmp); + }, + getSetScreenResolutionFlag: function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }, + //判断全面屏适配 + setFit: function (canvas) { + var flag = GameTool.getSetScreenResolutionFlag(); + if (flag) { + // console.log("不是全面屏"); + // canvas.fitWidth = false; + // canvas.fitHeight = true; } - - case 2: - { - return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。"; + else { + // console.log("是全面屏"); + // canvas.fitWidth = true; + // canvas.fitHeight = false; } - - case 3: - { - return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。"; - } - - case 4: - { - return "尝试着顶开掉落的障碍,是个很酷的玩法。"; - } - } - }, - beginTiming: function beginTiming() { - this._startTime = new Date().getTime(); - }, - endTiming: function endTiming() { - this._endTime = new Date().getTime(); // this._totalTime = endTime - this._startTime; - }, - //如果是判断时常的游戏 调用此方法 - updateScoreTime: function updateScoreTime() { - var endTime = new Date().getTime(); - var tempTime = endTime - this._startTime; - - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - - this._endTime += tempTime / 1000; - this._totalTime = this._endTime.toFixed(2); - GM_INFO.currScore = this._totalTime; - this._startTime = endTime; - }, - //倒计时调用此方法 - countDown: function countDown() { - this._endTime = new Date().getTime(); - this._totalTime = parseInt((this._endTime - this._startTime) / 1000); - GM_INFO.remainingTime = GM_INFO.totalTime - this._totalTime; - }, - httpRequest: function httpRequest(url, data, _success, _fail) { - console.log("进入网络请求:"); - wx.getNetworkType({ - success: function success(res) { - var networkType = res.networkType; // console.log(networkType); - //有网络状态下 - - if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json', - // 默认值 - 'Authorization': window.globalData.BASE64_JWT_TOKEN ? 'Bearer ' + window.globalData.BASE64_JWT_TOKEN : '' - }, - method: 'POST', - success: function success(res) { - console.log('httpRequest:::::success', res); - - _success(res); - }, - fail: function fail(res) { - console.log('httpRequest:::::fail', res, "失败url为", url); - - _fail(res); + return flag; + }, + getTip: function () { + var index = Math.floor(Math.random() * 4) + 1; + switch (index) { + case 1: { + return "根据小球的位置,合理晃动手机,确保小球不掉出木板。"; } - }); - } else { - _fail(res); - } - }, - fail: function fail(res) { - _fail(res); - } - }); // console.log('httpRequest:::::', url, data, success, fail) - }, - httpRequest_Notoken: function httpRequest_Notoken(url, data, _success2, _fail2) { - // console.log('httpRequest:::::', url, data, success, fail) - wx.getNetworkType({ - success: function success(res) { - var networkType = res.networkType; // console.log(networkType); - //有网络状态下 - - if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json' // 默认值 - - }, - method: 'POST', - success: function success(res) { - console.log('httpRequest:::::success', res); - - _success2(res); - }, - fail: function fail(res) { - console.log('httpRequest:::::fail', res, "失败url为", url); - - _fail2(res); + case 2: { + return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。"; } - }); - } else { - _fail2(res); - } - }, - fail: function fail(res) { - _fail2(res); - } - }); - }, - getGameInfo: function getGameInfo(node) { - var jg = false; - var nodes = node; - var data = { - 'appid': window.globalData.appid - }; - window.GameTool.httpRequest(window.globalData.getUserInfoUrl, data, function (res) { - window.globalData.gameUserInfo = res.data.king_user; //user_id在这里 - - console.log("拿到服务器的信息", res.data); - - if (window.globalData.gameUserInfo) { - console.log("获得服务器游戏信息成功:", window.globalData.gameUserInfo); - if (window.globalData.gameUserInfo.unlock_1) window.GM_INFO.unlock_1 = window.globalData.gameUserInfo.unlock_1; - if (window.globalData.gameUserInfo.unlock_2) window.GM_INFO.unlock_2 = window.globalData.gameUserInfo.unlock_2; //如果服务器有金币信息 - - if (window.globalData.gameUserInfo.coin) { - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if (StorageMessage.getStorage("Coin")) { - if (window.globalData.gameUserInfo.coin != StorageMessage.getStorage("Coin")) { - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin", window.GM_INFO.coin); + case 3: { + return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。"; } - } //如果本地没有金币信息 , 以服务器金币信息为主 - else { - window.GM_INFO.coin = window.globalData.gameUserInfo.coin; - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } else { - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if (StorageMessage.getStorage("Coin")) { - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } //如果本地没有金币信息 , 以服务器金币信息为主 - else { - window.GM_INFO.coin = 200; - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } - - cc.director.loadScene('GameBegin'); // console.log("即将进入这里"); - // if(StorageMessage.getStorage("level")){ - // // console.log("本地有等级信息;"); - // // console.log("服务器信息等级为:",window.globalData.gameUserInfo.level); - // window.GM_INFO.level = StorageMessage.getStorage("level"); - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // // console.log("本地等级信息为:",window.GM_INFO.level); - // //本地存储等级 小于服务器等级, 等于本地数据丢失,这时以服务器数据为主重新构建游戏 - // if(window.GM_INFO.level < window.globalData.gameUserInfo.level){ - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - // //正常进入游戏,以本地数据为主,服务器数据为辅 - // else{ - // console.log("本地数据大以本地主数据为主"); - // // window.GameTool.setGameInfo(true); - // } - // } - // else{ - // console.log("笨地没等级数据"); - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - - if (CC_WECHATGAME) { - wx.onShow(function (res) { - if (res) { - if (res.query) { - console.log("分享中带的信息", res.query); - - if (res.query.key1) { - window.GameTool.setFrindHelp(res.query.key1); - } - - if (res.query.key2) { - window.GameTool.setFrindBlock(res.query.key2); - } - - if (res.query.key3) { - window.GameTool.setFrindBlockMax(res.query.key3); - } - } + case 4: { + return "尝试着顶开掉落的障碍,是个很酷的玩法。"; } - }); - wx.onHide(function (res) { - console.log("检测退出游戏"); // window.arm = []; - // for(var i=0; i<12; i++){ - // window.arm[i] = null; - // window.arm[i] = {error:"error"}; - // } - // window.arm = StorageMessage.setStorage("arm",window.arm); - - var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level, window.GM_INFO.coin); - window.GameTool.setGameInfo(); - }); } - - jg = true; - } else { - console.log("拿到服务器信息失败"); - cc.director.loadScene("LoadScene"); - } - }, function () { - jg = false; - console.log("get用户信息失败", res); - }); - return jg; - }, - //根据服务器数据重置所需要所有数据 - reset: function reset() { - // if(window.globalData.gameUserInfo.arm) - // StorageMessage.setStorage("arm",window.globalData.gameUserInfo.arm); - // if(window.globalData.gameUserInfo.richest_coin) - // StorageMessage.setStorage("coin",parseInt(window.globalData.gameUserInfo.richest_coin)); - // if(window.globalData.gameUserInfo.dimond) - // StorageMessage.setStorage("dimond",window.globalData.gameUserInfo.dimond); - // if(window.globalData.gameUserInfo.buy_time) - // StorageMessage.setStorage("buy_Time",window.globalData.gameUserInfo.buy_time); - // if(window.globalData.gameUserInfo.dimond_time) - // StorageMessage.setStorage("dimond_Time",window.globalData.gameUserInfo.dimond_time); - // if(window.globalData.gameUserInfo.level) - // StorageMessage.setStorage("level",window.globalData.gameUserInfo.level); - // if(window.globalData.gameUserInfo.total_Speed) - // StorageMessage.setStorage("total_Speed",parseInt(window.globalData.gameUserInfo.total_Speed)); - // if(window.globalData.gameUserInfo.leave_time) - // StorageMessage.setStorage("leave_time",window.globalData.gameUserInfo.leave_time); - // if(window.globalData.gameUserInfo.reward1) - // StorageMessage.setStorage("share_Array",window.globalData.gameUserInfo.reward1); - // if(window.globalData.gameUserInfo.reward2) - // StorageMessage.setStorage("share_100",window.globalData.gameUserInfo.reward2); - // StorageMessage.setStorage("GM_INFO",window.GM_INFO); - console.log("本地数据丢失,重新启动游戏"); - cc.director.loadScene('LoadScene'); - }, - setGameInfo: function setGameInfo(pd) { - var data = {// "richest_coin":window.coin+"", - // "arm":window.arm, - // "buy_time":window.buy_Time, - // "dimond":parseInt(window.dimond), - // "dimond_time":window.dimond_Time, - // "level":window.GM_INFO.level, - // "total_speed":window.total_Speed+"", - // "reward_1":window.GM_INFO.share_Array, //用于存储6个红包的领取信息 - // "reward_2":window.share_100 //用于存储100个红包的领取信息 - }; // console.log("存储之前检测:",window.arm,arms); - - window.GameTool.httpRequest(window.globalData.richest, data, function (res) { - console.log('存储userInfo成功', res); - - if (!pd) { - window.GM_INFO.leave_time = res.data.leave_time; - StorageMessage.setStorage("leave_time", window.GM_INFO.leave_time); - } - }, function (res) { - console.log('存储userInfo失败', res); - - if (!pd) { - window.GM_INFO.leave_time = parseInt(new Date().valueOf() / 1000); - StorageMessage.setStorage("leave_time", data); - } - }); - }, - //输入秒,返回需要展示时间格式 - getTimeMargin: function getTimeMargin(second) { - var total = second; - var hour = parseInt(total / (60 * 60)); //计算整数小时数 - - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - - var min = parseInt(afterHour / 60); //计算整数分 - - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - - return '剩余:' + hour + ':' + min + ':' + afterMin; - }, - getTimeMargin2: function getTimeMargin2(second) { - var total = second; - var hour = parseInt(total / (60 * 60)); //计算整数小时数 - - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - - var min = parseInt(afterHour / 60); //计算整数分 - - if (min < 10) min = "0" + min; - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - - if (afterMin < 10) afterMin = "0" + afterMin; - return '剩余:' + min + ':' + afterMin; - }, - setFrindBlock: function setFrindBlock(userid) { - // console.log("添加时候的userid"); - var data = { - user_id: userid - }; // if(userid != window.globalData.gameUserInfo.user_id){ - // console.log("进分享的不是自己"); - // { - - window.GameTool.httpRequest(window.globalData.entryBlock, data, function (res) { - console.log('添加红包助力信息成功', res); - }, function (res) { - console.log('添加红包助力信息失败', res); - }); // } - // } - // else{ - // console.log("进入分享的是自己"); - // } - } -}, _window$GameTool["getSeedRandom"] = function getSeedRandom(min, max) { - //包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); -}, _window$GameTool.getTime = function getTime(time) { - var label = ""; - var number_1 = parseInt(time / 60); - var number_2 = time - number_1 * 60; - - if (number_1 < 10) { - number_1 = "0" + number_1; - } - - if (number_2 < 10) { - number_2 = "0" + number_2; - } - - label = number_1 + ":" + number_2; - return label; -}, _window$GameTool.getNumber = function getNumber(number, type) { - // console.log(type,"需要转换的数字为:",number); - var count = 1000; - var place = type - 3; - - if (number > Math.pow(count, 8) * Math.pow(10, place)) { - if (number / Math.pow(count, 8) < 100) number = parseInt(number / Math.pow(count, 8) * 10) / 10 + "S";else number = parseInt(number / Math.pow(count, 8)) + "S"; - } else if (number > Math.pow(count, 7) * Math.pow(10, place)) { - if (number / Math.pow(count, 7) < 100) number = parseInt(number / Math.pow(count, 7) * 10) / 10 + "s";else number = parseInt(number / Math.pow(count, 7)) + "s"; - } else if (number > Math.pow(count, 6) * Math.pow(10, place)) { - if (number / Math.pow(count, 6) < 100) number = parseInt(number / Math.pow(count, 6) * 10) / 10 + "Q";else number = parseInt(number / Math.pow(count, 6)) + "Q"; - } else if (number > Math.pow(count, 5) * Math.pow(10, place)) { - if (number / Math.pow(count, 5) < 100) number = parseInt(number / Math.pow(count, 5) * 10) / 10 + "q";else number = parseInt(number / Math.pow(count, 5)) + "q"; - } else if (number > Math.pow(count, 4) * Math.pow(10, place)) { - if (number / Math.pow(count, 4) < 100) number = parseInt(number / Math.pow(count, 4) * 10) / 10 + "t";else number = parseInt(number / Math.pow(count, 4)) + "t"; - } else if (number > Math.pow(count, 3) * Math.pow(10, place)) { - if (number / Math.pow(count, 3) < 100) number = parseInt(number / Math.pow(count, 3) * 10) / 10 + "b";else number = parseInt(number / Math.pow(count, 3)) + "b"; - } else if (number > Math.pow(count, 2) * Math.pow(10, place)) { - if (number / Math.pow(count, 2) < 100) number = parseInt(number / Math.pow(count, 2) * 10) / 10 + "m";else number = parseInt(number / Math.pow(count, 2)) + "m"; - } else if (number > Math.pow(count, 1) * Math.pow(10, place)) { - if (number / Math.pow(count, 1) < 100) { - number = parseInt(number / Math.pow(count, 1) * 10) / 10 + "k"; - } else number = parseInt(number / Math.pow(count, 1)) + "k"; - } else { - number = parseInt(number / Math.pow(count, 0)) + ""; - } // console.log("结果为"+type+"位数",number); - - - return number; -}, _window$GameTool.begainTiming = function begainTiming() { - this._startTime = new Date().getTime(); -}, _window$GameTool["endTiming"] = function endTiming() { - var endTime = new Date().getTime(); - this._endTime = endTime; - this._totalTime = endTime - this._startTime; -}, _window$GameTool.getScoreTime = function getScoreTime() { - var endTime = new Date().getTime(); - var tempTime = endTime - this._startTime; - - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - - GM_INFO.currScore += tempTime; - this._startTime = endTime; -}, _window$GameTool.getFormatTime = function getFormatTime(time) { - var date = new Date(); - date.setTime(time); - var ms = date.getMilliseconds(); // let msString = date.getMilliseconds(); - - var msString = parseInt(ms / 10) % 100; - var secondString = date.getSeconds(); - var minString = date.getMinutes(); - - if (msString < 10) { - msString = "0" + msString; - } - - if (secondString < 10) { - secondString = "0" + secondString; - } - - secondString = secondString + ":"; - - if (minString < 10) { - minString = "0" + minString; - } - - minString = minString + ":"; - return minString + secondString + msString; -}, _window$GameTool.pushLister = function pushLister() {}, _window$GameTool.removeAllLister = function removeAllLister() {}, _window$GameTool); + }, + beginTiming: function () { + this._startTime = new Date().getTime(); + }, + endTiming: function () { + this._endTime = new Date().getTime(); + // this._totalTime = endTime - this._startTime; + }, + //如果是判断时常的游戏 调用此方法 + updateScoreTime: function () { + var endTime = new Date().getTime(); + var tempTime = endTime - this._startTime; + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + this._endTime += tempTime / 1000; + this._totalTime = this._endTime.toFixed(2); + GameData_1.default._instance.GM_INFO.currScore = this._totalTime; + this._startTime = endTime; + }, + //倒计时调用此方法 + countDown: function () { + this._endTime = new Date().getTime(); + this._totalTime = Math.floor((this._endTime - this._startTime) / 1000); + GameData_1.default._instance.GM_INFO.remainingTime = GameData_1.default._instance.GM_INFO.totalTime - this._totalTime; + }, + getGameInfo: function (node) { + var jg = false; + return jg; + }, + //根据服务器数据重置所需要所有数据 + reset: function () { + console.log("本地数据丢失,重新启动游戏"); + cc.director.loadScene('LoadScene'); + }, + setGameInfo: function (pd) { + }, + //输入秒,返回需要展示时间格式 + getTimeMargin: function (second) { + var total = second; + var hour = Math.floor(total / (60 * 60)); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + var min = Math.floor(afterHour / 60); //计算整数分 + var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + return '剩余:' + hour + ':' + min + ':' + afterMin; + }, + getTimeMargin2: function (second) { + var total = second; + var min = null; + var afterMin = null; + var hour = Math.floor(total / (60 * 60)); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + min = Math.floor(afterHour / 60); //计算整数分 + if (min < 10) + min = "0" + min; + afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + if (afterMin < 10) + afterMin = "0" + afterMin; + return '剩余:' + min + ':' + afterMin; + }, + setFrindBlock: function (userid) { + }, + //将时间转换为59:23 + getTime: function (time) { + var label = ""; + var number_1 = null; + var number_2 = null; + number_1 = Math.floor(time / 60); + number_2 = time - number_1 * 60; + if (number_1 < 10) { + number_1 = "0" + number_1; + } + if (number_2 < 10) { + number_2 = "0" + number_2; + } + label = number_1 + ":" + number_2; + return label; + }, + //number 为传进来的数值,type为最多显示几位数 + getNumber: function (number, type) { + // console.log(type,"需要转换的数字为:",number); + var count = 1000; + var place = type - 3; + if (number > Math.pow(count, 8) * Math.pow(10, place)) { + if (number / Math.pow(count, 8) < 100) + number = Math.floor(number / Math.pow(count, 8) * 10) / 10 + "S"; + else + number = Math.floor(number / Math.pow(count, 8)) + "S"; + } + else if (number > Math.pow(count, 7) * Math.pow(10, place)) { + if (number / Math.pow(count, 7) < 100) + number = Math.floor(number / Math.pow(count, 7) * 10) / 10 + "s"; + else + number = Math.floor(number / Math.pow(count, 7)) + "s"; + } + else if (number > Math.pow(count, 6) * Math.pow(10, place)) { + if (number / Math.pow(count, 6) < 100) + number = Math.floor(number / Math.pow(count, 6) * 10) / 10 + "Q"; + else + number = Math.floor(number / Math.pow(count, 6)) + "Q"; + } + else if (number > Math.pow(count, 5) * Math.pow(10, place)) { + if (number / Math.pow(count, 5) < 100) + number = Math.floor(number / Math.pow(count, 5) * 10) / 10 + "q"; + else + number = Math.floor(number / Math.pow(count, 5)) + "q"; + } + else if (number > Math.pow(count, 4) * Math.pow(10, place)) { + if (number / Math.pow(count, 4) < 100) + number = Math.floor(number / Math.pow(count, 4) * 10) / 10 + "t"; + else + number = Math.floor(number / Math.pow(count, 4)) + "t"; + } + else if (number > Math.pow(count, 3) * Math.pow(10, place)) { + if (number / Math.pow(count, 3) < 100) + number = Math.floor(number / Math.pow(count, 3) * 10) / 10 + "b"; + else + number = Math.floor(number / Math.pow(count, 3)) + "b"; + } + else if (number > Math.pow(count, 2) * Math.pow(10, place)) { + if (number / Math.pow(count, 2) < 100) + number = Math.floor(number / Math.pow(count, 2) * 10) / 10 + "m"; + else + number = Math.floor(number / Math.pow(count, 2)) + "m"; + } + else if (number > Math.pow(count, 1) * Math.pow(10, place)) { + if (number / Math.pow(count, 1) < 100) { + number = Math.floor(number / Math.pow(count, 1) * 10) / 10 + "k"; + } + else + number = Math.floor(number / Math.pow(count, 1)) + "k"; + } + else { + number = Math.floor(number / Math.pow(count, 0)) + ""; + } + // console.log("结果为"+type+"位数",number); + return number; + }, + begainTiming: function () { + this._startTime = new Date().getTime(); + }, + endTiming2: function () { + var endTime = new Date().getTime(); + this._endTime = endTime; + this._totalTime = endTime - this._startTime; + }, + getScoreTime: function () { + var endTime = new Date().getTime(); + var tempTime = endTime - this._startTime; + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + GameData_1.default._instance.GM_INFO.currScore += tempTime; + this._startTime = endTime; + }, + getFormatTime: function (time) { + var date = new Date(); + date.setTime(time); + var ms = date.getMilliseconds(); + // let msString = date.getMilliseconds(); + var msString = null; + var secondString = null; + var minString = null; + msString = Math.floor(ms / 10) % 100; + secondString = date.getSeconds(); + minString = date.getMinutes(); + if (msString < 10) { + msString = "0" + msString; + } + if (secondString < 10) { + secondString = "0" + secondString; + } + secondString = secondString + ":"; + if (minString < 10) { + minString = "0" + minString; + } + minString = minString + ":"; + return minString + secondString + msString; + }, + pushLister: function () { + }, + removeAllLister: function () { + }, +}; +exports.GameTool = GameTool; cc._RF.pop(); \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/tool/GameTool.js.map b/temp/quick-scripts/src/assets/Script/tool/GameTool.js.map index 55b5be5..6807fdf 100644 --- a/temp/quick-scripts/src/assets/Script/tool/GameTool.js.map +++ b/temp/quick-scripts/src/assets/Script/tool/GameTool.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\tool\\GameTool.js"],"names":["StorageMessage","require","window","GameTool","_startTime","_endTime","_totalTime","getSeedRandom","min","max","GM_INFO","currSeed","rnd","tmp","parseInt","getSetScreenResolutionFlag","size","cc","winSize","width","height","setFit","canvas","flag","submitScoreButtonFunc","fen2","number","console","log","fen","CC_WECHATGAME","wx","postMessage","messageType","MAIN_MENU_FEN","MAIN_MENU_NUM","score","getTip","index","Math","floor","random","beginTiming","Date","getTime","endTiming","updateScoreTime","endTime","tempTime","round","director","getAnimationInterval","toFixed","currScore","countDown","remainingTime","totalTime","httpRequest","url","data","success","fail","getNetworkType","res","networkType","request","globalData","requestAPI","header","BASE64_JWT_TOKEN","method","httpRequest_Notoken","getGameInfo","node","jg","nodes","appid","getUserInfoUrl","gameUserInfo","king_user","unlock_1","unlock_2","coin","getStorage","setStorage","loadScene","onShow","query","key1","setFrindHelp","key2","setFrindBlock","key3","setFrindBlockMax","onHide","temp","level","setGameInfo","reset","pd","richest","leave_time","valueOf","getTimeMargin","second","total","hour","afterHour","afterMin","getTimeMargin2","userid","user_id","entryBlock","time","label","number_1","number_2","getNumber","type","count","place","pow","begainTiming","getScoreTime","getFormatTime","date","setTime","ms","getMilliseconds","msString","secondString","getSeconds","minString","getMinutes","pushLister","removeAllLister"],"mappings":"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","sourceRoot":"/","sourcesContent":["var StorageMessage = require(\"Storage\").StorageMessage;\r\nwindow.GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n getSeedRandom: function (min, max) {//包含min 不包含max\r\n max = max || 1;\r\n min = min || 0;\r\n GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280;\r\n let rnd = GM_INFO.currSeed / 233280.0;\r\n let tmp = min + rnd * (max - min);\r\n return parseInt(tmp);\r\n },\r\n \r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n // canvas.fitWidth = false;\r\n // canvas.fitHeight = true;\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n // canvas.fitWidth = true;\r\n // canvas.fitHeight = false;\r\n }\r\n return flag;\r\n },\r\n\r\n // submitScoreButtonFunc: function(score1,fen1){\r\n // console.log(\"上传分数:\",score1,fen1)\r\n // // var score = score1;\r\n // // var fen = fen1;\r\n // // if (CC_WECHATGAME) {\r\n // // window.wx.postMessage({\r\n // // messageType: 3,\r\n // // MAIN_MENU_NUM: \"guan\",\r\n // // score: score,\r\n // // MAIN_MENU_FEN: \"score\",\r\n // // fen: fen,\r\n // // });\r\n // // } else {\r\n // // cc.log(\"提交得分: x1 : \" + score)\r\n // // }\r\n // // return true;\r\n // },\r\n\r\n\r\n submitScoreButtonFunc: function(fen2,number){\r\n \tconsole.log(\"number=\",number)\r\n if(number == 0){\r\n console.log(\"上传分数:\",fen2)\r\n var fen = fen2;\r\n if (CC_WECHATGAME) {\r\n window.wx.postMessage({\r\n messageType: 3,\r\n MAIN_MENU_FEN: \"score\",\r\n MAIN_MENU_NUM: \"fen\",\r\n score: fen,\r\n fen: 0,\r\n });\r\n } else {\r\n cc.log(\"提交得分: x1 : \" + fen)\r\n }\r\n }\r\n else{\r\n console.log(\"上传特殊分数:\",fen2)\r\n var fen = fen2;\r\n if (CC_WECHATGAME) {\r\n window.wx.postMessage({\r\n messageType: 7,\r\n MAIN_MENU_FEN: \"score\",\r\n MAIN_MENU_NUM: \"fen\",\r\n score: 0,\r\n fen: fen,\r\n });\r\n } else {\r\n cc.log(\"提交得分: x1 : \" + fen)\r\n } \r\n }\r\n return true;\r\n },\r\n\r\n getTip: function () {\r\n let index = Math.floor(Math.random() * 4) + 1;\r\n switch (index) {\r\n case 1: {\r\n return \"根据小球的位置,合理晃动手机,确保小球不掉出木板。\"\r\n }\r\n case 2: {\r\n return \"根据小球位置控制晃动幅度,过大或过小都不是个好选择。\"\r\n }\r\n case 3: {\r\n return \"不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。\"\r\n }\r\n case 4: {\r\n return \"尝试着顶开掉落的障碍,是个很酷的玩法。\"\r\n }\r\n }\r\n },\r\n\r\n beginTiming: function () {\r\n this._startTime = new Date().getTime();\r\n },\r\n\r\n endTiming: function () {\r\n this._endTime = new Date().getTime();\r\n // this._totalTime = endTime - this._startTime;\r\n },\r\n //如果是判断时常的游戏 调用此方法\r\n updateScoreTime: function () {\r\n let endTime = new Date().getTime();\r\n let tempTime = endTime - this._startTime;\r\n if (tempTime < 0 || tempTime > 500) {\r\n tempTime = Math.round(cc.director.getAnimationInterval() * 1000);\r\n }\r\n this._endTime += tempTime / 1000;\r\n this._totalTime = this._endTime.toFixed(2);\r\n GM_INFO.currScore = this._totalTime;\r\n this._startTime = endTime;\r\n },\r\n //倒计时调用此方法\r\n countDown: function () {\r\n this._endTime = new Date().getTime();\r\n this._totalTime = parseInt((this._endTime - this._startTime) / 1000);\r\n GM_INFO.remainingTime = GM_INFO.totalTime - this._totalTime;\r\n },\r\n\r\n httpRequest(url, data, success, fail) {\r\n console.log(\"进入网络请求:\");\r\n wx.getNetworkType({\r\n success(res) {\r\n var networkType = res.networkType;\r\n // console.log(networkType);\r\n //有网络状态下\r\n if(networkType == \"wifi\" ||networkType == \"4g\" || networkType == \"3g\" || networkType ==\"unknown\"){\r\n wx.request({\r\n url: window.globalData.requestAPI + url,\r\n data: data,\r\n header: {\r\n 'content-type': 'application/json', // 默认值\r\n 'Authorization':window.globalData.BASE64_JWT_TOKEN?'Bearer '+window.globalData.BASE64_JWT_TOKEN:''\r\n },\r\n method: 'POST',\r\n success(res) {\r\n console.log('httpRequest:::::success',res);\r\n success(res);\r\n },\r\n fail(res) {\r\n console.log('httpRequest:::::fail', res,\"失败url为\",url);\r\n fail(res)\r\n }\r\n })\r\n }\r\n else{\r\n fail(res)\r\n }\r\n },\r\n fail(res){\r\n fail(res)\r\n }\r\n })\r\n // console.log('httpRequest:::::', url, data, success, fail)\r\n\r\n },\r\n\r\n httpRequest_Notoken(url, data, success, fail) {\r\n // console.log('httpRequest:::::', url, data, success, fail)\r\n wx.getNetworkType({\r\n success(res) {\r\n var networkType = res.networkType;\r\n // console.log(networkType);\r\n //有网络状态下\r\n if(networkType == \"wifi\" ||networkType == \"4g\" || networkType == \"3g\" || networkType ==\"unknown\"){\r\n wx.request({\r\n url: window.globalData.requestAPI + url,\r\n data: data,\r\n header: {\r\n 'content-type': 'application/json', // 默认值\r\n },\r\n method: 'POST',\r\n success(res) {\r\n console.log('httpRequest:::::success',res);\r\n success(res);\r\n },\r\n fail(res) {\r\n console.log('httpRequest:::::fail', res,\"失败url为\",url);\r\n fail(res)\r\n }\r\n })\r\n }\r\n else{\r\n fail(res)\r\n }\r\n },\r\n fail(res){\r\n fail(res)\r\n }\r\n })\r\n\r\n },\r\n\r\n getGameInfo: function(node){\r\n var jg = false;\r\n var nodes = node;\r\n let data = {\r\n 'appid': window.globalData.appid\r\n }\r\n window.GameTool.httpRequest(window.globalData.getUserInfoUrl, data, function (res) {\r\n window.globalData.gameUserInfo = res.data.king_user; //user_id在这里\r\n console.log(\"拿到服务器的信息\",res.data);\r\n\r\n if(window.globalData.gameUserInfo){\r\n console.log(\"获得服务器游戏信息成功:\",window.globalData.gameUserInfo);\r\n if(window.globalData.gameUserInfo.unlock_1)\r\n window.GM_INFO.unlock_1 = window.globalData.gameUserInfo.unlock_1;\r\n if(window.globalData.gameUserInfo.unlock_2)\r\n window.GM_INFO.unlock_2 = window.globalData.gameUserInfo.unlock_2;\r\n //如果服务器有金币信息\r\n if(window.globalData.gameUserInfo.coin){\r\n //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器\r\n if(StorageMessage.getStorage(\"Coin\")){\r\n if(window.globalData.gameUserInfo.coin != StorageMessage.getStorage(\"Coin\")){\r\n window.GM_INFO.coin = StorageMessage.getStorage(\"Coin\");\r\n StorageMessage.setStorage(\"Coin\",window.GM_INFO.coin);\r\n }\r\n } //如果本地没有金币信息 , 以服务器金币信息为主\r\n else{\r\n window.GM_INFO.coin = window.globalData.gameUserInfo.coin;\r\n StorageMessage.setStorage(\"Coin\",window.GM_INFO.coin);\r\n }\r\n }\r\n else{\r\n //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器\r\n if(StorageMessage.getStorage(\"Coin\")){\r\n window.GM_INFO.coin = StorageMessage.getStorage(\"Coin\");\r\n StorageMessage.setStorage(\"Coin\",window.GM_INFO.coin);\r\n } //如果本地没有金币信息 , 以服务器金币信息为主\r\n else{\r\n window.GM_INFO.coin = 200;\r\n StorageMessage.setStorage(\"Coin\",window.GM_INFO.coin);\r\n }\r\n }\r\n\r\n cc.director.loadScene('GameBegin');\r\n // console.log(\"即将进入这里\");\r\n // if(StorageMessage.getStorage(\"level\")){\r\n // // console.log(\"本地有等级信息;\");\r\n // // console.log(\"服务器信息等级为:\",window.globalData.gameUserInfo.level);\r\n // window.GM_INFO.level = StorageMessage.getStorage(\"level\");\r\n // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin);\r\n // // console.log(\"本地等级信息为:\",window.GM_INFO.level);\r\n // //本地存储等级 小于服务器等级, 等于本地数据丢失,这时以服务器数据为主重新构建游戏\r\n // if(window.GM_INFO.level < window.globalData.gameUserInfo.level){\r\n // // nodes.active = true;\r\n // window.GM_INFO.level = window.globalData.gameUserInfo.level;\r\n // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin);\r\n // window.GameTool.reset();\r\n // }\r\n // //正常进入游戏,以本地数据为主,服务器数据为辅\r\n // else{\r\n // console.log(\"本地数据大以本地主数据为主\");\r\n // // window.GameTool.setGameInfo(true);\r\n // }\r\n // }\r\n // else{\r\n // console.log(\"笨地没等级数据\");\r\n // // nodes.active = true;\r\n // window.GM_INFO.level = window.globalData.gameUserInfo.level;\r\n // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin);\r\n // window.GameTool.reset();\r\n // }\r\n if (CC_WECHATGAME) {\r\n wx.onShow(function(res){\r\n if(res){\r\n if(res.query){\r\n console.log(\"分享中带的信息\",res.query);\r\n if(res.query.key1){\r\n window.GameTool.setFrindHelp(res.query.key1);\r\n }\r\n if(res.query.key2){\r\n window.GameTool.setFrindBlock(res.query.key2);\r\n }\r\n if(res.query.key3){\r\n window.GameTool.setFrindBlockMax(res.query.key3);\r\n }\r\n }\r\n }\r\n });\r\n wx.onHide(function(res){\r\n console.log(\"检测退出游戏\");\r\n // window.arm = [];\r\n // for(var i=0; i<12; i++){\r\n // window.arm[i] = null;\r\n // window.arm[i] = {error:\"error\"};\r\n // }\r\n // window.arm = StorageMessage.setStorage(\"arm\",window.arm);\r\n var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin);\r\n window.GameTool.setGameInfo();\r\n });\r\n }\r\n jg = true;\r\n }\r\n else{\r\n console.log(\"拿到服务器信息失败\");\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n \r\n },function(){\r\n jg = false;\r\n console.log(\"get用户信息失败\",res);\r\n })\r\n return jg;\r\n },\r\n //根据服务器数据重置所需要所有数据\r\n reset: function(){\r\n // if(window.globalData.gameUserInfo.arm)\r\n // StorageMessage.setStorage(\"arm\",window.globalData.gameUserInfo.arm);\r\n // if(window.globalData.gameUserInfo.richest_coin) \r\n // StorageMessage.setStorage(\"coin\",parseInt(window.globalData.gameUserInfo.richest_coin));\r\n // if(window.globalData.gameUserInfo.dimond)\r\n // StorageMessage.setStorage(\"dimond\",window.globalData.gameUserInfo.dimond);\r\n // if(window.globalData.gameUserInfo.buy_time)\r\n // StorageMessage.setStorage(\"buy_Time\",window.globalData.gameUserInfo.buy_time);\r\n // if(window.globalData.gameUserInfo.dimond_time)\r\n // StorageMessage.setStorage(\"dimond_Time\",window.globalData.gameUserInfo.dimond_time);\r\n // if(window.globalData.gameUserInfo.level)\r\n // StorageMessage.setStorage(\"level\",window.globalData.gameUserInfo.level);\r\n // if(window.globalData.gameUserInfo.total_Speed)\r\n // StorageMessage.setStorage(\"total_Speed\",parseInt(window.globalData.gameUserInfo.total_Speed));\r\n // if(window.globalData.gameUserInfo.leave_time)\r\n // StorageMessage.setStorage(\"leave_time\",window.globalData.gameUserInfo.leave_time);\r\n // if(window.globalData.gameUserInfo.reward1)\r\n // StorageMessage.setStorage(\"share_Array\",window.globalData.gameUserInfo.reward1);\r\n // if(window.globalData.gameUserInfo.reward2)\r\n // StorageMessage.setStorage(\"share_100\",window.globalData.gameUserInfo.reward2);\r\n \r\n // StorageMessage.setStorage(\"GM_INFO\",window.GM_INFO);\r\n console.log(\"本地数据丢失,重新启动游戏\");\r\n cc.director.loadScene('LoadScene');\r\n },\r\n\r\n setGameInfo: function(pd){\r\n let data = {\r\n // \"richest_coin\":window.coin+\"\",\r\n // \"arm\":window.arm,\r\n // \"buy_time\":window.buy_Time,\r\n // \"dimond\":parseInt(window.dimond),\r\n // \"dimond_time\":window.dimond_Time,\r\n // \"level\":window.GM_INFO.level,\r\n // \"total_speed\":window.total_Speed+\"\",\r\n // \"reward_1\":window.GM_INFO.share_Array, //用于存储6个红包的领取信息\r\n // \"reward_2\":window.share_100 //用于存储100个红包的领取信息\r\n }\r\n // console.log(\"存储之前检测:\",window.arm,arms);\r\n window.GameTool.httpRequest(window.globalData.richest, data, function (res) {\r\n console.log('存储userInfo成功', res);\r\n if(!pd){\r\n window.GM_INFO.leave_time = res.data.leave_time;\r\n StorageMessage.setStorage(\"leave_time\",window.GM_INFO.leave_time);\r\n }\r\n\r\n },function(res){\r\n console.log('存储userInfo失败', res);\r\n if(!pd){\r\n window.GM_INFO.leave_time = parseInt(new Date().valueOf()/1000);\r\n StorageMessage.setStorage(\"leave_time\",data);\r\n }\r\n })\r\n },\r\n\r\n\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = second;\r\n let hour = parseInt(total / (60 * 60));//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt(afterHour / 60);//计算整数分\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n return '剩余:' + hour + ':' + min + ':' + afterMin\r\n },\r\n\r\n getTimeMargin2:(second) => {\r\n let total = second;\r\n let hour = parseInt(total / (60 * 60));//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt(afterHour / 60);//计算整数分\r\n if(min < 10) min = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n if(afterMin < 10) afterMin = \"0\" + afterMin;\r\n return '剩余:' + min + ':' + afterMin\r\n },\r\n\r\n setFrindBlock: function(userid){\r\n // console.log(\"添加时候的userid\");\r\n let data = {\r\n user_id:userid\r\n }\r\n // if(userid != window.globalData.gameUserInfo.user_id){\r\n // console.log(\"进分享的不是自己\");\r\n // {\r\n window.GameTool.httpRequest(window.globalData.entryBlock, data, function (res) {\r\n console.log('添加红包助力信息成功', res)\r\n }, function (res) {\r\n console.log('添加红包助力信息失败', res)\r\n })\r\n // }\r\n // }\r\n // else{\r\n // console.log(\"进入分享的是自己\");\r\n // }\r\n },\r\n\r\n // setFrindBlockMax: function(userid){\r\n // // console.log(\"添加时候的userid\");\r\n // let data = {\r\n // user_id:userid\r\n // }\r\n // // if(userid != window.globalData.gameUserInfo.user_id){\r\n // // console.log(\"进分享的不是自己\");\r\n // // {\r\n // window.GameTool.httpRequest(window.globalData.entryBlockMax, data, function (res) {\r\n // console.log('添加最后的好友信息成功', res)\r\n // }, function (res) {\r\n // console.log('添加最后的好友信息信息失败', res)\r\n // })\r\n // // }\r\n // // }\r\n // // else{\r\n // // console.log(\"进入分享的是自己\");\r\n // // }\r\n // },\r\n\r\n\r\n getSeedRandom: function (min, max) {//包含min 不包含max\r\n max = max || 1;\r\n min = min || 0;\r\n GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280;\r\n let rnd = GM_INFO.currSeed / 233280.0;\r\n let tmp = min + rnd * (max - min);\r\n return parseInt(tmp);\r\n },\r\n\r\n //将时间转换为59:23\r\n getTime: function(time){\r\n var label = \"\";\r\n var number_1 = parseInt(time/60);\r\n var number_2 = time-number_1*60;\r\n if(number_1 < 10){\r\n number_1 = \"0\"+number_1;\r\n }\r\n if(number_2 < 10){\r\n number_2 = \"0\"+number_2;\r\n }\r\n label = number_1 + \":\" + number_2;\r\n\r\n return label;\r\n },\r\n //number 为传进来的数值,type为最多显示几位数\r\n getNumber: function(number,type){\r\n // console.log(type,\"需要转换的数字为:\",number);\r\n var count = 1000;\r\n var place = type - 3;\r\n if(number > Math.pow(count,8)*Math.pow(10,place)){\r\n if(number/Math.pow(count,8) < 100)\r\n number = parseInt(number/Math.pow(count,8)*10)/10+\"S\";\r\n else\r\n number = parseInt(number/Math.pow(count,8))+\"S\";\r\n }\r\n else if(number > Math.pow(count,7)*Math.pow(10,place)){\r\n if(number/Math.pow(count,7) < 100)\r\n number = parseInt(number/Math.pow(count,7)*10)/10+\"s\";\r\n else\r\n number = parseInt(number/Math.pow(count,7))+\"s\";\r\n }\r\n else if(number > Math.pow(count,6)*Math.pow(10,place)){\r\n if(number/Math.pow(count,6) < 100)\r\n number = parseInt(number/Math.pow(count,6)*10)/10+\"Q\";\r\n else\r\n number = parseInt(number/Math.pow(count,6))+\"Q\";\r\n }\r\n else if(number > Math.pow(count,5)*Math.pow(10,place)){\r\n if(number/Math.pow(count,5) < 100)\r\n number = parseInt(number/Math.pow(count,5)*10)/10+\"q\";\r\n else\r\n number = parseInt(number/Math.pow(count,5))+\"q\";\r\n\r\n }\r\n else if(number > Math.pow(count,4)*Math.pow(10,place)){\r\n if(number/Math.pow(count,4) < 100)\r\n number = parseInt(number/Math.pow(count,4)*10)/10+\"t\";\r\n else\r\n number = parseInt(number/Math.pow(count,4))+\"t\";\r\n }\r\n else if(number > Math.pow(count,3)*Math.pow(10,place)){\r\n if(number/Math.pow(count,3) < 100)\r\n number = parseInt(number/Math.pow(count,3)*10)/10+\"b\";\r\n else\r\n number = parseInt(number/Math.pow(count,3))+\"b\";\r\n }\r\n else if(number > Math.pow(count,2)*Math.pow(10,place)){\r\n if(number/Math.pow(count,2) < 100)\r\n number = parseInt(number/Math.pow(count,2)*10)/10+\"m\";\r\n else\r\n number = parseInt(number/Math.pow(count,2))+\"m\";\r\n }\r\n else if(number > Math.pow(count,1)*Math.pow(10,place)){\r\n if(number/Math.pow(count,1) < 100){\r\n number = parseInt(number/Math.pow(count,1)*10)/10+\"k\";\r\n }\r\n else\r\n number = parseInt(number/Math.pow(count,1))+\"k\";\r\n }\r\n else{\r\n number = parseInt(number/Math.pow(count,0))+\"\";\r\n }\r\n // console.log(\"结果为\"+type+\"位数\",number);\r\n return number;\r\n },\r\n\r\n\r\n\r\n\r\n\r\n begainTiming: function () {\r\n this._startTime = new Date().getTime();\r\n },\r\n\r\n endTiming: function () {\r\n let endTime = new Date().getTime();\r\n this._endTime = endTime;\r\n this._totalTime = endTime - this._startTime;\r\n },\r\n\r\n getScoreTime: function () {\r\n let endTime = new Date().getTime();\r\n let tempTime = endTime - this._startTime;\r\n if (tempTime < 0 || tempTime > 500) {\r\n tempTime = Math.round(cc.director.getAnimationInterval() * 1000);\r\n }\r\n GM_INFO.currScore += tempTime;\r\n this._startTime = endTime;\r\n },\r\n\r\n getFormatTime: function (time) {\r\n\r\n let date = new Date();\r\n date.setTime(time);\r\n\r\n let ms = date.getMilliseconds();\r\n // let msString = date.getMilliseconds();\r\n let msString = parseInt(ms / 10) % 100;\r\n\r\n let secondString = date.getSeconds();\r\n\r\n let minString = date.getMinutes();\r\n\r\n if (msString < 10) {\r\n msString = \"0\" + msString;\r\n }\r\n if (secondString < 10) {\r\n secondString = \"0\" + secondString;\r\n }\r\n secondString = secondString + \":\";\r\n\r\n if (minString < 10) {\r\n minString = \"0\" + minString;\r\n }\r\n minString = minString + \":\";\r\n\r\n return minString + secondString + msString;\r\n\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\tool\\GameTool.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import GameData from \"../GameData\";\r\nimport { StorageMessage } from \"./Storage\";\r\n//最大工具类\r\nvar GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n getSeedRandom: function (min, max) {//包含min 不包含max\r\n max = max || 1;\r\n min = min || 0;\r\n GameData._instance.GM_INFO.currSeed = (GameData._instance.GM_INFO.currSeed * 9301 + 49297) % 233280;\r\n let rnd = GameData._instance.GM_INFO.currSeed / 233280.0;\r\n let tmp = min + rnd * (max - min);\r\n return Math.floor(tmp);\r\n },\r\n \r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n // canvas.fitWidth = false;\r\n // canvas.fitHeight = true;\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n // canvas.fitWidth = true;\r\n // canvas.fitHeight = false;\r\n }\r\n return flag;\r\n },\r\n\r\n getTip: function () {\r\n let index = Math.floor(Math.random() * 4) + 1;\r\n switch (index) {\r\n case 1: {\r\n return \"根据小球的位置,合理晃动手机,确保小球不掉出木板。\"\r\n }\r\n case 2: {\r\n return \"根据小球位置控制晃动幅度,过大或过小都不是个好选择。\"\r\n }\r\n case 3: {\r\n return \"不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。\"\r\n }\r\n case 4: {\r\n return \"尝试着顶开掉落的障碍,是个很酷的玩法。\"\r\n }\r\n }\r\n },\r\n\r\n beginTiming: function () {\r\n this._startTime = new Date().getTime();\r\n },\r\n\r\n endTiming: function () {\r\n this._endTime = new Date().getTime();\r\n // this._totalTime = endTime - this._startTime;\r\n },\r\n //如果是判断时常的游戏 调用此方法\r\n updateScoreTime: function () {\r\n let endTime = new Date().getTime();\r\n let tempTime = endTime - this._startTime;\r\n if (tempTime < 0 || tempTime > 500) {\r\n tempTime = Math.round(cc.director.getAnimationInterval() * 1000);\r\n }\r\n this._endTime += tempTime / 1000;\r\n this._totalTime = this._endTime.toFixed(2);\r\n GameData._instance.GM_INFO.currScore = this._totalTime;\r\n this._startTime = endTime;\r\n },\r\n //倒计时调用此方法\r\n countDown: function () {\r\n this._endTime = new Date().getTime();\r\n this._totalTime = Math.floor((this._endTime - this._startTime) / 1000);\r\n GameData._instance.GM_INFO.remainingTime = GameData._instance.GM_INFO.totalTime - this._totalTime;\r\n },\r\n\r\n getGameInfo: function(node){\r\n var jg = false;\r\n return jg;\r\n },\r\n //根据服务器数据重置所需要所有数据\r\n reset: function(){\r\n console.log(\"本地数据丢失,重新启动游戏\");\r\n cc.director.loadScene('LoadScene');\r\n },\r\n\r\n setGameInfo: function(pd){\r\n \r\n },\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = second;\r\n let hour = Math.floor(total / (60 * 60));//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = Math.floor(afterHour / 60);//计算整数分\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n return '剩余:' + hour + ':' + min + ':' + afterMin\r\n },\r\n\r\n getTimeMargin2:(second) => {\r\n let total = second;\r\n let min = null;\r\n let afterMin = null;\r\n let hour = Math.floor(total / (60 * 60));//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n min = Math.floor(afterHour / 60);//计算整数分\r\n if(min < 10) min = \"0\"+min;\r\n afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n if(afterMin < 10) afterMin = \"0\" + afterMin;\r\n return '剩余:' + min + ':' + afterMin\r\n },\r\n\r\n setFrindBlock: function(userid){\r\n\r\n },\r\n //将时间转换为59:23\r\n getTime: function(time){\r\n var label = \"\";\r\n var number_1 = null;\r\n var number_2 = null;\r\n number_1 = Math.floor(time/60)\r\n number_2 = time-number_1*60;\r\n if(number_1 < 10){\r\n number_1 = \"0\"+number_1;\r\n }\r\n if(number_2 < 10){\r\n number_2 = \"0\"+number_2;\r\n }\r\n label = number_1 + \":\" + number_2;\r\n return label;\r\n },\r\n //number 为传进来的数值,type为最多显示几位数\r\n getNumber: function(number,type){\r\n // console.log(type,\"需要转换的数字为:\",number);\r\n var count = 1000;\r\n var place = type - 3;\r\n if(number > Math.pow(count,8)*Math.pow(10,place)){\r\n if(number/Math.pow(count,8) < 100)\r\n number = Math.floor(number/Math.pow(count,8)*10)/10+\"S\";\r\n else\r\n number = Math.floor(number/Math.pow(count,8))+\"S\";\r\n }\r\n else if(number > Math.pow(count,7)*Math.pow(10,place)){\r\n if(number/Math.pow(count,7) < 100)\r\n number = Math.floor(number/Math.pow(count,7)*10)/10+\"s\";\r\n else\r\n number = Math.floor(number/Math.pow(count,7))+\"s\";\r\n }\r\n else if(number > Math.pow(count,6)*Math.pow(10,place)){\r\n if(number/Math.pow(count,6) < 100)\r\n number = Math.floor(number/Math.pow(count,6)*10)/10+\"Q\";\r\n else\r\n number = Math.floor(number/Math.pow(count,6))+\"Q\";\r\n }\r\n else if(number > Math.pow(count,5)*Math.pow(10,place)){\r\n if(number/Math.pow(count,5) < 100)\r\n number = Math.floor(number/Math.pow(count,5)*10)/10+\"q\";\r\n else\r\n number = Math.floor(number/Math.pow(count,5))+\"q\";\r\n\r\n }\r\n else if(number > Math.pow(count,4)*Math.pow(10,place)){\r\n if(number/Math.pow(count,4) < 100)\r\n number = Math.floor(number/Math.pow(count,4)*10)/10+\"t\";\r\n else\r\n number = Math.floor(number/Math.pow(count,4))+\"t\";\r\n }\r\n else if(number > Math.pow(count,3)*Math.pow(10,place)){\r\n if(number/Math.pow(count,3) < 100)\r\n number = Math.floor(number/Math.pow(count,3)*10)/10+\"b\";\r\n else\r\n number = Math.floor(number/Math.pow(count,3))+\"b\";\r\n }\r\n else if(number > Math.pow(count,2)*Math.pow(10,place)){\r\n if(number/Math.pow(count,2) < 100)\r\n number = Math.floor(number/Math.pow(count,2)*10)/10+\"m\";\r\n else\r\n number = Math.floor(number/Math.pow(count,2))+\"m\";\r\n }\r\n else if(number > Math.pow(count,1)*Math.pow(10,place)){\r\n if(number/Math.pow(count,1) < 100){\r\n number = Math.floor(number/Math.pow(count,1)*10)/10+\"k\";\r\n }\r\n else\r\n number = Math.floor(number/Math.pow(count,1))+\"k\";\r\n }\r\n else{\r\n number = Math.floor(number/Math.pow(count,0))+\"\";\r\n }\r\n // console.log(\"结果为\"+type+\"位数\",number);\r\n return number;\r\n },\r\n\r\n begainTiming: function () {\r\n this._startTime = new Date().getTime();\r\n },\r\n\r\n endTiming2: function () {\r\n let endTime = new Date().getTime();\r\n this._endTime = endTime;\r\n this._totalTime = endTime - this._startTime;\r\n },\r\n getScoreTime: function () {\r\n let endTime = new Date().getTime();\r\n let tempTime = endTime - this._startTime;\r\n if (tempTime < 0 || tempTime > 500) {\r\n tempTime = Math.round(cc.director.getAnimationInterval() * 1000);\r\n }\r\n GameData._instance.GM_INFO.currScore += tempTime;\r\n this._startTime = endTime;\r\n },\r\n\r\n getFormatTime: function (time) {\r\n let date = new Date();\r\n date.setTime(time);\r\n let ms = date.getMilliseconds();\r\n // let msString = date.getMilliseconds();\r\n let msString = null;\r\n let secondString = null;\r\n let minString = null;\r\n msString = Math.floor(ms / 10) % 100;\r\n secondString = date.getSeconds();\r\n minString = date.getMinutes();\r\n if (msString < 10) {\r\n msString = \"0\" + msString;\r\n }\r\n if (secondString < 10) {\r\n secondString = \"0\" + secondString;\r\n }\r\n secondString = secondString + \":\";\r\n\r\n if (minString < 10) {\r\n minString = \"0\" + minString;\r\n }\r\n minString = minString + \":\";\r\n return minString + secondString + msString;\r\n\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};\r\nexport { GameTool };"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/tool/Storage.js b/temp/quick-scripts/src/assets/Script/tool/Storage.js new file mode 100644 index 0000000..204aa94 --- /dev/null +++ b/temp/quick-scripts/src/assets/Script/tool/Storage.js @@ -0,0 +1,34 @@ +"use strict"; +cc._RF.push(module, 'f124cZyKJVPPobsFKRo+Uam', 'Storage'); +// Script/tool/Storage.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageMessage = void 0; +//缓存浏览器数据 +var StorageMessage = { + getStorage: function (key) { + var result = null; + if (cc.sys.localStorage.getItem(key)) { + var result = cc.sys.localStorage.getItem(key); + } + if (result) { + result = JSON.parse(result); + } + return result; + }, + setStorage: function (key, value) { + //主动拉起分享接口 + var temp = JSON.stringify(value); + cc.sys.localStorage.setItem(key, temp); + }, + removeStorage: function (key) { + //主动删除消息接口 + if (cc.sys.localStorage.getItem(key)) { + cc.sys.localStorage.removeItem(key); + } + }, +}; +exports.StorageMessage = StorageMessage; + +cc._RF.pop(); \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/tool/Storage.js.map b/temp/quick-scripts/src/assets/Script/tool/Storage.js.map new file mode 100644 index 0000000..6055c59 --- /dev/null +++ b/temp/quick-scripts/src/assets/Script/tool/Storage.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets\\Script\\tool\\Storage.ts"],"names":[],"mappings":";;;;;;;AAAA,SAAS;AACT,IAAI,cAAc,GAAG;IACjB,UAAU,EAAG,UAAS,GAAG;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC/C;QAED,IAAG,MAAM,EAAC;YACR,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,UAAU,EAAG,UAAS,GAAG,EAAC,KAAK;QAC3B,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IACD,aAAa,EAAG,UAAS,GAAG;QAC1B,UAAU;QACV,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;SACpC;IACH,CAAC;CACJ,CAAC;AAEO,wCAAc","file":"","sourceRoot":"/","sourcesContent":["//缓存浏览器数据\nvar StorageMessage = {\n getStorage : function(key){\n var result = null;\n if(cc.sys.localStorage.getItem(key)){\n var result = cc.sys.localStorage.getItem(key);\n }\n \n if(result){\n result = JSON.parse(result);\n }\n return result;\n },\n setStorage : function(key,value){\n //主动拉起分享接口\n var temp = JSON.stringify(value);\n cc.sys.localStorage.setItem(key, temp)\n },\n removeStorage : function(key){\n //主动删除消息接口\n if(cc.sys.localStorage.getItem(key)){\n cc.sys.localStorage.removeItem(key)\n }\n },\n};\n\nexport { StorageMessage };"]} \ No newline at end of file diff --git a/temp/startup.json b/temp/startup.json deleted file mode 100644 index bff9b4e..0000000 --- a/temp/startup.json +++ /dev/null @@ -1 +0,0 @@ -{"pid":14292}