GamePortrait/node_modules/.cache/babel-loader/a246336424d9400a4db2c0c64615adb7b3296b5d08ed7d25ab9bc11886cbccfb.json

1 line
103 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { ref, computed, watch, nextTick, onUnmounted } from \"vue\";\nimport { useRouter, useRoute } from \"vue-router\";\nimport { useStore } from \"vuex\";\nimport { Circle, showToast, showDialog, closeDialog, closeToast } from \"vant\";\nimport PlayTable from \"@/components/PlayTable/Index.vue\";\nimport PlayWay from \"@/components/PlayWay.vue\";\nimport PlayChip from \"@/components/PlayChip.vue\";\nimport Poker from \"@/components/Poker\";\nimport RushVillage from \"@/components/RushVillage\";\nimport ToningResult from \"@/components/ToningResult\";\nimport DiceResult from \"@/components/DiceResult\";\nimport RouletteResult from \"@/components/RouletteResult\";\nimport SwitchTab from \"@/components/SwitchTab2\";\nimport setCamera from \"@/components/setCamera\";\nimport PlayTypePop from \"@/components/PlayTypePop\";\nimport TableInfoPop from \"@/components/TableInfoPop\";\nimport OnLinePop from \"@/components/OnLinePop\";\nimport { audioMp3 } from \"@/assets/js/sound.js\";\nimport { getUserBetBaccarat, getUserBetDt, getUserBetNn, getUserBetTc, getUserBetToning, getUserBetDice, getUserBetRoulette } from \"@/utils/api\";\nexport default {\n name: \"playView\",\n components: {\n PlayTable,\n PlayWay,\n PlayChip,\n Circle,\n Poker,\n SwitchTab,\n setCamera,\n PlayTypePop,\n TableInfoPop,\n OnLinePop,\n RushVillage,\n ToningResult,\n DiceResult,\n RouletteResult\n },\n setup() {\n const audio = ref(null);\n const videoDom = ref(null);\n const foxVideo = ref({\n w: 0,\n h: 0,\n mt: 0,\n ml: 0\n });\n const hideVideo = ref(true);\n const table_id = ref(null);\n const chipTable = ref(null);\n const currentRate = ref(0);\n const switchtabshow = ref(false);\n const isSwitchtab = ref(false);\n const switchCameraShow = ref(false);\n const isSwitchCamera = ref(false);\n const showToningResult = ref(false);\n const showDiceResult = ref(false);\n const showRouletteResult = ref(false);\n const winArray = ref([]);\n const router = useRouter();\n const route = useRoute();\n const store = useStore();\n const baccaratType = computed(() => store.state.config.baccaratType);\n const rouletteType = computed(() => store.state.config.roulette_type);\n const rouletteLockTable = computed(() => store.state.config.rouletteLockTable);\n const tableData = computed(() => store.getters.getTableById(table_id.value));\n const circle = computed(() => {\n const data = {\n num: 0,\n rate: 0\n };\n if (tableData.value) {\n const {\n count_down,\n wait_time,\n sendMode\n } = tableData.value;\n if (!sendMode) {\n data.num = wait_time;\n data.rate = data.num / wait_time * 100;\n } else {\n data.num = count_down || 0;\n data.rate = data.num / wait_time * 100;\n }\n }\n return data;\n });\n const Type = computed(() => store.state.config.$Type);\n const Lang = computed(() => store.state.config.$lang);\n const routerStack = computed(() => store.state.app.routerStack);\n const phoneModel = computed(() => store.state.config.phoneModel);\n const phoneScreen = computed(() => store.state.config.phoneScreen);\n const switchVideo = computed(() => store.state.config.switchVideo);\n const videoConfig = computed(() => store.state.config.video);\n const videoUrl = computed(() => {\n let src = \"\",\n media_url = \"\";\n if (tableData.value && videoConfig.value) {\n // line决定使用近景(near)还是远景(far)definition决定使用flv还是ws\n if (videoConfig.value.line == 1) {\n // 使用近景\n if (videoConfig.value.definition == 1) {\n media_url = tableData.value.media_near_flv;\n } else {\n media_url = tableData.value.media_near_ws;\n }\n } else {\n // 使用远景\n if (videoConfig.value.definition == 1) {\n media_url = tableData.value.media_far_flv;\n } else {\n media_url = tableData.value.media_far_ws;\n }\n }\n src = `${videoConfig.value.player}?url=${media_url}`;\n } else {\n src = `static/video.html?url=${media_url}`;\n }\n // const src = `static/video.html?url=https://al2-flv.live.huajiao.com/live_huajiao_h265/_LC_AL2_non_h265_SD_26820950716932293510114149_OX.flv`\n return src;\n });\n const closeSwitchView = () => {\n showSwitchtab(false);\n showSwitchCamera(false);\n };\n // 显示快捷换台列表\n const showSwitchtab = type => {\n store.commit(\"app/standbyTime\");\n if (type == false) {\n switchtabshow.value = false;\n } else {\n switchtabshow.value = true;\n }\n };\n // 切换视频线路\n const showSwitchCamera = type => {\n store.commit(\"app/standbyTime\");\n // isSwitchCamera.value = type\n if (type == false) {\n switchCameraShow.value = false;\n } else {\n switchCameraShow.value = true;\n }\n };\n const userInfo = computed(() => store.state.app.userInfo);\n // 视频开关\n const offCamera = () => {\n store.commit(\"config/switchVideo\", !switchVideo.value);\n };\n // 显示音乐播放器\n const toggleAplayer = () => {\n store.commit(\"config/showAplayer\");\n };\n\n // 显示隐藏视频\n const toggleVide = () => {\n hideVideo.value = !hideVideo.value;\n };\n\n // 获取单台数据\n let getSingletableTimer = null,\n getSingletableNun = 0;\n const getSingletable = id => {\n getSingletableNun++;\n clearTimeout(getSingletableTimer);\n if (tableData.value && tableData.value.id) {\n store.dispatch(\"socket/updateSingletable\", {\n type: \"update\",\n table_id: id\n });\n let num = Math.floor(Math.random() * 6) + 1;\n if (num == 4) {\n num = 1;\n }\n let name = \"\";\n switch (tableData.value.game_id) {\n case 1:\n name = \"baccarat\";\n break;\n case 2:\n name = \"lh\";\n break;\n case 3:\n break;\n case 4:\n name = \"nn\";\n break;\n case 5:\n name = \"tc\";\n break;\n case 6:\n name = \"toning\";\n break;\n case 7:\n name = \"dice\";\n break;\n case 8:\n name = \"lp\";\n break;\n }\n audioMp3([`${name}_w_p${num}`]).Play();\n } else {\n if (getSingletableNun < 10) {\n getSingletableTimer = setTimeout(() => {\n getSingletable(id);\n }, 1000);\n }\n }\n };\n const clearChip = state => {\n nextTick(() => {\n chipTable.value.resetChip(state);\n });\n };\n const cancelChip = () => {\n nextTick(() => {\n chipTable.value.cancelChip();\n });\n };\n // 显示菜单\n const showMenu = () => {\n store.commit(\"config/showMenu\", true);\n };\n // 显示免佣设置\n const showSetFree = () => {\n store.commit(\"config/showSetFree\");\n };\n // 显示玩法\n const showBaccaratPlayType = () => {\n store.commit(\"config/showBaccaratPlayType\");\n };\n // 显示桌台信息\n const showTableInfo = () => {\n store.commit(\"config/showTableInfo\", true);\n };\n // 显示在线人数\n const showOnLine = () => {\n store.commit(\"config/showOnLine\");\n };\n // 切换轮盘 玩法\n const switchRouletteType = () => {\n if (rouletteLockTable.value) {\n showToast(\"已下注\");\n } else {\n store.commit(\"config/switchRouletteType\");\n }\n };\n\n // 百家乐结果\n const baccaratResult = data => {\n store.dispatch(\"socket/getGoodTabData\");\n getwinResult(1);\n let mp3list = [],\n win = [],\n text = \"\";\n mp3list.push(\"baccarat_banker\", `${data.round.banker}_point`, \"baccarat_player\", `${data.round.player}_point`);\n if (data.round.opening == 1) {\n text = Lang.value[Type.value].msg_banker_win;\n win.push(\"banker\");\n mp3list.push(\"baccarat_b_win\");\n } else if (data.round.opening == 2) {\n text = Lang.value[Type.value].msg_player_win;\n win.push(\"player\");\n mp3list.push(\"baccarat_p_win\");\n } else if (data.round.opening == 3) {\n text = Lang.value[Type.value].msg_tie_win;\n win.push(\"tie\");\n mp3list.push(\"baccarat_tie\");\n }\n // 大小\n if (data.can_bet_big_small == 1) {\n if (data.round.big_small == 1) {\n text = text + \"、\" + Lang.value[Type.value].big;\n win.push(\"big\");\n } else if (data.round.big_small == 2) {\n text = text + \"、\" + Lang.value[Type.value].small;\n win.push(\"small\");\n }\n }\n\n // 幸运6\n if (data.can_bet_luck_six == 1) {\n if (data.round.luck_six == 2) {\n text = text + \"、\" + Lang.value[Type.value].luckSix + \"X2\";\n win.push(\"luck_six\");\n } else if (data.round.luck_six == 3) {\n text = text + \"、\" + Lang.value[Type.value].luckSix + \"X3\";\n win.push(\"luck_six\");\n }\n }\n // 对子\n if (data.round.pair == 1) {\n text = text + \"、\" + Lang.value[Type.value].msg_banker_pair;\n win.push(\"banker_pair\");\n mp3list.push(\"baccarat_b_pair\");\n } else if (data.round.pair == 2) {\n text = text + \"、\" + Lang.value[Type.value].msg_player_pair;\n win.push(\"player_pair\");\n mp3list.push(\"baccarat_p_pair\");\n } else if (data.round.pair == 3) {\n text = text + \"、\" + Lang.value[Type.value].msg_banker_pair + \"、\" + Lang.value[Type.value].msg_player_pair;\n win.push(\"banker_pair\", \"player_pair\");\n mp3list.push(\"baccarat_b_pair\", \"baccarat_p_pair\");\n }\n showToast(text);\n winArray.value = win;\n audioMp3(mp3list).Play();\n setTimeout(() => {\n winArray.value = [];\n clearChip();\n }, 7000);\n };\n // 龙虎结果\n const longhuResult = data => {\n getwinResult(2);\n let mp3list = [],\n win = [],\n text = \"\";\n mp3list.push(\"lh_dragon\", `${data.round.banker}_point`, \"lh_tiger\", `${data.round.player}_point`);\n if (data.round.opening == 1) {\n text = Lang.value[Type.value].msg_dragon_win;\n win.push(\"banker\");\n mp3list.push(\"lh_dragon_win\");\n } else if (data.round.opening == 2) {\n text = Lang.value[Type.value].msg_tiger_win;\n win.push(\"player\");\n mp3list.push(\"lh_tiger_win\");\n } else if (data.round.opening == 3) {\n text = Lang.value[Type.value].msg_tie_win;\n win.push(\"tie\");\n mp3list.push(\"lh_tie\");\n }\n audioMp3(mp3list).Play();\n showToast(text);\n winArray.value = win;\n setTimeout(() => {\n winArray.value = [];\n clearChip();\n }, 7000);\n };\n\n // 牛牛\n const nnResult = data => {\n if (data.game_id == 4) {\n getwinResult(4);\n } else {\n getwinResult(5);\n }\n let mp3list = [],\n win = [],\n text = \"\";\n if (data.round.win_player_1 == 0 && data.round.win_player_2 == 0 && data.round.win_player_3 == 0) {\n text = Lang.value[Type.value].msg_banker_win;\n mp3list.push(\"nn_banker\");\n win.push(\"player_1_banker\", \"player_2_banker\", \"player_3_banker\");\n win;\n } else {\n if (data.round.win_player_1 == 1) {\n text = text + Lang.value[Type.value].player1;\n mp3list.push(\"nn_player_1\");\n win.push(\"player_1\");\n } else {\n win.push(\"player_1_banker\");\n }\n if (data.round.win_player_2 == 1) {\n text = text + Lang.value[Type.value].player2;\n mp3list.push(\"nn_player_2\");\n win.push(\"player_2\");\n } else {\n win.push(\"player_2_banker\");\n }\n if (data.round.win_player_3 == 1) {\n text = text + Lang.value[Type.value].player3;\n mp3list.push(\"nn_player_3\");\n win.push(\"player_3\");\n } else {\n win.push(\"player_3_banker\");\n }\n }\n audioMp3(mp3list).Play();\n showToast(text);\n winArray.value = win;\n setTimeout(() => {\n winArray.value = [];\n clearChip();\n }, 5000);\n };\n // 色碟\n const toningResult = data => {\n const language = Lang.value[Type.value];\n getwinResult(6);\n showToningResult.value = true;\n let mp3list = [],\n win = [],\n text = \"\";\n switch (data.round.result) {\n case 0:\n win.push(\"toning_zero\", \"toning_plural\", \"toning_small\");\n mp3list.push(\"toning_4_white\", \"toning_even\", \"toning_small\");\n // text = \"四白,双,小\"\n text = `${language.four} ${language.white}${language.even}${language.small}`;\n break;\n case 1:\n win.push(\"toning_one\", \"toning_singular\", \"toning_small\");\n mp3list.push(\"toning_3_w_1_r\", \"toning_odd\", \"toning_small\");\n // text = \"三白一红,单,小\"\n text = `${language.three} ${language.white} ${language.one} ${language.red}${language.odd}${language.small}`;\n break;\n case 2:\n win.push(\"toning_plural\");\n mp3list.push(\"toning_2_w_2_r\", \"toning_even\");\n // text = \"二红二白,双\"\n text = `${language.two} ${language.red} ${language.two} ${language.white}${language.even}`;\n break;\n case 3:\n win.push(\"toning_three\", \"toning_singular\", \"toning_big\");\n mp3list.push(\"toning_1_w_3_r\", \"toning_odd\", \"toning_big\");\n // text = \"三红一白,单,大\"\n text = `${language.three} ${language.red} ${language.one} ${language.white}${language.odd}${language.big}`;\n break;\n case 4:\n win.push(\"toning_four\", \"toning_plural\", \"toning_big\");\n mp3list.push(\"toning_4_red\", \"toning_even\", \"toning_big\");\n // text = \"四红,双,大\"\n text = `${language.four} ${language.red}${language.odd}${language.big}`;\n break;\n }\n audioMp3(mp3list).Play();\n showToast(text);\n winArray.value = win;\n setTimeout(() => {\n winArray.value = [];\n showToningResult.value = false;\n clearChip();\n }, 5000);\n };\n // 骰宝\n const diceResult = data => {\n showDiceResult.value = true;\n getwinResult(7);\n let mp3list = [],\n text = \"\";\n const result = data.round.result;\n const first = parseInt(result[0]);\n const second = parseInt(result[1]);\n const third = parseInt(result[2]);\n mp3list.push(`dice_num_${first}`, `dice_num_${second}`, `dice_num_${third}`);\n if (first == second && second == third) {\n text = \"豹子,\";\n mp3list.push(\"dice_any_triple\");\n }\n const totle = first + second + third;\n text = `${text}${totle}点`;\n mp3list.push(`${totle}_point`);\n audioMp3(mp3list).Play();\n showToast(text);\n winArray.value = data.round.result_parse;\n setTimeout(() => {\n winArray.value = [];\n showDiceResult.value = false;\n clearChip();\n }, 5000);\n };\n // 轮盘\n const rouletteResult = data => {\n showRouletteResult.value = true;\n getwinResult(7);\n let mp3list = [],\n text = \"\";\n const result = data.round.result;\n text = result;\n mp3list.push(`${result}_point`);\n // console.log(result, mp3list)\n showToast(text);\n winArray.value = data.round.result_parse;\n setTimeout(() => {\n winArray.value = [];\n showRouletteResult.value = false;\n clearChip();\n }, 3000);\n };\n const getwinResult = game => {\n let Api = \"\";\n if (game == 1) {\n Api = getUserBetBaccarat;\n } else if (game == 2) {\n Api = getUserBetDt;\n } else if (game == 4) {\n Api = getUserBetNn;\n } else if (game == 5) {\n Api = getUserBetTc;\n } else if (game == 6) {\n Api = getUserBetToning;\n } else if (game == 7) {\n Api = getUserBetDice;\n } else if (game == 8) {\n Api = getUserBetRoulette;\n }\n const params = {\n user_id: userInfo.value.id,\n api_token: userInfo.value.api_token,\n number_tab_id: tableData.value?.previous_number_tab_id,\n table_id: tableData.value.id\n };\n Api(params).then(response => {\n setTimeout(() => {\n if (response.Success == 1) {\n const data = response.Data;\n // console.log(\"输赢金额\", data)\n if (game == 4 || game == 5 || game == 6 || game == 7 || game == 8) {\n showDialog({\n allowHtml: true,\n title: Lang.value[Type.value].msg_win_lose,\n message: '<div class=\"item title\"><span>' + Lang.value[Type.value].msg_bet_total + \"</span><span>\" + Lang.value[Type.value].msg_win_lose + \"</span><span>\" + Lang.value[Type.value].msg_balance + \"</span></div>\" + '<div class=\"item\"><span>' + data.amount + \"</span><span>\" + returnFloat(data.win_total) + \"</span><span>\" + data.end_money + \"</span></div>\",\n className: \"alert\",\n confirmButtonText: Lang.value[Type.value].Confirm\n });\n } else {\n popResult(data);\n }\n } else {\n // console.log(response)\n }\n tableData.value.sendMode = \"\";\n }, 3500);\n }).catch(error => {\n console.log(error);\n });\n };\n const popResult = data => {\n let html = \"\";\n let text = \"\";\n data.returnData.forEach(v => {\n if (v.amount > 0) {\n if (v.win_amount > 0) {\n text = Lang.value[Type.value].win;\n } else if (v.win_amount < 0) {\n text = Lang.value[Type.value].lose;\n } else {\n text = Lang.value[Type.value].tie;\n }\n html = html + '<div class=\"item\"><span>' + v.name + \"</span><span>\" + v.amount + \"</span><span>\" + text + \"</span><span>\" + v.win_amount + \"</span></div>\";\n }\n });\n html = '<div class=\"item title\"><span>' + Lang.value[Type.value].bet_type + \"</span><span>\" + Lang.value[Type.value].bet_amount + \"</span><span>\" + Lang.value[Type.value].note_result + \"</span><span>\" + Lang.value[Type.value].note_win_lose + \"</span></div>\" + html;\n showDialog({\n allowHtml: true,\n title: Lang.value[Type.value].msg_win_lose + \"\" + returnFloat(data.win_total),\n message: html,\n className: \"alert\",\n confirmButtonText: Lang.value[Type.value].Confirm\n });\n };\n const returnFloat = num => {\n let value = Math.round(parseFloat(num) * 100) / 100;\n let xsd = value.toString().split(\".\");\n if (xsd.length == 1) {\n value = value.toString() + \".00\";\n return value;\n }\n if (xsd.length > 1) {\n if (xsd[1].length < 2) {\n value = value.toString() + \"0\";\n }\n return value;\n }\n };\n const foxVideoFn = () => {\n nextTick(() => {\n const h = videoDom.value.clientHeight * videoConfig.value.scale;\n const w = videoConfig.value.proportion[0] / videoConfig.value.proportion[1] * h;\n const mt = 0;\n foxVideo.value.w = `${w}px`;\n foxVideo.value.h = `${h}px`;\n foxVideo.value.mt = `${mt}px`;\n foxVideo.value.model = phoneModel.value;\n foxVideo.value.screen = phoneScreen.value;\n if (phoneModel.value == \"ios\") {\n foxVideo.value.w = `100%`;\n if (phoneScreen.value == \"landscape\") {\n foxVideo.value.mt = videoConfig.value.offset.iosLandscape;\n } else {\n foxVideo.value.mt = videoConfig.value.offset.iosPortrait;\n }\n } else if (phoneModel.value == \"android\") {\n foxVideo.value.w = `100%`;\n foxVideo.value.mt = videoConfig.value.offset.android;\n } else {\n foxVideo.value.w = `100%`;\n foxVideo.value.mt = videoConfig.value.offset.pc;\n }\n });\n };\n // 牛牛点数声音\n const playNNsound = data => {\n const position = parseInt(data.round.order_num);\n if (data.game_id == 4) {\n if ([15, 25, 35, 45].includes(position)) {\n soundType(data.round.result);\n } else {\n audioMp3([\"show_card\"]).Play();\n }\n } else if (data.game_id == 5) {\n if ([13, 23, 33, 43].includes(position)) {\n soundType(data.round.result);\n } else {\n audioMp3([\"show_card\"]).Play();\n }\n }\n function soundType(result) {\n let name = \"\";\n switch (result) {\n case \"无牛\":\n case \"N0\":\n name = \"no_bull\";\n break;\n case \"牛1\":\n case \"N1\":\n name = \"bull_1\";\n break;\n case \"牛2\":\n case \"N2\":\n name = \"bull_2\";\n break;\n case \"牛3\":\n case \"N3\":\n name = \"bull_3\";\n break;\n case \"牛4\":\n case \"N4\":\n name = \"bull_4\";\n break;\n case \"牛5\":\n case \"N5\":\n name = \"bull_5\";\n break;\n case \"牛6\":\n case \"N6\":\n name = \"bull_6\";\n break;\n case \"牛7\":\n case \"N7\":\n name = \"bull_7\";\n break;\n case \"牛8\":\n case \"N8\":\n name = \"bull_8\";\n break;\n case \"牛9\":\n case \"N9\":\n name = \"bull_9\";\n break;\n case \"牛牛\":\n case \"NN\":\n name = \"bull_bull\";\n break;\n case \"五公\":\n name = \"five_pictur_bull\";\n break;\n case \"豹子\":\n name = \"any_triple\";\n break;\n case \"同花顺\":\n name = \"straight_flush\";\n break;\n case \"皇家同花順\":\n name = \"royal_flush\";\n break;\n }\n audioMp3([`${data.game_id == 4 ? \"nn\" : \"tc\"}_${name}`]).Play();\n }\n };\n // 离开销毁\n onUnmounted(() => {\n closeDialog();\n closeToast();\n audioMp3().Pause();\n });\n // 监听机型和横竖屏\n watch(() => [phoneModel, phoneScreen], () => {\n foxVideoFn();\n }, {\n immediate: true,\n deep: true\n });\n // switchVideo\n watch(() => [switchVideo.value], ([state]) => {\n if (state == false) {\n hideVideo.value = true;\n }\n }, {\n immediate: true,\n deep: true\n });\n // 监听路由切换\n watch(() => [route.query], ([query]) => {\n winArray.value = [];\n table_id.value = query.id;\n getSingletable(query.id);\n const {\n game_id = 1\n } = tableData.value;\n store.commit(\"app/updateGameId\", game_id);\n }, {\n immediate: true,\n deep: true\n });\n watch(() => [tableData.value], ([data]) => {\n const sendMode = data && data.sendMode || null;\n switch (sendMode) {\n case \"startBet\":\n //开始游戏\n if (data.game_id == 6) {\n showToningResult.value = false;\n }\n if (data.game_id == 7) {\n hideVideo.value = true;\n }\n if (data.game_id == 8) {\n hideVideo.value = true;\n store.commit(\"config/rouletteLockTable\", false);\n }\n closeDialog();\n showToast(Lang.value[Type.value].msg_start_bet);\n if (data.game_id != 5) {\n audioMp3([\"start_betting\"]).Play();\n } else {\n audioMp3([\"tc_banker_stop\", \"start_betting\"]).Play();\n }\n break;\n case \"startRob\":\n //开始抢庄\n showToast(Lang.value[Type.value].msg_accept_grab);\n audioMp3([\"tc_start_banker\"]).Play();\n break;\n case \"toRobResult\":\n //抢庄后通知\n if (data.RobMsg.rob_banker_id == userInfo.value.id) {\n audioMp3([\"tc_banker_success\"]).Play();\n }\n break;\n case \"startRobCountDown\":\n break;\n case \"startBetCountDown\":\n //倒计时\n if (data.count_down == 10) {\n audioMp3([\"last_10_seconds\"]).Play();\n } else if (data.count_down < 9) {\n audioMp3([\"time\"]).Play();\n }\n break;\n case \"toBet\":\n showToast({\n message: Lang.value[Type.value].msg_bet_success,\n position: \"top\"\n });\n if (data.game_id == 8) {\n store.commit(\"config/rouletteLockTable\", true);\n }\n break;\n case \"toBetFlase\":\n audioMp3([\"alert\"]).Play();\n cancelChip();\n break;\n case \"sendScanResult\":\n if (data.game_id == 1) {\n const position = parseInt(data.round.position);\n if (position == 23) {\n audioMp3([\"baccarat_b_draw\"]).Play();\n } else if (position == 13) {\n audioMp3([\"baccarat_p_draw\"]).Play();\n } else {\n audioMp3([\"show_card\"]).Play();\n }\n } else if (data.game_id == 2) {\n audioMp3([\"show_card\"]).Play();\n } else if (data.game_id == 4 || data.game_id == 5) {\n playNNsound(data);\n } else {\n audioMp3([\"show_card\"]).Play();\n }\n break;\n case \"cancelBet\":\n showToast(Lang.value[Type.value].msg_cancel_success);\n break;\n case \"endBet\":\n if (data.game_id == 6) {\n showToningResult.value = true;\n } else if (data.game_id == 7) {\n showDiceResult.value = true;\n } else if (data.game_id == 8) {\n showRouletteResult.value = true;\n }\n if ((data.game_id == 7 || data.game_id == 8) && switchVideo.value == true) {\n hideVideo.value = false;\n }\n showToast(Lang.value[Type.value].endBet);\n audioMp3([\"stop_betting\"]).Play();\n break;\n case \"openingBaccaratResult\":\n baccaratResult(data);\n break;\n case \"openingDtResult\":\n longhuResult(data);\n break;\n case \"openingNnResult\":\n nnResult(data);\n break;\n case \"openingTcResult\":\n nnResult(data);\n break;\n case \"openingToningResult\":\n toningResult(data);\n break;\n case \"openingDiceResult\":\n diceResult(data);\n if (data.game_id == 7) {\n hideVideo.value = true;\n }\n break;\n case \"openingRouletteResult\":\n rouletteResult(data);\n if (data.game_id == 8) {\n hideVideo.value = true;\n }\n break;\n case \"retreated\":\n break;\n case \"changeBoot\":\n showToast(Lang.value[Type.value].changeBoot);\n clearChip();\n break;\n case \"resetBoot\":\n showToast(Lang.value[Type.value].resetBoot);\n clearChip();\n break;\n case \"resetNumberTab\":\n showToast(Lang.value[Type.value].msg_council);\n clearChip();\n break;\n }\n }, {\n immediate: true,\n deep: true\n });\n return {\n Type,\n audio,\n videoConfig,\n hideVideo,\n userInfo,\n tableData,\n switchVideo,\n router,\n circle,\n currentRate,\n switchtabshow,\n isSwitchtab,\n switchCameraShow,\n isSwitchCamera,\n chipTable,\n baccaratType,\n rouletteType,\n foxVideo,\n videoDom,\n phoneModel,\n routerStack,\n winArray,\n showToningResult,\n showDiceResult,\n showRouletteResult,\n showSwitchtab,\n showSwitchCamera,\n offCamera,\n toggleAplayer,\n clearChip,\n cancelChip,\n showMenu,\n showSetFree,\n showBaccaratPlayType,\n showTableInfo,\n showOnLine,\n closeSwitchView,\n toggleVide,\n switchRouletteType,\n videoUrl\n };\n }\n};","map":{"version":3,"names":["ref","computed","watch","nextTick","onUnmounted","useRouter","useRoute","useStore","Circle","showToast","showDialog","closeDialog","closeToast","PlayTable","PlayWay","PlayChip","Poker","RushVillage","ToningResult","DiceResult","RouletteResult","SwitchTab","setCamera","PlayTypePop","TableInfoPop","OnLinePop","audioMp3","getUserBetBaccarat","getUserBetDt","getUserBetNn","getUserBetTc","getUserBetToning","getUserBetDice","getUserBetRoulette","name","components","setup","audio","videoDom","foxVideo","w","h","mt","ml","hideVideo","table_id","chipTable","currentRate","switchtabshow","isSwitchtab","switchCameraShow","isSwitchCamera","showToningResult","showDiceResult","showRouletteResult","winArray","router","route","store","baccaratType","state","config","rouletteType","roulette_type","rouletteLockTable","tableData","getters","getTableById","value","circle","data","num","rate","count_down","wait_time","sendMode","Type","$Type","Lang","$lang","routerStack","app","phoneModel","phoneScreen","switchVideo","videoConfig","video","videoUrl","src","media_url","line","definition","media_near_flv","media_near_ws","media_far_flv","media_far_ws","player","closeSwitchView","showSwitchtab","showSwitchCamera","type","commit","userInfo","offCamera","toggleAplayer","toggleVide","getSingletableTimer","getSingletableNun","getSingletable","id","clearTimeout","dispatch","Math","floor","random","game_id","Play","setTimeout","clearChip","resetChip","cancelChip","showMenu","showSetFree","showBaccaratPlayType","showTableInfo","showOnLine","switchRouletteType","baccaratResult","getwinResult","mp3list","win","text","push","round","banker","opening","msg_banker_win","msg_player_win","msg_tie_win","can_bet_big_small","big_small","big","small","can_bet_luck_six","luck_six","luckSix","pair","msg_banker_pair","msg_player_pair","longhuResult","msg_dragon_win","msg_tiger_win","nnResult","win_player_1","win_player_2","win_player_3","player1","player2","player3","toningResult","language","result","four","white","even","three","one","red","odd","two","diceResult","first","parseInt","second","third","totle","result_parse","rouletteResult","game","Api","params","user_id","api_token","number_tab_id","previous_number_tab_id","then","response","Success","Data","allowHtml","title","msg_win_lose","message","msg_bet_total","msg_balance","amount","returnFloat","win_total","end_money","className","confirmButtonText","Confirm","popResult","catch","error","console","log","html","returnData","forEach","v","win_amount","lose","tie","bet_type","bet_amount","note_result","note_win_lose","parseFloat","xsd","toString","split","length","foxVideoFn","clientHeight","scale","proportion","model","screen","offset","iosLandscape","iosPortrait","android","pc","playNNsound","position","order_num","includes","soundType","Pause","immediate","deep","query","msg_start_bet","msg_accept_grab","RobMsg","rob_banker_id","msg_bet_success","msg_cancel_success","endBet","changeBoot","resetBoot","msg_council"],"sources":["/Users/li/Desktop/work/work2/OG/GamePortrait/src/views/play.vue"],"sourcesContent":["<template>\n <div\n class=\"play\"\n :class=\"[\n { offcamera: !switchVideo },\n { no_bg: tableData && (tableData.game_id == 7 || tableData.game_id == 8) }\n ]\"\n >\n <div class=\"nav\">\n <div class=\"left\">\n <div class=\"back\" @click=\"router.replace({ name: routerStack })\"></div>\n <div class=\"user\">\n <div class=\"name\">\n {{ userInfo.username }}\n </div>\n <div class=\"money\">{{ userInfo.money }}</div>\n </div>\n </div>\n <div class=\"right\">\n <div\n class=\"cutdown\"\n v-show=\"\n tableData &&\n (tableData.sendMode == 'startBetCountDown' ||\n tableData.sendMode == 'toBet' ||\n tableData.sendMode == 'toBetFlase')\n \"\n >\n <Circle\n v-model:current-rate=\"currentRate\"\n start-position=\"left\"\n :size=\"38\"\n :stroke-width=\"120\"\n :rate=\"circle.rate\"\n :color=\"{\n '0%': '#3fecff',\n '100%': '#6149f6'\n }\"\n layer-color=\"rgba(255,255,255,0.3)\"\n :text=\"`${circle.num || 0}`\"\n />\n </div>\n <ul class=\"box\">\n <li\n class=\"btn camera\"\n :class=\"{ off: !switchVideo }\"\n @click.stop=\"showSwitchCamera(true)\"\n ></li>\n <li class=\"btn muise\" @click=\"toggleAplayer\"></li>\n <li class=\"btn menu\" @click=\"showMenu\"></li>\n </ul>\n </div>\n </div>\n <div class=\"view\">\n <div class=\"video\" ref=\"videoDom\" @click.stop=\"closeSwitchView(false)\">\n <ul class=\"left-btn\">\n <li\n class=\"dice-btn\"\n v-if=\"tableData && tableData.game_id == 7 && switchVideo == true\"\n >\n <img\n class=\"img-btn\"\n src=\"~@/assets/images/dice/video_btn.png\"\n alt=\"\"\n v-if=\"hideVideo\"\n @click=\"toggleVide\"\n />\n <img\n class=\"img-btn\"\n src=\"~@/assets/images/dice/table_btn.png\"\n alt=\"\"\n @click=\"toggleVide\"\n v-else\n />\n </li>\n <li\n class=\"roulette-btn\"\n v-if=\"tableData && tableData.game_id == 8 && switchVideo == true\"\n >\n <img\n class=\"img-btn\"\n src=\"~@/assets/images/roulette/video_btn.png\"\n alt=\"\"\n v-if=\"hideVideo\"\n @click=\"toggleVide\"\n />\n <img\n class=\"img-btn\"\n src=\"~@/assets/images/roulette/table_btn.png\"\n alt=\"\"\n @click=\"toggleVide\"\n v-else\n />\n </li>\n <li\n class=\"btn switch\"\n v-if=\"tableData && tableData.game_id == 8\"\n @click=\"switchRouletteType\"\n ></li>\n <li\n class=\"btn switch\"\n v-if=\"tableData && tableData.game_id == 1\"\n @click=\"showBaccaratPlayType\"\n ></li>\n <li\n class=\"btn free\"\n v-if=\"tableData && tableData.game_id == 1\"\n :class=\"[\n { active: baccaratType == 1 },\n { en: Type != 'tw' && Type != 'cn' }\n ]\"\n @click=\"showSetFree\"\n ></li>\n <li class=\"btn tip\" @click=\"showTableInfo\"></li>\n <li\n class=\"btn people\"\n @click=\"showOnLine\"\n :style=\"{\n marginBottom:\n tableData && (tableData.game_id == 4 || tableData.game_id == 5)\n ? '1.5rem'\n : 0\n }\"\n ></li>\n </ul>\n <ul class=\"right-btn\">\n <li class=\"btn switch-tab\" @click.stop=\"showSwitchtab(true)\"></li>\n <!-- <li class=\"btn continue\" @click=\"cancelChip()\"></li> -->\n </ul>\n <iframe\n v-if=\"switchVideo && tableData\"\n :style=\"{\n width: foxVideo.w,\n height: foxVideo.h,\n marginTop: foxVideo.mt\n }\"\n class=\"iframe\"\n :class=\"[\n {\n scale:\n videoConfig.zoom &&\n tableData.sendMode &&\n (tableData.sendMode == 'endBet' ||\n tableData.sendMode == 'sendScanResult')\n }\n ]\"\n :src=\"videoUrl\"\n ></iframe>\n </div>\n <div class=\"game-area\">\n <PlayChip></PlayChip>\n <template\n v-if=\"tableData && (tableData.game_id == 7 || tableData.game_id == 8)\"\n >\n <Transition\n name=\"custom-classes\"\n enter-active-class=\"animate__animated animate__faster animate__fadeInRight\"\n leave-active-class=\"animate__animated animate__faster animate__fadeOutRight\"\n >\n <PlayTable\n v-if=\"hideVideo\"\n class=\"dice-table\"\n ref=\"chipTable\"\n :game_id=\"tableData?.game_id\"\n :sendMode=\"tableData?.sendMode\"\n :table_id=\"tableData?.id\"\n :number_tab_id=\"tableData?.number_tab_id\"\n :is_scavenging=\"tableData?.is_scavenging\"\n :winArray=\"winArray\"\n :bet_amount_msg=\"tableData?.bet_amount_msg\"\n :can_bet_big_small=\"tableData?.can_bet_big_small\"\n :can_bet_luck_six=\"tableData?.can_bet_luck_six\"\n :limit_money=\"tableData?.limit_money\"\n :limit_money_pair=\"tableData?.limit_money_pair\"\n :limit_money_tie=\"tableData?.limit_money_tie\"\n :tableData=\"tableData\"\n ></PlayTable>\n </Transition>\n </template>\n <template v-else>\n <PlayTable\n ref=\"chipTable\"\n :game_id=\"tableData?.game_id\"\n :sendMode=\"tableData?.sendMode\"\n :table_id=\"tableData?.id\"\n :number_tab_id=\"tableData?.number_tab_id\"\n :is_scavenging=\"tableData?.is_scavenging\"\n :winArray=\"winArray\"\n :bet_amount_msg=\"tableData?.bet_amount_msg\"\n :can_bet_big_small=\"tableData?.can_bet_big_small\"\n :can_bet_luck_six=\"tableData?.can_bet_luck_six\"\n :limit_money=\"tableData?.limit_money\"\n :limit_money_pair=\"tableData?.limit_money_pair\"\n :limit_money_tie=\"tableData?.limit_money_tie\"\n :tableData=\"tableData\"\n :class=\"[\n {\n hideTable:\n tableData &&\n (tableData.sendMode == 'sendScanResult' ||\n tableData.sendMode == 'endBet') &&\n (tableData.game_id == 4 || tableData.game_id == 5)\n }\n ]\"\n ></PlayTable>\n </template>\n <RushVillage\n v-if=\"tableData && tableData.is_rob == 1\"\n :thisData=\"tableData\"\n ></RushVillage>\n </div>\n <!-- 路单 -->\n <div class=\"wayView\" @click.stop=\"closeSwitchView(false)\">\n <PlayWay :tableData=\"tableData\"></PlayWay>\n <Poker\n class=\"pokerView\"\n :thisData=\"tableData\"\n v-if=\"tableData && tableData.is_scavenging == 1\"\n ></Poker>\n <ToningResult\n v-if=\"showToningResult\"\n :result=\"tableData.round && tableData.round.result\"\n :sendMode=\"tableData.sendMode\"\n ></ToningResult>\n <DiceResult\n v-if=\"showDiceResult\"\n :result=\"tableData.round && tableData.round.result\"\n :sendMode=\"tableData.sendMode\"\n ></DiceResult>\n <RouletteResult\n v-if=\"showRouletteResult\"\n :resultInfo=\"tableData.round\"\n :sendMode=\"tableData.sendMode\"\n ></RouletteResult>\n </div>\n <!-- 切换台 -->\n <div class=\"switchView animate__fadeIn animated0\" v-if=\"switchtabshow\">\n <SwitchTab\n @showSwitchtab=\"showSwitchtab\"\n :tabInfo=\"{\n game_id: tableData && tableData.game_id,\n table_id: tableData && tableData.id\n }\"\n ></SwitchTab>\n </div>\n <!-- 切换视频线路 -->\n <div\n class=\"switchView camera animate__fadeIn animated0\"\n v-if=\"switchCameraShow\"\n >\n <setCamera @showSwitchCamera=\"showSwitchCamera\"></setCamera>\n </div>\n </div>\n <!-- 玩法切换 -->\n <PlayTypePop class=\"play-type-pop\"></PlayTypePop>\n <!-- 桌台信息 -->\n <TableInfoPop class=\"table-info-pop\" :tableData=\"tableData\"></TableInfoPop>\n <!-- 在线玩家 -->\n <OnLinePop class=\"online-pop\"></OnLinePop>\n </div>\n</template>\n\n<script>\nimport { ref, computed, watch, nextTick, onUnmounted } from \"vue\"\nimport { useRouter, useRoute } from \"vue-router\"\nimport { useStore } from \"vuex\"\nimport { Circle, showToast, showDialog, closeDialog, closeToast } from \"vant\"\nimport PlayTable from \"@/components/PlayTable/Index.vue\"\nimport PlayWay from \"@/components/PlayWay.vue\"\nimport PlayChip from \"@/components/PlayChip.vue\"\nimport Poker from \"@/components/Poker\"\nimport RushVillage from \"@/components/RushVillage\"\nimport ToningResult from \"@/components/ToningResult\"\nimport DiceResult from \"@/components/DiceResult\"\nimport RouletteResult from \"@/components/RouletteResult\"\nimport SwitchTab from \"@/components/SwitchTab2\"\nimport setCamera from \"@/components/setCamera\"\nimport PlayTypePop from \"@/components/PlayTypePop\"\nimport TableInfoPop from \"@/components/TableInfoPop\"\nimport OnLinePop from \"@/components/OnLinePop\"\nimport { audioMp3 } from \"@/assets/js/sound.js\"\nimport {\n getUserBetBaccarat,\n getUserBetDt,\n getUserBetNn,\n getUserBetTc,\n getUserBetToning,\n getUserBetDice,\n getUserBetRoulette\n} from \"@/utils/api\"\n\nexport default {\n name: \"playView\",\n components: {\n PlayTable,\n PlayWay,\n PlayChip,\n Circle,\n Poker,\n SwitchTab,\n setCamera,\n PlayTypePop,\n TableInfoPop,\n OnLinePop,\n RushVillage,\n ToningResult,\n DiceResult,\n RouletteResult\n },\n setup() {\n const audio = ref(null)\n const videoDom = ref(null)\n const foxVideo = ref({ w: 0, h: 0, mt: 0, ml: 0 })\n const hideVideo = ref(true)\n const table_id = ref(null)\n const chipTable = ref(null)\n const currentRate = ref(0)\n const switchtabshow = ref(false)\n const isSwitchtab = ref(false)\n const switchCameraShow = ref(false)\n const isSwitchCamera = ref(false)\n const showToningResult = ref(false)\n const showDiceResult = ref(false)\n const showRouletteResult = ref(false)\n const winArray = ref([])\n const router = useRouter()\n const route = useRoute()\n const store = useStore()\n const baccaratType = computed(() => store.state.config.baccaratType)\n const rouletteType = computed(() => store.state.config.roulette_type)\n const rouletteLockTable = computed(\n () => store.state.config.rouletteLockTable\n )\n const tableData = computed(() => store.getters.getTableById(table_id.value))\n const circle = computed(() => {\n const data = { num: 0, rate: 0 }\n if (tableData.value) {\n const { count_down, wait_time, sendMode } = tableData.value\n if (!sendMode) {\n data.num = wait_time\n data.rate = (data.num / wait_time) * 100\n } else {\n data.num = count_down || 0\n data.rate = (data.num / wait_time) * 100\n }\n }\n return data\n })\n const Type = computed(() => store.state.config.$Type)\n const Lang = computed(() => store.state.config.$lang)\n const routerStack = computed(() => store.state.app.routerStack)\n const phoneModel = computed(() => store.state.config.phoneModel)\n const phoneScreen = computed(() => store.state.config.phoneScreen)\n const switchVideo = computed(() => store.state.config.switchVideo)\n const videoConfig = computed(() => store.state.config.video)\n const videoUrl = computed(() => {\n let src = \"\",\n media_url = \"\"\n if (tableData.value && videoConfig.value) {\n // line决定使用近景(near)还是远景(far)definition决定使用flv还是ws\n if (videoConfig.value.line == 1) {\n // 使用近景\n if (videoConfig.value.definition == 1) {\n media_url = tableData.value.media_near_flv\n } else {\n media_url = tableData.value.media_near_ws\n }\n } else {\n // 使用远景\n if (videoConfig.value.definition == 1) {\n media_url = tableData.value.media_far_flv\n } else {\n media_url = tableData.value.media_far_ws\n }\n }\n src = `${videoConfig.value.player}?url=${media_url}`\n } else {\n src = `static/video.html?url=${media_url}`\n }\n // const src = `static/video.html?url=https://al2-flv.live.huajiao.com/live_huajiao_h265/_LC_AL2_non_h265_SD_26820950716932293510114149_OX.flv`\n return src\n })\n const closeSwitchView = () => {\n showSwitchtab(false)\n showSwitchCamera(false)\n }\n // 显示快捷换台列表\n const showSwitchtab = (type) => {\n store.commit(\"app/standbyTime\")\n if (type == false) {\n switchtabshow.value = false\n } else {\n switchtabshow.value = true\n }\n }\n // 切换视频线路\n const showSwitchCamera = (type) => {\n store.commit(\"app/standbyTime\")\n // isSwitchCamera.value = type\n if (type == false) {\n switchCameraShow.value = false\n } else {\n switchCameraShow.value = true\n }\n }\n\n const userInfo = computed(() => store.state.app.userInfo)\n // 视频开关\n const offCamera = () => {\n store.commit(\"config/switchVideo\", !switchVideo.value)\n }\n // 显示音乐播放器\n const toggleAplayer = () => {\n store.commit(\"config/showAplayer\")\n }\n\n // 显示隐藏视频\n const toggleVide = () => {\n hideVideo.value = !hideVideo.value\n }\n\n // 获取单台数据\n let getSingletableTimer = null,\n getSingletableNun = 0\n const getSingletable = (id) => {\n getSingletableNun++\n clearTimeout(getSingletableTimer)\n if (tableData.value && tableData.value.id) {\n store.dispatch(\"socket/updateSingletable\", {\n type: \"update\",\n table_id: id\n })\n let num = Math.floor(Math.random() * 6) + 1\n if (num == 4) {\n num = 1\n }\n let name = \"\"\n switch (tableData.value.game_id) {\n case 1:\n name = \"baccarat\"\n break\n case 2:\n name = \"lh\"\n break\n case 3:\n break\n case 4:\n name = \"nn\"\n break\n case 5:\n name = \"tc\"\n break\n case 6:\n name = \"toning\"\n break\n case 7:\n name = \"dice\"\n break\n case 8:\n name = \"lp\"\n break\n }\n audioMp3([`${name}_w_p${num}`]).Play()\n } else {\n if (getSingletableNun < 10) {\n getSingletableTimer = setTimeout(() => {\n getSingletable(id)\n }, 1000)\n }\n }\n }\n const clearChip = (state) => {\n nextTick(() => {\n chipTable.value.resetChip(state)\n })\n }\n const cancelChip = () => {\n nextTick(() => {\n chipTable.value.cancelChip()\n })\n }\n // 显示菜单\n const showMenu = () => {\n store.commit(\"config/showMenu\", true)\n }\n // 显示免佣设置\n const showSetFree = () => {\n store.commit(\"config/showSetFree\")\n }\n // 显示玩法\n const showBaccaratPlayType = () => {\n store.commit(\"config/showBaccaratPlayType\")\n }\n // 显示桌台信息\n const showTableInfo = () => {\n store.commit(\"config/showTableInfo\", true)\n }\n // 显示在线人数\n const showOnLine = () => {\n store.commit(\"config/showOnLine\")\n }\n // 切换轮盘 玩法\n const switchRouletteType = () => {\n if (rouletteLockTable.value) {\n showToast(\"已下注\")\n } else {\n store.commit(\"config/switchRouletteType\")\n }\n }\n\n // 百家乐结果\n const baccaratResult = (data) => {\n store.dispatch(\"socket/getGoodTabData\")\n getwinResult(1)\n let mp3list = [],\n win = [],\n text = \"\"\n mp3list.push(\n \"baccarat_banker\",\n `${data.round.banker}_point`,\n \"baccarat_player\",\n `${data.round.player}_point`\n )\n if (data.round.opening == 1) {\n text = Lang.value[Type.value].msg_banker_win\n win.push(\"banker\")\n mp3list.push(\"baccarat_b_win\")\n } else if (data.round.opening == 2) {\n text = Lang.value[Type.value].msg_player_win\n win.push(\"player\")\n mp3list.push(\"baccarat_p_win\")\n } else if (data.round.opening == 3) {\n text = Lang.value[Type.value].msg_tie_win\n win.push(\"tie\")\n mp3list.push(\"baccarat_tie\")\n }\n // 大小\n if (data.can_bet_big_small == 1) {\n if (data.round.big_small == 1) {\n text = text + \"、\" + Lang.value[Type.value].big\n win.push(\"big\")\n } else if (data.round.big_small == 2) {\n text = text + \"、\" + Lang.value[Type.value].small\n win.push(\"small\")\n }\n }\n\n // 幸运6\n if (data.can_bet_luck_six == 1) {\n if (data.round.luck_six == 2) {\n text = text + \"、\" + Lang.value[Type.value].luckSix + \"X2\"\n win.push(\"luck_six\")\n } else if (data.round.luck_six == 3) {\n text = text + \"、\" + Lang.value[Type.value].luckSix + \"X3\"\n win.push(\"luck_six\")\n }\n }\n // 对子\n if (data.round.pair == 1) {\n text = text + \"、\" + Lang.value[Type.value].msg_banker_pair\n win.push(\"banker_pair\")\n mp3list.push(\"baccarat_b_pair\")\n } else if (data.round.pair == 2) {\n text = text + \"、\" + Lang.value[Type.value].msg_player_pair\n win.push(\"player_pair\")\n mp3list.push(\"baccarat_p_pair\")\n } else if (data.round.pair == 3) {\n text =\n text +\n \"、\" +\n Lang.value[Type.value].msg_banker_pair +\n \"、\" +\n Lang.value[Type.value].msg_player_pair\n win.push(\"banker_pair\", \"player_pair\")\n mp3list.push(\"baccarat_b_pair\", \"baccarat_p_pair\")\n }\n showToast(text)\n winArray.value = win\n audioMp3(mp3list).Play()\n setTimeout(() => {\n winArray.value = []\n clearChip()\n }, 7000)\n }\n // 龙虎结果\n const longhuResult = (data) => {\n getwinResult(2)\n let mp3list = [],\n win = [],\n text = \"\"\n mp3list.push(\n \"lh_dragon\",\n `${data.round.banker}_point`,\n \"lh_tiger\",\n `${data.round.player}_point`\n )\n if (data.round.opening == 1) {\n text = Lang.value[Type.value].msg_dragon_win\n win.push(\"banker\")\n mp3list.push(\"lh_dragon_win\")\n } else if (data.round.opening == 2) {\n text = Lang.value[Type.value].msg_tiger_win\n win.push(\"player\")\n mp3list.push(\"lh_tiger_win\")\n } else if (data.round.opening == 3) {\n text = Lang.value[Type.value].msg_tie_win\n win.push(\"tie\")\n mp3list.push(\"lh_tie\")\n }\n audioMp3(mp3list).Play()\n showToast(text)\n winArray.value = win\n setTimeout(() => {\n winArray.value = []\n clearChip()\n }, 7000)\n }\n\n // 牛牛\n const nnResult = (data) => {\n if (data.game_id == 4) {\n getwinResult(4)\n } else {\n getwinResult(5)\n }\n let mp3list = [],\n win = [],\n text = \"\"\n if (\n data.round.win_player_1 == 0 &&\n data.round.win_player_2 == 0 &&\n data.round.win_player_3 == 0\n ) {\n text = Lang.value[Type.value].msg_banker_win\n mp3list.push(\"nn_banker\")\n win.push(\"player_1_banker\", \"player_2_banker\", \"player_3_banker\")\n win\n } else {\n if (data.round.win_player_1 == 1) {\n text = text + Lang.value[Type.value].player1\n mp3list.push(\"nn_player_1\")\n win.push(\"player_1\")\n } else {\n win.push(\"player_1_banker\")\n }\n if (data.round.win_player_2 == 1) {\n text = text + Lang.value[Type.value].player2\n mp3list.push(\"nn_player_2\")\n win.push(\"player_2\")\n } else {\n win.push(\"player_2_banker\")\n }\n if (data.round.win_player_3 == 1) {\n text = text + Lang.value[Type.value].player3\n mp3list.push(\"nn_player_3\")\n win.push(\"player_3\")\n } else {\n win.push(\"player_3_banker\")\n }\n }\n audioMp3(mp3list).Play()\n showToast(text)\n winArray.value = win\n setTimeout(() => {\n winArray.value = []\n clearChip()\n }, 5000)\n }\n // 色碟\n const toningResult = (data) => {\n const language = Lang.value[Type.value]\n getwinResult(6)\n showToningResult.value = true\n let mp3list = [],\n win = [],\n text = \"\"\n switch (data.round.result) {\n case 0:\n win.push(\"toning_zero\", \"toning_plural\", \"toning_small\")\n mp3list.push(\"toning_4_white\", \"toning_even\", \"toning_small\")\n // text = \"四白,双,小\"\n text = `${language.four} ${language.white}${language.even}${language.small}`\n break\n case 1:\n win.push(\"toning_one\", \"toning_singular\", \"toning_small\")\n mp3list.push(\"toning_3_w_1_r\", \"toning_odd\", \"toning_small\")\n // text = \"三白一红,单,小\"\n text = `${language.three} ${language.white} ${language.one} ${language.red}${language.odd}${language.small}`\n break\n case 2:\n win.push(\"toning_plural\")\n mp3list.push(\"toning_2_w_2_r\", \"toning_even\")\n // text = \"二红二白,双\"\n text = `${language.two} ${language.red} ${language.two} ${language.white}${language.even}`\n break\n case 3:\n win.push(\"toning_three\", \"toning_singular\", \"toning_big\")\n mp3list.push(\"toning_1_w_3_r\", \"toning_odd\", \"toning_big\")\n // text = \"三红一白,单,大\"\n text = `${language.three} ${language.red} ${language.one} ${language.white}${language.odd}${language.big}`\n break\n case 4:\n win.push(\"toning_four\", \"toning_plural\", \"toning_big\")\n mp3list.push(\"toning_4_red\", \"toning_even\", \"toning_big\")\n // text = \"四红,双,大\"\n text = `${language.four} ${language.red}${language.odd}${language.big}`\n break\n }\n audioMp3(mp3list).Play()\n showToast(text)\n winArray.value = win\n setTimeout(() => {\n winArray.value = []\n showToningResult.value = false\n clearChip()\n }, 5000)\n }\n // 骰宝\n const diceResult = (data) => {\n showDiceResult.value = true\n getwinResult(7)\n let mp3list = [],\n text = \"\"\n const result = data.round.result\n const first = parseInt(result[0])\n const second = parseInt(result[1])\n const third = parseInt(result[2])\n mp3list.push(\n `dice_num_${first}`,\n `dice_num_${second}`,\n `dice_num_${third}`\n )\n if (first == second && second == third) {\n text = \"豹子,\"\n mp3list.push(\"dice_any_triple\")\n }\n const totle = first + second + third\n text = `${text}${totle}点`\n mp3list.push(`${totle}_point`)\n\n audioMp3(mp3list).Play()\n showToast(text)\n winArray.value = data.round.result_parse\n setTimeout(() => {\n winArray.value = []\n showDiceResult.value = false\n clearChip()\n }, 5000)\n }\n // 轮盘\n const rouletteResult = (data) => {\n showRouletteResult.value = true\n getwinResult(7)\n let mp3list = [],\n text = \"\"\n const result = data.round.result\n text = result\n mp3list.push(`${result}_point`)\n // console.log(result, mp3list)\n showToast(text)\n winArray.value = data.round.result_parse\n setTimeout(() => {\n winArray.value = []\n showRouletteResult.value = false\n clearChip()\n }, 3000)\n }\n const getwinResult = (game) => {\n let Api = \"\"\n if (game == 1) {\n Api = getUserBetBaccarat\n } else if (game == 2) {\n Api = getUserBetDt\n } else if (game == 4) {\n Api = getUserBetNn\n } else if (game == 5) {\n Api = getUserBetTc\n } else if (game == 6) {\n Api = getUserBetToning\n } else if (game == 7) {\n Api = getUserBetDice\n } else if (game == 8) {\n Api = getUserBetRoulette\n }\n const params = {\n user_id: userInfo.value.id,\n api_token: userInfo.value.api_token,\n number_tab_id: tableData.value?.previous_number_tab_id,\n table_id: tableData.value.id\n }\n Api(params)\n .then((response) => {\n setTimeout(() => {\n if (response.Success == 1) {\n const data = response.Data\n // console.log(\"输赢金额\", data)\n if (\n game == 4 ||\n game == 5 ||\n game == 6 ||\n game == 7 ||\n game == 8\n ) {\n showDialog({\n allowHtml: true,\n title: Lang.value[Type.value].msg_win_lose,\n message:\n '<div class=\"item title\"><span>' +\n Lang.value[Type.value].msg_bet_total +\n \"</span><span>\" +\n Lang.value[Type.value].msg_win_lose +\n \"</span><span>\" +\n Lang.value[Type.value].msg_balance +\n \"</span></div>\" +\n '<div class=\"item\"><span>' +\n data.amount +\n \"</span><span>\" +\n returnFloat(data.win_total) +\n \"</span><span>\" +\n data.end_money +\n \"</span></div>\",\n className: \"alert\",\n confirmButtonText: Lang.value[Type.value].Confirm\n })\n } else {\n popResult(data)\n }\n } else {\n // console.log(response)\n }\n tableData.value.sendMode = \"\"\n }, 3500)\n })\n .catch((error) => {\n console.log(error)\n })\n }\n const popResult = (data) => {\n let html = \"\"\n let text = \"\"\n data.returnData.forEach((v) => {\n if (v.amount > 0) {\n if (v.win_amount > 0) {\n text = Lang.value[Type.value].win\n } else if (v.win_amount < 0) {\n text = Lang.value[Type.value].lose\n } else {\n text = Lang.value[Type.value].tie\n }\n html =\n html +\n '<div class=\"item\"><span>' +\n v.name +\n \"</span><span>\" +\n v.amount +\n \"</span><span>\" +\n text +\n \"</span><span>\" +\n v.win_amount +\n \"</span></div>\"\n }\n })\n\n html =\n '<div class=\"item title\"><span>' +\n Lang.value[Type.value].bet_type +\n \"</span><span>\" +\n Lang.value[Type.value].bet_amount +\n \"</span><span>\" +\n Lang.value[Type.value].note_result +\n \"</span><span>\" +\n Lang.value[Type.value].note_win_lose +\n \"</span></div>\" +\n html\n showDialog({\n allowHtml: true,\n title:\n Lang.value[Type.value].msg_win_lose +\n \"\" +\n returnFloat(data.win_total),\n message: html,\n className: \"alert\",\n confirmButtonText: Lang.value[Type.value].Confirm\n })\n }\n const returnFloat = (num) => {\n let value = Math.round(parseFloat(num) * 100) / 100\n let xsd = value.toString().split(\".\")\n if (xsd.length == 1) {\n value = value.toString() + \".00\"\n return value\n }\n if (xsd.length > 1) {\n if (xsd[1].length < 2) {\n value = value.toString() + \"0\"\n }\n return value\n }\n }\n const foxVideoFn = () => {\n nextTick(() => {\n const h = videoDom.value.clientHeight * videoConfig.value.scale\n const w =\n (videoConfig.value.proportion[0] / videoConfig.value.proportion[1]) *\n h\n const mt = 0\n foxVideo.value.w = `${w}px`\n foxVideo.value.h = `${h}px`\n foxVideo.value.mt = `${mt}px`\n foxVideo.value.model = phoneModel.value\n foxVideo.value.screen = phoneScreen.value\n if (phoneModel.value == \"ios\") {\n foxVideo.value.w = `100%`\n if (phoneScreen.value == \"landscape\") {\n foxVideo.value.mt = videoConfig.value.offset.iosLandscape\n } else {\n foxVideo.value.mt = videoConfig.value.offset.iosPortrait\n }\n } else if (phoneModel.value == \"android\") {\n foxVideo.value.w = `100%`\n foxVideo.value.mt = videoConfig.value.offset.android\n } else {\n foxVideo.value.w = `100%`\n foxVideo.value.mt = videoConfig.value.offset.pc\n }\n })\n }\n // 牛牛点数声音\n const playNNsound = (data) => {\n const position = parseInt(data.round.order_num)\n if (data.game_id == 4) {\n if ([15, 25, 35, 45].includes(position)) {\n soundType(data.round.result)\n } else {\n audioMp3([\"show_card\"]).Play()\n }\n } else if (data.game_id == 5) {\n if ([13, 23, 33, 43].includes(position)) {\n soundType(data.round.result)\n } else {\n audioMp3([\"show_card\"]).Play()\n }\n }\n function soundType(result) {\n let name = \"\"\n switch (result) {\n case \"无牛\":\n case \"N0\":\n name = \"no_bull\"\n break\n case \"牛1\":\n case \"N1\":\n name = \"bull_1\"\n break\n case \"牛2\":\n case \"N2\":\n name = \"bull_2\"\n break\n case \"牛3\":\n case \"N3\":\n name = \"bull_3\"\n break\n case \"牛4\":\n case \"N4\":\n name = \"bull_4\"\n break\n case \"牛5\":\n case \"N5\":\n name = \"bull_5\"\n break\n case \"牛6\":\n case \"N6\":\n name = \"bull_6\"\n break\n case \"牛7\":\n case \"N7\":\n name = \"bull_7\"\n break\n case \"牛8\":\n case \"N8\":\n name = \"bull_8\"\n break\n case \"牛9\":\n case \"N9\":\n name = \"bull_9\"\n break\n case \"牛牛\":\n case \"NN\":\n name = \"bull_bull\"\n break\n case \"五公\":\n name = \"five_pictur_bull\"\n break\n case \"豹子\":\n name = \"any_triple\"\n break\n case \"同花顺\":\n name = \"straight_flush\"\n break\n case \"皇家同花順\":\n name = \"royal_flush\"\n break\n }\n audioMp3([`${data.game_id == 4 ? \"nn\" : \"tc\"}_${name}`]).Play()\n }\n }\n // 离开销毁\n onUnmounted(() => {\n closeDialog()\n closeToast()\n audioMp3().Pause()\n })\n // 监听机型和横竖屏\n watch(\n () => [phoneModel, phoneScreen],\n () => {\n foxVideoFn()\n },\n { immediate: true, deep: true }\n )\n // switchVideo\n watch(\n () => [switchVideo.value],\n ([state]) => {\n if (state == false) {\n hideVideo.value = true\n }\n },\n { immediate: true, deep: true }\n )\n // 监听路由切换\n watch(\n () => [route.query],\n ([query]) => {\n winArray.value = []\n table_id.value = query.id\n getSingletable(query.id)\n const { game_id = 1 } = tableData.value\n store.commit(\"app/updateGameId\", game_id)\n },\n { immediate: true, deep: true }\n )\n watch(\n () => [tableData.value],\n ([data]) => {\n const sendMode = (data && data.sendMode) || null\n switch (sendMode) {\n case \"startBet\": //开始游戏\n if (data.game_id == 6) {\n showToningResult.value = false\n }\n if (data.game_id == 7) {\n hideVideo.value = true\n }\n if (data.game_id == 8) {\n hideVideo.value = true\n store.commit(\"config/rouletteLockTable\", false)\n }\n closeDialog()\n showToast(Lang.value[Type.value].msg_start_bet)\n if (data.game_id != 5) {\n audioMp3([\"start_betting\"]).Play()\n } else {\n audioMp3([\"tc_banker_stop\", \"start_betting\"]).Play()\n }\n break\n case \"startRob\": //开始抢庄\n showToast(Lang.value[Type.value].msg_accept_grab)\n audioMp3([\"tc_start_banker\"]).Play()\n break\n case \"toRobResult\": //抢庄后通知\n if (data.RobMsg.rob_banker_id == userInfo.value.id) {\n audioMp3([\"tc_banker_success\"]).Play()\n }\n break\n case \"startRobCountDown\":\n break\n case \"startBetCountDown\": //倒计时\n if (data.count_down == 10) {\n audioMp3([\"last_10_seconds\"]).Play()\n } else if (data.count_down < 9) {\n audioMp3([\"time\"]).Play()\n }\n break\n case \"toBet\":\n showToast({\n message: Lang.value[Type.value].msg_bet_success,\n position: \"top\"\n })\n if (data.game_id == 8) {\n store.commit(\"config/rouletteLockTable\", true)\n }\n break\n case \"toBetFlase\":\n audioMp3([\"alert\"]).Play()\n cancelChip()\n break\n case \"sendScanResult\":\n if (data.game_id == 1) {\n const position = parseInt(data.round.position)\n if (position == 23) {\n audioMp3([\"baccarat_b_draw\"]).Play()\n } else if (position == 13) {\n audioMp3([\"baccarat_p_draw\"]).Play()\n } else {\n audioMp3([\"show_card\"]).Play()\n }\n } else if (data.game_id == 2) {\n audioMp3([\"show_card\"]).Play()\n } else if (data.game_id == 4 || data.game_id == 5) {\n playNNsound(data)\n } else {\n audioMp3([\"show_card\"]).Play()\n }\n\n break\n case \"cancelBet\":\n showToast(Lang.value[Type.value].msg_cancel_success)\n break\n case \"endBet\":\n if (data.game_id == 6) {\n showToningResult.value = true\n } else if (data.game_id == 7) {\n showDiceResult.value = true\n } else if (data.game_id == 8) {\n showRouletteResult.value = true\n }\n if (\n (data.game_id == 7 || data.game_id == 8) &&\n switchVideo.value == true\n ) {\n hideVideo.value = false\n }\n showToast(Lang.value[Type.value].endBet)\n audioMp3([\"stop_betting\"]).Play()\n break\n case \"openingBaccaratResult\":\n baccaratResult(data)\n break\n case \"openingDtResult\":\n longhuResult(data)\n break\n case \"openingNnResult\":\n nnResult(data)\n break\n case \"openingTcResult\":\n nnResult(data)\n break\n case \"openingToningResult\":\n toningResult(data)\n break\n case \"openingDiceResult\":\n diceResult(data)\n if (data.game_id == 7) {\n hideVideo.value = true\n }\n break\n case \"openingRouletteResult\":\n rouletteResult(data)\n if (data.game_id == 8) {\n hideVideo.value = true\n }\n break\n case \"retreated\":\n break\n case \"changeBoot\":\n showToast(Lang.value[Type.value].changeBoot)\n clearChip()\n break\n case \"resetBoot\":\n showToast(Lang.value[Type.value].resetBoot)\n clearChip()\n break\n case \"resetNumberTab\":\n showToast(Lang.value[Type.value].msg_council)\n clearChip()\n break\n }\n },\n { immediate: true, deep: true }\n )\n return {\n Type,\n audio,\n videoConfig,\n hideVideo,\n userInfo,\n tableData,\n switchVideo,\n router,\n circle,\n currentRate,\n switchtabshow,\n isSwitchtab,\n switchCameraShow,\n isSwitchCamera,\n chipTable,\n baccaratType,\n rouletteType,\n foxVideo,\n videoDom,\n phoneModel,\n routerStack,\n winArray,\n showToningResult,\n showDiceResult,\n showRouletteResult,\n showSwitchtab,\n showSwitchCamera,\n offCamera,\n toggleAplayer,\n clearChip,\n cancelChip,\n showMenu,\n showSetFree,\n showBaccaratPlayType,\n showTableInfo,\n showOnLine,\n closeSwitchView,\n toggleVide,\n switchRouletteType,\n videoUrl\n }\n }\n}\n</script>\n<style lang=\"scss\" scoped>\n/* 深色豪华主题配色 */\n$dark-bg: #0d0d0d;\n$dark-bg-secondary: #1a1a1a;\n$card-bg: #1e1e1e;\n$border-color: #333;\n$gold: #c5a059;\n\n.play {\n width: 100%;\n height: 100%;\n background: $dark-bg;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n box-sizing: border-box;\n\n &.offcamera {\n background: $dark-bg;\n &::after {\n display: none;\n }\n }\n &.no_bg {\n background: $dark-bg;\n &::after {\n display: none;\n }\n }\n .nav {\n position: absolute;\n z-index: 10;\n left: 0;\n top: 0;\n width: 100%;\n min-height: 45px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n transform: rotateX(0deg);\n background: $dark-bg-secondary;\n border-bottom: 1px solid $border-color;\n .left {\n height: 0.923rem;\n display: flex;\n align-items: center;\n .back {\n width: 0.923rem;\n height: 0.923rem;\n background: url(\"~@/assets/images/icon/back_white.png\") center center\n no-repeat;\n background-size: 50% auto;\n margin-left: 0.6rem;\n &:active {\n opacity: 0.5;\n }\n }\n .user {\n font-size: 13px;\n font-weight: 600;\n line-height: 1;\n margin-left: 10px;\n .name {\n color: #fff;\n padding-left: 20px;\n margin-top: 3px;\n background: url(\"~@/assets/images/icon/user.png\") left center\n no-repeat;\n background-size: 14px;\n }\n .money {\n color: $gold;\n padding-left: 20px;\n margin-top: 3px;\n background: url(\"~@/assets/images/icon/money.png\") left center\n no-repeat;\n background-size: 14px;\n }\n }\n }\n .right {\n margin-right: 0.7rem;\n display: flex;\n align-items: center;\n .cutdown {\n position: absolute;\n left: 50%;\n top: 0.15rem;\n margin-left: 2rem;\n ::v-deep {\n .van-circle__text {\n color: #fff;\n }\n }\n }\n .box {\n display: flex;\n .btn {\n width: 0.923rem;\n height: 0.7rem;\n padding: 0.2rem 0.1rem;\n margin-left: 0.677rem;\n background-size: 1.2rem;\n background-position: center center;\n background-repeat: no-repeat;\n &:active {\n opacity: 0.5;\n }\n &.camera {\n background-image: url(\"~@/assets/images/icon/camera.png\");\n &.off {\n background-image: url(\"~@/assets/images/icon/camera_off.png\");\n }\n }\n &.muise {\n background-image: url(\"~@/assets/images/icon/musie.png\");\n }\n &.menu {\n background-image: url(\"~@/assets/images/icon/meun.png\");\n }\n }\n }\n }\n }\n .view {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n align-items: center;\n .video {\n width: 100%;\n // height: 100%;\n position: relative;\n overflow: hidden;\n flex: 1;\n .left-btn {\n position: absolute;\n left: 0.6rem;\n bottom: 0.5rem;\n width: 1rem;\n z-index: 9;\n transform: rotateX(0deg);\n .dice-btn,\n .roulette-btn {\n width: 1.5rem;\n margin-bottom: 3rem;\n .img-btn {\n width: 100%;\n &:active {\n opacity: 0.5;\n }\n }\n }\n .roulette-btn {\n margin-bottom: 1rem;\n }\n\n .btn {\n width: 1.3rem;\n height: 1.3rem;\n margin-bottom: 0.553rem;\n background-size: 100%;\n background-position: center center;\n background-repeat: no-repeat;\n &:active {\n opacity: 0.5;\n }\n &.switch {\n background-image: url(\"~@/assets/images/icon/switch.png\");\n }\n &.free {\n background-image: url(\"~@/assets/images/icon/free.png\");\n &.active {\n background-image: url(\"~@/assets/images/icon/free_active.png\");\n }\n &.en {\n background-image: url(\"~@/assets/images/icon/en_free.png\");\n &.active {\n background-image: url(\"~@/assets/images/icon/en_free_active.png\");\n }\n }\n }\n &.tip {\n background-image: url(\"~@/assets/images/icon/tip.png\");\n }\n &.people {\n background-image: url(\"~@/assets/images/icon/people.png\");\n }\n }\n }\n .right-btn {\n position: absolute;\n right: 2.7rem;\n top: 1.5rem;\n width: 0.923rem;\n z-index: 9;\n transform: rotateX(0deg);\n .btn {\n width: 1.2rem;\n height: 1.2rem;\n margin-bottom: 0.4rem;\n background-size: 100%;\n background-position: center center;\n background-repeat: no-repeat;\n &:active {\n opacity: 0.5;\n }\n &.switch-tab {\n background-image: url(\"~@/assets/images/icon/switch_tab.png\");\n }\n &.continue {\n background-image: url(\"~@/assets/images/icon/continue.png\");\n }\n }\n }\n .dice-table {\n background: #3d3272;\n transform: rotateX(1deg);\n }\n .hideTable {\n display: none;\n }\n .iframe {\n border: none;\n width: 100%;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n z-index: 1;\n transition: all 2s, left 0s, top 0s, width 0s, height 0s;\n pointer-events: none;\n &.scale {\n transition-delay: 2s;\n transform: translateY(-70%) scale(2);\n }\n &.hideVideo {\n display: none;\n }\n }\n }\n }\n .wayView {\n position: relative;\n width: 100%;\n height: 2.31rem;\n background: #fff;\n // overflow: hidden;\n .pokerView {\n position: absolute;\n width: 100%;\n height: 100%;\n bottom: 0;\n left: 0;\n pointer-events: none;\n }\n }\n .switchView {\n position: absolute;\n width: 60%;\n height: 100%;\n bottom: 0;\n right: 0;\n z-index: 10001;\n transform: rotateX(0deg);\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n overflow: hidden;\n &.camera {\n width: 40%;\n }\n }\n}\n</style>\n"],"mappings":";AAuQA,SAASA,GAAG,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,WAAU,QAAS,KAAI;AAChE,SAASC,SAAS,EAAEC,QAAO,QAAS,YAAW;AAC/C,SAASC,QAAO,QAAS,MAAK;AAC9B,SAASC,MAAM,EAAEC,SAAS,EAAEC,UAAU,EAAEC,WAAW,EAAEC,UAAS,QAAS,MAAK;AAC5E,OAAOC,SAAQ,MAAO,kCAAiC;AACvD,OAAOC,OAAM,MAAO,0BAAyB;AAC7C,OAAOC,QAAO,MAAO,2BAA0B;AAC/C,OAAOC,KAAI,MAAO,oBAAmB;AACrC,OAAOC,WAAU,MAAO,0BAAyB;AACjD,OAAOC,YAAW,MAAO,2BAA0B;AACnD,OAAOC,UAAS,MAAO,yBAAwB;AAC/C,OAAOC,cAAa,MAAO,6BAA4B;AACvD,OAAOC,SAAQ,MAAO,yBAAwB;AAC9C,OAAOC,SAAQ,MAAO,wBAAuB;AAC7C,OAAOC,WAAU,MAAO,0BAAyB;AACjD,OAAOC,YAAW,MAAO,2BAA0B;AACnD,OAAOC,SAAQ,MAAO,wBAAuB;AAC7C,SAASC,QAAO,QAAS,sBAAqB;AAC9C,SACEC,kBAAkB,EAClBC,YAAY,EACZC,YAAY,EACZC,YAAY,EACZC,gBAAgB,EAChBC,cAAc,EACdC,kBAAiB,QACZ,aAAY;AAEnB,eAAe;EACbC,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE;IACVtB,SAAS;IACTC,OAAO;IACPC,QAAQ;IACRP,MAAM;IACNQ,KAAK;IACLK,SAAS;IACTC,SAAS;IACTC,WAAW;IACXC,YAAY;IACZC,SAAS;IACTR,WAAW;IACXC,YAAY;IACZC,UAAU;IACVC;EACF,CAAC;EACDgB,KAAKA,CAAA,EAAG;IACN,MAAMC,KAAI,GAAIrC,GAAG,CAAC,IAAI;IACtB,MAAMsC,QAAO,GAAItC,GAAG,CAAC,IAAI;IACzB,MAAMuC,QAAO,GAAIvC,GAAG,CAAC;MAAEwC,CAAC,EAAE,CAAC;MAAEC,CAAC,EAAE,CAAC;MAAEC,EAAE,EAAE,CAAC;MAAEC,EAAE,EAAE;IAAE,CAAC;IACjD,MAAMC,SAAQ,GAAI5C,GAAG,CAAC,IAAI;IAC1B,MAAM6C,QAAO,GAAI7C,GAAG,CAAC,IAAI;IACzB,MAAM8C,SAAQ,GAAI9C,GAAG,CAAC,IAAI;IAC1B,MAAM+C,WAAU,GAAI/C,GAAG,CAAC,CAAC;IACzB,MAAMgD,aAAY,GAAIhD,GAAG,CAAC,KAAK;IAC/B,MAAMiD,WAAU,GAAIjD,GAAG,CAAC,KAAK;IAC7B,MAAMkD,gBAAe,GAAIlD,GAAG,CAAC,KAAK;IAClC,MAAMmD,cAAa,GAAInD,GAAG,CAAC,KAAK;IAChC,MAAMoD,gBAAe,GAAIpD,GAAG,CAAC,KAAK;IAClC,MAAMqD,cAAa,GAAIrD,GAAG,CAAC,KAAK;IAChC,MAAMsD,kBAAiB,GAAItD,GAAG,CAAC,KAAK;IACpC,MAAMuD,QAAO,GAAIvD,GAAG,CAAC,EAAE;IACvB,MAAMwD,MAAK,GAAInD,SAAS,EAAC;IACzB,MAAMoD,KAAI,GAAInD,QAAQ,EAAC;IACvB,MAAMoD,KAAI,GAAInD,QAAQ,EAAC;IACvB,MAAMoD,YAAW,GAAI1D,QAAQ,CAAC,MAAMyD,KAAK,CAACE,KAAK,CAACC,MAAM,CAACF,YAAY;IACnE,MAAMG,YAAW,GAAI7D,QAAQ,CAAC,MAAMyD,KAAK,CAACE,KAAK,CAACC,MAAM,CAACE,aAAa;IACpE,MAAMC,iBAAgB,GAAI/D,QAAQ,CAChC,MAAMyD,KAAK,CAACE,KAAK,CAACC,MAAM,CAACG,iBAAgB,CAC3C;IACA,MAAMC,SAAQ,GAAIhE,QAAQ,CAAC,MAAMyD,KAAK,CAACQ,OAAO,CAACC,YAAY,CAACtB,QAAQ,CAACuB,KAAK,CAAC;IAC3E,MAAMC,MAAK,GAAIpE,QAAQ,CAAC,MAAM;MAC5B,MAAMqE,IAAG,GAAI;QAAEC,GAAG,EAAE,CAAC;QAAEC,IAAI,EAAE;MAAE;MAC/B,IAAIP,SAAS,CAACG,KAAK,EAAE;QACnB,MAAM;UAAEK,UAAU;UAAEC,SAAS;UAAEC;QAAS,IAAIV,SAAS,CAACG,KAAI;QAC1D,IAAI,CAACO,QAAQ,EAAE;UACbL,IAAI,CAACC,GAAE,GAAIG,SAAQ;UACnBJ,IAAI,CAACE,IAAG,GAAKF,IAAI,CAACC,GAAE,GAAIG,SAAS,GAAI,GAAE;QACzC,OAAO;UACLJ,IAAI,CAACC,GAAE,GAAIE,UAAS,IAAK;UACzBH,IAAI,CAACE,IAAG,GAAKF,IAAI,CAACC,GAAE,GAAIG,SAAS,GAAI,GAAE;QACzC;MACF;MACA,OAAOJ,IAAG;IACZ,CAAC;IACD,MAAMM,IAAG,GAAI3E,QAAQ,CAAC,MAAMyD,KAAK,CAACE,KAAK,CAACC,MAAM,CAACgB,KAAK;IACpD,MAAMC,IAAG,GAAI7E,QAAQ,CAAC,MAAMyD,KAAK,CAACE,KAAK,CAACC,MAAM,CAACkB,KAAK;IACpD,MAAMC,WAAU,GAAI/E,QAAQ,CAAC,MAAMyD,KAAK,CAACE,KAAK,CAACqB,GAAG,CAACD,WAAW;IAC9D,MAAME,UAAS,GAAIjF,QAAQ,CAAC,MAAMyD,KAAK,CAACE,KAAK,CAACC,MAAM,CAACqB,UAAU;IAC/D,MAAMC,WAAU,GAAIlF,QAAQ,CAAC,MAAMyD,KAAK,CAACE,KAAK,CAACC,MAAM,CAACsB,WAAW;IACjE,MAAMC,WAAU,GAAInF,QAAQ,CAAC,MAAMyD,KAAK,CAACE,KAAK,CAACC,MAAM,CAACuB,WAAW;IACjE,MAAMC,WAAU,GAAIpF,QAAQ,CAAC,MAAMyD,KAAK,CAACE,KAAK,CAACC,MAAM,CAACyB,KAAK;IAC3D,MAAMC,QAAO,GAAItF,QAAQ,CAAC,MAAM;MAC9B,IAAIuF,GAAE,GAAI,EAAE;QACVC,SAAQ,GAAI,EAAC;MACf,IAAIxB,SAAS,CAACG,KAAI,IAAKiB,WAAW,CAACjB,KAAK,EAAE;QACxC;QACA,IAAIiB,WAAW,CAACjB,KAAK,CAACsB,IAAG,IAAK,CAAC,EAAE;UAC/B;UACA,IAAIL,WAAW,CAACjB,KAAK,CAACuB,UAAS,IAAK,CAAC,EAAE;YACrCF,SAAQ,GAAIxB,SAAS,CAACG,KAAK,CAACwB,cAAa;UAC3C,OAAO;YACLH,SAAQ,GAAIxB,SAAS,CAACG,KAAK,CAACyB,aAAY;UAC1C;QACF,OAAO;UACL;UACA,IAAIR,WAAW,CAACjB,KAAK,CAACuB,UAAS,IAAK,CAAC,EAAE;YACrCF,SAAQ,GAAIxB,SAAS,CAACG,KAAK,CAAC0B,aAAY;UAC1C,OAAO;YACLL,SAAQ,GAAIxB,SAAS,CAACG,KAAK,CAAC2B,YAAW;UACzC;QACF;QACAP,GAAE,GAAK,GAAEH,WAAW,CAACjB,KAAK,CAAC4B,MAAO,QAAOP,SAAU;MACrD,OAAO;QACLD,GAAE,GAAK,yBAAwBC,SAAU;MAC3C;MACA;MACA,OAAOD,GAAE;IACX,CAAC;IACD,MAAMS,eAAc,GAAIA,CAAA,KAAM;MAC5BC,aAAa,CAAC,KAAK;MACnBC,gBAAgB,CAAC,KAAK;IACxB;IACA;IACA,MAAMD,aAAY,GAAKE,IAAI,IAAK;MAC9B1C,KAAK,CAAC2C,MAAM,CAAC,iBAAiB;MAC9B,IAAID,IAAG,IAAK,KAAK,EAAE;QACjBpD,aAAa,CAACoB,KAAI,GAAI,KAAI;MAC5B,OAAO;QACLpB,aAAa,CAACoB,KAAI,GAAI,IAAG;MAC3B;IACF;IACA;IACA,MAAM+B,gBAAe,GAAKC,IAAI,IAAK;MACjC1C,KAAK,CAAC2C,MAAM,CAAC,iBAAiB;MAC9B;MACA,IAAID,IAAG,IAAK,KAAK,EAAE;QACjBlD,gBAAgB,CAACkB,KAAI,GAAI,KAAI;MAC/B,OAAO;QACLlB,gBAAgB,CAACkB,KAAI,GAAI,IAAG;MAC9B;IACF;IAEA,MAAMkC,QAAO,GAAIrG,QAAQ,CAAC,MAAMyD,KAAK,CAACE,KAAK,CAACqB,GAAG,CAACqB,QAAQ;IACxD;IACA,MAAMC,SAAQ,GAAIA,CAAA,KAAM;MACtB7C,KAAK,CAAC2C,MAAM,CAAC,oBAAoB,EAAE,CAACjB,WAAW,CAAChB,KAAK;IACvD;IACA;IACA,MAAMoC,aAAY,GAAIA,CAAA,KAAM;MAC1B9C,KAAK,CAAC2C,MAAM,CAAC,oBAAoB;IACnC;;IAEA;IACA,MAAMI,UAAS,GAAIA,CAAA,KAAM;MACvB7D,SAAS,CAACwB,KAAI,GAAI,CAACxB,SAAS,CAACwB,KAAI;IACnC;;IAEA;IACA,IAAIsC,mBAAkB,GAAI,IAAI;MAC5BC,iBAAgB,GAAI;IACtB,MAAMC,cAAa,GAAKC,EAAE,IAAK;MAC7BF,iBAAiB,EAAC;MAClBG,YAAY,CAACJ,mBAAmB;MAChC,IAAIzC,SAAS,CAACG,KAAI,IAAKH,SAAS,CAACG,KAAK,CAACyC,EAAE,EAAE;QACzCnD,KAAK,CAACqD,QAAQ,CAAC,0BAA0B,EAAE;UACzCX,IAAI,EAAE,QAAQ;UACdvD,QAAQ,EAAEgE;QACZ,CAAC;QACD,IAAItC,GAAE,GAAIyC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAC,GAAI,CAAC,IAAI;QAC1C,IAAI3C,GAAE,IAAK,CAAC,EAAE;UACZA,GAAE,GAAI;QACR;QACA,IAAIrC,IAAG,GAAI,EAAC;QACZ,QAAQ+B,SAAS,CAACG,KAAK,CAAC+C,OAAO;UAC7B,KAAK,CAAC;YACJjF,IAAG,GAAI,UAAS;YAChB;UACF,KAAK,CAAC;YACJA,IAAG,GAAI,IAAG;YACV;UACF,KAAK,CAAC;YACJ;UACF,KAAK,CAAC;YACJA,IAAG,GAAI,IAAG;YACV;UACF,KAAK,CAAC;YACJA,IAAG,GAAI,IAAG;YACV;UACF,KAAK,CAAC;YACJA,IAAG,GAAI,QAAO;YACd;UACF,KAAK,CAAC;YACJA,IAAG,GAAI,MAAK;YACZ;UACF,KAAK,CAAC;YACJA,IAAG,GAAI,IAAG;YACV;QAAI;QAERR,QAAQ,CAAC,CAAE,GAAEQ,IAAK,OAAMqC,GAAI,EAAC,CAAC,CAAC,CAAC6C,IAAI,EAAC;MACvC,OAAO;QACL,IAAIT,iBAAgB,GAAI,EAAE,EAAE;UAC1BD,mBAAkB,GAAIW,UAAU,CAAC,MAAM;YACrCT,cAAc,CAACC,EAAE;UACnB,CAAC,EAAE,IAAI;QACT;MACF;IACF;IACA,MAAMS,SAAQ,GAAK1D,KAAK,IAAK;MAC3BzD,QAAQ,CAAC,MAAM;QACb2C,SAAS,CAACsB,KAAK,CAACmD,SAAS,CAAC3D,KAAK;MACjC,CAAC;IACH;IACA,MAAM4D,UAAS,GAAIA,CAAA,KAAM;MACvBrH,QAAQ,CAAC,MAAM;QACb2C,SAAS,CAACsB,KAAK,CAACoD,UAAU,EAAC;MAC7B,CAAC;IACH;IACA;IACA,MAAMC,QAAO,GAAIA,CAAA,KAAM;MACrB/D,KAAK,CAAC2C,MAAM,CAAC,iBAAiB,EAAE,IAAI;IACtC;IACA;IACA,MAAMqB,WAAU,GAAIA,CAAA,KAAM;MACxBhE,KAAK,CAAC2C,MAAM,CAAC,oBAAoB;IACnC;IACA;IACA,MAAMsB,oBAAmB,GAAIA,CAAA,KAAM;MACjCjE,KAAK,CAAC2C,MAAM,CAAC,6BAA6B;IAC5C;IACA;IACA,MAAMuB,aAAY,GAAIA,CAAA,KAAM;MAC1BlE,KAAK,CAAC2C,MAAM,CAAC,sBAAsB,EAAE,IAAI;IAC3C;IACA;IACA,MAAMwB,UAAS,GAAIA,CAAA,KAAM;MACvBnE,KAAK,CAAC2C,MAAM,CAAC,mBAAmB;IAClC;IACA;IACA,MAAMyB,kBAAiB,GAAIA,CAAA,KAAM;MAC/B,IAAI9D,iBAAiB,CAACI,KAAK,EAAE;QAC3B3D,SAAS,CAAC,KAAK;MACjB,OAAO;QACLiD,KAAK,CAAC2C,MAAM,CAAC,2BAA2B;MAC1C;IACF;;IAEA;IACA,MAAM0B,cAAa,GAAKzD,IAAI,IAAK;MAC/BZ,KAAK,CAACqD,QAAQ,CAAC,uBAAuB;MACtCiB,YAAY,CAAC,CAAC;MACd,IAAIC,OAAM,GAAI,EAAE;QACdC,GAAE,GAAI,EAAE;QACRC,IAAG,GAAI,EAAC;MACVF,OAAO,CAACG,IAAI,CACV,iBAAiB,EAChB,GAAE9D,IAAI,CAAC+D,KAAK,CAACC,MAAO,QAAO,EAC5B,iBAAiB,EAChB,GAAEhE,IAAI,CAAC+D,KAAK,CAACrC,MAAO,QAAM,CAC7B;MACA,IAAI1B,IAAI,CAAC+D,KAAK,CAACE,OAAM,IAAK,CAAC,EAAE;QAC3BJ,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACoE,cAAa;QAC3CN,GAAG,CAACE,IAAI,CAAC,QAAQ;QACjBH,OAAO,CAACG,IAAI,CAAC,gBAAgB;MAC/B,OAAO,IAAI9D,IAAI,CAAC+D,KAAK,CAACE,OAAM,IAAK,CAAC,EAAE;QAClCJ,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACqE,cAAa;QAC3CP,GAAG,CAACE,IAAI,CAAC,QAAQ;QACjBH,OAAO,CAACG,IAAI,CAAC,gBAAgB;MAC/B,OAAO,IAAI9D,IAAI,CAAC+D,KAAK,CAACE,OAAM,IAAK,CAAC,EAAE;QAClCJ,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACsE,WAAU;QACxCR,GAAG,CAACE,IAAI,CAAC,KAAK;QACdH,OAAO,CAACG,IAAI,CAAC,cAAc;MAC7B;MACA;MACA,IAAI9D,IAAI,CAACqE,iBAAgB,IAAK,CAAC,EAAE;QAC/B,IAAIrE,IAAI,CAAC+D,KAAK,CAACO,SAAQ,IAAK,CAAC,EAAE;UAC7BT,IAAG,GAAIA,IAAG,GAAI,GAAE,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACyE,GAAE;UAC7CX,GAAG,CAACE,IAAI,CAAC,KAAK;QAChB,OAAO,IAAI9D,IAAI,CAAC+D,KAAK,CAACO,SAAQ,IAAK,CAAC,EAAE;UACpCT,IAAG,GAAIA,IAAG,GAAI,GAAE,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC0E,KAAI;UAC/CZ,GAAG,CAACE,IAAI,CAAC,OAAO;QAClB;MACF;;MAEA;MACA,IAAI9D,IAAI,CAACyE,gBAAe,IAAK,CAAC,EAAE;QAC9B,IAAIzE,IAAI,CAAC+D,KAAK,CAACW,QAAO,IAAK,CAAC,EAAE;UAC5Bb,IAAG,GAAIA,IAAG,GAAI,GAAE,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC6E,OAAM,GAAI,IAAG;UACxDf,GAAG,CAACE,IAAI,CAAC,UAAU;QACrB,OAAO,IAAI9D,IAAI,CAAC+D,KAAK,CAACW,QAAO,IAAK,CAAC,EAAE;UACnCb,IAAG,GAAIA,IAAG,GAAI,GAAE,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC6E,OAAM,GAAI,IAAG;UACxDf,GAAG,CAACE,IAAI,CAAC,UAAU;QACrB;MACF;MACA;MACA,IAAI9D,IAAI,CAAC+D,KAAK,CAACa,IAAG,IAAK,CAAC,EAAE;QACxBf,IAAG,GAAIA,IAAG,GAAI,GAAE,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC+E,eAAc;QACzDjB,GAAG,CAACE,IAAI,CAAC,aAAa;QACtBH,OAAO,CAACG,IAAI,CAAC,iBAAiB;MAChC,OAAO,IAAI9D,IAAI,CAAC+D,KAAK,CAACa,IAAG,IAAK,CAAC,EAAE;QAC/Bf,IAAG,GAAIA,IAAG,GAAI,GAAE,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACgF,eAAc;QACzDlB,GAAG,CAACE,IAAI,CAAC,aAAa;QACtBH,OAAO,CAACG,IAAI,CAAC,iBAAiB;MAChC,OAAO,IAAI9D,IAAI,CAAC+D,KAAK,CAACa,IAAG,IAAK,CAAC,EAAE;QAC/Bf,IAAG,GACDA,IAAG,GACH,GAAE,GACFrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC+E,eAAc,GACrC,GAAE,GACFrE,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACgF,eAAc;QACvClB,GAAG,CAACE,IAAI,CAAC,aAAa,EAAE,aAAa;QACrCH,OAAO,CAACG,IAAI,CAAC,iBAAiB,EAAE,iBAAiB;MACnD;MACA3H,SAAS,CAAC0H,IAAI;MACd5E,QAAQ,CAACa,KAAI,GAAI8D,GAAE;MACnBxG,QAAQ,CAACuG,OAAO,CAAC,CAACb,IAAI,EAAC;MACvBC,UAAU,CAAC,MAAM;QACf9D,QAAQ,CAACa,KAAI,GAAI,EAAC;QAClBkD,SAAS,EAAC;MACZ,CAAC,EAAE,IAAI;IACT;IACA;IACA,MAAM+B,YAAW,GAAK/E,IAAI,IAAK;MAC7B0D,YAAY,CAAC,CAAC;MACd,IAAIC,OAAM,GAAI,EAAE;QACdC,GAAE,GAAI,EAAE;QACRC,IAAG,GAAI,EAAC;MACVF,OAAO,CAACG,IAAI,CACV,WAAW,EACV,GAAE9D,IAAI,CAAC+D,KAAK,CAACC,MAAO,QAAO,EAC5B,UAAU,EACT,GAAEhE,IAAI,CAAC+D,KAAK,CAACrC,MAAO,QAAM,CAC7B;MACA,IAAI1B,IAAI,CAAC+D,KAAK,CAACE,OAAM,IAAK,CAAC,EAAE;QAC3BJ,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACkF,cAAa;QAC3CpB,GAAG,CAACE,IAAI,CAAC,QAAQ;QACjBH,OAAO,CAACG,IAAI,CAAC,eAAe;MAC9B,OAAO,IAAI9D,IAAI,CAAC+D,KAAK,CAACE,OAAM,IAAK,CAAC,EAAE;QAClCJ,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACmF,aAAY;QAC1CrB,GAAG,CAACE,IAAI,CAAC,QAAQ;QACjBH,OAAO,CAACG,IAAI,CAAC,cAAc;MAC7B,OAAO,IAAI9D,IAAI,CAAC+D,KAAK,CAACE,OAAM,IAAK,CAAC,EAAE;QAClCJ,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACsE,WAAU;QACxCR,GAAG,CAACE,IAAI,CAAC,KAAK;QACdH,OAAO,CAACG,IAAI,CAAC,QAAQ;MACvB;MACA1G,QAAQ,CAACuG,OAAO,CAAC,CAACb,IAAI,EAAC;MACvB3G,SAAS,CAAC0H,IAAI;MACd5E,QAAQ,CAACa,KAAI,GAAI8D,GAAE;MACnBb,UAAU,CAAC,MAAM;QACf9D,QAAQ,CAACa,KAAI,GAAI,EAAC;QAClBkD,SAAS,EAAC;MACZ,CAAC,EAAE,IAAI;IACT;;IAEA;IACA,MAAMkC,QAAO,GAAKlF,IAAI,IAAK;MACzB,IAAIA,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;QACrBa,YAAY,CAAC,CAAC;MAChB,OAAO;QACLA,YAAY,CAAC,CAAC;MAChB;MACA,IAAIC,OAAM,GAAI,EAAE;QACdC,GAAE,GAAI,EAAE;QACRC,IAAG,GAAI,EAAC;MACV,IACE7D,IAAI,CAAC+D,KAAK,CAACoB,YAAW,IAAK,KAC3BnF,IAAI,CAAC+D,KAAK,CAACqB,YAAW,IAAK,KAC3BpF,IAAI,CAAC+D,KAAK,CAACsB,YAAW,IAAK,GAC3B;QACAxB,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACoE,cAAa;QAC3CP,OAAO,CAACG,IAAI,CAAC,WAAW;QACxBF,GAAG,CAACE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB;QAChEF,GAAE;MACJ,OAAO;QACL,IAAI5D,IAAI,CAAC+D,KAAK,CAACoB,YAAW,IAAK,CAAC,EAAE;UAChCtB,IAAG,GAAIA,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACwF,OAAM;UAC3C3B,OAAO,CAACG,IAAI,CAAC,aAAa;UAC1BF,GAAG,CAACE,IAAI,CAAC,UAAU;QACrB,OAAO;UACLF,GAAG,CAACE,IAAI,CAAC,iBAAiB;QAC5B;QACA,IAAI9D,IAAI,CAAC+D,KAAK,CAACqB,YAAW,IAAK,CAAC,EAAE;UAChCvB,IAAG,GAAIA,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACyF,OAAM;UAC3C5B,OAAO,CAACG,IAAI,CAAC,aAAa;UAC1BF,GAAG,CAACE,IAAI,CAAC,UAAU;QACrB,OAAO;UACLF,GAAG,CAACE,IAAI,CAAC,iBAAiB;QAC5B;QACA,IAAI9D,IAAI,CAAC+D,KAAK,CAACsB,YAAW,IAAK,CAAC,EAAE;UAChCxB,IAAG,GAAIA,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC0F,OAAM;UAC3C7B,OAAO,CAACG,IAAI,CAAC,aAAa;UAC1BF,GAAG,CAACE,IAAI,CAAC,UAAU;QACrB,OAAO;UACLF,GAAG,CAACE,IAAI,CAAC,iBAAiB;QAC5B;MACF;MACA1G,QAAQ,CAACuG,OAAO,CAAC,CAACb,IAAI,EAAC;MACvB3G,SAAS,CAAC0H,IAAI;MACd5E,QAAQ,CAACa,KAAI,GAAI8D,GAAE;MACnBb,UAAU,CAAC,MAAM;QACf9D,QAAQ,CAACa,KAAI,GAAI,EAAC;QAClBkD,SAAS,EAAC;MACZ,CAAC,EAAE,IAAI;IACT;IACA;IACA,MAAMyC,YAAW,GAAKzF,IAAI,IAAK;MAC7B,MAAM0F,QAAO,GAAIlF,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK;MACtC4D,YAAY,CAAC,CAAC;MACd5E,gBAAgB,CAACgB,KAAI,GAAI,IAAG;MAC5B,IAAI6D,OAAM,GAAI,EAAE;QACdC,GAAE,GAAI,EAAE;QACRC,IAAG,GAAI,EAAC;MACV,QAAQ7D,IAAI,CAAC+D,KAAK,CAAC4B,MAAM;QACvB,KAAK,CAAC;UACJ/B,GAAG,CAACE,IAAI,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc;UACvDH,OAAO,CAACG,IAAI,CAAC,gBAAgB,EAAE,aAAa,EAAE,cAAc;UAC5D;UACAD,IAAG,GAAK,GAAE6B,QAAQ,CAACE,IAAI,IAAIF,QAAQ,CAACG,KAAM,IAAGH,QAAQ,CAACI,IAAK,IAAGJ,QAAQ,CAAClB,KAAM;UAC7E;QACF,KAAK,CAAC;UACJZ,GAAG,CAACE,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc;UACxDH,OAAO,CAACG,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,cAAc;UAC3D;UACAD,IAAG,GAAK,GAAE6B,QAAQ,CAACK,KAAK,IAAIL,QAAQ,CAACG,KAAK,IAAIH,QAAQ,CAACM,GAAG,IAAIN,QAAQ,CAACO,GAAI,IAAGP,QAAQ,CAACQ,GAAI,IAAGR,QAAQ,CAAClB,KAAM;UAC7G;QACF,KAAK,CAAC;UACJZ,GAAG,CAACE,IAAI,CAAC,eAAe;UACxBH,OAAO,CAACG,IAAI,CAAC,gBAAgB,EAAE,aAAa;UAC5C;UACAD,IAAG,GAAK,GAAE6B,QAAQ,CAACS,GAAG,IAAIT,QAAQ,CAACO,GAAG,KAAKP,QAAQ,CAACS,GAAG,IAAIT,QAAQ,CAACG,KAAM,IAAGH,QAAQ,CAACI,IAAK;UAC3F;QACF,KAAK,CAAC;UACJlC,GAAG,CAACE,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,YAAY;UACxDH,OAAO,CAACG,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,YAAY;UACzD;UACAD,IAAG,GAAK,GAAE6B,QAAQ,CAACK,KAAK,IAAIL,QAAQ,CAACO,GAAG,KAAKP,QAAQ,CAACM,GAAG,IAAIN,QAAQ,CAACG,KAAM,IAAGH,QAAQ,CAACQ,GAAI,IAAGR,QAAQ,CAACnB,GAAI;UAC5G;QACF,KAAK,CAAC;UACJX,GAAG,CAACE,IAAI,CAAC,aAAa,EAAE,eAAe,EAAE,YAAY;UACrDH,OAAO,CAACG,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY;UACxD;UACAD,IAAG,GAAK,GAAE6B,QAAQ,CAACE,IAAI,IAAIF,QAAQ,CAACO,GAAI,IAAGP,QAAQ,CAACQ,GAAI,IAAGR,QAAQ,CAACnB,GAAI;UACxE;MAAI;MAERnH,QAAQ,CAACuG,OAAO,CAAC,CAACb,IAAI,EAAC;MACvB3G,SAAS,CAAC0H,IAAI;MACd5E,QAAQ,CAACa,KAAI,GAAI8D,GAAE;MACnBb,UAAU,CAAC,MAAM;QACf9D,QAAQ,CAACa,KAAI,GAAI,EAAC;QAClBhB,gBAAgB,CAACgB,KAAI,GAAI,KAAI;QAC7BkD,SAAS,EAAC;MACZ,CAAC,EAAE,IAAI;IACT;IACA;IACA,MAAMoD,UAAS,GAAKpG,IAAI,IAAK;MAC3BjB,cAAc,CAACe,KAAI,GAAI,IAAG;MAC1B4D,YAAY,CAAC,CAAC;MACd,IAAIC,OAAM,GAAI,EAAE;QACdE,IAAG,GAAI,EAAC;MACV,MAAM8B,MAAK,GAAI3F,IAAI,CAAC+D,KAAK,CAAC4B,MAAK;MAC/B,MAAMU,KAAI,GAAIC,QAAQ,CAACX,MAAM,CAAC,CAAC,CAAC;MAChC,MAAMY,MAAK,GAAID,QAAQ,CAACX,MAAM,CAAC,CAAC,CAAC;MACjC,MAAMa,KAAI,GAAIF,QAAQ,CAACX,MAAM,CAAC,CAAC,CAAC;MAChChC,OAAO,CAACG,IAAI,CACT,YAAWuC,KAAM,EAAC,EAClB,YAAWE,MAAO,EAAC,EACnB,YAAWC,KAAM,GACpB;MACA,IAAIH,KAAI,IAAKE,MAAK,IAAKA,MAAK,IAAKC,KAAK,EAAE;QACtC3C,IAAG,GAAI,KAAI;QACXF,OAAO,CAACG,IAAI,CAAC,iBAAiB;MAChC;MACA,MAAM2C,KAAI,GAAIJ,KAAI,GAAIE,MAAK,GAAIC,KAAI;MACnC3C,IAAG,GAAK,GAAEA,IAAK,GAAE4C,KAAM,GAAC;MACxB9C,OAAO,CAACG,IAAI,CAAE,GAAE2C,KAAM,QAAO;MAE7BrJ,QAAQ,CAACuG,OAAO,CAAC,CAACb,IAAI,EAAC;MACvB3G,SAAS,CAAC0H,IAAI;MACd5E,QAAQ,CAACa,KAAI,GAAIE,IAAI,CAAC+D,KAAK,CAAC2C,YAAW;MACvC3D,UAAU,CAAC,MAAM;QACf9D,QAAQ,CAACa,KAAI,GAAI,EAAC;QAClBf,cAAc,CAACe,KAAI,GAAI,KAAI;QAC3BkD,SAAS,EAAC;MACZ,CAAC,EAAE,IAAI;IACT;IACA;IACA,MAAM2D,cAAa,GAAK3G,IAAI,IAAK;MAC/BhB,kBAAkB,CAACc,KAAI,GAAI,IAAG;MAC9B4D,YAAY,CAAC,CAAC;MACd,IAAIC,OAAM,GAAI,EAAE;QACdE,IAAG,GAAI,EAAC;MACV,MAAM8B,MAAK,GAAI3F,IAAI,CAAC+D,KAAK,CAAC4B,MAAK;MAC/B9B,IAAG,GAAI8B,MAAK;MACZhC,OAAO,CAACG,IAAI,CAAE,GAAE6B,MAAO,QAAO;MAC9B;MACAxJ,SAAS,CAAC0H,IAAI;MACd5E,QAAQ,CAACa,KAAI,GAAIE,IAAI,CAAC+D,KAAK,CAAC2C,YAAW;MACvC3D,UAAU,CAAC,MAAM;QACf9D,QAAQ,CAACa,KAAI,GAAI,EAAC;QAClBd,kBAAkB,CAACc,KAAI,GAAI,KAAI;QAC/BkD,SAAS,EAAC;MACZ,CAAC,EAAE,IAAI;IACT;IACA,MAAMU,YAAW,GAAKkD,IAAI,IAAK;MAC7B,IAAIC,GAAE,GAAI,EAAC;MACX,IAAID,IAAG,IAAK,CAAC,EAAE;QACbC,GAAE,GAAIxJ,kBAAiB;MACzB,OAAO,IAAIuJ,IAAG,IAAK,CAAC,EAAE;QACpBC,GAAE,GAAIvJ,YAAW;MACnB,OAAO,IAAIsJ,IAAG,IAAK,CAAC,EAAE;QACpBC,GAAE,GAAItJ,YAAW;MACnB,OAAO,IAAIqJ,IAAG,IAAK,CAAC,EAAE;QACpBC,GAAE,GAAIrJ,YAAW;MACnB,OAAO,IAAIoJ,IAAG,IAAK,CAAC,EAAE;QACpBC,GAAE,GAAIpJ,gBAAe;MACvB,OAAO,IAAImJ,IAAG,IAAK,CAAC,EAAE;QACpBC,GAAE,GAAInJ,cAAa;MACrB,OAAO,IAAIkJ,IAAG,IAAK,CAAC,EAAE;QACpBC,GAAE,GAAIlJ,kBAAiB;MACzB;MACA,MAAMmJ,MAAK,GAAI;QACbC,OAAO,EAAE/E,QAAQ,CAAClC,KAAK,CAACyC,EAAE;QAC1ByE,SAAS,EAAEhF,QAAQ,CAAClC,KAAK,CAACkH,SAAS;QACnCC,aAAa,EAAEtH,SAAS,CAACG,KAAK,EAAEoH,sBAAsB;QACtD3I,QAAQ,EAAEoB,SAAS,CAACG,KAAK,CAACyC;MAC5B;MACAsE,GAAG,CAACC,MAAM,EACPK,IAAI,CAAEC,QAAQ,IAAK;QAClBrE,UAAU,CAAC,MAAM;UACf,IAAIqE,QAAQ,CAACC,OAAM,IAAK,CAAC,EAAE;YACzB,MAAMrH,IAAG,GAAIoH,QAAQ,CAACE,IAAG;YACzB;YACA,IACEV,IAAG,IAAK,KACRA,IAAG,IAAK,KACRA,IAAG,IAAK,KACRA,IAAG,IAAK,KACRA,IAAG,IAAK,GACR;cACAxK,UAAU,CAAC;gBACTmL,SAAS,EAAE,IAAI;gBACfC,KAAK,EAAEhH,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC2H,YAAY;gBAC1CC,OAAO,EACL,gCAA+B,GAC/BlH,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC6H,aAAY,GACnC,eAAc,GACdnH,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC2H,YAAW,GAClC,eAAc,GACdjH,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC8H,WAAU,GACjC,eAAc,GACd,0BAAyB,GACzB5H,IAAI,CAAC6H,MAAK,GACV,eAAc,GACdC,WAAW,CAAC9H,IAAI,CAAC+H,SAAS,IAC1B,eAAc,GACd/H,IAAI,CAACgI,SAAQ,GACb,eAAe;gBACjBC,SAAS,EAAE,OAAO;gBAClBC,iBAAiB,EAAE1H,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACqI;cAC5C,CAAC;YACH,OAAO;cACLC,SAAS,CAACpI,IAAI;YAChB;UACF,OAAO;YACL;UAAA;UAEFL,SAAS,CAACG,KAAK,CAACO,QAAO,GAAI,EAAC;QAC9B,CAAC,EAAE,IAAI;MACT,CAAC,EACAgI,KAAK,CAAEC,KAAK,IAAK;QAChBC,OAAO,CAACC,GAAG,CAACF,KAAK;MACnB,CAAC;IACL;IACA,MAAMF,SAAQ,GAAKpI,IAAI,IAAK;MAC1B,IAAIyI,IAAG,GAAI,EAAC;MACZ,IAAI5E,IAAG,GAAI,EAAC;MACZ7D,IAAI,CAAC0I,UAAU,CAACC,OAAO,CAAEC,CAAC,IAAK;QAC7B,IAAIA,CAAC,CAACf,MAAK,GAAI,CAAC,EAAE;UAChB,IAAIe,CAAC,CAACC,UAAS,GAAI,CAAC,EAAE;YACpBhF,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC8D,GAAE;UAClC,OAAO,IAAIgF,CAAC,CAACC,UAAS,GAAI,CAAC,EAAE;YAC3BhF,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACgJ,IAAG;UACnC,OAAO;YACLjF,IAAG,GAAIrD,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACiJ,GAAE;UAClC;UACAN,IAAG,GACDA,IAAG,GACH,0BAAyB,GACzBG,CAAC,CAAChL,IAAG,GACL,eAAc,GACdgL,CAAC,CAACf,MAAK,GACP,eAAc,GACdhE,IAAG,GACH,eAAc,GACd+E,CAAC,CAACC,UAAS,GACX,eAAc;QAClB;MACF,CAAC;MAEDJ,IAAG,GACD,gCAA+B,GAC/BjI,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACkJ,QAAO,GAC9B,eAAc,GACdxI,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACmJ,UAAS,GAChC,eAAc,GACdzI,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACoJ,WAAU,GACjC,eAAc,GACd1I,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACqJ,aAAY,GACnC,eAAc,GACdV,IAAG;MACLrM,UAAU,CAAC;QACTmL,SAAS,EAAE,IAAI;QACfC,KAAK,EACHhH,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC2H,YAAW,GAClC,GAAE,GACFK,WAAW,CAAC9H,IAAI,CAAC+H,SAAS,CAAC;QAC7BL,OAAO,EAAEe,IAAI;QACbR,SAAS,EAAE,OAAO;QAClBC,iBAAiB,EAAE1H,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACqI;MAC5C,CAAC;IACH;IACA,MAAML,WAAU,GAAK7H,GAAG,IAAK;MAC3B,IAAIH,KAAI,GAAI4C,IAAI,CAACqB,KAAK,CAACqF,UAAU,CAACnJ,GAAG,IAAI,GAAG,IAAI,GAAE;MAClD,IAAIoJ,GAAE,GAAIvJ,KAAK,CAACwJ,QAAQ,EAAE,CAACC,KAAK,CAAC,GAAG;MACpC,IAAIF,GAAG,CAACG,MAAK,IAAK,CAAC,EAAE;QACnB1J,KAAI,GAAIA,KAAK,CAACwJ,QAAQ,EAAC,GAAI,KAAI;QAC/B,OAAOxJ,KAAI;MACb;MACA,IAAIuJ,GAAG,CAACG,MAAK,GAAI,CAAC,EAAE;QAClB,IAAIH,GAAG,CAAC,CAAC,CAAC,CAACG,MAAK,GAAI,CAAC,EAAE;UACrB1J,KAAI,GAAIA,KAAK,CAACwJ,QAAQ,EAAC,GAAI,GAAE;QAC/B;QACA,OAAOxJ,KAAI;MACb;IACF;IACA,MAAM2J,UAAS,GAAIA,CAAA,KAAM;MACvB5N,QAAQ,CAAC,MAAM;QACb,MAAMsC,CAAA,GAAIH,QAAQ,CAAC8B,KAAK,CAAC4J,YAAW,GAAI3I,WAAW,CAACjB,KAAK,CAAC6J,KAAI;QAC9D,MAAMzL,CAAA,GACH6C,WAAW,CAACjB,KAAK,CAAC8J,UAAU,CAAC,CAAC,IAAI7I,WAAW,CAACjB,KAAK,CAAC8J,UAAU,CAAC,CAAC,CAAC,GAClEzL,CAAA;QACF,MAAMC,EAAC,GAAI;QACXH,QAAQ,CAAC6B,KAAK,CAAC5B,CAAA,GAAK,GAAEA,CAAE,IAAE;QAC1BD,QAAQ,CAAC6B,KAAK,CAAC3B,CAAA,GAAK,GAAEA,CAAE,IAAE;QAC1BF,QAAQ,CAAC6B,KAAK,CAAC1B,EAAC,GAAK,GAAEA,EAAG,IAAE;QAC5BH,QAAQ,CAAC6B,KAAK,CAAC+J,KAAI,GAAIjJ,UAAU,CAACd,KAAI;QACtC7B,QAAQ,CAAC6B,KAAK,CAACgK,MAAK,GAAIjJ,WAAW,CAACf,KAAI;QACxC,IAAIc,UAAU,CAACd,KAAI,IAAK,KAAK,EAAE;UAC7B7B,QAAQ,CAAC6B,KAAK,CAAC5B,CAAA,GAAK,MAAI;UACxB,IAAI2C,WAAW,CAACf,KAAI,IAAK,WAAW,EAAE;YACpC7B,QAAQ,CAAC6B,KAAK,CAAC1B,EAAC,GAAI2C,WAAW,CAACjB,KAAK,CAACiK,MAAM,CAACC,YAAW;UAC1D,OAAO;YACL/L,QAAQ,CAAC6B,KAAK,CAAC1B,EAAC,GAAI2C,WAAW,CAACjB,KAAK,CAACiK,MAAM,CAACE,WAAU;UACzD;QACF,OAAO,IAAIrJ,UAAU,CAACd,KAAI,IAAK,SAAS,EAAE;UACxC7B,QAAQ,CAAC6B,KAAK,CAAC5B,CAAA,GAAK,MAAI;UACxBD,QAAQ,CAAC6B,KAAK,CAAC1B,EAAC,GAAI2C,WAAW,CAACjB,KAAK,CAACiK,MAAM,CAACG,OAAM;QACrD,OAAO;UACLjM,QAAQ,CAAC6B,KAAK,CAAC5B,CAAA,GAAK,MAAI;UACxBD,QAAQ,CAAC6B,KAAK,CAAC1B,EAAC,GAAI2C,WAAW,CAACjB,KAAK,CAACiK,MAAM,CAACI,EAAC;QAChD;MACF,CAAC;IACH;IACA;IACA,MAAMC,WAAU,GAAKpK,IAAI,IAAK;MAC5B,MAAMqK,QAAO,GAAI/D,QAAQ,CAACtG,IAAI,CAAC+D,KAAK,CAACuG,SAAS;MAC9C,IAAItK,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;QACrB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC0H,QAAQ,CAACF,QAAQ,CAAC,EAAE;UACvCG,SAAS,CAACxK,IAAI,CAAC+D,KAAK,CAAC4B,MAAM;QAC7B,OAAO;UACLvI,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC0F,IAAI,EAAC;QAC/B;MACF,OAAO,IAAI9C,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;QAC5B,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC0H,QAAQ,CAACF,QAAQ,CAAC,EAAE;UACvCG,SAAS,CAACxK,IAAI,CAAC+D,KAAK,CAAC4B,MAAM;QAC7B,OAAO;UACLvI,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC0F,IAAI,EAAC;QAC/B;MACF;MACA,SAAS0H,SAASA,CAAC7E,MAAM,EAAE;QACzB,IAAI/H,IAAG,GAAI,EAAC;QACZ,QAAQ+H,MAAM;UACZ,KAAK,IAAI;UACT,KAAK,IAAI;YACP/H,IAAG,GAAI,SAAQ;YACf;UACF,KAAK,IAAI;UACT,KAAK,IAAI;YACPA,IAAG,GAAI,QAAO;YACd;UACF,KAAK,IAAI;UACT,KAAK,IAAI;YACPA,IAAG,GAAI,QAAO;YACd;UACF,KAAK,IAAI;UACT,KAAK,IAAI;YACPA,IAAG,GAAI,QAAO;YACd;UACF,KAAK,IAAI;UACT,KAAK,IAAI;YACPA,IAAG,GAAI,QAAO;YACd;UACF,KAAK,IAAI;UACT,KAAK,IAAI;YACPA,IAAG,GAAI,QAAO;YACd;UACF,KAAK,IAAI;UACT,KAAK,IAAI;YACPA,IAAG,GAAI,QAAO;YACd;UACF,KAAK,IAAI;UACT,KAAK,IAAI;YACPA,IAAG,GAAI,QAAO;YACd;UACF,KAAK,IAAI;UACT,KAAK,IAAI;YACPA,IAAG,GAAI,QAAO;YACd;UACF,KAAK,IAAI;UACT,KAAK,IAAI;YACPA,IAAG,GAAI,QAAO;YACd;UACF,KAAK,IAAI;UACT,KAAK,IAAI;YACPA,IAAG,GAAI,WAAU;YACjB;UACF,KAAK,IAAI;YACPA,IAAG,GAAI,kBAAiB;YACxB;UACF,KAAK,IAAI;YACPA,IAAG,GAAI,YAAW;YAClB;UACF,KAAK,KAAK;YACRA,IAAG,GAAI,gBAAe;YACtB;UACF,KAAK,OAAO;YACVA,IAAG,GAAI,aAAY;YACnB;QAAI;QAERR,QAAQ,CAAC,CAAE,GAAE4C,IAAI,CAAC6C,OAAM,IAAK,IAAI,IAAG,GAAI,IAAK,IAAGjF,IAAK,EAAC,CAAC,CAAC,CAACkF,IAAI,EAAC;MAChE;IACF;IACA;IACAhH,WAAW,CAAC,MAAM;MAChBO,WAAW,EAAC;MACZC,UAAU,EAAC;MACXc,QAAQ,EAAE,CAACqN,KAAK,EAAC;IACnB,CAAC;IACD;IACA7O,KAAK,CACH,MAAM,CAACgF,UAAU,EAAEC,WAAW,CAAC,EAC/B,MAAM;MACJ4I,UAAU,EAAC;IACb,CAAC,EACD;MAAEiB,SAAS,EAAE,IAAI;MAAEC,IAAI,EAAE;IAAK,EAChC;IACA;IACA/O,KAAK,CACH,MAAM,CAACkF,WAAW,CAAChB,KAAK,CAAC,EACzB,CAAC,CAACR,KAAK,CAAC,KAAK;MACX,IAAIA,KAAI,IAAK,KAAK,EAAE;QAClBhB,SAAS,CAACwB,KAAI,GAAI,IAAG;MACvB;IACF,CAAC,EACD;MAAE4K,SAAS,EAAE,IAAI;MAAEC,IAAI,EAAE;IAAK,EAChC;IACA;IACA/O,KAAK,CACH,MAAM,CAACuD,KAAK,CAACyL,KAAK,CAAC,EACnB,CAAC,CAACA,KAAK,CAAC,KAAK;MACX3L,QAAQ,CAACa,KAAI,GAAI,EAAC;MAClBvB,QAAQ,CAACuB,KAAI,GAAI8K,KAAK,CAACrI,EAAC;MACxBD,cAAc,CAACsI,KAAK,CAACrI,EAAE;MACvB,MAAM;QAAEM,OAAM,GAAI;MAAE,IAAIlD,SAAS,CAACG,KAAI;MACtCV,KAAK,CAAC2C,MAAM,CAAC,kBAAkB,EAAEc,OAAO;IAC1C,CAAC,EACD;MAAE6H,SAAS,EAAE,IAAI;MAAEC,IAAI,EAAE;IAAK,EAChC;IACA/O,KAAK,CACH,MAAM,CAAC+D,SAAS,CAACG,KAAK,CAAC,EACvB,CAAC,CAACE,IAAI,CAAC,KAAK;MACV,MAAMK,QAAO,GAAKL,IAAG,IAAKA,IAAI,CAACK,QAAQ,IAAK,IAAG;MAC/C,QAAQA,QAAQ;QACd,KAAK,UAAU;UAAE;UACf,IAAIL,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YACrB/D,gBAAgB,CAACgB,KAAI,GAAI,KAAI;UAC/B;UACA,IAAIE,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YACrBvE,SAAS,CAACwB,KAAI,GAAI,IAAG;UACvB;UACA,IAAIE,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YACrBvE,SAAS,CAACwB,KAAI,GAAI,IAAG;YACrBV,KAAK,CAAC2C,MAAM,CAAC,0BAA0B,EAAE,KAAK;UAChD;UACA1F,WAAW,EAAC;UACZF,SAAS,CAACqE,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC+K,aAAa;UAC9C,IAAI7K,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YACrBzF,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC0F,IAAI,EAAC;UACnC,OAAO;YACL1F,QAAQ,CAAC,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC0F,IAAI,EAAC;UACrD;UACA;QACF,KAAK,UAAU;UAAE;UACf3G,SAAS,CAACqE,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACgL,eAAe;UAChD1N,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC0F,IAAI,EAAC;UACnC;QACF,KAAK,aAAa;UAAE;UAClB,IAAI9C,IAAI,CAAC+K,MAAM,CAACC,aAAY,IAAKhJ,QAAQ,CAAClC,KAAK,CAACyC,EAAE,EAAE;YAClDnF,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC0F,IAAI,EAAC;UACvC;UACA;QACF,KAAK,mBAAmB;UACtB;QACF,KAAK,mBAAmB;UAAE;UACxB,IAAI9C,IAAI,CAACG,UAAS,IAAK,EAAE,EAAE;YACzB/C,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC0F,IAAI,EAAC;UACrC,OAAO,IAAI9C,IAAI,CAACG,UAAS,GAAI,CAAC,EAAE;YAC9B/C,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC0F,IAAI,EAAC;UAC1B;UACA;QACF,KAAK,OAAO;UACV3G,SAAS,CAAC;YACRuL,OAAO,EAAElH,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACmL,eAAe;YAC/CZ,QAAQ,EAAE;UACZ,CAAC;UACD,IAAIrK,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YACrBzD,KAAK,CAAC2C,MAAM,CAAC,0BAA0B,EAAE,IAAI;UAC/C;UACA;QACF,KAAK,YAAY;UACf3E,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC0F,IAAI,EAAC;UACzBI,UAAU,EAAC;UACX;QACF,KAAK,gBAAgB;UACnB,IAAIlD,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YACrB,MAAMwH,QAAO,GAAI/D,QAAQ,CAACtG,IAAI,CAAC+D,KAAK,CAACsG,QAAQ;YAC7C,IAAIA,QAAO,IAAK,EAAE,EAAE;cAClBjN,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC0F,IAAI,EAAC;YACrC,OAAO,IAAIuH,QAAO,IAAK,EAAE,EAAE;cACzBjN,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC0F,IAAI,EAAC;YACrC,OAAO;cACL1F,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC0F,IAAI,EAAC;YAC/B;UACF,OAAO,IAAI9C,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YAC5BzF,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC0F,IAAI,EAAC;UAC/B,OAAO,IAAI9C,IAAI,CAAC6C,OAAM,IAAK,KAAK7C,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YACjDuH,WAAW,CAACpK,IAAI;UAClB,OAAO;YACL5C,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC0F,IAAI,EAAC;UAC/B;UAEA;QACF,KAAK,WAAW;UACd3G,SAAS,CAACqE,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACoL,kBAAkB;UACnD;QACF,KAAK,QAAQ;UACX,IAAIlL,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YACrB/D,gBAAgB,CAACgB,KAAI,GAAI,IAAG;UAC9B,OAAO,IAAIE,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YAC5B9D,cAAc,CAACe,KAAI,GAAI,IAAG;UAC5B,OAAO,IAAIE,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YAC5B7D,kBAAkB,CAACc,KAAI,GAAI,IAAG;UAChC;UACA,IACE,CAACE,IAAI,CAAC6C,OAAM,IAAK,KAAK7C,IAAI,CAAC6C,OAAM,IAAK,CAAC,KACvC/B,WAAW,CAAChB,KAAI,IAAK,IAAG,EACxB;YACAxB,SAAS,CAACwB,KAAI,GAAI,KAAI;UACxB;UACA3D,SAAS,CAACqE,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACqL,MAAM;UACvC/N,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC0F,IAAI,EAAC;UAChC;QACF,KAAK,uBAAuB;UAC1BW,cAAc,CAACzD,IAAI;UACnB;QACF,KAAK,iBAAiB;UACpB+E,YAAY,CAAC/E,IAAI;UACjB;QACF,KAAK,iBAAiB;UACpBkF,QAAQ,CAAClF,IAAI;UACb;QACF,KAAK,iBAAiB;UACpBkF,QAAQ,CAAClF,IAAI;UACb;QACF,KAAK,qBAAqB;UACxByF,YAAY,CAACzF,IAAI;UACjB;QACF,KAAK,mBAAmB;UACtBoG,UAAU,CAACpG,IAAI;UACf,IAAIA,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YACrBvE,SAAS,CAACwB,KAAI,GAAI,IAAG;UACvB;UACA;QACF,KAAK,uBAAuB;UAC1B6G,cAAc,CAAC3G,IAAI;UACnB,IAAIA,IAAI,CAAC6C,OAAM,IAAK,CAAC,EAAE;YACrBvE,SAAS,CAACwB,KAAI,GAAI,IAAG;UACvB;UACA;QACF,KAAK,WAAW;UACd;QACF,KAAK,YAAY;UACf3D,SAAS,CAACqE,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACsL,UAAU;UAC3CpI,SAAS,EAAC;UACV;QACF,KAAK,WAAW;UACd7G,SAAS,CAACqE,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACuL,SAAS;UAC1CrI,SAAS,EAAC;UACV;QACF,KAAK,gBAAgB;UACnB7G,SAAS,CAACqE,IAAI,CAACV,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAACwL,WAAW;UAC5CtI,SAAS,EAAC;UACV;MAAI;IAEV,CAAC,EACD;MAAE0H,SAAS,EAAE,IAAI;MAAEC,IAAI,EAAE;IAAK,EAChC;IACA,OAAO;MACLrK,IAAI;MACJvC,KAAK;MACLgD,WAAW;MACXzC,SAAS;MACT0D,QAAQ;MACRrC,SAAS;MACTmB,WAAW;MACX5B,MAAM;MACNa,MAAM;MACNtB,WAAW;MACXC,aAAa;MACbC,WAAW;MACXC,gBAAgB;MAChBC,cAAc;MACdL,SAAS;MACTa,YAAY;MACZG,YAAY;MACZvB,QAAQ;MACRD,QAAQ;MACR4C,UAAU;MACVF,WAAW;MACXzB,QAAQ;MACRH,gBAAgB;MAChBC,cAAc;MACdC,kBAAkB;MAClB4C,aAAa;MACbC,gBAAgB;MAChBI,SAAS;MACTC,aAAa;MACbc,SAAS;MACTE,UAAU;MACVC,QAAQ;MACRC,WAAW;MACXC,oBAAoB;MACpBC,aAAa;MACbC,UAAU;MACV5B,eAAe;MACfQ,UAAU;MACVqB,kBAAkB;MAClBvC;IACF;EACF;AACF"},"metadata":{},"sourceType":"module","externalDependencies":[]}