(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/mod/battle/battle_const.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, 'da627tjxzpNZL4bM5lpxwlz', 'battle_const'); // Scripts/mod/battle/battle_const.js "use strict"; var _Old_Halo_Id_Change; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } // -------------------------------------------------------------------- // @author: shiraho@syg.com(必填, 创建模块的人员) // @description: // 战斗的常量控制 //
Create: new Date().toISOString() // -------------------------------------------------------------------- var BattleConst = { Fight_Type: { Nil: 0, Default: 1, Arena: 2, //竞技场 Darma: 3, //剧情副本战斗 SingleBoss: 4, //个人Boss WorldBoss: 5, //世界boss Adventrue: 6, //神界探险 StarTower: 7, //星命塔 PK: 8, //切磋 GuildDun: 9, //帮会副本 Champion: 10, //冠军联赛 Endless: 11, //无尽试炼 LimitBoss: 12, //限时BOSS Escort: 13, //护送 DungeonStone: 14, //宝石副本 Godbattle: 15, //众神战场 GuildWar: 16, //联盟战 PrimusWar: 17, //荣耀神殿战 LadderWar: 18, //跨服天梯 ExpeditFight: 21, //远征 EliteMatchWar: 23, //精英赛 EliteKingMatchWar: 24, //王者赛 ElementWar: 25, // 元素圣殿 HeroTestWar: 26, // 英雄试玩 HeavenWar: 27, // 天界副本 CrossArenaWar: 28, // 跨服竞技场 LimitExercise: 29, // 试炼之境 AdventrueMine: 30 //秘矿冒险 }, // 战斗单位类型 Unit_Type: { Role: 1, // 主角单位,暂时没有用了 Hero: 2, // 伙伴 Monster: 3, // 怪物 Hallows: 4 // 神器 }, Group_Type: { Friend: 1, Enemgy: 2 }, Battle_Type_Conf: { TYPE_ENEMY: -1, TYPE_ROLE: 1, BATTLE_EXIT: 1 }, Skill_Type: { ACTIVE_SKILL: "active_skill", //主动技能 PASSIVE_SKILL: "passive_skill", //被动技能 EQM_PASSIVE_SKILL: "eqm_passive_skill" //装备被动技能 }, // 战斗特效播放类型 Effect_Play_Type: { ROLE: 1, // 自己 SCENE: 2, // 场景 ROLE_SCENE: 3, // 友方场景 ENEMY_SCENE: 4, // 敌方场景 TARGET: 5 // 敌方目标 }, // 是否在战斗中的类型 Battle_In_Type: { Nil: 0, // 当前不在战斗 UnReal: 1, // 假战斗 Real: 2 // 真战斗 }, // 分享类型 ShareType: { SharePk: 1, //轮播 SharePlunder: 2, //一直播 ShareLadder: 3 // 天梯 }, JumpType: { Summon: 1, // 召唤 HeroBag: 2, // 英雄背包 Forge: 3, // 锻造屋 Hallows: 4 // 神器 }, // 根据战斗类型判断当前的ui类型 getUIFightByFightType: function getUIFightByFightType(fight_type) { var MainuiConst = require("mainui_const"); switch (fight_type) { case this.Fight_Type.Darma: case this.Fight_Type.Nil: return MainuiConst.ui_fight_type.drama_scene; case this.Fight_Type.StarTower: return MainuiConst.ui_fight_type.star_tower; case this.Fight_Type.GuildDun: return MainuiConst.ui_fight_type.guild_dun; case this.Fight_Type.Arena: return MainuiConst.ui_fight_type.arena; case this.Fight_Type.LimitBoss: return MainuiConst.ui_fight_type.limit_boss; case this.Fight_Type.GuildWar: return MainuiConst.ui_fight_type.guildwar; case this.Fight_Type.PrimusWar: return MainuiConst.ui_fight_type.primusWar; case this.Fight_Type.LadderWar: return MainuiConst.ui_fight_type.ladderwar; case this.Fight_Type.Endless: //无尽试炼 return MainuiConst.ui_fight_type.endless; case this.Fight_Type.ExpeditFight: //远征 return MainuiConst.ui_fight_type.expedit_fight; case this.Fight_Type.DungeonStone: return MainuiConst.ui_fight_type.dungeon_stone; case this.Fight_Type.ElementWar: //元素圣殿 return MainuiConst.ui_fight_type.dungeon_stone; case this.Fight_Type.HeavenWar: //天界副本 return MainuiConst.ui_fight_type.dungeon_stone; case this.Fight_Type.Adventrue: //冒险 return MainuiConst.ui_fight_type.sky_scene; default: return MainuiConst.ui_fight_type.drama_scene; } }, // 特殊类型的战斗, isNoRequest: function isNoRequest(fight_type) { return fight_type == this.Fight_Type.Default || fight_type == this.Fight_Type.PK || fight_type == this.Fight_Type.HeroTestWar; }, // 是否是pvp战斗 isPvP: function isPvP(fight_type) { return fight_type == this.Fight_Type.Arena || fight_type == this.Fight_Type.Escort; }, // 是否需要显示玩家名字的 isNeedName: function isNeedName(fight_type) { return fight_type == this.Fight_Type.PK; }, // 是否显示入场pk动画 isNeedSpecStart: function isNeedSpecStart(fight_type) { return fight_type == BattleConst.Fight_Type.Arena || fight_type == BattleConst.Fight_Type.Champion || fight_type == BattleConst.Fight_Type.PK || fight_type == BattleConst.Fight_Type.LadderWar; }, // 是否可以进战斗,这个时候就需要判断当前战斗类型的面板类型跟主界面缓存的类型是否一致 canDoBattle: function canDoBattle(fight_type) { var target_ui_fight_type = this.getUIFightByFightType(fight_type); var MainUiController = require("mainui_controller"); var BattleController = require("battle_controller"); var cur_ui_fight_type = MainUiController.getInstance().getUIFightType(); return cur_ui_fight_type == target_ui_fight_type || this.isNoRequest(fight_type) || BattleController.getInstance().getWatchReplayStatus(); }, //战斗分组 BattleGroupTypeConf: { TYPE_GROUP_ENEMY: 2, //敌方 TYPE_GROUP_ROLE: 1 //友方 }, // --战斗单位类型 BattleObjectType: { Role: 1, //--角色(暂时没有了) Pet: 2, //--伙伴(配置表取partern) Unit: 3, //--单位(配置表取unit) Hallows: 4 //--神器 }, // -- 兼容旧的录像数据中阵营光环id(转为现在的id列表) Old_Halo_Id_Change: (_Old_Halo_Id_Change = {}, _defineProperty(_Old_Halo_Id_Change, 1, [1]), _defineProperty(_Old_Halo_Id_Change, 2, [2]), _defineProperty(_Old_Halo_Id_Change, 3, [3]), _defineProperty(_Old_Halo_Id_Change, 4, [4]), _defineProperty(_Old_Halo_Id_Change, 5, [5]), _defineProperty(_Old_Halo_Id_Change, 6, [21]), _defineProperty(_Old_Halo_Id_Change, 7, [6]), _defineProperty(_Old_Halo_Id_Change, 8, [6]), _defineProperty(_Old_Halo_Id_Change, 9, [7]), _defineProperty(_Old_Halo_Id_Change, 10, [7]), _defineProperty(_Old_Halo_Id_Change, 11, [8]), _defineProperty(_Old_Halo_Id_Change, 12, [8]), _defineProperty(_Old_Halo_Id_Change, 13, [11, 18]), _defineProperty(_Old_Halo_Id_Change, 14, [13, 17]), _defineProperty(_Old_Halo_Id_Change, 15, [12, 16]), _defineProperty(_Old_Halo_Id_Change, 16, [14, 20]), _defineProperty(_Old_Halo_Id_Change, 17, [15, 19]), _Old_Halo_Id_Change) }; module.exports = BattleConst; 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxiYXR0bGVcXGJhdHRsZV9jb25zdC5qcyJdLCJuYW1lcyI6WyJCYXR0bGVDb25zdCIsIkZpZ2h0X1R5cGUiLCJOaWwiLCJEZWZhdWx0IiwiQXJlbmEiLCJEYXJtYSIsIlNpbmdsZUJvc3MiLCJXb3JsZEJvc3MiLCJBZHZlbnRydWUiLCJTdGFyVG93ZXIiLCJQSyIsIkd1aWxkRHVuIiwiQ2hhbXBpb24iLCJFbmRsZXNzIiwiTGltaXRCb3NzIiwiRXNjb3J0IiwiRHVuZ2VvblN0b25lIiwiR29kYmF0dGxlIiwiR3VpbGRXYXIiLCJQcmltdXNXYXIiLCJMYWRkZXJXYXIiLCJFeHBlZGl0RmlnaHQiLCJFbGl0ZU1hdGNoV2FyIiwiRWxpdGVLaW5nTWF0Y2hXYXIiLCJFbGVtZW50V2FyIiwiSGVyb1Rlc3RXYXIiLCJIZWF2ZW5XYXIiLCJDcm9zc0FyZW5hV2FyIiwiTGltaXRFeGVyY2lzZSIsIkFkdmVudHJ1ZU1pbmUiLCJVbml0X1R5cGUiLCJSb2xlIiwiSGVybyIsIk1vbnN0ZXIiLCJIYWxsb3dzIiwiR3JvdXBfVHlwZSIsIkZyaWVuZCIsIkVuZW1neSIsIkJhdHRsZV9UeXBlX0NvbmYiLCJUWVBFX0VORU1ZIiwiVFlQRV9ST0xFIiwiQkFUVExFX0VYSVQiLCJTa2lsbF9UeXBlIiwiQUNUSVZFX1NLSUxMIiwiUEFTU0lWRV9TS0lMTCIsIkVRTV9QQVNTSVZFX1NLSUxMIiwiRWZmZWN0X1BsYXlfVHlwZSIsIlJPTEUiLCJTQ0VORSIsIlJPTEVfU0NFTkUiLCJFTkVNWV9TQ0VORSIsIlRBUkdFVCIsIkJhdHRsZV9Jbl9UeXBlIiwiVW5SZWFsIiwiUmVhbCIsIlNoYXJlVHlwZSIsIlNoYXJlUGsiLCJTaGFyZVBsdW5kZXIiLCJTaGFyZUxhZGRlciIsIkp1bXBUeXBlIiwiU3VtbW9uIiwiSGVyb0JhZyIsIkZvcmdlIiwiZ2V0VUlGaWdodEJ5RmlnaHRUeXBlIiwiZmlnaHRfdHlwZSIsIk1haW51aUNvbnN0IiwicmVxdWlyZSIsInVpX2ZpZ2h0X3R5cGUiLCJkcmFtYV9zY2VuZSIsInN0YXJfdG93ZXIiLCJndWlsZF9kdW4iLCJhcmVuYSIsImxpbWl0X2Jvc3MiLCJndWlsZHdhciIsInByaW11c1dhciIsImxhZGRlcndhciIsImVuZGxlc3MiLCJleHBlZGl0X2ZpZ2h0IiwiZHVuZ2Vvbl9zdG9uZSIsInNreV9zY2VuZSIsImlzTm9SZXF1ZXN0IiwiaXNQdlAiLCJpc05lZWROYW1lIiwiaXNOZWVkU3BlY1N0YXJ0IiwiY2FuRG9CYXR0bGUiLCJ0YXJnZXRfdWlfZmlnaHRfdHlwZSIsIk1haW5VaUNvbnRyb2xsZXIiLCJCYXR0bGVDb250cm9sbGVyIiwiY3VyX3VpX2ZpZ2h0X3R5cGUiLCJnZXRJbnN0YW5jZSIsImdldFVJRmlnaHRUeXBlIiwiZ2V0V2F0Y2hSZXBsYXlTdGF0dXMiLCJCYXR0bGVHcm91cFR5cGVDb25mIiwiVFlQRV9HUk9VUF9FTkVNWSIsIlRZUEVfR1JPVVBfUk9MRSIsIkJhdHRsZU9iamVjdFR5cGUiLCJQZXQiLCJVbml0IiwiT2xkX0hhbG9fSWRfQ2hhbmdlIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsV0FBVyxHQUFHO0FBQ2RDLEVBQUFBLFVBQVUsRUFBQztBQUNQQyxJQUFBQSxHQUFHLEVBQUUsQ0FERTtBQUVQQyxJQUFBQSxPQUFPLEVBQUUsQ0FGRjtBQUdQQyxJQUFBQSxLQUFLLEVBQUUsQ0FIQTtBQUdhO0FBQ3BCQyxJQUFBQSxLQUFLLEVBQUUsQ0FKQTtBQUlhO0FBQ3BCQyxJQUFBQSxVQUFVLEVBQUUsQ0FMTDtBQUthO0FBQ3BCQyxJQUFBQSxTQUFTLEVBQUUsQ0FOSjtBQU1hO0FBQ3BCQyxJQUFBQSxTQUFTLEVBQUUsQ0FQSjtBQU9hO0FBQ3BCQyxJQUFBQSxTQUFTLEVBQUUsQ0FSSjtBQVFhO0FBQ3BCQyxJQUFBQSxFQUFFLEVBQUUsQ0FURztBQVNhO0FBQ3BCQyxJQUFB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LENBSkssQ0FJQTs7QUFKQSxHQS9KTDtBQXNLZDtBQUNBZ0UsRUFBQUEsa0JBQWtCLGtFQUNiLENBRGEsRUFDUixDQUFDLENBQUQsQ0FEUSx3Q0FFYixDQUZhLEVBRVIsQ0FBQyxDQUFELENBRlEsd0NBR2IsQ0FIYSxFQUdSLENBQUMsQ0FBRCxDQUhRLHdDQUliLENBSmEsRUFJUixDQUFDLENBQUQsQ0FKUSx3Q0FLYixDQUxhLEVBS1IsQ0FBQyxDQUFELENBTFEsd0NBTWIsQ0FOYSxFQU1SLENBQUMsRUFBRCxDQU5RLHdDQU9iLENBUGEsRUFPUixDQUFDLENBQUQsQ0FQUSx3Q0FRYixDQVJhLEVBUVIsQ0FBQyxDQUFELENBUlEsd0NBU2IsQ0FUYSxFQVNSLENBQUMsQ0FBRCxDQVRRLHdDQVViLEVBVmEsRUFVUCxDQUFDLENBQUQsQ0FWTyx3Q0FXYixFQVhhLEVBV1AsQ0FBQyxDQUFELENBWE8sd0NBWWIsRUFaYSxFQVlQLENBQUMsQ0FBRCxDQVpPLHdDQWFiLEVBYmEsRUFhUCxDQUFDLEVBQUQsRUFBSSxFQUFKLENBYk8sd0NBY2IsRUFkYSxFQWNQLENBQUMsRUFBRCxFQUFJLEVBQUosQ0FkTyx3Q0FlYixFQWZhLEVBZVAsQ0FBQyxFQUFELEVBQUksRUFBSixDQWZPLHdDQWdCYixFQWhCYSxFQWdCUCxDQUFDLEVBQUQsRUFBSSxFQUFKLENBaEJPLHdDQWlCYixFQWpCYSxFQWlCUCxDQUFDLEVBQUQsRUFBSSxFQUFKLENBakJPO0FBdktKLENBQWxCO0FBMkxBQyxNQUFNLENBQUNDLE9BQVAsR0FBaUJwRyxXQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHNoaXJhaG9Ac3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICAg5oiY5paX55qE5bi46YeP5o6n5Yi2XG4vLyA8YnIvPkNyZWF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIEJhdHRsZUNvbnN0ID0ge1xuICAgIEZpZ2h0X1R5cGU6e1xuICAgICAgICBOaWw6IDAsXG4gICAgICAgIERlZmF1bHQ6IDEsXG4gICAgICAgIEFyZW5hOiAyLCAgICAgICAgICAgLy/nq57mioDlnLpcbiAgICAgICAgRGFybWE6IDMsICAgICAgICAgICAvL+WJp+aDheWJr+acrOaImOaWl1xuICAgICAgICBTaW5nbGVCb3NzOiA0LCAgICAgIC8v5Liq5Lq6Qm9zc1xuICAgICAgICBXb3JsZEJvc3M6IDUsICAgICAgIC8v5LiW55WMYm9zc1xuICAgICAgICBBZHZlbnRydWU6IDYsICAgICAgIC8v56We55WM5o6i6ZmpXG4gICAgICAgIFN0YXJUb3dlcjogNywgICAgICAgLy/mmJ/lkb3loZRcbiAgICAgICAgUEs6IDgsICAgICAgICAgICAgICAvL+WIh+eji1xuICAgICAgICBHdWlsZER1bjogOSwgICAgICAgIC8v5biu5Lya5Ymv5pysXG4gICAgICAgIENoYW1waW9uOiAxMCwgICAgICAgLy/lhqDlhpvogZTotZtcbiAgICAgICAgRW5kbGVzczogMTEsICAgICAgICAvL+aXoOWwveivleeCvFxuICAgICAgICBMaW1pdEJvc3M6IDEyLCAgICAgIC8v6ZmQ5pe2Qk9TU1xuICAgICAgICBFc2NvcnQ6IDEzLCAgICAgICAgIC8v5oqk6YCBXG4gICAgICAgIER1bmdlb25TdG9uZTogMTQsICAgLy/lrp3nn7Plia/mnKxcbiAgICAgICAgR29kYmF0dGxlOiAxNSwgICAgICAvL+S8l+elnuaImOWculxuICAgICAgICBHdWlsZFdhcjogMTYsICAgICAgIC8v6IGU55uf5oiYXG4gICAgICAgIFByaW11c1dhcjogMTcsICAgICAgLy/ojaPogIDnpZ7mrr/miJhcbiAgICAgICAgTGFkZGVyV2FyOiAxOCwgICAgICAvL+i3qOacjeWkqeair1xuICAgICAgICBFeHBlZGl0RmlnaHQ6IDIxLCAgIC8v6L+c5b6BXG4gICAgICAgIEVsaXRlTWF0Y2hXYXIgOiAyMywgLy/nsr7oi7HotZtcbiAgICAgICAgRWxpdGVLaW5nTWF0Y2hXYXIgOiAyNCwgLy/njovogIXotZtcbiAgICAgICAgRWxlbWVudFdhcjogMjUsICAgICAvLyDlhYPntKDlnKPmrr9cbiAgICAgICAgSGVyb1Rlc3RXYXI6IDI2LCAgICAvLyDoi7Hpm4Tor5XnjqlcbiAgICAgICAgSGVhdmVuV2FyOiAyNywgICAgICAvLyDlpKnnlYzlia/mnKxcbiAgICAgICAgQ3Jvc3NBcmVuYVdhciA6IDI4LCAvLyDot6jmnI3nq57mioDlnLpcbiAgICAgICAgTGltaXRFeGVyY2lzZSA6IDI5LCAvLyDor5XngrzkuYvlooNcbiAgICAgICAgQWR2ZW50cnVlTWluZSA6IDMwLCAvL+enmOefv+WGkumZqVxuICAgIH0sXG5cbiAgICAvLyDmiJjmlpfljZXkvY3nsbvlnotcbiAgICBVbml0X1R5cGU6e1xuICAgICAgICBSb2xlOiAxLCAgICAgICAgICAgIC8vIOS4u+inkuWNleS9jSzmmoLml7bmsqHmnInnlKjkuoZcbiAgICAgICAgSGVybzogMiwgICAgICAgICAgICAvLyDkvJnkvLRcbiAgICAgICAgTW9uc3RlcjogMywgICAgICAgICAvLyDmgKrnialcbiAgICAgICAgSGFsbG93czogNCwgICAgICAgICAvLyDnpZ7lmahcbiAgICB9LFxuXG4gICAgR3JvdXBfVHlwZTp7XG4gICAgICAgIEZyaWVuZDoxLFxuICAgICAgICBFbmVtZ3k6MixcbiAgICB9LFxuXG4gICAgQmF0dGxlX1R5cGVfQ29uZjp7XG4gICAgICAgIFRZUEVfRU5FTVk6IC0gMSxcbiAgICAgICAgVFlQRV9ST0xFOiAxLFxuICAgICAgICBCQVRUTEVfRVhJVDogMVxuICAgIH0sXG5cbiAgICBTa2lsbF9UeXBlOntcbiAgICAgICAgQUNUSVZFX1NLSUxMOiBcImFjdGl2ZV9za2lsbFwiLCAgICAgICAgICAgICAgIC8v5Li75Yqo5oqA6IO9XG4gICAgICAgIFBBU1NJVkVfU0tJTEw6IFwicGFzc2l2ZV9za2lsbFwiLCAgICAgICAgICAgICAvL+iiq+WKqOaKgOiDvVxuICAgICAgICBFUU1fUEFTU0lWRV9TS0lMTDogXCJlcW1fcGFzc2l2ZV9za2lsbFwiLCAgICAgLy/oo4XlpIfooqvliqjmioDog71cbiAgICB9LFxuXG4gICAgLy8g5oiY5paX54m55pWI5pKt5pS+57G75Z6LXG4gICAgRWZmZWN0X1BsYXlfVHlwZTp7XG4gICAgICAgIFJPTEU6IDEsICAgICAgICAgICAgICAgIC8vIOiHquW3sVxuICAgICAgICBTQ0VORTogMiwgICAgICAgICAgICAgICAvLyDlnLrmma9cbiAgICAgICAgUk9MRV9TQ0VORTogMywgICAgICAgICAgLy8g5Y+L5pa55Zy65pmvXG4gICAgICAgIEVORU1ZX1NDRU5FOiA0LCAgICAgICAgIC8vIOaVjOaWueWcuuaZr1xuICAgICAgICBUQVJHRVQ6IDUsICAgICAgICAgICAgICAvLyDmlYzmlrnnm67moIdcbiAgICB9LFxuXG4gICAgLy8g5piv5ZCm5Zyo5oiY5paX5Lit55qE57G75Z6LXG4gICAgQmF0dGxlX0luX1R5cGU6e1xuICAgICAgICBOaWw6IDAsICAgICAgICAgICAgICAgICAvLyDlvZPliY3kuI3lnKjmiJjmlpdcbiAgICAgICAgVW5SZWFsOiAxLCAgICAgICAgICAgICAgLy8g5YGH5oiY5paXXG4gICAgICAgIFJlYWw6IDIsICAgICAgICAgICAgICAgIC8vIOecn+aImOaWl1xuICAgIH0sXG4gICAgLy8g5YiG5Lqr57G75Z6LXG4gICAgU2hhcmVUeXBlIDoge1xuICAgICAgICBTaGFyZVBrIDogMSwgLy/ova7mkq1cbiAgICAgICAgU2hhcmVQbHVuZGVyIDogMiwgLy/kuIDnm7Tmkq1cbiAgICAgICAgU2hhcmVMYWRkZXIgOiAzLCAgLy8g5aSp5qKvXG4gICAgfSxcbiAgICBKdW1wVHlwZSA6IHtcbiAgICAgICAgU3VtbW9uIDogMSwgICAvLyDlj6zllKRcbiAgICAgICAgSGVyb0JhZyA6IDIsICAvLyDoi7Hpm4Tog4zljIVcbiAgICAgICAgRm9yZ2UgOiAzLCAgICAvLyDplLvpgKDlsYtcbiAgICAgICAgSGFsbG93cyA6IDQsICAvLyDnpZ7lmahcbiAgICB9LFxuXG4gICAgLy8g5qC55o2u5oiY5paX57G75Z6L5Yik5pat5b2T5YmN55qEdWnnsbvlnotcbiAgICBnZXRVSUZpZ2h0QnlGaWdodFR5cGU6ZnVuY3Rpb24oZmlnaHRfdHlwZSl7XG4gICAgICAgIHZhciBNYWludWlDb25zdCA9IHJlcXVpcmUoXCJtYWludWlfY29uc3RcIik7XG4gICAgICAgIHN3aXRjaCAoZmlnaHRfdHlwZSkge1xuICAgICAgICAgICAgY2FzZSB0aGlzLkZpZ2h0X1R5cGUuRGFybWE6XG4gICAgICAgICAgICBjYXNlIHRoaXMuRmlnaHRfVHlwZS5OaWw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1haW51aUNvbnN0LnVpX2ZpZ2h0X3R5cGUuZHJhbWFfc2NlbmU7XG4gICAgICAgICAgICBjYXNlIHRoaXMuRmlnaHRfVHlwZS5TdGFyVG93ZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1haW51aUNvbnN0LnVpX2ZpZ2h0X3R5cGUuc3Rhcl90b3dlcjtcbiAgICAgICAgICAgIGNhc2UgdGhpcy5GaWdodF9UeXBlLkd1aWxkRHVuOlxuICAgICAgICAgICAgICAgIHJldHVybiBNYWludWlDb25zdC51aV9maWdodF90eXBlLmd1aWxkX2R1bjtcbiAgICAgICAgICAgIGNhc2UgdGhpcy5GaWdodF9UeXBlLkFyZW5hOlxuICAgICAgICAgICAgICAgIHJldHVybiBNYWludWlDb25zdC51aV9maWdodF90eXBlLmFyZW5hO1xuICAgICAgICAgICAgY2FzZSB0aGlzLkZpZ2h0X1R5cGUuTGltaXRCb3NzOlxuICAgICAgICAgICAgICAgIHJldHVybiBNYWludWlDb25zdC51aV9maWdodF90eXBlLmxpbWl0X2Jvc3M7XG4gICAgICAgICAgICBjYXNlIHRoaXMuRmlnaHRfVHlwZS5HdWlsZFdhcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gTWFpbnVpQ29uc3QudWlfZmlnaHRfdHlwZS5ndWlsZHdhcjtcbiAgICAgICAgICAgIGNhc2UgdGhpcy5GaWdodF9UeXBlLlByaW11c1dhcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gTWFpbnVpQ29uc3QudWlfZmlnaHRfdHlwZS5wcmltdXNXYXI7XG4gICAgICAgICAgICBjYXNlIHRoaXMuRmlnaHRfVHlwZS5MYWRkZXJXYXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1haW51aUNvbnN0LnVpX2ZpZ2h0X3R5cGUubGFkZGVyd2FyO1xuICAgICAgICAgICAgY2FzZSB0aGlzLkZpZ2h0X1R5cGUuRW5kbGVzczovL+aXoOWwveivleeCvFxuICAgICAgICAgICAgICAgIHJldHVybiBNYWludWlDb25zdC51aV9maWdodF90eXBlLmVuZGxlc3M7XG4gICAgICAgICAgICBjYXNlIHRoaXMuRmlnaHRfVHlwZS5FeHBlZGl0RmlnaHQ6Ly/ov5zlvoFcbiAgICAgICAgICAgICAgICByZXR1cm4gTWFpbnVpQ29uc3QudWlfZmlnaHRfdHlwZS5leHBlZGl0X2ZpZ2h0O1xuICAgICAgICAgICAgY2FzZSB0aGlzLkZpZ2h0X1R5cGUuRHVuZ2VvblN0b25lOlxuICAgICAgICAgICAgICAgIHJldHVybiBNYWludWlDb25zdC51aV9maWdodF90eXBlLmR1bmdlb25fc3RvbmU7XG4gICAgICAgICAgICBjYXNlIHRoaXMuRmlnaHRfVHlwZS5FbGVtZW50V2FyOi8v5YWD57Sg5Zyj5q6/XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1haW51aUNvbnN0LnVpX2ZpZ2h0X3R5cGUuZHVuZ2Vvbl9zdG9uZTtcbiAgICAgICAgICAgIGNhc2UgdGhpcy5GaWdodF9UeXBlLkhlYXZlbldhcjovL+WkqeeVjOWJr+acrFxuICAgICAgICAgICAgICAgIHJldHVybiBNYWludWlDb25zdC51aV9maWdodF90eXBlLmR1bmdlb25fc3RvbmU7XG4gICAgICAgICAgICBjYXNlIHRoaXMuRmlnaHRfVHlwZS5BZHZlbnRydWU6Ly/lhpLpmalcbiAgICAgICAgICAgICAgICByZXR1cm4gTWFpbnVpQ29uc3QudWlfZmlnaHRfdHlwZS5za3lfc2NlbmU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBNYWludWlDb25zdC51aV9maWdodF90eXBlLmRyYW1hX3NjZW5lO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8vIOeJueauiuexu+Wei+eahOaImOaWlyxcbiAgICBpc05vUmVxdWVzdDpmdW5jdGlvbihmaWdodF90eXBlKXtcbiAgICAgICAgcmV0dXJuIChmaWdodF90eXBlID09IHRoaXMuRmlnaHRfVHlwZS5EZWZhdWx0IHx8IGZpZ2h0X3R5cGUgPT0gdGhpcy5GaWdodF9UeXBlLlBLIHx8IGZpZ2h0X3R5cGUgPT0gdGhpcy5GaWdodF9UeXBlLkhlcm9UZXN0V2FyKTtcbiAgICB9LFxuXG4gICAgLy8g5piv5ZCm5pivcHZw5oiY5paXXG4gICAgaXNQdlA6ZnVuY3Rpb24oZmlnaHRfdHlwZSl7XG4gICAgICAgIHJldHVybiAoZmlnaHRfdHlwZSA9PSB0aGlzLkZpZ2h0X1R5cGUuQXJlbmEgfHwgZmlnaHRfdHlwZSA9PSB0aGlzLkZpZ2h0X1R5cGUuRXNjb3J0KTtcbiAgICB9LFxuXG4gICAgLy8g5piv5ZCm6ZyA6KaB5pi+56S6546p5a625ZCN5a2X55qEXG4gICAgaXNOZWVkTmFtZTpmdW5jdGlvbihmaWdodF90eXBlKXtcbiAgICAgICAgcmV0dXJuIChmaWdodF90eXBlID09IHRoaXMuRmlnaHRfVHlwZS5QSyk7XG4gICAgfSxcblxuICAgIC8vIOaYr+WQpuaYvuekuuWFpeWcunBr5Yqo55S7XG4gICAgaXNOZWVkU3BlY1N0YXJ0OiBmdW5jdGlvbiAoZmlnaHRfdHlwZSkge1xuICAgICAgICByZXR1cm4gZmlnaHRfdHlwZSA9PSBCYXR0bGVDb25zdC5GaWdodF9UeXBlLkFyZW5hIHx8IGZpZ2h0X3R5cGUgPT0gQmF0dGxlQ29uc3QuRmlnaHRfVHlwZS5DaGFtcGlvbiB8fCBmaWdodF90eXBlID09IEJhdHRsZUNvbnN0LkZpZ2h0X1R5cGUuUEsgfHwgZmlnaHRfdHlwZSA9PSBCYXR0bGVDb25zdC5GaWdodF9UeXBlLkxhZGRlcldhclxuICAgIH0sXG5cbiAgICAvLyDmmK/lkKblj6/ku6Xov5vmiJjmlpcs6L+Z5Liq5pe25YCZ5bCx6ZyA6KaB5Yik5pat5b2T5YmN5oiY5paX57G75Z6L55qE6Z2i5p2/57G75Z6L6Lef5Li755WM6Z2i57yT5a2Y55qE57G75Z6L5piv5ZCm5LiA6Ie0XG4gICAgY2FuRG9CYXR0bGU6ZnVuY3Rpb24oZmlnaHRfdHlwZSl7XG4gICAgICAgIHZhciB0YXJnZXRfdWlfZmlnaHRfdHlwZSA9IHRoaXMuZ2V0VUlGaWdodEJ5RmlnaHRUeXBlKGZpZ2h0X3R5cGUpO1xuICAgICAgICB2YXIgTWFpblVpQ29udHJvbGxlciA9IHJlcXVpcmUoXCJtYWludWlfY29udHJvbGxlclwiKTtcbiAgICAgICAgdmFyIEJhdHRsZUNvbnRyb2xsZXIgPSByZXF1aXJlKFwiYmF0dGxlX2NvbnRyb2xsZXJcIik7XG4gICAgICAgIHZhciBjdXJfdWlfZmlnaHRfdHlwZSA9IE1haW5VaUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5nZXRVSUZpZ2h0VHlwZSgpO1xuXG4gICAgICAgIHJldHVybiAoY3VyX3VpX2ZpZ2h0X3R5cGUgPT0gdGFyZ2V0X3VpX2ZpZ2h0X3R5cGUpIHx8IHRoaXMuaXNOb1JlcXVlc3QoZmlnaHRfdHlwZSkgfHwgQmF0dGxlQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLmdldFdhdGNoUmVwbGF5U3RhdHVzKCk7XG4gICAgfSxcbiAgICAvL+aImOaWl+WIhue7hFxuICAgIEJhdHRsZUdyb3VwVHlwZUNvbmYgOiB7XG4gICAgICAgIFRZUEVfR1JPVVBfRU5FTVkgOiAyLCBcdC8v5pWM5pa5XG4gICAgICAgIFRZUEVfR1JPVVBfUk9MRSA6IDEsIFx0Ly/lj4vmlrlcbiAgICB9LCAgXG5cbiAgICAvLyAtLeaImOaWl+WNleS9jeexu+Wei1xuICAgIEJhdHRsZU9iamVjdFR5cGUgOiB7XG4gICAgICAgIFJvbGUgOiAxLCAgICAgIC8vLS3op5LoibIo5pqC5pe25rKh5pyJ5LqGKVxuICAgICAgICBQZXQgOiAyLCAgICAgICAvLy0t5LyZ5Ly0KOmFjee9ruihqOWPlnBhcnRlcm4pXG4gICAgICAgIFVuaXQgOiAzLCAgICAgIC8vLS3ljZXkvY0o6YWN572u6KGo5Y+WdW5pdClcbiAgICAgICAgSGFsbG93cyA6IDQgICAgLy8tLeelnuWZqFxuICAgIH0sXG5cbiAgICAvLyAtLSDlhbzlrrnml6fnmoTlvZXlg4/mlbDmja7kuK3pmLXokKXlhYnnjq9pZO+8iOi9rOS4uueOsOWcqOeahGlk5YiX6KGo77yJXG4gICAgT2xkX0hhbG9fSWRfQ2hhbmdlIDoge1xuICAgICAgICBbMV0gOiBbMV0sXG4gICAgICAgIFsyXSA6IFsyXSxcbiAgICAgICAgWzNdIDogWzNdLFxuICAgICAgICBbNF0gOiBbNF0sXG4gICAgICAgIFs1XSA6IFs1XSxcbiAgICAgICAgWzZdIDogWzIxXSxcbiAgICAgICAgWzddIDogWzZdLFxuICAgICAgICBbOF0gOiBbNl0sXG4gICAgICAgIFs5XSA6IFs3XSxcbiAgICAgICAgWzEwXSA6IFs3XSxcbiAgICAgICAgWzExXSA6IFs4XSxcbiAgICAgICAgWzEyXSA6IFs4XSxcbiAgICAgICAgWzEzXSA6IFsxMSwxOF0sXG4gICAgICAgIFsxNF0gOiBbMTMsMTddLFxuICAgICAgICBbMTVdIDogWzEyLDE2XSxcbiAgICAgICAgWzE2XSA6IFsxNCwyMF0sXG4gICAgICAgIFsxN10gOiBbMTUsMTldLFxuICAgIH1cbn07XG5tb2R1bGUuZXhwb3J0cyA9IEJhdHRsZUNvbnN0OyJdfQ==