From 8e2e3c579ff369e0ef69b728df6bdd3ee00b26d0 Mon Sep 17 00:00:00 2001 From: Liu <18409283+ls125781003@users.noreply.github.com> Date: Tue, 3 Jun 2025 01:09:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BA=BF=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 20250602 --- README.md | 2 +- 小米/api.json | 6 + 小米/lives/IPV6.txt | 167 + 小米/lives/V4聚合(卡顿请按左┃右键换线).txt | 440 +- 小米/lives/平台直播.txt | 1554 ++--- 欧歌/api.json | 14 +- 欧歌/api/json5.js | 1809 +++++ 欧歌/api/node-rsa.js | 5858 +++++++++++++++++ 欧歌/api/pako.min.js | 1439 ++++ 欧歌/api/模板.js | 429 ++ 欧歌/lives/AI直播.txt | 129 +- ...示贩卖.txt => 公众号【欧歌APP】测试完请删除,接口即将关停..txt} | 2374 +++++-- 王二小/api.json | 16 - 王二小/spider.jar | Bin 1021125 -> 1020514 bytes 肥猫/api.json | 9 +- 肥猫/lives/live.txt | 1959 ------ 饭太硬/api.json | 12 +- .../lives/V4聚合(卡顿请按左┃右键换线).txt | 4388 +----------- 饭太硬/lives/V4肥羊.txt | 123 + 饭太硬/lives/平台直播.txt | 1532 +++-- 饭太硬/spider.jar | Bin 1116247 -> 1118477 bytes 21 files changed, 13659 insertions(+), 8601 deletions(-) create mode 100644 小米/lives/IPV6.txt rename 欧歌/lives/{公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖.txt => 公众号【欧歌APP】测试完请删除,接口即将关停..txt} (80%) delete mode 100644 肥猫/lives/live.txt create mode 100644 饭太硬/lives/V4肥羊.txt diff --git a/README.md b/README.md index bdd72d0..6c41c45 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # tvboxtg # -整体更新25.05.31 +整体更新25.06.02 # The resources are sourced from the internet and are only used for learning purposes. Please delete them yourself 24 hours after using them for learning. \ No newline at end of file diff --git a/小米/api.json b/小米/api.json index 0803018..ae61697 100644 --- a/小米/api.json +++ b/小米/api.json @@ -404,6 +404,12 @@ "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}", "logo":"https://epg.v1.mk/logo/{name}.png" }, + { + "name": "IPV6", + "type": 0, + "url": "./lives/IPV6.txt", + "playerType":2 + }, { "name": "平台直播", "type": 0, diff --git a/小米/lives/IPV6.txt b/小米/lives/IPV6.txt new file mode 100644 index 0000000..f13ea57 --- /dev/null +++ b/小米/lives/IPV6.txt @@ -0,0 +1,167 @@ +#EXTM3U x-tvg-url="https://live.fanmingming.cn/e.xml" catchup="append" catchup-source="?playseek=${(b)yyyyMMddHHmmss}-${(e)yyyyMMddHHmmss}" +#EXTINF:-1 tvg-name="CCTV1" tvg-logo="https://live.fanmingming.cn/tv/CCTV1.png" group-title="央视频道",CCTV-1综合 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8? +#EXTINF:-1 tvg-name="CCTV2" tvg-logo="https://live.fanmingming.cn/tv/CCTV2.png" group-title="央视频道",CCTV-2财经 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8? +#EXTINF:-1 tvg-name="CCTV3" tvg-logo="https://live.fanmingming.cn/tv/CCTV3.png" group-title="央视频道",CCTV-3综艺 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8? +#EXTINF:-1 tvg-name="CCTV4" tvg-logo="https://live.fanmingming.cn/tv/CCTV4.png" group-title="央视频道",CCTV-4中文国际 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8? +#EXTINF:-1 tvg-name="CCTV5" tvg-logo="https://live.fanmingming.cn/tv/CCTV5.png" group-title="央视频道",CCTV-5体育 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8? +#EXTINF:-1 tvg-name="CCTV5" tvg-logo="https://live.fanmingming.cn/tv/CCTV5.png" group-title="央视频道",CCTV-5+体育赛事 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226894/1.m3u8? +#EXTINF:-1 tvg-name="CCTV6" tvg-logo="https://live.fanmingming.cn/tv/CCTV6.png" group-title="央视频道",CCTV-6电影 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226468/1.m3u8? +#EXTINF:-1 tvg-name="CCTV7" tvg-logo="https://live.fanmingming.cn/tv/CCTV7.png" group-title="央视频道",CCTV-7国防军事 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8? +#EXTINF:-1 tvg-name="CCTV8" tvg-logo="https://live.fanmingming.cn/tv/CCTV8.png" group-title="央视频道",CCTV-8电视剧 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8? +#EXTINF:-1 tvg-name="CCTV9" tvg-logo="https://live.fanmingming.cn/tv/CCTV9.png" group-title="央视频道",CCTV-9纪录 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8? +#EXTINF:-1 tvg-name="CCTV10" tvg-logo="https://live.fanmingming.cn/tv/CCTV10.png" group-title="央视频道",CCTV-10科教 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8? +#EXTINF:-1 tvg-name="CCTV11" tvg-logo="https://live.fanmingming.cn/tv/CCTV11.png" group-title="央视频道",CCTV-11戏曲 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8? +#EXTINF:-1 tvg-name="CCTV12" tvg-logo="https://live.fanmingming.cn/tv/CCTV12.png" group-title="央视频道",CCTV-12社会与法 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8? +#EXTINF:-1 tvg-name="CCTV13" tvg-logo="https://live.fanmingming.cn/tv/CCTV13.png" group-title="央视频道",CCTV-13新闻 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8? +#EXTINF:-1 tvg-name="CCTV14" tvg-logo="https://live.fanmingming.cn/tv/CCTV14.png" group-title="央视频道",CCTV-14少儿 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8? +#EXTINF:-1 tvg-name="CCTV15" tvg-logo="https://live.fanmingming.cn/tv/CCTV15.png" group-title="央视频道",CCTV-15音乐 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8? +#EXTINF:-1 tvg-name="CCTV16" tvg-logo="https://live.fanmingming.cn/tv/CCTV16.png" group-title="央视频道",CCTV-16奥林匹克 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8? +#EXTINF:-1 tvg-name="CCTV17" tvg-logo="https://live.fanmingming.cn/tv/CCTV17.png" group-title="央视频道",CCTV-17农业农村 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8? +#EXTINF:-1 tvg-name="北京卫视" tvg-logo="https://live.fanmingming.cn/tv/北京卫视.png" group-title="卫视频道",北京卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226900/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcYPi33WFyhvd6SjmqUKhJg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="东方卫视" tvg-logo="https://live.fanmingming.cn/tv/东方卫视.png" group-title="卫视频道",东方卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226898/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0uh4lyjjBCCN7TCq21vSIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="浙江卫视" tvg-logo="https://live.fanmingming.cn/tv/浙江卫视.png" group-title="卫视频道",浙江卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226899/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ETYfTgTra_pUx2cPrgZ_BDw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="江苏卫视" tvg-logo="https://live.fanmingming.cn/tv/江苏卫视.png" group-title="卫视频道",江苏卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226897/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0BmO6uHF7WFoTed__Xr3NQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="广东卫视" tvg-logo="https://live.fanmingming.cn/tv/广东卫视.png" group-title="卫视频道",广东卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226961/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E2MGyx659D_aaDPP0qt3NgA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="湖南卫视" tvg-logo="https://live.fanmingming.cn/tv/湖南卫视.png" group-title="卫视频道",湖南卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226509/1.m3u8?zoneoffset=480&servicetype=1&icpid=&limitflux=-1&limitdur=-1&tenantId=8601&accountinfo=%7E%7EV2.0%7EIGb_ib7rnBX9_sANRKq9sg%7EpK8OKM5JoJWWbLRyLfPcUMkwWZ90MzSI9S9PDltJsYzd0ZGcS3Tkh7syciNKJa-w60mDOdwtDyoNwCx9aRgzHNH9AUREV_qvNJtXHRPzYw0%7EExtInfo9bj61dxzlMXrsixrqcFYPg%3D%3D%3A20221022013542%2C915973%2C119.123.71.209%2C20221022013542%2C10000100000000050000000003873458%2C915973%2C-1%2C0%2C1%2C%2C%2C2%2C%2C%2C%2C2%2C%2C10000100000000060000000007253514_0%2CEND&GuardEncType=2 +#EXTINF:-1 tvg-name="深圳卫视" tvg-logo="https://live.fanmingming.cn/tv/深圳卫视.png" group-title="卫视频道",深圳卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226959/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGrVNEZREjuNVKiTJo2mtwg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="四川卫视" tvg-logo="https://live.fanmingming.cn/tv/四川卫视.png" group-title="卫视频道",四川卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226995/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EBQiz3wrGrpG0CUSRIJ-7Jg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="天津卫视" tvg-logo="https://live.fanmingming.cn/tv/天津卫视.png" group-title="卫视频道",天津卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eaf3wyULP1h575eM_4ByMDg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="辽宁卫视" tvg-logo="https://live.fanmingming.cn/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226966/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E6qJH8Fd-zgCGx3P-Ce86cA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.cn/tv/黑龙江卫视.png" group-title="卫视频道",黑龙江卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226965/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7UiKL56-L86ihmTWaZ6csw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="吉林卫视" tvg-logo="https://live.fanmingming.cn/tv/吉林卫视.png" group-title="卫视频道",吉林卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227015/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EW5-3AVdwD5KlUpuA4mz7Cg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="海南卫视" tvg-logo="https://live.fanmingming.cn/tv/海南卫视.png" group-title="卫视频道",海南卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227029/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEuBMjt2kLMD8fAO7QYER7Q%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="广西卫视" tvg-logo="https://live.fanmingming.cn/tv/广西卫视.png" group-title="卫视频道",广西卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227010/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkAhb-89sxdm9fz6-heXCuw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="河北卫视" tvg-logo="https://live.fanmingming.cn/tv/河北卫视.png" group-title="卫视频道",河北卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227014/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErSGjhI3DMaaAASPrbQJYTg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="山东卫视" tvg-logo="https://live.fanmingming.cn/tv/山东卫视.png" group-title="卫视频道",山东卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226957/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EjW26v5VaHGy1jQuIA-4EbA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="山西卫视" tvg-logo="https://live.fanmingming.cn/tv/山西卫视.png" group-title="卫视频道",山西卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227016/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESb5Qr3NTpE2ZugIroKoyTw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="湖北卫视" tvg-logo="https://live.fanmingming.cn/tv/湖北卫视.png" group-title="卫视频道",湖北卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226952/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EREB40lnZnCEwjRy7LZuhIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="江西卫视" tvg-logo="https://live.fanmingming.cn/tv/江西卫视.png" group-title="卫视频道",江西卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226956/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ei6ZIpVizXlewg-YfGvH8dA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.cn/tv/重庆卫视.png" group-title="卫视频道",重庆卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226963/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EjTXsJprEx2nE38tdvu5lhA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="东南卫视" tvg-logo="https://live.fanmingming.cn/tv/东南卫视.png" group-title="卫视频道",东南卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226991/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQ6F5Mjgs0tJyEArWFL3vQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="陕西卫视" tvg-logo="https://live.fanmingming.cn/tv/陕西卫视.png" group-title="卫视频道",陕西卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226999/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EsGLKaSqf0wDZMbAjeQtfyw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="青海卫视" tvg-logo="https://live.fanmingming.cn/tv/青海卫视.png" group-title="卫视频道",青海卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227017/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EacviHy_ucMT27Ymf2iLtZA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="安徽卫视" tvg-logo="https://live.fanmingming.cn/tv/安徽卫视.png" group-title="卫视频道",安徽卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226943/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0QmKQ_slRCwvVVUUfxPVbw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="云南卫视" tvg-logo="https://live.fanmingming.cn/tv/云南卫视.png" group-title="卫视频道",云南卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227028/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGfQPqRNVeBjTMsZ48qu0SA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="贵州卫视" tvg-logo="https://live.fanmingming.cn/tv/贵州卫视.png" group-title="卫视频道",贵州卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227012/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EnqBF03rFwPucF8ODtWxLQQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="宁夏卫视" tvg-logo="https://live.fanmingming.cn/tv/宁夏卫视.png" group-title="卫视频道",宁夏卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227003/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESco1zinvdUYzleEkXYhIvA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="甘肃卫视" tvg-logo="https://live.fanmingming.cn/tv/甘肃卫视.png" group-title="卫视频道",甘肃卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227020/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Err-CLugPnTcUinEM8JeySg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="内蒙古卫视" tvg-logo="https://live.fanmingming.cn/tv/内蒙古卫视.png" group-title="卫视频道",内蒙古卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227018/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErN_hoRDwApMKnJqiNHvn9w%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="新疆卫视" tvg-logo="https://live.fanmingming.cn/tv/新疆卫视.png" group-title="卫视频道",新疆卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227011/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ExAUu61iVvo_xYbANWJhgXw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="西藏卫视" tvg-logo="https://live.fanmingming.cn/tv/西藏卫视.png" group-title="卫视频道",西藏卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227033/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EdeTB7OZ9G_VNJk5C3t96fQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="延边卫视" tvg-logo="https://live.fanmingming.cn/tv/延边卫视.png" group-title="卫视频道",延边卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227045/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eq0D3NdTUN7FuRzr8eJsbQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="康巴卫视" tvg-logo="https://live.fanmingming.cn/tv/康巴卫视.png" group-title="卫视频道",康巴卫视 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227027/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkHMvBpWz4rccMxNvSRekpQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND +#EXTINF:-1 tvg-name="中国教育1台" tvg-logo="https://live.fanmingming.cn/tv/中国教育1台.png" group-title="卫视频道",中国教育1台 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226494/1.m3u8? +#EXTINF:-1 tvg-name="中国教育2台" tvg-logo="https://live.fanmingming.cn/tv/中国教育2台.png" group-title="卫视频道",中国教育2台 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226537/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7AxXs4eTU2oiWrhopr9sHw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNxsM0Bor098BJglrhfEQTl%2CEND +#EXTINF:-1 tvg-name="中国教育3台" tvg-logo="https://live.fanmingming.cn/tv/中国教育3台.png" group-title="卫视频道",中国教育3台 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226577/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EhE2Z89HKgsQOlN9opVn1iw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNN03yUnk4zBVk1bynPPL3hZ%2CEND +#EXTINF:-1 tvg-name="中国教育4台" tvg-logo="https://live.fanmingming.cn/tv/中国教育4台.png" group-title="卫视频道",中国教育4台 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226997/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EAw_OvjRgJVjtlaOa0dcgzg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND + + +#EXTINF:-1 tvg-name="浙江公共新闻" tvg-logo="https://live.fanmingming.cn/tv/浙江新闻.png" group-title="浙江频道",浙江新闻 +https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 +#EXTINF:-1 tvg-name="浙江国际" tvg-logo="https://live.fanmingming.cn/tv/浙江国际.png" group-title="浙江频道",浙江国际 +https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8 +#EXTINF:-1 tvg-name="浙江少儿" tvg-logo="https://live.fanmingming.cn/tv/浙江少儿.png" group-title="浙江频道",浙江少儿 +https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 +#EXTINF:-1 tvg-name="浙江教科影视" tvg-logo="https://live.fanmingming.cn/tv/浙江教科影视.png" group-title="浙江频道",浙江教科 +https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 +#EXTINF:-1 tvg-name="之江纪录" tvg-logo="https://live.fanmingming.cn/tv/之江纪录.png" group-title="浙江频道",之江纪录 +https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 +#EXTINF:-1 tvg-name="浙江民生休闲" tvg-logo="https://live.fanmingming.cn/tv/浙江民生休闲.png" group-title="浙江频道",浙江民生 +https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 +#EXTINF:-1 tvg-name="浙江经视" tvg-logo="https://live.fanmingming.cn/tv/浙江经济生活.png" group-title="浙江频道",浙江经济 +https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8 +#EXTINF:-1 tvg-name="浙江钱江都市" tvg-logo="https://live.fanmingming.cn/tv/钱江都市.png" group-title="浙江频道",浙江钱江 +https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 +#EXTINF:-1 tvg-name="内蒙古综合" tvg-logo="https://live.fanmingming.cn/tv/内蒙古新闻综合.png" group-title="内蒙频道",内蒙新闻 +https://livestream-bt.nmtv.cn/nmtv/2316general.m3u8?txSecret=b4373417a82ed64e52b0982a66da8df2&txTime=771E8800 +#EXTINF:-1 tvg-name="内蒙古经济生活" tvg-logo="https://live.fanmingming.cn/tv/内蒙古经济生活.png" group-title="内蒙频道",内蒙经济 +https://livestream-bt.nmtv.cn/nmtv/2317general.m3u8?txSecret=112b2c4c872de52b0f37aff6ead63ef0&txTime=771E8800 +#EXTINF:-1 tvg-name="内蒙古少儿" tvg-logo="https://live.fanmingming.cn/tv/内蒙古少儿.png" group-title="内蒙频道",内蒙少儿 +https://livestream-bt.nmtv.cn/nmtv/2318general.m3u8?txSecret=a2c948908728a0733cecbe1fadea23dc&txTime=771E8800 +#EXTINF:-1 tvg-name="内蒙古文体娱乐" tvg-logo="https://live.fanmingming.cn/tv/内蒙古文体娱乐.png" group-title="内蒙频道",内蒙文体 +https://livestream-bt.nmtv.cn/nmtv/2319general.m3u8?txSecret=c7b5c515d2bb6df442492d54955329a3&txTime=771E8800 +#EXTINF:-1 tvg-name="内蒙古农牧" tvg-logo="https://live.fanmingming.cn/tv/内蒙古农牧.png" group-title="内蒙频道",内蒙农牧 +https://livestream-bt.nmtv.cn/nmtv/2320general.m3u8?txSecret=4d368a175afa19737a9f5be10af24fe2&txTime=771E8800 +#EXTINF:-1 tvg-name="内蒙古蒙语卫视" tvg-logo="https://live.fanmingming.cn/tv/内蒙古蒙语卫视.png" group-title="内蒙频道",蒙语卫视 +https://livestream-bt.nmtv.cn/nmtv/2315general.m3u8?txSecret=4971666599ef9411629213c9a300bf66&txTime=771EF880 +#EXTINF:-1 tvg-name="内蒙古蒙语文化" tvg-logo="https://live.fanmingming.cn/tv/内蒙古蒙语文化.png" group-title="内蒙频道",蒙语文化 +https://livestream-bt.nmtv.cn/nmtv/2321general.m3u8?txSecret=d9d0fd7a252ef56b515c46a2e21830f4&txTime=771E8800 +#EXTINF:-1 tvg-name="呼和浩特新闻综合" tvg-logo="https://live.fanmingming.cn/tv/呼和浩特新闻综合.png" group-title="内蒙频道",呼市新闻综合 +https://livestream-bt.nmtv.cn/nmtv/2331general.m3u8?txSecret=4d7342ca5cd74480526ab6d292247aff&txTime=771E8800 +#EXTINF:-1 tvg-name="包头新闻综合" tvg-logo="https://live.fanmingming.cn/tv/包头新闻综合.png" group-title="内蒙频道",包头新闻综合 +https://livestream-bt.nmtv.cn/nmtv/2358general.m3u8?txSecret=98390a77c143a68f0fd64bfe6e181dcb&txTime=771E8800 +#EXTINF:-1 tvg-name="鄂尔多斯新闻综合" tvg-logo="https://live.fanmingming.cn/tv/鄂尔多斯新闻综合.png" group-title="内蒙频道",鄂尔多斯新闻 +https://livestream-bt.nmtv.cn/nmtv/2349general.m3u8?txSecret=e44477052aba305cadeea45aaf1c674a&txTime=771E8800 +#EXTINF:-1 tvg-name="巴彦淖尔新闻综合" tvg-logo="https://live.fanmingming.cn/tv/巴彦淖尔新闻综合.png" group-title="内蒙频道",巴彦淖尔新闻 +https://livestream-bt.nmtv.cn/nmtv/2348general.m3u8?txSecret=6a4ddce077e41b976fe33619fbef2b30&txTime=771E8800 +#EXTINF:-1 tvg-name="赤峰新闻综合" tvg-logo="https://live.fanmingming.cn/tv/赤峰新闻综合.png" group-title="内蒙频道",赤峰新闻综合 +https://livestream-bt.nmtv.cn/nmtv/2351general.m3u8?txSecret=8857087aeec2cec44d178a18550fdb8a&txTime=771E8800 +#EXTINF:-1 tvg-name="乌兰察布新闻综合" tvg-logo="https://live.fanmingming.cn/tv/乌兰察布.png" group-title="内蒙频道",乌兰察布新闻 +https://livestream-bt.nmtv.cn/nmtv/2354general.m3u8?txSecret=cf5f71d0000862b18f5813607b3dfd5b&txTime=771E8800 +#EXTINF:-1 tvg-name="CGTN" tvg-logo="https://live.fanmingming.cn/tv/CGTN.png" group-title="央视频道",CGTN英语 +https://0472.org/hls/cgtn.m3u8 +#EXTINF:-1 tvg-name="CGTN纪录" tvg-logo="https://live.fanmingming.cn/tv/CGTN纪录.png" group-title="央视频道",CGTN记录 +https://0472.org/hls/cgtnd.m3u8 +#EXTINF:-1 tvg-name="CGTN俄语" tvg-logo="https://live.fanmingming.cn/tv/CGTN俄语.png" group-title="央视频道",CGTN俄语 +https://0472.org/hls/cgtne.m3u8 +#EXTINF:-1 tvg-name="CGTN法语" tvg-logo="https://live.fanmingming.cn/tv/CGTN法语.png" group-title="央视频道",CGTN法语 +https://0472.org/hls/cgtnf.m3u8 +#EXTINF:-1 tvg-name="CGTN西语" tvg-logo="https://live.fanmingming.cn/tv/CGTN西语.png" group-title="央视频道",CGTN西语 +https://0472.org/hls/cgtnx.m3u8 +#EXTINF:-1 tvg-name="CGTN阿语" tvg-logo="https://live.fanmingming.cn/tv/CGTN阿语.png" group-title="央视频道",CGTN阿语 +https://0472.org/hls/cgtna.m3u8 diff --git a/小米/lives/V4聚合(卡顿请按左┃右键换线).txt b/小米/lives/V4聚合(卡顿请按左┃右键换线).txt index 98ba045..21bf736 100644 --- a/小米/lives/V4聚合(卡顿请按左┃右键换线).txt +++ b/小米/lives/V4聚合(卡顿请按左┃右键换线).txt @@ -11,16 +11,16 @@ http://39.164.180.36:19901/tsfile/live/0001_2.m3u8?key=txiptv&playlive=0&authid= http://39.164.180.36:19901/tsfile/live/0001_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路200』 #EXTINF:-1 group-title="央视频道",CCTV1 http://183.215.134.239:19901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 +#EXTINF:-1 group-title="央视频道",CCTV1 +http://8.138.7.223/tv/dl/douyincdn.php?id=1$LR•IPV4『线路155』 +#EXTINF:-1 group-title="央视频道",CCTV1 +http://8.138.7.223/tv/dl/careryun.php?id=1$LR•IPV4『线路157』 +#EXTINF:-1 group-title="央视频道",CCTV1 +http://iptv.huuc.edu.cn/hls/cctv1hd.m3u8 #EXTINF:-1 group-title="央视频道",CCTV2 http://39.164.180.36:19901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="央视频道",CCTV2 http://39.164.180.36:19901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路181』 -#EXTINF:-1 group-title="央视频道",CCTV2 -http://8.138.7.223/tv/dl/douyincdn.php?id=2$LR•IPV4『线路146』 -#EXTINF:-1 group-title="央视频道",CCTV2 -http://8.138.7.223/tv/dl/careryun.php?id=2$LR•IPV4『线路148』 -#EXTINF:-1 group-title="央视频道",CCTV-3综艺 -http://61.156.228.12:8154/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 group-title="央视频道",CCTV3 http://39.164.180.36:19901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="央视频道",CCTV3 @@ -33,19 +33,15 @@ http://8.138.7.223/tv/dl/douyincdn.php?id=3$LR•IPV4『线路134』 http://112.46.105.20:8009/hls/3/index.m3u8 #EXTINF:-1 group-title="央视频道",CCTV3 http://iptv.huuc.edu.cn/hls/cctv3hd.m3u8 +#EXTINF:-1 group-title="央视频道",CCTV3 +http://8.138.7.223/tv/dl/careryun.php?id=3$LR•IPV4『线路136』 #EXTINF:-1 group-title="央视频道",CCTV4 http://39.164.180.36:19901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="央视频道",CCTV4 -http://8.138.7.223/tv/dl/careryun.php?id=6$LR•IPV4『线路151』 -#EXTINF:-1 group-title="央视频道",CCTV4 http://39.164.180.36:19901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路191』 #EXTINF:-1 group-title="央视频道",CCTV4 -http://8.138.7.223/tv/dl/douyincdn.php?id=4$LR•IPV4『线路145』 -#EXTINF:-1 group-title="央视频道",CCTV4 http://8.138.7.223/tv/dl/careryun.php?id=4$LR•IPV4『线路149』 #EXTINF:-1 group-title="央视频道",CCTV4 -http://8.138.7.223/tv/dl/careryun.php?id=5$LR•IPV4『线路150』 -#EXTINF:-1 group-title="央视频道",CCTV4 http://iptv.huuc.edu.cn/hls/cctv4hd.m3u8 #EXTINF:-1 group-title="央视频道",CCTV5 http://39.164.180.36:19901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路192』 @@ -62,7 +58,31 @@ http://120.76.248.139/live/bfgd/4200000246.m3u8 #EXTINF:-1 group-title="央视频道",CCTV5+ http://39.164.180.36:19901/tsfile/live/0016_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路152』 #EXTINF:-1 group-title="央视频道",CCTV5+ -http://8.138.7.223/tv/mgitv.php?id=26$LR•IPV4『线路98』 +https://www.freetv.top/migu/641886773.m3u8?migutoken=03a1b82e35e58cd89a95034ecb29e77e50493397000ec2b1e4d1ce59af01e6420d6dbc068c8230ec03be3a35a20eed8714e0959e3570a08713a7a2e8d86085eabf8f1aa85744c80c38343988b2$LR•IPV4『线路85』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +https://www.freetv.top/migu/641886773.m3u8?migutoken=d57fee211897159700add52df7fa3cc7a33c8a36badab30689bd7e02d578ef2c5a1f2dfec5736538ddf6531be37ece2b758f850641e3bdbf9d62e9df98d925e5a8986dc9134dbcea7e2157891f$LR•IPV4『线路130』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +https://www.freetv.top/migu/641886773.m3u8?migutoken=a79abb65a17f5be7da5d3ec37960d15f3a6b164cf4540fb85ca8f60c68726c5c84ee3e9356f5c9515215acf25f71251776bf3e39fc89015d04e7a8ecb61ac182200548094f6aa8d0fdcb89d528$LR•IPV4『线路131』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +https://www.freetv.top/migu/641886773.m3u8?migutoken=4f1a9fcd002d1813b494eddd61778e103dbe130f4abb409e9032be9917dfd1871014d622a729fd6ffc4e1c376330de3f42c3691e2b49d12f7eb77bdf1887e67a9e6ad438d269a4408f0b3c6bcb$LR•IPV4『线路132』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +https://www.freetv.top/migu/641886773.m3u8?migutoken=8bdd5fb612b1814bc05e5d5a3587038b63a57118a3711f5deef616dae26551e2cf590ae33184188b9a54b1b09b28b53140036f0044b69a6e185a0a45ae997cbd63632ab73031fd27cc6a35e3a1$LR•IPV4『线路133』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +https://www.freetv.top/migu/641886773.m3u8?migutoken=04826a9d5cfc1d3166ded238eb3806d3454207482687b55dbe79a6feb6b4c046e0698d1e7b284da304040eae0ba7b6e833ace3e48213d98981589f226722524cddab32a63d58c1c4e60a091000$LR•IPV4『线路135』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +https://www.freetv.top/migu/641886773.m3u8?migutoken=90ec1fec9d68b81a57600447989d07f36991aa61b8c4326b157e808a9708936512eae4c6777deb137597da627c6aeda1c609f4dd009d434672c6798fba04c925fe43bcecf3fa6847f848e962a8$LR•IPV4『线路136』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +https://www.freetv.top/migu/641886773.m3u8?migutoken=d79923540b82c440681df5ec1922b77d612bf548b5e32ff4626a92ddf4935a6d91268da66b6f205ad0ad05a3e8f3df71e61d2f93679ac0c9ce72edcb607da33c0dedc1b5f60835ba726e273f9b$LR•IPV4『线路137』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +https://www.freetv.top/migu/641886773.m3u8?migutoken=21c23fcaff7e7a82aa520fc15813e6896ca424dc252d40d750cae121ec1d821b7ee9f67e7e361a2299c83415fc12c810f27816d6433288b01f7f637cd82c2a8b07e616a7d1042eccab80bbec3d$LR•IPV4『线路138』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +https://www.freetv.top/migu/641886773.m3u8?migutoken=d7396c05a877872a7519b5df4582a7a4bdf13c82d09889e561f50d0035f006d199741b00d465e4e41b0f706bccfe3420f5d427961e7698ad2a8b8d82d9d320a827310f6c8a7d1c8f203c91b392$LR•IPV4『线路140』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +https://www.freetv.top/migu/641886773.m3u8?migutoken=408252ae4ee84d4533a52e87dc35e108f3557992d0837a3c98af9093fccdb78373328e743136467868d2125b1fa35c3f4d576327db5e3ec96ec3108e28e950fb462f2dc81da44be8ae43ebe0ce$LR•IPV4『线路141』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +http://www.freetv.top/migu/641886773.m3u8?migutoken=752524a725f1fe3e2f8566518e97cd59f827e367318341fa56132b91af956b4e1cd85f255dd26352c1e9611c76770d0ba4afaf07d71eb65ec9859b3d8239dd7806fb2b21c9410b3e062eab2fcc$LR•IPV4『线路142』 +#EXTINF:-1 group-title="央视频道",CCTV5+ +http://111.43.126.240:9003/hls/81/index.m3u8 #EXTINF:-1 group-title="央视频道",CCTV6 http://39.164.180.36:19901/tsfile/live/0006_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="央视频道",CCTV6 @@ -72,9 +92,17 @@ http://221.2.148.205:8154/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 group-title="央视频道",CCTV6 http://8.138.7.223/tv/dl/careryun.php?id=9$LR•IPV4『线路134』 #EXTINF:-1 group-title="央视频道",CCTV6 -http://61.156.228.12:8154/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路279』 -#EXTINF:-1 group-title="央视频道",CCTV6 http://112.46.105.20:8009/hls/6/index.m3u8 +#EXTINF:-1 group-title="央视频道",CCTV6 +http://8.138.7.223/tv/dl/douyincdn.php?id=6$LR•IPV4『线路132』 +#EXTINF:-1 group-title="央视频道",CCTV6 +https://www.freetv.top/migu/624878396.m3u8?migutoken=fad6ba45166658ac148a6a597b94823f91673302510000cce2a906c7a6634ee620570956e2746b8b2cf59ae5370dd0f1ff919edf280e875ab76365c094c9960948ebc38ca05218b8effb809ba5$LR•IPV4『线路321』 +#EXTINF:-1 group-title="央视频道",CCTV6 +https://www.freetv.top/migu/624878396.m3u8?migutoken=38a08d31f79563a15b6c38307b16c1f1fd2715f58a1bff21d307adaa6597fb3ea267812ba6ac28a74fa0648f0a2003c0d93e137f0257353bff9dedc7eff0cc871a38e97a269bf9ab6e14a4171d$LR•IPV4『线路326』 +#EXTINF:-1 group-title="央视频道",CCTV6 +https://www.freetv.top/migu/624878396.m3u8?migutoken=6b67cbdfb1839f227832346707fcbe0f8de95d5df4faa3a63d5243e5f4ca0f52e79f041476a989915ac41a009e4c8f405f58040a4d4ec74bde4c945654300a3c41c00f4d67ef3708cb107ba9e9$LR•IPV4『线路328』 +#EXTINF:-1 group-title="央视频道",CCTV6 +http://iptv.huuc.edu.cn/hls/cctv6hd.m3u8 #EXTINF:-1 group-title="央视频道",CCTV7 http://8.138.7.223/tv/cctv7.m3u8 #EXTINF:-1 group-title="央视频道",CCTV7 @@ -84,7 +112,7 @@ http://39.164.180.36:19901/tsfile/live/0007_1.m3u8?key=txiptv&playlive=0&authid= #EXTINF:-1 group-title="央视频道",CCTV7 http://8.138.7.223/tv/dl/douyincdn.php?id=7$LR•IPV4『线路145』 #EXTINF:-1 group-title="央视频道",CCTV7 -http://8.138.7.223/tv/dl/careryun.php?id=10$LR•IPV4『线路147』 +http://iptv.huuc.edu.cn/hls/cctv7hd.m3u8 #EXTINF:-1 group-title="央视频道",CCTV8 http://39.164.180.36:19901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="央视频道",CCTV8 @@ -93,118 +121,42 @@ http://61.156.228.12:8154/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 http://39.164.180.36:19901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路154』 #EXTINF:-1 group-title="央视频道",CCTV8 http://112.46.105.20:8009/hls/8/index.m3u8 +#EXTINF:-1 group-title="央视频道",CCTV8 +http://8.138.7.223/tv/dl/douyincdn.php?id=8$LR•IPV4『线路126』 +#EXTINF:-1 group-title="央视频道",CCTV8 +http://8.138.7.223/tv/dl/careryun.php?id=11$LR•IPV4『线路128』 +#EXTINF:-1 group-title="央视频道",CCTV8 +http://iptv.huuc.edu.cn/hls/cctv8hd.m3u8 #EXTINF:-1 group-title="央视频道",CCTV9 http://39.164.180.36:19901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&au #EXTINF:-1 group-title="央视频道",CCTV9 http://39.164.180.36:19901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="央视频道",CCTV9 -http://39.164.160.249:9901/tsfile/live/0009_1.m3u8 -#EXTINF:-1 group-title="央视频道",CCTV9 -http://8.138.7.223/tv/dl/careryun.php?id=12$LR•IPV4『线路139』 -#EXTINF:-1 group-title="央视频道",CCTV9 -http://8.138.7.223/tv/dl/douyincdn.php?id=9$LR•IPV4『线路137』 -#EXTINF:-1 group-title="央视频道",CCTV9 http://39.164.180.36:19901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路160』 #EXTINF:-1 group-title="央视频道",CCTV10 http://39.164.180.36:19901/tsfile/live/0010_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="央视频道",CCTV10 -http://39.164.160.249:9901/tsfile/live/0010_1.m3u8 -#EXTINF:-1 group-title="央视频道",CCTV10 http://8.138.7.223/tv/dl/douyincdn.php?id=10$LR•IPV4『线路141』 #EXTINF:-1 group-title="央视频道",CCTV10 -http://8.138.7.223/tv/dl/careryun.php?id=13$LR•IPV4『线路143』 +http://iptv.huuc.edu.cn/hls/cctv10hd.m3u8 +#EXTINF:-1 group-title="央视频道",CCTV-10 +http://61.138.128.226:19901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 group-title="央视频道",CCTV11 http://39.164.180.36:19901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="央视频道",CCTV11 http://39.164.160.249:9901/tsfile/live/0011_1.m3u8 -#EXTINF:-1 group-title="央视频道",CCTV11 -http://8.138.7.223/tv/dl/careryun.php?id=14$LR•IPV4『线路132』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=dfda8acb7dfd1d1149e2e4a381e46a298c47e88f939d7deef7846d6e15f76fc596a0a58e349a64678edbb921fc353b458211c4bbf22e23bb75fd1dc9384d8c251c729958bddd28ec81d8c0922f$LR•IPV4『线路246』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=0889c33c8749b813b28c533d0ceb5e64bdf62396a1f0d2d849b8980a53dc7a8553dda3a862c070fb58ada9d23f299446643d38d44ab5b1506b0ff3a5033bd766ae621fd4e8c886ae46a9905d73$LR•IPV4『线路248』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=16827d54043eba69d051685229b1d0623c01f398f643b3a7d912c9929d6525025ef57eb61666d45bb70dfc86405aa336ca762f0bda4f0284d98eddae4042805df42661f954a1d40820829ec8c2$LR•IPV4『线路252』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=dbfc420c420e30228efe23e562fc0ee670a65ddac45cc355845b855f27a4e5ba04a7e18d73eb58be7427a4bed6ef9056659fbcf58979a56ccbe84899cfdf0644fc1215333ca6210639196795f2$LR•IPV4『线路253』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=14896515d1514a4437b9fc787f82cc339fe93aeeb6c156d0db550c36ad47ad15227653e5e1212a901544141c80eaeb141492d17e72b51ec0f8367c6081e6f56027d717b45ee0502bd44fc7b295$LR•IPV4『线路254』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=408059f9700f7f56e62184e265e65547e81239e202e8eca9e4c8b6af6d24f1b95ecc82d9a995833141f0ac6d599ff24fc9f1a323a6beb60301088388f1601c0e7c72b52ba0a58472e525714823$LR•IPV4『线路255』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=b64f3a361e8074b39bbbad35bdf17e43f722bcfa61647fe1ac137ea76cd90f034c1ab08fffb962f33c8dbe34b78847898aa262bf4eb0da6bbe3ef3975c49ee67fa1049054ac575c70a5fe5836e$LR•IPV4『线路256』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=0960d7e074be53abeacd988e7daaca6d1477b1f255f98a01c33c7adf74ac246fe65a23451c3cff9b1203a6285cec778b6d488bd805e9d2433abe3ca23eb24e4f2a5f36bba821773558e1dec231$LR•IPV4『线路257』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=4c903e5316196f2e3d586dc059cbb28c4bee023a690e5e366a6178f6c339df906f37cc0cf3efc277fd847991bc5c69f5d53eb0a19222cf25d5a646a7ae998a25cefc549cdf0f8c5a1c2d38fe88$LR•IPV4『线路260』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=94966fdba4386de76a59ad1052a1c8095cf8663510a3916813c5e60acb984ae723c749b8fc8917a8201dcae662c135045ceb026cdb90e5c76804938cb26605a70e496eb6695eb30a63b32270a9$LR•IPV4『线路261』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=1d0a7c51349d0d29392d62f5685c0adeccb58bc9a3ffea11a91caa97486b3676f1419283c7373cda120fc07d90d911e4191c58663b10666354a5140046e37437b3dfa6cb78242873fb16b97565$LR•IPV4『线路262』 -#EXTINF:-1 group-title="央视频道",CCTV11 -https://www.freetv.top/migu/667987558.m3u8?migutoken=6f0aba8bb528e29d40340f6930899fd9d7af9fd013c355a61146d5528e6ac297c46d65935ffcea640455737c324736dd8a29f22083f5450155873c9e89d3a4fb8b6b92b897a7dc62ad55fd891d$LR•IPV4『线路263』 -#EXTINF:-1 group-title="央视频道",CCTV11 -http://www.freetv.top/migu/667987558.m3u8?migutoken=00a21f1483e571da068c555e3eea928f7c6183b26d7acc2afe9bb5e115f0005e02b6118176789d76765ae297bd6dfe4e14966e64415f0781535d91ed266aac177d6ff10fa6358e0eedddc2223b$LR•IPV4『线路264』 #EXTINF:-1 group-title="央视频道",CCTV12 http://39.164.180.36:19901/tsfile/live/0012_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="央视频道",CCTV12 -http://8.138.7.223/tv/dl/douyincdn.php?id=12$LR•IPV4『线路149』 -#EXTINF:-1 group-title="央视频道",CCTV12 http://8.138.7.223/tv/dl/careryun.php?id=15$LR•IPV4『线路151』 #EXTINF:-1 group-title="央视频道",CCTV12 -https://www.freetv.top/migu/673168185.m3u8?migutoken=37acadb43b1d7932b0a1e8a4f2d01a06b42a10c31f3ccb417bae200ac3028f30a8110509f2cd6cd130aee4b21c85693aa49817f3381e4d28e140d8db1a20b6fecea22fec17a70ff1341efe6081$LR•IPV4『线路162』 -#EXTINF:-1 group-title="央视频道",CCTV12 -https://www.freetv.top/migu/673168185.m3u8?migutoken=40766e9859972e6ae171d58afa7e850faae4246a22bcbd157d273c1bd3b350c0a628f5bf360a7db1d2783c2aadcb2234c9655b4da63085bdef253dcca0b0c76b5ac80d0f95782b3b7bd4a0e881$LR•IPV4『线路283』 -#EXTINF:-1 group-title="央视频道",CCTV12 -https://www.freetv.top/migu/673168185.m3u8?migutoken=876a940958defb8a6514e54b9a992f0208f7db15754439ec4131d690bb68982f44bdfa6edbdbbdaf91035ca931a5577a8de3f1af81b18ee26104662899818f2703ab8bf49c63365ef4c1abb782$LR•IPV4『线路285』 -#EXTINF:-1 group-title="央视频道",CCTV12 -https://www.freetv.top/migu/673168185.m3u8?migutoken=2c8ff357aa2421f58bdbe7599a401e91b4e82c915fb4cdc01b7b5958d324557b8fe0b9dfc2848124c14b3c90fbeeaaec9a973e08efe51011771d0fbfcdfb36bbb23ba40211547f349c501b6997$LR•IPV4『线路288』 -#EXTINF:-1 group-title="央视频道",CCTV12 -https://www.freetv.top/migu/673168185.m3u8?migutoken=76bebb6e232f0fab2255a916973032f09dc402780dd9463245d5237e70aa9461dc91a243e619fe0da57b167eb3d0dea54b5eb6fc957bb9cb07fe18e072e9c76b6e8a128db454b6b97d90206f5a$LR•IPV4『线路289』 -#EXTINF:-1 group-title="央视频道",CCTV12 -https://www.freetv.top/migu/673168185.m3u8?migutoken=850e10c4b3e2559846e644627d1497207d19de95ff18847d49e0964a8624df5197b1262ebe2daea9c3cfc41d24fec5145f55e042a0eec5e360ac914bf90f7be722595f32839fa076275e91b466$LR•IPV4『线路290』 -#EXTINF:-1 group-title="央视频道",CCTV12 -https://www.freetv.top/migu/673168185.m3u8?migutoken=ff6a5a89e6ad0f73cd78424df3be0abe3743e8bbd37698f2dcee8ece0d6ffbe0c1205c704c08924958889799dcc66d9333f4273e5dc9ead670713fd2b2292e201873fb66020ec85899c7bd2a05$LR•IPV4『线路292』 -#EXTINF:-1 group-title="央视频道",CCTV12 -https://www.freetv.top/migu/673168185.m3u8?migutoken=5423237e9d331ddbd254f9b34f235d2d3a581587f12081d6f4dc2e5fd33889675377b585750675d9d08c0a7620fee257f9f2994877ebd92907417411e935c2e49fbcbe53ead412cd81dfa7dfba$LR•IPV4『线路293』 -#EXTINF:-1 group-title="央视频道",CCTV12 -https://www.freetv.top/migu/673168185.m3u8?migutoken=6da0b98d673331a792733285434b6f75aefe1d72574d51d388f210f853362b7f5cd07a7969ae76778b0d05129f6c205abeb3a168906b638ece23bdde93d5a86f47482052cd9b44f53ceefb2207$LR•IPV4『线路294』 -#EXTINF:-1 group-title="央视频道",CCTV12 -https://www.freetv.top/migu/673168185.m3u8?migutoken=a099c4781935e65ce141b770794c3b43ae66c9cff99a441ab85b8a676ceb9472ea0e60b610403e97c019904f7c814c2524dc1f8f884664706b7b5a1ce4fd076c7f8c776c9d73f4a0fc12b259f3$LR•IPV4『线路298』 -#EXTINF:-1 group-title="央视频道",CCTV12 -http://www.freetv.top/migu/673168185.m3u8?migutoken=21a3954b28c73a4240272889ec94c3318c23068f666c79e61379cb154a890e4e7e3c998a578b29a381972f128751898531cb713221ff95385afec91149321ad772e31489fa01e553c8223e976a$LR•IPV4『线路301』 +http://iptv.huuc.edu.cn/hls/cctv12hd.m3u8 #EXTINF:-1 group-title="央视频道",CCTV13 https://event.pull.hebtv.com/jishi/cp1.m3u8 #EXTINF:-1 group-title="央视频道",CCTV13 http://ali-m-l.cztv.com/channels/lantian/channel21/1080p.m3u8 #EXTINF:-1 group-title="央视频道",CCTV13 http://39.164.160.249:9901/tsfile/live/0013_1.m3u8 -#EXTINF:-1 group-title="央视频道",CCTV13 -http://8.138.7.223/tv/dl/douyincdn.php?id=13$LR•IPV4『线路138』 -#EXTINF:-1 group-title="央视频道",CCTV13 -http://8.138.7.223/tv/dl/careryun.php?id=16$LR•IPV4『线路140』 -#EXTINF:-1 group-title="央视频道",CCTV13 -https://www.freetv.top/migu/608807423.m3u8?migutoken=7a9f631c12e3f260a1be234f09172421b9cb241df766874aae8a36485a148b231acfe7a255db39c6e6affcb6015c80f4607fcc3301cfb28d121090c6eef969c85d1a23a3a6e649c0557dda6ae3$LR•IPV4『线路237』 -#EXTINF:-1 group-title="央视频道",CCTV13 -https://www.freetv.top/migu/608807423.m3u8?migutoken=b0ebf450385413f8d70e72a92ceba03e41170d59df1374472666311b9a1b26c2665ac29d287ef869f8998593325508eed5b09a4020d14bc557a3fe580eea0c0f4c2c13a4581ddb400575b8d3e9$LR•IPV4『线路242』 -#EXTINF:-1 group-title="央视频道",CCTV13 -https://www.freetv.top/migu/608807423.m3u8?migutoken=776326ca258673fca618a4f3a2ff6e001516e1bd1de00a273f9321b167eace944b1fea149e58d9f61f99fdcb505524330bcadd896ad46e9264a6c57fcd05b0e7b924e3462804a5228697c43f3f$LR•IPV4『线路247』 -#EXTINF:-1 group-title="央视频道",CCTV13 -https://www.freetv.top/migu/608807423.m3u8?migutoken=ac75a7b224f6d682c32c041ab4e0382dbb3ff875e9f9296ab33b8f3b7d44ac493d7bf97160232973e9f25fe71232f5180c8fe73aaee23768741e101519263d172ad60f77351699f0863c60b8ff$LR•IPV4『线路260』 -#EXTINF:-1 group-title="央视频道",CCTV13 -https://www.freetv.top/migu/608807423.m3u8?migutoken=d04a0fbe708570ac8859ed559ac6241f3a9da203b9f1dcecbbb627c30fca3aac016d99c7e9dc1efa5b5bd973de8170af65d84d3bfdc932709679f2a688284458be83238ceef24aa5196ad54167$LR•IPV4『线路261』 -#EXTINF:-1 group-title="央视频道",CCTV13 -https://www.freetv.top/migu/608807423.m3u8?migutoken=b3b4ddc2f6494b8b098f8722480f65f33fabde80e2873f9c7ad3a37c1d0e0053da396027d844896109a0c960d9c8be0b4932204b5648e71ef398f07c48501fade68f689c2175b139ba190f4ab4$LR•IPV4『线路263』 -#EXTINF:-1 group-title="央视频道",CCTV13 -https://www.freetv.top/migu/608807423.m3u8?migutoken=62d2214274cef7d40b4114d45bf7638a556c67cd16bcf313098428f7b9c39529a9409be7e2a892a20359eed6ae89f4458686ab0c3b3d4ca5e2ca54e11342c5719c3a1e0e8af936fe2a1892a5fa$LR•IPV4『线路264』 -#EXTINF:-1 group-title="央视频道",CCTV13 -https://www.freetv.top/migu/608807423.m3u8?migutoken=85d3cf2d1e1511208a2074a3da420becee120fffec82c80e13e533bb191e19cba13d3f9831f111202869da1200838bc62ed7dcc00a437f0c3f013a2f2fbd4d23de657fbc5d9b1b4f432f49b15d$LR•IPV4『线路265』 -#EXTINF:-1 group-title="央视频道",CCTV13 -http://www.freetv.top/migu/608807423.m3u8?migutoken=d8e7d5104925c13570533f5db2f808b4613be4d2901d3d406a67fca92ee219bc3692dff97d63d38123fde519465b77404b0a2c0c59bec5e83ad2be42019845acc7e59290159021d585352689cc$LR•IPV4『线路266』 -#EXTINF:-1 group-title="央视频道",CCTV13 -https://www.freetv.top/migu/608807423.m3u8?migutoken=c2389cf5194aa51126151d56817f4b78c648be26d653da0ba123aedb4ac3bc7cf448bdf7e94a38f8a1d5ef942bd7584f21130d1702c97093596d8bf121dc9e10697c48b323b813404c8eff9ed6$LR•IPV4『线路268』 -#EXTINF:-1 group-title="央视频道",CCTV13 -https://www.freetv.top/migu/608807423.m3u8?migutoken=2ea304b199bfe39629418c1d50b3c9f34ba06712c9c7922a614411768b18496280cdfdee913572bdb8d1cdd3d5763460f2f0aea6c7a51095aaf66f1eb8f43ce6edbbeac22c35e78ecc39dbdf27$LR•IPV4『线路269』 #EXTINF:-1 group-title="央视频道",CCTV14 http://39.164.180.36:19901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路173』 #EXTINF:-1 group-title="央视频道",CCTV14 @@ -214,11 +166,17 @@ http://39.164.180.36:19901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=0&authid= #EXTINF:-1 group-title="央视频道",CCTV14 http://8.138.7.223/tv/dl/douyincdn.php?id=14$LR•IPV4『线路148』 #EXTINF:-1 group-title="央视频道",CCTV14 -https://www.freetv.top/migu/624878440.m3u8?migutoken=239edad94ac0bbff14f123c7f8996ed7639110bd6cf64ec8ba8cf85842224956d452ec8b683385cb27f8a7685224a03e3aa4d914b8fe33249da9df699351b105c795452d03f2be0a1f1e39adb0$LR•IPV4『线路161』 +http://8.138.7.223/tv/dl/careryun.php?id=17$LR•IPV4『线路150』 +#EXTINF:-1 group-title="央视频道",CCTV14 +http://61.138.128.226:19901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路276』 +#EXTINF:-1 group-title="央视频道",CCTV14 +http://iptv.huuc.edu.cn/hls/cctv14hd.m3u8 #EXTINF:-1 group-title="央视频道",CCTV15 http://39.164.160.249:9901/tsfile/live/0015_1.m3u8 #EXTINF:-1 group-title="央视频道",CCTV15 http://8.138.7.223/tv/dl/douyincdn.php?id=15$LR•IPV4『线路135』 +#EXTINF:-1 group-title="央视频道",CCTV15 +http://8.138.7.223/tv/dl/careryun.php?id=18$LR•IPV4『线路137』 #EXTINF:-1 group-title="央视频道",CCTV16 http://111.43.126.240:9003/hls/86/index.m3u8 #EXTINF:-1 group-title="央视频道",CCTV17 @@ -226,7 +184,9 @@ http://120.76.248.139/live/bfgd/4200000204.m3u8 #EXTINF:-1 group-title="央视频道",CCTV17 http://8.138.7.223/tv/dl/careryun.php?id=19$LR•IPV4『线路103』 #EXTINF:-1 group-title="央视频道",CCTV17 -http://8.138.7.223/tv/mgitv.php?id=79$LR•IPV4『线路121』 +http://8.138.7.223/tv/dl/douyincdn.php?id=16$LR•IPV4『线路101』 +#EXTINF:-1 group-title="央视频道",CCTV17 +http://111.43.126.240:9003/hls/30/index.m3u8 #EXTINF:-1 group-title="卫视频道",安多卫视 https://liveout.xntv.tv/a65jur/96iln2.m3u8 #EXTINF:-1 group-title="卫视频道",安多卫视 @@ -239,6 +199,10 @@ https://liveout.xntv.tv/a65jur/90p2i1.m3u8 http://39.164.180.36:19901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路104』 #EXTINF:-1 group-title="卫视频道",安徽卫视 http://39.164.180.36:19901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0 +#EXTINF:-1 group-title="卫视频道",安徽卫视 +http://8.138.7.223/tv/dl/careryun.php?id=26$LR•IPV4『线路91』 +#EXTINF:-1 group-title="卫视频道",安徽卫视 +http://iptv.huuc.edu.cn/hls/ahhd.m3u8 #EXTINF:-1 group-title="卫视频道",北京卫视 http://39.164.180.36:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路113』 #EXTINF:-1 group-title="卫视频道",北京卫视 @@ -246,51 +210,39 @@ http://39.164.180.36:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid= #EXTINF:-1 group-title="卫视频道",北京卫视 http://183.215.134.239:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 group-title="卫视频道",北京卫视 -https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s1/index.m3u8?time=1748552350&sign=ec0de50f02fd798c4c09f2ef85c04407 -#EXTINF:-1 group-title="卫视频道",北京卫视 -http://8.138.7.223/tv/dl/douyincdn.php?id=17$LR•IPV4『线路96』 -#EXTINF:-1 group-title="卫视频道",北京卫视 http://8.138.7.223/tv/dl/careryun.php?id=24$LR•IPV4『线路97』 #EXTINF:-1 group-title="卫视频道",北京卫视 http://221.226.4.10:9901/tsfile/live/1012_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路115』 #EXTINF:-1 group-title="卫视频道",北京卫视 -http://39.150.96.141:65535/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路157』 -#EXTINF:-1 group-title="卫视频道",北京卫视 https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s1/index.m3u8?time=1748635208&sign=90a059a6548d5c62874032d1195b8d11 -#EXTINF:-1 group-title="卫视频道",北京卫视4K超高清 -https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s41/index.m3u8?time=1748552354&sign=beb65d895e9035eb839fd32a9e9b2f07 +#EXTINF:-1 group-title="卫视频道",北京卫视 +http://1.195.30.9:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路212』 +#EXTINF:-1 group-title="卫视频道",北京卫视 +https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s1/index.m3u8?time=1748721610&sign=901bd1c4153485fd2bb3a535e7fdbdac #EXTINF:-1 group-title="卫视频道",北京卫视4K超高清 https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s41/index.m3u8?time=1748635212&sign=28d59cc5863e27092e8164a91297c87c +#EXTINF:-1 group-title="卫视频道",北京卫视4K超高清 +https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s41/index.m3u8?time=1748721613&sign=d45b8056399845419876cd89211db4d6 #EXTINF:-1 group-title="卫视频道",兵团卫视 http://liveout.btzx.com.cn/62ds9e/yil08g.m3u8 #EXTINF:-1 group-title="卫视频道",兵团卫视 -http://8.138.7.223/tv/btws.m3u8 -#EXTINF:-1 group-title="卫视频道",兵团卫视 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=c06942&tk=922ba46651d3 #EXTINF:-1 group-title="卫视频道",兵团卫视 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6bc0dc&tk=922ba46651d3 #EXTINF:-1 group-title="卫视频道",兵团卫视 http://8.138.7.223/tv/dl/careryun.php?id=47$LR•IPV4『线路17』 +#EXTINF:-1 group-title="卫视频道",藏语卫视 +http://php.jdshipin.com:8880/xztv.php?id=zy #EXTINF:-1 group-title="卫视频道",重庆卫视 http://39.164.180.36:19901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路102』 #EXTINF:-1 group-title="卫视频道",重庆卫视 http://39.164.180.36:19901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="卫视频道",重庆卫视 http://8.138.7.223/tv/dl/douyincdn.php?id=28$LR•IPV4『线路89』 -#EXTINF:-1 group-title="卫视频道",重庆卫视 -http://8.138.7.223/tv/dl/careryun.php?id=37$LR•IPV4『线路90』 #EXTINF:-1 group-title="卫视频道",大湾区卫视 http://ali.hlspull.yximgs.com/live/b027460e580a463cb7e44eebexcvhnddggdfsdg.flv #EXTINF:-1 group-title="卫视频道",大湾区卫视 http://222.128.55.152:9080/live/dwq.m3u8 -#EXTINF:-1 group-title="卫视频道",大湾区卫视 -https://www.freetv.top/migu/608917627.m3u8?migutoken=913ec7608066b2e139e10a729ed6e0b277096bf7d1577f04dec2f036a15f6db88631747d218643efc7515ff520286e2a56bc4f2231e6d692da49f8d555d3291bbba71e8f2993d5487b41afa6bf$LR•IPV4『线路6』 -#EXTINF:-1 group-title="卫视频道",大湾区卫视 -https://www.freetv.top/migu/608917627.m3u8?migutoken=bad0a45eea94649f2e7f1b35e1d98d034b874a02984a76abb21e4537dee28f974e6da241dc7705109722be71c8b1302302b51cd4cb06c69ca55fdcf7279d415e0a0fce7c492b6842956ab34fcc$LR•IPV4『线路15』 -#EXTINF:-1 group-title="卫视频道",大湾区卫视 -https://www.freetv.top/migu/608917627.m3u8?migutoken=22c28ab72744cd3ae1500fcedd9aa645eb0c35326cccb8cc6253c912a2fbdadb109d5f005d7dbbb62dbcb2e1f9a30bfa1935a4a046787bb5ac3e9ac1b5b654c16c2f7753fc37d2d51b2916310b$LR•IPV4『线路19』 -#EXTINF:-1 group-title="卫视频道",大湾区卫视 -https://www.freetv.top/migu/608917627.m3u8?migutoken=6e23ed23803d2776218fbd5b6931d4dd0d0a20d0269ca0da6b2efaaf101f71c62689ec1d6f73e16a10d1b756f7e23f0de494b881e2bc39c12250715721f84c185577680003f363869dba1b7e90$LR•IPV4『线路20』 #EXTINF:-1 group-title="卫视频道",东方卫视 http://39.164.180.36:19901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路119』 #EXTINF:-1 group-title="卫视频道",东方卫视 @@ -300,9 +252,9 @@ http://39.164.180.36:19901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid= #EXTINF:-1 group-title="卫视频道",东方卫视 http://222.169.85.8:9901/tsfile/live/0018_1.m3u8 #EXTINF:-1 group-title="卫视频道",东方卫视 -http://39.164.160.249:9901/tsfile/live/0107_1.m3u8 -#EXTINF:-1 group-title="卫视频道",东方卫视 http://8.138.7.223/tv/dl/careryun.php?id=20$LR•IPV4『线路105』 +#EXTINF:-1 group-title="卫视频道",东方卫视 +http://8.138.7.223/tv/dl/douyincdn.php?id=20$LR•IPV4『线路104』 #EXTINF:-1 group-title="卫视频道",东南卫视 http://39.164.180.36:19901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路98』 #EXTINF:-1 group-title="卫视频道",东南卫视 @@ -312,28 +264,18 @@ http://live.zohi.tv/video/s10001-fztv-3/index.m3u8 #EXTINF:-1 group-title="卫视频道",东南卫视 http://39.164.180.36:19901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="卫视频道",东南卫视 -http://aa3.kkwk111.top/fj.php?id=5 -#EXTINF:-1 group-title="卫视频道",东南卫视 -http://61.138.128.226:19901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路83』 -#EXTINF:-1 group-title="卫视频道",东南卫视 http://8.138.7.223/tv/dl/careryun.php?id=33$LR•IPV4『线路88』 #EXTINF:-1 group-title="卫视频道",东南卫视 -http://8.138.7.223/tv/dl/douyincdn.php?id=22$LR•IPV4『线路87』 -#EXTINF:-1 group-title="卫视频道",东南卫视 -http://8.138.7.223/tv/fjtv.php?id=5$LR•IPV4『线路95』 +http://iptv.huuc.edu.cn/hls/dnhd.m3u8 #EXTINF:-1 group-title="卫视频道",甘肃卫视 http://39.164.180.36:19901/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路57』 #EXTINF:-1 group-title="卫视频道",甘肃卫视 http://39.164.180.36:19901/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="卫视频道",甘肃卫视 -http://39.150.96.141:65535/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0 -#EXTINF:-1 group-title="卫视频道",甘肃卫视 http://39.150.96.141:65535/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路42』 #EXTINF:-1 group-title="卫视频道",甘肃卫视 http://8.138.7.223/tv/dl/careryun.php?id=45$LR•IPV4『线路52』 #EXTINF:-1 group-title="卫视频道",广东卫视 -http://39.164.180.36:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路113』 -#EXTINF:-1 group-title="卫视频道",广东卫视 http://183.215.134.239:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路116』 #EXTINF:-1 group-title="卫视频道",广东卫视 http://39.164.180.36:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=0&authid=0 @@ -343,22 +285,20 @@ http://183.215.134.239:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authi http://39.164.160.249:9901/tsfile/live/0125_1.m3u8 #EXTINF:-1 group-title="卫视频道",广东卫视 http://8.138.7.223/tv/dl/careryun.php?id=27$LR•IPV4『线路99』 -#EXTINF:-1 group-title="卫视频道",广西卫视 -http://39.164.180.36:19901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路79』 +#EXTINF:-1 group-title="卫视频道",广东卫视 +http://222.169.85.8:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路163』 +#EXTINF:-1 group-title="卫视频道",广东卫视 +http://1.195.30.9:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路219』 #EXTINF:-1 group-title="卫视频道",广西卫视 http://39.164.180.36:19901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="卫视频道",广西卫视 -http://124.128.73.58:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路35』 -#EXTINF:-1 group-title="卫视频道",广西卫视 http://221.2.148.205:8154/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路32』 #EXTINF:-1 group-title="卫视频道",广西卫视 -http://115.149.139.141:10001/tsfile/live/1037_1.m3u8?blog.ntnas.top$LR•IPV4『线路125』 -#EXTINF:-1 group-title="卫视频道",广西卫视 http://live.cztv.cc:85/live/ggpd.m3u8 #EXTINF:-1 group-title="卫视频道",广西卫视 http://8.138.7.223/tv/dl/careryun.php?id=40$LR•IPV4『线路67』 -#EXTINF:-1 group-title="卫视频道",贵州卫视 -http://39.164.180.36:19901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路101』 +#EXTINF:-1 group-title="卫视频道",广西卫视 +http://1.195.30.9:19901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路158』 #EXTINF:-1 group-title="卫视频道",贵州卫视 http://39.164.180.36:19901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="卫视频道",贵州卫视 @@ -373,6 +313,8 @@ http://120.76.248.139/live/bfgd/4200000473.m3u8 http://8.138.7.223/tv/dl/careryun.php?id=31$LR•IPV4『线路69』 #EXTINF:-1 group-title="卫视频道",海南卫视 http://8.138.7.223/tv/dl/douyincdn.php?id=24$LR•IPV4『线路68』 +#EXTINF:-1 group-title="卫视频道",海南卫视 +http://103.96.72.37:17777/tv/hainan.php #EXTINF:-1 group-title="卫视频道",海峡卫视 http://8.138.7.223/tv/fjtv1.php?id=hxws #EXTINF:-1 group-title="卫视频道",海峡卫视 @@ -393,10 +335,6 @@ http://1.94.31.214/php/hntv.php?id=hnws http://156.238.253.62:5555/tvbox/公众号好享生活小助手/河南.php?id=hnws #EXTINF:-1 group-title="卫视频道",河南卫视 http://103.96.72.37:17777/tv/henan.php -#EXTINF:-1 group-title="卫视频道",河南卫视 -http://8.138.7.223/tv/dl/careryun.php?id=38$LR•IPV4『线路77』 -#EXTINF:-1 group-title="卫视频道",河南卫视 -http://39.164.160.249:9901/tsfile/live/0139_1.m3u8 #EXTINF:-1 group-title="卫视频道",黑龙江卫视 http://39.164.180.36:19901/tsfile/live/0143_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路103』 #EXTINF:-1 group-title="卫视频道",黑龙江卫视 @@ -408,8 +346,6 @@ http://8.138.7.223/tv/dl/douyincdn.php?id=29$LR•IPV4『线路90』 #EXTINF:-1 group-title="卫视频道",黑龙江卫视 http://8.138.7.223/tv/dl/careryun.php?id=32$LR•IPV4『线路91』 #EXTINF:-1 group-title="卫视频道",湖北卫视 -http://39.164.180.36:19901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路107』 -#EXTINF:-1 group-title="卫视频道",湖北卫视 http://39.150.96.141:65535/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路190』 #EXTINF:-1 group-title="卫视频道",湖北卫视 http://39.164.180.36:19901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid=0 @@ -417,6 +353,8 @@ http://39.164.180.36:19901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid= http://8.138.7.223/tv/dl/douyincdn.php?id=25$LR•IPV4『线路93』 #EXTINF:-1 group-title="卫视频道",湖北卫视 http://120.76.248.139/live/bfgd/4200000102.m3u8 +#EXTINF:-1 group-title="卫视频道",湖北卫视 +http://8.138.7.223/tv/dl/careryun.php?id=28$LR•IPV4『线路94』 #EXTINF:-1 group-title="卫视频道",湖南卫视 http://39.164.180.36:19901/tsfile/live/0128_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路171』 #EXTINF:-1 group-title="卫视频道",湖南卫视 @@ -436,9 +374,7 @@ http://8.138.7.223/tv/dl/careryun.php?id=41$LR•IPV4『线路79』 #EXTINF:-1 group-title="卫视频道",江苏卫视 http://39.164.180.36:19901/tsfile/live/0127_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路115』 #EXTINF:-1 group-title="卫视频道",江苏卫视 -http://8.138.7.223/tv/dl/douyincdn.php?id=21$LR•IPV4『线路103』 -#EXTINF:-1 group-title="卫视频道",江苏卫视 -http://60.223.224.176:8888/newlive/live/hls/21/live.m3u8 +http://8.138.7.223/tv/dl/careryun.php?id=23$LR•IPV4『线路104』 #EXTINF:-1 group-title="卫视频道",江西卫视 http://39.164.180.36:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路105』 #EXTINF:-1 group-title="卫视频道",江西卫视 @@ -447,20 +383,18 @@ http://183.215.134.239:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authi http://183.215.134.239:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 group-title="卫视频道",江西卫视 http://183.215.134.239:19901/tsfile/live/0138_1.m3u8 -#EXTINF:-1 group-title="卫视频道",江西卫视 -http://61.138.128.226:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路86』 -#EXTINF:-1 group-title="卫视频道",江西卫视 -http://8.138.7.223/tv/dl/careryun.php?id=30$LR•IPV4『线路90』 #EXTINF:-1 group-title="卫视频道",莲花卫视 http://8.138.7.223/tv/lotustv.m3u8 +#EXTINF:-1 group-title="卫视频道",莲花卫视 +http://live-hls.macaulotustv.com/lotustv/macaulotustv.m3u8 #EXTINF:-1 group-title="卫视频道",辽宁卫视 http://39.164.180.36:19901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路105』 #EXTINF:-1 group-title="卫视频道",辽宁卫视 http://39.164.180.36:19901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="卫视频道",辽宁卫视 -http://115.149.139.141:10001/tsfile/live/1028_1.m3u8?blog.ntnas.top$LR•IPV4『线路163』 -#EXTINF:-1 group-title="卫视频道",辽宁卫视 http://8.138.7.223/tv/dl/careryun.php?id=36$LR•IPV4『线路84』 +#EXTINF:-1 group-title="卫视频道",辽宁卫视 +http://61.138.128.226:19901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路79』 #EXTINF:-1 group-title="卫视频道",内蒙古蒙语卫视 https://livestream-bt.nmtv.cn/nmtv/2315general.m3u8?txSecret=4971666599ef9411629213c9a300bf66&txTime=771EF880 #EXTINF:-1 group-title="卫视频道",内蒙古卫视 @@ -469,6 +403,10 @@ https://livestream-bt.nmtv.cn/nmtv/3208526general.m3u8?txSecret=eb5a3102dd5406c7 https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4『线路27』 #EXTINF:-1 group-title="卫视频道",内蒙古卫视 http://8.138.7.223/tv/nmgws.m3u8 +#EXTINF:-1 group-title="卫视频道",内蒙古卫视 +https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 +#EXTINF:-1 group-title="卫视频道",内蒙古卫视 +https://hyf000.eu.org/80947108/NMGWS #EXTINF:-1 group-title="卫视频道",青海卫视 http://39.164.180.36:19901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路58』 #EXTINF:-1 group-title="卫视频道",青海卫视 @@ -476,23 +414,19 @@ http://39.164.180.36:19901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=0&authid= #EXTINF:-1 group-title="卫视频道",青海卫视 http://120.76.248.139/live/bfgd/4200000111.m3u8 #EXTINF:-1 group-title="卫视频道",青海卫视 -http://39.150.96.141:65535/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路47』 -#EXTINF:-1 group-title="卫视频道",青海卫视 http://8.138.7.223/tv/dl/careryun.php?id=44$LR•IPV4『线路55』 +#EXTINF:-1 group-title="卫视频道",青海卫视 +http://1.195.30.9:19901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路163』 #EXTINF:-1 group-title="卫视频道",山东卫视 http://39.164.180.36:19901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路152』 #EXTINF:-1 group-title="卫视频道",山东卫视 -http://39.164.160.249:9901/tsfile/live/0131_1.m3u8 -#EXTINF:-1 group-title="卫视频道",山东卫视 http://39.164.180.36:19901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="卫视频道",山东卫视 http://39.164.180.36:19901/tsfile/live/0131_1.m3u8 #EXTINF:-1 group-title="卫视频道",山东卫视 -http://39.150.96.141:65535/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路86』 -#EXTINF:-1 group-title="卫视频道",山东卫视 -http://8.138.7.223/tv/dl/douyincdn.php?id=26$LR•IPV4『线路94』 -#EXTINF:-1 group-title="卫视频道",山东卫视 http://8.138.7.223/tv/dl/careryun.php?id=29$LR•IPV4『线路95』 +#EXTINF:-1 group-title="卫视频道",山东卫视 +http://1.195.30.9:19901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路186』 #EXTINF:-1 group-title="卫视频道",山西卫视 http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8 #EXTINF:-1 group-title="卫视频道",山西卫视 @@ -507,6 +441,8 @@ http://39.164.180.36:19901/tsfile/live/0136_1.m3u8?key=txiptv&amp;playlive=0 http://39.164.180.36:19901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="卫视频道",陕西卫视 http://hlsbkmgsplive.miguvideo.com/migu/kailu/shan3xiws/57/20220809/index.m3u8?msisdn=&mtv_session=&HlsSubType=1&HlsProfileId=1&nphaid=0&encrypt= +#EXTINF:-1 group-title="卫视频道",陕西卫视 +http://61.138.128.226:19901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 group-title="卫视频道",深圳卫视 http://39.164.180.36:19901/tsfile/live/0125_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路82』 #EXTINF:-1 group-title="卫视频道",深圳卫视 @@ -521,6 +457,8 @@ http://39.150.96.141:65535/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid= http://8.138.7.223/tv/dl/douyincdn.php?id=23$LR•IPV4『线路72』 #EXTINF:-1 group-title="卫视频道",深圳卫视 http://8.138.7.223/tv/dl/careryun.php?id=25$LR•IPV4『线路73』 +#EXTINF:-1 group-title="卫视频道",深圳卫视 +http://221.226.4.10:9901/tsfile/live/1023_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路86』 #EXTINF:-1 group-title="卫视频道",四川卫视 http://39.164.180.36:19901/tsfile/live/0123_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路90』 #EXTINF:-1 group-title="卫视频道",四川卫视 @@ -533,12 +471,14 @@ http://39.150.96.141:65535/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid= http://61.138.128.226:19901/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路72』 #EXTINF:-1 group-title="卫视频道",四川卫视 http://8.138.7.223/tv/dl/careryun.php?id=35$LR•IPV4『线路78』 +#EXTINF:-1 group-title="卫视频道",四川卫视 +http://8.138.7.223/tv/dl/douyincdn.php?id=27$LR•IPV4『线路77』 #EXTINF:-1 group-title="卫视频道",天津卫视 http://39.164.180.36:19901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路102』 #EXTINF:-1 group-title="卫视频道",天津卫视 http://39.164.180.36:19901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0 #EXTINF:-1 group-title="卫视频道",天津卫视 -http://115.149.139.141:10001/tsfile/live/1036_1.m3u8?blog.ntnas.top$LR•IPV4『线路160』 +http://8.138.7.223/tv/dl/careryun.php?id=43$LR•IPV4『线路93』 #EXTINF:-1 group-title="卫视频道",西藏卫视 http://www.lysvc.cc/daili/xztv.php?id=1 #EXTINF:-1 group-title="卫视频道",西藏卫视 @@ -547,10 +487,14 @@ http://www.lysvc.cc/daili/xztv.php http://103.96.72.37:17777/tv/xizang.php #EXTINF:-1 group-title="卫视频道",西藏卫视 http://www.lysvc.cc/daili/xztv.php?id=0 +#EXTINF:-1 group-title="卫视频道",西藏卫视 +http://php.jdshipin.com:8880/xztv.php?id=ws #EXTINF:-1 group-title="卫视频道",新疆卫视 http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd;http://218.84.12.186:8001/hls/main/playlist.m3u8zxinjd #EXTINF:-1 group-title="卫视频道",新疆卫视 http://218.84.12.186:8001/hls/main/playlist.m3u8 +#EXTINF:-1 group-title="卫视频道",新疆卫视 +http://8.138.7.223/tv/dl/careryun.php?id=46$LR•IPV4『线路45』 #EXTINF:-1 group-title="卫视频道",延边卫视 http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8 #EXTINF:-1 group-title="卫视频道",云南卫视 @@ -588,11 +532,9 @@ https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8 #EXTINF:-1 group-title="卫视频道",浙江卫视 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=56747a&tk=922ba46651d3 #EXTINF:-1 group-title="卫视频道",浙江卫视 -http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8$LR•IPV4『线路105』 -#EXTINF:-1 group-title="卫视频道",浙江卫视 -http://8.138.7.223/tv/dl/careryun.php?id=22$LR•IPV4『线路100』 -#EXTINF:-1 group-title="卫视频道",浙江卫视 http://221.226.4.10:9901/tsfile/live/1018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路118』 +#EXTINF:-1 group-title="卫视频道",浙江卫视 +http://8.138.7.223/tv/dl/douyincdn.php?id=19$LR•IPV4『线路99』 #EXTINF:-1 group-title="新闻频道",安顺新闻 https://ls.qingting.fm/live/5022203/64k.m3u8 #EXTINF:-1 group-title="新闻频道",安顺新闻 @@ -623,8 +565,12 @@ http://live.cztv.cc:85/live/xwpd.m3u8 http://dafeng-tv-hls.cm.jstv.com/dafeng-tv/dafengyt.m3u8 #EXTINF:-1 group-title="新闻频道",郸城新闻综合 http://tvpull.dxhmt.cn:9081/tv/11625-1.m3u8?wsSecret=df15530a0abec41b14bca00fc96270d1&wsTime=1654956569 +#EXTINF:-1 group-title="新闻频道",郸城新闻综合 +http://live.dxhmt.cn:9081/tv/11625-1.m3u8 #EXTINF:-1 group-title="新闻频道",邓州新闻 http://tvpull.dxhmt.cn:9081/tv/11381-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD] +#EXTINF:-1 group-title="新闻频道",邓州新闻 +http://live.dxhmt.cn:9081/tv/11381-1.m3u8 #EXTINF:-1 group-title="新闻频道",鄂尔多斯新闻综合 https://livestream-bt.nmtv.cn/nmtv/2349general.m3u8?txSecret=e44477052aba305cadeea45aaf1c674a&txTime=771E8800 #EXTINF:-1 group-title="新闻频道",福州新闻 @@ -635,6 +581,8 @@ https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 #EXTINF:-1 group-title="新闻频道",巩义新闻综合 http://tvpull.dxhmt.cn:9081/tv/10181-1.m3u8?zhend +#EXTINF:-1 group-title="新闻频道",巩义新闻综合 +http://live.dxhmt.cn:9081/tv/10181-1.m3u8 #EXTINF:-1 group-title="新闻频道",固镇新闻 http://www.guzhenm.com:7001/hls/hd-live.m3u8 #EXTINF:-1 group-title="新闻频道",固镇新闻 @@ -649,8 +597,6 @@ http://live.schstv.com:90/live/xwzh.m3u8 https://livestream-bt.nmtv.cn/nmtv/2331general.m3u8?txSecret=4d7342ca5cd74480526ab6d292247aff&txTime=771E8800 #EXTINF:-1 group-title="新闻频道",滑县新闻 http://tvpull.dxhmt.cn:9081/tv/10526-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD] -#EXTINF:-1 group-title="新闻频道",滑县新闻 -http://live.dxhmt.cn:9081/tv/10526-1.m3u8 #EXTINF:-1 group-title="新闻频道",吉县新闻综合 http://jxlive.jxrmtzx.com:8091/live/xwzh.m3u8?zshanxd #EXTINF:-1 group-title="新闻频道",吉县新闻综合 @@ -715,26 +661,30 @@ http://lxfile.lxxcb.cn:80/nmip-media/channellive/channel103799/playlist.m3u8 http://tvpull.dxhmt.cn:9081/tv/11726-1.m3u8 #EXTINF:-1 group-title="新闻频道",泌阳新闻综合 http://tvpull.dxhmt.cn:9081/tv/11726-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD] +#EXTINF:-1 group-title="新闻频道",泌阳新闻综合 +http://live.dxhmt.cn:9081/tv/11726-1.m3u8 #EXTINF:-1 group-title="新闻频道",渑池新闻综合 http://tvpull.dxhmt.cn:9081/tv/11221-1.m3u8 #EXTINF:-1 group-title="新闻频道",渑池新闻综合 http://tvpull.dxhmt.cn:9081/tv/11221-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD] +#EXTINF:-1 group-title="新闻频道",渑池新闻综合 +http://live.dxhmt.cn:9081/tv/11221-1.m3u8 #EXTINF:-1 group-title="新闻频道",南通新闻综合 http://cm-live.ntjoy.com/live/4f1.m3u8 #EXTINF:-1 group-title="新闻频道",内蒙新闻 https://livestream-bt.nmtv.cn/nmtv/2316general.m3u8?txSecret=b4373417a82ed64e52b0982a66da8df2&txTime=771E8800 +#EXTINF:-1 group-title="新闻频道",攀枝花新闻综合 +http://live.pzhkai.com/xwzhtl/sd/live.m3u8 +#EXTINF:-1 group-title="新闻频道",平遥新闻综合 +https://tntgjhjb.live.sxmty.com/live/hls/3a4585ac11ec4e1bb07b419101b370c3/baf63e2b313440c2a25d7859f9b73b05-1.m3u8?zshanxd #EXTINF:-1 group-title="新闻频道",沁阳新闻综合 http://tvpull.dxhmt.cn:9081/tv/10882-1.m3u8 #EXTINF:-1 group-title="新闻频道",沁阳新闻综合 http://live.dxhmt.cn:9081/tv/10882-1.m3u8 -#EXTINF:-1 group-title="新闻频道",清河新闻综合 -https://jwcdnqx.hebyun.com.cn/live/qinghe/1500k/tzwj_video.m3u8 #EXTINF:-1 group-title="新闻频道",清镇新闻综合 http://pili-live-rtmp.143.i2863.com/i2863-143/live_143_397273.m3u8?zguizd #EXTINF:-1 group-title="新闻频道",衢江新闻综合 http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed -#EXTINF:-1 group-title="新闻频道",衢江新闻综合 -http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8zzhed;http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8 #EXTINF:-1 group-title="新闻频道",三明新闻综合 https://ls.qingting.fm/live/5022100/64k.m3u8 #EXTINF:-1 group-title="新闻频道",上虞新闻综合 @@ -769,6 +719,8 @@ http://channel.wcrmt.cn:80/nmip-media/channellive/channel105268/playlist.m3u8 http://live.spccmc.com:90/live/spxwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD] #EXTINF:-1 group-title="新闻频道",文山州新闻综合 http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8?zyund +#EXTINF:-1 group-title="新闻频道",文山州新闻综合 +http://tvdrs.wsrtv.com.cn:8100/channellive/ch1.flv?zyund #EXTINF:-1 group-title="新闻频道",乌兰察布新闻综合 https://livestream-bt.nmtv.cn/nmtv/2354general.m3u8?txSecret=cf5f71d0000862b18f5813607b3dfd5b&txTime=771E8800 #EXTINF:-1 group-title="新闻频道",武汉一台新闻综合 @@ -783,6 +735,8 @@ https://liveout.xntv.tv/a65jur/90p2i1.m3u8?zqinghd https://liveout.xntv.tv/a65jur/90p2i1.m3u8 #EXTINF:-1 group-title="新闻频道",西宁新闻综合 https://liveout.xntv.tv/a65jur/96iln2.m3u8?zqinghd +#EXTINF:-1 group-title="新闻频道",西宁新闻综合 +rtmp://liveout.xntv.tv/a65jur/96iln2 #EXTINF:-1 group-title="新闻频道",项城新闻 http://tvpull.dxhmt.cn:9081/tv/11681-1.m3u8 #EXTINF:-1 group-title="新闻频道",项城新闻 @@ -803,6 +757,8 @@ https://m3u8-channel.lytv.tv/nmip-media/channellive/channel111841/playlist.m3u8 http://p2.vzan.com/slowlive/596867413819827251/live.m3u8 #EXTINF:-1 group-title="新闻频道",雅安新闻综合 https://play.yunxya.com/channellive/xinwen.m3u8 +#EXTINF:-1 group-title="新闻频道",亚洲新闻 +https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8 #EXTINF:-1 group-title="新闻频道",偃师新闻 http://tvpull.dxhmt.cn:9081/tv/10381-1.m3u8?wsSecret=df15530a0abec41b14bca00fc96270d1&wsTime=1654956569 #EXTINF:-1 group-title="新闻频道",义马新闻综合 @@ -821,6 +777,8 @@ http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed, http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed? #EXTINF:-1 group-title="新闻频道",余姚新闻综合 http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed +#EXTINF:-1 group-title="新闻频道",镇江新闻综合 +http://zjtv-wshls.homecdn.com/live/2aa50.m3u8?wsSession=a263bdc5a26cd01b57a80359-170493712215358&wsIPSercert=f56bd6194d219a5172dbed60eca6e9b0 #EXTINF:-1 group-title="新闻频道",中国蓝新闻 http://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8 #EXTINF:-1 group-title="新闻频道",中国蓝新闻 @@ -869,6 +827,8 @@ http://live-hls-web-aje.getaj.net/AJE/01.m3u8 http://tvpull.dxhmt.cn:9081/tv/10421-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD] #EXTINF:-1 group-title="未分组",璧山综合 http://222.179.42.129:8181/hls1.m3u8 +#EXTINF:-1 group-title="未分组",冰冰影剧 +http://home.kuaidi521.com:35455/douyu/74374 #EXTINF:-1 group-title="未分组",冰冰影厅 http://huanqiuzhibo.cn/manifest/douyu.php?id=74374 #EXTINF:-1 group-title="未分组",兵团八师石河子教育 @@ -891,6 +851,8 @@ http://live.cztv.cc:85/live/ggpd.m3u8?zanhd#http://live.cztv.cc:85/live/ggpd.m3u http://live.cztv.cc:85/live/ggpd.m3u8?zanhd #EXTINF:-1 group-title="未分组",滁州科教 http://live.cztv.cc:85/live/sjpd.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD] +#EXTINF:-1 group-title="未分组",滁州科教 +http://live.cztv.cc:85/live/sjpd.m3u8?zanhd #EXTINF:-1 group-title="未分组",戳心民谣《草原情哥哥》《一壶老酒》动人旋律听醉人 https://vd4.bdstatic.com/mda-ndd3dfth86fye3tv/1080p/cae_h264_delogo/1649903743828562113/mda-ndd3dfth86fye3tv.mp4 #EXTINF:-1 group-title="未分组",大丰公共 @@ -919,8 +881,6 @@ https://m3u8-channel.lytv.tv/nmip-media/channellive/channel113571/playlist.m3u8 https://pili-live-hls.wdit.com.cn/wditlive/8818dfe5f4df45ba9a3f32964d172fb2b6d3.m3u8 #EXTINF:-1 group-title="未分组",斗鱼电2y http://tc-tct.douyucdn2.cn/dyliveflv1/122402rK7MO9bXSq_2000.flv?wsAuth=8cea39337984fd3341cc9ec569502e4f&token=cpn-androidmpro-0-122402-0fcea45d2300cfa0ac75fafd8679bb53af10de8c33ae99d9&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=p -#EXTINF:-1 group-title="未分组",斗鱼电视剧22 -http://zzy789.xyz/douyu1.php?id=10297898 #EXTINF:-1 group-title="未分组",斗鱼电影1y http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=2ccc7b4ba29208aaba62dae54cbbd68c&token=cpn-androidmpro-0-20415-b6774b3b3249db17fff84d73c7585c95e780dbccdb08e4bc&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=p #EXTINF:-1 group-title="未分组",斗鱼电影3y @@ -983,6 +943,10 @@ http://tvpull.dxhmt.cn:9081/tv/11522-1.m3u8 http://tvpull.dxhmt.cn:9081/tv/11522-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD] #EXTINF:-1 group-title="未分组",广安公共 http://live1.gatv.com.cn:85/live/GGPD.m3u8 +#EXTINF:-1 group-title="未分组",广西国际 +https://hlscdn.liangtv.cn/live/0234c48e0bc24fe1b41b9999a253e581/1075ee38e04f490690f6a36a16e09c79.m3u8 +#EXTINF:-1 group-title="未分组",广西国际 +http://hlscdn.liangtv.cn/live/0234c48e0bc24fe1b41b9999a253e581/1075ee38e04f490690f6a36a16e09c79.m3u8?fbl= #EXTINF:-1 group-title="未分组",广西玉林大容山莲花山顶 https://gcalic.v.myalicdn.com/gc/drs01_1/index.m3u8 #EXTINF:-1 group-title="未分组",国学频道 @@ -1013,8 +977,8 @@ rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a2 rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f?wsSecret=8646f39caf510963ad02016d6056bb12&wsTime=1748537750 #EXTINF:-1 group-title="未分组",国学频道 rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f?wsSecret=865ba6414138adc233eaeaa251bd5685&wsTime=1748624453 -#EXTINF:-1 group-title="未分组",哈密三套 -https://tvpull.hmgbtv.com/hmtv/channelfb0e5c505477aa44/playlist.m3u8 +#EXTINF:-1 group-title="未分组",国学频道 +rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f?wsSecret=48a55d37acd4a2dd7edd07b74737c4d5&wsTime=1748710546 #EXTINF:-1 group-title="未分组",哈密一套 https://tvpull.hmgbtv.com/hmtv/channel9cd66b3d5d258b2b.flv #EXTINF:-1 group-title="未分组",海鸥飞-龙梅子 @@ -1035,12 +999,16 @@ http://hls.cntv.myhwcdn.cn/asp/hls/4000/0303000a/3/default/8edf3fb6a69148ea9a7dc https://us-xpc5.xpccdn.com/71161a1c-4a92-4139-b1ed-f88c60ca1fcb.mp4 #EXTINF:-1 group-title="未分组",贺州综合 http://zhz.gxhzxw.com:2935/live/HZXW-HD/playlist.m3u8 +#EXTINF:-1 group-title="未分组",贺州综合 +http://zhz.gxhzxw.com:2935/live/HZXW-HD/chunklist.m3u8 #EXTINF:-1 group-title="未分组",恒山悬空寺全景 https://gcalic.v.myalicdn.com/gc/hsxksqj_1/index.m3u8 #EXTINF:-1 group-title="未分组",淮滨综合 http://tvpull.dxhmt.cn:9081/tv/11527-1.m3u8 #EXTINF:-1 group-title="未分组",黄果树六角亭瀑布 https://gcalic.v.myalicdn.com/gc/hgsspzxdpb_1/index.m3u8 +#EXTINF:-1 group-title="未分组",黄花城水长城02 +http://gctxyc.liveplay.myqcloud.com/gc/wgw02_1/index.m3u8 #EXTINF:-1 group-title="未分组",黄花城水长城03 https://gcalic.v.myalicdn.com/gc/wgw03_1/index.m3u8 #EXTINF:-1 group-title="未分组",黄龙 @@ -1065,8 +1033,6 @@ http://120.76.248.139/live/bfgd/4200000113.m3u8 http://tvpull.dxhmt.cn:9081/tv/19001-1.m3u8 #EXTINF:-1 group-title="未分组",济源电视一套 http://tvpull.dxhmt.cn:9081/tv/19001-1.m3u8?zhend -#EXTINF:-1 group-title="未分组",济源电视一套 -http://live.dxhmt.cn:9081/tv/19001-1.m3u8 #EXTINF:-1 group-title="未分组",嘉兴公共 http://play-sh13.quklive.com/live/1675149601192103.m3u8?auth_key=2028730429-9ab7f7f0267946e880ec46ce3d57ec9e-0-eb04d7f7e549054293604b04150cefa1 #EXTINF:-1 group-title="未分组",郏县综合 @@ -1077,6 +1043,10 @@ https://tvfile.scjgtv.cn/nmip-media/channellive/channel104126/playlist.m3u8 http://zhpull.dxhmt.cn/jiaozuo/29b65b69130c4ef1a3283cc7b913da05/playlist.m3u8 #EXTINF:-1 group-title="未分组",焦作公共频道 http://zhpull.dxhmt.cn/jiaozuo/29b65b69130c4ef1a3283cc7b913da05/playlist.m3u8?zhend +#EXTINF:-1 group-title="未分组",焦作综合 +http://zhpull.dxhmt.cn/jiaozuo/b75a92c9503e47cf9e89f7ff247b65f2/playlist.m3u8 +#EXTINF:-1 group-title="未分组",焦作综合频道 +http://zhpull.dxhmt.cn/jiaozuo/b75a92c9503e47cf9e89f7ff247b65f2/playlist.m3u8?zhend #EXTINF:-1 group-title="未分组",接口更新 http://8.138.7.223/tv/ptbtv.php?id=27 #EXTINF:-1 group-title="未分组",今夜为你醉 @@ -1101,16 +1071,10 @@ http://tvfile.jyrmt.cn/nmip-media/channellive/channel104452/playlist.m3u8 http://test5.btzx.com.cn:80/live/kkdl.stream/playlist.m3u8 #EXTINF:-1 group-title="未分组",可克达拉综合 http://file.loulannews.cn/nmip-media/channellive/channel103824/playlist.m3u8 -#EXTINF:-1 group-title="未分组",狂飙30 -https://p26-sign.douyinpic.com/obj/tos-cn-v-0000c2367/d56a84c47e784df79acbcd72b99930cf?filename=1.mp4&x-expires=1990620000&x-signature=kiCGy9kGgybCIVahSdiVwWBsSus%3D -#EXTINF:-1 group-title="未分组",狂飙32 -https://p3-sign.douyinpic.com/obj//tos-cn-v-0000c2367/0670403d3ac24d5ba5d9f749a960b9f3?filename=1.mp4&x-expires=1990350000&x-signature=EywChdeQlTbae1ZBs4s%2FWuT2Q7Q%3D #EXTINF:-1 group-title="未分组",狂飙33 https://p26-sign.douyinpic.com/obj//tos-cn-v-0000c2367/e78ed75c7aa14cbd867980911e6823b4?filename=1.mp4&x-expires=1990350000&x-signature=u49156MCkEpQw74nc0W%2BxM1AWzg%3D #EXTINF:-1 group-title="未分组",狂飙36 https://p26-sign.douyinpic.com/obj/tos-cn-v-0000c2367/1c03129b2d624023b73ea05806923742?filename=1.mp4&x-expires=1990620000&x-signature=7TBUReFxuLYRdTWrUXcOr32AxUk%3D -#EXTINF:-1 group-title="未分组",狂飙37 -https://p3-sign.douyinpic.com/obj/tos-cn-v-0000c2367/3c804642d9f544be8af92f23a040491b?filename=1.mp4&x-expires=1990620000&x-signature=s%2BTDc3vkVitXkI0D7LYQy9ldzZE%3D #EXTINF:-1 group-title="未分组",奎屯哈萨克语 http://218.84.12.186:8002/hls/main/playlist.m3u8 #EXTINF:-1 group-title="未分组",奎屯哈萨克语 @@ -1160,15 +1124,9 @@ https://zb-live.ynurl.com/longchuan/58f88df3-605e-4c57-865c-8e8f85241ca1.m3u8 #EXTINF:-1 group-title="未分组",麻栗坡 http://tvdrs.wsrtv.com.cn:8100/channellive/mlptv.flv #EXTINF:-1 group-title="未分组",麻栗坡电视台 -http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel18/playlist.m3u8?zyund -#EXTINF:-1 group-title="未分组",麻栗坡台 -http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel18/playlist.m3u8 -#EXTINF:-1 group-title="未分组",埋堆堆1 -http://www.52sw.top:678/play/huya.php?id=23903123 -#EXTINF:-1 group-title="未分组",埋堆堆5 -http://www.52sw.top:678/play/huya.php?id=23903130 -#EXTINF:-1 group-title="未分组",埋堆堆6 -http://www.52sw.top:678/play/huya.php?id=23740156 +http://tvdrs.wsrtv.com.cn:8100/channellive/mlptv.flv?zyund +#EXTINF:-1 group-title="未分组",埋堆堆3 +http://www.52sw.top:678/play/huya.php?id=23735126 #EXTINF:-1 group-title="未分组",毛宁《涛声依旧》《晚秋》《心雨》《春风吻上我的脸》《大中国》 https://vdse.bdstatic.com//21736d388636d7648510b2a36fc7cbfd.mp4 #EXTINF:-1 group-title="未分组",美酒加咖啡 龙飘飘FHD @@ -1189,14 +1147,8 @@ http://livecdn.dmqhyadmin.com/hls/xjminhe.m3u8?zqinghd#http://livecdn.dmqhyadmin http://livecdn.dmqhyadmin.com/hls/xjminhe.m3u8 #EXTINF:-1 group-title="未分组",民和综合 http://livecdn.dmqhyadmin.com/hls/xjminhe.m3u8?zqinghd -#EXTINF:-1 group-title="未分组",民生休闲 -http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 -#EXTINF:-1 group-title="未分组",民生休闲 -https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 #EXTINF:-1 group-title="未分组",名山综合 https://m3u8channel-bx.yunxya.com/nmip-media/channellive/channel104666/playlist.m3u8 -#EXTINF:-1 group-title="未分组",沐川综合 -rtmp://tv.mcrm.org.cn:1935/channellive/tv01 #EXTINF:-1 group-title="未分组",南国都市 https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=550af55c0ea34ce492748481415b6dfa&txTime=1903e7b17de #EXTINF:-1 group-title="未分组",南国都市 @@ -1233,8 +1185,6 @@ https://gcalic.v.myalicdn.com/gc/emspxps_1/index.m3u8?contentid=2820180516001 https://p8.vzan.com:443/slowlive/147077707554082780/live.m3u8 #EXTINF:-1 group-title="未分组",祁门综合 http://live.cztv.cc:85/live/sjpd.m3u8 -#EXTINF:-1 group-title="未分组",祁门综合 -http://zbbf2.ahbztv.com/live/416.m3u8?zanhd #EXTINF:-1 group-title="未分组",钱江频道 https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 #EXTINF:-1 group-title="未分组",青川综合 @@ -1315,8 +1265,6 @@ http://siyang-tv-hls.cm.jstv.com/siyang-tv/siyangzh.m3u8?zjiangsd http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8 #EXTINF:-1 group-title="未分组",松阳综合 http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?fbl= -#EXTINF:-1 group-title="未分组",宋小宝经典小品 -http://zzy789.xyz/douyu1.php?id=9817729 #EXTINF:-1 group-title="未分组",苏州社会经济 https://live-auth.51kandianshi.com/szgd/csztv2.m3u8 #EXTINF:-1 group-title="未分组",遂昌综合 @@ -1337,6 +1285,8 @@ https://gcalic.v.myalicdn.com/gc/taishan06_1/index.m3u8?contentid=2820180516001 http://tvpull.dxhmt.cn:9081/tv/11328-1.m3u8 #EXTINF:-1 group-title="未分组",唐河一套 http://tvpull.dxhmt.cn:9081/tv/11328-1.m3u8?zhend +#EXTINF:-1 group-title="未分组",唐河一套 +http://live.dxhmt.cn:9081/tv/11328-1.m3u8 #EXTINF:-1 group-title="未分组",唐诗逸 问灵⁴ᴷ https://us-xpc5.xpccdn.com/7435c8ce-20ef-44c8-9956-16242a48def6/a599cc9b-0ef7-4005-bfdf-7c2c6411293c.mp4 #EXTINF:-1 group-title="未分组",天地龙鳞 @@ -1375,6 +1325,8 @@ http://tvpull.dxhmt.cn:9081/tv/11622-1.m3u8 http://tvpull.dxhmt.cn:9081/tv/11622-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD] #EXTINF:-1 group-title="未分组",西宁生活 https://liveout.xntv.tv/a65jur/90p2i1.m3u8 +#EXTINF:-1 group-title="未分组",淅川电视 +http://live.dxhmt.cn:9081/tv/11326-1.m3u8 #EXTINF:-1 group-title="未分组",淅川综合 http://tvpull.dxhmt.cn:9081/tv/11326-1.m3u8 #EXTINF:-1 group-title="未分组",心跳光谱⁴ᴷ @@ -1395,6 +1347,8 @@ https://vd2.bdstatic.com/mda-ndg53jbq7si8hftd/1080p/cae_h264_delogo/165016766204 http://file.loulannews.cn/nmip-media/channellive/channel101476/playlist.m3u8 #EXTINF:-1 group-title="未分组",新疆奎屯汉语综合 http://218.84.12.186:8001/hls/main/playlist.m3u8 +#EXTINF:-1 group-title="未分组",新疆天山(定海神针) +http://gctxyc.liveplay.myqcloud.com/gc/xjtcdhsz_1/index.m3u8 #EXTINF:-1 group-title="未分组",新县综合 http://tvpull.dxhmt.cn:9081/tv/11523-1.m3u8 #EXTINF:-1 group-title="未分组",新县综合 @@ -1455,6 +1409,8 @@ http://110.153.180.106:55555/out_3/index.m3u8 http://110.153.180.106:55555/out_3/index.m3u8?zxinjd #EXTINF:-1 group-title="未分组",伊犁汉语综合 http://110.153.180.106:55555/out_1/index.m3u8 +#EXTINF:-1 group-title="未分组",伊犁汉语综合 +http://110.153.180.106:55555/out_1/index.m3u8?zxinjd #EXTINF:-1 group-title="未分组",伊犁经济法制 http://110.153.180.106:55555/out_4/index.m3u8?zxinjd #EXTINF:-1 group-title="未分组",伊犁经济法制 @@ -1475,8 +1431,6 @@ http://live.dxhmt.cn:9081/tv/11281-1.m3u8 https://zb-live.ynurl.com/yimen/3b75a2f9-7941-46b7-992d-a9796fbca5fe.m3u8 #EXTINF:-1 group-title="未分组",音乐520 https://vdse.bdstatic.com//7b2f1b020851df0037ed7b5013a8887d.mp4 -#EXTINF:-1 group-title="未分组",永城综合 -http://live.dxhmt.cn:9081/tv/11481-1.m3u8 #EXTINF:-1 group-title="未分组",余杭未来E http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8 #EXTINF:-1 group-title="未分组",余杭未来E频道 @@ -1535,26 +1489,28 @@ http://cnpull.sccnfb.com/live/123456.m3u8?zsicd https://83awgyp5.live.sxmty.com/live/hls/6f6f4b36f9bd42628b718b595ba507ed/724b7e8907a8414d873eb2a2f69bfa18.m3u8?zshanxd #EXTINF:-1 group-title="未分组",之江记录 http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 -#EXTINF:-1 group-title="未分组",之江记录 -http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8? #EXTINF:-1 group-title="未分组",之江纪录 http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8 -#EXTINF:-1 group-title="未分组",之江纪录 -https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 #EXTINF:-1 group-title="未分组",中央电视塔东 https://gcalic.v.myalicdn.com/gc/ztd_1/index.m3u8 #EXTINF:-1 group-title="未分组",中央电视台中塔东 https://gcalic.v.myalicdn.com/gc/ztd_1/index.m3u8?contentid=2820180516001 #EXTINF:-1 group-title="未分组",舟山公共 http://play-sh13.quklive.com/live/1699002430299200.m3u8?auth_key=2027429366-f4515e585a0347f780a01c73ae293945-0-b3699e931cf04290680745e989c63d86 +#EXTINF:-1 group-title="未分组",周星星 +https://www.goodiptv.club/huya/11342412 +#EXTINF:-1 group-title="未分组",CGTN阿语 +https://0472.org/hls/cgtna.m3u8 +#EXTINF:-1 group-title="未分组",CGTN俄语 +https://0472.org/hls/cgtne.m3u8 #EXTINF:-1 group-title="未分组",CGTN法语 https://0472.org/hls/cgtnf.m3u8 +#EXTINF:-1 group-title="未分组",CGTN西语 +https://0472.org/hls/cgtnx.m3u8 #EXTINF:-1 group-title="未分组",Channel News Asia https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8?zshijd #EXTINF:-1 group-title="未分组",LOVENATURE https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8 -#EXTINF:-1 group-title="未分组",Poison丶冰冰 -http://zzy789.xyz/douyu1.php?id=74374 #EXTINF:-1 group-title="未分组",YCTV http://tvpull.dxhmt.cn:9081/tv/11481-1.m3u8 #EXTINF:-1 group-title="未分组",YMG未来 @@ -1563,12 +1519,16 @@ http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8? http://live.zohi.tv/video/s10001-fztv-4/index.m3u8 #EXTINF:-1 group-title="少儿频道",内蒙古少儿 https://livestream-bt.nmtv.cn/nmtv/2318general.m3u8?txSecret=a2c948908728a0733cecbe1fadea23dc&txTime=771E8800 -#EXTINF:-1 group-title="影视频道",刀刀影院 -http://huanqiuzhibo.cn/manifest/douyu.php?id=747764 #EXTINF:-1 group-title="影视频道",斗鱼魔幻影院 http://b.zgjok.com:35455/douyu/1274132 #EXTINF:-1 group-title="影视频道",嘉兴文化影视 http://play-sh13.quklive.com/live/1675149625220101.m3u8?auth_key=2028730374-3a60eb8e324f416aa3b26dda7679d920-0-22dc7efa8452d0b0665c15eeed83609d +#EXTINF:-1 group-title="影视频道",教科影视 +https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 +#EXTINF:-1 group-title="影视频道",教科影视 +http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 +#EXTINF:-1 group-title="影视频道",奶虫影院 +http://home.kuaidi521.com:35455/douyu/263824 #EXTINF:-1 group-title="影视频道",上虞文化影院 http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed #EXTINF:-1 group-title="影视频道",上虞文化影院 @@ -1579,6 +1539,8 @@ http://tc-tct.douyucdn2.cn/dyliveflv1a/85894rmovieChow_4000.xs?wsAuth=ba1c90644d http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=3b64dd17d293b133c58bda21e3147e5b&token=cpn-androidmpro-0-20415-b6774b3b3249db1768f0ac048c5ed218ac54e1f82b04b2bf&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2 #EXTINF:-1 group-title="影视频道",石河子影视文体 http://124.88.144.73:1935/live/jjsh/playlist.m3u8 +#EXTINF:-1 group-title="影视频道",小鬼华语影院 +http://tc-tct.douyucdn2.cn/dyliveflv1a/3928r9p0BHMDG_2000.xs?wsAuth=3c48b706fe90d736d90b5622adfc09d2&token=web-h5-0-3928-15d95fcfde11a749199abfc5ac7bdee6727c6402febadfb8&logo=0&expire=0&did=24482b48b98804f2b0a5b17400041701 #EXTINF:-1 group-title="影视频道",新昌休闲影视 http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8 #EXTINF:-1 group-title="影视频道",CHC动作电影 @@ -1613,8 +1575,6 @@ https://vdse.bdstatic.com//c5c64b60c9fdfbdfa3e959bb1d56c4b0.mp4 https://vdse.bdstatic.com//01b1f78bb5b009d36ce3f5051e7383c1.mp4 #EXTINF:-1 group-title="DJ舞曲",邻家小哥哥—欣宝儿DJ https://vd2.bdstatic.com/mda-kmmc2zf4whqmxsag/v1-cae/1080p/mda-kmmc2zf4whqmxsag.mp4 -#EXTINF:-1 group-title="DJ舞曲",六首伤感DJ舞曲《为爱受尽相思罪》《爱过了头心伤透》 -https://vdse.bdstatic.com//f27d59d8b75915e122f53c173e27a32e.mp4 #EXTINF:-1 group-title="DJ舞曲",情歌《你是我今生不能忘的唯一》DJ版 https://vd4.bdstatic.com/mda-mbdzgfvp4bz1hhg8/v1-cae/1080p/mda-mbdzgfvp4bz1hhg8.mp4 #EXTINF:-1 group-title="DJ舞曲",情歌DJ《拈花一笑》《对面的小姐姐》《酒醉的蝴蝶》FHD @@ -1635,8 +1595,6 @@ https://gcalic.v.myalicdn.com/gc/fcw03_1/index.m3u8 https://ls.qingting.fm/live/1650/64k.m3u8 #EXTINF:-1 group-title="省级频道",河南登封综合 http://tvpull.dxhmt.cn:9081/tv/10185-1.m3u8 -#EXTINF:-1 group-title="省级频道",河南电视剧 -http://www.cdnstv.com:6398/hls/1113/index.m3u8 #EXTINF:-1 group-title="省级频道",河南都市 http://v4d.xiepeiru.top:1123/iptv/hm/HeNanDuShi #EXTINF:-1 group-title="省级频道",河南扶沟综合 @@ -1733,6 +1691,8 @@ http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8 http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?zzhed #EXTINF:-1 group-title="省级频道",浙江教育 https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8? +#EXTINF:-1 group-title="省级频道",浙江教育 +https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 #EXTINF:-1 group-title="省级频道",浙江经济 http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8 #EXTINF:-1 group-title="省级频道",浙江经济 @@ -1748,11 +1708,7 @@ https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8 #EXTINF:-1 group-title="省级频道",浙江民生 http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8 #EXTINF:-1 group-title="省级频道",浙江民生 -http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 -#EXTINF:-1 group-title="省级频道",浙江民生 https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8? -#EXTINF:-1 group-title="省级频道",浙江民生休闲 -https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 #EXTINF:-1 group-title="省级频道",浙江钱江 http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8 #EXTINF:-1 group-title="省级频道",浙江钱江 @@ -1798,32 +1754,32 @@ http://zzy789.xyz/douyu1.php?id=7356023 #EXTINF:-1 group-title="北京地区",北京北京纪实科教 http://120.76.248.139/live/bfgd/4200000113.m3u8 #EXTINF:-1 group-title="北京地区",北京财经 -https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s5/index.m3u8?time=1748552353&sign=95dddcf1094bc85c54a43a5fef3daac3 -#EXTINF:-1 group-title="北京地区",北京财经 https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s5/index.m3u8?time=1748635211&sign=4e637c5dd777c1bd14124fd9508c623f -#EXTINF:-1 group-title="北京地区",北京纪实科教 -https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s3/index.m3u8?time=1748552352&sign=12bf25abd032727569f9e2a97b452d0b +#EXTINF:-1 group-title="北京地区",北京财经 +https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s5/index.m3u8?time=1748721611&sign=d31b65d14e9b34209c459e79a2f2fda9 #EXTINF:-1 group-title="北京地区",北京纪实科教 https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s3/index.m3u8?time=1748635210&sign=34d2fb1a67865c344f7877fa374e86bd -#EXTINF:-1 group-title="北京地区",北京卡酷少儿 -https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s10/index.m3u8?time=1748552354&sign=f3766c58218e484513e405535ad4ca27 +#EXTINF:-1 group-title="北京地区",北京纪实科教 +https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s3/index.m3u8?time=1748721610&sign=5bf9f00fa13e29a809a1a91925e004f2 #EXTINF:-1 group-title="北京地区",北京卡酷少儿 https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s10/index.m3u8?time=1748635212&sign=c3609809fdf76fe8566554b1a0d126b6 -#EXTINF:-1 group-title="北京地区",北京生活 -https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s7/index.m3u8?time=1748552353&sign=7d363bccac4159dc12a332997c9f1b61 +#EXTINF:-1 group-title="北京地区",北京卡酷少儿 +https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s10/index.m3u8?time=1748721612&sign=1724fa686b3b1f9da3f836f89228b3c2 #EXTINF:-1 group-title="北京地区",北京生活 https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s7/index.m3u8?time=1748635211&sign=aabcb4d02cbd7f9b2d963b306c75751b -#EXTINF:-1 group-title="北京地区",北京文艺 -https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s2/index.m3u8?time=1748552351&sign=9526b3587f95b92db0e95509a2c25de7 +#EXTINF:-1 group-title="北京地区",北京生活 +https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s7/index.m3u8?time=1748721612&sign=f702085a1b42b585eb4c5a57a8e0f9f9 #EXTINF:-1 group-title="北京地区",北京文艺 https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s2/index.m3u8?time=1748635210&sign=be1fbd3c82b5dc6dae9608c3c8ad261a +#EXTINF:-1 group-title="北京地区",北京文艺 +https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s2/index.m3u8?time=1748721610&sign=d7462e9d022b63cd32abe7336720dd9a #EXTINF:-1 group-title="北京地区",北京新闻 https://ls.qingting.fm/live/339/64k.m3u8 #EXTINF:-1 group-title="北京地区",北京新闻 -https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s9/index.m3u8?time=1748552353&sign=a186bfcfa9787f9a7e0d9e9cc9b94163 -#EXTINF:-1 group-title="北京地区",北京新闻 https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s9/index.m3u8?time=1748635212&sign=9c5dd1100b892ae351bbfebedd701156 +#EXTINF:-1 group-title="北京地区",北京新闻 +https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s9/index.m3u8?time=1748721612&sign=947a68da9f232378640b62c043db7acf #EXTINF:-1 group-title="北京地区",北京影视 -https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s4/index.m3u8?time=1748552352&sign=4b6ff2b332319b7dcd7715ade0214f83 +https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s4/index.m3u8?time=1748635211&sign=c090dc86512b50d31cdf4edfb702f85b #EXTINF:-1 group-title="北京地区",北京影视 -https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s4/index.m3u8?time=1748635211&sign=c090dc86512b50d31cdf4edfb702f85b \ No newline at end of file +https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s4/index.m3u8?time=1748721611&sign=d3ca75d372f69ab704cf49d223b7c714 \ No newline at end of file diff --git a/小米/lives/平台直播.txt b/小米/lives/平台直播.txt index 8eb6828..c2e2015 100644 --- a/小米/lives/平台直播.txt +++ b/小米/lives/平台直播.txt @@ -164,438 +164,446 @@ https://epg.iill.top/v/301.mp4 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/Twitch.png" group-title="•Twitch「其他」",点击此频道·查看重要信息!🔔 https://epg.iill.top/v/301.mp4 #INSERT_HERE +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30468649&bilibili&logo" group-title="•B站「娱乐」",铃芽不俐齿 +https://live.iill.top/bilibili/30468649 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/308543&bilibili&logo" group-title="•B站「娱乐」",v猫诺v +https://live.iill.top/bilibili/308543 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/15080846&bilibili&logo" group-title="•B站「其他」",围棋-Fly-纳西妲 +https://live.iill.top/bilibili/15080846 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6103516&bilibili&logo" group-title="•B站「娱乐」",二老师原创 +https://live.iill.top/bilibili/6103516 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/25392874&bilibili&logo" group-title="•B站「娱乐」",坂井泉水゜ https://live.iill.top/bilibili/25392874 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30150311&bilibili&logo" group-title="•B站「影视」",蜡笔小新|小芯动漫 -https://live.iill.top/bilibili/30150311 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30098402&bilibili&logo" group-title="•B站「影视」",名侦探柯南|米花小侦探 -https://live.iill.top/bilibili/30098402 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/32330910&bilibili&logo" group-title="•B站「影视」",名侦探柯南|姜姜童 https://live.iill.top/bilibili/32330910 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26758868&bilibili&logo" group-title="•B站「影视」",爱情公寓| pander部长 -https://live.iill.top/bilibili/26758868 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/3691904&bilibili&logo" group-title="•B站「影视」",名侦探柯南|23night -https://live.iill.top/bilibili/3691904 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26752884&bilibili&logo" group-title="•B站「影视」",恶搞之家 -https://live.iill.top/bilibili/26752884 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30150311&bilibili&logo" group-title="•B站「影视」",蜡笔小新|小芯动漫 +https://live.iill.top/bilibili/30150311 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9275042&bilibili&logo" group-title="•B站「影视」",武林外传|九磅十五便士 +https://live.iill.top/bilibili/9275042 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30098402&bilibili&logo" group-title="•B站「影视」",名侦探柯南|米花小侦探 +https://live.iill.top/bilibili/30098402 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2064239&bilibili&logo" group-title="•B站「影视」",鹿野灸 +https://live.iill.top/bilibili/2064239 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30041682&bilibili&logo" group-title="•B站「影视」",臣臣 https://live.iill.top/bilibili/30041682 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8178490&bilibili&logo" group-title="•B站「影视」",央视新闻直播 -https://live.iill.top/bilibili/8178490 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30915808&bilibili&logo" group-title="•B站「游戏」",第五传说qvq -https://live.iill.top/bilibili/30915808 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/528&bilibili&logo" group-title="•B站「游戏」",痒局长 +https://live.iill.top/bilibili/528 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23776217&bilibili&logo" group-title="•B站「影视」",经典港剧大全 +https://live.iill.top/bilibili/23776217 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/650&bilibili&logo" group-title="•B站「游戏」",一米八的坤儿 +https://live.iill.top/bilibili/650 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7777&bilibili&logo" group-title="•B站「游戏」",德云社 https://live.iill.top/bilibili/7777 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7734200&bilibili&logo" group-title="•B站「游戏」",英雄联盟赛事 https://live.iill.top/bilibili/7734200 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/哔哩哔哩.png" group-title="•B站「游戏」",守护茶茶 -https://live.iill.top/bilibili/697 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/24158116&bilibili&logo" group-title="•B站「游戏」",辉耀计划 +https://live.iill.top/bilibili/24158116 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5558&bilibili&logo" group-title="•B站「游戏」",longdd黄翔 +https://live.iill.top/bilibili/5558 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6136246&bilibili&logo" group-title="•B站「游戏」",凉哈皮 https://live.iill.top/bilibili/6136246 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/115&bilibili&logo" group-title="•B站「游戏」",神奇陆夫人 -https://live.iill.top/bilibili/115 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1134638&bilibili&logo" group-title="•B站「游戏」",快乐lalaB https://live.iill.top/bilibili/1134638 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/eunyoung1238&soop&logo" group-title="•SOOP「娱乐」",ʚ 그릴래영 -https://live.iill.top/soop/eunyoung1238 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2245724&bilibili&logo" group-title="•B站「游戏」",瑶雨 +https://live.iill.top/bilibili/2245724 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8178490&bilibili&logo" group-title="•B站「影视」",央视新闻直播 +https://live.iill.top/bilibili/8178490 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/22192263&bilibili&logo" group-title="•B站「游戏」",成为野火 +https://live.iill.top/bilibili/22192263 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/B站.png" group-title="•B站「游戏」",LIGhtYgo +https://live.iill.top/bilibili/527206 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/923833&bilibili&logo" group-title="•B站「游戏」",沉默寡言,洛克世界 https://live.iill.top/bilibili/923833 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/lovelyena&soop&logo" group-title="•SOOP「娱乐」",금사랑♥ -https://live.iill.top/soop/lovelyena -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/sobar97&soop&logo" group-title="•SOOP「娱乐」",윤쏘에요[♥] -https://live.iill.top/soop/sobar97 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/jjllyy&soop&logo" group-title="•SOOP「娱乐」",박수박 -https://live.iill.top/soop/jjllyy +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/hl6260&soop&logo" group-title="•SOOP「娱乐」",하리미[♥] +https://live.iill.top/soop/hl6260 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/janjju&soop&logo" group-title="•SOOP「娱乐」",박가린님[♥] +https://live.iill.top/soop/janjju #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/zpsxm111&soop&logo" group-title="•SOOP「娱乐」",하예라 https://live.iill.top/soop/zpsxm111 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/hiya0819&soop&logo" group-title="•SOOP「娱乐」",[BJ]김도연 -https://live.iill.top/soop/hiya0819 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/lilikkk&soop&logo" group-title="•SOOP「娱乐」",잉지안♥ +https://live.iill.top/soop/lilikkk +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/bc3yu2fl&soop&logo" group-title="•SOOP「娱乐」",이월♥ +https://live.iill.top/soop/bc3yu2fl +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/dmsgkdn12&soop&logo" group-title="•SOOP「娱乐」",엔돌핀♥ +https://live.iill.top/soop/dmsgkdn12 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/flowerbud1&soop&logo" group-title="•SOOP「娱乐」",츠보미. https://live.iill.top/soop/flowerbud1 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/kubin970515&soop&logo" group-title="•SOOP「娱乐」",쿠빈 -https://live.iill.top/soop/kubin970515 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/smpk96&soop&logo" group-title="•SOOP「娱乐」",BJ박삐삐 +https://live.iill.top/soop/smpk96 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/zbxlzzz&soop&logo" group-title="•SOOP「娱乐」",정소다♥ +https://live.iill.top/soop/zbxlzzz +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/ssssummer&soop&logo" group-title="•SOOP「娱乐」",썸머♥ +https://live.iill.top/soop/ssssummer +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/tmtdd22&soop&logo" group-title="•SOOP「娱乐」",아인이♥ +https://live.iill.top/soop/tmtdd22 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/coppag&soop&logo" group-title="•SOOP「娱乐」",꿀혜 +https://live.iill.top/soop/coppag +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/hancoma&soop&logo" group-title="•SOOP「娱乐」",하나옵 +https://live.iill.top/soop/hancoma +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/eunz1nara&soop&logo" group-title="•SOOP「娱乐」",양팡♥ +https://live.iill.top/soop/eunz1nara +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/crazycatsss&soop&logo" group-title="•SOOP「娱乐」",재희。 +https://live.iill.top/soop/crazycatsss +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/hyesol&soop&logo" group-title="•SOOP「娱乐」",혜솔♥ +https://live.iill.top/soop/hyesol +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/tjtjtj&soop&logo" group-title="•SOOP「娱乐」",뮤니. +https://live.iill.top/soop/tjtjtj #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/jj0607&soop&logo" group-title="•SOOP「娱乐」",♥하츄♥ https://live.iill.top/soop/jj0607 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/nmh112&soop&logo" group-title="•SOOP「娱乐」",♥다야 -https://live.iill.top/soop/nmh112 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/salgu1004&soop&logo" group-title="•SOOP「娱乐」",E-;이은♥ -https://live.iill.top/soop/salgu1004 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",凤凰资讯 -https://live.iill.top/youtube/@phoenixtvhk -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/globalnewstw&youtube&logo" group-title="•YouTube「其他」",寰宇新闻 -https://live.iill.top/youtube/@globalnewstw -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中天新聞 -https://live.iill.top/youtube/vr3XyVCR4T0 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/bianco4&soop&logo" group-title="•SOOP「娱乐」",도예나♥ +https://live.iill.top/soop/bianco4 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/Twitch.png" group-title="•Twitch「其他」",肉乙 +https://live.iill.top/twitch/zoe_0601 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",不良林 https://live.iill.top/youtube/@bulianglin -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/Twitch.png" group-title="•Twitch「游戏」",ESLCS -https://live.iill.top/twitch/eslcs +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",凤凰资讯 +https://live.iill.top/youtube/@phoenixtvhk #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",日テレNEWS https://live.iill.top/youtube/@ntv_news +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/Twitch.png" group-title="•Twitch「游戏」",ESLCS +https://live.iill.top/twitch/eslcs #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中天電視CtiTv https://live.iill.top/youtube/@中天電視CtiTv #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中天新聞CtiNews https://live.iill.top/youtube/@中天新聞CtiNews -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",TVBSNEWS01 -https://live.iill.top/youtube/TVBSNEWS01 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中时新闻网 -https://live.iill.top/youtube/@ChinaTimes -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/Twitch.png" group-title="•Twitch「游戏」",Shroud -https://live.iill.top/twitch/shroud -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中视经典 -https://live.iill.top/youtube/@ctvent_classic -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",台视 -https://live.iill.top/youtube/@TTV_NEWS -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",iNews -https://live.iill.top/youtube/@setinews -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",BirderKing -https://live.iill.top/youtube/@BirderKing +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中天新聞 +https://live.iill.top/youtube/vr3XyVCR4T0 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",SkyNews +https://live.iill.top/youtube/@SkyNews #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",TVBS 選新聞 https://live.iill.top/youtube/@TVBSNEWS02 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",TVBS 新聞 +https://live.iill.top/youtube/m_dhMSvUCIc +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/globalnewstw&youtube&logo" group-title="•YouTube「其他」",寰宇新闻 +https://live.iill.top/youtube/@globalnewstw +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中广流行 +https://live.iill.top/youtube/@ILikeRadioFM103 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中视经典 +https://live.iill.top/youtube/@ctvent_classic +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中视 +https://live.iill.top/youtube/@twctvnews +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",台视 +https://live.iill.top/youtube/@TTV_NEWS +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",8world +https://live.iill.top/youtube/@8worldSG +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",iNews +https://live.iill.top/youtube/@setinews +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",TVBSNEWS01 +https://live.iill.top/youtube/TVBSNEWS01 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",東森財經 +https://live.iill.top/youtube/@57ETFN +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",BirderKing +https://live.iill.top/youtube/@BirderKing +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",鏡新聞 +https://live.iill.top/youtube/@mnews-tw +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中时新闻网 +https://live.iill.top/youtube/@ChinaTimes #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",set新闻 https://live.iill.top/youtube/@setnews #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",非凡电视 https://live.iill.top/youtube/@ustv -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",ChannelsTV -https://live.iill.top/youtube/@ChannelsTelevision -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",鏡新聞 -https://live.iill.top/youtube/@mnews-tw -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",東森財經 -https://live.iill.top/youtube/@57ETFN -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",8world -https://live.iill.top/youtube/@8worldSG -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",净空法师 -https://live.iill.top/youtube/@amtbhz -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",11点热炒店 -https://live.iill.top/youtube/@chopchopshow -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",SwimwearUnderwear -https://live.iill.top/youtube/@SwimwearUnderwear -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",民视 -https://live.iill.top/youtube/@FTV_News #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",公视 https://live.iill.top/youtube/@PNNPTS +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",HZTV +https://live.iill.top/youtube/@hztv2212 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",ChannelsTV +https://live.iill.top/youtube/@ChannelsTelevision +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",11点热炒店 +https://live.iill.top/youtube/@chopchopshow +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",民视 +https://live.iill.top/youtube/@FTV_News +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",SwimwearUnderwear +https://live.iill.top/youtube/@SwimwearUnderwear #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",华藏净宗弘化 https://live.iill.top/youtube/@HDPLTV -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",中视 -https://live.iill.top/youtube/@twctvnews -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",NHK World -https://live.iill.top/youtube/f0lYkdA-Gtw -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",ウェザーニュース -https://live.iill.top/youtube/@weathernews +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",净空法师 +https://live.iill.top/youtube/@amtbhz +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",LiveNOW +https://live.iill.top/youtube/YDfiTGGPYCk +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",CNA Insider +https://live.iill.top/youtube/fSUMKrxPEd8 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",台灣地震監視(地震速報、強震即時警報) +https://live.iill.top/youtube/@台灣地震監視 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",Maxim Korea https://live.iill.top/youtube/@maxim_korea #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",匯聚金曲 https://live.iill.top/youtube/@Cantopopgreatesthits8090s +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",NHK World +https://live.iill.top/youtube/f0lYkdA-Gtw +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",ウェザーニュース +https://live.iill.top/youtube/@weathernews #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/77ZV3XiIva8&youtube&logo" group-title="•YouTube「娱乐」",70、80、90年代经典老歌 https://live.iill.top/youtube/@7080年代经典老歌-o1e -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",CNA Insider -https://live.iill.top/youtube/fSUMKrxPEd8 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",LiveNOW -https://live.iill.top/youtube/YDfiTGGPYCk -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",台灣地震監視(地震速報、強震即時警報) -https://live.iill.top/youtube/@台灣地震監視 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",TVBS 新聞 -https://live.iill.top/youtube/m_dhMSvUCIc #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/=xQBw_dM-W8Y&youtube&logo" group-title="•YouTube「娱乐」",Chinese Mix https://live.iill.top/youtube/@FM190-ld7qz -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",時裝藝術表演¹ -https://live.iill.top/youtube/@NYFT -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/QntP-ZwxbJI&youtube&logo" group-title="•YouTube「娱乐」",Hot Douyin Studios -https://live.iill.top/youtube/@hottrendsdouyin -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「其他」",HZTV -https://live.iill.top/youtube/@hztv2212 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",時裝藝術表演³ -https://live.iill.top/youtube/@SPLASHme +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",아리랑 라디오 +https://live.iill.top/youtube/Music180Arirang #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",thekpop https://live.iill.top/youtube/JVocS7Yftw8 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/shiftswim&youtube&logo" group-title="•YouTube「影视」",SHIFT -https://live.iill.top/youtube/shiftswim +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/QntP-ZwxbJI&youtube&logo" group-title="•YouTube「娱乐」",Hot Douyin Studios +https://live.iill.top/youtube/@hottrendsdouyin +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",時裝藝術表演³ +https://live.iill.top/youtube/@SPLASHme +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",時裝藝術表演² +https://live.iill.top/youtube/@shiftswim #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/SwimwearUnderwear&youtube&logo" group-title="•YouTube「影视」",SwimwearUnderwear https://live.iill.top/youtube/SwimwearUnderwear #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",TTV_NEWS https://live.iill.top/youtube/xL0ch83RAK8 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",時裝藝術表演² -https://live.iill.top/youtube/@shiftswim #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",newsebc https://live.iill.top/youtube/newsebc -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",아리랑 라디오 -https://live.iill.top/youtube/Music180Arirang +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",時裝藝術表演¹ +https://live.iill.top/youtube/@NYFT +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",時裝藝術表演 +https://live.iill.top/youtube/@305miamivisuals +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/shiftswim&youtube&logo" group-title="•YouTube「影视」",SHIFT +https://live.iill.top/youtube/shiftswim #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/V1p33hqPrUk&youtube&logo" group-title="•YouTube「影视」",newsebc https://live.iill.top/youtube/V1p33hqPrUk #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",CCTV电视剧 https://live.iill.top/youtube/@CCTVDrama -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",時裝藝術表演 -https://live.iill.top/youtube/@305miamivisuals +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「游戏」",麻将直播Live +https://live.iill.top/youtube/@mahjongprolive +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「游戏」",Mleague +https://live.iill.top/youtube/@PRISONER1224 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/56697889278&douyin&logo" group-title="•抖音「其他」",与辉同行 https://live.iill.top/douyin/56697889278 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/抖音.png" group-title="•抖音「其他」",佛山发布 -https://live.iill.top/douyin/foshanfabu -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/hddhy20202&douyin&logo" group-title="•抖音「其他」",海蒂的花园 -https://live.iill.top/douyin/hddhy20202 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/hhxx337852&douyin&logo" group-title="•抖音「其他」",洪湖小肖 -https://live.iill.top/douyin/hhxx337852 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/18104672&douyin&logo" group-title="•抖音「其他」",贾队长 -https://live.iill.top/douyin/18104672 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/JGPYZBJ&douyin&logo" group-title="•抖音「其他」",交个朋友 -https://live.iill.top/douyin/JGPYZBJ -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/KKnews&douyin&logo" group-title="•抖音「其他」",看看新闻 -https://live.iill.top/douyin/KKnews #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/87524611523&douyin&logo" group-title="•抖音「其他」",彪马 https://live.iill.top/douyin/87524611523 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/kuaikancctv&douyin&logo" group-title="•抖音「其他」",央视网快看 -https://live.iill.top/douyin/kuaikancctv -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/713855094108&douyin&logo" group-title="•抖音「其他」",记实者 -https://live.iill.top/douyin/713855094108 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/zhejiangzhisheng&douyin&logo" group-title="•抖音「其他」",浙江之声 -https://live.iill.top/douyin/zhejiangzhisheng -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/CCTV1&douyin&logo" group-title="•抖音「其他」",测试TV -https://live.iill.top/douyin/CCTV1 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/dongfangzhenxuan&douyin&logo" group-title="•抖音「其他」",东方甄选 +https://live.iill.top/douyin/dongfangzhenxuan +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/抖音.png" group-title="•抖音「其他」",佛山发布 +https://live.iill.top/douyin/foshanfabu +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/gdtvdvxc&douyin&logo" group-title="•抖音「其他」",DV现场 +https://live.iill.top/douyin/gdtvdvxc +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/hddhy20202&douyin&logo" group-title="•抖音「其他」",海蒂的花园 +https://live.iill.top/douyin/hddhy20202 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/KKnews&douyin&logo" group-title="•抖音「其他」",看看新闻 +https://live.iill.top/douyin/KKnews #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1646735015&douyin&logo" group-title="•抖音「其他」",哈尔滨冰雪大世界 https://live.iill.top/douyin/1646735015 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Rr0ng&douyin&logo" group-title="•抖音「娱乐」",绒大 -https://live.iill.top/douyin/Rr0ng -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/wangjiaolian996&douyin&logo" group-title="•抖音「其他」",隔壁王教练 -https://live.iill.top/douyin/wangjiaolian996 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/965256858&douyin&logo" group-title="•抖音「娱乐」",叁公子 -https://live.iill.top/douyin/965256858 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Li74594210&douyin&logo" group-title="•抖音「娱乐」",小妲己 -https://live.iill.top/douyin/Li74594210 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/66380129635&douyin&logo" group-title="•抖音「娱乐」",葵葵. -https://live.iill.top/douyin/66380129635 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Cocoxinxinzi&douyin&logo" group-title="•抖音「其他」",欣欣籽孕期运动 -https://live.iill.top/douyin/Cocoxinxinzi -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/37548533011&douyin&logo" group-title="•抖音「其他」",张雪峰 -https://live.iill.top/douyin/37548533011 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/70101579594&douyin&logo" group-title="•抖音「其他」",雷雷老师 +https://live.iill.top/douyin/70101579594 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/49253641881&douyin&logo" group-title="•抖音「其他」",拆卡酱酱 https://live.iill.top/douyin/49253641881 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/181918y&douyin&logo" group-title="•抖音「娱乐」",依依. -https://live.iill.top/douyin/181918y +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/96138144645&douyin&logo" group-title="•抖音「其他」",微乐掼蛋 +https://live.iill.top/douyin/96138144645 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/713855094108&douyin&logo" group-title="•抖音「其他」",记实者 +https://live.iill.top/douyin/713855094108 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/kuaikancctv&douyin&logo" group-title="•抖音「其他」",央视网快看 +https://live.iill.top/douyin/kuaikancctv +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/JGPYZBJ&douyin&logo" group-title="•抖音「其他」",交个朋友 +https://live.iill.top/douyin/JGPYZBJ +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/37548533011&douyin&logo" group-title="•抖音「其他」",张雪峰 +https://live.iill.top/douyin/37548533011 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/70515581337&douyin&logo" group-title="•抖音「其他」",棒球老叨 +https://live.iill.top/douyin/70515581337 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/bbj0817_&douyin&logo" group-title="•抖音「娱乐」",BB酱 +https://live.iill.top/douyin/bbj0817_ +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/79528712736&douyin&logo" group-title="•抖音「其他」",长虹 +https://live.iill.top/douyin/79528712736 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/56g75&douyin&logo" group-title="•抖音「娱乐」",沫沫🍒 +https://live.iill.top/douyin/56g75 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/55301671083&douyin&logo" group-title="•抖音「娱乐」",芷芷 +https://live.iill.top/douyin/55301671083 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/voney626&douyin&logo" group-title="•抖音「娱乐」",小邦尼Voney +https://live.iill.top/douyin/voney626 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Q345328&douyin&logo" group-title="•抖音「娱乐」",小护士💉 +https://live.iill.top/douyin/Q345328 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9628781YY&douyin&logo" group-title="•抖音「娱乐」",衣亿U +https://live.iill.top/douyin/9628781YY #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/45892114187&douyin&logo" group-title="•抖音「娱乐」",甜豆🦋 https://live.iill.top/douyin/45892114187 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/XSS62888&douyin&logo" group-title="•抖音「娱乐」",一只小鲨er -https://live.iill.top/douyin/XSS62888 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6394882&douyin&logo" group-title="•抖音「娱乐」",💃赫拉 -https://live.iill.top/douyin/6394882 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/22935y&douyin&logo" group-title="•抖音「娱乐」",小言妃 -https://live.iill.top/douyin/22935y -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/36891639030&douyin&logo" group-title="•抖音「娱乐」",猫猫tou -https://live.iill.top/douyin/36891639030 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/iiiouoi09&douyin&logo" group-title="•抖音「娱乐」",奶乖 -https://live.iill.top/douyin/iiiouoi09 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/kate413&douyin&logo" group-title="•抖音「娱乐」",哈哈小太阳 -https://live.iill.top/douyin/kate413 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/345283290&douyin&logo" group-title="•抖音「娱乐」",天才霸总 -https://live.iill.top/douyin/345283290 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/81992142223&douyin&logo" group-title="•抖音「娱乐」",🍉大33•⁷¹¹粤语🎶 -https://live.iill.top/douyin/81992142223 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Baby_0210J&douyin&logo" group-title="•抖音「娱乐」",纯纯的纯 -https://live.iill.top/douyin/Baby_0210J -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/989335147018&douyin&logo" group-title="•抖音「娱乐」",Dj十三妹 -https://live.iill.top/douyin/DY8571993 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/78263998568&douyin&logo" group-title="•抖音「娱乐」",玛卡巴卡 -https://live.iill.top/douyin/78263998568 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/69561584138&douyin&logo" group-title="•抖音「娱乐」",小豆干 -https://live.iill.top/douyin/69561584138 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/3941797&douyin&logo" group-title="•抖音「娱乐」",小希🦁 +https://live.iill.top/douyin/3941797 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Rr0ng&douyin&logo" group-title="•抖音「娱乐」",绒大 +https://live.iill.top/douyin/Rr0ng +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/xing52xing&douyin&logo" group-title="•抖音「娱乐」",小包子心er +https://live.iill.top/douyin/xing52xing +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/LANQIER707&douyin&logo" group-title="•抖音「娱乐」",蓝柒儿 +https://live.iill.top/douyin/LANQIER707 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/LJ7777777.&douyin&logo" group-title="•抖音「娱乐」",邻家. +https://live.iill.top/douyin/LJ7777777. +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/25009116757&douyin&logo" group-title="•抖音「娱乐」",洋quan +https://live.iill.top/douyin/25009116757 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/weizitong521&douyin&logo" group-title="•抖音「娱乐」",大嫂🔥 https://live.iill.top/douyin/weizitong521 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/82441932948&douyin&logo" group-title="•抖音「娱乐」",Yuq -https://live.iill.top/douyin/82441932948 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/616953251208&douyin&logo" group-title="•抖音「娱乐」",果果宝 -https://live.iill.top/douyin/616953251208 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/laowoxifuxia&douyin&logo" group-title="•抖音「娱乐」",🇱🇦小依 -https://live.iill.top/douyin/laowoxifuxia -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/33721806183&douyin&logo" group-title="•抖音「娱乐」",摇光 ·西湖月 -https://live.iill.top/douyin/33721806183 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/894089126235&douyin&logo" group-title="•抖音「娱乐」",安萍 -https://live.iill.top/douyin/894089126235 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1071703427&douyin&logo" group-title="•抖音「娱乐」",秦利文 -https://live.iill.top/douyin/1071703427 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/60403330702&douyin&logo" group-title="•抖音「娱乐」",玲~ -https://live.iill.top/douyin/60403330702 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/52712971292&douyin&logo" group-title="•抖音「娱乐」",可爱肉肉 -https://live.iill.top/douyin/52712971292 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/HRliuwanchen&douyin&logo" group-title="•抖音「娱乐」",刘菀儿 -https://live.iill.top/douyin/HRliuwanchen -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/540028685614&douyin&logo" group-title="•抖音「娱乐」",韩允善🍀 -https://live.iill.top/douyin/540028685614 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/67302649962&douyin&logo" group-title="•抖音「娱乐」",央视台球 -https://live.iill.top/douyin/67302649962 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/98076631526&douyin&logo" group-title="•抖音「娱乐」",空乘安安 -https://live.iill.top/douyin/98076631526 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/抖音.png" group-title="•抖音「娱乐」",光音里 -https://live.iill.top/douyin/187786036155 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/24892016979&douyin&logo" group-title="•抖音「娱乐」",苹果大福 -https://live.iill.top/douyin/24892016979 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/88568719367&douyin&logo" group-title="•抖音「娱乐」",Coco -https://live.iill.top/douyin/88568719367 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/213303117&douyin&logo" group-title="•抖音「娱乐」",然宝🐻 -https://live.iill.top/douyin/213303117 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/cctv_video&douyin&logo" group-title="•抖音「娱乐」",小央视频 -https://live.iill.top/douyin/cctv_video -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/WangXianRuYi&douyin&logo" group-title="•抖音「游戏」",第五忘羡如一 -https://live.iill.top/douyin/WangXianRuYi -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/d5youtai&douyin&logo" group-title="•抖音「游戏」",第五 犹太(纱比以色列!) -https://live.iill.top/douyin/d5youtai -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/xuehanhan.&douyin&logo" group-title="•抖音「游戏」",第五雪憨憨 -https://live.iill.top/douyin/xuehanhan. -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/paopao90969&douyin&logo" group-title="•抖音「游戏」",CF爱音 -https://live.iill.top/douyin/paopao90969 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/xiaochai1126&douyin&logo" group-title="•抖音「游戏」",英雄联盟-小柴 -https://live.iill.top/douyin/xiaochai1126 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/sorry51074&douyin&logo" group-title="•抖音「游戏」",张君雅 -https://live.iill.top/douyin/sorry51074 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2126185857&douyin&logo" group-title="•抖音「游戏」",CF玖儿 -https://live.iill.top/douyin/2126185857 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/122968300347&douyin&logo" group-title="•抖音「游戏」",老白的正经解说(白老师) -https://live.iill.top/douyin/122968300347 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/57140356199&douyin&logo" group-title="•抖音「游戏」",洗剪吹 -https://live.iill.top/douyin/57140356199 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/xzh0601xx&douyin&logo" group-title="•抖音「游戏」",小樱樱 -https://live.iill.top/douyin/xzh0601xx -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/83791455679&douyin&logo" group-title="•抖音「游戏」",谢尔比·李 -https://live.iill.top/douyin/83791455679 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/抖音.png" group-title="•抖音「游戏」",上将典韦 -https://live.iill.top/douyin/38254122804 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/64186752222&douyin&logo" group-title="•抖音「游戏」",可乐 -https://live.iill.top/douyin/64186752222 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/69561584138&douyin&logo" group-title="•抖音「娱乐」",小豆干 +https://live.iill.top/douyin/69561584138 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/HZ641221260&douyin&logo" group-title="•抖音「娱乐」",阿泽.新疆无界派直播中 +https://live.iill.top/douyin/HZ641221260 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Zfovik229&douyin&logo" group-title="•抖音「娱乐」",张金儿 +https://live.iill.top/douyin/Zfovik229 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/SS072788&douyin&logo" group-title="•抖音「娱乐」",柒月 +https://live.iill.top/douyin/SS072788 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Mansorry0&douyin&logo" group-title="•抖音「娱乐」",新月001 +https://live.iill.top/douyin/Mansorry0 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Wtccc666&douyin&logo" group-title="•抖音「娱乐」",文婷🦄️ +https://live.iill.top/douyin/Wtccc666 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/102953757&douyin&logo" group-title="•抖音「娱乐」",胖胖✈️☁️ +https://live.iill.top/douyin/102953757 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/aixuejie33&douyin&logo" group-title="•抖音「娱乐」",就叫学姐(私信封禁15天) +https://live.iill.top/douyin/aixuejie33 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/70588454512&douyin&logo" group-title="•抖音「娱乐」",猪扒姐姐 +https://live.iill.top/douyin/70588454512 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/79152884864&douyin&logo" group-title="•抖音「娱乐」",🫧泡泡🫧 +https://live.iill.top/douyin/79152884864 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/momoBCF&douyin&logo" group-title="•抖音「娱乐」",裴秀秀 +https://live.iill.top/douyin/momoBCF +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29733649731&douyin&logo" group-title="•抖音「娱乐」",小嘤ovo +https://live.iill.top/douyin/29733649731 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Miyasz&douyin&logo" group-title="•抖音「娱乐」",姜妍妍 +https://live.iill.top/douyin/Miyasz +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/191634020590&douyin&logo" group-title="•抖音「娱乐」",兔子菌🍄 +https://live.iill.top/douyin/191634020590 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/18588810219&douyin&logo" group-title="•抖音「娱乐」",姜南🍁 +https://live.iill.top/douyin/18588810219 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5888wy.&douyin&logo" group-title="•抖音「娱乐」",小仙儿❤️ https://live.iill.top/douyin/5888wy. -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/76490985813&douyin&logo" group-title="•抖音「游戏」",威力电竞格斗游戏解说 -https://live.iill.top/douyin/76490985813 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/kai992004&douyin&logo" group-title="•抖音「游戏」",王者荣耀克隆王 -https://live.iill.top/douyin/kai992004 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/jjworld&douyin&logo" group-title="•抖音「游戏」",JJ斗地主 -https://live.iill.top/douyin/jjworld -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/jl735980&douyin&logo" group-title="•抖音「游戏」",佳龙(单挑技术主播) -https://live.iill.top/douyin/jl735980 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/27902756326&douyin&logo" group-title="•抖音「游戏」",夏阳(火舞) -https://live.iill.top/douyin/27902756326 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/60403330702&douyin&logo" group-title="•抖音「娱乐」",玲~ +https://live.iill.top/douyin/60403330702 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/cheeen666&douyin&logo" group-title="•抖音「娱乐」",香香草 +https://live.iill.top/douyin/cheeen666 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/qh6868687&douyin&logo" group-title="•抖音「娱乐」",小乔. +https://live.iill.top/douyin/qh6868687 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/64760218171&douyin&logo" group-title="•抖音「娱乐」",张小月 https://live.iill.top/douyin/64760218171 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/抖音.png" group-title="•抖音「娱乐」",光音里 +https://live.iill.top/douyin/187786036155 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/55141468202&douyin&logo" group-title="•抖音「娱乐」",靓女2 +https://live.iill.top/douyin/55141468202 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/85794016532&douyin&logo" group-title="•抖音「娱乐」",亿口酥 +https://live.iill.top/douyin/85794016532 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/67330727758&douyin&logo" group-title="•抖音「娱乐」",糖不苦 +https://live.iill.top/douyin/67330727758 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/213303117&douyin&logo" group-title="•抖音「娱乐」",然宝🐻 +https://live.iill.top/douyin/213303117 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/hunanjingshi&douyin&logo" group-title="•抖音「影视」",湖南经视 +https://live.iill.top/douyin/hunanjingshi +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/cctv_video&douyin&logo" group-title="•抖音「娱乐」",小央视频 +https://live.iill.top/douyin/cctv_video +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Z9993211&douyin&logo" group-title="•抖音「娱乐」",桃桃🍑 +https://live.iill.top/douyin/Z9993211 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/zhejiangzhobai&douyin&logo" group-title="•抖音「影视」",浙江中百婺剧团 +https://live.iill.top/douyin/zhejiangzhobai +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/86095198645&douyin&logo" group-title="•抖音「游戏」",奶牛🐄 +https://live.iill.top/douyin/86095198645 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/wot1991&douyin&logo" group-title="•抖音「游戏」",坦克世界-聆听 +https://live.iill.top/douyin/wot1991 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/kenan0726&douyin&logo" group-title="•抖音「游戏」",阔澜 +https://live.iill.top/douyin/kenan0726 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/xiaochai1126&douyin&logo" group-title="•抖音「游戏」",英雄联盟-小柴 +https://live.iill.top/douyin/xiaochai1126 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/mhcjs666&douyin&logo" group-title="•抖音「游戏」",CF梦幻 +https://live.iill.top/douyin/mhcjs666 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/lucs666000&douyin&logo" group-title="•抖音「游戏」",国一安琪拉刺狐(百评) +https://live.iill.top/douyin/lucs666000 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Fire001666&douyin&logo" group-title="•抖音「游戏」",国风 +https://live.iill.top/douyin/Fire001666 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/466895498926&douyin&logo" group-title="•抖音「游戏」",高子巷 +https://live.iill.top/douyin/466895498926 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/keyuanna19&douyin&logo" group-title="•抖音「游戏」",萝卜 +https://live.iill.top/douyin/keyuanna19 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/wenrounanqiang&douyin&logo" group-title="•抖音「游戏」",温柔男枪 +https://live.iill.top/douyin/wenrounanqiang +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/64186752222&douyin&logo" group-title="•抖音「游戏」",可乐 +https://live.iill.top/douyin/64186752222 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/tamu12345&douyin&logo" group-title="•抖音「游戏」",塔姆大王(英雄联盟) +https://live.iill.top/douyin/tamu12345 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/sanjiu0530&douyin&logo" group-title="•抖音「游戏」",三酒 +https://live.iill.top/douyin/sanjiu0530 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2126185857&douyin&logo" group-title="•抖音「游戏」",CF玖儿 +https://live.iill.top/douyin/2126185857 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/324546102&douyin&logo" group-title="•抖音「游戏」",演绎 +https://live.iill.top/douyin/324546102 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/jjworld&douyin&logo" group-title="•抖音「游戏」",JJ斗地主 +https://live.iill.top/douyin/jjworld +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/165002903056&douyin&logo" group-title="•抖音「游戏」",罗成 +https://live.iill.top/douyin/165002903056 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2220570808&douyin&logo" group-title="•抖音「游戏」",炉石林可 https://live.iill.top/douyin/2220570808 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Kle716&douyin&logo" group-title="•抖音「游戏」",王者荣耀可乐(貂蝉) -https://live.iill.top/douyin/Kle716 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/chiye0099&douyin&logo" group-title="•抖音「游戏」",施夷光池夜(纯法西施) -https://live.iill.top/douyin/chiye0099 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/ergelaodeng666&douyin&logo" group-title="•抖音「游戏」",CF.老登 -https://live.iill.top/douyin/ergelaodeng666 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/MUZIQQZUIKEAI&douyin&logo" group-title="•抖音「游戏」",第五 木子喵喵 -https://live.iill.top/douyin/MUZIQQZUIKEAI -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/WangxianRuYi&douyin&logo" group-title="•抖音「游戏」",第五 忘羡如一 -https://live.iill.top/douyin/WangxianRuYi -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Mst910520&douyin&logo" group-title="•抖音「游戏」",第五 910 -https://live.iill.top/douyin/Mst910520 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/61905198465&douyin&logo" group-title="•抖音「游戏」",我的狐狸娇妻 -https://live.iill.top/douyin/61905198465 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/XB1205aaa&douyin&logo" group-title="•抖音「游戏」",第五 雪饼 -https://live.iill.top/douyin/XB1205aaa -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/goushenGG6&douyin&logo" group-title="•抖音「游戏」",狗神(御弟) -https://live.iill.top/douyin/goushenGG6 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Wakklp&douyin&logo" group-title="•抖音「游戏」",第五 夜游 -https://live.iill.top/douyin/Wakklp -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/xiaoha_ovo&douyin&logo" group-title="•抖音「游戏」",第五 小哈呀 -https://live.iill.top/douyin/xiaoha_ovo -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/longqidui2020&douyin&logo" group-title="•抖音「游戏」",袁磊多乐升级 -https://live.iill.top/douyin/longqidui2020 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/BEIHAG&douyin&logo" group-title="•抖音「游戏」",第五 北北北海 -https://live.iill.top/douyin/BEIHAG -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5248038&douyin&logo" group-title="•抖音「游戏」",海洋. -https://live.iill.top/douyin/5248038 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26177156068&douyin&logo" group-title="•抖音「游戏」",千年 -https://live.iill.top/douyin/26177156068 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/685317364746&douyin&logo" group-title="•抖音「游戏」",JJ斗地主 -https://live.iill.top/douyin/685317364746 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Dxx_0523&douyin&logo" group-title="•抖音「游戏」",沐白pubg -https://live.iill.top/douyin/Dxx_0523 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Mingyou411&douyin&logo" group-title="•抖音「游戏」",第五 格命 -https://live.iill.top/douyin/Mingyou411 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/CFHDLG&douyin&logo" group-title="•抖音「游戏」",cfhd老公 -https://live.iill.top/douyin/CFHDLG -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/geng970616&douyin&logo" group-title="•抖音「游戏」",一乐火影 -https://live.iill.top/douyin/geng970616 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/632274742&douyin&logo" group-title="•抖音「游戏」",柯柯是个老六(安琪拉) +https://live.iill.top/douyin/632274742 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/sorry51074&douyin&logo" group-title="•抖音「游戏」",张君雅 +https://live.iill.top/douyin/sorry51074 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/208324073&douyin&logo" group-title="•抖音「游戏」",X1f +https://live.iill.top/douyin/208324073 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/CT.6660&douyin&logo" group-title="•抖音「游戏」",辰天 +https://live.iill.top/douyin/CT.6660 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/86271700&douyin&logo" group-title="•抖音「游戏」",佳叽 +https://live.iill.top/douyin/86271700 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/no1TAO&douyin&logo" group-title="•抖音「游戏」",南波万(三角洲) +https://live.iill.top/douyin/no1TAO #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7475973&douyin&logo" group-title="•抖音「游戏」",PUBG乘风 https://live.iill.top/douyin/7475973 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/434213&douyu&logo" group-title="•斗鱼「其他」",数码科技 https://live.iill.top/douyu/434213 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/10205199&douyu&logo" group-title="•斗鱼「其他」",练习每一天 -https://live.iill.top/douyu/10205199 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8661966&douyu&logo" group-title="•斗鱼「其他」",下饭音乐 -https://live.iill.top/douyu/8661966 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9317739&douyu&logo" group-title="•斗鱼「其他」",自说自话的总裁 -https://live.iill.top/douyu/9317739 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1377142&douyu&logo" group-title="•斗鱼「娱乐」",yuxian -https://live.iill.top/douyu/1377142 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/86271700&douyin&logo" group-title="•抖音「游戏」",佳叽 -https://live.iill.top/douyin/86271700 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/78684365826&douyin&logo" group-title="•抖音「游戏」",CODM单人4排钢枪主播小蓝 -https://live.iill.top/douyin/78684365826 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2104744&douyu&logo" group-title="•斗鱼「娱乐」",宇哥讲电影 -https://live.iill.top/douyu/2104744 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/57140356199&douyin&logo" group-title="•抖音「游戏」",洗剪吹 +https://live.iill.top/douyin/57140356199 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/259676&douyu&logo" group-title="•斗鱼「其他」",神机小诸葛 https://live.iill.top/douyu/259676 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/329667&douyu&logo" group-title="•斗鱼「娱乐」",kpop 音乐女团 -https://live.iill.top/douyu/329667 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/17732&douyu&logo" group-title="•斗鱼「娱乐」",7师傅 -https://live.iill.top/douyu/17732 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9698055&douyu&logo" group-title="•斗鱼「娱乐」",大阿七qi -https://live.iill.top/douyu/9698055 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/685317364746&douyin&logo" group-title="•抖音「游戏」",JJ斗地主 +https://live.iill.top/douyin/685317364746 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9317739&douyu&logo" group-title="•斗鱼「其他」",自说自话的总裁 +https://live.iill.top/douyu/9317739 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8661966&douyu&logo" group-title="•斗鱼「其他」",下饭音乐 +https://live.iill.top/douyu/8661966 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/mianhua66666666&douyin&logo" group-title="•抖音「游戏」",棉花 +https://live.iill.top/douyin/mianhua66666666 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/10205199&douyu&logo" group-title="•斗鱼「其他」",练习每一天 +https://live.iill.top/douyu/10205199 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8737695&douyu&logo" group-title="•斗鱼「娱乐」",文西与阿漆 https://live.iill.top/douyu/8737695 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9236042&douyu&logo" group-title="•斗鱼「娱乐」",吐槽吐槽 https://live.iill.top/douyu/9236042 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/10153463&douyu&logo" group-title="•斗鱼「娱乐」",【开心麻花】沈腾、马丽经典小品专场 -https://live.iill.top/douyu/10153463 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/244548&douyu&logo" group-title="•斗鱼「娱乐」",叶子户外 +https://live.iill.top/douyu/244548 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2104744&douyu&logo" group-title="•斗鱼「娱乐」",宇哥讲电影 +https://live.iill.top/douyu/2104744 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/17732&douyu&logo" group-title="•斗鱼「娱乐」",7师傅 +https://live.iill.top/douyu/17732 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9698055&douyu&logo" group-title="•斗鱼「娱乐」",大阿七qi +https://live.iill.top/douyu/9698055 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9406416&douyu&logo" group-title="•斗鱼「娱乐」",辽视组团上春晚的直播间 https://live.iill.top/douyu/9406416 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/10153463&douyu&logo" group-title="•斗鱼「娱乐」",【开心麻花】沈腾、马丽经典小品专场 +https://live.iill.top/douyu/10153463 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11436664&douyu&logo" group-title="•斗鱼「娱乐」",韩国 https://live.iill.top/douyu/11436664 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/317422&douyu&logo" group-title="•斗鱼「娱乐」",驴酱的冯雨大王 -https://live.iill.top/douyu/317422 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/msgxiong&douyin&logo" group-title="•抖音「游戏」",梦三国熊二 -https://live.iill.top/douyin/msgxiong -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/251783&douyu&logo" group-title="•斗鱼「娱乐」",暴走的银剑君丶 -https://live.iill.top/douyu/251783 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「娱乐」",299854 -https://live.iill.top/douyu/299854 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11017&douyu&logo" group-title="•斗鱼「娱乐」",War3TH000 -https://live.iill.top/douyu/11017 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4105989&douyu&logo" group-title="•斗鱼「影视」",变形金刚 https://live.iill.top/douyu/4105989 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「娱乐」",柯南 https://live.iill.top/douyu/1487654 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11017&douyu&logo" group-title="•斗鱼「娱乐」",War3TH000 +https://live.iill.top/douyu/11017 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1377142&douyu&logo" group-title="•斗鱼「娱乐」",yuxian +https://live.iill.top/douyu/1377142 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2793084&douyu&logo" group-title="•斗鱼「影视」",科幻 https://live.iill.top/douyu/2793084 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4246519&douyu&logo" group-title="•斗鱼「影视」",邵氏电影·1 -https://live.iill.top/douyu/4246519 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7552568&douyu&logo" group-title="•斗鱼「影视」",隋唐演义 -https://live.iill.top/douyu/7552568 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2287949&douyu&logo" group-title="•斗鱼「影视」",成龙历险记 -https://live.iill.top/douyu/2287949 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9286868&douyu&logo" group-title="•斗鱼「影视」",陈佩斯喜剧 https://live.iill.top/douyu/9286868 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",小片片说大片 -https://live.iill.top/douyu/4258555 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/131977&douyu&logo" group-title="•斗鱼「影视」",Runningman -https://live.iill.top/douyu/131977 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7552568&douyu&logo" group-title="•斗鱼「影视」",隋唐演义 +https://live.iill.top/douyu/7552568 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/3439096&douyu&logo" group-title="•斗鱼「影视」",当燕双鹰遇见李元芳 https://live.iill.top/douyu/3439096 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",刘老师说电影 https://live.iill.top/douyu/8317926 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",大漠叔叔 -https://live.iill.top/douyu/1109218 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/610972&douyu&logo" group-title="•斗鱼「影视」",都市夜魔人 https://live.iill.top/douyu/610972 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/YiHanDW&douyin&logo" group-title="•抖音「游戏」",遗憾三角洲 -https://live.iill.top/douyin/YiHanDW +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4452132&douyu&logo" group-title="•斗鱼「娱乐」",何二抛zZ +https://live.iill.top/douyu/4452132 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",牛叔说电影 https://live.iill.top/douyu/2758565 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",史君说剧 https://live.iill.top/douyu/9419771 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",科幻Fans布玛 -https://live.iill.top/douyu/3508304 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",小片片说大片 +https://live.iill.top/douyu/4258555 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",贾玲经典小品 https://live.iill.top/douyu/10419541 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",科幻Fans布玛 +https://live.iill.top/douyu/3508304 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",大漠叔叔 +https://live.iill.top/douyu/1109218 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",赵本山小品 https://live.iill.top/douyu/9817716 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",宋小宝小品 @@ -604,208 +612,232 @@ https://live.iill.top/douyu/9817729 https://live.iill.top/douyu/9220456 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",开心锤锤动漫 https://live.iill.top/douyu/9018297 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/131977&douyu&logo" group-title="•斗鱼「影视」",Runningman +https://live.iill.top/douyu/131977 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2287949&douyu&logo" group-title="•斗鱼「影视」",成龙历险记 +https://live.iill.top/douyu/2287949 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8009547&douyu&logo" group-title="•斗鱼「影视」",香港鬼片 https://live.iill.top/douyu/8009547 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/122402&douyu&logo" group-title="•斗鱼「影视」",周星驰 -https://live.iill.top/douyu/122402 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/426517&douyu&logo" group-title="•斗鱼「影视」",动漫轮播 https://live.iill.top/douyu/426517 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6863367&douyu&logo" group-title="•斗鱼「影视」",爱情公寓|爱情公寓vip -https://live.iill.top/douyu/6863367 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11878141&douyu&logo" group-title="•斗鱼「影视」",蕃薯粥粥煮好了 https://live.iill.top/douyu/11878141 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5522351&douyu&logo" group-title="•斗鱼「影视」",疯狂小潴潴 +https://live.iill.top/douyu/5522351 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/122402&douyu&logo" group-title="•斗鱼「影视」",周星驰 +https://live.iill.top/douyu/122402 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/922564&douyu&logo" group-title="•斗鱼「影视」",卖女孩滴小姑凉 https://live.iill.top/douyu/922564 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6484910&douyu&logo" group-title="•斗鱼「影视」",名侦探柯南剧场版 https://live.iill.top/douyu/6484910 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5522351&douyu&logo" group-title="•斗鱼「影视」",疯狂小潴潴 -https://live.iill.top/douyu/5522351 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/c2235752653&douyin&logo" group-title="•抖音「游戏」",大摆熊(双服第一ap狗熊) +https://live.iill.top/douyin/c2235752653 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8231658&douyu&logo" group-title="•斗鱼「影视」",cym009 +https://live.iill.top/douyu/8231658 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",电影迷小雅 https://live.iill.top/douyu/9639225 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/64621474275&douyin&logo" group-title="•抖音「游戏」",秒杀怪卡萨丁 +https://live.iill.top/douyin/64621474275 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11827530&douyu&logo" group-title="•斗鱼「影视」",家有儿女|一样二职 +https://live.iill.top/douyu/11827530 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9942574&douyu&logo" group-title="•斗鱼「影视」",爆笑虫子 +https://live.iill.top/douyu/9942574 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/260322&douyu&logo" group-title="•斗鱼「影视」",懒猫 +https://live.iill.top/douyu/260322 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11756388&douyu&logo" group-title="•斗鱼「影视」",经典 +https://live.iill.top/douyu/11756388 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11391949&douyu&logo" group-title="•斗鱼「影视」",庆余年 +https://live.iill.top/douyu/11391949 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9375430&douyu&logo" group-title="•斗鱼「影视」",爱笑会议室 +https://live.iill.top/douyu/9375430 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9273031&douyu&logo" group-title="•斗鱼「影视」",相声 https://live.iill.top/douyu/9273031 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/3715426&douyu&logo" group-title="•斗鱼「影视」",精讲老剧 https://live.iill.top/douyu/3715426 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9375430&douyu&logo" group-title="•斗鱼「影视」",爱笑会议室 -https://live.iill.top/douyu/9375430 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/260322&douyu&logo" group-title="•斗鱼「影视」",懒猫 -https://live.iill.top/douyu/260322 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9369468&douyu&logo" group-title="•斗鱼「影视」",未解之谜 -https://live.iill.top/douyu/9369468 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9487003&douyu&logo" group-title="•斗鱼「影视」",宋江 https://live.iill.top/douyu/9487003 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9942574&douyu&logo" group-title="•斗鱼「影视」",爆笑虫子 -https://live.iill.top/douyu/9942574 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1174353&douyu&logo" group-title="•斗鱼「影视」",【动漫】超燃 怀旧 经典-苹果Zei甜 https://live.iill.top/douyu/1174353 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11827530&douyu&logo" group-title="•斗鱼「影视」",家有儿女|一样二职 -https://live.iill.top/douyu/11827530 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4452132&douyu&logo" group-title="•斗鱼「娱乐」",何二抛zZ -https://live.iill.top/douyu/4452132 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9770949&douyu&logo" group-title="•斗鱼「影视」",我叫孙火旺 -https://live.iill.top/douyu/9770949 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9369468&douyu&logo" group-title="•斗鱼「影视」",未解之谜 +https://live.iill.top/douyu/9369468 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6027991&douyu&logo" group-title="•斗鱼「影视」",狄仁杰 1-4 部 +https://live.iill.top/douyu/6027991 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/12015111&douyu&logo" group-title="•斗鱼「影视」",经典老剧轮播 +https://live.iill.top/douyu/12015111 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2164691&douyu&logo" group-title="•斗鱼「影视」",发条电影最TOP https://live.iill.top/douyu/2164691 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5261342&douyu&logo" group-title="•斗鱼「影视」",人气港剧 -https://live.iill.top/douyu/5261342 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/3643605&douyu&logo" group-title="•斗鱼「影视」",一目十影 -https://live.iill.top/douyu/3643605 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8869614&douyu&logo" group-title="•斗鱼「影视」",蔡老板家的长工 -https://live.iill.top/douyu/8869614 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8413092&douyu&logo" group-title="•斗鱼「影视」",挖沟连彭沟长 -https://live.iill.top/douyu/8413092 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/12308334&douyu&logo" group-title="•斗鱼「影视」",燕双鹰猎鹰1 -https://live.iill.top/douyu/12308334 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11391949&douyu&logo" group-title="•斗鱼「影视」",庆余年 -https://live.iill.top/douyu/11391949 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8795274&douyu&logo" group-title="•斗鱼「影视」",求求扣扣困困 -https://live.iill.top/douyu/8795274 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7655471&douyu&logo" group-title="•斗鱼「影视」",武侠剧 -https://live.iill.top/douyu/7655471 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",单纯的顺才少爷 -https://live.iill.top/douyu/10084875 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4549169&douyu&logo" group-title="•斗鱼「影视」",橙记 -https://live.iill.top/douyu/4549169 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7812810&douyu&logo" group-title="•斗鱼「影视」",庆余年 +https://live.iill.top/douyu/7812810 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/10010651&douyu&logo" group-title="•斗鱼「影视」",牛叔说电影二台 https://live.iill.top/douyu/10010651 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8869614&douyu&logo" group-title="•斗鱼「影视」",蔡老板家的长工 +https://live.iill.top/douyu/8869614 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5261342&douyu&logo" group-title="•斗鱼「影视」",人气港剧 +https://live.iill.top/douyu/5261342 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8413092&douyu&logo" group-title="•斗鱼「影视」",挖沟连彭沟长 +https://live.iill.top/douyu/8413092 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9770949&douyu&logo" group-title="•斗鱼「影视」",我叫孙火旺 +https://live.iill.top/douyu/9770949 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/3643605&douyu&logo" group-title="•斗鱼「影视」",一目十影 +https://live.iill.top/douyu/3643605 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8795274&douyu&logo" group-title="•斗鱼「影视」",求求扣扣困困 +https://live.iill.top/douyu/8795274 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/20415&douyu&logo" group-title="•斗鱼「影视」",斗鱼20415 +https://live.iill.top/douyu/20415 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「影视」",单纯的顺才少爷 +https://live.iill.top/douyu/10084875 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8371123&douyu&logo" group-title="•斗鱼「影视」",查案 https://live.iill.top/douyu/8371123 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/562225&douyu&logo" group-title="•斗鱼「影视」",新手村头号玩家 -https://live.iill.top/douyu/562225 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9990298&douyu&logo" group-title="•斗鱼「游戏」",王大谋 -https://live.iill.top/douyu/9990298 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4549169&douyu&logo" group-title="•斗鱼「影视」",橙记 +https://live.iill.top/douyu/4549169 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4615502&douyu&logo" group-title="•斗鱼「游戏」",一条小团团OvO(包包代播) +https://live.iill.top/douyu/4615502 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/74960&douyu&logo" group-title="•斗鱼「游戏」",叫我老陈就好了 https://live.iill.top/douyu/74960 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9999&douyu&logo" group-title="•斗鱼「游戏」",YYF https://live.iill.top/douyu/9999 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/213116&douyu&logo" group-title="•斗鱼「游戏」",普通人陡壁 +https://live.iill.top/douyu/213116 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1870001&douyu&logo" group-title="•斗鱼「游戏」",大木 +https://live.iill.top/douyu/1870001 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5498522&douyu&logo" group-title="•斗鱼「游戏」",Lilghost https://live.iill.top/douyu/5498522 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/178432&douyu&logo" group-title="•斗鱼「游戏」",QuQu、太常规 https://live.iill.top/douyu/178432 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1870001&douyu&logo" group-title="•斗鱼「游戏」",大木 -https://live.iill.top/douyu/1870001 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1300804&douyu&logo" group-title="•斗鱼「游戏」",卷子 -https://live.iill.top/douyu/1300804 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/71415&douyu&logo" group-title="•斗鱼「游戏」",寅子 -https://live.iill.top/douyu/71415 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/12133146&douyu&logo" group-title="•斗鱼「游戏」",牛逼小番 +https://live.iill.top/douyu/12133146 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/138243&douyu&logo" group-title="•斗鱼「游戏」",洞主 https://live.iill.top/douyu/138243 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/20415&douyu&logo" group-title="•斗鱼「影视」",斗鱼20415 -https://live.iill.top/douyu/20415 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/687423&douyu&logo" group-title="•斗鱼「游戏」",yjjimpaopao +https://live.iill.top/douyu/687423 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/666743&douyu&logo" group-title="•斗鱼「游戏」",zzc https://live.iill.top/douyu/666743 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/92928019051&douyin&logo" group-title="•抖音「游戏」",羊羊不吃草 +https://live.iill.top/douyin/92928019051 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/572288&douyu&logo" group-title="•斗鱼「游戏」", Cnzlike https://live.iill.top/douyu/572288 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6558897&douyu&logo" group-title="•斗鱼「游戏」",果小果是个弟弟 -https://live.iill.top/douyu/6558897 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1126960&douyu&logo" group-title="•斗鱼「游戏」",余小C -https://live.iill.top/douyu/1126960 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1300804&douyu&logo" group-title="•斗鱼「游戏」",卷子 +https://live.iill.top/douyu/1300804 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/52876&douyu&logo" group-title="•斗鱼「游戏」",ZSMJ https://live.iill.top/douyu/52876 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9990298&douyu&logo" group-title="•斗鱼「游戏」",王大谋 +https://live.iill.top/douyu/9990298 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6558897&douyu&logo" group-title="•斗鱼「游戏」",果小果是个弟弟 +https://live.iill.top/douyu/6558897 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/10639765&douyu&logo" group-title="•斗鱼「游戏」",艾琳bigbaby https://live.iill.top/douyu/10639765 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6567483&douyu&logo" group-title="•斗鱼「游戏」",Sumiya丶墨岩彧 -https://live.iill.top/douyu/6567483 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/74751&douyu&logo" group-title="•斗鱼「游戏」",超级小桀 +https://live.iill.top/douyu/74751 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/CFHDLG&douyin&logo" group-title="•抖音「游戏」",cfhd老公 +https://live.iill.top/douyin/CFHDLG #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/3168536&douyu&logo" group-title="•斗鱼「游戏」",Xleft小叮当 https://live.iill.top/douyu/3168536 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11746004&douyu&logo" group-title="•斗鱼「游戏」",阿豪是超级大帅Bi https://live.iill.top/douyu/11746004 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7180846&douyu&logo" group-title="•斗鱼「游戏」",jjking剑姬 -https://live.iill.top/douyu/7180846 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/718133&douyu&logo" group-title="•斗鱼「游戏」",十月船长 https://live.iill.top/douyu/718133 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4487219&douyu&logo" group-title="•斗鱼「游戏」",帽子(象棋) -https://live.iill.top/douyu/4487219 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/280087&douyu&logo" group-title="•斗鱼「游戏」",欠你幸福(四国军棋) -https://live.iill.top/douyu/280087 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/74751&douyu&logo" group-title="•斗鱼「游戏」",超级小桀 -https://live.iill.top/douyu/74751 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1126960&douyu&logo" group-title="•斗鱼「游戏」",余小C +https://live.iill.top/douyu/1126960 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6567483&douyu&logo" group-title="•斗鱼「游戏」",Sumiya丶墨岩彧 +https://live.iill.top/douyu/6567483 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/39300&douyu&logo" group-title="•斗鱼「游戏」",舟老师丶 +https://live.iill.top/douyu/39300 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/528353&douyu&logo" group-title="•斗鱼「游戏」",As童话话话 https://live.iill.top/douyu/528353 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/63136&douyu&logo" group-title="•斗鱼「游戏」",冬瓜强 -https://live.iill.top/douyu/63136 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6499690&douyu&logo" group-title="•斗鱼「游戏」",国宝佳悦 -https://live.iill.top/douyu/6499690 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/280087&douyu&logo" group-title="•斗鱼「游戏」",欠你幸福(四国军棋) +https://live.iill.top/douyu/280087 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4246519&douyu&logo" group-title="•斗鱼「影视」",邵氏电影·1 +https://live.iill.top/douyu/4246519 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7180846&douyu&logo" group-title="•斗鱼「游戏」",jjking剑姬 +https://live.iill.top/douyu/7180846 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26023&douyu&logo" group-title="•斗鱼「游戏」",A胖瘦了 https://live.iill.top/douyu/26023 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/80887&douyu&logo" group-title="•斗鱼「游戏」",DMC 葡萄鹏 -https://live.iill.top/douyu/80887 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4487219&douyu&logo" group-title="•斗鱼「游戏」",帽子(象棋) +https://live.iill.top/douyu/4487219 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/190448&douyu&logo" group-title="•斗鱼「游戏」",hasfin https://live.iill.top/douyu/190448 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2207607&douyu&logo" group-title="•斗鱼「游戏」",骚易 -https://live.iill.top/douyu/2207607 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/80887&douyu&logo" group-title="•斗鱼「游戏」",DMC 葡萄鹏 +https://live.iill.top/douyu/80887 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2106575&douyu&logo" group-title="•斗鱼「游戏」",吕布 https://live.iill.top/douyu/2106575 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5377721&douyu&logo" group-title="•斗鱼「游戏」",放逐大帝灬 https://live.iill.top/douyu/5377721 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2207607&douyu&logo" group-title="•斗鱼「游戏」",骚易 +https://live.iill.top/douyu/2207607 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/433724&douyu&logo" group-title="•斗鱼「游戏」",王科长 https://live.iill.top/douyu/433724 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/52&douyu&logo" group-title="•斗鱼「游戏」",火星包 https://live.iill.top/douyu/52 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/62081&douyu&logo" group-title="•斗鱼「游戏」",叶落 -https://live.iill.top/douyu/62081 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7655471&douyu&logo" group-title="•斗鱼「影视」",武侠剧 +https://live.iill.top/douyu/7655471 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9718359&douyu&logo" group-title="•斗鱼「游戏」",陈小象丶 +https://live.iill.top/douyu/9718359 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/3305122&douyu&logo" group-title="•斗鱼「游戏」",丸子头的文哥哥 https://live.iill.top/douyu/3305122 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5894085&douyu&logo" group-title="•斗鱼「游戏」",茂不易 https://live.iill.top/douyu/5894085 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5132174&douyu&logo" group-title="•斗鱼「游戏」",哈尼他姐 -https://live.iill.top/douyu/5132174 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2311698&douyu&logo" group-title="•斗鱼「游戏」",斯祥 https://live.iill.top/douyu/2311698 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8652337&douyu&logo" group-title="•斗鱼「游戏」",小霖超甜呐-蛋仔 -https://live.iill.top/douyu/8652337 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/62081&douyu&logo" group-title="•斗鱼「游戏」",叶落 +https://live.iill.top/douyu/62081 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/48699&douyu&logo" group-title="•斗鱼「游戏」",衣锦夜行 +https://live.iill.top/douyu/48699 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/845683&douyu&logo" group-title="•斗鱼「游戏」",卡特cs2 https://live.iill.top/douyu/845683 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6027991&douyu&logo" group-title="•斗鱼「影视」",狄仁杰 1-4 部 -https://live.iill.top/douyu/6027991 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8652337&douyu&logo" group-title="•斗鱼「游戏」",小霖超甜呐-蛋仔 +https://live.iill.top/douyu/8652337 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6385489&douyu&logo" group-title="•斗鱼「游戏」",李好好吗吗 +https://live.iill.top/douyu/6385489 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/2421040&douyu&logo" group-title="•斗鱼「游戏」",三酒OuO https://live.iill.top/douyu/2421040 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/斗鱼.png" group-title="•斗鱼「游戏」",龙四爷攻略组 https://live.iill.top/douyu/479079 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5825100&douyu&logo" group-title="•斗鱼「游戏」",XXFPS -https://live.iill.top/douyu/5825100 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4913098&douyu&logo" group-title="•斗鱼「游戏」",钓钓Yooo +https://live.iill.top/douyu/4913098 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5389181&douyu&logo" group-title="•斗鱼「游戏」",年鹏 +https://live.iill.top/douyu/5389181 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/93936&douyu&logo" group-title="•斗鱼「游戏」",赖小峰 https://live.iill.top/douyu/93936 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/431935&douyu&logo" group-title="•斗鱼「游戏」",李哥 -https://live.iill.top/douyu/431935 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/24422&douyu&logo" group-title="•斗鱼「游戏」",Pigff https://live.iill.top/douyu/24422 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/993&yy&logo" group-title="•歪歪「娱乐」",燃舞993 -https://live.iill.top/yy/993 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/431935&douyu&logo" group-title="•斗鱼「游戏」",李哥 +https://live.iill.top/douyu/431935 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6822146&douyu&logo" group-title="•斗鱼「游戏」",PeRo明明 +https://live.iill.top/douyu/6822146 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/63136&douyu&logo" group-title="•斗鱼「游戏」",冬瓜强 +https://live.iill.top/douyu/63136 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/6979222&douyu&logo" group-title="•斗鱼「游戏」",玩机器丶Machine https://live.iill.top/douyu/6979222 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5168755&douyu&logo" group-title="•斗鱼「游戏」",武神59 https://live.iill.top/douyu/5168755 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1349695640&yy&logo" group-title="•歪歪「娱乐」",奇领珊瑚 -https://live.iill.top/yy/1349695640 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/10287387&yy&logo" group-title="•歪歪「娱乐」",星妹妹m -https://live.iill.top/yy/10287387 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/991&yy&logo" group-title="•歪歪「娱乐」",音乐991 https://live.iill.top/yy/991 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1357&yy&logo" group-title="•歪歪「娱乐」",少寒Shine -https://live.iill.top/yy/1357 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/993&yy&logo" group-title="•歪歪「娱乐」",燃舞993 +https://live.iill.top/yy/993 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/10287387&yy&logo" group-title="•歪歪「娱乐」",星妹妹m +https://live.iill.top/yy/10287387 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1349695640&yy&logo" group-title="•歪歪「娱乐」",奇领珊瑚 +https://live.iill.top/yy/1349695640 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/3594&yy&logo" group-title="•歪歪「娱乐」",毕加索 https://live.iill.top/yy/3594 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1669&yy&logo" group-title="•歪歪「娱乐」",大白兔 -https://live.iill.top/yy/1669 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/歪歪.png" group-title="•歪歪「娱乐」",991 -https://live.iill.top/yy/54880976 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/314&yy&logo" group-title="•歪歪「娱乐」",314 -https://live.iill.top/yy/314 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9469&yy&logo" group-title="•歪歪「娱乐」",果子 -https://live.iill.top/yy/9469 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/8565&yy&logo" group-title="•歪歪「娱乐」",娱+毕徒猴仔 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30698337&yy&logo" group-title="•歪歪「娱乐」",娱+7038 毕徒猴仔 +https://live.iill.top/yy/30698337 +https://live.iill.top/yy/8565 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1357&yy&logo" group-title="•歪歪「娱乐」",少寒Shine +https://live.iill.top/yy/1357 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9235&yy&logo" group-title="•歪歪「娱乐」",珊瑚 https://live.iill.top/yy/9235 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/5079&yy&logo" group-title="•歪歪「娱乐」",白鹿 -https://live.iill.top/yy/5079 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/7853&yy&logo" group-title="•歪歪「娱乐」",玄律 -https://live.iill.top/yy/7853 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/314&yy&logo" group-title="•歪歪「娱乐」",314 +https://live.iill.top/yy/314 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/34025318&yy&logo" group-title="•歪歪「娱乐」",相声搜 +https://live.iill.top/yy/34025318 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/歪歪.png" group-title="•歪歪「娱乐」",991 +https://live.iill.top/yy/54880976 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1669&yy&logo" group-title="•歪歪「娱乐」",大白兔 +https://live.iill.top/yy/1669 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9490&yy&logo" group-title="•歪歪「娱乐」",白微 https://live.iill.top/yy/9490 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/525024&yy&logo" group-title="•歪歪「娱乐」",高梦云 -https://live.iill.top/yy/525024 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/3917&yy&logo" group-title="•歪歪「娱乐」",君宝 -https://live.iill.top/yy/3917 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/68299&yy&logo" group-title="•歪歪「娱乐」",清越 https://live.iill.top/yy/68299 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1670&yy&logo" group-title="•歪歪「娱乐」",迎迎 @@ -814,467 +846,501 @@ https://live.iill.top/yy/1670 https://live.iill.top/yy/1453810838 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/504368&yy&logo" group-title="•歪歪「影视」",小甜甜-悬疑电视剧 https://live.iill.top/yy/504368 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/18958242&huya&logo" group-title="•虎牙「其他」",梨涡少女mini -https://live.iill.top/huya/18958242 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21969336&huya&logo" group-title="•虎牙「其他」",李子柒 -https://live.iill.top/huya/21969336 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/880214&huya&logo" group-title="•虎牙「其他」",虎牙斯诺克 -https://live.iill.top/huya/880214 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「其他」",斯诺克 -https://live.iill.top/huya/287115 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21356214&huya&logo" group-title="•虎牙「其他」",原始美食与生活 -https://live.iill.top/huya/21356214 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/16797006&huya&logo" group-title="•虎牙「其他」",山药视频 https://live.iill.top/huya/16797006 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/14363949&huya&logo" group-title="•虎牙「其他」",野食小哥 -https://live.iill.top/huya/14363949 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21288462&huya&logo" group-title="•虎牙「其他」",大蒙香味 -https://live.iill.top/huya/21288462 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/593667&huya&logo" group-title="•虎牙「其他」",荒野求生 -https://live.iill.top/huya/593667 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「其他」",美食纪录片 风味人间 -https://live.iill.top/huya/26355760 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602032&huya&logo" group-title="•虎牙「其他」",易中天品三国 -https://live.iill.top/huya/11602032 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/880625&huya&logo" group-title="•虎牙「其他」",虎牙斯诺克副舞台 -https://live.iill.top/huya/880625 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/422059&huya&logo" group-title="•虎牙「娱乐」",正恒、原子不可爱 -https://live.iill.top/huya/422059 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/416076&huya&logo" group-title="•虎牙「娱乐」",白千涵、 -https://live.iill.top/huya/416076 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/631427 &huya&logo" group-title="•虎牙「其他」",徐大骚 https://live.iill.top/huya/631427 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/18958242&huya&logo" group-title="•虎牙「其他」",梨涡少女mini +https://live.iill.top/huya/18958242 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21288462&huya&logo" group-title="•虎牙「其他」",大蒙香味 +https://live.iill.top/huya/21288462 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「其他」",挨饿德 +https://live.iill.top/huya/15373958 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21969336&huya&logo" group-title="•虎牙「其他」",李子柒 +https://live.iill.top/huya/21969336 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/14363949&huya&logo" group-title="•虎牙「其他」",野食小哥 +https://live.iill.top/huya/14363949 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/24007208&huya&logo" group-title="•虎牙「其他」",荒野小哥 +https://live.iill.top/huya/24007208 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602032&huya&logo" group-title="•虎牙「其他」",易中天品三国 +https://live.iill.top/huya/11602032 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/9120&huya&logo" group-title="•虎牙「娱乐」",九兔 +https://live.iill.top/huya/9120 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/229085&huya&logo" group-title="•虎牙「娱乐」",Dae、红莲 +https://live.iill.top/huya/229085 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1995&huya&logo" group-title="•虎牙「娱乐」",小小小酷哥 +https://live.iill.top/huya/1995 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/422059&huya&logo" group-title="•虎牙「娱乐」",正恒、原子不可爱 +https://live.iill.top/huya/422059 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/340204&huya&logo" group-title="•虎牙「娱乐」",fydaddy +https://live.iill.top/huya/340204 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21356214&huya&logo" group-title="•虎牙「其他」",原始美食与生活 +https://live.iill.top/huya/21356214 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/128369&huya&logo" group-title="•虎牙「娱乐」",cx-梦艺 https://live.iill.top/huya/128369 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/134769&huya&logo" group-title="•虎牙「娱乐」",张伟丽MMA -https://live.iill.top/huya/134769 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/138168&huya&logo" group-title="•虎牙「娱乐」",纯情宣贵人 https://live.iill.top/huya/138168 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059572&huya&logo" group-title="•虎牙「娱乐」",粤语电影放映厅 -https://live.iill.top/huya/21059572 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/61829&huya&logo" group-title="•虎牙「娱乐」",柚子 -https://live.iill.top/huya/61829 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342412&huya&logo" group-title="•虎牙「影视」",周星星 -https://live.iill.top/huya/11342412 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342421&huya&logo" group-title="•虎牙「影视」",7喜先生 -https://live.iill.top/huya/11342421 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/128734&huya&logo" group-title="•虎牙「娱乐」",小笼包 -https://live.iill.top/huya/128734 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23865080&huya&logo" group-title="•虎牙「影视」",香港喜剧大全 -https://live.iill.top/huya/23865080 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/631423&huya&logo" group-title="•虎牙「娱乐」",神罚 +https://live.iill.top/huya/631423 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/416076&huya&logo" group-title="•虎牙「娱乐」",白千涵、 +https://live.iill.top/huya/416076 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/147948&huya&logo" group-title="•虎牙「娱乐」",小兔 +https://live.iill.top/huya/147948 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/4211&huya&logo" group-title="•虎牙「娱乐」",VIKI +https://live.iill.top/huya/4211 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/339124&huya&logo" group-title="•虎牙「娱乐」",王者明凯 +https://live.iill.top/huya/339124 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/859042&huya&logo" group-title="•虎牙「娱乐」",正恒-紫宸【相声木兰】 https://live.iill.top/huya/859042 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23903130&huya&logo" group-title="•虎牙「影视」",堆堆港剧日记 -https://live.iill.top/huya/23903130 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23903123&huya&logo" group-title="•虎牙「影视」",堆堆港剧日常 -https://live.iill.top/huya/23903123 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342435&huya&logo" group-title="•虎牙「影视」",可爱的小强 -https://live.iill.top/huya/11342435 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23865080&huya&logo" group-title="•虎牙「影视」",香港喜剧大全 +https://live.iill.top/huya/23865080 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/128734&huya&logo" group-title="•虎牙「娱乐」",小笼包 +https://live.iill.top/huya/128734 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059572&huya&logo" group-title="•虎牙「娱乐」",粤语电影放映厅 +https://live.iill.top/huya/21059572 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342412&huya&logo" group-title="•虎牙「影视」",周星星 +https://live.iill.top/huya/11342412 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342403&huya&logo" group-title="•虎牙「影视」",不发威当我Kitty https://live.iill.top/huya/11342403 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355850&huya&logo" group-title="•虎牙「影视」",嶺外奇服兮 -https://live.iill.top/huya/26355850 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342421&huya&logo" group-title="•虎牙「影视」",7喜先生 +https://live.iill.top/huya/11342421 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/138531&huya&logo" group-title="•虎牙「影视」",依依妹妹在等你 https://live.iill.top/huya/138531 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342390&huya&logo" group-title="•虎牙「影视」",核桃姐姐 -https://live.iill.top/huya/11342390 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11336571&huya&logo" group-title="•虎牙「影视」",槽老师 -https://live.iill.top/huya/11336571 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23863804&huya&logo" group-title="•虎牙「影视」",iTVB大后宫 -https://live.iill.top/huya/23863804 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602068&huya&logo" group-title="•虎牙「影视」",我爱黑科技 -https://live.iill.top/huya/11602068 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342427&huya&logo" group-title="•虎牙「影视」",逗比宝宝 -https://live.iill.top/huya/11342427 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602058&huya&logo" group-title="•虎牙「影视」",四大裁子之首 -https://live.iill.top/huya/11602058 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23864973&huya&logo" group-title="•虎牙「影视」",我是周粤驰 +https://live.iill.top/huya/23864973 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23903123&huya&logo" group-title="•虎牙「影视」",堆堆港剧日常 +https://live.iill.top/huya/23903123 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355802&huya&logo" group-title="•虎牙「影视」",之而成冠毛 https://live.iill.top/huya/26355802 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355850&huya&logo" group-title="•虎牙「影视」",嶺外奇服兮 +https://live.iill.top/huya/26355850 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342386&huya&logo" group-title="•虎牙「影视」",偷心大盗ヽ龍宝 https://live.iill.top/huya/11342386 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23734169&huya&logo" group-title="•虎牙「影视」",埋堆搞搞震 -https://live.iill.top/huya/23734169 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23903130&huya&logo" group-title="•虎牙「影视」",堆堆港剧日记 +https://live.iill.top/huya/23903130 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342435&huya&logo" group-title="•虎牙「影视」",可爱的小强 +https://live.iill.top/huya/11342435 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342427&huya&logo" group-title="•虎牙「影视」",逗比宝宝 +https://live.iill.top/huya/11342427 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342390&huya&logo" group-title="•虎牙「影视」",核桃姐姐 +https://live.iill.top/huya/11342390 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601960&huya&logo" group-title="•虎牙「影视」",实力拔萝卜 https://live.iill.top/huya/11601960 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23734246&huya&logo" group-title="•虎牙「影视」",我叫山鸡哥 https://live.iill.top/huya/23734246 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11336571&huya&logo" group-title="•虎牙「影视」",槽老师 +https://live.iill.top/huya/11336571 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602068&huya&logo" group-title="•虎牙「影视」",我爱黑科技 +https://live.iill.top/huya/11602068 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23796393&huya&logo" group-title="•虎牙「影视」",赢城-江爽 +https://live.iill.top/huya/23796393 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11336587&huya&logo" group-title="•虎牙「影视」",Yummy https://live.iill.top/huya/11336587 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352909&huya&logo" group-title="•虎牙「影视」",小军迷 -https://live.iill.top/huya/11352909 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602044&huya&logo" group-title="•虎牙「影视」",小怪兽、 -https://live.iill.top/huya/11602044 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23864973&huya&logo" group-title="•虎牙「影视」",我是周粤驰 -https://live.iill.top/huya/23864973 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23865171&huya&logo" group-title="•虎牙「影视」",阿呀呀阿sir -https://live.iill.top/huya/23865171 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352950&huya&logo" group-title="•虎牙「影视」",我很忙 +https://live.iill.top/huya/11352950 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352944&huya&logo" group-title="•虎牙「影视」",鯎爺 https://live.iill.top/huya/11352944 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352894&huya&logo" group-title="•虎牙「影视」",飙车的老司机 +https://live.iill.top/huya/11352894 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602044&huya&logo" group-title="•虎牙「影视」",小怪兽、 +https://live.iill.top/huya/11602044 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602082&huya&logo" group-title="•虎牙「影视」",漓江塔景区售票阿姨 https://live.iill.top/huya/11602082 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23865171&huya&logo" group-title="•虎牙「影视」",阿呀呀阿sir +https://live.iill.top/huya/23865171 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602058&huya&logo" group-title="•虎牙「影视」",四大裁子之首 +https://live.iill.top/huya/11602058 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059594&huya&logo" group-title="•虎牙「影视」",里昂保护的马蒂达 +https://live.iill.top/huya/21059594 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601986&huya&logo" group-title="•虎牙「影视」",贺岁 +https://live.iill.top/huya/11601986 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23903196&huya&logo" group-title="•虎牙「影视」",冷门港片大全 +https://live.iill.top/huya/23903196 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352965&huya&logo" group-title="•虎牙「影视」",笙歌 +https://live.iill.top/huya/11352965 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352909&huya&logo" group-title="•虎牙「影视」",小军迷 +https://live.iill.top/huya/11352909 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23734169&huya&logo" group-title="•虎牙「影视」",埋堆搞搞震 +https://live.iill.top/huya/23734169 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11282233&huya&logo" group-title="•虎牙「影视」",樹袋熊小九九 https://live.iill.top/huya/11282233 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355792&huya&logo" group-title="•虎牙「影视」",合班阿離 https://live.iill.top/huya/26355792 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352894&huya&logo" group-title="•虎牙「影视」",飙车的老司机 -https://live.iill.top/huya/11352894 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601986&huya&logo" group-title="•虎牙「影视」",贺岁 -https://live.iill.top/huya/11601986 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355861&huya&logo" group-title="•虎牙「影视」",西游记 -https://live.iill.top/huya/26355861 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355788&huya&logo" group-title="•虎牙「影视」",李卫 -https://live.iill.top/huya/26355788 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23903196&huya&logo" group-title="•虎牙「影视」",冷门港片大全 -https://live.iill.top/huya/23903196 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352950&huya&logo" group-title="•虎牙「影视」",我很忙 -https://live.iill.top/huya/11352950 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352958&huya&logo" group-title="•虎牙「影视」",神探· -https://live.iill.top/huya/11352958 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29580971&huya&logo" group-title="•虎牙「影视」",农民 -https://live.iill.top/huya/29580971 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602046&huya&logo" group-title="•虎牙「影视」",杰克 https://live.iill.top/huya/11602046 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352919&huya&logo" group-title="•虎牙「影视」",海绵宝宝 -https://live.iill.top/huya/11352919 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352935&huya&logo" group-title="•虎牙「影视」",丹 -https://live.iill.top/huya/11352935 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355824&huya&logo" group-title="•虎牙「影视」",尽是与君别 +https://live.iill.top/huya/26355824 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342424&huya&logo" group-title="•虎牙「影视」",刘德华 +https://live.iill.top/huya/11342424 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355860&huya&logo" group-title="•虎牙「影视」",水 https://live.iill.top/huya/26355860 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342404&huya&logo" group-title="•虎牙「影视」",扫黑 https://live.iill.top/huya/11342404 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059563&huya&logo" group-title="•虎牙「影视」",宝莲灯 -https://live.iill.top/huya/21059563 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059594&huya&logo" group-title="•虎牙「影视」",里昂保护的马蒂达 -https://live.iill.top/huya/21059594 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/353798&huya&logo" group-title="•虎牙「影视」",红色 -https://live.iill.top/huya/353798 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342424&huya&logo" group-title="•虎牙「影视」",刘德华 -https://live.iill.top/huya/11342424 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601981&huya&logo" group-title="•虎牙「影视」",成立 -https://live.iill.top/huya/11601981 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342429&huya&logo" group-title="•虎牙「影视」",梁家辉 -https://live.iill.top/huya/11342429 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601958&huya&logo" group-title="•虎牙「影视」",熊猫 -https://live.iill.top/huya/11601958 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352965&huya&logo" group-title="•虎牙「影视」",笙歌 -https://live.iill.top/huya/11352965 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352877&huya&logo" group-title="•虎牙「影视」",王宝强 -https://live.iill.top/huya/11352877 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23749096&huya&logo" group-title="•虎牙「影视」",封神榜 -https://live.iill.top/huya/23749096 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29580971&huya&logo" group-title="•虎牙「影视」",农民 +https://live.iill.top/huya/29580971 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355861&huya&logo" group-title="•虎牙「影视」",西游记 +https://live.iill.top/huya/26355861 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352958&huya&logo" group-title="•虎牙「影视」",神探· +https://live.iill.top/huya/11352958 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352935&huya&logo" group-title="•虎牙「影视」",丹 +https://live.iill.top/huya/11352935 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355829&huya&logo" group-title="•虎牙「影视」",超 https://live.iill.top/huya/26355829 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11274154&huya&logo" group-title="•虎牙「影视」",陈翔六点半 -https://live.iill.top/huya/11274154 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/11352970&huya&logo" group-title="•虎牙「影视」",野原的一家 -https://live.iill.top/huya/11352970 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059563&huya&logo" group-title="•虎牙「影视」",宝莲灯 +https://live.iill.top/huya/21059563 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352919&huya&logo" group-title="•虎牙「影视」",海绵宝宝 +https://live.iill.top/huya/11352919 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342429&huya&logo" group-title="•虎牙「影视」",梁家辉 +https://live.iill.top/huya/11342429 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355788&huya&logo" group-title="•虎牙「影视」",李卫 +https://live.iill.top/huya/26355788 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601981&huya&logo" group-title="•虎牙「影视」",成立 +https://live.iill.top/huya/11601981 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352877&huya&logo" group-title="•虎牙「影视」",王宝强 +https://live.iill.top/huya/11352877 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601958&huya&logo" group-title="•虎牙「影视」",熊猫 +https://live.iill.top/huya/11601958 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23749096&huya&logo" group-title="•虎牙「影视」",封神榜 +https://live.iill.top/huya/23749096 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23735126&huya&logo" group-title="•虎牙「影视」",天地争霸美猴王 https://live.iill.top/huya/23735126 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601968&huya&logo" group-title="•虎牙「影视」",电影_沈腾 -https://live.iill.top/huya/11601968 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342425&huya&logo" group-title="•虎牙「影视」",神探 -https://live.iill.top/huya/11342425 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355856&huya&logo" group-title="•虎牙「影视」",大宋 -https://live.iill.top/huya/26355856 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355781&huya&logo" group-title="•虎牙「影视」",探索 -https://live.iill.top/huya/26355781 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059581&huya&logo" group-title="•虎牙「影视」",电影_强森 -https://live.iill.top/huya/21059581 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352876&huya&logo" group-title="•虎牙「影视」",电影_黄渤 -https://live.iill.top/huya/11352876 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/11352970&huya&logo" group-title="•虎牙「影视」",野原的一家 +https://live.iill.top/huya/11352970 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/353798&huya&logo" group-title="•虎牙「影视」",红色 +https://live.iill.top/huya/353798 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11274154&huya&logo" group-title="•虎牙「影视」",陈翔六点半 +https://live.iill.top/huya/11274154 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059567&huya&logo" group-title="•虎牙「影视」",唯爱 +https://live.iill.top/huya/21059567 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601978&huya&logo" group-title="•虎牙「影视」",神医 https://live.iill.top/huya/11601978 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602034&huya&logo" group-title="•虎牙「影视」",电影_漫威 -https://live.iill.top/huya/11602034 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21136378&huya&logo" group-title="•虎牙「影视」",周星驰吧 -https://live.iill.top/huya/21136378 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342425&huya&logo" group-title="•虎牙「影视」",神探 +https://live.iill.top/huya/11342425 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355781&huya&logo" group-title="•虎牙「影视」",探索 +https://live.iill.top/huya/26355781 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355856&huya&logo" group-title="•虎牙「影视」",大宋 +https://live.iill.top/huya/26355856 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342387&huya&logo" group-title="•虎牙「影视」",电影_发哥 https://live.iill.top/huya/11342387 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602041&huya&logo" group-title="•虎牙「影视」",电影_推荐 +https://live.iill.top/huya/11602041 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602081&huya&logo" group-title="•虎牙「影视」",三国演义 https://live.iill.top/huya/11602081 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352962&huya&logo" group-title="•虎牙「影视」",电影_罪犯 https://live.iill.top/huya/11352962 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602071&huya&logo" group-title="•虎牙「影视」",父母爱情 -https://live.iill.top/huya/11602071 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059579&huya&logo" group-title="•虎牙「影视」",电影_枪战 -https://live.iill.top/huya/21059579 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602041&huya&logo" group-title="•虎牙「影视」",电影_推荐 -https://live.iill.top/huya/11602041 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11279247&huya&logo" group-title="•虎牙「影视」",电影_赛车 -https://live.iill.top/huya/11279247 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352876&huya&logo" group-title="•虎牙「影视」",电影_黄渤 +https://live.iill.top/huya/11352876 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059581&huya&logo" group-title="•虎牙「影视」",电影_强森 +https://live.iill.top/huya/21059581 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342428&huya&logo" group-title="•虎牙「影视」",电影_宇宙 +https://live.iill.top/huya/11342428 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602034&huya&logo" group-title="•虎牙「影视」",电影_漫威 +https://live.iill.top/huya/11602034 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21136378&huya&logo" group-title="•虎牙「影视」",周星驰吧 +https://live.iill.top/huya/21136378 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601968&huya&logo" group-title="•虎牙「影视」",电影_沈腾 +https://live.iill.top/huya/11601968 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059595&huya&logo" group-title="•虎牙「影视」",电影_海盗 https://live.iill.top/huya/21059595 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059567&huya&logo" group-title="•虎牙「影视」",唯爱 -https://live.iill.top/huya/21059567 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「影视」",痞子帅叔叔 -https://live.iill.top/huya/11342433 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29465856&huya&logo" group-title="•虎牙「影视」",刑事侦缉档案 -https://live.iill.top/huya/29465856 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352886&huya&logo" group-title="•虎牙「影视」",电影_警匪 https://live.iill.top/huya/11352886 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059564&huya&logo" group-title="•虎牙「影视」",马春夏秋冬梅 -https://live.iill.top/huya/21059564 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080255&huya&logo" group-title="•虎牙「影视」",乡村爱情 https://live.iill.top/huya/30080255 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602071&huya&logo" group-title="•虎牙「影视」",父母爱情 +https://live.iill.top/huya/11602071 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11279247&huya&logo" group-title="•虎牙「影视」",电影_赛车 +https://live.iill.top/huya/11279247 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059564&huya&logo" group-title="•虎牙「影视」",马春夏秋冬梅 +https://live.iill.top/huya/21059564 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059579&huya&logo" group-title="•虎牙「影视」",电影_枪战 +https://live.iill.top/huya/21059579 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29465856&huya&logo" group-title="•虎牙「影视」",刑事侦缉档案 +https://live.iill.top/huya/29465856 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「影视」",止戈电影 +https://live.iill.top/huya/19863777 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059577&huya&logo" group-title="•虎牙「影视」",电影_怪兽 +https://live.iill.top/huya/21059577 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342400&huya&logo" group-title="•虎牙「影视」",活佛济公 +https://live.iill.top/huya/11342400 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「影视」",扁豆看电影 https://live.iill.top/huya/16028551 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080238&huya&logo" group-title="•虎牙「影视」",挨打 https://live.iill.top/huya/30080238 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/1394565204&huya&logo" group-title="•虎牙「影视」",木子先生,铁齿铜牙纪晓岚 https://live.iill.top/huya/11342396 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29580970&huya&logo" group-title="•虎牙「影视」",年年营 -https://live.iill.top/huya/29580970 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342426&huya&logo" group-title="•虎牙「影视」",情满四合院 -https://live.iill.top/huya/11342426 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342428&huya&logo" group-title="•虎牙「影视」",电影_宇宙 -https://live.iill.top/huya/11342428 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342400&huya&logo" group-title="•虎牙「影视」",活佛济公 -https://live.iill.top/huya/11342400 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602085&huya&logo" group-title="•虎牙「影视」",杨光 -https://live.iill.top/huya/11602085 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「影视」",止戈电影 -https://live.iill.top/huya/19863777 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601970&huya&logo" group-title="•虎牙「影视」",征服 -https://live.iill.top/huya/11601970 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080236&huya&logo" group-title="•虎牙「影视」",名侦探柯南|傍晚猴 -https://live.iill.top/huya/30080236 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352956&huya&logo" group-title="•虎牙「影视」",双面胶 -https://live.iill.top/huya/11352956 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11336726&huya&logo" group-title="•虎牙「影视」",爱情公寓|武林萌主唐小姐 -https://live.iill.top/huya/11336726 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352966&huya&logo" group-title="•虎牙「影视」",魔幻手机|如意菜头 -https://live.iill.top/huya/11352966 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352897&huya&logo" group-title="•虎牙「影视」",电影 https://live.iill.top/huya/11352897 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352872&huya&logo" group-title="•虎牙「影视」",家有儿女|种瓜得弟弟 -https://live.iill.top/huya/11352872 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23865142&huya&logo" group-title="•虎牙「影视」",港剧慢品汇 -https://live.iill.top/huya/23865142 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355793&huya&logo" group-title="•虎牙「影视」",錦丹广明 -https://live.iill.top/huya/26355793 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23740156&huya&logo" group-title="•虎牙「影视」",埋堆堆官方 -https://live.iill.top/huya/23740156 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352922&huya&logo" group-title="•虎牙「影视」",四驱兄弟 -https://live.iill.top/huya/11352922 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342393&huya&logo" group-title="•虎牙「影视」",漫长的季节 -https://live.iill.top/huya/11342393 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11336726&huya&logo" group-title="•虎牙「影视」",爱情公寓|武林萌主唐小姐 +https://live.iill.top/huya/11336726 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602085&huya&logo" group-title="•虎牙「影视」",杨光 +https://live.iill.top/huya/11602085 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601970&huya&logo" group-title="•虎牙「影视」",征服 +https://live.iill.top/huya/11601970 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29580970&huya&logo" group-title="•虎牙「影视」",年年营 +https://live.iill.top/huya/29580970 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352956&huya&logo" group-title="•虎牙「影视」",双面胶 +https://live.iill.top/huya/11352956 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342426&huya&logo" group-title="•虎牙「影视」",情满四合院 +https://live.iill.top/huya/11342426 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080236&huya&logo" group-title="•虎牙「影视」",名侦探柯南|傍晚猴 +https://live.iill.top/huya/30080236 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352882&huya&logo" group-title="•虎牙「影视」",网球王子|我们都爱笑 https://live.iill.top/huya/11352882 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602072&huya&logo" group-title="•虎牙「影视」",民兵葛二蛋 -https://live.iill.top/huya/11602072 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080229&huya&logo" group-title="•虎牙「影视」",狄仁杰电影 -https://live.iill.top/huya/30080229 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23865058&huya&logo" group-title="•虎牙「影视」",笑看风云 -https://live.iill.top/huya/23865058 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/19524135&huya&logo" group-title="•虎牙「影视」",炊事班de故事 -https://live.iill.top/huya/19524135 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352898&huya&logo" group-title="•虎牙「影视」",鬼吹灯之云南虫谷 -https://live.iill.top/huya/11352898 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29982639&huya&logo" group-title="•虎牙「影视」",庆余年 +https://live.iill.top/huya/29982639 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355793&huya&logo" group-title="•虎牙「影视」",錦丹广明 +https://live.iill.top/huya/26355793 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352872&huya&logo" group-title="•虎牙「影视」",家有儿女|种瓜得弟弟 +https://live.iill.top/huya/11352872 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23740156&huya&logo" group-title="•虎牙「影视」",埋堆堆官方 +https://live.iill.top/huya/23740156 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23865142&huya&logo" group-title="•虎牙「影视」",港剧慢品汇 +https://live.iill.top/huya/23865142 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342393&huya&logo" group-title="•虎牙「影视」",漫长的季节 +https://live.iill.top/huya/11342393 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/15152155&huya&logo" group-title="•虎牙「影视」",科幻梦工场 https://live.iill.top/huya/15152155 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23865058&huya&logo" group-title="•虎牙「影视」",笑看风云 +https://live.iill.top/huya/23865058 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352871&huya&logo" group-title="•虎牙「影视」",鬼吹灯之精绝古城 https://live.iill.top/huya/11352871 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342385&huya&logo" group-title="•虎牙「影视」",火影 -https://live.iill.top/huya/11342385 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080227&huya&logo" group-title="•虎牙「影视」",迪迦奥特曼 https://live.iill.top/huya/30080227 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342430&huya&logo" group-title="•虎牙「影视」",领带哥 -https://live.iill.top/huya/11342430 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/13303478&huya&logo" group-title="•虎牙「影视」",阿斗归来了 -https://live.iill.top/huya/13303478 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「影视」",痞子帅叔叔 +https://live.iill.top/huya/11342433 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/19524135&huya&logo" group-title="•虎牙「影视」",炊事班de故事 +https://live.iill.top/huya/19524135 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352966&huya&logo" group-title="•虎牙「影视」",魔幻手机|如意菜头 +https://live.iill.top/huya/11352966 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342385&huya&logo" group-title="•虎牙「影视」",火影 +https://live.iill.top/huya/11342385 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602072&huya&logo" group-title="•虎牙「影视」",民兵葛二蛋 +https://live.iill.top/huya/11602072 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23903183&huya&logo" group-title="•虎牙「影视」",鉴证实录 https://live.iill.top/huya/23903183 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29465863&huya&logo" group-title="•虎牙「影视」",鬼吹灯之龙岭迷窟 -https://live.iill.top/huya/29465863 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「影视」",小松说剧 -https://live.iill.top/huya/11593369 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352922&huya&logo" group-title="•虎牙「影视」",四驱兄弟 +https://live.iill.top/huya/11352922 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352883&huya&logo" group-title="•虎牙「影视」",鬼吹灯 https://live.iill.top/huya/11352883 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/14734068&huya&logo" group-title="•虎牙「影视」",泛爱心说剧 -https://live.iill.top/huya/14734068 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602075&huya&logo" group-title="•虎牙「影视」",鬼吹灯之怒晴湘西 -https://live.iill.top/huya/11602075 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602069&huya&logo" group-title="•虎牙「影视」",向阳花-神奇宝贝 -https://live.iill.top/huya/11602069 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601957&huya&logo" group-title="•虎牙「影视」",鬼吹灯之昆仑神宫 -https://live.iill.top/huya/11601957 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355767&huya&logo" group-title="•虎牙「影视」",乌龙闯情关 -https://live.iill.top/huya/26355767 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352946&huya&logo" group-title="•虎牙「影视」",成龙历险记|老司机 -https://live.iill.top/huya/11352946 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352913&huya&logo" group-title="•虎牙「影视」",古墓系列-去冒险吧! -https://live.iill.top/huya/11352913 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342394&huya&logo" group-title="•虎牙「影视」",樱桃小丸子 -https://live.iill.top/huya/11342394 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/13303478&huya&logo" group-title="•虎牙「影视」",阿斗归来了 +https://live.iill.top/huya/13303478 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352898&huya&logo" group-title="•虎牙「影视」",鬼吹灯之云南虫谷 +https://live.iill.top/huya/11352898 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601966&huya&logo" group-title="•虎牙「影视」",七龙珠改-超级赛亚人孙悟空 https://live.iill.top/huya/11601966 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「影视」",大盛魁 -https://live.iill.top/huya/30292086 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30311494&huya&logo" group-title="•虎牙「影视」",征服 -https://live.iill.top/huya/30311494 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080229&huya&logo" group-title="•虎牙「影视」",狄仁杰电影 +https://live.iill.top/huya/30080229 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11601957&huya&logo" group-title="•虎牙「影视」",鬼吹灯之昆仑神宫 +https://live.iill.top/huya/11601957 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/14734068&huya&logo" group-title="•虎牙「影视」",泛爱心说剧 +https://live.iill.top/huya/14734068 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342394&huya&logo" group-title="•虎牙「影视」",樱桃小丸子 +https://live.iill.top/huya/11342394 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352946&huya&logo" group-title="•虎牙「影视」",成龙历险记|老司机 +https://live.iill.top/huya/11352946 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059609&huya&logo" group-title="•虎牙「影视」",30而已 https://live.iill.top/huya/21059609 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342430&huya&logo" group-title="•虎牙「影视」",领带哥 +https://live.iill.top/huya/11342430 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「影视」",大盛魁 +https://live.iill.top/huya/30292086 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355767&huya&logo" group-title="•虎牙「影视」",乌龙闯情关 +https://live.iill.top/huya/26355767 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29465863&huya&logo" group-title="•虎牙「影视」",鬼吹灯之龙岭迷窟 +https://live.iill.top/huya/29465863 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602069&huya&logo" group-title="•虎牙「影视」",向阳花-神奇宝贝 +https://live.iill.top/huya/11602069 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30311494&huya&logo" group-title="•虎牙「影视」",征服 +https://live.iill.top/huya/30311494 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21277391&huya&logo" group-title="•虎牙「影视」",大象放映室 +https://live.iill.top/huya/21277391 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/20488841&huya&logo" group-title="•虎牙「影视」",阿良说美剧 +https://live.iill.top/huya/20488841 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080225&huya&logo" group-title="•虎牙「影视」",风筝 https://live.iill.top/huya/30080225 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/16144175&huya&logo" group-title="•虎牙「影视」",亮哥讲电影 https://live.iill.top/huya/16144175 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352934&huya&logo" group-title="•虎牙「影视」",热血 -https://live.iill.top/huya/11352934 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342415&huya&logo" group-title="•虎牙「影视」",盗墓笔记-怒海潜沙-秦岭神树 -https://live.iill.top/huya/11342415 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342384&huya&logo" group-title="•虎牙「影视」",鱼塘塘主张年年 -https://live.iill.top/huya/11342384 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21277391&huya&logo" group-title="•虎牙「影视」",大象放映室 -https://live.iill.top/huya/21277391 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11336719&huya&logo" group-title="•虎牙「影视」",古惑z https://live.iill.top/huya/11336719 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/17091681&huya&logo" group-title="•虎牙「影视」",音乐石榴 +https://live.iill.top/huya/17091681 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342384&huya&logo" group-title="•虎牙「影视」",鱼塘塘主张年年 +https://live.iill.top/huya/11342384 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342415&huya&logo" group-title="•虎牙「影视」",盗墓笔记-怒海潜沙-秦岭神树 +https://live.iill.top/huya/11342415 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352934&huya&logo" group-title="•虎牙「影视」",热血 +https://live.iill.top/huya/11352934 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342439&huya&logo" group-title="•虎牙「影视」",我是詹密 +https://live.iill.top/huya/11342439 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342419&huya&logo" group-title="•虎牙「影视」",黑帮大佬 https://live.iill.top/huya/11342419 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11352879&huya&logo" group-title="•虎牙「影视」",猫和老鼠 https://live.iill.top/huya/11352879 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/22414123&huya&logo" group-title="•虎牙「影视」",航拍中国 https://live.iill.top/huya/22414123 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355866&huya&logo" group-title="•虎牙「影视」",与凤行 -https://live.iill.top/huya/26355866 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29982668&huya&logo" group-title="•虎牙「影视」",有翡 -https://live.iill.top/huya/29982668 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355859&huya&logo" group-title="•虎牙「影视」",汉武大帝 +https://live.iill.top/huya/26355859 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080234&huya&logo" group-title="•虎牙「影视」",星球大战- 宇宙电影的起点 +https://live.iill.top/huya/30080234 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29982670&huya&logo" group-title="•虎牙「影视」",陆贞传奇 https://live.iill.top/huya/29982670 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「影视」",香港喜剧电影 逃学威龙笑林小子 https://live.iill.top/huya/20969142 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080234&huya&logo" group-title="•虎牙「影视」",星球大战- 宇宙电影的起点 -https://live.iill.top/huya/30080234 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342439&huya&logo" group-title="•虎牙「影视」",我是詹密 -https://live.iill.top/huya/11342439 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/20985816&huya&logo" group-title="•虎牙「影视」",沉睡在你心底的光 -https://live.iill.top/huya/20985816 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29982668&huya&logo" group-title="•虎牙「影视」",有翡 +https://live.iill.top/huya/29982668 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355866&huya&logo" group-title="•虎牙「影视」",与凤行 +https://live.iill.top/huya/26355866 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/虎牙.png" group-title="•虎牙「影视」",搞笑一家人 +https://live.iill.top/huya/11342402 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30590779&huya&logo" group-title="•虎牙「影视」",新橙记 +https://live.iill.top/huya/30590779 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29982636&huya&logo" group-title="•虎牙「影视」",特种兵|火凤凰 +https://live.iill.top/huya/29982636 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059588&huya&logo" group-title="•虎牙「影视」",虎牙21059588 +https://live.iill.top/huya/21059588 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11342414&huya&logo" group-title="•虎牙「影视」",元芳看不到 https://live.iill.top/huya/11342414 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/20488841&huya&logo" group-title="•虎牙「影视」",阿良说美剧 -https://live.iill.top/huya/20488841 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11336592&huya&logo" group-title="•虎牙「影视」",雪中悍刀行 https://live.iill.top/huya/11336592 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/26355859&huya&logo" group-title="•虎牙「影视」",汉武大帝 -https://live.iill.top/huya/26355859 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602031&huya&logo" group-title="•虎牙「影视」",爆笑喜剧电影 热辣滚烫保你平安 https://live.iill.top/huya/11602031 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30439802&huya&logo" group-title="•虎牙「影视」",老家门口 https://live.iill.top/huya/30439802 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/21059588&huya&logo" group-title="•虎牙「影视」",虎牙21059588 -https://live.iill.top/huya/21059588 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/29982636&huya&logo" group-title="•虎牙「影视」",特种兵|火凤凰 -https://live.iill.top/huya/29982636 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/20985816&huya&logo" group-title="•虎牙「影视」",沉睡在你心底的光 +https://live.iill.top/huya/20985816 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23650804&huya&logo" group-title="•虎牙「影视」",马大帅 https://live.iill.top/huya/23650804 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30523326&huya&logo" group-title="•虎牙「影视」",家有儿女 https://live.iill.top/huya/30523326 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/561014&huya&logo" group-title="•虎牙「游戏」",狗婷婷DT https://live.iill.top/huya/561014 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/52033&huya&logo" group-title="•虎牙「游戏」",许仙 -https://live.iill.top/huya/52033 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/310112&huya&logo" group-title="•虎牙「游戏」",Sdn -https://live.iill.top/huya/310112 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/298416&huya&logo" group-title="•虎牙「游戏」",德云两鬼 -https://live.iill.top/huya/298416 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/705112&huya&logo" group-title="•虎牙「游戏」",老鬼 +https://live.iill.top/huya/705112 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/88863&huya&logo" group-title="•虎牙「游戏」",拉风龙 https://live.iill.top/huya/88863 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/883235&huya&logo" group-title="•虎牙「游戏」",Chalice +https://live.iill.top/huya/883235 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/836458&huya&logo" group-title="•虎牙「游戏」",微竞、莎莉 https://live.iill.top/huya/836458 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/298416&huya&logo" group-title="•虎牙「游戏」",德云两鬼 +https://live.iill.top/huya/298416 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/189201&huya&logo" group-title="•虎牙「游戏」",霸哥 https://live.iill.top/huya/189201 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/660149&huya&logo" group-title="•虎牙「游戏」",HSL虎牙超级联赛 -https://live.iill.top/huya/660149 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/910323&huya&logo" group-title="•虎牙「游戏」",驴鸽 -https://live.iill.top/huya/910323 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/181469&huya&logo" group-title="•虎牙「游戏」",张嘉文 -https://live.iill.top/huya/181469 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/441195&huya&logo" group-title="•虎牙「游戏」",胖炸 +https://live.iill.top/huya/441195 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/713329&huya&logo" group-title="•虎牙「游戏」",一只伊泽 https://live.iill.top/huya/713329 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/837804&huya&logo" group-title="•虎牙「游戏」",拼 +https://live.iill.top/huya/837804 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/181469&huya&logo" group-title="•虎牙「游戏」",张嘉文 +https://live.iill.top/huya/181469 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/528300&huya&logo" group-title="•虎牙「游戏」",安德罗妮、 https://live.iill.top/huya/528300 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/657314&huya&logo" group-title="•虎牙「游戏」",虎牙丶三伟子 +https://live.iill.top/huya/657314 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/825290&huya&logo" group-title="•虎牙「游戏」", 弃徒x +https://live.iill.top/huya/825290 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/847243&huya&logo" group-title="•虎牙「游戏」",圣逸-校长 +https://live.iill.top/huya/847243 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/326513&huya&logo" group-title="•虎牙「游戏」",XLX露雪 +https://live.iill.top/huya/326513 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/11602075&huya&logo" group-title="•虎牙「影视」",鬼吹灯之怒晴湘西 +https://live.iill.top/huya/11602075 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/257085&huya&logo" group-title="•虎牙「游戏」",小超梦 https://live.iill.top/huya/257085 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/910323&huya&logo" group-title="•虎牙「游戏」",驴鸽 +https://live.iill.top/huya/910323 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/196645&huya&logo" group-title="•虎牙「游戏」",浪D +https://live.iill.top/huya/196645 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/12214&huya&logo" group-title="•虎牙「游戏」",十四剑姬 https://live.iill.top/huya/12214 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/115959&huya&logo" group-title="•虎牙「游戏」",AG 虎牙绝迹 +https://live.iill.top/huya/115959 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/998&huya&logo" group-title="•虎牙「游戏」",楚河 +https://live.iill.top/huya/998 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/691346&huya&logo" group-title="•虎牙「游戏」",宇晨 https://live.iill.top/huya/691346 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/296191&huya&logo" group-title="•虎牙「游戏」",LING-树叶 +https://live.iill.top/huya/296191 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/193868&huya&logo" group-title="•虎牙「游戏」",微竞-完美OB https://live.iill.top/huya/193868 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/520123&huya&logo" group-title="•虎牙「游戏」",疯行兄弟 -https://live.iill.top/huya/520123 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/330679&huya&logo" group-title="•虎牙「游戏」",怀逝 -https://live.iill.top/huya/330679 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/209801&huya&logo" group-title="•虎牙「游戏」",三千丶新娘 -https://live.iill.top/huya/209801 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/109810&huya&logo" group-title="•虎牙「游戏」",Kimmy -https://live.iill.top/huya/109810 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/520715&huya&logo" group-title="•虎牙「游戏」",久爱-青春 -https://live.iill.top/huya/520715 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30256056&huya&logo" group-title="•虎牙「游戏」",820 -https://live.iill.top/huya/30256056 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/387067&huya&logo" group-title="•虎牙「游戏」",随风蛮王 -https://live.iill.top/huya/387067 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/10098&huya&logo" group-title="•虎牙「游戏」",狂鸟丶小宇热游-90098 -https://live.iill.top/huya/10098 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/991108&huya&logo" group-title="•虎牙「游戏」",amazingJ -https://live.iill.top/huya/991108 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/786724&huya&logo" group-title="•虎牙「游戏」",明眸 +https://live.iill.top/huya/786724 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/172392&huya&logo" group-title="•虎牙「游戏」",寒星 +https://live.iill.top/huya/172392 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/940213&huya&logo" group-title="•虎牙「游戏」",非凡-迪安 https://live.iill.top/huya/940213 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/138156&huya&logo" group-title="•虎牙「游戏」",Faker +https://live.iill.top/huya/138156 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/825802&huya&logo" group-title="•虎牙「游戏」",完美CS2-B +https://live.iill.top/huya/825802 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/10098&huya&logo" group-title="•虎牙「游戏」",狂鸟丶小宇热游-90098 +https://live.iill.top/huya/10098 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/825801&huya&logo" group-title="•虎牙「游戏」",完美CS2 +https://live.iill.top/huya/825801 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/713320&huya&logo" group-title="•虎牙「游戏」",巅峰丶阳酱吖 https://live.iill.top/huya/713320 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/834622&huya&logo" group-title="•虎牙「游戏」",TG-老熊【平头哥】 -https://live.iill.top/huya/834622 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/126523&huya&logo" group-title="•虎牙「游戏」",EDGnobody -https://live.iill.top/huya/126523 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",Thekpop -https://live.iill.top/youtube/-h_xg8ake8c +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/135792&huya&logo" group-title="•虎牙「游戏」",恬柚睡着惹 +https://live.iill.top/huya/135792 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/387067&huya&logo" group-title="•虎牙「游戏」",随风蛮王 +https://live.iill.top/huya/387067 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/18842814&huya&logo" group-title="•虎牙「游戏」",圣逸-iu +https://live.iill.top/huya/18842814 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/513723&huya&logo" group-title="•虎牙「游戏」",逗豆爱格斗 +https://live.iill.top/huya/513723 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/148237&huya&logo" group-title="•虎牙「游戏」",酸奶困了 +https://live.iill.top/huya/148237 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/211202&huya&logo" group-title="•虎牙「游戏」",寒千落丶 https://live.iill.top/huya/211202 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/829922&huya&logo" group-title="•虎牙「游戏」",War3Yumiko -https://live.iill.top/huya/829922 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",Thekpop +https://live.iill.top/youtube/-h_xg8ake8c +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30255157&huya&logo" group-title="•虎牙「游戏」",明明 +https://live.iill.top/huya/30255157 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/400298&huya&logo" group-title="•虎牙「游戏」",鲨鱼呦 https://live.iill.top/huya/400298 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/shanshixinwen&douyin&logo" group-title="•抖音「其他」",陕视新闻 -https://live.iill.top/douyin/shanshixinwen -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Xwt0327&douyin&logo" group-title="•抖音「娱乐」",小稳妥 -https://live.iill.top/douyin/Xwt0327 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/xianfabu029&douyin&logo" group-title="•抖音「娱乐」",西安发布 https://live.iill.top/douyin/xianfabu029 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/xinhuashe&douyin&logo" group-title="•抖音「娱乐」",新华社 +https://live.iill.top/douyin/xinhuashe +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/24190721&bilibili&logo" group-title="•B站「娱乐」",梦河梦 +https://live.iill.top/bilibili/24190721 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/829922&huya&logo" group-title="•虎牙「游戏」",War3Yumiko +https://live.iill.top/huya/829922 #EXTINF:-1 tvg-logo="https://epg.iill.top/logo/抖音.png" group-title="•抖音「娱乐」",雷军 https://live.iill.top/douyin/xiaomizhibojian +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/22235347653&douyin&logo" group-title="•抖音「其他」",中国台球协会 +https://live.iill.top/douyin/22235347653 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/wjy959123&douyin&logo" group-title="•抖音「游戏」",王者英耀吴怼怼 https://live.iill.top/douyin/wjy959123 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080148&huya&logo" group-title="•虎牙「影视」",国语版柯南,点到哪集看哪集 -https://live.iill.top/huya/30080148 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/72195000677&douyin&logo" group-title="•抖音「娱乐」",琵琶文熙 -https://live.iill.top/douyin/72195000677 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/713280&huya&logo" group-title="•虎牙「娱乐」",林晚意 https://live.iill.top/huya/713280 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/23007242058&douyin&logo" group-title="•抖音「其他」",天天台球吖 -https://live.iill.top/douyin/23007242058 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/XinhuaTV&douyin&logo" group-title="•抖音「其他」",新华社电视 -https://live.iill.top/douyin/XinhuaTV -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/22342243&bilibili&logo" group-title="•B站「娱乐」",新华社快看 -https://live.iill.top/bilibili/22342243 -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/Twitch.png" group-title="•Twitch「娱乐」",Bobross -https://live.iill.top/twitch/Bobross -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/Twitch.png" group-title="•Twitch「娱乐」",QBunnyTV -https://live.iill.top/twitch/QBunnyTV -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",大爱一台 -https://live.iill.top/youtube/MIqUplvSRWA -#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",大爱 -https://live.iill.top/youtube/@DaAiVideo #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/ZzzzzzTuT&douyin&logo" group-title="•抖音「游戏」",观雾 https://live.iill.top/douyin/ZzzzzzTuT +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/Twitch.png" group-title="•Twitch「娱乐」",QBunnyTV +https://live.iill.top/twitch/QBunnyTV +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/22342243&bilibili&logo" group-title="•B站「娱乐」",新华社快看 +https://live.iill.top/bilibili/22342243 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「影视」",大爱一台 +https://live.iill.top/youtube/MIqUplvSRWA +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/Twitch.png" group-title="•Twitch「娱乐」",Bobross +https://live.iill.top/twitch/Bobross #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/@LiveNow24H&youtube&logo" group-title="•YouTube「其他」",CCTV中文国际(亚洲) https://live.iill.top/youtube/@LiveNow24H -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30700158&huya&logo" group-title="•虎牙「其他」",斯诺克中英解说蓝老师 -https://live.iill.top/huya/30700158 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/Linlinlinstar&douyin&logo" group-title="•抖音「游戏」",Linlinlin林星 -https://live.iill.top/douyin/Linlinlinstar -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/210147&huya&logo" group-title="•虎牙「其他」",职业球员肖国栋 -https://live.iill.top/huya/210147 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/30080148&huya&logo" group-title="•虎牙「影视」",国语版柯南,点到哪集看哪集 +https://live.iill.top/huya/30080148 +#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/YouTube.png" group-title="•YouTube「娱乐」",大爱 +https://live.iill.top/youtube/@DaAiVideo +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/94431876743&douyin&logo" group-title="•抖音「娱乐」",阿水 +https://live.iill.top/douyin/94431876743 #EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/BTS991117&douyin&logo" group-title="•抖音「娱乐」",妲不幼 https://live.iill.top/douyin/BTS991117 -#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/80012109634&douyin&logo" group-title="•抖音「游戏」",Dota孤城大神 -https://live.iill.top/douyin/80012109634 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/40471&douyu&logo" group-title="•斗鱼「娱乐」",彼岸零可星球 +https://live.iill.top/douyu/40471 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/149671&huya&logo" group-title="•虎牙「其他」",台球教练王小鹏 +https://live.iill.top/huya/149671 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/401185503805&douyin&logo" group-title="•抖音「游戏」",一只阿呜 +https://live.iill.top/douyin/401185503805 +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/shanshixinwen&douyin&logo" group-title="•抖音「其他」",陕视新闻 +https://live.iill.top/douyin/shanshixinwen +#EXTINF:-1 tvg-logo="https://tv.iill.top/LOGO/22970821&bilibili&logo" group-title="•B站「影视」",影视 +https://live.iill.top/bilibili/22970821 diff --git a/欧歌/api.json b/欧歌/api.json index 90214ad..f36444c 100644 --- a/欧歌/api.json +++ b/欧歌/api.json @@ -4,9 +4,9 @@ "spider": "./spider.jar", "lives": [ { - "name": "公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖", + "name": "公众号【欧歌APP】测试完请删除,接口即将关停.", "type": 0, - "url": "./lives/公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖.txt", + "url": "./lives/公众号【欧歌APP】测试完请删除,接口即将关停..txt", "epg": "http://cdn.1678520.xyz/epg/?ch={name}&date={date}", "logo":"https://live.fanmingming.cn/tv/{name}.png", "playerType":2, @@ -22,20 +22,20 @@ "sites": [ { "key": "豆瓣2", - "name": "📢公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖", + "name": "📢公众号【欧歌APP】测试完请删除,接口即将关停.", "type": 3, "api": "csp_Douban", "searchable": 0 }, { "key": "豆瓣1", - "name": "📢公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖公告❤更新:5/28❤", + "name": "📢公众号【欧歌APP】测试完请删除,接口即将关停.公告❤更新:6/2❤", "type": 3, "api": "csp_Notice", "searchable": 0, "changeable": 0, "jar": "./jars/豆瓣1.jar", - "ext": "https://xn--dkw0c.v.nxog.top/m/公告.php?b=公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖" + "ext": "https://xn--dkw0c.v.nxog.top/m/公告.php?b=公众号【欧歌APP】测试完请删除,接口即将关停." }, { "key": "csp_woog", @@ -52,7 +52,7 @@ ], "url_key": "woog", "threadinfo": { - "chunksize": 296, + "chunksize": 286, "threads": 15 } } @@ -80,7 +80,7 @@ ], "url_key": "UC", "threadinfo": { - "chunksize": 283, + "chunksize": 240, "threads": 60 } } diff --git a/欧歌/api/json5.js b/欧歌/api/json5.js index e69de29..7949f11 100644 --- a/欧歌/api/json5.js +++ b/欧歌/api/json5.js @@ -0,0 +1,1809 @@ +(function(global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.JSON5 = factory()); +}(this, (function() { + 'use strict'; + + function createCommonjsModule(fn, module) { + return module = { + exports: {} + }, fn(module, module.exports), module.exports; + } + + var _global = createCommonjsModule(function(module) { + // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 + var global = module.exports = typeof window != 'undefined' && window.Math == Math ? + window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : + Function('return this')(); + if (typeof __g == 'number') { + __g = global; + } // eslint-disable-line no-undef + }); + + var _core = createCommonjsModule(function(module) { + var core = module.exports = { + version: '2.6.5' + }; + if (typeof __e == 'number') { + __e = core; + } // eslint-disable-line no-undef + }); + var _core_1 = _core.version; + + var _isObject = function(it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; + }; + + var _anObject = function(it) { + if (!_isObject(it)) { + throw TypeError(it + ' is not an object!'); + } + return it; + }; + + var _fails = function(exec) { + try { + return !!exec(); + } catch (e) { + return true; + } + }; + + // Thank's IE8 for his funny defineProperty + var _descriptors = !_fails(function() { + return Object.defineProperty({}, 'a', { + get: function() { + return 7; + } + }).a != 7; + }); + + var document = _global.document; + // typeof document.createElement is 'object' in old IE + var is = _isObject(document) && _isObject(document.createElement); + var _domCreate = function(it) { + return is ? document.createElement(it) : {}; + }; + + var _ie8DomDefine = !_descriptors && !_fails(function() { + return Object.defineProperty(_domCreate('div'), 'a', { + get: function() { + return 7; + } + }).a != 7; + }); + + // 7.1.1 ToPrimitive(input [, PreferredType]) + + // instead of the ES6 spec version, we didn't implement @@toPrimitive case + // and the second argument - flag - preferred type is a string + var _toPrimitive = function(it, S) { + if (!_isObject(it)) { + return it; + } + var fn, val; + if (S && typeof(fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { + return val; + } + if (typeof(fn = it.valueOf) == 'function' && !_isObject(val = fn.call(it))) { + return val; + } + if (!S && typeof(fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { + return val; + } + throw TypeError("Can't convert object to primitive value"); + }; + + var dP = Object.defineProperty; + + var f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes) { + _anObject(O); + P = _toPrimitive(P, true); + _anObject(Attributes); + if (_ie8DomDefine) { + try { + return dP(O, P, Attributes); + } catch (e) { + /* empty */ } + } + if ('get' in Attributes || 'set' in Attributes) { + throw TypeError('Accessors not supported!'); + } + if ('value' in Attributes) { + O[P] = Attributes.value; + } + return O; + }; + + var _objectDp = { + f: f + }; + + var _propertyDesc = function(bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; + }; + + var _hide = _descriptors ? function(object, key, value) { + return _objectDp.f(object, key, _propertyDesc(1, value)); + } : function(object, key, value) { + object[key] = value; + return object; + }; + + var hasOwnProperty = {}.hasOwnProperty; + var _has = function(it, key) { + return hasOwnProperty.call(it, key); + }; + + var id = 0; + var px = Math.random(); + var _uid = function(key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); + }; + + var _library = false; + + var _shared = createCommonjsModule(function(module) { + var SHARED = '__core-js_shared__'; + var store = _global[SHARED] || (_global[SHARED] = {}); + + (module.exports = function(key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); + })('versions', []).push({ + version: _core.version, + mode: _library ? 'pure' : 'global', + copyright: '© 2019 Denis Pushkarev (zloirock.ru)' + }); + }); + + var _functionToString = _shared('native-function-to-string', Function.toString); + + var _redefine = createCommonjsModule(function(module) { + var SRC = _uid('src'); + + var TO_STRING = 'toString'; + var TPL = ('' + _functionToString).split(TO_STRING); + + _core.inspectSource = function(it) { + return _functionToString.call(it); + }; + + (module.exports = function(O, key, val, safe) { + var isFunction = typeof val == 'function'; + if (isFunction) { + _has(val, 'name') || _hide(val, 'name', key); + } + if (O[key] === val) { + return; + } + if (isFunction) { + _has(val, SRC) || _hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + } + if (O === _global) { + O[key] = val; + } else if (!safe) { + delete O[key]; + _hide(O, key, val); + } else if (O[key]) { + O[key] = val; + } else { + _hide(O, key, val); + } + // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative + })(Function.prototype, TO_STRING, function toString() { + return typeof this == 'function' && this[SRC] || _functionToString.call(this); + }); + }); + + var _aFunction = function(it) { + if (typeof it != 'function') { + throw TypeError(it + ' is not a function!'); + } + return it; + }; + + // optional / simple context binding + + var _ctx = function(fn, that, length) { + _aFunction(fn); + if (that === undefined) { + return fn; + } + switch (length) { + case 1: + return function(a) { + return fn.call(that, a); + }; + case 2: + return function(a, b) { + return fn.call(that, a, b); + }; + case 3: + return function(a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function( /* ...args */ ) { + return fn.apply(that, arguments); + }; + }; + + var PROTOTYPE = 'prototype'; + + var $export = function(type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var target = IS_GLOBAL ? _global : IS_STATIC ? _global[name] || (_global[name] = {}) : (_global[name] || {})[PROTOTYPE]; + var exports = IS_GLOBAL ? _core : _core[name] || (_core[name] = {}); + var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); + var key, own, out, exp; + if (IS_GLOBAL) { + source = name; + } + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? _ctx(out, _global) : IS_PROTO && typeof out == 'function' ? _ctx(Function.call, out) : out; + // extend global + if (target) { + _redefine(target, key, out, type & $export.U); + } + // export + if (exports[key] != out) { + _hide(exports, key, exp); + } + if (IS_PROTO && expProto[key] != out) { + expProto[key] = out; + } + } + }; + _global.core = _core; + // type bitmap + $export.F = 1; // forced + $export.G = 2; // global + $export.S = 4; // static + $export.P = 8; // proto + $export.B = 16; // bind + $export.W = 32; // wrap + $export.U = 64; // safe + $export.R = 128; // real proto method for `library` + var _export = $export; + + // 7.1.4 ToInteger + var ceil = Math.ceil; + var floor = Math.floor; + var _toInteger = function(it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); + }; + + // 7.2.1 RequireObjectCoercible(argument) + var _defined = function(it) { + if (it == undefined) { + throw TypeError("Can't call method on " + it); + } + return it; + }; + + // true -> String#at + // false -> String#codePointAt + var _stringAt = function(TO_STRING) { + return function(that, pos) { + var s = String(_defined(that)); + var i = _toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) { + return TO_STRING ? '' : undefined; + } + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? + TO_STRING ? s.charAt(i) : a : + TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; + }; + + var $at = _stringAt(false); + _export(_export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos) { + return $at(this, pos); + } + }); + + var codePointAt = _core.String.codePointAt; + + var max = Math.max; + var min = Math.min; + var _toAbsoluteIndex = function(index, length) { + index = _toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); + }; + + var fromCharCode = String.fromCharCode; + var $fromCodePoint = String.fromCodePoint; + + // length should be 1, old FF problem + _export(_export.S + _export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { + var arguments$1 = arguments; + // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { + code = +arguments$1[i++]; + if (_toAbsoluteIndex(code, 0x10ffff) !== code) { + throw RangeError(code + ' is not a valid code point'); + } + res.push(code < 0x10000 ? + fromCharCode(code) : + fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } + return res.join(''); + } + }); + + var fromCodePoint = _core.String.fromCodePoint; + + // This is a generated file. Do not edit. + var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; + var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; + var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/; + + var unicode = { + Space_Separator: Space_Separator, + ID_Start: ID_Start, + ID_Continue: ID_Continue + }; + + var util = { + isSpaceSeparator: function isSpaceSeparator(c) { + return typeof c === 'string' && unicode.Space_Separator.test(c) + }, + + isIdStartChar: function isIdStartChar(c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c === '$') || (c === '_') || + unicode.ID_Start.test(c) + ) + }, + + isIdContinueChar: function isIdContinueChar(c) { + return typeof c === 'string' && ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c === '$') || (c === '_') || + (c === '\u200C') || (c === '\u200D') || + unicode.ID_Continue.test(c) + ) + }, + + isDigit: function isDigit(c) { + return typeof c === 'string' && /[0-9]/.test(c) + }, + + isHexDigit: function isHexDigit(c) { + return typeof c === 'string' && /[0-9A-Fa-f]/.test(c) + }, + }; + + var source; + var parseState; + var stack; + var pos; + var line; + var column; + var token; + var key; + var root; + + var parse = function parse(text, reviver) { + source = String(text); + parseState = 'start'; + stack = []; + pos = 0; + line = 1; + column = 0; + token = undefined; + key = undefined; + root = undefined; + + do { + token = lex(); + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + parseStates[parseState](); + } while (token.type !== 'eof') + + if (typeof reviver === 'function') { + return internalize({ + '': root + }, '', reviver) + } + + return root + }; + + function internalize(holder, name, reviver) { + var value = holder[name]; + if (value != null && typeof value === 'object') { + if (Array.isArray(value)) { + for (var i = 0; i < value.length; i++) { + var key = String(i); + var replacement = internalize(value, key, reviver); + if (replacement === undefined) { + delete value[key]; + } else { + Object.defineProperty(value, key, { + value: replacement, + writable: true, + enumerable: true, + configurable: true, + }); + } + } + } else { + for (var key$1 in value) { + var replacement$1 = internalize(value, key$1, reviver); + if (replacement$1 === undefined) { + delete value[key$1]; + } else { + Object.defineProperty(value, key$1, { + value: replacement$1, + writable: true, + enumerable: true, + configurable: true, + }); + } + } + } + } + + return reviver.call(holder, name, value) + } + + var lexState; + var buffer; + var doubleQuote; + var sign; + var c; + + function lex() { + lexState = 'default'; + buffer = ''; + doubleQuote = false; + sign = 1; + + for (;;) { + c = peek(); + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + var token = lexStates[lexState](); + if (token) { + return token + } + } + } + + function peek() { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)) + } + } + + function read() { + var c = peek(); + + if (c === '\n') { + line++; + column = 0; + } else if (c) { + column += c.length; + } else { + column++; + } + + if (c) { + pos += c.length; + } + + return c + } + + var lexStates = { + default: function default$1() { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + return + + case '/': + read(); + lexState = 'comment'; + return + + case undefined: + read(); + return newToken('eof') + } + + if (util.isSpaceSeparator(c)) { + read(); + return + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + return lexStates[parseState]() + }, + + comment: function comment() { + switch (c) { + case '*': + read(); + lexState = 'multiLineComment'; + return + + case '/': + read(); + lexState = 'singleLineComment'; + return + } + + throw invalidChar(read()) + }, + + multiLineComment: function multiLineComment() { + switch (c) { + case '*': + read(); + lexState = 'multiLineCommentAsterisk'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + }, + + multiLineCommentAsterisk: function multiLineCommentAsterisk() { + switch (c) { + case '*': + read(); + return + + case '/': + read(); + lexState = 'default'; + return + + case undefined: + throw invalidChar(read()) + } + + read(); + lexState = 'multiLineComment'; + }, + + singleLineComment: function singleLineComment() { + switch (c) { + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read(); + lexState = 'default'; + return + + case undefined: + read(); + return newToken('eof') + } + + read(); + }, + + value: function value() { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + case 'n': + read(); + literal('ull'); + return newToken('null', null) + + case 't': + read(); + literal('rue'); + return newToken('boolean', true) + + case 'f': + read(); + literal('alse'); + return newToken('boolean', false) + + case '-': + case '+': + if (read() === '-') { + sign = -1; + } + + lexState = 'sign'; + return + + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + + case '"': + case "'": + doubleQuote = (read() === '"'); + buffer = ''; + lexState = 'string'; + return + } + + throw invalidChar(read()) + }, + + identifierNameStartEscape: function identifierNameStartEscape() { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + var u = unicodeEscape(); + switch (u) { + case '$': + case '_': + break + + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + identifierName: function identifierName() { + switch (c) { + case '$': + case '_': + case '\u200C': + case '\u200D': + buffer += read(); + return + + case '\\': + read(); + lexState = 'identifierNameEscape'; + return + } + + if (util.isIdContinueChar(c)) { + buffer += read(); + return + } + + return newToken('identifier', buffer) + }, + + identifierNameEscape: function identifierNameEscape() { + if (c !== 'u') { + throw invalidChar(read()) + } + + read(); + var u = unicodeEscape(); + switch (u) { + case '$': + case '_': + case '\u200C': + case '\u200D': + break + + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + sign: function sign$1() { + switch (c) { + case '.': + buffer = read(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read(); + lexState = 'decimalInteger'; + return + + case 'I': + read(); + literal('nfinity'); + return newToken('numeric', sign * Infinity) + + case 'N': + read(); + literal('aN'); + return newToken('numeric', NaN) + } + + throw invalidChar(read()) + }, + + zero: function zero() { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + + case 'x': + case 'X': + buffer += read(); + lexState = 'hexadecimal'; + return + } + + return newToken('numeric', sign * 0) + }, + + decimalInteger: function decimalInteger() { + switch (c) { + case '.': + buffer += read(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalPointLeading: function decimalPointLeading() { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + throw invalidChar(read()) + }, + + decimalPoint: function decimalPoint() { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalFraction'; + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalFraction: function decimalFraction() { + switch (c) { + case 'e': + case 'E': + buffer += read(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalExponent: function decimalExponent() { + switch (c) { + case '+': + case '-': + buffer += read(); + lexState = 'decimalExponentSign'; + return + } + + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentSign: function decimalExponentSign() { + if (util.isDigit(c)) { + buffer += read(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read()) + }, + + decimalExponentInteger: function decimalExponentInteger() { + if (util.isDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + hexadecimal: function hexadecimal() { + if (util.isHexDigit(c)) { + buffer += read(); + lexState = 'hexadecimalInteger'; + return + } + + throw invalidChar(read()) + }, + + hexadecimalInteger: function hexadecimalInteger() { + if (util.isHexDigit(c)) { + buffer += read(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + string: function string() { + switch (c) { + case '\\': + read(); + buffer += escape(); + return + + case '"': + if (doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case "'": + if (!doubleQuote) { + read(); + return newToken('string', buffer) + } + + buffer += read(); + return + + case '\n': + case '\r': + throw invalidChar(read()) + + case '\u2028': + case '\u2029': + separatorChar(c); + break + + case undefined: + throw invalidChar(read()) + } + + buffer += read(); + }, + + start: function start() { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + lexState = 'value'; + }, + + beforePropertyName: function beforePropertyName() { + switch (c) { + case '$': + case '_': + buffer = read(); + lexState = 'identifierName'; + return + + case '\\': + read(); + lexState = 'identifierNameStartEscape'; + return + + case '}': + return newToken('punctuator', read()) + + case '"': + case "'": + doubleQuote = (read() === '"'); + lexState = 'string'; + return + } + + if (util.isIdStartChar(c)) { + buffer += read(); + lexState = 'identifierName'; + return + } + + throw invalidChar(read()) + }, + + afterPropertyName: function afterPropertyName() { + if (c === ':') { + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforePropertyValue: function beforePropertyValue() { + lexState = 'value'; + }, + + afterPropertyValue: function afterPropertyValue() { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + beforeArrayValue: function beforeArrayValue() { + if (c === ']') { + return newToken('punctuator', read()) + } + + lexState = 'value'; + }, + + afterArrayValue: function afterArrayValue() { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read()) + } + + throw invalidChar(read()) + }, + + end: function end() { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read()) + }, + }; + + function newToken(type, value) { + return { + type: type, + value: value, + line: line, + column: column, + } + } + + function literal(s) { + for (var i = 0, list = s; i < list.length; i += 1) { + var c = list[i]; + + var p = peek(); + + if (p !== c) { + throw invalidChar(read()) + } + + read(); + } + } + + function escape() { + var c = peek(); + switch (c) { + case 'b': + read(); + return '\b' + + case 'f': + read(); + return '\f' + + case 'n': + read(); + return '\n' + + case 'r': + read(); + return '\r' + + case 't': + read(); + return '\t' + + case 'v': + read(); + return '\v' + + case '0': + read(); + if (util.isDigit(peek())) { + throw invalidChar(read()) + } + + return '\0' + + case 'x': + read(); + return hexEscape() + + case 'u': + read(); + return unicodeEscape() + + case '\n': + case '\u2028': + case '\u2029': + read(); + return '' + + case '\r': + read(); + if (peek() === '\n') { + read(); + } + + return '' + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read()) + + case undefined: + throw invalidChar(read()) + } + + return read() + } + + function hexEscape() { + var buffer = ''; + var c = peek(); + + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + + return String.fromCodePoint(parseInt(buffer, 16)) + } + + function unicodeEscape() { + var buffer = ''; + var count = 4; + + while (count-- > 0) { + var c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read()) + } + + buffer += read(); + } + + return String.fromCodePoint(parseInt(buffer, 16)) + } + + var parseStates = { + start: function start() { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforePropertyName: function beforePropertyName() { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value; + parseState = 'afterPropertyName'; + return + + case 'punctuator': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop(); + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName: function afterPropertyName() { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + parseState = 'beforePropertyValue'; + }, + + beforePropertyValue: function beforePropertyValue() { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforeArrayValue: function beforeArrayValue() { + if (token.type === 'eof') { + throw invalidEOF() + } + + if (token.type === 'punctuator' && token.value === ']') { + pop(); + return + } + + push(); + }, + + afterPropertyValue: function afterPropertyValue() { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName'; + return + + case '}': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue: function afterArrayValue() { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue'; + return + + case ']': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end: function end() { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, + }; + + function push() { + var value; + + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {}; + break + + case '[': + value = []; + break + } + + break + + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value; + break + + // This code is unreachable. + // default: + // throw invalidToken() + } + + if (root === undefined) { + root = value; + } else { + var parent = stack[stack.length - 1]; + if (Array.isArray(parent)) { + parent.push(value); + } else { + Object.defineProperty(parent, key, { + value: value, + writable: true, + enumerable: true, + configurable: true, + }); + } + } + + if (value !== null && typeof value === 'object') { + stack.push(value); + + if (Array.isArray(value)) { + parseState = 'beforeArrayValue'; + } else { + parseState = 'beforePropertyName'; + } + } else { + var current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } + } + + function pop() { + stack.pop(); + + var current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } + + // This code is unreachable. + // function invalidParseState () { + // return new Error(`JSON5: invalid parse state '${parseState}'`) + // } + + // This code is unreachable. + // function invalidLexState (state) { + // return new Error(`JSON5: invalid lex state '${state}'`) + // } + + function invalidChar(c) { + if (c === undefined) { + return syntaxError(("JSON5: invalid end of input at " + line + ":" + column)) + } + + return syntaxError(("JSON5: invalid character '" + (formatChar(c)) + "' at " + line + ":" + column)) + } + + function invalidEOF() { + return syntaxError(("JSON5: invalid end of input at " + line + ":" + column)) + } + + // This code is unreachable. + // function invalidToken () { + // if (token.type === 'eof') { + // return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) + // } + + // const c = String.fromCodePoint(token.value.codePointAt(0)) + // return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) + // } + + function invalidIdentifier() { + column -= 5; + return syntaxError(("JSON5: invalid identifier character at " + line + ":" + column)) + } + + function separatorChar(c) { + console.warn(("JSON5: '" + (formatChar(c)) + "' in strings is not valid ECMAScript; consider escaping")); + } + + function formatChar(c) { + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + if (replacements[c]) { + return replacements[c] + } + + if (c < ' ') { + var hexString = c.charCodeAt(0).toString(16); + return '\\x' + ('00' + hexString).substring(hexString.length) + } + + return c + } + + function syntaxError(message) { + var err = new SyntaxError(message); + err.lineNumber = line; + err.columnNumber = column; + return err + } + + var stringify = function stringify(value, replacer, space) { + var stack = []; + var indent = ''; + var propertyList; + var replacerFunc; + var gap = ''; + var quote; + + if ( + replacer != null && + typeof replacer === 'object' && + !Array.isArray(replacer) + ) { + space = replacer.space; + quote = replacer.quote; + replacer = replacer.replacer; + } + + if (typeof replacer === 'function') { + replacerFunc = replacer; + } else if (Array.isArray(replacer)) { + propertyList = []; + for (var i = 0, list = replacer; i < list.length; i += 1) { + var v = list[i]; + + var item = (void 0); + + if (typeof v === 'string') { + item = v; + } else if ( + typeof v === 'number' || + v instanceof String || + v instanceof Number + ) { + item = String(v); + } + + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item); + } + } + } + + if (space instanceof Number) { + space = Number(space); + } else if (space instanceof String) { + space = String(space); + } + + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)); + gap = ' '.substr(0, space); + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10); + } + + return serializeProperty('', { + '': value + }) + + function serializeProperty(key, holder) { + var value = holder[key]; + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key); + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + } + + if (replacerFunc) { + value = replacerFunc.call(holder, key, value); + } + + if (value instanceof Number) { + value = Number(value); + } else if (value instanceof String) { + value = String(value); + } else if (value instanceof Boolean) { + value = value.valueOf(); + } + + switch (value) { + case null: + return 'null' + case true: + return 'true' + case false: + return 'false' + } + + if (typeof value === 'string') { + return quoteString(value, false) + } + + if (typeof value === 'number') { + return String(value) + } + + if (typeof value === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value) + } + + return undefined + } + + function quoteString(value) { + var quotes = { + "'": 0.1, + '"': 0.2, + }; + + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + var product = ''; + + for (var i = 0; i < value.length; i++) { + var c = value[i]; + switch (c) { + case "'": + case '"': + quotes[c]++; + product += c; + continue + + case '\0': + if (util.isDigit(value[i + 1])) { + product += '\\x00'; + continue + } + } + + if (replacements[c]) { + product += replacements[c]; + continue + } + + if (c < ' ') { + var hexString = c.charCodeAt(0).toString(16); + product += '\\x' + ('00' + hexString).substring(hexString.length); + continue + } + + product += c; + } + + var quoteChar = quote || Object.keys(quotes).reduce(function(a, b) { + return (quotes[a] < quotes[b]) ? a : b; + }); + + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]); + + return quoteChar + product + quoteChar + } + + function serializeObject(value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + var stepback = indent; + indent = indent + gap; + + var keys = propertyList || Object.keys(value); + var partial = []; + for (var i = 0, list = keys; i < list.length; i += 1) { + var key = list[i]; + + var propertyString = serializeProperty(key, value); + if (propertyString !== undefined) { + var member = serializeKey(key) + ':'; + if (gap !== '') { + member += ' '; + } + member += propertyString; + partial.push(member); + } + } + + var final; + if (partial.length === 0) { + final = '{}'; + } else { + var properties; + if (gap === '') { + properties = partial.join(','); + final = '{' + properties + '}'; + } else { + var separator = ',\n' + indent; + properties = partial.join(separator); + final = '{\n' + indent + properties + ',\n' + stepback + '}'; + } + } + + stack.pop(); + indent = stepback; + return final + } + + function serializeKey(key) { + if (key.length === 0) { + return quoteString(key, true) + } + + var firstChar = String.fromCodePoint(key.codePointAt(0)); + if (!util.isIdStartChar(firstChar)) { + return quoteString(key, true) + } + + for (var i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key, true) + } + } + + return key + } + + function serializeArray(value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + var stepback = indent; + indent = indent + gap; + + var partial = []; + for (var i = 0; i < value.length; i++) { + var propertyString = serializeProperty(String(i), value); + partial.push((propertyString !== undefined) ? propertyString : 'null'); + } + + var final; + if (partial.length === 0) { + final = '[]'; + } else { + if (gap === '') { + var properties = partial.join(','); + final = '[' + properties + ']'; + } else { + var separator = ',\n' + indent; + var properties$1 = partial.join(separator); + final = '[\n' + indent + properties$1 + ',\n' + stepback + ']'; + } + } + + stack.pop(); + indent = stepback; + return final + } + }; + + var JSON5 = { + parse: parse, + stringify: stringify, + }; + + var lib = JSON5; + + var es5 = lib; + + return es5; + +}))); \ No newline at end of file diff --git a/欧歌/api/node-rsa.js b/欧歌/api/node-rsa.js index e69de29..fab092b 100644 --- a/欧歌/api/node-rsa.js +++ b/欧歌/api/node-rsa.js @@ -0,0 +1,5858 @@ +/*! For license information please see node-rsa.bundle.js.LICENSE.txt */ ! function(t, e) { + "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.NODERSA = e() : t.NODERSA = e() +}(globalThis, (() => (() => { + var t = { + 6395: t => { + t.exports = { + newInvalidAsn1Error: function(t) { + var e = new Error; + return e.name = "InvalidAsn1Error", e.message = t || "", e + } + } + }, + 5670: (t, e, r) => { + var n = r(6395), + i = r(6299), + o = r(3319), + s = r(1431); + for (var a in t.exports = { + Reader: o, + Writer: s + }, i) i.hasOwnProperty(a) && (t.exports[a] = i[a]); + for (var f in n) n.hasOwnProperty(f) && (t.exports[f] = n[f]) + }, + 3319: (t, e, r) => { + var n = r(4529), + i = r(4774).Buffer, + o = r(6299), + s = r(6395).newInvalidAsn1Error; + + function a(t) { + if (!t || !i.isBuffer(t)) throw new TypeError("data must be a node Buffer"); + this._buf = t, this._size = t.length, this._len = 0, this._offset = 0 + } + Object.defineProperty(a.prototype, "length", { + enumerable: !0, + get: function() { + return this._len + } + }), Object.defineProperty(a.prototype, "offset", { + enumerable: !0, + get: function() { + return this._offset + } + }), Object.defineProperty(a.prototype, "remain", { + get: function() { + return this._size - this._offset + } + }), Object.defineProperty(a.prototype, "buffer", { + get: function() { + return this._buf.slice(this._offset) + } + }), a.prototype.readByte = function(t) { + if (this._size - this._offset < 1) return null; + var e = 255 & this._buf[this._offset]; + return t || (this._offset += 1), e + }, a.prototype.peek = function() { + return this.readByte(!0) + }, a.prototype.readLength = function(t) { + if (void 0 === t && (t = this._offset), t >= this._size) return null; + var e = 255 & this._buf[t++]; + if (null === e) return null; + if (128 & ~e) this._len = e; + else { + if (0 == (e &= 127)) throw s("Indefinite length not supported"); + if (e > 4) throw s("encoding too long"); + if (this._size - t < e) return null; + this._len = 0; + for (var r = 0; r < e; r++) this._len = (this._len << 8) + (255 & this._buf[t++]) + } + return t + }, a.prototype.readSequence = function(t) { + var e = this.peek(); + if (null === e) return null; + if (void 0 !== t && t !== e) throw s("Expected 0x" + t.toString(16) + ": got 0x" + e.toString(16)); + var r = this.readLength(this._offset + 1); + return null === r ? null : (this._offset = r, e) + }, a.prototype.readInt = function() { + return this._readTag(o.Integer) + }, a.prototype.readBoolean = function() { + return 0 !== this._readTag(o.Boolean) + }, a.prototype.readEnumeration = function() { + return this._readTag(o.Enumeration) + }, a.prototype.readString = function(t, e) { + t || (t = o.OctetString); + var r = this.peek(); + if (null === r) return null; + if (r !== t) throw s("Expected 0x" + t.toString(16) + ": got 0x" + r.toString(16)); + var n = this.readLength(this._offset + 1); + if (null === n) return null; + if (this.length > this._size - n) return null; + if (this._offset = n, 0 === this.length) return e ? i.alloc(0) : ""; + var a = this._buf.slice(this._offset, this._offset + this.length); + return this._offset += this.length, e ? a : a.toString("utf8") + }, a.prototype.readOID = function(t) { + t || (t = o.OID); + var e = this.readString(t, !0); + if (null === e) return null; + for (var r = [], n = 0, i = 0; i < e.length; i++) { + var s = 255 & e[i]; + n <<= 7, n += 127 & s, 128 & s || (r.push(n), n = 0) + } + return n = r.shift(), r.unshift(n % 40), r.unshift(n / 40 | 0), r.join(".") + }, a.prototype._readTag = function(t) { + n.ok(void 0 !== t); + var e = this.peek(); + if (null === e) return null; + if (e !== t) throw s("Expected 0x" + t.toString(16) + ": got 0x" + e.toString(16)); + var r = this.readLength(this._offset + 1); + if (null === r) return null; + if (this.length > 4) throw s("Integer too long: " + this.length); + if (this.length > this._size - r) return null; + this._offset = r; + for (var i = this._buf[this._offset], o = 0, a = 0; a < this.length; a++) o <<= 8, o |= 255 & this._buf[this._offset++]; + return 128 & ~i || 4 === a || (o -= 1 << 8 * a), 0 | o + }, t.exports = a + }, + 6299: t => { + t.exports = { + EOC: 0, + Boolean: 1, + Integer: 2, + BitString: 3, + OctetString: 4, + Null: 5, + OID: 6, + ObjectDescriptor: 7, + External: 8, + Real: 9, + Enumeration: 10, + PDV: 11, + Utf8String: 12, + RelativeOID: 13, + Sequence: 16, + Set: 17, + NumericString: 18, + PrintableString: 19, + T61String: 20, + VideotexString: 21, + IA5String: 22, + UTCTime: 23, + GeneralizedTime: 24, + GraphicString: 25, + VisibleString: 26, + GeneralString: 28, + UniversalString: 29, + CharacterString: 30, + BMPString: 31, + Constructor: 32, + Context: 128 + } + }, + 1431: (t, e, r) => { + var n = r(4529), + i = r(4774).Buffer, + o = r(6299), + s = r(6395).newInvalidAsn1Error, + a = { + size: 1024, + growthFactor: 8 + }; + + function f(t) { + var e, r; + e = a, r = t || {}, n.ok(e), n.equal(typeof e, "object"), n.ok(r), n.equal(typeof r, "object"), Object.getOwnPropertyNames(e).forEach((function(t) { + if (!r[t]) { + var n = Object.getOwnPropertyDescriptor(e, t); + Object.defineProperty(r, t, n) + } + })), t = r, this._buf = i.alloc(t.size || 1024), this._size = this._buf.length, this._offset = 0, this._options = t, this._seq = [] + } + Object.defineProperty(f.prototype, "buffer", { + get: function() { + if (this._seq.length) throw s(this._seq.length + " unended sequence(s)"); + return this._buf.slice(0, this._offset) + } + }), f.prototype.writeByte = function(t) { + if ("number" != typeof t) throw new TypeError("argument must be a Number"); + this._ensure(1), this._buf[this._offset++] = t + }, f.prototype.writeInt = function(t, e) { + if ("number" != typeof t) throw new TypeError("argument must be a Number"); + "number" != typeof e && (e = o.Integer); + for (var r = 4; + (!(4286578688 & t) || -8388608 == (4286578688 & t)) && r > 1;) r--, t <<= 8; + if (r > 4) throw s("BER ints cannot be > 0xffffffff"); + for (this._ensure(2 + r), this._buf[this._offset++] = e, this._buf[this._offset++] = r; r-- > 0;) this._buf[this._offset++] = (4278190080 & t) >>> 24, t <<= 8 + }, f.prototype.writeNull = function() { + this.writeByte(o.Null), this.writeByte(0) + }, f.prototype.writeEnumeration = function(t, e) { + if ("number" != typeof t) throw new TypeError("argument must be a Number"); + return "number" != typeof e && (e = o.Enumeration), this.writeInt(t, e) + }, f.prototype.writeBoolean = function(t, e) { + if ("boolean" != typeof t) throw new TypeError("argument must be a Boolean"); + "number" != typeof e && (e = o.Boolean), this._ensure(3), this._buf[this._offset++] = e, this._buf[this._offset++] = 1, this._buf[this._offset++] = t ? 255 : 0 + }, f.prototype.writeString = function(t, e) { + if ("string" != typeof t) throw new TypeError("argument must be a string (was: " + typeof t + ")"); + "number" != typeof e && (e = o.OctetString); + var r = i.byteLength(t); + this.writeByte(e), this.writeLength(r), r && (this._ensure(r), this._buf.write(t, this._offset), this._offset += r) + }, f.prototype.writeBuffer = function(t, e) { + if ("number" != typeof e) throw new TypeError("tag must be a number"); + if (!i.isBuffer(t)) throw new TypeError("argument must be a buffer"); + this.writeByte(e), this.writeLength(t.length), this._ensure(t.length), t.copy(this._buf, this._offset, 0, t.length), this._offset += t.length + }, f.prototype.writeStringArray = function(t) { + if (!t instanceof Array) throw new TypeError("argument must be an Array[String]"); + var e = this; + t.forEach((function(t) { + e.writeString(t) + })) + }, f.prototype.writeOID = function(t, e) { + if ("string" != typeof t) throw new TypeError("argument must be a string"); + if ("number" != typeof e && (e = o.OID), !/^([0-9]+\.){3,}[0-9]+$/.test(t)) throw new Error("argument is not a valid OID string"); + var r = t.split("."), + n = []; + n.push(40 * parseInt(r[0], 10) + parseInt(r[1], 10)), r.slice(2).forEach((function(t) { + ! function(t, e) { + e < 128 ? t.push(e) : e < 16384 ? (t.push(e >>> 7 | 128), t.push(127 & e)) : e < 2097152 ? (t.push(e >>> 14 | 128), t.push(e >>> 7 & 255 | 128), t.push(127 & e)) : e < 268435456 ? (t.push(e >>> 21 | 128), t.push(e >>> 14 & 255 | 128), t.push(e >>> 7 & 255 | 128), t.push(127 & e)) : (t.push(e >>> 28 & 255 | 128), t.push(e >>> 21 & 255 | 128), t.push(e >>> 14 & 255 | 128), t.push(e >>> 7 & 255 | 128), t.push(127 & e)) + }(n, parseInt(t, 10)) + })); + var i = this; + this._ensure(2 + n.length), this.writeByte(e), this.writeLength(n.length), n.forEach((function(t) { + i.writeByte(t) + })) + }, f.prototype.writeLength = function(t) { + if ("number" != typeof t) throw new TypeError("argument must be a Number"); + if (this._ensure(4), t <= 127) this._buf[this._offset++] = t; + else if (t <= 255) this._buf[this._offset++] = 129, this._buf[this._offset++] = t; + else if (t <= 65535) this._buf[this._offset++] = 130, this._buf[this._offset++] = t >> 8, this._buf[this._offset++] = t; + else { + if (!(t <= 16777215)) throw s("Length too long (> 4 bytes)"); + this._buf[this._offset++] = 131, this._buf[this._offset++] = t >> 16, this._buf[this._offset++] = t >> 8, this._buf[this._offset++] = t + } + }, f.prototype.startSequence = function(t) { + "number" != typeof t && (t = o.Sequence | o.Constructor), this.writeByte(t), this._seq.push(this._offset), this._ensure(3), this._offset += 3 + }, f.prototype.endSequence = function() { + var t = this._seq.pop(), + e = t + 3, + r = this._offset - e; + if (r <= 127) this._shift(e, r, -2), this._buf[t] = r; + else if (r <= 255) this._shift(e, r, -1), this._buf[t] = 129, this._buf[t + 1] = r; + else if (r <= 65535) this._buf[t] = 130, this._buf[t + 1] = r >> 8, this._buf[t + 2] = r; + else { + if (!(r <= 16777215)) throw s("Sequence too long"); + this._shift(e, r, 1), this._buf[t] = 131, this._buf[t + 1] = r >> 16, this._buf[t + 2] = r >> 8, this._buf[t + 3] = r + } + }, f.prototype._shift = function(t, e, r) { + n.ok(void 0 !== t), n.ok(void 0 !== e), n.ok(r), this._buf.copy(this._buf, t + r, t, t + e), this._offset += r + }, f.prototype._ensure = function(t) { + if (n.ok(t), this._size - this._offset < t) { + var e = this._size * this._options.growthFactor; + e - this._offset < t && (e += t); + var r = i.alloc(e); + this._buf.copy(r, 0, 0, this._offset), this._buf = r, this._size = e + } + }, t.exports = f + }, + 3100: (t, e, r) => { + var n = r(5670); + t.exports = { + Ber: n, + BerReader: n.Reader, + BerWriter: n.Writer + } + }, + 4529: (t, e, r) => { + "use strict"; + var n = r(1514)(); + + function i(t, e) { + if (t === e) return 0; + for (var r = t.length, n = e.length, i = 0, o = Math.min(r, n); i < o; ++i) + if (t[i] !== e[i]) { + r = t[i], n = e[i]; + break + } return r < n ? -1 : n < r ? 1 : 0 + } + + function o(t) { + return r.g.Buffer && "function" == typeof r.g.Buffer.isBuffer ? r.g.Buffer.isBuffer(t) : !(null == t || !t._isBuffer) + } + var s = r(4591), + a = Object.prototype.hasOwnProperty, + f = Array.prototype.slice, + u = "foo" === function() {}.name; + + function c(t) { + return Object.prototype.toString.call(t) + } + + function h(t) { + return !o(t) && "function" == typeof r.g.ArrayBuffer && ("function" == typeof ArrayBuffer.isView ? ArrayBuffer.isView(t) : !!t && (t instanceof DataView || !!(t.buffer && t.buffer instanceof ArrayBuffer))) + } + var p = t.exports = m, + l = /\s*function\s+([^\(\s]*)\s*/; + + function y(t) { + if (s.isFunction(t)) { + if (u) return t.name; + var e = t.toString().match(l); + return e && e[1] + } + } + + function g(t, e) { + return "string" == typeof t ? t.length < e ? t : t.slice(0, e) : t + } + + function d(t) { + if (u || !s.isFunction(t)) return s.inspect(t); + var e = y(t); + return "[Function" + (e ? ": " + e : "") + "]" + } + + function v(t, e, r, n, i) { + throw new p.AssertionError({ + message: r, + actual: t, + expected: e, + operator: n, + stackStartFunction: i + }) + } + + function m(t, e) { + t || v(t, !0, e, "==", p.ok) + } + + function S(t, e, r, n) { + if (t === e) return !0; + if (o(t) && o(e)) return 0 === i(t, e); + if (s.isDate(t) && s.isDate(e)) return t.getTime() === e.getTime(); + if (s.isRegExp(t) && s.isRegExp(e)) return t.source === e.source && t.global === e.global && t.multiline === e.multiline && t.lastIndex === e.lastIndex && t.ignoreCase === e.ignoreCase; + if (null !== t && "object" == typeof t || null !== e && "object" == typeof e) { + if (h(t) && h(e) && c(t) === c(e) && !(t instanceof Float32Array || t instanceof Float64Array)) return 0 === i(new Uint8Array(t.buffer), new Uint8Array(e.buffer)); + if (o(t) !== o(e)) return !1; + var a = (n = n || { + actual: [], + expected: [] + }).actual.indexOf(t); + return -1 !== a && a === n.expected.indexOf(e) || (n.actual.push(t), n.expected.push(e), function(t, e, r, n) { + if (null == t || null == e) return !1; + if (s.isPrimitive(t) || s.isPrimitive(e)) return t === e; + if (r && Object.getPrototypeOf(t) !== Object.getPrototypeOf(e)) return !1; + var i = _(t), + o = _(e); + if (i && !o || !i && o) return !1; + if (i) return S(t = f.call(t), e = f.call(e), r); + var a, u, c = w(t), + h = w(e); + if (c.length !== h.length) return !1; + for (c.sort(), h.sort(), u = c.length - 1; u >= 0; u--) + if (c[u] !== h[u]) return !1; + for (u = c.length - 1; u >= 0; u--) + if (!S(t[a = c[u]], e[a], r, n)) return !1; + return !0 + }(t, e, r, n)) + } + return r ? t === e : t == e + } + + function _(t) { + return "[object Arguments]" == Object.prototype.toString.call(t) + } + + function b(t, e) { + if (!t || !e) return !1; + if ("[object RegExp]" == Object.prototype.toString.call(e)) return e.test(t); + try { + if (t instanceof e) return !0 + } catch (t) {} + return !Error.isPrototypeOf(e) && !0 === e.call({}, t) + } + + function E(t, e, r, n) { + var i; + if ("function" != typeof e) throw new TypeError('"block" argument must be a function'); + "string" == typeof r && (n = r, r = null), i = function(t) { + var e; + try { + t() + } catch (t) { + e = t + } + return e + }(e), n = (r && r.name ? " (" + r.name + ")." : ".") + (n ? " " + n : "."), t && !i && v(i, r, "Missing expected exception" + n); + var o = "string" == typeof n, + a = !t && i && !r; + if ((!t && s.isError(i) && o && b(i, r) || a) && v(i, r, "Got unwanted exception" + n), t && i && r && !b(i, r) || !t && i) throw i + } + p.AssertionError = function(t) { + this.name = "AssertionError", this.actual = t.actual, this.expected = t.expected, this.operator = t.operator, t.message ? (this.message = t.message, this.generatedMessage = !1) : (this.message = g(d(this.actual), 128) + " " + this.operator + " " + g(d(this.expected), 128), this.generatedMessage = !0); + var e = t.stackStartFunction || v; + if (Error.captureStackTrace) Error.captureStackTrace(this, e); + else { + var r = new Error; + if (r.stack) { + var n = r.stack, + i = y(e), + o = n.indexOf("\n" + i); + if (o >= 0) { + var s = n.indexOf("\n", o + 1); + n = n.substring(s + 1) + } + this.stack = n + } + } + }, s.inherits(p.AssertionError, Error), p.fail = v, p.ok = m, p.equal = function(t, e, r) { + t != e && v(t, e, r, "==", p.equal) + }, p.notEqual = function(t, e, r) { + t == e && v(t, e, r, "!=", p.notEqual) + }, p.deepEqual = function(t, e, r) { + S(t, e, !1) || v(t, e, r, "deepEqual", p.deepEqual) + }, p.deepStrictEqual = function(t, e, r) { + S(t, e, !0) || v(t, e, r, "deepStrictEqual", p.deepStrictEqual) + }, p.notDeepEqual = function(t, e, r) { + S(t, e, !1) && v(t, e, r, "notDeepEqual", p.notDeepEqual) + }, p.notDeepStrictEqual = function t(e, r, n) { + S(e, r, !0) && v(e, r, n, "notDeepStrictEqual", t) + }, p.strictEqual = function(t, e, r) { + t !== e && v(t, e, r, "===", p.strictEqual) + }, p.notStrictEqual = function(t, e, r) { + t === e && v(t, e, r, "!==", p.notStrictEqual) + }, p.throws = function(t, e, r) { + E(!0, t, e, r) + }, p.doesNotThrow = function(t, e, r) { + E(!1, t, e, r) + }, p.ifError = function(t) { + if (t) throw t + }, p.strict = n((function t(e, r) { + e || v(e, !0, r, "==", t) + }), p, { + equal: p.strictEqual, + deepEqual: p.deepStrictEqual, + notEqual: p.notStrictEqual, + notDeepEqual: p.notDeepStrictEqual + }), p.strict.strict = p.strict; + var w = Object.keys || function(t) { + var e = []; + for (var r in t) a.call(t, r) && e.push(r); + return e + } + }, + 6100: t => { + "function" == typeof Object.create ? t.exports = function(t, e) { + t.super_ = e, t.prototype = Object.create(e.prototype, { + constructor: { + value: t, + enumerable: !1, + writable: !0, + configurable: !0 + } + }) + } : t.exports = function(t, e) { + t.super_ = e; + var r = function() {}; + r.prototype = e.prototype, t.prototype = new r, t.prototype.constructor = t + } + }, + 3845: t => { + t.exports = function(t) { + return t && "object" == typeof t && "function" == typeof t.copy && "function" == typeof t.fill && "function" == typeof t.readUInt8 + } + }, + 4591: (t, e, r) => { + var n = r(5606), + i = /%[sdj%]/g; + e.format = function(t) { + if (!v(t)) { + for (var e = [], r = 0; r < arguments.length; r++) e.push(a(arguments[r])); + return e.join(" ") + } + r = 1; + for (var n = arguments, o = n.length, s = String(t).replace(i, (function(t) { + if ("%%" === t) return "%"; + if (r >= o) return t; + switch (t) { + case "%s": + return String(n[r++]); + case "%d": + return Number(n[r++]); + case "%j": + try { + return JSON.stringify(n[r++]) + } catch (t) { + return "[Circular]" + } + default: + return t + } + })), f = n[r]; r < o; f = n[++r]) g(f) || !_(f) ? s += " " + f : s += " " + a(f); + return s + }, e.deprecate = function(t, i) { + if (m(r.g.process)) return function() { + return e.deprecate(t, i).apply(this, arguments) + }; + if (!0 === n.noDeprecation) return t; + var o = !1; + return function() { + if (!o) { + if (n.throwDeprecation) throw new Error(i); + n.traceDeprecation ? console.trace(i) : console.error(i), o = !0 + } + return t.apply(this, arguments) + } + }; + var o, s = {}; + + function a(t, r) { + var n = { + seen: [], + stylize: u + }; + return arguments.length >= 3 && (n.depth = arguments[2]), arguments.length >= 4 && (n.colors = arguments[3]), y(r) ? n.showHidden = r : r && e._extend(n, r), m(n.showHidden) && (n.showHidden = !1), m(n.depth) && (n.depth = 2), m(n.colors) && (n.colors = !1), m(n.customInspect) && (n.customInspect = !0), n.colors && (n.stylize = f), c(n, t, n.depth) + } + + function f(t, e) { + var r = a.styles[e]; + return r ? "[" + a.colors[r][0] + "m" + t + "[" + a.colors[r][1] + "m" : t + } + + function u(t, e) { + return t + } + + function c(t, r, n) { + if (t.customInspect && r && w(r.inspect) && r.inspect !== e.inspect && (!r.constructor || r.constructor.prototype !== r)) { + var i = r.inspect(n, t); + return v(i) || (i = c(t, i, n)), i + } + var o = function(t, e) { + if (m(e)) return t.stylize("undefined", "undefined"); + if (v(e)) { + var r = "'" + JSON.stringify(e).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'"; + return t.stylize(r, "string") + } + return d(e) ? t.stylize("" + e, "number") : y(e) ? t.stylize("" + e, "boolean") : g(e) ? t.stylize("null", "null") : void 0 + }(t, r); + if (o) return o; + var s = Object.keys(r), + a = function(t) { + var e = {}; + return t.forEach((function(t, r) { + e[t] = !0 + })), e + }(s); + if (t.showHidden && (s = Object.getOwnPropertyNames(r)), E(r) && (s.indexOf("message") >= 0 || s.indexOf("description") >= 0)) return h(r); + if (0 === s.length) { + if (w(r)) { + var f = r.name ? ": " + r.name : ""; + return t.stylize("[Function" + f + "]", "special") + } + if (S(r)) return t.stylize(RegExp.prototype.toString.call(r), "regexp"); + if (b(r)) return t.stylize(Date.prototype.toString.call(r), "date"); + if (E(r)) return h(r) + } + var u, _ = "", + O = !1, + B = ["{", "}"]; + return l(r) && (O = !0, B = ["[", "]"]), w(r) && (_ = " [Function" + (r.name ? ": " + r.name : "") + "]"), S(r) && (_ = " " + RegExp.prototype.toString.call(r)), b(r) && (_ = " " + Date.prototype.toUTCString.call(r)), E(r) && (_ = " " + h(r)), 0 !== s.length || O && 0 != r.length ? n < 0 ? S(r) ? t.stylize(RegExp.prototype.toString.call(r), "regexp") : t.stylize("[Object]", "special") : (t.seen.push(r), u = O ? function(t, e, r, n, i) { + for (var o = [], s = 0, a = e.length; s < a; ++s) x(e, String(s)) ? o.push(p(t, e, r, n, String(s), !0)) : o.push(""); + return i.forEach((function(i) { + i.match(/^\d+$/) || o.push(p(t, e, r, n, i, !0)) + })), o + }(t, r, n, a, s) : s.map((function(e) { + return p(t, r, n, a, e, O) + })), t.seen.pop(), function(t, e, r) { + return t.reduce((function(t, e) { + return e.indexOf("\n"), t + e.replace(/\u001b\[\d\d?m/g, "").length + 1 + }), 0) > 60 ? r[0] + ("" === e ? "" : e + "\n ") + " " + t.join(",\n ") + " " + r[1] : r[0] + e + " " + t.join(", ") + " " + r[1] + }(u, _, B)) : B[0] + _ + B[1] + } + + function h(t) { + return "[" + Error.prototype.toString.call(t) + "]" + } + + function p(t, e, r, n, i, o) { + var s, a, f; + if ((f = Object.getOwnPropertyDescriptor(e, i) || { + value: e[i] + }).get ? a = f.set ? t.stylize("[Getter/Setter]", "special") : t.stylize("[Getter]", "special") : f.set && (a = t.stylize("[Setter]", "special")), x(n, i) || (s = "[" + i + "]"), a || (t.seen.indexOf(f.value) < 0 ? (a = g(r) ? c(t, f.value, null) : c(t, f.value, r - 1)).indexOf("\n") > -1 && (a = o ? a.split("\n").map((function(t) { + return " " + t + })).join("\n").substr(2) : "\n" + a.split("\n").map((function(t) { + return " " + t + })).join("\n")) : a = t.stylize("[Circular]", "special")), m(s)) { + if (o && i.match(/^\d+$/)) return a; + (s = JSON.stringify("" + i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (s = s.substr(1, s.length - 2), s = t.stylize(s, "name")) : (s = s.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), s = t.stylize(s, "string")) + } + return s + ": " + a + } + + function l(t) { + return Array.isArray(t) + } + + function y(t) { + return "boolean" == typeof t + } + + function g(t) { + return null === t + } + + function d(t) { + return "number" == typeof t + } + + function v(t) { + return "string" == typeof t + } + + function m(t) { + return void 0 === t + } + + function S(t) { + return _(t) && "[object RegExp]" === O(t) + } + + function _(t) { + return "object" == typeof t && null !== t + } + + function b(t) { + return _(t) && "[object Date]" === O(t) + } + + function E(t) { + return _(t) && ("[object Error]" === O(t) || t instanceof Error) + } + + function w(t) { + return "function" == typeof t + } + + function O(t) { + return Object.prototype.toString.call(t) + } + + function B(t) { + return t < 10 ? "0" + t.toString(10) : t.toString(10) + } + e.debuglog = function(t) { + if (m(o) && (o = n.env.NODE_DEBUG || ""), t = t.toUpperCase(), !s[t]) + if (new RegExp("\\b" + t + "\\b", "i").test(o)) { + var r = n.pid; + s[t] = function() { + var n = e.format.apply(e, arguments); + console.error("%s %d: %s", t, r, n) + } + } else s[t] = function() {}; + return s[t] + }, e.inspect = a, a.colors = { + bold: [1, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + white: [37, 39], + grey: [90, 39], + black: [30, 39], + blue: [34, 39], + cyan: [36, 39], + green: [32, 39], + magenta: [35, 39], + red: [31, 39], + yellow: [33, 39] + }, a.styles = { + special: "cyan", + number: "yellow", + boolean: "yellow", + undefined: "grey", + null: "bold", + string: "green", + date: "magenta", + regexp: "red" + }, e.isArray = l, e.isBoolean = y, e.isNull = g, e.isNullOrUndefined = function(t) { + return null == t + }, e.isNumber = d, e.isString = v, e.isSymbol = function(t) { + return "symbol" == typeof t + }, e.isUndefined = m, e.isRegExp = S, e.isObject = _, e.isDate = b, e.isError = E, e.isFunction = w, e.isPrimitive = function(t) { + return null === t || "boolean" == typeof t || "number" == typeof t || "string" == typeof t || "symbol" == typeof t || void 0 === t + }, e.isBuffer = r(3845); + var A = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + + function x(t, e) { + return Object.prototype.hasOwnProperty.call(t, e) + } + e.log = function() { + var t, r; + console.log("%s - %s", (r = [B((t = new Date).getHours()), B(t.getMinutes()), B(t.getSeconds())].join(":"), [t.getDate(), A[t.getMonth()], r].join(" ")), e.format.apply(e, arguments)) + }, e.inherits = r(6100), e._extend = function(t, e) { + if (!e || !_(e)) return t; + for (var r = Object.keys(e), n = r.length; n--;) t[r[n]] = e[r[n]]; + return t + } + }, + 7526: (t, e) => { + "use strict"; + e.byteLength = function(t) { + var e = a(t), + r = e[0], + n = e[1]; + return 3 * (r + n) / 4 - n + }, e.toByteArray = function(t) { + var e, r, o = a(t), + s = o[0], + f = o[1], + u = new i(function(t, e, r) { + return 3 * (e + r) / 4 - r + }(0, s, f)), + c = 0, + h = f > 0 ? s - 4 : s; + for (r = 0; r < h; r += 4) e = n[t.charCodeAt(r)] << 18 | n[t.charCodeAt(r + 1)] << 12 | n[t.charCodeAt(r + 2)] << 6 | n[t.charCodeAt(r + 3)], u[c++] = e >> 16 & 255, u[c++] = e >> 8 & 255, u[c++] = 255 & e; + return 2 === f && (e = n[t.charCodeAt(r)] << 2 | n[t.charCodeAt(r + 1)] >> 4, u[c++] = 255 & e), 1 === f && (e = n[t.charCodeAt(r)] << 10 | n[t.charCodeAt(r + 1)] << 4 | n[t.charCodeAt(r + 2)] >> 2, u[c++] = e >> 8 & 255, u[c++] = 255 & e), u + }, e.fromByteArray = function(t) { + for (var e, n = t.length, i = n % 3, o = [], s = 16383, a = 0, u = n - i; a < u; a += s) o.push(f(t, a, a + s > u ? u : a + s)); + return 1 === i ? (e = t[n - 1], o.push(r[e >> 2] + r[e << 4 & 63] + "==")) : 2 === i && (e = (t[n - 2] << 8) + t[n - 1], o.push(r[e >> 10] + r[e >> 4 & 63] + r[e << 2 & 63] + "=")), o.join("") + }; + for (var r = [], n = [], i = "undefined" != typeof Uint8Array ? Uint8Array : Array, o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", s = 0; s < 64; ++s) r[s] = o[s], n[o.charCodeAt(s)] = s; + + function a(t) { + var e = t.length; + if (e % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); + var r = t.indexOf("="); + return -1 === r && (r = e), [r, r === e ? 0 : 4 - r % 4] + } + + function f(t, e, n) { + for (var i, o, s = [], a = e; a < n; a += 3) i = (t[a] << 16 & 16711680) + (t[a + 1] << 8 & 65280) + (255 & t[a + 2]), s.push(r[(o = i) >> 18 & 63] + r[o >> 12 & 63] + r[o >> 6 & 63] + r[63 & o]); + return s.join("") + } + n["-".charCodeAt(0)] = 62, n["_".charCodeAt(0)] = 63 + }, + 8287: (t, e, r) => { + "use strict"; + var n = r(7526), + i = r(251); + e.Buffer = a, e.SlowBuffer = function(t) { + return +t != t && (t = 0), a.alloc(+t) + }, e.INSPECT_MAX_BYTES = 50; + var o = 2147483647; + + function s(t) { + if (t > o) throw new RangeError('The value "' + t + '" is invalid for option "size"'); + var e = new Uint8Array(t); + return e.__proto__ = a.prototype, e + } + + function a(t, e, r) { + if ("number" == typeof t) { + if ("string" == typeof e) throw new TypeError('The "string" argument must be of type string. Received type number'); + return c(t) + } + return f(t, e, r) + } + + function f(t, e, r) { + if ("string" == typeof t) return function(t, e) { + if ("string" == typeof e && "" !== e || (e = "utf8"), !a.isEncoding(e)) throw new TypeError("Unknown encoding: " + e); + var r = 0 | l(t, e), + n = s(r), + i = n.write(t, e); + return i !== r && (n = n.slice(0, i)), n + }(t, e); + if (ArrayBuffer.isView(t)) return h(t); + if (null == t) throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof t); + if (H(t, ArrayBuffer) || t && H(t.buffer, ArrayBuffer)) return function(t, e, r) { + if (e < 0 || t.byteLength < e) throw new RangeError('"offset" is outside of buffer bounds'); + if (t.byteLength < e + (r || 0)) throw new RangeError('"length" is outside of buffer bounds'); + var n; + return (n = void 0 === e && void 0 === r ? new Uint8Array(t) : void 0 === r ? new Uint8Array(t, e) : new Uint8Array(t, e, r)).__proto__ = a.prototype, n + }(t, e, r); + if ("number" == typeof t) throw new TypeError('The "value" argument must not be of type number. Received type number'); + var n = t.valueOf && t.valueOf(); + if (null != n && n !== t) return a.from(n, e, r); + var i = function(t) { + if (a.isBuffer(t)) { + var e = 0 | p(t.length), + r = s(e); + return 0 === r.length || t.copy(r, 0, 0, e), r + } + return void 0 !== t.length ? "number" != typeof t.length || F(t.length) ? s(0) : h(t) : "Buffer" === t.type && Array.isArray(t.data) ? h(t.data) : void 0 + }(t); + if (i) return i; + if ("undefined" != typeof Symbol && null != Symbol.toPrimitive && "function" == typeof t[Symbol.toPrimitive]) return a.from(t[Symbol.toPrimitive]("string"), e, r); + throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof t) + } + + function u(t) { + if ("number" != typeof t) throw new TypeError('"size" argument must be of type number'); + if (t < 0) throw new RangeError('The value "' + t + '" is invalid for option "size"') + } + + function c(t) { + return u(t), s(t < 0 ? 0 : 0 | p(t)) + } + + function h(t) { + for (var e = t.length < 0 ? 0 : 0 | p(t.length), r = s(e), n = 0; n < e; n += 1) r[n] = 255 & t[n]; + return r + } + + function p(t) { + if (t >= o) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + o.toString(16) + " bytes"); + return 0 | t + } + + function l(t, e) { + if (a.isBuffer(t)) return t.length; + if (ArrayBuffer.isView(t) || H(t, ArrayBuffer)) return t.byteLength; + if ("string" != typeof t) throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof t); + var r = t.length, + n = arguments.length > 2 && !0 === arguments[2]; + if (!n && 0 === r) return 0; + for (var i = !1;;) switch (e) { + case "ascii": + case "latin1": + case "binary": + return r; + case "utf8": + case "utf-8": + return U(t).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return 2 * r; + case "hex": + return r >>> 1; + case "base64": + return M(t).length; + default: + if (i) return n ? -1 : U(t).length; + e = ("" + e).toLowerCase(), i = !0 + } + } + + function y(t, e, r) { + var n = !1; + if ((void 0 === e || e < 0) && (e = 0), e > this.length) return ""; + if ((void 0 === r || r > this.length) && (r = this.length), r <= 0) return ""; + if ((r >>>= 0) <= (e >>>= 0)) return ""; + for (t || (t = "utf8");;) switch (t) { + case "hex": + return T(this, e, r); + case "utf8": + case "utf-8": + return B(this, e, r); + case "ascii": + return x(this, e, r); + case "latin1": + case "binary": + return P(this, e, r); + case "base64": + return O(this, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return I(this, e, r); + default: + if (n) throw new TypeError("Unknown encoding: " + t); + t = (t + "").toLowerCase(), n = !0 + } + } + + function g(t, e, r) { + var n = t[e]; + t[e] = t[r], t[r] = n + } + + function d(t, e, r, n, i) { + if (0 === t.length) return -1; + if ("string" == typeof r ? (n = r, r = 0) : r > 2147483647 ? r = 2147483647 : r < -2147483648 && (r = -2147483648), F(r = +r) && (r = i ? 0 : t.length - 1), r < 0 && (r = t.length + r), r >= t.length) { + if (i) return -1; + r = t.length - 1 + } else if (r < 0) { + if (!i) return -1; + r = 0 + } + if ("string" == typeof e && (e = a.from(e, n)), a.isBuffer(e)) return 0 === e.length ? -1 : v(t, e, r, n, i); + if ("number" == typeof e) return e &= 255, "function" == typeof Uint8Array.prototype.indexOf ? i ? Uint8Array.prototype.indexOf.call(t, e, r) : Uint8Array.prototype.lastIndexOf.call(t, e, r) : v(t, [e], r, n, i); + throw new TypeError("val must be string, number or Buffer") + } + + function v(t, e, r, n, i) { + var o, s = 1, + a = t.length, + f = e.length; + if (void 0 !== n && ("ucs2" === (n = String(n).toLowerCase()) || "ucs-2" === n || "utf16le" === n || "utf-16le" === n)) { + if (t.length < 2 || e.length < 2) return -1; + s = 2, a /= 2, f /= 2, r /= 2 + } + + function u(t, e) { + return 1 === s ? t[e] : t.readUInt16BE(e * s) + } + if (i) { + var c = -1; + for (o = r; o < a; o++) + if (u(t, o) === u(e, -1 === c ? 0 : o - c)) { + if (-1 === c && (c = o), o - c + 1 === f) return c * s + } else - 1 !== c && (o -= o - c), c = -1 + } else + for (r + f > a && (r = a - f), o = r; o >= 0; o--) { + for (var h = !0, p = 0; p < f; p++) + if (u(t, o + p) !== u(e, p)) { + h = !1; + break + } if (h) return o + } + return -1 + } + + function m(t, e, r, n) { + r = Number(r) || 0; + var i = t.length - r; + n ? (n = Number(n)) > i && (n = i) : n = i; + var o = e.length; + n > o / 2 && (n = o / 2); + for (var s = 0; s < n; ++s) { + var a = parseInt(e.substr(2 * s, 2), 16); + if (F(a)) return s; + t[r + s] = a + } + return s + } + + function S(t, e, r, n) { + return j(U(e, t.length - r), t, r, n) + } + + function _(t, e, r, n) { + return j(function(t) { + for (var e = [], r = 0; r < t.length; ++r) e.push(255 & t.charCodeAt(r)); + return e + }(e), t, r, n) + } + + function b(t, e, r, n) { + return _(t, e, r, n) + } + + function E(t, e, r, n) { + return j(M(e), t, r, n) + } + + function w(t, e, r, n) { + return j(function(t, e) { + for (var r, n, i, o = [], s = 0; s < t.length && !((e -= 2) < 0); ++s) n = (r = t.charCodeAt(s)) >> 8, i = r % 256, o.push(i), o.push(n); + return o + }(e, t.length - r), t, r, n) + } + + function O(t, e, r) { + return 0 === e && r === t.length ? n.fromByteArray(t) : n.fromByteArray(t.slice(e, r)) + } + + function B(t, e, r) { + r = Math.min(t.length, r); + for (var n = [], i = e; i < r;) { + var o, s, a, f, u = t[i], + c = null, + h = u > 239 ? 4 : u > 223 ? 3 : u > 191 ? 2 : 1; + if (i + h <= r) switch (h) { + case 1: + u < 128 && (c = u); + break; + case 2: + 128 == (192 & (o = t[i + 1])) && (f = (31 & u) << 6 | 63 & o) > 127 && (c = f); + break; + case 3: + o = t[i + 1], s = t[i + 2], 128 == (192 & o) && 128 == (192 & s) && (f = (15 & u) << 12 | (63 & o) << 6 | 63 & s) > 2047 && (f < 55296 || f > 57343) && (c = f); + break; + case 4: + o = t[i + 1], s = t[i + 2], a = t[i + 3], 128 == (192 & o) && 128 == (192 & s) && 128 == (192 & a) && (f = (15 & u) << 18 | (63 & o) << 12 | (63 & s) << 6 | 63 & a) > 65535 && f < 1114112 && (c = f) + } + null === c ? (c = 65533, h = 1) : c > 65535 && (c -= 65536, n.push(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c), n.push(c), i += h + } + return function(t) { + var e = t.length; + if (e <= A) return String.fromCharCode.apply(String, t); + for (var r = "", n = 0; n < e;) r += String.fromCharCode.apply(String, t.slice(n, n += A)); + return r + }(n) + } + e.kMaxLength = o, a.TYPED_ARRAY_SUPPORT = function() { + try { + var t = new Uint8Array(1); + return t.__proto__ = { + __proto__: Uint8Array.prototype, + foo: function() { + return 42 + } + }, 42 === t.foo() + } catch (t) { + return !1 + } + }(), a.TYPED_ARRAY_SUPPORT || "undefined" == typeof console || "function" != typeof console.error || console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."), Object.defineProperty(a.prototype, "parent", { + enumerable: !0, + get: function() { + if (a.isBuffer(this)) return this.buffer + } + }), Object.defineProperty(a.prototype, "offset", { + enumerable: !0, + get: function() { + if (a.isBuffer(this)) return this.byteOffset + } + }), "undefined" != typeof Symbol && null != Symbol.species && a[Symbol.species] === a && Object.defineProperty(a, Symbol.species, { + value: null, + configurable: !0, + enumerable: !1, + writable: !1 + }), a.poolSize = 8192, a.from = function(t, e, r) { + return f(t, e, r) + }, a.prototype.__proto__ = Uint8Array.prototype, a.__proto__ = Uint8Array, a.alloc = function(t, e, r) { + return function(t, e, r) { + return u(t), t <= 0 ? s(t) : void 0 !== e ? "string" == typeof r ? s(t).fill(e, r) : s(t).fill(e) : s(t) + }(t, e, r) + }, a.allocUnsafe = function(t) { + return c(t) + }, a.allocUnsafeSlow = function(t) { + return c(t) + }, a.isBuffer = function(t) { + return null != t && !0 === t._isBuffer && t !== a.prototype + }, a.compare = function(t, e) { + if (H(t, Uint8Array) && (t = a.from(t, t.offset, t.byteLength)), H(e, Uint8Array) && (e = a.from(e, e.offset, e.byteLength)), !a.isBuffer(t) || !a.isBuffer(e)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); + if (t === e) return 0; + for (var r = t.length, n = e.length, i = 0, o = Math.min(r, n); i < o; ++i) + if (t[i] !== e[i]) { + r = t[i], n = e[i]; + break + } return r < n ? -1 : n < r ? 1 : 0 + }, a.isEncoding = function(t) { + switch (String(t).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return !0; + default: + return !1 + } + }, a.concat = function(t, e) { + if (!Array.isArray(t)) throw new TypeError('"list" argument must be an Array of Buffers'); + if (0 === t.length) return a.alloc(0); + var r; + if (void 0 === e) + for (e = 0, r = 0; r < t.length; ++r) e += t[r].length; + var n = a.allocUnsafe(e), + i = 0; + for (r = 0; r < t.length; ++r) { + var o = t[r]; + if (H(o, Uint8Array) && (o = a.from(o)), !a.isBuffer(o)) throw new TypeError('"list" argument must be an Array of Buffers'); + o.copy(n, i), i += o.length + } + return n + }, a.byteLength = l, a.prototype._isBuffer = !0, a.prototype.swap16 = function() { + var t = this.length; + if (t % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); + for (var e = 0; e < t; e += 2) g(this, e, e + 1); + return this + }, a.prototype.swap32 = function() { + var t = this.length; + if (t % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); + for (var e = 0; e < t; e += 4) g(this, e, e + 3), g(this, e + 1, e + 2); + return this + }, a.prototype.swap64 = function() { + var t = this.length; + if (t % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); + for (var e = 0; e < t; e += 8) g(this, e, e + 7), g(this, e + 1, e + 6), g(this, e + 2, e + 5), g(this, e + 3, e + 4); + return this + }, a.prototype.toString = function() { + var t = this.length; + return 0 === t ? "" : 0 === arguments.length ? B(this, 0, t) : y.apply(this, arguments) + }, a.prototype.toLocaleString = a.prototype.toString, a.prototype.equals = function(t) { + if (!a.isBuffer(t)) throw new TypeError("Argument must be a Buffer"); + return this === t || 0 === a.compare(this, t) + }, a.prototype.inspect = function() { + var t = "", + r = e.INSPECT_MAX_BYTES; + return t = this.toString("hex", 0, r).replace(/(.{2})/g, "$1 ").trim(), this.length > r && (t += " ... "), "" + }, a.prototype.compare = function(t, e, r, n, i) { + if (H(t, Uint8Array) && (t = a.from(t, t.offset, t.byteLength)), !a.isBuffer(t)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof t); + if (void 0 === e && (e = 0), void 0 === r && (r = t ? t.length : 0), void 0 === n && (n = 0), void 0 === i && (i = this.length), e < 0 || r > t.length || n < 0 || i > this.length) throw new RangeError("out of range index"); + if (n >= i && e >= r) return 0; + if (n >= i) return -1; + if (e >= r) return 1; + if (this === t) return 0; + for (var o = (i >>>= 0) - (n >>>= 0), s = (r >>>= 0) - (e >>>= 0), f = Math.min(o, s), u = this.slice(n, i), c = t.slice(e, r), h = 0; h < f; ++h) + if (u[h] !== c[h]) { + o = u[h], s = c[h]; + break + } return o < s ? -1 : s < o ? 1 : 0 + }, a.prototype.includes = function(t, e, r) { + return -1 !== this.indexOf(t, e, r) + }, a.prototype.indexOf = function(t, e, r) { + return d(this, t, e, r, !0) + }, a.prototype.lastIndexOf = function(t, e, r) { + return d(this, t, e, r, !1) + }, a.prototype.write = function(t, e, r, n) { + if (void 0 === e) n = "utf8", r = this.length, e = 0; + else if (void 0 === r && "string" == typeof e) n = e, r = this.length, e = 0; + else { + if (!isFinite(e)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); + e >>>= 0, isFinite(r) ? (r >>>= 0, void 0 === n && (n = "utf8")) : (n = r, r = void 0) + } + var i = this.length - e; + if ((void 0 === r || r > i) && (r = i), t.length > 0 && (r < 0 || e < 0) || e > this.length) throw new RangeError("Attempt to write outside buffer bounds"); + n || (n = "utf8"); + for (var o = !1;;) switch (n) { + case "hex": + return m(this, t, e, r); + case "utf8": + case "utf-8": + return S(this, t, e, r); + case "ascii": + return _(this, t, e, r); + case "latin1": + case "binary": + return b(this, t, e, r); + case "base64": + return E(this, t, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return w(this, t, e, r); + default: + if (o) throw new TypeError("Unknown encoding: " + n); + n = ("" + n).toLowerCase(), o = !0 + } + }, a.prototype.toJSON = function() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + } + }; + var A = 4096; + + function x(t, e, r) { + var n = ""; + r = Math.min(t.length, r); + for (var i = e; i < r; ++i) n += String.fromCharCode(127 & t[i]); + return n + } + + function P(t, e, r) { + var n = ""; + r = Math.min(t.length, r); + for (var i = e; i < r; ++i) n += String.fromCharCode(t[i]); + return n + } + + function T(t, e, r) { + var n, i = t.length; + (!e || e < 0) && (e = 0), (!r || r < 0 || r > i) && (r = i); + for (var o = "", s = e; s < r; ++s) o += (n = t[s]) < 16 ? "0" + n.toString(16) : n.toString(16); + return o + } + + function I(t, e, r) { + for (var n = t.slice(e, r), i = "", o = 0; o < n.length; o += 2) i += String.fromCharCode(n[o] + 256 * n[o + 1]); + return i + } + + function k(t, e, r) { + if (t % 1 != 0 || t < 0) throw new RangeError("offset is not uint"); + if (t + e > r) throw new RangeError("Trying to access beyond buffer length") + } + + function D(t, e, r, n, i, o) { + if (!a.isBuffer(t)) throw new TypeError('"buffer" argument must be a Buffer instance'); + if (e > i || e < o) throw new RangeError('"value" argument is out of bounds'); + if (r + n > t.length) throw new RangeError("Index out of range") + } + + function R(t, e, r, n, i, o) { + if (r + n > t.length) throw new RangeError("Index out of range"); + if (r < 0) throw new RangeError("Index out of range") + } + + function N(t, e, r, n, o) { + return e = +e, r >>>= 0, o || R(t, 0, r, 4), i.write(t, e, r, n, 23, 4), r + 4 + } + + function L(t, e, r, n, o) { + return e = +e, r >>>= 0, o || R(t, 0, r, 8), i.write(t, e, r, n, 52, 8), r + 8 + } + a.prototype.slice = function(t, e) { + var r = this.length; + (t = ~~t) < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), (e = void 0 === e ? r : ~~e) < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), e < t && (e = t); + var n = this.subarray(t, e); + return n.__proto__ = a.prototype, n + }, a.prototype.readUIntLE = function(t, e, r) { + t >>>= 0, e >>>= 0, r || k(t, e, this.length); + for (var n = this[t], i = 1, o = 0; ++o < e && (i *= 256);) n += this[t + o] * i; + return n + }, a.prototype.readUIntBE = function(t, e, r) { + t >>>= 0, e >>>= 0, r || k(t, e, this.length); + for (var n = this[t + --e], i = 1; e > 0 && (i *= 256);) n += this[t + --e] * i; + return n + }, a.prototype.readUInt8 = function(t, e) { + return t >>>= 0, e || k(t, 1, this.length), this[t] + }, a.prototype.readUInt16LE = function(t, e) { + return t >>>= 0, e || k(t, 2, this.length), this[t] | this[t + 1] << 8 + }, a.prototype.readUInt16BE = function(t, e) { + return t >>>= 0, e || k(t, 2, this.length), this[t] << 8 | this[t + 1] + }, a.prototype.readUInt32LE = function(t, e) { + return t >>>= 0, e || k(t, 4, this.length), (this[t] | this[t + 1] << 8 | this[t + 2] << 16) + 16777216 * this[t + 3] + }, a.prototype.readUInt32BE = function(t, e) { + return t >>>= 0, e || k(t, 4, this.length), 16777216 * this[t] + (this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3]) + }, a.prototype.readIntLE = function(t, e, r) { + t >>>= 0, e >>>= 0, r || k(t, e, this.length); + for (var n = this[t], i = 1, o = 0; ++o < e && (i *= 256);) n += this[t + o] * i; + return n >= (i *= 128) && (n -= Math.pow(2, 8 * e)), n + }, a.prototype.readIntBE = function(t, e, r) { + t >>>= 0, e >>>= 0, r || k(t, e, this.length); + for (var n = e, i = 1, o = this[t + --n]; n > 0 && (i *= 256);) o += this[t + --n] * i; + return o >= (i *= 128) && (o -= Math.pow(2, 8 * e)), o + }, a.prototype.readInt8 = function(t, e) { + return t >>>= 0, e || k(t, 1, this.length), 128 & this[t] ? -1 * (255 - this[t] + 1) : this[t] + }, a.prototype.readInt16LE = function(t, e) { + t >>>= 0, e || k(t, 2, this.length); + var r = this[t] | this[t + 1] << 8; + return 32768 & r ? 4294901760 | r : r + }, a.prototype.readInt16BE = function(t, e) { + t >>>= 0, e || k(t, 2, this.length); + var r = this[t + 1] | this[t] << 8; + return 32768 & r ? 4294901760 | r : r + }, a.prototype.readInt32LE = function(t, e) { + return t >>>= 0, e || k(t, 4, this.length), this[t] | this[t + 1] << 8 | this[t + 2] << 16 | this[t + 3] << 24 + }, a.prototype.readInt32BE = function(t, e) { + return t >>>= 0, e || k(t, 4, this.length), this[t] << 24 | this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3] + }, a.prototype.readFloatLE = function(t, e) { + return t >>>= 0, e || k(t, 4, this.length), i.read(this, t, !0, 23, 4) + }, a.prototype.readFloatBE = function(t, e) { + return t >>>= 0, e || k(t, 4, this.length), i.read(this, t, !1, 23, 4) + }, a.prototype.readDoubleLE = function(t, e) { + return t >>>= 0, e || k(t, 8, this.length), i.read(this, t, !0, 52, 8) + }, a.prototype.readDoubleBE = function(t, e) { + return t >>>= 0, e || k(t, 8, this.length), i.read(this, t, !1, 52, 8) + }, a.prototype.writeUIntLE = function(t, e, r, n) { + t = +t, e >>>= 0, r >>>= 0, n || D(this, t, e, r, Math.pow(2, 8 * r) - 1, 0); + var i = 1, + o = 0; + for (this[e] = 255 & t; ++o < r && (i *= 256);) this[e + o] = t / i & 255; + return e + r + }, a.prototype.writeUIntBE = function(t, e, r, n) { + t = +t, e >>>= 0, r >>>= 0, n || D(this, t, e, r, Math.pow(2, 8 * r) - 1, 0); + var i = r - 1, + o = 1; + for (this[e + i] = 255 & t; --i >= 0 && (o *= 256);) this[e + i] = t / o & 255; + return e + r + }, a.prototype.writeUInt8 = function(t, e, r) { + return t = +t, e >>>= 0, r || D(this, t, e, 1, 255, 0), this[e] = 255 & t, e + 1 + }, a.prototype.writeUInt16LE = function(t, e, r) { + return t = +t, e >>>= 0, r || D(this, t, e, 2, 65535, 0), this[e] = 255 & t, this[e + 1] = t >>> 8, e + 2 + }, a.prototype.writeUInt16BE = function(t, e, r) { + return t = +t, e >>>= 0, r || D(this, t, e, 2, 65535, 0), this[e] = t >>> 8, this[e + 1] = 255 & t, e + 2 + }, a.prototype.writeUInt32LE = function(t, e, r) { + return t = +t, e >>>= 0, r || D(this, t, e, 4, 4294967295, 0), this[e + 3] = t >>> 24, this[e + 2] = t >>> 16, this[e + 1] = t >>> 8, this[e] = 255 & t, e + 4 + }, a.prototype.writeUInt32BE = function(t, e, r) { + return t = +t, e >>>= 0, r || D(this, t, e, 4, 4294967295, 0), this[e] = t >>> 24, this[e + 1] = t >>> 16, this[e + 2] = t >>> 8, this[e + 3] = 255 & t, e + 4 + }, a.prototype.writeIntLE = function(t, e, r, n) { + if (t = +t, e >>>= 0, !n) { + var i = Math.pow(2, 8 * r - 1); + D(this, t, e, r, i - 1, -i) + } + var o = 0, + s = 1, + a = 0; + for (this[e] = 255 & t; ++o < r && (s *= 256);) t < 0 && 0 === a && 0 !== this[e + o - 1] && (a = 1), this[e + o] = (t / s | 0) - a & 255; + return e + r + }, a.prototype.writeIntBE = function(t, e, r, n) { + if (t = +t, e >>>= 0, !n) { + var i = Math.pow(2, 8 * r - 1); + D(this, t, e, r, i - 1, -i) + } + var o = r - 1, + s = 1, + a = 0; + for (this[e + o] = 255 & t; --o >= 0 && (s *= 256);) t < 0 && 0 === a && 0 !== this[e + o + 1] && (a = 1), this[e + o] = (t / s | 0) - a & 255; + return e + r + }, a.prototype.writeInt8 = function(t, e, r) { + return t = +t, e >>>= 0, r || D(this, t, e, 1, 127, -128), t < 0 && (t = 255 + t + 1), this[e] = 255 & t, e + 1 + }, a.prototype.writeInt16LE = function(t, e, r) { + return t = +t, e >>>= 0, r || D(this, t, e, 2, 32767, -32768), this[e] = 255 & t, this[e + 1] = t >>> 8, e + 2 + }, a.prototype.writeInt16BE = function(t, e, r) { + return t = +t, e >>>= 0, r || D(this, t, e, 2, 32767, -32768), this[e] = t >>> 8, this[e + 1] = 255 & t, e + 2 + }, a.prototype.writeInt32LE = function(t, e, r) { + return t = +t, e >>>= 0, r || D(this, t, e, 4, 2147483647, -2147483648), this[e] = 255 & t, this[e + 1] = t >>> 8, this[e + 2] = t >>> 16, this[e + 3] = t >>> 24, e + 4 + }, a.prototype.writeInt32BE = function(t, e, r) { + return t = +t, e >>>= 0, r || D(this, t, e, 4, 2147483647, -2147483648), t < 0 && (t = 4294967295 + t + 1), this[e] = t >>> 24, this[e + 1] = t >>> 16, this[e + 2] = t >>> 8, this[e + 3] = 255 & t, e + 4 + }, a.prototype.writeFloatLE = function(t, e, r) { + return N(this, t, e, !0, r) + }, a.prototype.writeFloatBE = function(t, e, r) { + return N(this, t, e, !1, r) + }, a.prototype.writeDoubleLE = function(t, e, r) { + return L(this, t, e, !0, r) + }, a.prototype.writeDoubleBE = function(t, e, r) { + return L(this, t, e, !1, r) + }, a.prototype.copy = function(t, e, r, n) { + if (!a.isBuffer(t)) throw new TypeError("argument should be a Buffer"); + if (r || (r = 0), n || 0 === n || (n = this.length), e >= t.length && (e = t.length), e || (e = 0), n > 0 && n < r && (n = r), n === r) return 0; + if (0 === t.length || 0 === this.length) return 0; + if (e < 0) throw new RangeError("targetStart out of bounds"); + if (r < 0 || r >= this.length) throw new RangeError("Index out of range"); + if (n < 0) throw new RangeError("sourceEnd out of bounds"); + n > this.length && (n = this.length), t.length - e < n - r && (n = t.length - e + r); + var i = n - r; + if (this === t && "function" == typeof Uint8Array.prototype.copyWithin) this.copyWithin(e, r, n); + else if (this === t && r < e && e < n) + for (var o = i - 1; o >= 0; --o) t[o + e] = this[o + r]; + else Uint8Array.prototype.set.call(t, this.subarray(r, n), e); + return i + }, a.prototype.fill = function(t, e, r, n) { + if ("string" == typeof t) { + if ("string" == typeof e ? (n = e, e = 0, r = this.length) : "string" == typeof r && (n = r, r = this.length), void 0 !== n && "string" != typeof n) throw new TypeError("encoding must be a string"); + if ("string" == typeof n && !a.isEncoding(n)) throw new TypeError("Unknown encoding: " + n); + if (1 === t.length) { + var i = t.charCodeAt(0); + ("utf8" === n && i < 128 || "latin1" === n) && (t = i) + } + } else "number" == typeof t && (t &= 255); + if (e < 0 || this.length < e || this.length < r) throw new RangeError("Out of range index"); + if (r <= e) return this; + var o; + if (e >>>= 0, r = void 0 === r ? this.length : r >>> 0, t || (t = 0), "number" == typeof t) + for (o = e; o < r; ++o) this[o] = t; + else { + var s = a.isBuffer(t) ? t : a.from(t, n), + f = s.length; + if (0 === f) throw new TypeError('The value "' + t + '" is invalid for argument "value"'); + for (o = 0; o < r - e; ++o) this[o + e] = s[o % f] + } + return this + }; + var C = /[^+/0-9A-Za-z-_]/g; + + function U(t, e) { + var r; + e = e || 1 / 0; + for (var n = t.length, i = null, o = [], s = 0; s < n; ++s) { + if ((r = t.charCodeAt(s)) > 55295 && r < 57344) { + if (!i) { + if (r > 56319) { + (e -= 3) > -1 && o.push(239, 191, 189); + continue + } + if (s + 1 === n) { + (e -= 3) > -1 && o.push(239, 191, 189); + continue + } + i = r; + continue + } + if (r < 56320) { + (e -= 3) > -1 && o.push(239, 191, 189), i = r; + continue + } + r = 65536 + (i - 55296 << 10 | r - 56320) + } else i && (e -= 3) > -1 && o.push(239, 191, 189); + if (i = null, r < 128) { + if ((e -= 1) < 0) break; + o.push(r) + } else if (r < 2048) { + if ((e -= 2) < 0) break; + o.push(r >> 6 | 192, 63 & r | 128) + } else if (r < 65536) { + if ((e -= 3) < 0) break; + o.push(r >> 12 | 224, r >> 6 & 63 | 128, 63 & r | 128) + } else { + if (!(r < 1114112)) throw new Error("Invalid code point"); + if ((e -= 4) < 0) break; + o.push(r >> 18 | 240, r >> 12 & 63 | 128, r >> 6 & 63 | 128, 63 & r | 128) + } + } + return o + } + + function M(t) { + return n.toByteArray(function(t) { + if ((t = (t = t.split("=")[0]).trim().replace(C, "")).length < 2) return ""; + for (; t.length % 4 != 0;) t += "="; + return t + }(t)) + } + + function j(t, e, r, n) { + for (var i = 0; i < n && !(i + r >= e.length || i >= t.length); ++i) e[i + r] = t[i]; + return i + } + + function H(t, e) { + return t instanceof e || null != t && null != t.constructor && null != t.constructor.name && t.constructor.name === e.name + } + + function F(t) { + return t != t + } + }, + 8075: (t, e, r) => { + "use strict"; + var n = r(453), + i = r(487), + o = i(n("String.prototype.indexOf")); + t.exports = function(t, e) { + var r = n(t, !!e); + return "function" == typeof r && o(t, ".prototype.") > -1 ? i(r) : r + } + }, + 487: (t, e, r) => { + "use strict"; + var n = r(6743), + i = r(453), + o = r(6897), + s = r(9675), + a = i("%Function.prototype.apply%"), + f = i("%Function.prototype.call%"), + u = i("%Reflect.apply%", !0) || n.call(f, a), + c = r(655), + h = i("%Math.max%"); + t.exports = function(t) { + if ("function" != typeof t) throw new s("a function is required"); + var e = u(n, f, arguments); + return o(e, 1 + h(0, t.length - (arguments.length - 1)), !0) + }; + var p = function() { + return u(n, a, arguments) + }; + c ? c(t.exports, "apply", { + value: p + }) : t.exports.apply = p + }, + 955: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(754), r(4636), r(9506), r(7165), function() { + var t = n, + e = t.lib.BlockCipher, + r = t.algo, + i = [], + o = [], + s = [], + a = [], + f = [], + u = [], + c = [], + h = [], + p = [], + l = []; + ! function() { + for (var t = [], e = 0; e < 256; e++) t[e] = e < 128 ? e << 1 : e << 1 ^ 283; + var r = 0, + n = 0; + for (e = 0; e < 256; e++) { + var y = n ^ n << 1 ^ n << 2 ^ n << 3 ^ n << 4; + y = y >>> 8 ^ 255 & y ^ 99, i[r] = y, o[y] = r; + var g = t[r], + d = t[g], + v = t[d], + m = 257 * t[y] ^ 16843008 * y; + s[r] = m << 24 | m >>> 8, a[r] = m << 16 | m >>> 16, f[r] = m << 8 | m >>> 24, u[r] = m, m = 16843009 * v ^ 65537 * d ^ 257 * g ^ 16843008 * r, c[y] = m << 24 | m >>> 8, h[y] = m << 16 | m >>> 16, p[y] = m << 8 | m >>> 24, l[y] = m, r ? (r = g ^ t[t[t[v ^ g]]], n ^= t[t[n]]) : r = n = 1 + } + }(); + var y = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], + g = r.AES = e.extend({ + _doReset: function() { + if (!this._nRounds || this._keyPriorReset !== this._key) { + for (var t = this._keyPriorReset = this._key, e = t.words, r = t.sigBytes / 4, n = 4 * ((this._nRounds = r + 6) + 1), o = this._keySchedule = [], s = 0; s < n; s++) + if (s < r) o[s] = e[s]; + else { + var a = o[s - 1]; + s % r ? r > 6 && s % r == 4 && (a = i[a >>> 24] << 24 | i[a >>> 16 & 255] << 16 | i[a >>> 8 & 255] << 8 | i[255 & a]) : (a = i[(a = a << 8 | a >>> 24) >>> 24] << 24 | i[a >>> 16 & 255] << 16 | i[a >>> 8 & 255] << 8 | i[255 & a], a ^= y[s / r | 0] << 24), o[s] = o[s - r] ^ a + } for (var f = this._invKeySchedule = [], u = 0; u < n; u++) s = n - u, a = u % 4 ? o[s] : o[s - 4], f[u] = u < 4 || s <= 4 ? a : c[i[a >>> 24]] ^ h[i[a >>> 16 & 255]] ^ p[i[a >>> 8 & 255]] ^ l[i[255 & a]] + } + }, + encryptBlock: function(t, e) { + this._doCryptBlock(t, e, this._keySchedule, s, a, f, u, i) + }, + decryptBlock: function(t, e) { + var r = t[e + 1]; + t[e + 1] = t[e + 3], t[e + 3] = r, this._doCryptBlock(t, e, this._invKeySchedule, c, h, p, l, o), r = t[e + 1], t[e + 1] = t[e + 3], t[e + 3] = r + }, + _doCryptBlock: function(t, e, r, n, i, o, s, a) { + for (var f = this._nRounds, u = t[e] ^ r[0], c = t[e + 1] ^ r[1], h = t[e + 2] ^ r[2], p = t[e + 3] ^ r[3], l = 4, y = 1; y < f; y++) { + var g = n[u >>> 24] ^ i[c >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & p] ^ r[l++], + d = n[c >>> 24] ^ i[h >>> 16 & 255] ^ o[p >>> 8 & 255] ^ s[255 & u] ^ r[l++], + v = n[h >>> 24] ^ i[p >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & c] ^ r[l++], + m = n[p >>> 24] ^ i[u >>> 16 & 255] ^ o[c >>> 8 & 255] ^ s[255 & h] ^ r[l++]; + u = g, c = d, h = v, p = m + } + g = (a[u >>> 24] << 24 | a[c >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & p]) ^ r[l++], d = (a[c >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[p >>> 8 & 255] << 8 | a[255 & u]) ^ r[l++], v = (a[h >>> 24] << 24 | a[p >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & c]) ^ r[l++], m = (a[p >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[c >>> 8 & 255] << 8 | a[255 & h]) ^ r[l++], t[e] = g, t[e + 1] = d, t[e + 2] = v, t[e + 3] = m + }, + keySize: 8 + }); + t.AES = e._createHelper(g) + }(), n.AES) + }, + 7165: function(t, e, r) { + var n, i, o, s, a, f, u, c, h, p, l, y, g, d, v, m, S, _, b; + t.exports = (n = r(9021), r(9506), void(n.lib.Cipher || (i = n, o = i.lib, s = o.Base, a = o.WordArray, f = o.BufferedBlockAlgorithm, u = i.enc, u.Utf8, c = u.Base64, h = i.algo.EvpKDF, p = o.Cipher = f.extend({ + cfg: s.extend(), + createEncryptor: function(t, e) { + return this.create(this._ENC_XFORM_MODE, t, e) + }, + createDecryptor: function(t, e) { + return this.create(this._DEC_XFORM_MODE, t, e) + }, + init: function(t, e, r) { + this.cfg = this.cfg.extend(r), this._xformMode = t, this._key = e, this.reset() + }, + reset: function() { + f.reset.call(this), this._doReset() + }, + process: function(t) { + return this._append(t), this._process() + }, + finalize: function(t) { + return t && this._append(t), this._doFinalize() + }, + keySize: 4, + ivSize: 4, + _ENC_XFORM_MODE: 1, + _DEC_XFORM_MODE: 2, + _createHelper: function() { + function t(t) { + return "string" == typeof t ? b : S + } + return function(e) { + return { + encrypt: function(r, n, i) { + return t(n).encrypt(e, r, n, i) + }, + decrypt: function(r, n, i) { + return t(n).decrypt(e, r, n, i) + } + } + } + }() + }), o.StreamCipher = p.extend({ + _doFinalize: function() { + return this._process(!0) + }, + blockSize: 1 + }), l = i.mode = {}, y = o.BlockCipherMode = s.extend({ + createEncryptor: function(t, e) { + return this.Encryptor.create(t, e) + }, + createDecryptor: function(t, e) { + return this.Decryptor.create(t, e) + }, + init: function(t, e) { + this._cipher = t, this._iv = e + } + }), g = l.CBC = function() { + var t = y.extend(); + + function e(t, e, r) { + var n = this._iv; + if (n) { + var i = n; + this._iv = void 0 + } else i = this._prevBlock; + for (var o = 0; o < r; o++) t[e + o] ^= i[o] + } + return t.Encryptor = t.extend({ + processBlock: function(t, r) { + var n = this._cipher, + i = n.blockSize; + e.call(this, t, r, i), n.encryptBlock(t, r), this._prevBlock = t.slice(r, r + i) + } + }), t.Decryptor = t.extend({ + processBlock: function(t, r) { + var n = this._cipher, + i = n.blockSize, + o = t.slice(r, r + i); + n.decryptBlock(t, r), e.call(this, t, r, i), this._prevBlock = o + } + }), t + }(), d = (i.pad = {}).Pkcs7 = { + pad: function(t, e) { + for (var r = 4 * e, n = r - t.sigBytes % r, i = n << 24 | n << 16 | n << 8 | n, o = [], s = 0; s < n; s += 4) o.push(i); + var f = a.create(o, n); + t.concat(f) + }, + unpad: function(t) { + var e = 255 & t.words[t.sigBytes - 1 >>> 2]; + t.sigBytes -= e + } + }, o.BlockCipher = p.extend({ + cfg: p.cfg.extend({ + mode: g, + padding: d + }), + reset: function() { + p.reset.call(this); + var t = this.cfg, + e = t.iv, + r = t.mode; + if (this._xformMode == this._ENC_XFORM_MODE) var n = r.createEncryptor; + else n = r.createDecryptor, this._minBufferSize = 1; + this._mode && this._mode.__creator == n ? this._mode.init(this, e && e.words) : (this._mode = n.call(r, this, e && e.words), this._mode.__creator = n) + }, + _doProcessBlock: function(t, e) { + this._mode.processBlock(t, e) + }, + _doFinalize: function() { + var t = this.cfg.padding; + if (this._xformMode == this._ENC_XFORM_MODE) { + t.pad(this._data, this.blockSize); + var e = this._process(!0) + } else e = this._process(!0), t.unpad(e); + return e + }, + blockSize: 4 + }), v = o.CipherParams = s.extend({ + init: function(t) { + this.mixIn(t) + }, + toString: function(t) { + return (t || this.formatter).stringify(this) + } + }), m = (i.format = {}).OpenSSL = { + stringify: function(t) { + var e = t.ciphertext, + r = t.salt; + if (r) var n = a.create([1398893684, 1701076831]).concat(r).concat(e); + else n = e; + return n.toString(c) + }, + parse: function(t) { + var e = c.parse(t), + r = e.words; + if (1398893684 == r[0] && 1701076831 == r[1]) { + var n = a.create(r.slice(2, 4)); + r.splice(0, 4), e.sigBytes -= 16 + } + return v.create({ + ciphertext: e, + salt: n + }) + } + }, S = o.SerializableCipher = s.extend({ + cfg: s.extend({ + format: m + }), + encrypt: function(t, e, r, n) { + n = this.cfg.extend(n); + var i = t.createEncryptor(r, n), + o = i.finalize(e), + s = i.cfg; + return v.create({ + ciphertext: o, + key: r, + iv: s.iv, + algorithm: t, + mode: s.mode, + padding: s.padding, + blockSize: t.blockSize, + formatter: n.format + }) + }, + decrypt: function(t, e, r, n) { + return n = this.cfg.extend(n), e = this._parse(e, n.format), t.createDecryptor(r, n).finalize(e.ciphertext) + }, + _parse: function(t, e) { + return "string" == typeof t ? e.parse(t, this) : t + } + }), _ = (i.kdf = {}).OpenSSL = { + execute: function(t, e, r, n) { + n || (n = a.random(8)); + var i = h.create({ + keySize: e + r + }).compute(t, n), + o = a.create(i.words.slice(e), 4 * r); + return i.sigBytes = 4 * e, v.create({ + key: i, + iv: o, + salt: n + }) + } + }, b = o.PasswordBasedCipher = S.extend({ + cfg: S.cfg.extend({ + kdf: _ + }), + encrypt: function(t, e, r, n) { + var i = (n = this.cfg.extend(n)).kdf.execute(r, t.keySize, t.ivSize); + n.iv = i.iv; + var o = S.encrypt.call(this, t, e, i.key, n); + return o.mixIn(i), o + }, + decrypt: function(t, e, r, n) { + n = this.cfg.extend(n), e = this._parse(e, n.format); + var i = n.kdf.execute(r, t.keySize, t.ivSize, e.salt); + return n.iv = i.iv, S.decrypt.call(this, t, e, i.key, n) + } + })))) + }, + 9021: function(t, e) { + var r; + t.exports = (r = r || function(t, e) { + var r = Object.create || function() { + function t() {} + return function(e) { + var r; + return t.prototype = e, r = new t, t.prototype = null, r + } + }(), + n = {}, + i = n.lib = {}, + o = i.Base = { + extend: function(t) { + var e = r(this); + return t && e.mixIn(t), e.hasOwnProperty("init") && this.init !== e.init || (e.init = function() { + e.$super.init.apply(this, arguments) + }), e.init.prototype = e, e.$super = this, e + }, + create: function() { + var t = this.extend(); + return t.init.apply(t, arguments), t + }, + init: function() {}, + mixIn: function(t) { + for (var e in t) t.hasOwnProperty(e) && (this[e] = t[e]); + t.hasOwnProperty("toString") && (this.toString = t.toString) + }, + clone: function() { + return this.init.prototype.extend(this) + } + }, + s = i.WordArray = o.extend({ + init: function(t, e) { + t = this.words = t || [], this.sigBytes = null != e ? e : 4 * t.length + }, + toString: function(t) { + return (t || f).stringify(this) + }, + concat: function(t) { + var e = this.words, + r = t.words, + n = this.sigBytes, + i = t.sigBytes; + if (this.clamp(), n % 4) + for (var o = 0; o < i; o++) { + var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255; + e[n + o >>> 2] |= s << 24 - (n + o) % 4 * 8 + } else + for (o = 0; o < i; o += 4) e[n + o >>> 2] = r[o >>> 2]; + return this.sigBytes += i, this + }, + clamp: function() { + var e = this.words, + r = this.sigBytes; + e[r >>> 2] &= 4294967295 << 32 - r % 4 * 8, e.length = t.ceil(r / 4) + }, + clone: function() { + var t = o.clone.call(this); + return t.words = this.words.slice(0), t + }, + random: function(e) { + for (var r, n = [], i = function(e) { + var r = 987654321, + n = 4294967295; + return function() { + var i = ((r = 36969 * (65535 & r) + (r >> 16) & n) << 16) + (e = 18e3 * (65535 & e) + (e >> 16) & n) & n; + return i /= 4294967296, (i += .5) * (t.random() > .5 ? 1 : -1) + } + }, o = 0; o < e; o += 4) { + var a = i(4294967296 * (r || t.random())); + r = 987654071 * a(), n.push(4294967296 * a() | 0) + } + return new s.init(n, e) + } + }), + a = n.enc = {}, + f = a.Hex = { + stringify: function(t) { + for (var e = t.words, r = t.sigBytes, n = [], i = 0; i < r; i++) { + var o = e[i >>> 2] >>> 24 - i % 4 * 8 & 255; + n.push((o >>> 4).toString(16)), n.push((15 & o).toString(16)) + } + return n.join("") + }, + parse: function(t) { + for (var e = t.length, r = [], n = 0; n < e; n += 2) r[n >>> 3] |= parseInt(t.substr(n, 2), 16) << 24 - n % 8 * 4; + return new s.init(r, e / 2) + } + }, + u = a.Latin1 = { + stringify: function(t) { + for (var e = t.words, r = t.sigBytes, n = [], i = 0; i < r; i++) { + var o = e[i >>> 2] >>> 24 - i % 4 * 8 & 255; + n.push(String.fromCharCode(o)) + } + return n.join("") + }, + parse: function(t) { + for (var e = t.length, r = [], n = 0; n < e; n++) r[n >>> 2] |= (255 & t.charCodeAt(n)) << 24 - n % 4 * 8; + return new s.init(r, e) + } + }, + c = a.Utf8 = { + stringify: function(t) { + try { + return decodeURIComponent(escape(u.stringify(t))) + } catch (t) { + throw new Error("Malformed UTF-8 data") + } + }, + parse: function(t) { + return u.parse(unescape(encodeURIComponent(t))) + } + }, + h = i.BufferedBlockAlgorithm = o.extend({ + reset: function() { + this._data = new s.init, this._nDataBytes = 0 + }, + _append: function(t) { + "string" == typeof t && (t = c.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes + }, + _process: function(e) { + var r = this._data, + n = r.words, + i = r.sigBytes, + o = this.blockSize, + a = i / (4 * o), + f = (a = e ? t.ceil(a) : t.max((0 | a) - this._minBufferSize, 0)) * o, + u = t.min(4 * f, i); + if (f) { + for (var c = 0; c < f; c += o) this._doProcessBlock(n, c); + var h = n.splice(0, f); + r.sigBytes -= u + } + return new s.init(h, u) + }, + clone: function() { + var t = o.clone.call(this); + return t._data = this._data.clone(), t + }, + _minBufferSize: 0 + }), + p = (i.Hasher = h.extend({ + cfg: o.extend(), + init: function(t) { + this.cfg = this.cfg.extend(t), this.reset() + }, + reset: function() { + h.reset.call(this), this._doReset() + }, + update: function(t) { + return this._append(t), this._process(), this + }, + finalize: function(t) { + return t && this._append(t), this._doFinalize() + }, + blockSize: 16, + _createHelper: function(t) { + return function(e, r) { + return new t.init(r).finalize(e) + } + }, + _createHmacHelper: function(t) { + return function(e, r) { + return new p.HMAC.init(t, r).finalize(e) + } + } + }), n.algo = {}); + return n + }(Math), r) + }, + 754: function(t, e, r) { + var n, i, o; + t.exports = (n = r(9021), o = (i = n).lib.WordArray, i.enc.Base64 = { + stringify: function(t) { + var e = t.words, + r = t.sigBytes, + n = this._map; + t.clamp(); + for (var i = [], o = 0; o < r; o += 3) + for (var s = (e[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 16 | (e[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255) << 8 | e[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, a = 0; a < 4 && o + .75 * a < r; a++) i.push(n.charAt(s >>> 6 * (3 - a) & 63)); + var f = n.charAt(64); + if (f) + for (; i.length % 4;) i.push(f); + return i.join("") + }, + parse: function(t) { + var e = t.length, + r = this._map, + n = this._reverseMap; + if (!n) { + n = this._reverseMap = []; + for (var i = 0; i < r.length; i++) n[r.charCodeAt(i)] = i + } + var s = r.charAt(64); + if (s) { + var a = t.indexOf(s); - 1 !== a && (e = a) + } + return function(t, e, r) { + for (var n = [], i = 0, s = 0; s < e; s++) + if (s % 4) { + var a = r[t.charCodeAt(s - 1)] << s % 4 * 2, + f = r[t.charCodeAt(s)] >>> 6 - s % 4 * 2; + n[i >>> 2] |= (a | f) << 24 - i % 4 * 8, i++ + } return o.create(n, i) + }(t, e, n) + }, + _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" + }, n.enc.Base64) + }, + 5503: function(t, e, r) { + var n; + t.exports = (n = r(9021), function() { + var t = n, + e = t.lib.WordArray, + r = t.enc; + + function i(t) { + return t << 8 & 4278255360 | t >>> 8 & 16711935 + } + r.Utf16 = r.Utf16BE = { + stringify: function(t) { + for (var e = t.words, r = t.sigBytes, n = [], i = 0; i < r; i += 2) { + var o = e[i >>> 2] >>> 16 - i % 4 * 8 & 65535; + n.push(String.fromCharCode(o)) + } + return n.join("") + }, + parse: function(t) { + for (var r = t.length, n = [], i = 0; i < r; i++) n[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; + return e.create(n, 2 * r) + } + }, r.Utf16LE = { + stringify: function(t) { + for (var e = t.words, r = t.sigBytes, n = [], o = 0; o < r; o += 2) { + var s = i(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535); + n.push(String.fromCharCode(s)) + } + return n.join("") + }, + parse: function(t) { + for (var r = t.length, n = [], o = 0; o < r; o++) n[o >>> 1] |= i(t.charCodeAt(o) << 16 - o % 2 * 16); + return e.create(n, 2 * r) + } + } + }(), n.enc.Utf16) + }, + 9506: function(t, e, r) { + var n, i, o, s, a, f, u, c; + t.exports = (c = r(9021), r(5471), r(1025), o = (i = (n = c).lib).Base, s = i.WordArray, f = (a = n.algo).MD5, u = a.EvpKDF = o.extend({ + cfg: o.extend({ + keySize: 4, + hasher: f, + iterations: 1 + }), + init: function(t) { + this.cfg = this.cfg.extend(t) + }, + compute: function(t, e) { + for (var r = this.cfg, n = r.hasher.create(), i = s.create(), o = i.words, a = r.keySize, f = r.iterations; o.length < a;) { + u && n.update(u); + var u = n.update(t).finalize(e); + n.reset(); + for (var c = 1; c < f; c++) u = n.finalize(u), n.reset(); + i.concat(u) + } + return i.sigBytes = 4 * a, i + } + }), n.EvpKDF = function(t, e, r) { + return u.create(r).compute(t, e) + }, c.EvpKDF) + }, + 25: function(t, e, r) { + var n, i, o, s; + t.exports = (s = r(9021), r(7165), i = (n = s).lib.CipherParams, o = n.enc.Hex, n.format.Hex = { + stringify: function(t) { + return t.ciphertext.toString(o) + }, + parse: function(t) { + var e = o.parse(t); + return i.create({ + ciphertext: e + }) + } + }, s.format.Hex) + }, + 1025: function(t, e, r) { + var n, i, o; + t.exports = (i = (n = r(9021)).lib.Base, o = n.enc.Utf8, void(n.algo.HMAC = i.extend({ + init: function(t, e) { + t = this._hasher = new t.init, "string" == typeof e && (e = o.parse(e)); + var r = t.blockSize, + n = 4 * r; + e.sigBytes > n && (e = t.finalize(e)), e.clamp(); + for (var i = this._oKey = e.clone(), s = this._iKey = e.clone(), a = i.words, f = s.words, u = 0; u < r; u++) a[u] ^= 1549556828, f[u] ^= 909522486; + i.sigBytes = s.sigBytes = n, this.reset() + }, + reset: function() { + var t = this._hasher; + t.reset(), t.update(this._iKey) + }, + update: function(t) { + return this._hasher.update(t), this + }, + finalize: function(t) { + var e = this._hasher, + r = e.finalize(t); + return e.reset(), e.finalize(this._oKey.clone().concat(r)) + } + }))) + }, + 1396: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(3240), r(6440), r(5503), r(754), r(4636), r(5471), r(3009), r(6308), r(1380), r(9557), r(5953), r(8056), r(1025), r(19), r(9506), r(7165), r(2169), r(6939), r(6372), r(3797), r(8454), r(2073), r(4905), r(482), r(2155), r(8124), r(25), r(955), r(7628), r(7193), r(6298), r(2696), n) + }, + 6440: function(t, e, r) { + var n; + t.exports = (n = r(9021), function() { + if ("function" == typeof ArrayBuffer) { + var t = n.lib.WordArray, + e = t.init, + r = t.init = function(t) { + if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { + for (var r = t.byteLength, n = [], i = 0; i < r; i++) n[i >>> 2] |= t[i] << 24 - i % 4 * 8; + e.call(this, n, r) + } else e.apply(this, arguments) + }; + r.prototype = t + } + }(), n.lib.WordArray) + }, + 4636: function(t, e, r) { + var n; + t.exports = (n = r(9021), function(t) { + var e = n, + r = e.lib, + i = r.WordArray, + o = r.Hasher, + s = e.algo, + a = []; + ! function() { + for (var e = 0; e < 64; e++) a[e] = 4294967296 * t.abs(t.sin(e + 1)) | 0 + }(); + var f = s.MD5 = o.extend({ + _doReset: function() { + this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878]) + }, + _doProcessBlock: function(t, e) { + for (var r = 0; r < 16; r++) { + var n = e + r, + i = t[n]; + t[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8) + } + var o = this._hash.words, + s = t[e + 0], + f = t[e + 1], + l = t[e + 2], + y = t[e + 3], + g = t[e + 4], + d = t[e + 5], + v = t[e + 6], + m = t[e + 7], + S = t[e + 8], + _ = t[e + 9], + b = t[e + 10], + E = t[e + 11], + w = t[e + 12], + O = t[e + 13], + B = t[e + 14], + A = t[e + 15], + x = o[0], + P = o[1], + T = o[2], + I = o[3]; + x = u(x, P, T, I, s, 7, a[0]), I = u(I, x, P, T, f, 12, a[1]), T = u(T, I, x, P, l, 17, a[2]), P = u(P, T, I, x, y, 22, a[3]), x = u(x, P, T, I, g, 7, a[4]), I = u(I, x, P, T, d, 12, a[5]), T = u(T, I, x, P, v, 17, a[6]), P = u(P, T, I, x, m, 22, a[7]), x = u(x, P, T, I, S, 7, a[8]), I = u(I, x, P, T, _, 12, a[9]), T = u(T, I, x, P, b, 17, a[10]), P = u(P, T, I, x, E, 22, a[11]), x = u(x, P, T, I, w, 7, a[12]), I = u(I, x, P, T, O, 12, a[13]), T = u(T, I, x, P, B, 17, a[14]), x = c(x, P = u(P, T, I, x, A, 22, a[15]), T, I, f, 5, a[16]), I = c(I, x, P, T, v, 9, a[17]), T = c(T, I, x, P, E, 14, a[18]), P = c(P, T, I, x, s, 20, a[19]), x = c(x, P, T, I, d, 5, a[20]), I = c(I, x, P, T, b, 9, a[21]), T = c(T, I, x, P, A, 14, a[22]), P = c(P, T, I, x, g, 20, a[23]), x = c(x, P, T, I, _, 5, a[24]), I = c(I, x, P, T, B, 9, a[25]), T = c(T, I, x, P, y, 14, a[26]), P = c(P, T, I, x, S, 20, a[27]), x = c(x, P, T, I, O, 5, a[28]), I = c(I, x, P, T, l, 9, a[29]), T = c(T, I, x, P, m, 14, a[30]), x = h(x, P = c(P, T, I, x, w, 20, a[31]), T, I, d, 4, a[32]), I = h(I, x, P, T, S, 11, a[33]), T = h(T, I, x, P, E, 16, a[34]), P = h(P, T, I, x, B, 23, a[35]), x = h(x, P, T, I, f, 4, a[36]), I = h(I, x, P, T, g, 11, a[37]), T = h(T, I, x, P, m, 16, a[38]), P = h(P, T, I, x, b, 23, a[39]), x = h(x, P, T, I, O, 4, a[40]), I = h(I, x, P, T, s, 11, a[41]), T = h(T, I, x, P, y, 16, a[42]), P = h(P, T, I, x, v, 23, a[43]), x = h(x, P, T, I, _, 4, a[44]), I = h(I, x, P, T, w, 11, a[45]), T = h(T, I, x, P, A, 16, a[46]), x = p(x, P = h(P, T, I, x, l, 23, a[47]), T, I, s, 6, a[48]), I = p(I, x, P, T, m, 10, a[49]), T = p(T, I, x, P, B, 15, a[50]), P = p(P, T, I, x, d, 21, a[51]), x = p(x, P, T, I, w, 6, a[52]), I = p(I, x, P, T, y, 10, a[53]), T = p(T, I, x, P, b, 15, a[54]), P = p(P, T, I, x, f, 21, a[55]), x = p(x, P, T, I, S, 6, a[56]), I = p(I, x, P, T, A, 10, a[57]), T = p(T, I, x, P, v, 15, a[58]), P = p(P, T, I, x, O, 21, a[59]), x = p(x, P, T, I, g, 6, a[60]), I = p(I, x, P, T, E, 10, a[61]), T = p(T, I, x, P, l, 15, a[62]), P = p(P, T, I, x, _, 21, a[63]), o[0] = o[0] + x | 0, o[1] = o[1] + P | 0, o[2] = o[2] + T | 0, o[3] = o[3] + I | 0 + }, + _doFinalize: function() { + var e = this._data, + r = e.words, + n = 8 * this._nDataBytes, + i = 8 * e.sigBytes; + r[i >>> 5] |= 128 << 24 - i % 32; + var o = t.floor(n / 4294967296), + s = n; + r[15 + (i + 64 >>> 9 << 4)] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), r[14 + (i + 64 >>> 9 << 4)] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), e.sigBytes = 4 * (r.length + 1), this._process(); + for (var a = this._hash, f = a.words, u = 0; u < 4; u++) { + var c = f[u]; + f[u] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) + } + return a + }, + clone: function() { + var t = o.clone.call(this); + return t._hash = this._hash.clone(), t + } + }); + + function u(t, e, r, n, i, o, s) { + var a = t + (e & r | ~e & n) + i + s; + return (a << o | a >>> 32 - o) + e + } + + function c(t, e, r, n, i, o, s) { + var a = t + (e & n | r & ~n) + i + s; + return (a << o | a >>> 32 - o) + e + } + + function h(t, e, r, n, i, o, s) { + var a = t + (e ^ r ^ n) + i + s; + return (a << o | a >>> 32 - o) + e + } + + function p(t, e, r, n, i, o, s) { + var a = t + (r ^ (e | ~n)) + i + s; + return (a << o | a >>> 32 - o) + e + } + e.MD5 = o._createHelper(f), e.HmacMD5 = o._createHmacHelper(f) + }(Math), n.MD5) + }, + 2169: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(7165), n.mode.CFB = function() { + var t = n.lib.BlockCipherMode.extend(); + + function e(t, e, r, n) { + var i = this._iv; + if (i) { + var o = i.slice(0); + this._iv = void 0 + } else o = this._prevBlock; + n.encryptBlock(o, 0); + for (var s = 0; s < r; s++) t[e + s] ^= o[s] + } + return t.Encryptor = t.extend({ + processBlock: function(t, r) { + var n = this._cipher, + i = n.blockSize; + e.call(this, t, r, i, n), this._prevBlock = t.slice(r, r + i) + } + }), t.Decryptor = t.extend({ + processBlock: function(t, r) { + var n = this._cipher, + i = n.blockSize, + o = t.slice(r, r + i); + e.call(this, t, r, i, n), this._prevBlock = o + } + }), t + }(), n.mode.CFB) + }, + 6372: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(7165), n.mode.CTRGladman = function() { + var t = n.lib.BlockCipherMode.extend(); + + function e(t) { + if (255 & ~(t >> 24)) t += 1 << 24; + else { + var e = t >> 16 & 255, + r = t >> 8 & 255, + n = 255 & t; + 255 === e ? (e = 0, 255 === r ? (r = 0, 255 === n ? n = 0 : ++n) : ++r) : ++e, t = 0, t += e << 16, t += r << 8, t += n + } + return t + } + var r = t.Encryptor = t.extend({ + processBlock: function(t, r) { + var n = this._cipher, + i = n.blockSize, + o = this._iv, + s = this._counter; + o && (s = this._counter = o.slice(0), this._iv = void 0), + function(t) { + 0 === (t[0] = e(t[0])) && (t[1] = e(t[1])) + }(s); + var a = s.slice(0); + n.encryptBlock(a, 0); + for (var f = 0; f < i; f++) t[r + f] ^= a[f] + } + }); + return t.Decryptor = r, t + }(), n.mode.CTRGladman) + }, + 6939: function(t, e, r) { + var n, i, o; + t.exports = (o = r(9021), r(7165), o.mode.CTR = (i = (n = o.lib.BlockCipherMode.extend()).Encryptor = n.extend({ + processBlock: function(t, e) { + var r = this._cipher, + n = r.blockSize, + i = this._iv, + o = this._counter; + i && (o = this._counter = i.slice(0), this._iv = void 0); + var s = o.slice(0); + r.encryptBlock(s, 0), o[n - 1] = o[n - 1] + 1 | 0; + for (var a = 0; a < n; a++) t[e + a] ^= s[a] + } + }), n.Decryptor = i, n), o.mode.CTR) + }, + 8454: function(t, e, r) { + var n, i; + t.exports = (i = r(9021), r(7165), i.mode.ECB = ((n = i.lib.BlockCipherMode.extend()).Encryptor = n.extend({ + processBlock: function(t, e) { + this._cipher.encryptBlock(t, e) + } + }), n.Decryptor = n.extend({ + processBlock: function(t, e) { + this._cipher.decryptBlock(t, e) + } + }), n), i.mode.ECB) + }, + 3797: function(t, e, r) { + var n, i, o; + t.exports = (o = r(9021), r(7165), o.mode.OFB = (i = (n = o.lib.BlockCipherMode.extend()).Encryptor = n.extend({ + processBlock: function(t, e) { + var r = this._cipher, + n = r.blockSize, + i = this._iv, + o = this._keystream; + i && (o = this._keystream = i.slice(0), this._iv = void 0), r.encryptBlock(o, 0); + for (var s = 0; s < n; s++) t[e + s] ^= o[s] + } + }), n.Decryptor = i, n), o.mode.OFB) + }, + 2073: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(7165), n.pad.AnsiX923 = { + pad: function(t, e) { + var r = t.sigBytes, + n = 4 * e, + i = n - r % n, + o = r + i - 1; + t.clamp(), t.words[o >>> 2] |= i << 24 - o % 4 * 8, t.sigBytes += i + }, + unpad: function(t) { + var e = 255 & t.words[t.sigBytes - 1 >>> 2]; + t.sigBytes -= e + } + }, n.pad.Ansix923) + }, + 4905: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(7165), n.pad.Iso10126 = { + pad: function(t, e) { + var r = 4 * e, + i = r - t.sigBytes % r; + t.concat(n.lib.WordArray.random(i - 1)).concat(n.lib.WordArray.create([i << 24], 1)) + }, + unpad: function(t) { + var e = 255 & t.words[t.sigBytes - 1 >>> 2]; + t.sigBytes -= e + } + }, n.pad.Iso10126) + }, + 482: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(7165), n.pad.Iso97971 = { + pad: function(t, e) { + t.concat(n.lib.WordArray.create([2147483648], 1)), n.pad.ZeroPadding.pad(t, e) + }, + unpad: function(t) { + n.pad.ZeroPadding.unpad(t), t.sigBytes-- + } + }, n.pad.Iso97971) + }, + 8124: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(7165), n.pad.NoPadding = { + pad: function() {}, + unpad: function() {} + }, n.pad.NoPadding) + }, + 2155: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(7165), n.pad.ZeroPadding = { + pad: function(t, e) { + var r = 4 * e; + t.clamp(), t.sigBytes += r - (t.sigBytes % r || r) + }, + unpad: function(t) { + for (var e = t.words, r = t.sigBytes - 1; !(e[r >>> 2] >>> 24 - r % 4 * 8 & 255);) r--; + t.sigBytes = r + 1 + } + }, n.pad.ZeroPadding) + }, + 19: function(t, e, r) { + var n, i, o, s, a, f, u, c, h; + t.exports = (h = r(9021), r(5471), r(1025), o = (i = (n = h).lib).Base, s = i.WordArray, f = (a = n.algo).SHA1, u = a.HMAC, c = a.PBKDF2 = o.extend({ + cfg: o.extend({ + keySize: 4, + hasher: f, + iterations: 1 + }), + init: function(t) { + this.cfg = this.cfg.extend(t) + }, + compute: function(t, e) { + for (var r = this.cfg, n = u.create(r.hasher, t), i = s.create(), o = s.create([1]), a = i.words, f = o.words, c = r.keySize, h = r.iterations; a.length < c;) { + var p = n.update(e).finalize(o); + n.reset(); + for (var l = p.words, y = l.length, g = p, d = 1; d < h; d++) { + g = n.finalize(g), n.reset(); + for (var v = g.words, m = 0; m < y; m++) l[m] ^= v[m] + } + i.concat(p), f[0]++ + } + return i.sigBytes = 4 * c, i + } + }), n.PBKDF2 = function(t, e, r) { + return c.create(r).compute(t, e) + }, h.PBKDF2) + }, + 2696: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(754), r(4636), r(9506), r(7165), function() { + var t = n, + e = t.lib.StreamCipher, + r = t.algo, + i = [], + o = [], + s = [], + a = r.RabbitLegacy = e.extend({ + _doReset: function() { + var t = this._key.words, + e = this.cfg.iv, + r = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], + n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; + this._b = 0; + for (var i = 0; i < 4; i++) f.call(this); + for (i = 0; i < 8; i++) n[i] ^= r[i + 4 & 7]; + if (e) { + var o = e.words, + s = o[0], + a = o[1], + u = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), + c = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), + h = u >>> 16 | 4294901760 & c, + p = c << 16 | 65535 & u; + for (n[0] ^= u, n[1] ^= h, n[2] ^= c, n[3] ^= p, n[4] ^= u, n[5] ^= h, n[6] ^= c, n[7] ^= p, i = 0; i < 4; i++) f.call(this) + } + }, + _doProcessBlock: function(t, e) { + var r = this._X; + f.call(this), i[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, i[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, i[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, i[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16; + for (var n = 0; n < 4; n++) i[n] = 16711935 & (i[n] << 8 | i[n] >>> 24) | 4278255360 & (i[n] << 24 | i[n] >>> 8), t[e + n] ^= i[n] + }, + blockSize: 4, + ivSize: 2 + }); + + function f() { + for (var t = this._X, e = this._C, r = 0; r < 8; r++) o[r] = e[r]; + for (e[0] = e[0] + 1295307597 + this._b | 0, e[1] = e[1] + 3545052371 + (e[0] >>> 0 < o[0] >>> 0 ? 1 : 0) | 0, e[2] = e[2] + 886263092 + (e[1] >>> 0 < o[1] >>> 0 ? 1 : 0) | 0, e[3] = e[3] + 1295307597 + (e[2] >>> 0 < o[2] >>> 0 ? 1 : 0) | 0, e[4] = e[4] + 3545052371 + (e[3] >>> 0 < o[3] >>> 0 ? 1 : 0) | 0, e[5] = e[5] + 886263092 + (e[4] >>> 0 < o[4] >>> 0 ? 1 : 0) | 0, e[6] = e[6] + 1295307597 + (e[5] >>> 0 < o[5] >>> 0 ? 1 : 0) | 0, e[7] = e[7] + 3545052371 + (e[6] >>> 0 < o[6] >>> 0 ? 1 : 0) | 0, this._b = e[7] >>> 0 < o[7] >>> 0 ? 1 : 0, r = 0; r < 8; r++) { + var n = t[r] + e[r], + i = 65535 & n, + a = n >>> 16, + f = ((i * i >>> 17) + i * a >>> 15) + a * a, + u = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0); + s[r] = f ^ u + } + t[0] = s[0] + (s[7] << 16 | s[7] >>> 16) + (s[6] << 16 | s[6] >>> 16) | 0, t[1] = s[1] + (s[0] << 8 | s[0] >>> 24) + s[7] | 0, t[2] = s[2] + (s[1] << 16 | s[1] >>> 16) + (s[0] << 16 | s[0] >>> 16) | 0, t[3] = s[3] + (s[2] << 8 | s[2] >>> 24) + s[1] | 0, t[4] = s[4] + (s[3] << 16 | s[3] >>> 16) + (s[2] << 16 | s[2] >>> 16) | 0, t[5] = s[5] + (s[4] << 8 | s[4] >>> 24) + s[3] | 0, t[6] = s[6] + (s[5] << 16 | s[5] >>> 16) + (s[4] << 16 | s[4] >>> 16) | 0, t[7] = s[7] + (s[6] << 8 | s[6] >>> 24) + s[5] | 0 + } + t.RabbitLegacy = e._createHelper(a) + }(), n.RabbitLegacy) + }, + 6298: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(754), r(4636), r(9506), r(7165), function() { + var t = n, + e = t.lib.StreamCipher, + r = t.algo, + i = [], + o = [], + s = [], + a = r.Rabbit = e.extend({ + _doReset: function() { + for (var t = this._key.words, e = this.cfg.iv, r = 0; r < 4; r++) t[r] = 16711935 & (t[r] << 8 | t[r] >>> 24) | 4278255360 & (t[r] << 24 | t[r] >>> 8); + var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], + i = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; + for (this._b = 0, r = 0; r < 4; r++) f.call(this); + for (r = 0; r < 8; r++) i[r] ^= n[r + 4 & 7]; + if (e) { + var o = e.words, + s = o[0], + a = o[1], + u = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), + c = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), + h = u >>> 16 | 4294901760 & c, + p = c << 16 | 65535 & u; + for (i[0] ^= u, i[1] ^= h, i[2] ^= c, i[3] ^= p, i[4] ^= u, i[5] ^= h, i[6] ^= c, i[7] ^= p, r = 0; r < 4; r++) f.call(this) + } + }, + _doProcessBlock: function(t, e) { + var r = this._X; + f.call(this), i[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, i[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, i[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, i[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16; + for (var n = 0; n < 4; n++) i[n] = 16711935 & (i[n] << 8 | i[n] >>> 24) | 4278255360 & (i[n] << 24 | i[n] >>> 8), t[e + n] ^= i[n] + }, + blockSize: 4, + ivSize: 2 + }); + + function f() { + for (var t = this._X, e = this._C, r = 0; r < 8; r++) o[r] = e[r]; + for (e[0] = e[0] + 1295307597 + this._b | 0, e[1] = e[1] + 3545052371 + (e[0] >>> 0 < o[0] >>> 0 ? 1 : 0) | 0, e[2] = e[2] + 886263092 + (e[1] >>> 0 < o[1] >>> 0 ? 1 : 0) | 0, e[3] = e[3] + 1295307597 + (e[2] >>> 0 < o[2] >>> 0 ? 1 : 0) | 0, e[4] = e[4] + 3545052371 + (e[3] >>> 0 < o[3] >>> 0 ? 1 : 0) | 0, e[5] = e[5] + 886263092 + (e[4] >>> 0 < o[4] >>> 0 ? 1 : 0) | 0, e[6] = e[6] + 1295307597 + (e[5] >>> 0 < o[5] >>> 0 ? 1 : 0) | 0, e[7] = e[7] + 3545052371 + (e[6] >>> 0 < o[6] >>> 0 ? 1 : 0) | 0, this._b = e[7] >>> 0 < o[7] >>> 0 ? 1 : 0, r = 0; r < 8; r++) { + var n = t[r] + e[r], + i = 65535 & n, + a = n >>> 16, + f = ((i * i >>> 17) + i * a >>> 15) + a * a, + u = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0); + s[r] = f ^ u + } + t[0] = s[0] + (s[7] << 16 | s[7] >>> 16) + (s[6] << 16 | s[6] >>> 16) | 0, t[1] = s[1] + (s[0] << 8 | s[0] >>> 24) + s[7] | 0, t[2] = s[2] + (s[1] << 16 | s[1] >>> 16) + (s[0] << 16 | s[0] >>> 16) | 0, t[3] = s[3] + (s[2] << 8 | s[2] >>> 24) + s[1] | 0, t[4] = s[4] + (s[3] << 16 | s[3] >>> 16) + (s[2] << 16 | s[2] >>> 16) | 0, t[5] = s[5] + (s[4] << 8 | s[4] >>> 24) + s[3] | 0, t[6] = s[6] + (s[5] << 16 | s[5] >>> 16) + (s[4] << 16 | s[4] >>> 16) | 0, t[7] = s[7] + (s[6] << 8 | s[6] >>> 24) + s[5] | 0 + } + t.Rabbit = e._createHelper(a) + }(), n.Rabbit) + }, + 7193: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(754), r(4636), r(9506), r(7165), function() { + var t = n, + e = t.lib.StreamCipher, + r = t.algo, + i = r.RC4 = e.extend({ + _doReset: function() { + for (var t = this._key, e = t.words, r = t.sigBytes, n = this._S = [], i = 0; i < 256; i++) n[i] = i; + i = 0; + for (var o = 0; i < 256; i++) { + var s = i % r, + a = e[s >>> 2] >>> 24 - s % 4 * 8 & 255; + o = (o + n[i] + a) % 256; + var f = n[i]; + n[i] = n[o], n[o] = f + } + this._i = this._j = 0 + }, + _doProcessBlock: function(t, e) { + t[e] ^= o.call(this) + }, + keySize: 8, + ivSize: 0 + }); + + function o() { + for (var t = this._S, e = this._i, r = this._j, n = 0, i = 0; i < 4; i++) { + r = (r + t[e = (e + 1) % 256]) % 256; + var o = t[e]; + t[e] = t[r], t[r] = o, n |= t[(t[e] + t[r]) % 256] << 24 - 8 * i + } + return this._i = e, this._j = r, n + } + t.RC4 = e._createHelper(i); + var s = r.RC4Drop = i.extend({ + cfg: i.cfg.extend({ + drop: 192 + }), + _doReset: function() { + i._doReset.call(this); + for (var t = this.cfg.drop; t > 0; t--) o.call(this) + } + }); + t.RC4Drop = e._createHelper(s) + }(), n.RC4) + }, + 8056: function(t, e, r) { + var n; + t.exports = (n = r(9021), function(t) { + var e = n, + r = e.lib, + i = r.WordArray, + o = r.Hasher, + s = e.algo, + a = i.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), + f = i.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), + u = i.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), + c = i.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), + h = i.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), + p = i.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), + l = s.RIPEMD160 = o.extend({ + _doReset: function() { + this._hash = i.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) + }, + _doProcessBlock: function(t, e) { + for (var r = 0; r < 16; r++) { + var n = e + r, + i = t[n]; + t[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8) + } + var o, s, l, _, b, E, w, O, B, A, x, P = this._hash.words, + T = h.words, + I = p.words, + k = a.words, + D = f.words, + R = u.words, + N = c.words; + for (E = o = P[0], w = s = P[1], O = l = P[2], B = _ = P[3], A = b = P[4], r = 0; r < 80; r += 1) x = o + t[e + k[r]] | 0, x += r < 16 ? y(s, l, _) + T[0] : r < 32 ? g(s, l, _) + T[1] : r < 48 ? d(s, l, _) + T[2] : r < 64 ? v(s, l, _) + T[3] : m(s, l, _) + T[4], x = (x = S(x |= 0, R[r])) + b | 0, o = b, b = _, _ = S(l, 10), l = s, s = x, x = E + t[e + D[r]] | 0, x += r < 16 ? m(w, O, B) + I[0] : r < 32 ? v(w, O, B) + I[1] : r < 48 ? d(w, O, B) + I[2] : r < 64 ? g(w, O, B) + I[3] : y(w, O, B) + I[4], x = (x = S(x |= 0, N[r])) + A | 0, E = A, A = B, B = S(O, 10), O = w, w = x; + x = P[1] + l + B | 0, P[1] = P[2] + _ + A | 0, P[2] = P[3] + b + E | 0, P[3] = P[4] + o + w | 0, P[4] = P[0] + s + O | 0, P[0] = x + }, + _doFinalize: function() { + var t = this._data, + e = t.words, + r = 8 * this._nDataBytes, + n = 8 * t.sigBytes; + e[n >>> 5] |= 128 << 24 - n % 32, e[14 + (n + 64 >>> 9 << 4)] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); + for (var i = this._hash, o = i.words, s = 0; s < 5; s++) { + var a = o[s]; + o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8) + } + return i + }, + clone: function() { + var t = o.clone.call(this); + return t._hash = this._hash.clone(), t + } + }); + + function y(t, e, r) { + return t ^ e ^ r + } + + function g(t, e, r) { + return t & e | ~t & r + } + + function d(t, e, r) { + return (t | ~e) ^ r + } + + function v(t, e, r) { + return t & r | e & ~r + } + + function m(t, e, r) { + return t ^ (e | ~r) + } + + function S(t, e) { + return t << e | t >>> 32 - e + } + e.RIPEMD160 = o._createHelper(l), e.HmacRIPEMD160 = o._createHmacHelper(l) + }(Math), n.RIPEMD160) + }, + 5471: function(t, e, r) { + var n, i, o, s, a, f, u, c; + t.exports = (i = (n = c = r(9021)).lib, o = i.WordArray, s = i.Hasher, a = n.algo, f = [], u = a.SHA1 = s.extend({ + _doReset: function() { + this._hash = new o.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) + }, + _doProcessBlock: function(t, e) { + for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], s = r[3], a = r[4], u = 0; u < 80; u++) { + if (u < 16) f[u] = 0 | t[e + u]; + else { + var c = f[u - 3] ^ f[u - 8] ^ f[u - 14] ^ f[u - 16]; + f[u] = c << 1 | c >>> 31 + } + var h = (n << 5 | n >>> 27) + a + f[u]; + h += u < 20 ? 1518500249 + (i & o | ~i & s) : u < 40 ? 1859775393 + (i ^ o ^ s) : u < 60 ? (i & o | i & s | o & s) - 1894007588 : (i ^ o ^ s) - 899497514, a = s, s = o, o = i << 30 | i >>> 2, i = n, n = h + } + r[0] = r[0] + n | 0, r[1] = r[1] + i | 0, r[2] = r[2] + o | 0, r[3] = r[3] + s | 0, r[4] = r[4] + a | 0 + }, + _doFinalize: function() { + var t = this._data, + e = t.words, + r = 8 * this._nDataBytes, + n = 8 * t.sigBytes; + return e[n >>> 5] |= 128 << 24 - n % 32, e[14 + (n + 64 >>> 9 << 4)] = Math.floor(r / 4294967296), e[15 + (n + 64 >>> 9 << 4)] = r, t.sigBytes = 4 * e.length, this._process(), this._hash + }, + clone: function() { + var t = s.clone.call(this); + return t._hash = this._hash.clone(), t + } + }), n.SHA1 = s._createHelper(u), n.HmacSHA1 = s._createHmacHelper(u), c.SHA1) + }, + 6308: function(t, e, r) { + var n, i, o, s, a, f; + t.exports = (f = r(9021), r(3009), i = (n = f).lib.WordArray, o = n.algo, s = o.SHA256, a = o.SHA224 = s.extend({ + _doReset: function() { + this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) + }, + _doFinalize: function() { + var t = s._doFinalize.call(this); + return t.sigBytes -= 4, t + } + }), n.SHA224 = s._createHelper(a), n.HmacSHA224 = s._createHmacHelper(a), f.SHA224) + }, + 3009: function(t, e, r) { + var n; + t.exports = (n = r(9021), function(t) { + var e = n, + r = e.lib, + i = r.WordArray, + o = r.Hasher, + s = e.algo, + a = [], + f = []; + ! function() { + function e(e) { + for (var r = t.sqrt(e), n = 2; n <= r; n++) + if (!(e % n)) return !1; + return !0 + } + + function r(t) { + return 4294967296 * (t - (0 | t)) | 0 + } + for (var n = 2, i = 0; i < 64;) e(n) && (i < 8 && (a[i] = r(t.pow(n, .5))), f[i] = r(t.pow(n, 1 / 3)), i++), n++ + }(); + var u = [], + c = s.SHA256 = o.extend({ + _doReset: function() { + this._hash = new i.init(a.slice(0)) + }, + _doProcessBlock: function(t, e) { + for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], s = r[3], a = r[4], c = r[5], h = r[6], p = r[7], l = 0; l < 64; l++) { + if (l < 16) u[l] = 0 | t[e + l]; + else { + var y = u[l - 15], + g = (y << 25 | y >>> 7) ^ (y << 14 | y >>> 18) ^ y >>> 3, + d = u[l - 2], + v = (d << 15 | d >>> 17) ^ (d << 13 | d >>> 19) ^ d >>> 10; + u[l] = g + u[l - 7] + v + u[l - 16] + } + var m = n & i ^ n & o ^ i & o, + S = (n << 30 | n >>> 2) ^ (n << 19 | n >>> 13) ^ (n << 10 | n >>> 22), + _ = p + ((a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25)) + (a & c ^ ~a & h) + f[l] + u[l]; + p = h, h = c, c = a, a = s + _ | 0, s = o, o = i, i = n, n = _ + (S + m) | 0 + } + r[0] = r[0] + n | 0, r[1] = r[1] + i | 0, r[2] = r[2] + o | 0, r[3] = r[3] + s | 0, r[4] = r[4] + a | 0, r[5] = r[5] + c | 0, r[6] = r[6] + h | 0, r[7] = r[7] + p | 0 + }, + _doFinalize: function() { + var e = this._data, + r = e.words, + n = 8 * this._nDataBytes, + i = 8 * e.sigBytes; + return r[i >>> 5] |= 128 << 24 - i % 32, r[14 + (i + 64 >>> 9 << 4)] = t.floor(n / 4294967296), r[15 + (i + 64 >>> 9 << 4)] = n, e.sigBytes = 4 * r.length, this._process(), this._hash + }, + clone: function() { + var t = o.clone.call(this); + return t._hash = this._hash.clone(), t + } + }); + e.SHA256 = o._createHelper(c), e.HmacSHA256 = o._createHmacHelper(c) + }(Math), n.SHA256) + }, + 5953: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(3240), function(t) { + var e = n, + r = e.lib, + i = r.WordArray, + o = r.Hasher, + s = e.x64.Word, + a = e.algo, + f = [], + u = [], + c = []; + ! function() { + for (var t = 1, e = 0, r = 0; r < 24; r++) { + f[t + 5 * e] = (r + 1) * (r + 2) / 2 % 64; + var n = (2 * t + 3 * e) % 5; + t = e % 5, e = n + } + for (t = 0; t < 5; t++) + for (e = 0; e < 5; e++) u[t + 5 * e] = e + (2 * t + 3 * e) % 5 * 5; + for (var i = 1, o = 0; o < 24; o++) { + for (var a = 0, h = 0, p = 0; p < 7; p++) { + if (1 & i) { + var l = (1 << p) - 1; + l < 32 ? h ^= 1 << l : a ^= 1 << l - 32 + } + 128 & i ? i = i << 1 ^ 113 : i <<= 1 + } + c[o] = s.create(a, h) + } + }(); + var h = []; + ! function() { + for (var t = 0; t < 25; t++) h[t] = s.create() + }(); + var p = a.SHA3 = o.extend({ + cfg: o.cfg.extend({ + outputLength: 512 + }), + _doReset: function() { + for (var t = this._state = [], e = 0; e < 25; e++) t[e] = new s.init; + this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 + }, + _doProcessBlock: function(t, e) { + for (var r = this._state, n = this.blockSize / 2, i = 0; i < n; i++) { + var o = t[e + 2 * i], + s = t[e + 2 * i + 1]; + o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), (P = r[i]).high ^= s, P.low ^= o + } + for (var a = 0; a < 24; a++) { + for (var p = 0; p < 5; p++) { + for (var l = 0, y = 0, g = 0; g < 5; g++) l ^= (P = r[p + 5 * g]).high, y ^= P.low; + var d = h[p]; + d.high = l, d.low = y + } + for (p = 0; p < 5; p++) { + var v = h[(p + 4) % 5], + m = h[(p + 1) % 5], + S = m.high, + _ = m.low; + for (l = v.high ^ (S << 1 | _ >>> 31), y = v.low ^ (_ << 1 | S >>> 31), g = 0; g < 5; g++)(P = r[p + 5 * g]).high ^= l, P.low ^= y + } + for (var b = 1; b < 25; b++) { + var E = (P = r[b]).high, + w = P.low, + O = f[b]; + O < 32 ? (l = E << O | w >>> 32 - O, y = w << O | E >>> 32 - O) : (l = w << O - 32 | E >>> 64 - O, y = E << O - 32 | w >>> 64 - O); + var B = h[u[b]]; + B.high = l, B.low = y + } + var A = h[0], + x = r[0]; + for (A.high = x.high, A.low = x.low, p = 0; p < 5; p++) + for (g = 0; g < 5; g++) { + var P = r[b = p + 5 * g], + T = h[b], + I = h[(p + 1) % 5 + 5 * g], + k = h[(p + 2) % 5 + 5 * g]; + P.high = T.high ^ ~I.high & k.high, P.low = T.low ^ ~I.low & k.low + } + P = r[0]; + var D = c[a]; + P.high ^= D.high, P.low ^= D.low + } + }, + _doFinalize: function() { + var e = this._data, + r = e.words, + n = (this._nDataBytes, 8 * e.sigBytes), + o = 32 * this.blockSize; + r[n >>> 5] |= 1 << 24 - n % 32, r[(t.ceil((n + 1) / o) * o >>> 5) - 1] |= 128, e.sigBytes = 4 * r.length, this._process(); + for (var s = this._state, a = this.cfg.outputLength / 8, f = a / 8, u = [], c = 0; c < f; c++) { + var h = s[c], + p = h.high, + l = h.low; + p = 16711935 & (p << 8 | p >>> 24) | 4278255360 & (p << 24 | p >>> 8), l = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8), u.push(l), u.push(p) + } + return new i.init(u, a) + }, + clone: function() { + for (var t = o.clone.call(this), e = t._state = this._state.slice(0), r = 0; r < 25; r++) e[r] = e[r].clone(); + return t + } + }); + e.SHA3 = o._createHelper(p), e.HmacSHA3 = o._createHmacHelper(p) + }(Math), n.SHA3) + }, + 9557: function(t, e, r) { + var n, i, o, s, a, f, u, c; + t.exports = (c = r(9021), r(3240), r(1380), i = (n = c).x64, o = i.Word, s = i.WordArray, a = n.algo, f = a.SHA512, u = a.SHA384 = f.extend({ + _doReset: function() { + this._hash = new s.init([new o.init(3418070365, 3238371032), new o.init(1654270250, 914150663), new o.init(2438529370, 812702999), new o.init(355462360, 4144912697), new o.init(1731405415, 4290775857), new o.init(2394180231, 1750603025), new o.init(3675008525, 1694076839), new o.init(1203062813, 3204075428)]) + }, + _doFinalize: function() { + var t = f._doFinalize.call(this); + return t.sigBytes -= 16, t + } + }), n.SHA384 = f._createHelper(u), n.HmacSHA384 = f._createHmacHelper(u), c.SHA384) + }, + 1380: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(3240), function() { + var t = n, + e = t.lib.Hasher, + r = t.x64, + i = r.Word, + o = r.WordArray, + s = t.algo; + + function a() { + return i.create.apply(i, arguments) + } + var f = [a(1116352408, 3609767458), a(1899447441, 602891725), a(3049323471, 3964484399), a(3921009573, 2173295548), a(961987163, 4081628472), a(1508970993, 3053834265), a(2453635748, 2937671579), a(2870763221, 3664609560), a(3624381080, 2734883394), a(310598401, 1164996542), a(607225278, 1323610764), a(1426881987, 3590304994), a(1925078388, 4068182383), a(2162078206, 991336113), a(2614888103, 633803317), a(3248222580, 3479774868), a(3835390401, 2666613458), a(4022224774, 944711139), a(264347078, 2341262773), a(604807628, 2007800933), a(770255983, 1495990901), a(1249150122, 1856431235), a(1555081692, 3175218132), a(1996064986, 2198950837), a(2554220882, 3999719339), a(2821834349, 766784016), a(2952996808, 2566594879), a(3210313671, 3203337956), a(3336571891, 1034457026), a(3584528711, 2466948901), a(113926993, 3758326383), a(338241895, 168717936), a(666307205, 1188179964), a(773529912, 1546045734), a(1294757372, 1522805485), a(1396182291, 2643833823), a(1695183700, 2343527390), a(1986661051, 1014477480), a(2177026350, 1206759142), a(2456956037, 344077627), a(2730485921, 1290863460), a(2820302411, 3158454273), a(3259730800, 3505952657), a(3345764771, 106217008), a(3516065817, 3606008344), a(3600352804, 1432725776), a(4094571909, 1467031594), a(275423344, 851169720), a(430227734, 3100823752), a(506948616, 1363258195), a(659060556, 3750685593), a(883997877, 3785050280), a(958139571, 3318307427), a(1322822218, 3812723403), a(1537002063, 2003034995), a(1747873779, 3602036899), a(1955562222, 1575990012), a(2024104815, 1125592928), a(2227730452, 2716904306), a(2361852424, 442776044), a(2428436474, 593698344), a(2756734187, 3733110249), a(3204031479, 2999351573), a(3329325298, 3815920427), a(3391569614, 3928383900), a(3515267271, 566280711), a(3940187606, 3454069534), a(4118630271, 4000239992), a(116418474, 1914138554), a(174292421, 2731055270), a(289380356, 3203993006), a(460393269, 320620315), a(685471733, 587496836), a(852142971, 1086792851), a(1017036298, 365543100), a(1126000580, 2618297676), a(1288033470, 3409855158), a(1501505948, 4234509866), a(1607167915, 987167468), a(1816402316, 1246189591)], + u = []; + ! function() { + for (var t = 0; t < 80; t++) u[t] = a() + }(); + var c = s.SHA512 = e.extend({ + _doReset: function() { + this._hash = new o.init([new i.init(1779033703, 4089235720), new i.init(3144134277, 2227873595), new i.init(1013904242, 4271175723), new i.init(2773480762, 1595750129), new i.init(1359893119, 2917565137), new i.init(2600822924, 725511199), new i.init(528734635, 4215389547), new i.init(1541459225, 327033209)]) + }, + _doProcessBlock: function(t, e) { + for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], s = r[3], a = r[4], c = r[5], h = r[6], p = r[7], l = n.high, y = n.low, g = i.high, d = i.low, v = o.high, m = o.low, S = s.high, _ = s.low, b = a.high, E = a.low, w = c.high, O = c.low, B = h.high, A = h.low, x = p.high, P = p.low, T = l, I = y, k = g, D = d, R = v, N = m, L = S, C = _, U = b, M = E, j = w, H = O, F = B, z = A, G = x, q = P, $ = 0; $ < 80; $++) { + var K = u[$]; + if ($ < 16) var W = K.high = 0 | t[e + 2 * $], + V = K.low = 0 | t[e + 2 * $ + 1]; + else { + var Y = u[$ - 15], + X = Y.high, + Z = Y.low, + J = (X >>> 1 | Z << 31) ^ (X >>> 8 | Z << 24) ^ X >>> 7, + Q = (Z >>> 1 | X << 31) ^ (Z >>> 8 | X << 24) ^ (Z >>> 7 | X << 25), + tt = u[$ - 2], + et = tt.high, + rt = tt.low, + nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ et >>> 6, + it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ (rt >>> 6 | et << 26), + ot = u[$ - 7], + st = ot.high, + at = ot.low, + ft = u[$ - 16], + ut = ft.high, + ct = ft.low; + W = (W = (W = J + st + ((V = Q + at) >>> 0 < Q >>> 0 ? 1 : 0)) + nt + ((V += it) >>> 0 < it >>> 0 ? 1 : 0)) + ut + ((V += ct) >>> 0 < ct >>> 0 ? 1 : 0), K.high = W, K.low = V + } + var ht, pt = U & j ^ ~U & F, + lt = M & H ^ ~M & z, + yt = T & k ^ T & R ^ k & R, + gt = I & D ^ I & N ^ D & N, + dt = (T >>> 28 | I << 4) ^ (T << 30 | I >>> 2) ^ (T << 25 | I >>> 7), + vt = (I >>> 28 | T << 4) ^ (I << 30 | T >>> 2) ^ (I << 25 | T >>> 7), + mt = (U >>> 14 | M << 18) ^ (U >>> 18 | M << 14) ^ (U << 23 | M >>> 9), + St = (M >>> 14 | U << 18) ^ (M >>> 18 | U << 14) ^ (M << 23 | U >>> 9), + _t = f[$], + bt = _t.high, + Et = _t.low, + wt = G + mt + ((ht = q + St) >>> 0 < q >>> 0 ? 1 : 0), + Ot = vt + gt; + G = F, q = z, F = j, z = H, j = U, H = M, U = L + (wt = (wt = (wt = wt + pt + ((ht += lt) >>> 0 < lt >>> 0 ? 1 : 0)) + bt + ((ht += Et) >>> 0 < Et >>> 0 ? 1 : 0)) + W + ((ht += V) >>> 0 < V >>> 0 ? 1 : 0)) + ((M = C + ht | 0) >>> 0 < C >>> 0 ? 1 : 0) | 0, L = R, C = N, R = k, N = D, k = T, D = I, T = wt + (dt + yt + (Ot >>> 0 < vt >>> 0 ? 1 : 0)) + ((I = ht + Ot | 0) >>> 0 < ht >>> 0 ? 1 : 0) | 0 + } + y = n.low = y + I, n.high = l + T + (y >>> 0 < I >>> 0 ? 1 : 0), d = i.low = d + D, i.high = g + k + (d >>> 0 < D >>> 0 ? 1 : 0), m = o.low = m + N, o.high = v + R + (m >>> 0 < N >>> 0 ? 1 : 0), _ = s.low = _ + C, s.high = S + L + (_ >>> 0 < C >>> 0 ? 1 : 0), E = a.low = E + M, a.high = b + U + (E >>> 0 < M >>> 0 ? 1 : 0), O = c.low = O + H, c.high = w + j + (O >>> 0 < H >>> 0 ? 1 : 0), A = h.low = A + z, h.high = B + F + (A >>> 0 < z >>> 0 ? 1 : 0), P = p.low = P + q, p.high = x + G + (P >>> 0 < q >>> 0 ? 1 : 0) + }, + _doFinalize: function() { + var t = this._data, + e = t.words, + r = 8 * this._nDataBytes, + n = 8 * t.sigBytes; + return e[n >>> 5] |= 128 << 24 - n % 32, e[30 + (n + 128 >>> 10 << 5)] = Math.floor(r / 4294967296), e[31 + (n + 128 >>> 10 << 5)] = r, t.sigBytes = 4 * e.length, this._process(), this._hash.toX32() + }, + clone: function() { + var t = e.clone.call(this); + return t._hash = this._hash.clone(), t + }, + blockSize: 32 + }); + t.SHA512 = e._createHelper(c), t.HmacSHA512 = e._createHmacHelper(c) + }(), n.SHA512) + }, + 7628: function(t, e, r) { + var n; + t.exports = (n = r(9021), r(754), r(4636), r(9506), r(7165), function() { + var t = n, + e = t.lib, + r = e.WordArray, + i = e.BlockCipher, + o = t.algo, + s = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], + a = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], + f = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], + u = [{ + 0: 8421888, + 268435456: 32768, + 536870912: 8421378, + 805306368: 2, + 1073741824: 512, + 1342177280: 8421890, + 1610612736: 8389122, + 1879048192: 8388608, + 2147483648: 514, + 2415919104: 8389120, + 2684354560: 33280, + 2952790016: 8421376, + 3221225472: 32770, + 3489660928: 8388610, + 3758096384: 0, + 4026531840: 33282, + 134217728: 0, + 402653184: 8421890, + 671088640: 33282, + 939524096: 32768, + 1207959552: 8421888, + 1476395008: 512, + 1744830464: 8421378, + 2013265920: 2, + 2281701376: 8389120, + 2550136832: 33280, + 2818572288: 8421376, + 3087007744: 8389122, + 3355443200: 8388610, + 3623878656: 32770, + 3892314112: 514, + 4160749568: 8388608, + 1: 32768, + 268435457: 2, + 536870913: 8421888, + 805306369: 8388608, + 1073741825: 8421378, + 1342177281: 33280, + 1610612737: 512, + 1879048193: 8389122, + 2147483649: 8421890, + 2415919105: 8421376, + 2684354561: 8388610, + 2952790017: 33282, + 3221225473: 514, + 3489660929: 8389120, + 3758096385: 32770, + 4026531841: 0, + 134217729: 8421890, + 402653185: 8421376, + 671088641: 8388608, + 939524097: 512, + 1207959553: 32768, + 1476395009: 8388610, + 1744830465: 2, + 2013265921: 33282, + 2281701377: 32770, + 2550136833: 8389122, + 2818572289: 514, + 3087007745: 8421888, + 3355443201: 8389120, + 3623878657: 0, + 3892314113: 33280, + 4160749569: 8421378 + }, { + 0: 1074282512, + 16777216: 16384, + 33554432: 524288, + 50331648: 1074266128, + 67108864: 1073741840, + 83886080: 1074282496, + 100663296: 1073758208, + 117440512: 16, + 134217728: 540672, + 150994944: 1073758224, + 167772160: 1073741824, + 184549376: 540688, + 201326592: 524304, + 218103808: 0, + 234881024: 16400, + 251658240: 1074266112, + 8388608: 1073758208, + 25165824: 540688, + 41943040: 16, + 58720256: 1073758224, + 75497472: 1074282512, + 92274688: 1073741824, + 109051904: 524288, + 125829120: 1074266128, + 142606336: 524304, + 159383552: 0, + 176160768: 16384, + 192937984: 1074266112, + 209715200: 1073741840, + 226492416: 540672, + 243269632: 1074282496, + 260046848: 16400, + 268435456: 0, + 285212672: 1074266128, + 301989888: 1073758224, + 318767104: 1074282496, + 335544320: 1074266112, + 352321536: 16, + 369098752: 540688, + 385875968: 16384, + 402653184: 16400, + 419430400: 524288, + 436207616: 524304, + 452984832: 1073741840, + 469762048: 540672, + 486539264: 1073758208, + 503316480: 1073741824, + 520093696: 1074282512, + 276824064: 540688, + 293601280: 524288, + 310378496: 1074266112, + 327155712: 16384, + 343932928: 1073758208, + 360710144: 1074282512, + 377487360: 16, + 394264576: 1073741824, + 411041792: 1074282496, + 427819008: 1073741840, + 444596224: 1073758224, + 461373440: 524304, + 478150656: 0, + 494927872: 16400, + 511705088: 1074266128, + 528482304: 540672 + }, { + 0: 260, + 1048576: 0, + 2097152: 67109120, + 3145728: 65796, + 4194304: 65540, + 5242880: 67108868, + 6291456: 67174660, + 7340032: 67174400, + 8388608: 67108864, + 9437184: 67174656, + 10485760: 65792, + 11534336: 67174404, + 12582912: 67109124, + 13631488: 65536, + 14680064: 4, + 15728640: 256, + 524288: 67174656, + 1572864: 67174404, + 2621440: 0, + 3670016: 67109120, + 4718592: 67108868, + 5767168: 65536, + 6815744: 65540, + 7864320: 260, + 8912896: 4, + 9961472: 256, + 11010048: 67174400, + 12058624: 65796, + 13107200: 65792, + 14155776: 67109124, + 15204352: 67174660, + 16252928: 67108864, + 16777216: 67174656, + 17825792: 65540, + 18874368: 65536, + 19922944: 67109120, + 20971520: 256, + 22020096: 67174660, + 23068672: 67108868, + 24117248: 0, + 25165824: 67109124, + 26214400: 67108864, + 27262976: 4, + 28311552: 65792, + 29360128: 67174400, + 30408704: 260, + 31457280: 65796, + 32505856: 67174404, + 17301504: 67108864, + 18350080: 260, + 19398656: 67174656, + 20447232: 0, + 21495808: 65540, + 22544384: 67109120, + 23592960: 256, + 24641536: 67174404, + 25690112: 65536, + 26738688: 67174660, + 27787264: 65796, + 28835840: 67108868, + 29884416: 67109124, + 30932992: 67174400, + 31981568: 4, + 33030144: 65792 + }, { + 0: 2151682048, + 65536: 2147487808, + 131072: 4198464, + 196608: 2151677952, + 262144: 0, + 327680: 4198400, + 393216: 2147483712, + 458752: 4194368, + 524288: 2147483648, + 589824: 4194304, + 655360: 64, + 720896: 2147487744, + 786432: 2151678016, + 851968: 4160, + 917504: 4096, + 983040: 2151682112, + 32768: 2147487808, + 98304: 64, + 163840: 2151678016, + 229376: 2147487744, + 294912: 4198400, + 360448: 2151682112, + 425984: 0, + 491520: 2151677952, + 557056: 4096, + 622592: 2151682048, + 688128: 4194304, + 753664: 4160, + 819200: 2147483648, + 884736: 4194368, + 950272: 4198464, + 1015808: 2147483712, + 1048576: 4194368, + 1114112: 4198400, + 1179648: 2147483712, + 1245184: 0, + 1310720: 4160, + 1376256: 2151678016, + 1441792: 2151682048, + 1507328: 2147487808, + 1572864: 2151682112, + 1638400: 2147483648, + 1703936: 2151677952, + 1769472: 4198464, + 1835008: 2147487744, + 1900544: 4194304, + 1966080: 64, + 2031616: 4096, + 1081344: 2151677952, + 1146880: 2151682112, + 1212416: 0, + 1277952: 4198400, + 1343488: 4194368, + 1409024: 2147483648, + 1474560: 2147487808, + 1540096: 64, + 1605632: 2147483712, + 1671168: 4096, + 1736704: 2147487744, + 1802240: 2151678016, + 1867776: 4160, + 1933312: 2151682048, + 1998848: 4194304, + 2064384: 4198464 + }, { + 0: 128, + 4096: 17039360, + 8192: 262144, + 12288: 536870912, + 16384: 537133184, + 20480: 16777344, + 24576: 553648256, + 28672: 262272, + 32768: 16777216, + 36864: 537133056, + 40960: 536871040, + 45056: 553910400, + 49152: 553910272, + 53248: 0, + 57344: 17039488, + 61440: 553648128, + 2048: 17039488, + 6144: 553648256, + 10240: 128, + 14336: 17039360, + 18432: 262144, + 22528: 537133184, + 26624: 553910272, + 30720: 536870912, + 34816: 537133056, + 38912: 0, + 43008: 553910400, + 47104: 16777344, + 51200: 536871040, + 55296: 553648128, + 59392: 16777216, + 63488: 262272, + 65536: 262144, + 69632: 128, + 73728: 536870912, + 77824: 553648256, + 81920: 16777344, + 86016: 553910272, + 90112: 537133184, + 94208: 16777216, + 98304: 553910400, + 102400: 553648128, + 106496: 17039360, + 110592: 537133056, + 114688: 262272, + 118784: 536871040, + 122880: 0, + 126976: 17039488, + 67584: 553648256, + 71680: 16777216, + 75776: 17039360, + 79872: 537133184, + 83968: 536870912, + 88064: 17039488, + 92160: 128, + 96256: 553910272, + 100352: 262272, + 104448: 553910400, + 108544: 0, + 112640: 553648128, + 116736: 16777344, + 120832: 262144, + 124928: 537133056, + 129024: 536871040 + }, { + 0: 268435464, + 256: 8192, + 512: 270532608, + 768: 270540808, + 1024: 268443648, + 1280: 2097152, + 1536: 2097160, + 1792: 268435456, + 2048: 0, + 2304: 268443656, + 2560: 2105344, + 2816: 8, + 3072: 270532616, + 3328: 2105352, + 3584: 8200, + 3840: 270540800, + 128: 270532608, + 384: 270540808, + 640: 8, + 896: 2097152, + 1152: 2105352, + 1408: 268435464, + 1664: 268443648, + 1920: 8200, + 2176: 2097160, + 2432: 8192, + 2688: 268443656, + 2944: 270532616, + 3200: 0, + 3456: 270540800, + 3712: 2105344, + 3968: 268435456, + 4096: 268443648, + 4352: 270532616, + 4608: 270540808, + 4864: 8200, + 5120: 2097152, + 5376: 268435456, + 5632: 268435464, + 5888: 2105344, + 6144: 2105352, + 6400: 0, + 6656: 8, + 6912: 270532608, + 7168: 8192, + 7424: 268443656, + 7680: 270540800, + 7936: 2097160, + 4224: 8, + 4480: 2105344, + 4736: 2097152, + 4992: 268435464, + 5248: 268443648, + 5504: 8200, + 5760: 270540808, + 6016: 270532608, + 6272: 270540800, + 6528: 270532616, + 6784: 8192, + 7040: 2105352, + 7296: 2097160, + 7552: 0, + 7808: 268435456, + 8064: 268443656 + }, { + 0: 1048576, + 16: 33555457, + 32: 1024, + 48: 1049601, + 64: 34604033, + 80: 0, + 96: 1, + 112: 34603009, + 128: 33555456, + 144: 1048577, + 160: 33554433, + 176: 34604032, + 192: 34603008, + 208: 1025, + 224: 1049600, + 240: 33554432, + 8: 34603009, + 24: 0, + 40: 33555457, + 56: 34604032, + 72: 1048576, + 88: 33554433, + 104: 33554432, + 120: 1025, + 136: 1049601, + 152: 33555456, + 168: 34603008, + 184: 1048577, + 200: 1024, + 216: 34604033, + 232: 1, + 248: 1049600, + 256: 33554432, + 272: 1048576, + 288: 33555457, + 304: 34603009, + 320: 1048577, + 336: 33555456, + 352: 34604032, + 368: 1049601, + 384: 1025, + 400: 34604033, + 416: 1049600, + 432: 1, + 448: 0, + 464: 34603008, + 480: 33554433, + 496: 1024, + 264: 1049600, + 280: 33555457, + 296: 34603009, + 312: 1, + 328: 33554432, + 344: 1048576, + 360: 1025, + 376: 34604032, + 392: 33554433, + 408: 34603008, + 424: 0, + 440: 34604033, + 456: 1049601, + 472: 1024, + 488: 33555456, + 504: 1048577 + }, { + 0: 134219808, + 1: 131072, + 2: 134217728, + 3: 32, + 4: 131104, + 5: 134350880, + 6: 134350848, + 7: 2048, + 8: 134348800, + 9: 134219776, + 10: 133120, + 11: 134348832, + 12: 2080, + 13: 0, + 14: 134217760, + 15: 133152, + 2147483648: 2048, + 2147483649: 134350880, + 2147483650: 134219808, + 2147483651: 134217728, + 2147483652: 134348800, + 2147483653: 133120, + 2147483654: 133152, + 2147483655: 32, + 2147483656: 134217760, + 2147483657: 2080, + 2147483658: 131104, + 2147483659: 134350848, + 2147483660: 0, + 2147483661: 134348832, + 2147483662: 134219776, + 2147483663: 131072, + 16: 133152, + 17: 134350848, + 18: 32, + 19: 2048, + 20: 134219776, + 21: 134217760, + 22: 134348832, + 23: 131072, + 24: 0, + 25: 131104, + 26: 134348800, + 27: 134219808, + 28: 134350880, + 29: 133120, + 30: 2080, + 31: 134217728, + 2147483664: 131072, + 2147483665: 2048, + 2147483666: 134348832, + 2147483667: 133152, + 2147483668: 32, + 2147483669: 134348800, + 2147483670: 134217728, + 2147483671: 134219808, + 2147483672: 134350880, + 2147483673: 134217760, + 2147483674: 134219776, + 2147483675: 0, + 2147483676: 133120, + 2147483677: 2080, + 2147483678: 131104, + 2147483679: 134350848 + }], + c = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], + h = o.DES = i.extend({ + _doReset: function() { + for (var t = this._key.words, e = [], r = 0; r < 56; r++) { + var n = s[r] - 1; + e[r] = t[n >>> 5] >>> 31 - n % 32 & 1 + } + for (var i = this._subKeys = [], o = 0; o < 16; o++) { + var u = i[o] = [], + c = f[o]; + for (r = 0; r < 24; r++) u[r / 6 | 0] |= e[(a[r] - 1 + c) % 28] << 31 - r % 6, u[4 + (r / 6 | 0)] |= e[28 + (a[r + 24] - 1 + c) % 28] << 31 - r % 6; + for (u[0] = u[0] << 1 | u[0] >>> 31, r = 1; r < 7; r++) u[r] = u[r] >>> 4 * (r - 1) + 3; + u[7] = u[7] << 5 | u[7] >>> 27 + } + var h = this._invSubKeys = []; + for (r = 0; r < 16; r++) h[r] = i[15 - r] + }, + encryptBlock: function(t, e) { + this._doCryptBlock(t, e, this._subKeys) + }, + decryptBlock: function(t, e) { + this._doCryptBlock(t, e, this._invSubKeys) + }, + _doCryptBlock: function(t, e, r) { + this._lBlock = t[e], this._rBlock = t[e + 1], p.call(this, 4, 252645135), p.call(this, 16, 65535), l.call(this, 2, 858993459), l.call(this, 8, 16711935), p.call(this, 1, 1431655765); + for (var n = 0; n < 16; n++) { + for (var i = r[n], o = this._lBlock, s = this._rBlock, a = 0, f = 0; f < 8; f++) a |= u[f][((s ^ i[f]) & c[f]) >>> 0]; + this._lBlock = s, this._rBlock = o ^ a + } + var h = this._lBlock; + this._lBlock = this._rBlock, this._rBlock = h, p.call(this, 1, 1431655765), l.call(this, 8, 16711935), l.call(this, 2, 858993459), p.call(this, 16, 65535), p.call(this, 4, 252645135), t[e] = this._lBlock, t[e + 1] = this._rBlock + }, + keySize: 2, + ivSize: 2, + blockSize: 2 + }); + + function p(t, e) { + var r = (this._lBlock >>> t ^ this._rBlock) & e; + this._rBlock ^= r, this._lBlock ^= r << t + } + + function l(t, e) { + var r = (this._rBlock >>> t ^ this._lBlock) & e; + this._lBlock ^= r, this._rBlock ^= r << t + } + t.DES = i._createHelper(h); + var y = o.TripleDES = i.extend({ + _doReset: function() { + var t = this._key.words; + this._des1 = h.createEncryptor(r.create(t.slice(0, 2))), this._des2 = h.createEncryptor(r.create(t.slice(2, 4))), this._des3 = h.createEncryptor(r.create(t.slice(4, 6))) + }, + encryptBlock: function(t, e) { + this._des1.encryptBlock(t, e), this._des2.decryptBlock(t, e), this._des3.encryptBlock(t, e) + }, + decryptBlock: function(t, e) { + this._des3.decryptBlock(t, e), this._des2.encryptBlock(t, e), this._des1.decryptBlock(t, e) + }, + keySize: 6, + ivSize: 2, + blockSize: 2 + }); + t.TripleDES = i._createHelper(y) + }(), n.TripleDES) + }, + 3240: function(t, e, r) { + var n, i, o, s, a, f; + t.exports = (n = r(9021), o = (i = n).lib, s = o.Base, a = o.WordArray, (f = i.x64 = {}).Word = s.extend({ + init: function(t, e) { + this.high = t, this.low = e + } + }), f.WordArray = s.extend({ + init: function(t, e) { + t = this.words = t || [], this.sigBytes = null != e ? e : 8 * t.length + }, + toX32: function() { + for (var t = this.words, e = t.length, r = [], n = 0; n < e; n++) { + var i = t[n]; + r.push(i.high), r.push(i.low) + } + return a.create(r, this.sigBytes) + }, + clone: function() { + for (var t = s.clone.call(this), e = t.words = this.words.slice(0), r = e.length, n = 0; n < r; n++) e[n] = e[n].clone(); + return t + } + }), n) + }, + 41: (t, e, r) => { + "use strict"; + var n = r(655), + i = r(8068), + o = r(9675), + s = r(5795); + t.exports = function(t, e, r) { + if (!t || "object" != typeof t && "function" != typeof t) throw new o("`obj` must be an object or a function`"); + if ("string" != typeof e && "symbol" != typeof e) throw new o("`property` must be a string or a symbol`"); + if (arguments.length > 3 && "boolean" != typeof arguments[3] && null !== arguments[3]) throw new o("`nonEnumerable`, if provided, must be a boolean or null"); + if (arguments.length > 4 && "boolean" != typeof arguments[4] && null !== arguments[4]) throw new o("`nonWritable`, if provided, must be a boolean or null"); + if (arguments.length > 5 && "boolean" != typeof arguments[5] && null !== arguments[5]) throw new o("`nonConfigurable`, if provided, must be a boolean or null"); + if (arguments.length > 6 && "boolean" != typeof arguments[6]) throw new o("`loose`, if provided, must be a boolean"); + var a = arguments.length > 3 ? arguments[3] : null, + f = arguments.length > 4 ? arguments[4] : null, + u = arguments.length > 5 ? arguments[5] : null, + c = arguments.length > 6 && arguments[6], + h = !!s && s(t, e); + if (n) n(t, e, { + configurable: null === u && h ? h.configurable : !u, + enumerable: null === a && h ? h.enumerable : !a, + value: r, + writable: null === f && h ? h.writable : !f + }); + else { + if (!c && (a || f || u)) throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable."); + t[e] = r + } + } + }, + 655: (t, e, r) => { + "use strict"; + var n = r(453)("%Object.defineProperty%", !0) || !1; + if (n) try { + n({}, "a", { + value: 1 + }) + } catch (t) { + n = !1 + } + t.exports = n + }, + 1237: t => { + "use strict"; + t.exports = EvalError + }, + 9383: t => { + "use strict"; + t.exports = Error + }, + 9290: t => { + "use strict"; + t.exports = RangeError + }, + 9538: t => { + "use strict"; + t.exports = ReferenceError + }, + 8068: t => { + "use strict"; + t.exports = SyntaxError + }, + 9675: t => { + "use strict"; + t.exports = TypeError + }, + 5345: t => { + "use strict"; + t.exports = URIError + }, + 9353: t => { + "use strict"; + var e = Object.prototype.toString, + r = Math.max, + n = function(t, e) { + for (var r = [], n = 0; n < t.length; n += 1) r[n] = t[n]; + for (var i = 0; i < e.length; i += 1) r[i + t.length] = e[i]; + return r + }; + t.exports = function(t) { + var i = this; + if ("function" != typeof i || "[object Function]" !== e.apply(i)) throw new TypeError("Function.prototype.bind called on incompatible " + i); + for (var o, s = function(t, e) { + for (var r = [], n = 1, i = 0; n < t.length; n += 1, i += 1) r[i] = t[n]; + return r + }(arguments), a = r(0, i.length - s.length), f = [], u = 0; u < a; u++) f[u] = "$" + u; + if (o = Function("binder", "return function (" + function(t, e) { + for (var r = "", n = 0; n < t.length; n += 1) r += t[n], n + 1 < t.length && (r += ","); + return r + }(f) + "){ return binder.apply(this,arguments); }")((function() { + if (this instanceof o) { + var e = i.apply(this, n(s, arguments)); + return Object(e) === e ? e : this + } + return i.apply(t, n(s, arguments)) + })), i.prototype) { + var c = function() {}; + c.prototype = i.prototype, o.prototype = new c, c.prototype = null + } + return o + } + }, + 6743: (t, e, r) => { + "use strict"; + var n = r(9353); + t.exports = Function.prototype.bind || n + }, + 453: (t, e, r) => { + "use strict"; + var n, i = r(9383), + o = r(1237), + s = r(9290), + a = r(9538), + f = r(8068), + u = r(9675), + c = r(5345), + h = Function, + p = function(t) { + try { + return h('"use strict"; return (' + t + ").constructor;")() + } catch (t) {} + }, + l = Object.getOwnPropertyDescriptor; + if (l) try { + l({}, "") + } catch (t) { + l = null + } + var y = function() { + throw new u + }, + g = l ? function() { + try { + return y + } catch (t) { + try { + return l(arguments, "callee").get + } catch (t) { + return y + } + } + }() : y, + d = r(4039)(), + v = r(24)(), + m = Object.getPrototypeOf || (v ? function(t) { + return t.__proto__ + } : null), + S = {}, + _ = "undefined" != typeof Uint8Array && m ? m(Uint8Array) : n, + b = { + __proto__: null, + "%AggregateError%": "undefined" == typeof AggregateError ? n : AggregateError, + "%Array%": Array, + "%ArrayBuffer%": "undefined" == typeof ArrayBuffer ? n : ArrayBuffer, + "%ArrayIteratorPrototype%": d && m ? m([][Symbol.iterator]()) : n, + "%AsyncFromSyncIteratorPrototype%": n, + "%AsyncFunction%": S, + "%AsyncGenerator%": S, + "%AsyncGeneratorFunction%": S, + "%AsyncIteratorPrototype%": S, + "%Atomics%": "undefined" == typeof Atomics ? n : Atomics, + "%BigInt%": "undefined" == typeof BigInt ? n : BigInt, + "%BigInt64Array%": "undefined" == typeof BigInt64Array ? n : BigInt64Array, + "%BigUint64Array%": "undefined" == typeof BigUint64Array ? n : BigUint64Array, + "%Boolean%": Boolean, + "%DataView%": "undefined" == typeof DataView ? n : DataView, + "%Date%": Date, + "%decodeURI%": decodeURI, + "%decodeURIComponent%": decodeURIComponent, + "%encodeURI%": encodeURI, + "%encodeURIComponent%": encodeURIComponent, + "%Error%": i, + "%eval%": eval, + "%EvalError%": o, + "%Float32Array%": "undefined" == typeof Float32Array ? n : Float32Array, + "%Float64Array%": "undefined" == typeof Float64Array ? n : Float64Array, + "%FinalizationRegistry%": "undefined" == typeof FinalizationRegistry ? n : FinalizationRegistry, + "%Function%": h, + "%GeneratorFunction%": S, + "%Int8Array%": "undefined" == typeof Int8Array ? n : Int8Array, + "%Int16Array%": "undefined" == typeof Int16Array ? n : Int16Array, + "%Int32Array%": "undefined" == typeof Int32Array ? n : Int32Array, + "%isFinite%": isFinite, + "%isNaN%": isNaN, + "%IteratorPrototype%": d && m ? m(m([][Symbol.iterator]())) : n, + "%JSON%": "object" == typeof JSON ? JSON : n, + "%Map%": "undefined" == typeof Map ? n : Map, + "%MapIteratorPrototype%": "undefined" != typeof Map && d && m ? m((new Map)[Symbol.iterator]()) : n, + "%Math%": Math, + "%Number%": Number, + "%Object%": Object, + "%parseFloat%": parseFloat, + "%parseInt%": parseInt, + "%Promise%": "undefined" == typeof Promise ? n : Promise, + "%Proxy%": "undefined" == typeof Proxy ? n : Proxy, + "%RangeError%": s, + "%ReferenceError%": a, + "%Reflect%": "undefined" == typeof Reflect ? n : Reflect, + "%RegExp%": RegExp, + "%Set%": "undefined" == typeof Set ? n : Set, + "%SetIteratorPrototype%": "undefined" != typeof Set && d && m ? m((new Set)[Symbol.iterator]()) : n, + "%SharedArrayBuffer%": "undefined" == typeof SharedArrayBuffer ? n : SharedArrayBuffer, + "%String%": String, + "%StringIteratorPrototype%": d && m ? m("" [Symbol.iterator]()) : n, + "%Symbol%": d ? Symbol : n, + "%SyntaxError%": f, + "%ThrowTypeError%": g, + "%TypedArray%": _, + "%TypeError%": u, + "%Uint8Array%": "undefined" == typeof Uint8Array ? n : Uint8Array, + "%Uint8ClampedArray%": "undefined" == typeof Uint8ClampedArray ? n : Uint8ClampedArray, + "%Uint16Array%": "undefined" == typeof Uint16Array ? n : Uint16Array, + "%Uint32Array%": "undefined" == typeof Uint32Array ? n : Uint32Array, + "%URIError%": c, + "%WeakMap%": "undefined" == typeof WeakMap ? n : WeakMap, + "%WeakRef%": "undefined" == typeof WeakRef ? n : WeakRef, + "%WeakSet%": "undefined" == typeof WeakSet ? n : WeakSet + }; + if (m) try { + null.error + } catch (t) { + var E = m(m(t)); + b["%Error.prototype%"] = E + } + var w = function t(e) { + var r; + if ("%AsyncFunction%" === e) r = p("async function () {}"); + else if ("%GeneratorFunction%" === e) r = p("function* () {}"); + else if ("%AsyncGeneratorFunction%" === e) r = p("async function* () {}"); + else if ("%AsyncGenerator%" === e) { + var n = t("%AsyncGeneratorFunction%"); + n && (r = n.prototype) + } else if ("%AsyncIteratorPrototype%" === e) { + var i = t("%AsyncGenerator%"); + i && m && (r = m(i.prototype)) + } + return b[e] = r, r + }, + O = { + __proto__: null, + "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"], + "%ArrayPrototype%": ["Array", "prototype"], + "%ArrayProto_entries%": ["Array", "prototype", "entries"], + "%ArrayProto_forEach%": ["Array", "prototype", "forEach"], + "%ArrayProto_keys%": ["Array", "prototype", "keys"], + "%ArrayProto_values%": ["Array", "prototype", "values"], + "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"], + "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"], + "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"], + "%BooleanPrototype%": ["Boolean", "prototype"], + "%DataViewPrototype%": ["DataView", "prototype"], + "%DatePrototype%": ["Date", "prototype"], + "%ErrorPrototype%": ["Error", "prototype"], + "%EvalErrorPrototype%": ["EvalError", "prototype"], + "%Float32ArrayPrototype%": ["Float32Array", "prototype"], + "%Float64ArrayPrototype%": ["Float64Array", "prototype"], + "%FunctionPrototype%": ["Function", "prototype"], + "%Generator%": ["GeneratorFunction", "prototype"], + "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"], + "%Int8ArrayPrototype%": ["Int8Array", "prototype"], + "%Int16ArrayPrototype%": ["Int16Array", "prototype"], + "%Int32ArrayPrototype%": ["Int32Array", "prototype"], + "%JSONParse%": ["JSON", "parse"], + "%JSONStringify%": ["JSON", "stringify"], + "%MapPrototype%": ["Map", "prototype"], + "%NumberPrototype%": ["Number", "prototype"], + "%ObjectPrototype%": ["Object", "prototype"], + "%ObjProto_toString%": ["Object", "prototype", "toString"], + "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"], + "%PromisePrototype%": ["Promise", "prototype"], + "%PromiseProto_then%": ["Promise", "prototype", "then"], + "%Promise_all%": ["Promise", "all"], + "%Promise_reject%": ["Promise", "reject"], + "%Promise_resolve%": ["Promise", "resolve"], + "%RangeErrorPrototype%": ["RangeError", "prototype"], + "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"], + "%RegExpPrototype%": ["RegExp", "prototype"], + "%SetPrototype%": ["Set", "prototype"], + "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"], + "%StringPrototype%": ["String", "prototype"], + "%SymbolPrototype%": ["Symbol", "prototype"], + "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"], + "%TypedArrayPrototype%": ["TypedArray", "prototype"], + "%TypeErrorPrototype%": ["TypeError", "prototype"], + "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"], + "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"], + "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"], + "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"], + "%URIErrorPrototype%": ["URIError", "prototype"], + "%WeakMapPrototype%": ["WeakMap", "prototype"], + "%WeakSetPrototype%": ["WeakSet", "prototype"] + }, + B = r(6743), + A = r(9957), + x = B.call(Function.call, Array.prototype.concat), + P = B.call(Function.apply, Array.prototype.splice), + T = B.call(Function.call, String.prototype.replace), + I = B.call(Function.call, String.prototype.slice), + k = B.call(Function.call, RegExp.prototype.exec), + D = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g, + R = /\\(\\)?/g, + N = function(t, e) { + var r, n = t; + if (A(O, n) && (n = "%" + (r = O[n])[0] + "%"), A(b, n)) { + var i = b[n]; + if (i === S && (i = w(n)), void 0 === i && !e) throw new u("intrinsic " + t + " exists, but is not available. Please file an issue!"); + return { + alias: r, + name: n, + value: i + } + } + throw new f("intrinsic " + t + " does not exist!") + }; + t.exports = function(t, e) { + if ("string" != typeof t || 0 === t.length) throw new u("intrinsic name must be a non-empty string"); + if (arguments.length > 1 && "boolean" != typeof e) throw new u('"allowMissing" argument must be a boolean'); + if (null === k(/^%?[^%]*%?$/, t)) throw new f("`%` may not be present anywhere but at the beginning and end of the intrinsic name"); + var r = function(t) { + var e = I(t, 0, 1), + r = I(t, -1); + if ("%" === e && "%" !== r) throw new f("invalid intrinsic syntax, expected closing `%`"); + if ("%" === r && "%" !== e) throw new f("invalid intrinsic syntax, expected opening `%`"); + var n = []; + return T(t, D, (function(t, e, r, i) { + n[n.length] = r ? T(i, R, "$1") : e || t + })), n + }(t), + n = r.length > 0 ? r[0] : "", + i = N("%" + n + "%", e), + o = i.name, + s = i.value, + a = !1, + c = i.alias; + c && (n = c[0], P(r, x([0, 1], c))); + for (var h = 1, p = !0; h < r.length; h += 1) { + var y = r[h], + g = I(y, 0, 1), + d = I(y, -1); + if (('"' === g || "'" === g || "`" === g || '"' === d || "'" === d || "`" === d) && g !== d) throw new f("property names with quotes must have matching quotes"); + if ("constructor" !== y && p || (a = !0), A(b, o = "%" + (n += "." + y) + "%")) s = b[o]; + else if (null != s) { + if (!(y in s)) { + if (!e) throw new u("base intrinsic for " + t + " exists, but the property is not available."); + return + } + if (l && h + 1 >= r.length) { + var v = l(s, y); + s = (p = !!v) && "get" in v && !("originalValue" in v.get) ? v.get : s[y] + } else p = A(s, y), s = s[y]; + p && !a && (b[o] = s) + } + } + return s + } + }, + 5795: (t, e, r) => { + "use strict"; + var n = r(453)("%Object.getOwnPropertyDescriptor%", !0); + if (n) try { + n([], "length") + } catch (t) { + n = null + } + t.exports = n + }, + 592: (t, e, r) => { + "use strict"; + var n = r(655), + i = function() { + return !!n + }; + i.hasArrayLengthDefineBug = function() { + if (!n) return null; + try { + return 1 !== n([], "length", { + value: 1 + }).length + } catch (t) { + return !0 + } + }, t.exports = i + }, + 24: t => { + "use strict"; + var e = { + __proto__: null, + foo: {} + }, + r = Object; + t.exports = function() { + return { + __proto__: e + }.foo === e.foo && !(e instanceof r) + } + }, + 4039: (t, e, r) => { + "use strict"; + var n = "undefined" != typeof Symbol && Symbol, + i = r(1333); + t.exports = function() { + return "function" == typeof n && "function" == typeof Symbol && "symbol" == typeof n("foo") && "symbol" == typeof Symbol("bar") && i() + } + }, + 1333: t => { + "use strict"; + t.exports = function() { + if ("function" != typeof Symbol || "function" != typeof Object.getOwnPropertySymbols) return !1; + if ("symbol" == typeof Symbol.iterator) return !0; + var t = {}, + e = Symbol("test"), + r = Object(e); + if ("string" == typeof e) return !1; + if ("[object Symbol]" !== Object.prototype.toString.call(e)) return !1; + if ("[object Symbol]" !== Object.prototype.toString.call(r)) return !1; + for (e in t[e] = 42, t) return !1; + if ("function" == typeof Object.keys && 0 !== Object.keys(t).length) return !1; + if ("function" == typeof Object.getOwnPropertyNames && 0 !== Object.getOwnPropertyNames(t).length) return !1; + var n = Object.getOwnPropertySymbols(t); + if (1 !== n.length || n[0] !== e) return !1; + if (!Object.prototype.propertyIsEnumerable.call(t, e)) return !1; + if ("function" == typeof Object.getOwnPropertyDescriptor) { + var i = Object.getOwnPropertyDescriptor(t, e); + if (42 !== i.value || !0 !== i.enumerable) return !1 + } + return !0 + } + }, + 9957: (t, e, r) => { + "use strict"; + var n = Function.prototype.call, + i = Object.prototype.hasOwnProperty, + o = r(6743); + t.exports = o.call(n, i) + }, + 251: (t, e) => { + e.read = function(t, e, r, n, i) { + var o, s, a = 8 * i - n - 1, + f = (1 << a) - 1, + u = f >> 1, + c = -7, + h = r ? i - 1 : 0, + p = r ? -1 : 1, + l = t[e + h]; + for (h += p, o = l & (1 << -c) - 1, l >>= -c, c += a; c > 0; o = 256 * o + t[e + h], h += p, c -= 8); + for (s = o & (1 << -c) - 1, o >>= -c, c += n; c > 0; s = 256 * s + t[e + h], h += p, c -= 8); + if (0 === o) o = 1 - u; + else { + if (o === f) return s ? NaN : 1 / 0 * (l ? -1 : 1); + s += Math.pow(2, n), o -= u + } + return (l ? -1 : 1) * s * Math.pow(2, o - n) + }, e.write = function(t, e, r, n, i, o) { + var s, a, f, u = 8 * o - i - 1, + c = (1 << u) - 1, + h = c >> 1, + p = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, + l = n ? 0 : o - 1, + y = n ? 1 : -1, + g = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0; + for (e = Math.abs(e), isNaN(e) || e === 1 / 0 ? (a = isNaN(e) ? 1 : 0, s = c) : (s = Math.floor(Math.log(e) / Math.LN2), e * (f = Math.pow(2, -s)) < 1 && (s--, f *= 2), (e += s + h >= 1 ? p / f : p * Math.pow(2, 1 - h)) * f >= 2 && (s++, f /= 2), s + h >= c ? (a = 0, s = c) : s + h >= 1 ? (a = (e * f - 1) * Math.pow(2, i), s += h) : (a = e * Math.pow(2, h - 1) * Math.pow(2, i), s = 0)); i >= 8; t[r + l] = 255 & a, l += y, a /= 256, i -= 8); + for (s = s << i | a, u += i; u > 0; t[r + l] = 255 & s, l += y, s /= 256, u -= 8); + t[r + l - y] |= 128 * g + } + }, + 3229: (t, e, r) => { + var n = r(8287).Buffer, + i = r(7449), + o = r(5682), + s = (r(3200), r(3100).Ber, r(8226)._), + a = r(8226), + f = r(1768), + u = r(7460); + void 0 === i.RSA_NO_PADDING && (i.RSA_NO_PADDING = 3), t.exports = function() { + var t = { + node10: ["md4", "md5", "ripemd160", "sha1", "sha224", "sha256", "sha384", "sha512"], + node: ["md4", "md5", "ripemd160", "sha1", "sha224", "sha256", "sha384", "sha512"], + iojs: ["md4", "md5", "ripemd160", "sha1", "sha224", "sha256", "sha384", "sha512"], + browser: ["md5", "ripemd160", "sha1", "sha256", "sha512"] + }, + e = "pkcs1_oaep", + r = "pkcs1", + i = { + private: "pkcs1-private-pem", + "private-der": "pkcs1-private-der", + public: "pkcs8-public-pem", + "public-der": "pkcs8-public-der" + }; + + function c(t, i, f) { + if (!(this instanceof c)) return new c(t, i, f); + s.isObject(i) && (f = i, i = void 0), this.$options = { + signingScheme: r, + signingSchemeOptions: { + hash: "sha256", + saltLength: null + }, + encryptionScheme: e, + encryptionSchemeOptions: { + hash: "sha1", + label: null + }, + environment: a.detectEnvironment(), + rsaUtils: this + }, this.keyPair = new o.Key, this.$cache = {}, n.isBuffer(t) || s.isString(t) ? this.importKey(t, i) : s.isObject(t) && this.generateKeyPair(t.b, t.e), this.setOptions(f) + } + return c.prototype.setOptions = function(n) { + if ((n = n || {}).environment && (this.$options.environment = n.environment), n.signingScheme) { + if (s.isString(n.signingScheme)) { + var i = n.signingScheme.toLowerCase().split("-"); + 1 == i.length ? t.node.indexOf(i[0]) > -1 ? (this.$options.signingSchemeOptions = { + hash: i[0] + }, this.$options.signingScheme = r) : (this.$options.signingScheme = i[0], this.$options.signingSchemeOptions = { + hash: null + }) : (this.$options.signingSchemeOptions = { + hash: i[1] + }, this.$options.signingScheme = i[0]) + } else s.isObject(n.signingScheme) && (this.$options.signingScheme = n.signingScheme.scheme || r, this.$options.signingSchemeOptions = s.omit(n.signingScheme, "scheme")); + if (!f.isSignature(this.$options.signingScheme)) throw Error("Unsupported signing scheme"); + if (this.$options.signingSchemeOptions.hash && -1 === t[this.$options.environment].indexOf(this.$options.signingSchemeOptions.hash)) throw Error("Unsupported hashing algorithm for " + this.$options.environment + " environment") + } + if (n.encryptionScheme) { + if (s.isString(n.encryptionScheme) ? (this.$options.encryptionScheme = n.encryptionScheme.toLowerCase(), this.$options.encryptionSchemeOptions = {}) : s.isObject(n.encryptionScheme) && (this.$options.encryptionScheme = n.encryptionScheme.scheme || e, this.$options.encryptionSchemeOptions = s.omit(n.encryptionScheme, "scheme")), !f.isEncryption(this.$options.encryptionScheme)) throw Error("Unsupported encryption scheme"); + if (this.$options.encryptionSchemeOptions.hash && -1 === t[this.$options.environment].indexOf(this.$options.encryptionSchemeOptions.hash)) throw Error("Unsupported hashing algorithm for " + this.$options.environment + " environment") + } + this.keyPair.setOptions(this.$options) + }, c.prototype.generateKeyPair = function(t, e) { + if (e = e || 65537, (t = t || 2048) % 8 != 0) throw Error("Key size must be a multiple of 8."); + return this.keyPair.generate(t, e.toString(16)), this.$cache = {}, this + }, c.prototype.importKey = function(t, e) { + if (!t) throw Error("Empty key given"); + if (e && (e = i[e] || e), !u.detectAndImport(this.keyPair, t, e) && void 0 === e) throw Error("Key format must be specified"); + return this.$cache = {}, this + }, c.prototype.exportKey = function(t) { + return t = i[t = t || "private"] || t, this.$cache[t] || (this.$cache[t] = u.detectAndExport(this.keyPair, t)), this.$cache[t] + }, c.prototype.isPrivate = function() { + return this.keyPair.isPrivate() + }, c.prototype.isPublic = function(t) { + return this.keyPair.isPublic(t) + }, c.prototype.isEmpty = function(t) { + return !(this.keyPair.n || this.keyPair.e || this.keyPair.d) + }, c.prototype.encrypt = function(t, e, r) { + return this.$$encryptKey(!1, t, e, r) + }, c.prototype.decrypt = function(t, e) { + return this.$$decryptKey(!1, t, e) + }, c.prototype.encryptPrivate = function(t, e, r) { + return this.$$encryptKey(!0, t, e, r) + }, c.prototype.decryptPublic = function(t, e) { + return this.$$decryptKey(!0, t, e) + }, c.prototype.$$encryptKey = function(t, e, r, n) { + try { + var i = this.keyPair.encrypt(this.$getDataForEncrypt(e, n), t); + return "buffer" != r && r ? i.toString(r) : i + } catch (t) { + throw Error("Error during encryption. Original error: " + t) + } + }, c.prototype.$$decryptKey = function(t, e, r) { + try { + e = s.isString(e) ? n.from(e, "base64") : e; + var i = this.keyPair.decrypt(e, t); + if (null === i) throw Error("Key decrypt method returns null."); + return this.$getDecryptedData(i, r) + } catch (t) { + throw Error("Error during decryption (probably incorrect key). Original error: " + t) + } + }, c.prototype.sign = function(t, e, r) { + if (!this.isPrivate()) throw Error("This is not private key"); + var n = this.keyPair.sign(this.$getDataForEncrypt(t, r)); + return e && "buffer" != e && (n = n.toString(e)), n + }, c.prototype.verify = function(t, e, r, n) { + if (!this.isPublic()) throw Error("This is not public key"); + return n = n && "buffer" != n ? n : null, this.keyPair.verify(this.$getDataForEncrypt(t, r), e, n) + }, c.prototype.getKeySize = function() { + return this.keyPair.keySize + }, c.prototype.getMaxMessageSize = function() { + return this.keyPair.maxMessageLength + }, c.prototype.$getDataForEncrypt = function(t, e) { + if (s.isString(t) || s.isNumber(t)) return n.from("" + t, e || "utf8"); + if (n.isBuffer(t)) return t; + if (s.isObject(t)) return n.from(JSON.stringify(t)); + throw Error("Unexpected data type") + }, c.prototype.$getDecryptedData = function(t, e) { + return "buffer" == (e = e || "buffer") ? t : "json" == e ? JSON.parse(t.toString()) : t.toString(e) + }, c + }() + }, + 4538: (t, e, r) => { + var n = r(3200); + t.exports = { + getEngine: function(t, e) { + var i = r(7469); + return "node" === e.environment && "function" == typeof n.publicEncrypt && "function" == typeof n.privateDecrypt && (i = "function" == typeof n.privateEncrypt && "function" == typeof n.publicDecrypt ? r(2418) : r(1957)), i(t, e) + } + } + }, + 2418: (t, e, r) => { + var n = r(3200), + i = r(7449), + o = r(1768); + t.exports = function(t, e) { + var r = o.pkcs1.makeScheme(t, e); + return { + encrypt: function(t, o) { + var s; + if (o) return s = i.RSA_PKCS1_PADDING, e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (s = e.encryptionSchemeOptions.padding), n.privateEncrypt({ + key: e.rsaUtils.exportKey("private"), + padding: s + }, t); + s = i.RSA_PKCS1_OAEP_PADDING, "pkcs1" === e.encryptionScheme && (s = i.RSA_PKCS1_PADDING), e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (s = e.encryptionSchemeOptions.padding); + var a = t; + return s === i.RSA_NO_PADDING && (a = r.pkcs0pad(t)), n.publicEncrypt({ + key: e.rsaUtils.exportKey("public"), + padding: s + }, a) + }, + decrypt: function(t, o) { + var s; + if (o) return s = i.RSA_PKCS1_PADDING, e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (s = e.encryptionSchemeOptions.padding), n.publicDecrypt({ + key: e.rsaUtils.exportKey("public"), + padding: s + }, t); + s = i.RSA_PKCS1_OAEP_PADDING, "pkcs1" === e.encryptionScheme && (s = i.RSA_PKCS1_PADDING), e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (s = e.encryptionSchemeOptions.padding); + var a = n.privateDecrypt({ + key: e.rsaUtils.exportKey("private"), + padding: s + }, t); + return s === i.RSA_NO_PADDING ? r.pkcs0unpad(a) : a + } + } + } + }, + 7469: (t, e, r) => { + var n = r(1973), + i = r(1768); + t.exports = function(t, e) { + var r = i.pkcs1.makeScheme(t, e); + return { + encrypt: function(e, i) { + var o, s; + return i ? (o = new n(r.encPad(e, { + type: 1 + })), s = t.$doPrivate(o)) : (o = new n(t.encryptionScheme.encPad(e)), s = t.$doPublic(o)), s.toBuffer(t.encryptedDataLength) + }, + decrypt: function(e, i) { + var o, s = new n(e); + return i ? (o = t.$doPublic(s), r.encUnPad(o.toBuffer(t.encryptedDataLength), { + type: 1 + })) : (o = t.$doPrivate(s), t.encryptionScheme.encUnPad(o.toBuffer(t.encryptedDataLength))) + } + } + } + }, + 1957: (t, e, r) => { + var n = r(3200), + i = r(7449), + o = r(1768); + t.exports = function(t, e) { + var s = r(7469)(t, e), + a = o.pkcs1.makeScheme(t, e); + return { + encrypt: function(t, r) { + if (r) return s.encrypt(t, r); + var o = i.RSA_PKCS1_OAEP_PADDING; + "pkcs1" === e.encryptionScheme && (o = i.RSA_PKCS1_PADDING), e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (o = e.encryptionSchemeOptions.padding); + var f = t; + return o === i.RSA_NO_PADDING && (f = a.pkcs0pad(t)), n.publicEncrypt({ + key: e.rsaUtils.exportKey("public"), + padding: o + }, f) + }, + decrypt: function(t, r) { + if (r) return s.decrypt(t, r); + var o = i.RSA_PKCS1_OAEP_PADDING; + "pkcs1" === e.encryptionScheme && (o = i.RSA_PKCS1_PADDING), e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (o = e.encryptionSchemeOptions.padding); + var f = n.privateDecrypt({ + key: e.rsaUtils.exportKey("private"), + padding: o + }, t); + return o === i.RSA_NO_PADDING ? a.pkcs0unpad(f) : f + } + } + } + }, + 3374: (t, e, r) => { + r(8226)._, r(8226), t.exports = { + privateExport: function(t, e) { + return { + n: t.n.toBuffer(), + e: t.e, + d: t.d.toBuffer(), + p: t.p.toBuffer(), + q: t.q.toBuffer(), + dmp1: t.dmp1.toBuffer(), + dmq1: t.dmq1.toBuffer(), + coeff: t.coeff.toBuffer() + } + }, + privateImport: function(t, e, r) { + if (!(e.n && e.e && e.d && e.p && e.q && e.dmp1 && e.dmq1 && e.coeff)) throw Error("Invalid key data"); + t.setPrivate(e.n, e.e, e.d, e.p, e.q, e.dmp1, e.dmq1, e.coeff) + }, + publicExport: function(t, e) { + return { + n: t.n.toBuffer(), + e: t.e + } + }, + publicImport: function(t, e, r) { + if (!e.n || !e.e) throw Error("Invalid key data"); + t.setPublic(e.n, e.e) + }, + autoImport: function(e, r) { + return !(!r.n || !r.e || (r.d && r.p && r.q && r.dmp1 && r.dmq1 && r.coeff ? (t.exports.privateImport(e, r), 0) : (t.exports.publicImport(e, r), 0))) + } + } + }, + 7460: (t, e, r) => { + function n(t) { + t = t.split("-"); + for (var e = "private", r = { + type: "default" + }, n = 1; n < t.length; n++) + if (t[n]) switch (t[n]) { + case "public": + case "private": + e = t[n]; + break; + case "pem": + case "der": + r.type = t[n] + } + return { + scheme: t[0], + keyType: e, + keyOpt: r + } + } + r(8226)._, t.exports = { + pkcs1: r(6566), + pkcs8: r(8573), + components: r(3374), + openssh: r(3194), + isPrivateExport: function(e) { + return t.exports[e] && "function" == typeof t.exports[e].privateExport + }, + isPrivateImport: function(e) { + return t.exports[e] && "function" == typeof t.exports[e].privateImport + }, + isPublicExport: function(e) { + return t.exports[e] && "function" == typeof t.exports[e].publicExport + }, + isPublicImport: function(e) { + return t.exports[e] && "function" == typeof t.exports[e].publicImport + }, + detectAndImport: function(e, r, i) { + if (void 0 === i) { + for (var o in t.exports) + if ("function" == typeof t.exports[o].autoImport && t.exports[o].autoImport(e, r)) return !0 + } else if (i) { + var s = n(i); + if (!t.exports[s.scheme]) throw Error("Unsupported key format"); + "private" === s.keyType ? t.exports[s.scheme].privateImport(e, r, s.keyOpt) : t.exports[s.scheme].publicImport(e, r, s.keyOpt) + } + return !1 + }, + detectAndExport: function(e, r) { + if (r) { + var i = n(r); + if (t.exports[i.scheme]) { + if ("private" === i.keyType) { + if (!e.isPrivate()) throw Error("This is not private key"); + return t.exports[i.scheme].privateExport(e, i.keyOpt) + } + if (!e.isPublic()) throw Error("This is not public key"); + return t.exports[i.scheme].publicExport(e, i.keyOpt) + } + throw Error("Unsupported key format") + } + } + } + }, + 3194: (t, e, r) => { + var n = r(8287).Buffer, + i = r(8226)._, + o = r(8226), + s = r(1973); + const a = "-----BEGIN OPENSSH PRIVATE KEY-----", + f = "-----END OPENSSH PRIVATE KEY-----"; + + function u(t) { + const e = t.buf.readInt32BE(t.off); + t.off += 4; + const r = t.buf.slice(t.off, t.off + e); + return t.off += e, r + } + + function c(t, e) { + t.buf.writeInt32BE(e.byteLength, t.off), t.off += 4, t.off += e.copy(t.buf, t.off) + } + t.exports = { + privateExport: function(t, e) { + const r = t.n.toBuffer(); + let i = n.alloc(4); + for (i.writeUInt32BE(t.e, 0); 0 === i[0];) i = i.slice(1); + const s = t.d.toBuffer(), + u = t.coeff.toBuffer(), + h = t.p.toBuffer(), + p = t.q.toBuffer(); + let l; + l = void 0 !== t.sshcomment ? n.from(t.sshcomment) : n.from([]); + const y = 15 + i.byteLength + 4 + r.byteLength, + g = 23 + r.byteLength + 4 + i.byteLength + 4 + s.byteLength + 4 + u.byteLength + 4 + h.byteLength + 4 + p.byteLength + 4 + l.byteLength; + let d = 43 + y + 4 + g; + d += 8 * Math.ceil(g / 8) - g; + const v = n.alloc(d), + m = { + buf: v, + off: 0 + }; + v.write("openssh-key-v1", "utf8"), v.writeUInt8(0, 14), m.off += 15, c(m, n.from("none")), c(m, n.from("none")), c(m, n.from("")), m.off = m.buf.writeUInt32BE(1, m.off), m.off = m.buf.writeUInt32BE(y, m.off), c(m, n.from("ssh-rsa")), c(m, i), c(m, r), m.off = m.buf.writeUInt32BE(d - 47 - y, m.off), m.off += 8, c(m, n.from("ssh-rsa")), c(m, r), c(m, i), c(m, s), c(m, u), c(m, h), c(m, p), c(m, l); + let S = 1; + for (; m.off < d;) m.off = m.buf.writeUInt8(S++, m.off); + return "der" === e.type ? m.buf : a + "\n" + o.linebrk(v.toString("base64"), 70) + "\n" + f + "\n" + }, + privateImport: function(t, e, r) { + var c; + if ("der" !== (r = r || {}).type) { + if (n.isBuffer(e) && (e = e.toString("utf8")), !i.isString(e)) throw Error("Unsupported key format"); + var h = o.trimSurroundingText(e, a, f).replace(/\s+|\n\r|\n|\r$/gm, ""); + c = n.from(h, "base64") + } else { + if (!n.isBuffer(e)) throw Error("Unsupported key format"); + c = e + } + const p = { + buf: c, + off: 0 + }; + if ("openssh-key-v1" !== c.slice(0, 14).toString("ascii")) throw "Invalid file format."; + if (p.off += 15, "none" !== u(p).toString("ascii")) throw Error("Unsupported key type"); + if ("none" !== u(p).toString("ascii")) throw Error("Unsupported key type"); + if ("" !== u(p).toString("ascii")) throw Error("Unsupported key type"); + if (p.off += 4, p.off += 4, "ssh-rsa" !== u(p).toString("ascii")) throw Error("Unsupported key type"); + if (u(p), u(p), p.off += 12, "ssh-rsa" !== u(p).toString("ascii")) throw Error("Unsupported key type"); + const l = u(p), + y = u(p), + g = u(p), + d = u(p), + v = u(p), + m = u(p), + S = new s(g), + _ = new s(m), + b = new s(v), + E = S.mod(b.subtract(s.ONE)), + w = S.mod(_.subtract(s.ONE)); + t.setPrivate(l, y, g, v, m, E.toBuffer(), w.toBuffer(), d), t.sshcomment = u(p).toString("ascii") + }, + publicExport: function(t, e) { + let r = n.alloc(4); + for (r.writeUInt32BE(t.e, 0); 0 === r[0];) r = r.slice(1); + const i = t.n.toBuffer(), + o = n.alloc(r.byteLength + 4 + i.byteLength + 4 + 7 + 4), + s = { + buf: o, + off: 0 + }; + c(s, n.from("ssh-rsa")), c(s, r), c(s, i); + let a = t.sshcomment || ""; + return "der" === e.type ? s.buf : "ssh-rsa " + o.toString("base64") + " " + a + "\n" + }, + publicImport: function(t, e, r) { + var o; + if ("der" !== (r = r || {}).type) { + if (n.isBuffer(e) && (e = e.toString("utf8")), !i.isString(e)) throw Error("Unsupported key format"); + { + if ("ssh-rsa " !== e.substring(0, 8)) throw Error("Unsupported key format"); + let r = e.indexOf(" ", 8); - 1 === r ? r = e.length : t.sshcomment = e.substring(r + 1).replace(/\s+|\n\r|\n|\r$/gm, ""); + const i = e.substring(8, r).replace(/\s+|\n\r|\n|\r$/gm, ""); + o = n.from(i, "base64") + } + } else { + if (!n.isBuffer(e)) throw Error("Unsupported key format"); + o = e + } + const s = { + buf: o, + off: 0 + }, + a = u(s).toString("ascii"); + if ("ssh-rsa" !== a) throw Error("Invalid key type: " + a); + const f = u(s), + c = u(s); + t.setPublic(c, f) + }, + autoImport: function(e, r) { + return /^[\S\s]*-----BEGIN OPENSSH PRIVATE KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END OPENSSH PRIVATE KEY-----[\S\s]*$/g.test(r) ? (t.exports.privateImport(e, r), !0) : !!/^[\S\s]*ssh-rsa \s*(?=(([A-Za-z0-9+/=]+\s*)+))\1[\S\s]*$/g.test(r) && (t.exports.publicImport(e, r), !0) + } + } + }, + 6566: (t, e, r) => { + var n = r(8287).Buffer, + i = r(3100).Ber, + o = r(8226)._, + s = r(8226); + const a = "-----BEGIN RSA PRIVATE KEY-----", + f = "-----END RSA PRIVATE KEY-----", + u = "-----BEGIN RSA PUBLIC KEY-----", + c = "-----END RSA PUBLIC KEY-----"; + t.exports = { + privateExport: function(t, e) { + e = e || {}; + var r = t.n.toBuffer(), + n = t.d.toBuffer(), + o = t.p.toBuffer(), + u = t.q.toBuffer(), + c = t.dmp1.toBuffer(), + h = t.dmq1.toBuffer(), + p = t.coeff.toBuffer(), + l = r.length + n.length + o.length + u.length + c.length + h.length + p.length + 512, + y = new i.Writer({ + size: l + }); + return y.startSequence(), y.writeInt(0), y.writeBuffer(r, 2), y.writeInt(t.e), y.writeBuffer(n, 2), y.writeBuffer(o, 2), y.writeBuffer(u, 2), y.writeBuffer(c, 2), y.writeBuffer(h, 2), y.writeBuffer(p, 2), y.endSequence(), "der" === e.type ? y.buffer : a + "\n" + s.linebrk(y.buffer.toString("base64"), 64) + "\n" + f + }, + privateImport: function(t, e, r) { + var u; + if ("der" !== (r = r || {}).type) { + if (n.isBuffer(e) && (e = e.toString("utf8")), !o.isString(e)) throw Error("Unsupported key format"); + var c = s.trimSurroundingText(e, a, f).replace(/\s+|\n\r|\n|\r$/gm, ""); + u = n.from(c, "base64") + } else { + if (!n.isBuffer(e)) throw Error("Unsupported key format"); + u = e + } + var h = new i.Reader(u); + h.readSequence(), h.readString(2, !0), t.setPrivate(h.readString(2, !0), h.readString(2, !0), h.readString(2, !0), h.readString(2, !0), h.readString(2, !0), h.readString(2, !0), h.readString(2, !0), h.readString(2, !0)) + }, + publicExport: function(t, e) { + e = e || {}; + var r = t.n.toBuffer(), + n = r.length + 512, + o = new i.Writer({ + size: n + }); + return o.startSequence(), o.writeBuffer(r, 2), o.writeInt(t.e), o.endSequence(), "der" === e.type ? o.buffer : u + "\n" + s.linebrk(o.buffer.toString("base64"), 64) + "\n" + c + }, + publicImport: function(t, e, r) { + var a; + if ("der" !== (r = r || {}).type) { + if (n.isBuffer(e) && (e = e.toString("utf8")), o.isString(e)) { + var f = s.trimSurroundingText(e, u, c).replace(/\s+|\n\r|\n|\r$/gm, ""); + a = n.from(f, "base64") + } + } else { + if (!n.isBuffer(e)) throw Error("Unsupported key format"); + a = e + } + var h = new i.Reader(a); + h.readSequence(), t.setPublic(h.readString(2, !0), h.readString(2, !0)) + }, + autoImport: function(e, r) { + return /^[\S\s]*-----BEGIN RSA PRIVATE KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END RSA PRIVATE KEY-----[\S\s]*$/g.test(r) ? (t.exports.privateImport(e, r), !0) : !!/^[\S\s]*-----BEGIN RSA PUBLIC KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END RSA PUBLIC KEY-----[\S\s]*$/g.test(r) && (t.exports.publicImport(e, r), !0) + } + } + }, + 8573: (t, e, r) => { + var n = r(8287).Buffer, + i = r(3100).Ber, + o = r(8226)._, + s = "1.2.840.113549.1.1.1", + a = r(8226); + const f = "-----BEGIN PRIVATE KEY-----", + u = "-----END PRIVATE KEY-----", + c = "-----BEGIN PUBLIC KEY-----", + h = "-----END PUBLIC KEY-----"; + t.exports = { + privateExport: function(t, e) { + e = e || {}; + var r = t.n.toBuffer(), + n = t.d.toBuffer(), + o = t.p.toBuffer(), + c = t.q.toBuffer(), + h = t.dmp1.toBuffer(), + p = t.dmq1.toBuffer(), + l = t.coeff.toBuffer(), + y = r.length + n.length + o.length + c.length + h.length + p.length + l.length + 512, + g = new i.Writer({ + size: y + }); + g.startSequence(), g.writeInt(0), g.writeBuffer(r, 2), g.writeInt(t.e), g.writeBuffer(n, 2), g.writeBuffer(o, 2), g.writeBuffer(c, 2), g.writeBuffer(h, 2), g.writeBuffer(p, 2), g.writeBuffer(l, 2), g.endSequence(); + var d = new i.Writer({ + size: y + }); + return d.startSequence(), d.writeInt(0), d.startSequence(), d.writeOID(s), d.writeNull(), d.endSequence(), d.writeBuffer(g.buffer, 4), d.endSequence(), "der" === e.type ? d.buffer : f + "\n" + a.linebrk(d.buffer.toString("base64"), 64) + "\n" + u + }, + privateImport: function(t, e, r) { + var c; + if ("der" !== (r = r || {}).type) { + if (n.isBuffer(e) && (e = e.toString("utf8")), !o.isString(e)) throw Error("Unsupported key format"); + var h = a.trimSurroundingText(e, f, u).replace("-----END PRIVATE KEY-----", "").replace(/\s+|\n\r|\n|\r$/gm, ""); + c = n.from(h, "base64") + } else { + if (!n.isBuffer(e)) throw Error("Unsupported key format"); + c = e + } + var p = new i.Reader(c); + if (p.readSequence(), p.readInt(0), new i.Reader(p.readString(48, !0)).readOID(6, !0) !== s) throw Error("Invalid Public key format"); + var l = new i.Reader(p.readString(4, !0)); + l.readSequence(), l.readString(2, !0), t.setPrivate(l.readString(2, !0), l.readString(2, !0), l.readString(2, !0), l.readString(2, !0), l.readString(2, !0), l.readString(2, !0), l.readString(2, !0), l.readString(2, !0)) + }, + publicExport: function(t, e) { + e = e || {}; + var r = t.n.toBuffer(), + n = r.length + 512, + o = new i.Writer({ + size: n + }); + o.writeByte(0), o.startSequence(), o.writeBuffer(r, 2), o.writeInt(t.e), o.endSequence(); + var f = new i.Writer({ + size: n + }); + return f.startSequence(), f.startSequence(), f.writeOID(s), f.writeNull(), f.endSequence(), f.writeBuffer(o.buffer, 3), f.endSequence(), "der" === e.type ? f.buffer : c + "\n" + a.linebrk(f.buffer.toString("base64"), 64) + "\n" + h + }, + publicImport: function(t, e, r) { + var f; + if ("der" !== (r = r || {}).type) { + if (n.isBuffer(e) && (e = e.toString("utf8")), o.isString(e)) { + var u = a.trimSurroundingText(e, c, h).replace(/\s+|\n\r|\n|\r$/gm, ""); + f = n.from(u, "base64") + } + } else { + if (!n.isBuffer(e)) throw Error("Unsupported key format"); + f = e + } + var p = new i.Reader(f); + if (p.readSequence(), new i.Reader(p.readString(48, !0)).readOID(6, !0) !== s) throw Error("Invalid Public key format"); + var l = new i.Reader(p.readString(3, !0)); + l.readByte(), l.readSequence(), t.setPublic(l.readString(2, !0), l.readString(2, !0)) + }, + autoImport: function(e, r) { + return /^[\S\s]*-----BEGIN PRIVATE KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END PRIVATE KEY-----[\S\s]*$/g.test(r) ? (t.exports.privateImport(e, r), !0) : !!/^[\S\s]*-----BEGIN PUBLIC KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END PUBLIC KEY-----[\S\s]*$/g.test(r) && (t.exports.publicImport(e, r), !0) + } + } + }, + 1973: (t, e, r) => { + var n = r(8287).Buffer, + i = r(3200), + o = r(8226)._; + + function s(t, e) { + null != t && ("number" == typeof t ? this.fromNumber(t, e) : n.isBuffer(t) ? this.fromBuffer(t) : null == e && "string" != typeof t ? this.fromByteArray(t) : this.fromString(t, e)) + } + + function a() { + return new s(null) + } + s.prototype.am = function(t, e, r, n, i, o) { + for (var s = 16383 & e, a = e >> 14; --o >= 0;) { + var f = 16383 & this[t], + u = this[t++] >> 14, + c = a * f + u * s; + i = ((f = s * f + ((16383 & c) << 14) + r[n] + i) >> 28) + (c >> 14) + a * u, r[n++] = 268435455 & f + } + return i + }, s.prototype.DB = 28, s.prototype.DM = 268435455, s.prototype.DV = 1 << 28, s.prototype.FV = Math.pow(2, 52), s.prototype.F1 = 24, s.prototype.F2 = 4; + var f, u, c = new Array; + for (f = "0".charCodeAt(0), u = 0; u <= 9; ++u) c[f++] = u; + for (f = "a".charCodeAt(0), u = 10; u < 36; ++u) c[f++] = u; + for (f = "A".charCodeAt(0), u = 10; u < 36; ++u) c[f++] = u; + + function h(t) { + return "0123456789abcdefghijklmnopqrstuvwxyz".charAt(t) + } + + function p(t, e) { + var r = c[t.charCodeAt(e)]; + return null == r ? -1 : r + } + + function l(t) { + var e = a(); + return e.fromInt(t), e + } + + function y(t) { + var e, r = 1; + return 0 != (e = t >>> 16) && (t = e, r += 16), 0 != (e = t >> 8) && (t = e, r += 8), 0 != (e = t >> 4) && (t = e, r += 4), 0 != (e = t >> 2) && (t = e, r += 2), 0 != (e = t >> 1) && (t = e, r += 1), r + } + + function g(t) { + this.m = t + } + + function d(t) { + this.m = t, this.mp = t.invDigit(), this.mpl = 32767 & this.mp, this.mph = this.mp >> 15, this.um = (1 << t.DB - 15) - 1, this.mt2 = 2 * t.t + } + + function v(t, e) { + return t & e + } + + function m(t, e) { + return t | e + } + + function S(t, e) { + return t ^ e + } + + function _(t, e) { + return t & ~e + } + + function b(t) { + if (0 === t) return -1; + var e = 0; + return 65535 & t || (t >>= 16, e += 16), 255 & t || (t >>= 8, e += 8), 15 & t || (t >>= 4, e += 4), 3 & t || (t >>= 2, e += 2), 1 & t || ++e, e + } + + function E(t) { + for (var e = 0; 0 != t;) t &= t - 1, ++e; + return e + } + + function w() {} + + function O(t) { + return t + } + + function B(t) { + this.r2 = a(), this.q3 = a(), s.ONE.dlShiftTo(2 * t.t, this.r2), this.mu = this.r2.divide(t), this.m = t + } + g.prototype.convert = function(t) { + return t.s < 0 || t.compareTo(this.m) >= 0 ? t.mod(this.m) : t + }, g.prototype.revert = function(t) { + return t + }, g.prototype.reduce = function(t) { + t.divRemTo(this.m, null, t) + }, g.prototype.mulTo = function(t, e, r) { + t.multiplyTo(e, r), this.reduce(r) + }, g.prototype.sqrTo = function(t, e) { + t.squareTo(e), this.reduce(e) + }, d.prototype.convert = function(t) { + var e = a(); + return t.abs().dlShiftTo(this.m.t, e), e.divRemTo(this.m, null, e), t.s < 0 && e.compareTo(s.ZERO) > 0 && this.m.subTo(e, e), e + }, d.prototype.revert = function(t) { + var e = a(); + return t.copyTo(e), this.reduce(e), e + }, d.prototype.reduce = function(t) { + for (; t.t <= this.mt2;) t[t.t++] = 0; + for (var e = 0; e < this.m.t; ++e) { + var r = 32767 & t[e], + n = r * this.mpl + ((r * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM; + for (t[r = e + this.m.t] += this.m.am(0, n, t, e, 0, this.m.t); t[r] >= t.DV;) t[r] -= t.DV, t[++r]++ + } + t.clamp(), t.drShiftTo(this.m.t, t), t.compareTo(this.m) >= 0 && t.subTo(this.m, t) + }, d.prototype.mulTo = function(t, e, r) { + t.multiplyTo(e, r), this.reduce(r) + }, d.prototype.sqrTo = function(t, e) { + t.squareTo(e), this.reduce(e) + }, w.prototype.convert = O, w.prototype.revert = O, w.prototype.mulTo = function(t, e, r) { + t.multiplyTo(e, r) + }, w.prototype.sqrTo = function(t, e) { + t.squareTo(e) + }, B.prototype.convert = function(t) { + if (t.s < 0 || t.t > 2 * this.m.t) return t.mod(this.m); + if (t.compareTo(this.m) < 0) return t; + var e = a(); + return t.copyTo(e), this.reduce(e), e + }, B.prototype.revert = function(t) { + return t + }, B.prototype.reduce = function(t) { + for (t.drShiftTo(this.m.t - 1, this.r2), t.t > this.m.t + 1 && (t.t = this.m.t + 1, t.clamp()), this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3), this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); t.compareTo(this.r2) < 0;) t.dAddOffset(1, this.m.t + 1); + for (t.subTo(this.r2, t); t.compareTo(this.m) >= 0;) t.subTo(this.m, t) + }, B.prototype.mulTo = function(t, e, r) { + t.multiplyTo(e, r), this.reduce(r) + }, B.prototype.sqrTo = function(t, e) { + t.squareTo(e), this.reduce(e) + }; + var A = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997], + x = (1 << 26) / A[A.length - 1]; + s.prototype.copyTo = function(t) { + for (var e = this.t - 1; e >= 0; --e) t[e] = this[e]; + t.t = this.t, t.s = this.s + }, s.prototype.fromInt = function(t) { + this.t = 1, this.s = t < 0 ? -1 : 0, t > 0 ? this[0] = t : t < -1 ? this[0] = t + DV : this.t = 0 + }, s.prototype.fromString = function(t, e, r) { + var n; + switch (e) { + case 2: + n = 1; + break; + case 4: + n = 2; + break; + case 8: + n = 3; + break; + case 16: + n = 4; + break; + case 32: + n = 5; + break; + case 256: + n = 8; + break; + default: + return void this.fromRadix(t, e) + } + this.t = 0, this.s = 0; + for (var i = t.length, o = !1, a = 0; --i >= 0;) { + var f = 8 == n ? 255 & t[i] : p(t, i); + f < 0 ? "-" == t.charAt(i) && (o = !0) : (o = !1, 0 === a ? this[this.t++] = f : a + n > this.DB ? (this[this.t - 1] |= (f & (1 << this.DB - a) - 1) << a, this[this.t++] = f >> this.DB - a) : this[this.t - 1] |= f << a, (a += n) >= this.DB && (a -= this.DB)) + }!r && 8 == n && 128 & t[0] && (this.s = -1, a > 0 && (this[this.t - 1] |= (1 << this.DB - a) - 1 << a)), this.clamp(), o && s.ZERO.subTo(this, this) + }, s.prototype.fromByteArray = function(t, e) { + this.fromString(t, 256, e) + }, s.prototype.fromBuffer = function(t) { + this.fromString(t, 256, !0) + }, s.prototype.clamp = function() { + for (var t = this.s & this.DM; this.t > 0 && this[this.t - 1] == t;) --this.t + }, s.prototype.dlShiftTo = function(t, e) { + var r; + for (r = this.t - 1; r >= 0; --r) e[r + t] = this[r]; + for (r = t - 1; r >= 0; --r) e[r] = 0; + e.t = this.t + t, e.s = this.s + }, s.prototype.drShiftTo = function(t, e) { + for (var r = t; r < this.t; ++r) e[r - t] = this[r]; + e.t = Math.max(this.t - t, 0), e.s = this.s + }, s.prototype.lShiftTo = function(t, e) { + var r, n = t % this.DB, + i = this.DB - n, + o = (1 << i) - 1, + s = Math.floor(t / this.DB), + a = this.s << n & this.DM; + for (r = this.t - 1; r >= 0; --r) e[r + s + 1] = this[r] >> i | a, a = (this[r] & o) << n; + for (r = s - 1; r >= 0; --r) e[r] = 0; + e[s] = a, e.t = this.t + s + 1, e.s = this.s, e.clamp() + }, s.prototype.rShiftTo = function(t, e) { + e.s = this.s; + var r = Math.floor(t / this.DB); + if (r >= this.t) e.t = 0; + else { + var n = t % this.DB, + i = this.DB - n, + o = (1 << n) - 1; + e[0] = this[r] >> n; + for (var s = r + 1; s < this.t; ++s) e[s - r - 1] |= (this[s] & o) << i, e[s - r] = this[s] >> n; + n > 0 && (e[this.t - r - 1] |= (this.s & o) << i), e.t = this.t - r, e.clamp() + } + }, s.prototype.subTo = function(t, e) { + for (var r = 0, n = 0, i = Math.min(t.t, this.t); r < i;) n += this[r] - t[r], e[r++] = n & this.DM, n >>= this.DB; + if (t.t < this.t) { + for (n -= t.s; r < this.t;) n += this[r], e[r++] = n & this.DM, n >>= this.DB; + n += this.s + } else { + for (n += this.s; r < t.t;) n -= t[r], e[r++] = n & this.DM, n >>= this.DB; + n -= t.s + } + e.s = n < 0 ? -1 : 0, n < -1 ? e[r++] = this.DV + n : n > 0 && (e[r++] = n), e.t = r, e.clamp() + }, s.prototype.multiplyTo = function(t, e) { + var r = this.abs(), + n = t.abs(), + i = r.t; + for (e.t = i + n.t; --i >= 0;) e[i] = 0; + for (i = 0; i < n.t; ++i) e[i + r.t] = r.am(0, n[i], e, i, 0, r.t); + e.s = 0, e.clamp(), this.s != t.s && s.ZERO.subTo(e, e) + }, s.prototype.squareTo = function(t) { + for (var e = this.abs(), r = t.t = 2 * e.t; --r >= 0;) t[r] = 0; + for (r = 0; r < e.t - 1; ++r) { + var n = e.am(r, e[r], t, 2 * r, 0, 1); + (t[r + e.t] += e.am(r + 1, 2 * e[r], t, 2 * r + 1, n, e.t - r - 1)) >= e.DV && (t[r + e.t] -= e.DV, t[r + e.t + 1] = 1) + } + t.t > 0 && (t[t.t - 1] += e.am(r, e[r], t, 2 * r, 0, 1)), t.s = 0, t.clamp() + }, s.prototype.divRemTo = function(t, e, r) { + var n = t.abs(); + if (!(n.t <= 0)) { + var i = this.abs(); + if (i.t < n.t) return null != e && e.fromInt(0), void(null != r && this.copyTo(r)); + null == r && (r = a()); + var o = a(), + f = this.s, + u = t.s, + c = this.DB - y(n[n.t - 1]); + c > 0 ? (n.lShiftTo(c, o), i.lShiftTo(c, r)) : (n.copyTo(o), i.copyTo(r)); + var h = o.t, + p = o[h - 1]; + if (0 !== p) { + var l = p * (1 << this.F1) + (h > 1 ? o[h - 2] >> this.F2 : 0), + g = this.FV / l, + d = (1 << this.F1) / l, + v = 1 << this.F2, + m = r.t, + S = m - h, + _ = null == e ? a() : e; + for (o.dlShiftTo(S, _), r.compareTo(_) >= 0 && (r[r.t++] = 1, r.subTo(_, r)), s.ONE.dlShiftTo(h, _), _.subTo(o, o); o.t < h;) o[o.t++] = 0; + for (; --S >= 0;) { + var b = r[--m] == p ? this.DM : Math.floor(r[m] * g + (r[m - 1] + v) * d); + if ((r[m] += o.am(0, b, r, S, 0, h)) < b) + for (o.dlShiftTo(S, _), r.subTo(_, r); r[m] < --b;) r.subTo(_, r) + } + null != e && (r.drShiftTo(h, e), f != u && s.ZERO.subTo(e, e)), r.t = h, r.clamp(), c > 0 && r.rShiftTo(c, r), f < 0 && s.ZERO.subTo(r, r) + } + } + }, s.prototype.invDigit = function() { + if (this.t < 1) return 0; + var t = this[0]; + if (!(1 & t)) return 0; + var e = 3 & t; + return (e = (e = (e = (e = e * (2 - (15 & t) * e) & 15) * (2 - (255 & t) * e) & 255) * (2 - ((65535 & t) * e & 65535)) & 65535) * (2 - t * e % this.DV) % this.DV) > 0 ? this.DV - e : -e + }, s.prototype.isEven = function() { + return 0 === (this.t > 0 ? 1 & this[0] : this.s) + }, s.prototype.exp = function(t, e) { + if (t > 4294967295 || t < 1) return s.ONE; + var r = a(), + n = a(), + i = e.convert(this), + o = y(t) - 1; + for (i.copyTo(r); --o >= 0;) + if (e.sqrTo(r, n), (t & 1 << o) > 0) e.mulTo(n, i, r); + else { + var f = r; + r = n, n = f + } return e.revert(r) + }, s.prototype.chunkSize = function(t) { + return Math.floor(Math.LN2 * this.DB / Math.log(t)) + }, s.prototype.toRadix = function(t) { + if (null == t && (t = 10), 0 === this.signum() || t < 2 || t > 36) return "0"; + var e = this.chunkSize(t), + r = Math.pow(t, e), + n = l(r), + i = a(), + o = a(), + s = ""; + for (this.divRemTo(n, i, o); i.signum() > 0;) s = (r + o.intValue()).toString(t).substr(1) + s, i.divRemTo(n, i, o); + return o.intValue().toString(t) + s + }, s.prototype.fromRadix = function(t, e) { + this.fromInt(0), null == e && (e = 10); + for (var r = this.chunkSize(e), n = Math.pow(e, r), i = !1, o = 0, a = 0, f = 0; f < t.length; ++f) { + var u = p(t, f); + u < 0 ? "-" == t.charAt(f) && 0 === this.signum() && (i = !0) : (a = e * a + u, ++o >= r && (this.dMultiply(n), this.dAddOffset(a, 0), o = 0, a = 0)) + } + o > 0 && (this.dMultiply(Math.pow(e, o)), this.dAddOffset(a, 0)), i && s.ZERO.subTo(this, this) + }, s.prototype.fromNumber = function(t, e) { + if ("number" == typeof e) + if (t < 2) this.fromInt(1); + else + for (this.fromNumber(t), this.testBit(t - 1) || this.bitwiseTo(s.ONE.shiftLeft(t - 1), m, this), this.isEven() && this.dAddOffset(1, 0); !this.isProbablePrime(e);) this.dAddOffset(2, 0), this.bitLength() > t && this.subTo(s.ONE.shiftLeft(t - 1), this); + else { + var r = i.randomBytes(1 + (t >> 3)), + n = 7 & t; + n > 0 ? r[0] &= (1 << n) - 1 : r[0] = 0, this.fromByteArray(r) + } + }, s.prototype.bitwiseTo = function(t, e, r) { + var n, i, o = Math.min(t.t, this.t); + for (n = 0; n < o; ++n) r[n] = e(this[n], t[n]); + if (t.t < this.t) { + for (i = t.s & this.DM, n = o; n < this.t; ++n) r[n] = e(this[n], i); + r.t = this.t + } else { + for (i = this.s & this.DM, n = o; n < t.t; ++n) r[n] = e(i, t[n]); + r.t = t.t + } + r.s = e(this.s, t.s), r.clamp() + }, s.prototype.changeBit = function(t, e) { + var r = s.ONE.shiftLeft(t); + return this.bitwiseTo(r, e, r), r + }, s.prototype.addTo = function(t, e) { + for (var r = 0, n = 0, i = Math.min(t.t, this.t); r < i;) n += this[r] + t[r], e[r++] = n & this.DM, n >>= this.DB; + if (t.t < this.t) { + for (n += t.s; r < this.t;) n += this[r], e[r++] = n & this.DM, n >>= this.DB; + n += this.s + } else { + for (n += this.s; r < t.t;) n += t[r], e[r++] = n & this.DM, n >>= this.DB; + n += t.s + } + e.s = n < 0 ? -1 : 0, n > 0 ? e[r++] = n : n < -1 && (e[r++] = this.DV + n), e.t = r, e.clamp() + }, s.prototype.dMultiply = function(t) { + this[this.t] = this.am(0, t - 1, this, 0, 0, this.t), ++this.t, this.clamp() + }, s.prototype.dAddOffset = function(t, e) { + if (0 !== t) { + for (; this.t <= e;) this[this.t++] = 0; + for (this[e] += t; this[e] >= this.DV;) this[e] -= this.DV, ++e >= this.t && (this[this.t++] = 0), ++this[e] + } + }, s.prototype.multiplyLowerTo = function(t, e, r) { + var n, i = Math.min(this.t + t.t, e); + for (r.s = 0, r.t = i; i > 0;) r[--i] = 0; + for (n = r.t - this.t; i < n; ++i) r[i + this.t] = this.am(0, t[i], r, i, 0, this.t); + for (n = Math.min(t.t, e); i < n; ++i) this.am(0, t[i], r, i, 0, e - i); + r.clamp() + }, s.prototype.multiplyUpperTo = function(t, e, r) { + --e; + var n = r.t = this.t + t.t - e; + for (r.s = 0; --n >= 0;) r[n] = 0; + for (n = Math.max(e - this.t, 0); n < t.t; ++n) r[this.t + n - e] = this.am(e - n, t[n], r, 0, 0, this.t + n - e); + r.clamp(), r.drShiftTo(1, r) + }, s.prototype.modInt = function(t) { + if (t <= 0) return 0; + var e = this.DV % t, + r = this.s < 0 ? t - 1 : 0; + if (this.t > 0) + if (0 === e) r = this[0] % t; + else + for (var n = this.t - 1; n >= 0; --n) r = (e * r + this[n]) % t; + return r + }, s.prototype.millerRabin = function(t) { + var e = this.subtract(s.ONE), + r = e.getLowestSetBit(); + if (r <= 0) return !1; + var n = e.shiftRight(r); + (t = t + 1 >> 1) > A.length && (t = A.length); + for (var i = a(), o = 0; o < t; ++o) { + i.fromInt(A[Math.floor(Math.random() * A.length)]); + var f = i.modPow(n, this); + if (0 != f.compareTo(s.ONE) && 0 != f.compareTo(e)) { + for (var u = 1; u++ < r && 0 != f.compareTo(e);) + if (0 === (f = f.modPowInt(2, this)).compareTo(s.ONE)) return !1; + if (0 != f.compareTo(e)) return !1 + } + } + return !0 + }, s.prototype.toString = function(t) { + if (this.s < 0) return "-" + this.negate().toString(t); + var e; + if (16 == t) e = 4; + else if (8 == t) e = 3; + else if (2 == t) e = 1; + else if (32 == t) e = 5; + else { + if (4 != t) return this.toRadix(t); + e = 2 + } + var r, n = (1 << e) - 1, + i = !1, + o = "", + s = this.t, + a = this.DB - s * this.DB % e; + if (s-- > 0) + for (a < this.DB && (r = this[s] >> a) > 0 && (i = !0, o = h(r)); s >= 0;) a < e ? (r = (this[s] & (1 << a) - 1) << e - a, r |= this[--s] >> (a += this.DB - e)) : (r = this[s] >> (a -= e) & n, a <= 0 && (a += this.DB, --s)), r > 0 && (i = !0), i && (o += h(r)); + return i ? o : "0" + }, s.prototype.negate = function() { + var t = a(); + return s.ZERO.subTo(this, t), t + }, s.prototype.abs = function() { + return this.s < 0 ? this.negate() : this + }, s.prototype.compareTo = function(t) { + var e = this.s - t.s; + if (0 != e) return e; + var r = this.t; + if (0 != (e = r - t.t)) return this.s < 0 ? -e : e; + for (; --r >= 0;) + if (0 != (e = this[r] - t[r])) return e; + return 0 + }, s.prototype.bitLength = function() { + return this.t <= 0 ? 0 : this.DB * (this.t - 1) + y(this[this.t - 1] ^ this.s & this.DM) + }, s.prototype.mod = function(t) { + var e = a(); + return this.abs().divRemTo(t, null, e), this.s < 0 && e.compareTo(s.ZERO) > 0 && t.subTo(e, e), e + }, s.prototype.modPowInt = function(t, e) { + var r; + return r = t < 256 || e.isEven() ? new g(e) : new d(e), this.exp(t, r) + }, s.prototype.clone = function() { + var t = a(); + return this.copyTo(t), t + }, s.prototype.intValue = function() { + if (this.s < 0) { + if (1 == this.t) return this[0] - this.DV; + if (0 === this.t) return -1 + } else { + if (1 == this.t) return this[0]; + if (0 === this.t) return 0 + } + return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0] + }, s.prototype.byteValue = function() { + return 0 == this.t ? this.s : this[0] << 24 >> 24 + }, s.prototype.shortValue = function() { + return 0 == this.t ? this.s : this[0] << 16 >> 16 + }, s.prototype.signum = function() { + return this.s < 0 ? -1 : this.t <= 0 || 1 == this.t && this[0] <= 0 ? 0 : 1 + }, s.prototype.toByteArray = function() { + var t = this.t, + e = new Array; + e[0] = this.s; + var r, n = this.DB - t * this.DB % 8, + i = 0; + if (t-- > 0) + for (n < this.DB && (r = this[t] >> n) != (this.s & this.DM) >> n && (e[i++] = r | this.s << this.DB - n); t >= 0;) n < 8 ? (r = (this[t] & (1 << n) - 1) << 8 - n, r |= this[--t] >> (n += this.DB - 8)) : (r = this[t] >> (n -= 8) & 255, n <= 0 && (n += this.DB, --t)), 128 & r && (r |= -256), 0 === i && (128 & this.s) != (128 & r) && ++i, (i > 0 || r != this.s) && (e[i++] = r); + return e + }, s.prototype.toBuffer = function(t) { + var e = n.from(this.toByteArray()); + if (!0 === t && 0 === e[0]) e = e.slice(1); + else if (o.isNumber(t)) { + if (e.length > t) { + for (var r = 0; r < e.length - t; r++) + if (0 !== e[r]) return null; + return e.slice(e.length - t) + } + if (e.length < t) { + var i = n.alloc(t); + return i.fill(0, 0, t - e.length), e.copy(i, t - e.length), i + } + } + return e + }, s.prototype.equals = function(t) { + return 0 == this.compareTo(t) + }, s.prototype.min = function(t) { + return this.compareTo(t) < 0 ? this : t + }, s.prototype.max = function(t) { + return this.compareTo(t) > 0 ? this : t + }, s.prototype.and = function(t) { + var e = a(); + return this.bitwiseTo(t, v, e), e + }, s.prototype.or = function(t) { + var e = a(); + return this.bitwiseTo(t, m, e), e + }, s.prototype.xor = function(t) { + var e = a(); + return this.bitwiseTo(t, S, e), e + }, s.prototype.andNot = function(t) { + var e = a(); + return this.bitwiseTo(t, _, e), e + }, s.prototype.not = function() { + for (var t = a(), e = 0; e < this.t; ++e) t[e] = this.DM & ~this[e]; + return t.t = this.t, t.s = ~this.s, t + }, s.prototype.shiftLeft = function(t) { + var e = a(); + return t < 0 ? this.rShiftTo(-t, e) : this.lShiftTo(t, e), e + }, s.prototype.shiftRight = function(t) { + var e = a(); + return t < 0 ? this.lShiftTo(-t, e) : this.rShiftTo(t, e), e + }, s.prototype.getLowestSetBit = function() { + for (var t = 0; t < this.t; ++t) + if (0 != this[t]) return t * this.DB + b(this[t]); + return this.s < 0 ? this.t * this.DB : -1 + }, s.prototype.bitCount = function() { + for (var t = 0, e = this.s & this.DM, r = 0; r < this.t; ++r) t += E(this[r] ^ e); + return t + }, s.prototype.testBit = function(t) { + var e = Math.floor(t / this.DB); + return e >= this.t ? 0 != this.s : !!(this[e] & 1 << t % this.DB) + }, s.prototype.setBit = function(t) { + return this.changeBit(t, m) + }, s.prototype.clearBit = function(t) { + return this.changeBit(t, _) + }, s.prototype.flipBit = function(t) { + return this.changeBit(t, S) + }, s.prototype.add = function(t) { + var e = a(); + return this.addTo(t, e), e + }, s.prototype.subtract = function(t) { + var e = a(); + return this.subTo(t, e), e + }, s.prototype.multiply = function(t) { + var e = a(); + return this.multiplyTo(t, e), e + }, s.prototype.divide = function(t) { + var e = a(); + return this.divRemTo(t, e, null), e + }, s.prototype.remainder = function(t) { + var e = a(); + return this.divRemTo(t, null, e), e + }, s.prototype.divideAndRemainder = function(t) { + var e = a(), + r = a(); + return this.divRemTo(t, e, r), new Array(e, r) + }, s.prototype.modPow = function(t, e) { + var r, n, i = t.bitLength(), + o = l(1); + if (i <= 0) return o; + r = i < 18 ? 1 : i < 48 ? 3 : i < 144 ? 4 : i < 768 ? 5 : 6, n = i < 8 ? new g(e) : e.isEven() ? new B(e) : new d(e); + var s = new Array, + f = 3, + u = r - 1, + c = (1 << r) - 1; + if (s[1] = n.convert(this), r > 1) { + var h = a(); + for (n.sqrTo(s[1], h); f <= c;) s[f] = a(), n.mulTo(h, s[f - 2], s[f]), f += 2 + } + var p, v, m = t.t - 1, + S = !0, + _ = a(); + for (i = y(t[m]) - 1; m >= 0;) { + for (i >= u ? p = t[m] >> i - u & c : (p = (t[m] & (1 << i + 1) - 1) << u - i, m > 0 && (p |= t[m - 1] >> this.DB + i - u)), f = r; !(1 & p);) p >>= 1, --f; + if ((i -= f) < 0 && (i += this.DB, --m), S) s[p].copyTo(o), S = !1; + else { + for (; f > 1;) n.sqrTo(o, _), n.sqrTo(_, o), f -= 2; + f > 0 ? n.sqrTo(o, _) : (v = o, o = _, _ = v), n.mulTo(_, s[p], o) + } + for (; m >= 0 && !(t[m] & 1 << i);) n.sqrTo(o, _), v = o, o = _, _ = v, --i < 0 && (i = this.DB - 1, --m) + } + return n.revert(o) + }, s.prototype.modInverse = function(t) { + var e = t.isEven(); + if (this.isEven() && e || 0 === t.signum()) return s.ZERO; + for (var r = t.clone(), n = this.clone(), i = l(1), o = l(0), a = l(0), f = l(1); 0 != r.signum();) { + for (; r.isEven();) r.rShiftTo(1, r), e ? (i.isEven() && o.isEven() || (i.addTo(this, i), o.subTo(t, o)), i.rShiftTo(1, i)) : o.isEven() || o.subTo(t, o), o.rShiftTo(1, o); + for (; n.isEven();) n.rShiftTo(1, n), e ? (a.isEven() && f.isEven() || (a.addTo(this, a), f.subTo(t, f)), a.rShiftTo(1, a)) : f.isEven() || f.subTo(t, f), f.rShiftTo(1, f); + r.compareTo(n) >= 0 ? (r.subTo(n, r), e && i.subTo(a, i), o.subTo(f, o)) : (n.subTo(r, n), e && a.subTo(i, a), f.subTo(o, f)) + } + return 0 != n.compareTo(s.ONE) ? s.ZERO : f.compareTo(t) >= 0 ? f.subtract(t) : f.signum() < 0 ? (f.addTo(t, f), f.signum() < 0 ? f.add(t) : f) : f + }, s.prototype.pow = function(t) { + return this.exp(t, new w) + }, s.prototype.gcd = function(t) { + var e = this.s < 0 ? this.negate() : this.clone(), + r = t.s < 0 ? t.negate() : t.clone(); + if (e.compareTo(r) < 0) { + var n = e; + e = r, r = n + } + var i = e.getLowestSetBit(), + o = r.getLowestSetBit(); + if (o < 0) return e; + for (i < o && (o = i), o > 0 && (e.rShiftTo(o, e), r.rShiftTo(o, r)); e.signum() > 0;)(i = e.getLowestSetBit()) > 0 && e.rShiftTo(i, e), (i = r.getLowestSetBit()) > 0 && r.rShiftTo(i, r), e.compareTo(r) >= 0 ? (e.subTo(r, e), e.rShiftTo(1, e)) : (r.subTo(e, r), r.rShiftTo(1, r)); + return o > 0 && r.lShiftTo(o, r), r + }, s.prototype.isProbablePrime = function(t) { + var e, r = this.abs(); + if (1 == r.t && r[0] <= A[A.length - 1]) { + for (e = 0; e < A.length; ++e) + if (r[0] == A[e]) return !0; + return !1 + } + if (r.isEven()) return !1; + for (e = 1; e < A.length;) { + for (var n = A[e], i = e + 1; i < A.length && n < x;) n *= A[i++]; + for (n = r.modInt(n); e < i;) + if (n % A[e++] == 0) return !1 + } + return r.millerRabin(t) + }, s.int2char = h, s.ZERO = l(0), s.ONE = l(1), s.prototype.square = function() { + var t = a(); + return this.squareTo(t), t + }, t.exports = s + }, + 5682: (t, e, r) => { + var n = r(8287).Buffer, + i = r(8226)._, + o = (r(3200), r(1973)), + s = r(8226), + a = r(1768), + f = r(4538); + e.BigInteger = o, t.exports.Key = function() { + function t() { + this.n = null, this.e = 0, this.d = null, this.p = null, this.q = null, this.dmp1 = null, this.dmq1 = null, this.coeff = null + } + return t.prototype.setOptions = function(t) { + var e = a[t.signingScheme], + r = a[t.encryptionScheme]; + e === r ? this.signingScheme = this.encryptionScheme = r.makeScheme(this, t) : (this.encryptionScheme = r.makeScheme(this, t), this.signingScheme = e.makeScheme(this, t)), this.encryptEngine = f.getEngine(this, t) + }, t.prototype.generate = function(t, e) { + var r = t >> 1; + this.e = parseInt(e, 16); + for (var n = new o(e, 16);;) { + for (; this.p = new o(t - r, 1), 0 !== this.p.subtract(o.ONE).gcd(n).compareTo(o.ONE) || !this.p.isProbablePrime(10);); + for (; this.q = new o(r, 1), 0 !== this.q.subtract(o.ONE).gcd(n).compareTo(o.ONE) || !this.q.isProbablePrime(10);); + if (this.p.compareTo(this.q) <= 0) { + var i = this.p; + this.p = this.q, this.q = i + } + var s = this.p.subtract(o.ONE), + a = this.q.subtract(o.ONE), + f = s.multiply(a); + if (0 === f.gcd(n).compareTo(o.ONE)) { + if (this.n = this.p.multiply(this.q), this.n.bitLength() < t) continue; + this.d = n.modInverse(f), this.dmp1 = this.d.mod(s), this.dmq1 = this.d.mod(a), this.coeff = this.q.modInverse(this.p); + break + } + } + this.$$recalculateCache() + }, t.prototype.setPrivate = function(t, e, r, n, a, f, u, c) { + if (!(t && e && r && t.length > 0 && (i.isNumber(e) || e.length > 0) && r.length > 0)) throw Error("Invalid RSA private key"); + this.n = new o(t), this.e = i.isNumber(e) ? e : s.get32IntFromBuffer(e, 0), this.d = new o(r), n && a && f && u && c && (this.p = new o(n), this.q = new o(a), this.dmp1 = new o(f), this.dmq1 = new o(u), this.coeff = new o(c)), this.$$recalculateCache() + }, t.prototype.setPublic = function(t, e) { + if (!(t && e && t.length > 0 && (i.isNumber(e) || e.length > 0))) throw Error("Invalid RSA public key"); + this.n = new o(t), this.e = i.isNumber(e) ? e : s.get32IntFromBuffer(e, 0), this.$$recalculateCache() + }, t.prototype.$doPrivate = function(t) { + if (this.p || this.q) return t.modPow(this.d, this.n); + for (var e = t.mod(this.p).modPow(this.dmp1, this.p), r = t.mod(this.q).modPow(this.dmq1, this.q); e.compareTo(r) < 0;) e = e.add(this.p); + return e.subtract(r).multiply(this.coeff).mod(this.p).multiply(this.q).add(r) + }, t.prototype.$doPublic = function(t) { + return t.modPowInt(this.e, this.n) + }, t.prototype.encrypt = function(t, e) { + var r = [], + i = [], + o = t.length, + s = Math.ceil(o / this.maxMessageLength) || 1, + a = Math.ceil(o / s || 1); + if (1 == s) r.push(t); + else + for (var f = 0; f < s; f++) r.push(t.slice(f * a, (f + 1) * a)); + for (var u = 0; u < r.length; u++) i.push(this.encryptEngine.encrypt(r[u], e)); + return n.concat(i) + }, t.prototype.decrypt = function(t, e) { + if (t.length % this.encryptedDataLength > 0) throw Error("Incorrect data or key"); + for (var r = [], i = 0, o = 0, s = t.length / this.encryptedDataLength, a = 0; a < s; a++) o = (i = a * this.encryptedDataLength) + this.encryptedDataLength, r.push(this.encryptEngine.decrypt(t.slice(i, Math.min(o, t.length)), e)); + return n.concat(r) + }, t.prototype.sign = function(t) { + return this.signingScheme.sign.apply(this.signingScheme, arguments) + }, t.prototype.verify = function(t, e, r) { + return this.signingScheme.verify.apply(this.signingScheme, arguments) + }, t.prototype.isPrivate = function() { + return !!(this.n && this.e && this.d) + }, t.prototype.isPublic = function(t) { + return this.n && this.e && !(t && this.d) || !1 + }, Object.defineProperty(t.prototype, "keySize", { + get: function() { + return this.cache.keyBitLength + } + }), Object.defineProperty(t.prototype, "encryptedDataLength", { + get: function() { + return this.cache.keyByteLength + } + }), Object.defineProperty(t.prototype, "maxMessageLength", { + get: function() { + return this.encryptionScheme.maxMessageLength() + } + }), t.prototype.$$recalculateCache = function() { + this.cache = this.cache || {}, this.cache.keyBitLength = this.n.bitLength(), this.cache.keyByteLength = this.cache.keyBitLength + 6 >> 3 + }, t + }() + }, + 2487: (t, e, r) => { + var n = r(8287).Buffer, + i = (r(1973), r(3200)); + t.exports = { + isEncryption: !0, + isSignature: !1 + }, t.exports.digestLength = { + md4: 16, + md5: 16, + ripemd160: 20, + rmd160: 20, + sha1: 20, + sha224: 28, + sha256: 32, + sha384: 48, + sha512: 64 + }; + var o = "sha1"; + t.exports.eme_oaep_mgf1 = function(e, r, s) { + s = s || o; + for (var a = t.exports.digestLength[s], f = Math.ceil(r / a), u = n.alloc(a * f), c = n.alloc(4), h = 0; h < f; ++h) { + var p = i.createHash(s); + p.update(e), c.writeUInt32BE(h, 0), p.update(c), p.digest().copy(u, h * a) + } + return u.slice(0, r) + }, t.exports.makeScheme = function(e, r) { + function s(t, e) { + this.key = t, this.options = e + } + return s.prototype.maxMessageLength = function() { + return this.key.encryptedDataLength - 2 * t.exports.digestLength[this.options.encryptionSchemeOptions.hash || o] - 2 + }, s.prototype.encPad = function(e) { + var r = this.options.encryptionSchemeOptions.hash || o, + s = this.options.encryptionSchemeOptions.mgf || t.exports.eme_oaep_mgf1, + a = this.options.encryptionSchemeOptions.label || n.alloc(0), + f = this.key.encryptedDataLength, + u = t.exports.digestLength[r]; + if (e.length > f - 2 * u - 2) throw new Error("Message is too long to encode into an encoded message with a length of " + f + " bytes, increaseemLen to fix this error (minimum value for given parameters and options: " + (f - 2 * u - 2) + ")"); + var c = i.createHash(r); + c.update(a), c = c.digest(); + var h = n.alloc(f - e.length - 2 * u - 1); + h.fill(0), h[h.length - 1] = 1; + for (var p = n.concat([c, h, e]), l = i.randomBytes(u), y = s(l, p.length, r), g = 0; g < p.length; g++) p[g] ^= y[g]; + for (y = s(p, u, r), g = 0; g < l.length; g++) l[g] ^= y[g]; + var d = n.alloc(1 + l.length + p.length); + return d[0] = 0, l.copy(d, 1), p.copy(d, 1 + l.length), d + }, s.prototype.encUnPad = function(e) { + var r = this.options.encryptionSchemeOptions.hash || o, + s = this.options.encryptionSchemeOptions.mgf || t.exports.eme_oaep_mgf1, + a = this.options.encryptionSchemeOptions.label || n.alloc(0), + f = t.exports.digestLength[r]; + if (e.length < 2 * f + 2) throw new Error("Error decoding message, the supplied message is not long enough to be a valid OAEP encoded message"); + for (var u = e.slice(1, f + 1), c = e.slice(1 + f), h = s(c, f, r), p = 0; p < u.length; p++) u[p] ^= h[p]; + for (h = s(u, c.length, r), p = 0; p < c.length; p++) c[p] ^= h[p]; + var l = i.createHash(r); + if (l.update(a), l = l.digest(), c.slice(0, f).toString("hex") != l.toString("hex")) throw new Error("Error decoding message, the lHash calculated from the label provided and the lHash in the encrypted data do not match."); + for (p = f; 0 === c[p++] && p < c.length;); + if (1 != c[p - 1]) throw new Error("Error decoding message, there is no padding message separator byte"); + return c.slice(p) + }, new s(e, r) + } + }, + 8290: (t, e, r) => { + var n = r(8287).Buffer, + i = r(1973), + o = r(3200), + s = r(7449), + a = { + md2: n.from("3020300c06082a864886f70d020205000410", "hex"), + md5: n.from("3020300c06082a864886f70d020505000410", "hex"), + sha1: n.from("3021300906052b0e03021a05000414", "hex"), + sha224: n.from("302d300d06096086480165030402040500041c", "hex"), + sha256: n.from("3031300d060960864801650304020105000420", "hex"), + sha384: n.from("3041300d060960864801650304020205000430", "hex"), + sha512: n.from("3051300d060960864801650304020305000440", "hex"), + ripemd160: n.from("3021300906052b2403020105000414", "hex"), + rmd160: n.from("3021300906052b2403020105000414", "hex") + }, + f = { + ripemd160: "rmd160" + }, + u = "sha256"; + t.exports = { + isEncryption: !0, + isSignature: !0 + }, t.exports.makeScheme = function(t, e) { + function r(t, e) { + this.key = t, this.options = e + } + return r.prototype.maxMessageLength = function() { + return this.options.encryptionSchemeOptions && this.options.encryptionSchemeOptions.padding == s.RSA_NO_PADDING ? this.key.encryptedDataLength : this.key.encryptedDataLength - 11 + }, r.prototype.encPad = function(t, e) { + var r; + if (e = e || {}, t.length > this.key.maxMessageLength) throw new Error("Message too long for RSA (n=" + this.key.encryptedDataLength + ", l=" + t.length + ")"); + if (this.options.encryptionSchemeOptions && this.options.encryptionSchemeOptions.padding == s.RSA_NO_PADDING) return (r = n.alloc(this.key.maxMessageLength - t.length)).fill(0), n.concat([r, t]); + if (1 === e.type) return (r = n.alloc(this.key.encryptedDataLength - t.length - 1)).fill(255, 0, r.length - 1), r[0] = 1, r[r.length - 1] = 0, n.concat([r, t]); + (r = n.alloc(this.key.encryptedDataLength - t.length))[0] = 0, r[1] = 2; + for (var i = o.randomBytes(r.length - 3), a = 0; a < i.length; a++) { + for (var f = i[a]; 0 === f;) f = o.randomBytes(1)[0]; + r[a + 2] = f + } + return r[r.length - 1] = 0, n.concat([r, t]) + }, r.prototype.encUnPad = function(t, e) { + e = e || {}; + var r = 0; + if (this.options.encryptionSchemeOptions && this.options.encryptionSchemeOptions.padding == s.RSA_NO_PADDING) return "function" == typeof t.lastIndexOf ? t.slice(t.lastIndexOf("\0") + 1, t.length) : t.slice(String.prototype.lastIndexOf.call(t, "\0") + 1, t.length); + if (t.length < 4) return null; + if (1 === e.type) { + if (0 !== t[0] || 1 !== t[1]) return null; + for (r = 3; 0 !== t[r];) + if (255 != t[r] || ++r >= t.length) return null + } else { + if (0 !== t[0] || 2 !== t[1]) return null; + for (r = 3; 0 !== t[r];) + if (++r >= t.length) return null + } + return t.slice(r + 1, t.length) + }, r.prototype.sign = function(t) { + var e = this.options.signingSchemeOptions.hash || u; + if ("browser" === this.options.environment) { + e = f[e] || e; + var r = o.createHash(e); + r.update(t); + var n = this.pkcs1pad(r.digest(), e); + return this.key.$doPrivate(new i(n)).toBuffer(this.key.encryptedDataLength) + } + var s = o.createSign("RSA-" + e.toUpperCase()); + return s.update(t), s.sign(this.options.rsaUtils.exportKey("private")) + }, r.prototype.verify = function(t, e, r) { + if (this.options.encryptionSchemeOptions && this.options.encryptionSchemeOptions.padding == s.RSA_NO_PADDING) return !1; + var a = this.options.signingSchemeOptions.hash || u; + if ("browser" === this.options.environment) { + a = f[a] || a, r && (e = n.from(e, r)); + var c = o.createHash(a); + c.update(t); + var h = this.pkcs1pad(c.digest(), a); + return this.key.$doPublic(new i(e)).toBuffer().toString("hex") == h.toString("hex") + } + var p = o.createVerify("RSA-" + a.toUpperCase()); + return p.update(t), p.verify(this.options.rsaUtils.exportKey("public"), e, r) + }, r.prototype.pkcs0pad = function(t) { + var e = n.alloc(this.key.maxMessageLength - t.length); + return e.fill(0), n.concat([e, t]) + }, r.prototype.pkcs0unpad = function(t) { + return "function" == typeof t.lastIndexOf ? t.slice(t.lastIndexOf("\0") + 1, t.length) : t.slice(String.prototype.lastIndexOf.call(t, "\0") + 1, t.length) + }, r.prototype.pkcs1pad = function(t, e) { + var r = a[e]; + if (!r) throw Error("Unsupported hash algorithm"); + var i = n.concat([r, t]); + if (i.length + 10 > this.key.encryptedDataLength) throw Error("Key is too short for signing algorithm (" + e + ")"); + var o = n.alloc(this.key.encryptedDataLength - i.length - 1); + return o.fill(255, 0, o.length - 1), o[0] = 1, o[o.length - 1] = 0, n.concat([o, i]) + }, new r(t, e) + } + }, + 4414: (t, e, r) => { + var n = r(8287).Buffer, + i = r(1973), + o = r(3200); + t.exports = { + isEncryption: !1, + isSignature: !0 + }; + var s = "sha1"; + t.exports.makeScheme = function(t, e) { + var a = r(1768).pkcs1_oaep; + + function f(t, e) { + this.key = t, this.options = e + } + return f.prototype.sign = function(t) { + var e = o.createHash(this.options.signingSchemeOptions.hash || s); + e.update(t); + var r = this.emsa_pss_encode(e.digest(), this.key.keySize - 1); + return this.key.$doPrivate(new i(r)).toBuffer(this.key.encryptedDataLength) + }, f.prototype.verify = function(t, e, r) { + r && (e = n.from(e, r)), e = new i(e); + var a = Math.ceil((this.key.keySize - 1) / 8), + f = this.key.$doPublic(e).toBuffer(a), + u = o.createHash(this.options.signingSchemeOptions.hash || s); + return u.update(t), this.emsa_pss_verify(u.digest(), f, this.key.keySize - 1) + }, f.prototype.emsa_pss_encode = function(t, e) { + var r = this.options.signingSchemeOptions.hash || s, + i = this.options.signingSchemeOptions.mgf || a.eme_oaep_mgf1, + f = this.options.signingSchemeOptions.saltLength || 20, + u = a.digestLength[r], + c = Math.ceil(e / 8); + if (c < u + f + 2) throw new Error("Output length passed to emBits(" + e + ") is too small for the options specified(" + r + ", " + f + "). To fix this issue increase the value of emBits. (minimum size: " + (8 * u + 8 * f + 9) + ")"); + var h = o.randomBytes(f), + p = n.alloc(8 + u + f); + p.fill(0, 0, 8), t.copy(p, 8), h.copy(p, 8 + t.length); + var l = o.createHash(r); + l.update(p), l = l.digest(); + var y = n.alloc(c - h.length - u - 2); + y.fill(0); + var g = n.alloc(y.length + 1 + h.length); + y.copy(g), g[y.length] = 1, h.copy(g, y.length + 1); + for (var d = i(l, g.length, r), v = n.alloc(g.length), m = 0; m < d.length; m++) v[m] = g[m] ^ d[m]; + var S = 8 * c - e, + _ = 255 ^ 255 >> 8 - S << 8 - S; + v[0] = v[0] & _; + var b = n.alloc(v.length + l.length + 1); + return v.copy(b, 0), l.copy(b, v.length), b[b.length - 1] = 188, b + }, f.prototype.emsa_pss_verify = function(t, e, r) { + var i = this.options.signingSchemeOptions.hash || s, + f = this.options.signingSchemeOptions.mgf || a.eme_oaep_mgf1, + u = this.options.signingSchemeOptions.saltLength || 20, + c = a.digestLength[i], + h = Math.ceil(r / 8); + if (h < c + u + 2 || 188 != e[e.length - 1]) return !1; + var p = n.alloc(h - c - 1); + e.copy(p, 0, 0, h - c - 1); + for (var l = 0, y = 0, g = 8 * h - r; y < g; y++) l |= 1 << 7 - y; + if (p[0] & l) return !1; + var d = e.slice(h - c - 1, h - 1), + v = f(d, p.length, i); + for (y = 0; y < p.length; y++) p[y] ^= v[y]; + for (l = 255 ^ 255 >> 8 - (g = 8 * h - r) << 8 - g, p[0] = p[0] & l, y = 0; 0 === p[y] && y < p.length; y++); + if (1 != p[y]) return !1; + var m = p.slice(p.length - u), + S = n.alloc(8 + c + u); + S.fill(0, 0, 8), t.copy(S, 8), m.copy(S, 8 + t.length); + var _ = o.createHash(i); + return _.update(S), _ = _.digest(), d.toString("hex") === _.toString("hex") + }, new f(t, e) + } + }, + 1768: (t, e, r) => { + t.exports = { + pkcs1: r(8290), + pkcs1_oaep: r(2487), + pss: r(4414), + isEncryption: function(e) { + return t.exports[e] && t.exports[e].isEncryption + }, + isSignature: function(e) { + return t.exports[e] && t.exports[e].isSignature + } + } + }, + 8226: (t, e, r) => { + var n = r(5606); + r(3200), t.exports.linebrk = function(t, e) { + for (var r = "", n = 0; n + e < t.length;) r += t.substring(n, n + e) + "\n", n += e; + return r + t.substring(n, t.length) + }, t.exports.detectEnvironment = function() { + return "browser"; + "undefined" == typeof window || !window || n && "node" === n.title ? "node" : "browser" + }, t.exports.get32IntFromBuffer = function(t, e) { + var r; + if (e = e || 0, (r = t.length - e) > 0) { + if (r >= 4) return t.readUIntBE(e, r); + for (var n = 0, i = e + r, o = 0; i > e; i--, o += 2) n += t[i - 1] * Math.pow(16, o); + return n + } + return NaN + }, t.exports._ = { + isObject: function(t) { + var e = typeof t; + return !!t && ("object" == e || "function" == e) + }, + isString: function(t) { + return "string" == typeof t || t instanceof String + }, + isNumber: function(t) { + return "number" == typeof t || !isNaN(parseFloat(t)) && isFinite(t) + }, + omit: function(t, e) { + var r = {}; + for (var n in t) t.hasOwnProperty(n) && n !== e && (r[n] = t[n]); + return r + } + }, t.exports.trimSurroundingText = function(t, e, r) { + var n = 0, + i = t.length, + o = t.indexOf(e); + o >= 0 && (n = o + e.length); + var s = t.indexOf(r, o); + return s >= 0 && (i = s), t.substring(n, i) + } + }, + 8875: (t, e, r) => { + "use strict"; + var n; + if (!Object.keys) { + var i = Object.prototype.hasOwnProperty, + o = Object.prototype.toString, + s = r(1093), + a = Object.prototype.propertyIsEnumerable, + f = !a.call({ + toString: null + }, "toString"), + u = a.call((function() {}), "prototype"), + c = ["toString", "toLocaleString", "valueOf", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "constructor"], + h = function(t) { + var e = t.constructor; + return e && e.prototype === t + }, + p = { + $applicationCache: !0, + $console: !0, + $external: !0, + $frame: !0, + $frameElement: !0, + $frames: !0, + $innerHeight: !0, + $innerWidth: !0, + $onmozfullscreenchange: !0, + $onmozfullscreenerror: !0, + $outerHeight: !0, + $outerWidth: !0, + $pageXOffset: !0, + $pageYOffset: !0, + $parent: !0, + $scrollLeft: !0, + $scrollTop: !0, + $scrollX: !0, + $scrollY: !0, + $self: !0, + $webkitIndexedDB: !0, + $webkitStorageInfo: !0, + $window: !0 + }, + l = function() { + if ("undefined" == typeof window) return !1; + for (var t in window) try { + if (!p["$" + t] && i.call(window, t) && null !== window[t] && "object" == typeof window[t]) try { + h(window[t]) + } catch (t) { + return !0 + } + } catch (t) { + return !0 + } + return !1 + }(); + n = function(t) { + var e = null !== t && "object" == typeof t, + r = "[object Function]" === o.call(t), + n = s(t), + a = e && "[object String]" === o.call(t), + p = []; + if (!e && !r && !n) throw new TypeError("Object.keys called on a non-object"); + var y = u && r; + if (a && t.length > 0 && !i.call(t, 0)) + for (var g = 0; g < t.length; ++g) p.push(String(g)); + if (n && t.length > 0) + for (var d = 0; d < t.length; ++d) p.push(String(d)); + else + for (var v in t) y && "prototype" === v || !i.call(t, v) || p.push(String(v)); + if (f) + for (var m = function(t) { + if ("undefined" == typeof window || !l) return h(t); + try { + return h(t) + } catch (t) { + return !1 + } + }(t), S = 0; S < c.length; ++S) m && "constructor" === c[S] || !i.call(t, c[S]) || p.push(c[S]); + return p + } + } + t.exports = n + }, + 1189: (t, e, r) => { + "use strict"; + var n = Array.prototype.slice, + i = r(1093), + o = Object.keys, + s = o ? function(t) { + return o(t) + } : r(8875), + a = Object.keys; + s.shim = function() { + if (Object.keys) { + var t = function() { + var t = Object.keys(arguments); + return t && t.length === arguments.length + }(1, 2); + t || (Object.keys = function(t) { + return i(t) ? a(n.call(t)) : a(t) + }) + } else Object.keys = s; + return Object.keys || s + }, t.exports = s + }, + 1093: t => { + "use strict"; + var e = Object.prototype.toString; + t.exports = function(t) { + var r = e.call(t), + n = "[object Arguments]" === r; + return n || (n = "[object Array]" !== r && null !== t && "object" == typeof t && "number" == typeof t.length && t.length >= 0 && "[object Function]" === e.call(t.callee)), n + } + }, + 8403: (t, e, r) => { + "use strict"; + var n = r(1189), + i = r(1333)(), + o = r(8075), + s = Object, + a = o("Array.prototype.push"), + f = o("Object.prototype.propertyIsEnumerable"), + u = i ? Object.getOwnPropertySymbols : null; + t.exports = function(t, e) { + if (null == t) throw new TypeError("target must be an object"); + var r = s(t); + if (1 === arguments.length) return r; + for (var o = 1; o < arguments.length; ++o) { + var c = s(arguments[o]), + h = n(c), + p = i && (Object.getOwnPropertySymbols || u); + if (p) + for (var l = p(c), y = 0; y < l.length; ++y) { + var g = l[y]; + f(c, g) && a(h, g) + } + for (var d = 0; d < h.length; ++d) { + var v = h[d]; + if (f(c, v)) { + var m = c[v]; + r[v] = m + } + } + } + return r + } + }, + 1514: (t, e, r) => { + "use strict"; + var n = r(8403); + t.exports = function() { + return Object.assign ? function() { + if (!Object.assign) return !1; + for (var t = "abcdefghijklmnopqrst", e = t.split(""), r = {}, n = 0; n < e.length; ++n) r[e[n]] = e[n]; + var i = Object.assign({}, r), + o = ""; + for (var s in i) o += s; + return t !== o + }() || function() { + if (!Object.assign || !Object.preventExtensions) return !1; + var t = Object.preventExtensions({ + 1: 2 + }); + try { + Object.assign(t, "xy") + } catch (e) { + return "y" === t[1] + } + return !1 + }() ? n : Object.assign : n + } + }, + 5606: t => { + var e, r, n = t.exports = {}; + + function i() { + throw new Error("setTimeout has not been defined") + } + + function o() { + throw new Error("clearTimeout has not been defined") + } + + function s(t) { + if (e === setTimeout) return setTimeout(t, 0); + if ((e === i || !e) && setTimeout) return e = setTimeout, setTimeout(t, 0); + try { + return e(t, 0) + } catch (r) { + try { + return e.call(null, t, 0) + } catch (r) { + return e.call(this, t, 0) + } + } + }! function() { + try { + e = "function" == typeof setTimeout ? setTimeout : i + } catch (t) { + e = i + } + try { + r = "function" == typeof clearTimeout ? clearTimeout : o + } catch (t) { + r = o + } + }(); + var a, f = [], + u = !1, + c = -1; + + function h() { + u && a && (u = !1, a.length ? f = a.concat(f) : c = -1, f.length && p()) + } + + function p() { + if (!u) { + var t = s(h); + u = !0; + for (var e = f.length; e;) { + for (a = f, f = []; ++c < e;) a && a[c].run(); + c = -1, e = f.length + } + a = null, u = !1, + function(t) { + if (r === clearTimeout) return clearTimeout(t); + if ((r === o || !r) && clearTimeout) return r = clearTimeout, clearTimeout(t); + try { + return r(t) + } catch (e) { + try { + return r.call(null, t) + } catch (e) { + return r.call(this, t) + } + } + }(t) + } + } + + function l(t, e) { + this.fun = t, this.array = e + } + + function y() {} + n.nextTick = function(t) { + var e = new Array(arguments.length - 1); + if (arguments.length > 1) + for (var r = 1; r < arguments.length; r++) e[r - 1] = arguments[r]; + f.push(new l(t, e)), 1 !== f.length || u || s(p) + }, l.prototype.run = function() { + this.fun.apply(null, this.array) + }, n.title = "browser", n.browser = !0, n.env = {}, n.argv = [], n.version = "", n.versions = {}, n.on = y, n.addListener = y, n.once = y, n.off = y, n.removeListener = y, n.removeAllListeners = y, n.emit = y, n.prependListener = y, n.prependOnceListener = y, n.listeners = function(t) { + return [] + }, n.binding = function(t) { + throw new Error("process.binding is not supported") + }, n.cwd = function() { + return "/" + }, n.chdir = function(t) { + throw new Error("process.chdir is not supported") + }, n.umask = function() { + return 0 + } + }, + 4774: (t, e, r) => { + "use strict"; + var n, i = r(5606), + o = r(8287), + s = o.Buffer, + a = {}; + for (n in o) o.hasOwnProperty(n) && "SlowBuffer" !== n && "Buffer" !== n && (a[n] = o[n]); + var f = a.Buffer = {}; + for (n in s) s.hasOwnProperty(n) && "allocUnsafe" !== n && "allocUnsafeSlow" !== n && (f[n] = s[n]); + if (a.Buffer.prototype = s.prototype, f.from && f.from !== Uint8Array.from || (f.from = function(t, e, r) { + if ("number" == typeof t) throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof t); + if (t && void 0 === t.length) throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof t); + return s(t, e, r) + }), f.alloc || (f.alloc = function(t, e, r) { + if ("number" != typeof t) throw new TypeError('The "size" argument must be of type number. Received type ' + typeof t); + if (t < 0 || t >= 2 * (1 << 30)) throw new RangeError('The value "' + t + '" is invalid for option "size"'); + var n = s(t); + return e && 0 !== e.length ? "string" == typeof r ? n.fill(e, r) : n.fill(e) : n.fill(0), n + }), !a.kStringMaxLength) try { + a.kStringMaxLength = i.binding("buffer").kStringMaxLength + } catch (t) {} + a.constants || (a.constants = { + MAX_LENGTH: a.kMaxLength + }, a.kStringMaxLength && (a.constants.MAX_STRING_LENGTH = a.kStringMaxLength)), t.exports = a + }, + 6897: (t, e, r) => { + "use strict"; + var n = r(453), + i = r(41), + o = r(592)(), + s = r(5795), + a = r(9675), + f = n("%Math.floor%"); + t.exports = function(t, e) { + if ("function" != typeof t) throw new a("`fn` is not a function"); + if ("number" != typeof e || e < 0 || e > 4294967295 || f(e) !== e) throw new a("`length` must be a positive 32-bit integer"); + var r = arguments.length > 2 && !!arguments[2], + n = !0, + u = !0; + if ("length" in t && s) { + var c = s(t, "length"); + c && !c.configurable && (n = !1), c && !c.writable && (u = !1) + } + return (n || u || !r) && (o ? i(t, "length", e, !0, !0) : i(t, "length", e)), t + } + }, + 3200: (t, e, r) => { + var n = r(8287).Buffer, + i = r(1396), + o = { + randomBytes: function(t) { + for (var e = [], r = 0; r < t; r++) e.push(Math.floor(256 * Math.random())); + return n.from(e) + }, + createHash(t) { + let e = n.from([]); + return { + update: function(t) { + return e = n.concat([e, t]), this + }, + digest: function() { + let r = i[t.toUpperCase()](i.lib.WordArray.create(new Uint8Array(e))).toString(); + return n.from(r, "hex") + } + } + } + }; + t.exports = o + }, + 7033: (t, e, r) => { + var n = r(8287).Buffer; + const i = r(3229); + let o = { + outputEncoding: "", + PublicFormat: "pkcs1-public", + PrivateFormat: "pkcs1-private", + options: { + environment: "browser", + encryptionScheme: "pkcs1" + } + }; + t.exports = { + NodeRSA: i, + encryptRSAWithPublicKey: function(t, e, r = {}) { + return r = Object.assign({}, o, r), new i(e, r.PublicFormat, r.options).encrypt(t, r.outEncoding || "base64") + }, + encryptRSAWithPrivateKey: function(t, e, r = {}) { + return r = Object.assign({}, o, r), new i(e, r.PrivateFormat, r.options).encryptPrivate(t, r.outputEncoding || "base64") + }, + decryptRSAWithPublicKey: function(t, e, r = {}) { + return r = Object.assign({}, o, r), new i(e, r.PublicEncoding, r.options).decryptPublic(t, r.outEncoding || "utf8") + }, + decryptRSAWithPrivateKey: function(t, e, r = {}) { + return r = Object.assign({}, o, r), new i(e, r.PrivateEncoding, r.options).decrypt(t, r.outEncoding || "utf8") + }, + sign: function(t, e, r = {}) { + return r = Object.assign({}, o, r), new i(e, r.PrivateEncoding, r.options).sign(t, r.outEncoding || "base64") + }, + verify: function(t, e, r, s = {}) { + return "string" == typeof e && e.match(/^([0-9a-fA-F]{2})*$/) ? e = n.from(e, "hex") : "string" == typeof e && (e = n.from(e, "base64")), s = Object.assign({}, o, s), new i(r, s.PublicEncoding, s.options).verify(t, e) + } + } + }, + 7449: t => { + "use strict"; + t.exports = JSON.parse('{"O_RDONLY":0,"O_WRONLY":1,"O_RDWR":2,"S_IFMT":61440,"S_IFREG":32768,"S_IFDIR":16384,"S_IFCHR":8192,"S_IFBLK":24576,"S_IFIFO":4096,"S_IFLNK":40960,"S_IFSOCK":49152,"O_CREAT":512,"O_EXCL":2048,"O_NOCTTY":131072,"O_TRUNC":1024,"O_APPEND":8,"O_DIRECTORY":1048576,"O_NOFOLLOW":256,"O_SYNC":128,"O_SYMLINK":2097152,"O_NONBLOCK":4,"S_IRWXU":448,"S_IRUSR":256,"S_IWUSR":128,"S_IXUSR":64,"S_IRWXG":56,"S_IRGRP":32,"S_IWGRP":16,"S_IXGRP":8,"S_IRWXO":7,"S_IROTH":4,"S_IWOTH":2,"S_IXOTH":1,"E2BIG":7,"EACCES":13,"EADDRINUSE":48,"EADDRNOTAVAIL":49,"EAFNOSUPPORT":47,"EAGAIN":35,"EALREADY":37,"EBADF":9,"EBADMSG":94,"EBUSY":16,"ECANCELED":89,"ECHILD":10,"ECONNABORTED":53,"ECONNREFUSED":61,"ECONNRESET":54,"EDEADLK":11,"EDESTADDRREQ":39,"EDOM":33,"EDQUOT":69,"EEXIST":17,"EFAULT":14,"EFBIG":27,"EHOSTUNREACH":65,"EIDRM":90,"EILSEQ":92,"EINPROGRESS":36,"EINTR":4,"EINVAL":22,"EIO":5,"EISCONN":56,"EISDIR":21,"ELOOP":62,"EMFILE":24,"EMLINK":31,"EMSGSIZE":40,"EMULTIHOP":95,"ENAMETOOLONG":63,"ENETDOWN":50,"ENETRESET":52,"ENETUNREACH":51,"ENFILE":23,"ENOBUFS":55,"ENODATA":96,"ENODEV":19,"ENOENT":2,"ENOEXEC":8,"ENOLCK":77,"ENOLINK":97,"ENOMEM":12,"ENOMSG":91,"ENOPROTOOPT":42,"ENOSPC":28,"ENOSR":98,"ENOSTR":99,"ENOSYS":78,"ENOTCONN":57,"ENOTDIR":20,"ENOTEMPTY":66,"ENOTSOCK":38,"ENOTSUP":45,"ENOTTY":25,"ENXIO":6,"EOPNOTSUPP":102,"EOVERFLOW":84,"EPERM":1,"EPIPE":32,"EPROTO":100,"EPROTONOSUPPORT":43,"EPROTOTYPE":41,"ERANGE":34,"EROFS":30,"ESPIPE":29,"ESRCH":3,"ESTALE":70,"ETIME":101,"ETIMEDOUT":60,"ETXTBSY":26,"EWOULDBLOCK":35,"EXDEV":18,"SIGHUP":1,"SIGINT":2,"SIGQUIT":3,"SIGILL":4,"SIGTRAP":5,"SIGABRT":6,"SIGIOT":6,"SIGBUS":10,"SIGFPE":8,"SIGKILL":9,"SIGUSR1":30,"SIGSEGV":11,"SIGUSR2":31,"SIGPIPE":13,"SIGALRM":14,"SIGTERM":15,"SIGCHLD":20,"SIGCONT":19,"SIGSTOP":17,"SIGTSTP":18,"SIGTTIN":21,"SIGTTOU":22,"SIGURG":16,"SIGXCPU":24,"SIGXFSZ":25,"SIGVTALRM":26,"SIGPROF":27,"SIGWINCH":28,"SIGIO":23,"SIGSYS":12,"SSL_OP_ALL":2147486719,"SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION":262144,"SSL_OP_CIPHER_SERVER_PREFERENCE":4194304,"SSL_OP_CISCO_ANYCONNECT":32768,"SSL_OP_COOKIE_EXCHANGE":8192,"SSL_OP_CRYPTOPRO_TLSEXT_BUG":2147483648,"SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS":2048,"SSL_OP_EPHEMERAL_RSA":0,"SSL_OP_LEGACY_SERVER_CONNECT":4,"SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER":32,"SSL_OP_MICROSOFT_SESS_ID_BUG":1,"SSL_OP_MSIE_SSLV2_RSA_PADDING":0,"SSL_OP_NETSCAPE_CA_DN_BUG":536870912,"SSL_OP_NETSCAPE_CHALLENGE_BUG":2,"SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG":1073741824,"SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG":8,"SSL_OP_NO_COMPRESSION":131072,"SSL_OP_NO_QUERY_MTU":4096,"SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION":65536,"SSL_OP_NO_SSLv2":16777216,"SSL_OP_NO_SSLv3":33554432,"SSL_OP_NO_TICKET":16384,"SSL_OP_NO_TLSv1":67108864,"SSL_OP_NO_TLSv1_1":268435456,"SSL_OP_NO_TLSv1_2":134217728,"SSL_OP_PKCS1_CHECK_1":0,"SSL_OP_PKCS1_CHECK_2":0,"SSL_OP_SINGLE_DH_USE":1048576,"SSL_OP_SINGLE_ECDH_USE":524288,"SSL_OP_SSLEAY_080_CLIENT_DH_BUG":128,"SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG":0,"SSL_OP_TLS_BLOCK_PADDING_BUG":512,"SSL_OP_TLS_D5_BUG":256,"SSL_OP_TLS_ROLLBACK_BUG":8388608,"ENGINE_METHOD_DSA":2,"ENGINE_METHOD_DH":4,"ENGINE_METHOD_RAND":8,"ENGINE_METHOD_ECDH":16,"ENGINE_METHOD_ECDSA":32,"ENGINE_METHOD_CIPHERS":64,"ENGINE_METHOD_DIGESTS":128,"ENGINE_METHOD_STORE":256,"ENGINE_METHOD_PKEY_METHS":512,"ENGINE_METHOD_PKEY_ASN1_METHS":1024,"ENGINE_METHOD_ALL":65535,"ENGINE_METHOD_NONE":0,"DH_CHECK_P_NOT_SAFE_PRIME":2,"DH_CHECK_P_NOT_PRIME":1,"DH_UNABLE_TO_CHECK_GENERATOR":4,"DH_NOT_SUITABLE_GENERATOR":8,"NPN_ENABLED":1,"RSA_PKCS1_PADDING":1,"RSA_SSLV23_PADDING":2,"RSA_NO_PADDING":3,"RSA_PKCS1_OAEP_PADDING":4,"RSA_X931_PADDING":5,"RSA_PKCS1_PSS_PADDING":6,"POINT_CONVERSION_COMPRESSED":2,"POINT_CONVERSION_UNCOMPRESSED":4,"POINT_CONVERSION_HYBRID":6,"F_OK":0,"R_OK":4,"W_OK":2,"X_OK":1,"UV_UDP_REUSEADDR":4}') + } + }, + e = {}; + + function r(n) { + var i = e[n]; + if (void 0 !== i) return i.exports; + var o = e[n] = { + exports: {} + }; + return t[n].call(o.exports, o, o.exports, r), o.exports + } + return r.g = function() { + if ("object" == typeof globalThis) return globalThis; + try { + return this || new Function("return this")() + } catch (t) { + if ("object" == typeof window) return window + } + }(), r(7033) +})())); \ No newline at end of file diff --git a/欧歌/api/pako.min.js b/欧歌/api/pako.min.js index e69de29..09522f2 100644 --- a/欧歌/api/pako.min.js +++ b/欧歌/api/pako.min.js @@ -0,0 +1,1439 @@ +/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */ ! function(t, e) { + "object" == typeof exports && "undefined" != typeof module ? e(exports) : "function" == typeof define && define.amd ? define(["exports"], e) : e((t = "undefined" != typeof globalThis ? globalThis : t || self).pako = {}) +}(this, (function(t) { + "use strict"; + + function e(t) { + let e = t.length; + for (; --e >= 0;) t[e] = 0 + } + const a = 256, + i = 286, + n = 30, + s = 15, + r = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0]), + o = new Uint8Array([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]), + l = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]), + h = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), + d = new Array(576); + e(d); + const _ = new Array(60); + e(_); + const f = new Array(512); + e(f); + const c = new Array(256); + e(c); + const u = new Array(29); + e(u); + const w = new Array(n); + + function m(t, e, a, i, n) { + this.static_tree = t, this.extra_bits = e, this.extra_base = a, this.elems = i, this.max_length = n, this.has_stree = t && t.length + } + let b, g, p; + + function k(t, e) { + this.dyn_tree = t, this.max_code = 0, this.stat_desc = e + } + e(w); + const v = t => t < 256 ? f[t] : f[256 + (t >>> 7)], + y = (t, e) => { + t.pending_buf[t.pending++] = 255 & e, t.pending_buf[t.pending++] = e >>> 8 & 255 + }, + x = (t, e, a) => { + t.bi_valid > 16 - a ? (t.bi_buf |= e << t.bi_valid & 65535, y(t, t.bi_buf), t.bi_buf = e >> 16 - t.bi_valid, t.bi_valid += a - 16) : (t.bi_buf |= e << t.bi_valid & 65535, t.bi_valid += a) + }, + z = (t, e, a) => { + x(t, a[2 * e], a[2 * e + 1]) + }, + A = (t, e) => { + let a = 0; + do { + a |= 1 & t, t >>>= 1, a <<= 1 + } while (--e > 0); + return a >>> 1 + }, + E = (t, e, a) => { + const i = new Array(16); + let n, r, o = 0; + for (n = 1; n <= s; n++) o = o + a[n - 1] << 1, i[n] = o; + for (r = 0; r <= e; r++) { + let e = t[2 * r + 1]; + 0 !== e && (t[2 * r] = A(i[e]++, e)) + } + }, + R = t => { + let e; + for (e = 0; e < i; e++) t.dyn_ltree[2 * e] = 0; + for (e = 0; e < n; e++) t.dyn_dtree[2 * e] = 0; + for (e = 0; e < 19; e++) t.bl_tree[2 * e] = 0; + t.dyn_ltree[512] = 1, t.opt_len = t.static_len = 0, t.sym_next = t.matches = 0 + }, + Z = t => { + t.bi_valid > 8 ? y(t, t.bi_buf) : t.bi_valid > 0 && (t.pending_buf[t.pending++] = t.bi_buf), t.bi_buf = 0, t.bi_valid = 0 + }, + U = (t, e, a, i) => { + const n = 2 * e, + s = 2 * a; + return t[n] < t[s] || t[n] === t[s] && i[e] <= i[a] + }, + S = (t, e, a) => { + const i = t.heap[a]; + let n = a << 1; + for (; n <= t.heap_len && (n < t.heap_len && U(e, t.heap[n + 1], t.heap[n], t.depth) && n++, !U(e, i, t.heap[n], t.depth));) t.heap[a] = t.heap[n], a = n, n <<= 1; + t.heap[a] = i + }, + D = (t, e, i) => { + let n, s, l, h, d = 0; + if (0 !== t.sym_next) + do { + n = 255 & t.pending_buf[t.sym_buf + d++], n += (255 & t.pending_buf[t.sym_buf + d++]) << 8, s = t.pending_buf[t.sym_buf + d++], 0 === n ? z(t, s, e) : (l = c[s], z(t, l + a + 1, e), h = r[l], 0 !== h && (s -= u[l], x(t, s, h)), n--, l = v(n), z(t, l, i), h = o[l], 0 !== h && (n -= w[l], x(t, n, h))) + } while (d < t.sym_next); + z(t, 256, e) + }, + T = (t, e) => { + const a = e.dyn_tree, + i = e.stat_desc.static_tree, + n = e.stat_desc.has_stree, + r = e.stat_desc.elems; + let o, l, h, d = -1; + for (t.heap_len = 0, t.heap_max = 573, o = 0; o < r; o++) 0 !== a[2 * o] ? (t.heap[++t.heap_len] = d = o, t.depth[o] = 0) : a[2 * o + 1] = 0; + for (; t.heap_len < 2;) h = t.heap[++t.heap_len] = d < 2 ? ++d : 0, a[2 * h] = 1, t.depth[h] = 0, t.opt_len--, n && (t.static_len -= i[2 * h + 1]); + for (e.max_code = d, o = t.heap_len >> 1; o >= 1; o--) S(t, a, o); + h = r; + do { + o = t.heap[1], t.heap[1] = t.heap[t.heap_len--], S(t, a, 1), l = t.heap[1], t.heap[--t.heap_max] = o, t.heap[--t.heap_max] = l, a[2 * h] = a[2 * o] + a[2 * l], t.depth[h] = (t.depth[o] >= t.depth[l] ? t.depth[o] : t.depth[l]) + 1, a[2 * o + 1] = a[2 * l + 1] = h, t.heap[1] = h++, S(t, a, 1) + } while (t.heap_len >= 2); + t.heap[--t.heap_max] = t.heap[1], ((t, e) => { + const a = e.dyn_tree, + i = e.max_code, + n = e.stat_desc.static_tree, + r = e.stat_desc.has_stree, + o = e.stat_desc.extra_bits, + l = e.stat_desc.extra_base, + h = e.stat_desc.max_length; + let d, _, f, c, u, w, m = 0; + for (c = 0; c <= s; c++) t.bl_count[c] = 0; + for (a[2 * t.heap[t.heap_max] + 1] = 0, d = t.heap_max + 1; d < 573; d++) _ = t.heap[d], c = a[2 * a[2 * _ + 1] + 1] + 1, c > h && (c = h, m++), a[2 * _ + 1] = c, _ > i || (t.bl_count[c]++, u = 0, _ >= l && (u = o[_ - l]), w = a[2 * _], t.opt_len += w * (c + u), r && (t.static_len += w * (n[2 * _ + 1] + u))); + if (0 !== m) { + do { + for (c = h - 1; 0 === t.bl_count[c];) c--; + t.bl_count[c]--, t.bl_count[c + 1] += 2, t.bl_count[h]--, m -= 2 + } while (m > 0); + for (c = h; 0 !== c; c--) + for (_ = t.bl_count[c]; 0 !== _;) f = t.heap[--d], f > i || (a[2 * f + 1] !== c && (t.opt_len += (c - a[2 * f + 1]) * a[2 * f], a[2 * f + 1] = c), _--) + } + })(t, e), E(a, d, t.bl_count) + }, + O = (t, e, a) => { + let i, n, s = -1, + r = e[1], + o = 0, + l = 7, + h = 4; + for (0 === r && (l = 138, h = 3), e[2 * (a + 1) + 1] = 65535, i = 0; i <= a; i++) n = r, r = e[2 * (i + 1) + 1], ++o < l && n === r || (o < h ? t.bl_tree[2 * n] += o : 0 !== n ? (n !== s && t.bl_tree[2 * n]++, t.bl_tree[32]++) : o <= 10 ? t.bl_tree[34]++ : t.bl_tree[36]++, o = 0, s = n, 0 === r ? (l = 138, h = 3) : n === r ? (l = 6, h = 3) : (l = 7, h = 4)) + }, + I = (t, e, a) => { + let i, n, s = -1, + r = e[1], + o = 0, + l = 7, + h = 4; + for (0 === r && (l = 138, h = 3), i = 0; i <= a; i++) + if (n = r, r = e[2 * (i + 1) + 1], !(++o < l && n === r)) { + if (o < h) + do { + z(t, n, t.bl_tree) + } while (0 != --o); + else 0 !== n ? (n !== s && (z(t, n, t.bl_tree), o--), z(t, 16, t.bl_tree), x(t, o - 3, 2)) : o <= 10 ? (z(t, 17, t.bl_tree), x(t, o - 3, 3)) : (z(t, 18, t.bl_tree), x(t, o - 11, 7)); + o = 0, s = n, 0 === r ? (l = 138, h = 3) : n === r ? (l = 6, h = 3) : (l = 7, h = 4) + } + }; + let F = !1; + const L = (t, e, a, i) => { + x(t, 0 + (i ? 1 : 0), 3), Z(t), y(t, a), y(t, ~a), a && t.pending_buf.set(t.window.subarray(e, e + a), t.pending), t.pending += a + }; + var N = (t, e, i, n) => { + let s, r, o = 0; + t.level > 0 ? (2 === t.strm.data_type && (t.strm.data_type = (t => { + let e, i = 4093624447; + for (e = 0; e <= 31; e++, i >>>= 1) + if (1 & i && 0 !== t.dyn_ltree[2 * e]) return 0; + if (0 !== t.dyn_ltree[18] || 0 !== t.dyn_ltree[20] || 0 !== t.dyn_ltree[26]) return 1; + for (e = 32; e < a; e++) + if (0 !== t.dyn_ltree[2 * e]) return 1; + return 0 + })(t)), T(t, t.l_desc), T(t, t.d_desc), o = (t => { + let e; + for (O(t, t.dyn_ltree, t.l_desc.max_code), O(t, t.dyn_dtree, t.d_desc.max_code), T(t, t.bl_desc), e = 18; e >= 3 && 0 === t.bl_tree[2 * h[e] + 1]; e--); + return t.opt_len += 3 * (e + 1) + 5 + 5 + 4, e + })(t), s = t.opt_len + 3 + 7 >>> 3, r = t.static_len + 3 + 7 >>> 3, r <= s && (s = r)) : s = r = i + 5, i + 4 <= s && -1 !== e ? L(t, e, i, n) : 4 === t.strategy || r === s ? (x(t, 2 + (n ? 1 : 0), 3), D(t, d, _)) : (x(t, 4 + (n ? 1 : 0), 3), ((t, e, a, i) => { + let n; + for (x(t, e - 257, 5), x(t, a - 1, 5), x(t, i - 4, 4), n = 0; n < i; n++) x(t, t.bl_tree[2 * h[n] + 1], 3); + I(t, t.dyn_ltree, e - 1), I(t, t.dyn_dtree, a - 1) + })(t, t.l_desc.max_code + 1, t.d_desc.max_code + 1, o + 1), D(t, t.dyn_ltree, t.dyn_dtree)), R(t), n && Z(t) + }, + B = { + _tr_init: t => { + F || ((() => { + let t, e, a, h, k; + const v = new Array(16); + for (a = 0, h = 0; h < 28; h++) + for (u[h] = a, t = 0; t < 1 << r[h]; t++) c[a++] = h; + for (c[a - 1] = h, k = 0, h = 0; h < 16; h++) + for (w[h] = k, t = 0; t < 1 << o[h]; t++) f[k++] = h; + for (k >>= 7; h < n; h++) + for (w[h] = k << 7, t = 0; t < 1 << o[h] - 7; t++) f[256 + k++] = h; + for (e = 0; e <= s; e++) v[e] = 0; + for (t = 0; t <= 143;) d[2 * t + 1] = 8, t++, v[8]++; + for (; t <= 255;) d[2 * t + 1] = 9, t++, v[9]++; + for (; t <= 279;) d[2 * t + 1] = 7, t++, v[7]++; + for (; t <= 287;) d[2 * t + 1] = 8, t++, v[8]++; + for (E(d, 287, v), t = 0; t < n; t++) _[2 * t + 1] = 5, _[2 * t] = A(t, 5); + b = new m(d, r, 257, i, s), g = new m(_, o, 0, n, s), p = new m(new Array(0), l, 0, 19, 7) + })(), F = !0), t.l_desc = new k(t.dyn_ltree, b), t.d_desc = new k(t.dyn_dtree, g), t.bl_desc = new k(t.bl_tree, p), t.bi_buf = 0, t.bi_valid = 0, R(t) + }, + _tr_stored_block: L, + _tr_flush_block: N, + _tr_tally: (t, e, i) => (t.pending_buf[t.sym_buf + t.sym_next++] = e, t.pending_buf[t.sym_buf + t.sym_next++] = e >> 8, t.pending_buf[t.sym_buf + t.sym_next++] = i, 0 === e ? t.dyn_ltree[2 * i]++ : (t.matches++, e--, t.dyn_ltree[2 * (c[i] + a + 1)]++, t.dyn_dtree[2 * v(e)]++), t.sym_next === t.sym_end), + _tr_align: t => { + x(t, 2, 3), z(t, 256, d), (t => { + 16 === t.bi_valid ? (y(t, t.bi_buf), t.bi_buf = 0, t.bi_valid = 0) : t.bi_valid >= 8 && (t.pending_buf[t.pending++] = 255 & t.bi_buf, t.bi_buf >>= 8, t.bi_valid -= 8) + })(t) + } + }; + var C = (t, e, a, i) => { + let n = 65535 & t | 0, + s = t >>> 16 & 65535 | 0, + r = 0; + for (; 0 !== a;) { + r = a > 2e3 ? 2e3 : a, a -= r; + do { + n = n + e[i++] | 0, s = s + n | 0 + } while (--r); + n %= 65521, s %= 65521 + } + return n | s << 16 | 0 + }; + const M = new Uint32Array((() => { + let t, e = []; + for (var a = 0; a < 256; a++) { + t = a; + for (var i = 0; i < 8; i++) t = 1 & t ? 3988292384 ^ t >>> 1 : t >>> 1; + e[a] = t + } + return e + })()); + var H = (t, e, a, i) => { + const n = M, + s = i + a; + t ^= -1; + for (let a = i; a < s; a++) t = t >>> 8 ^ n[255 & (t ^ e[a])]; + return -1 ^ t + }, + j = { + 2: "need dictionary", + 1: "stream end", + 0: "", + "-1": "file error", + "-2": "stream error", + "-3": "data error", + "-4": "insufficient memory", + "-5": "buffer error", + "-6": "incompatible version" + }, + K = { + Z_NO_FLUSH: 0, + Z_PARTIAL_FLUSH: 1, + Z_SYNC_FLUSH: 2, + Z_FULL_FLUSH: 3, + Z_FINISH: 4, + Z_BLOCK: 5, + Z_TREES: 6, + Z_OK: 0, + Z_STREAM_END: 1, + Z_NEED_DICT: 2, + Z_ERRNO: -1, + Z_STREAM_ERROR: -2, + Z_DATA_ERROR: -3, + Z_MEM_ERROR: -4, + Z_BUF_ERROR: -5, + Z_NO_COMPRESSION: 0, + Z_BEST_SPEED: 1, + Z_BEST_COMPRESSION: 9, + Z_DEFAULT_COMPRESSION: -1, + Z_FILTERED: 1, + Z_HUFFMAN_ONLY: 2, + Z_RLE: 3, + Z_FIXED: 4, + Z_DEFAULT_STRATEGY: 0, + Z_BINARY: 0, + Z_TEXT: 1, + Z_UNKNOWN: 2, + Z_DEFLATED: 8 + }; + const { + _tr_init: P, + _tr_stored_block: Y, + _tr_flush_block: G, + _tr_tally: X, + _tr_align: W + } = B, { + Z_NO_FLUSH: q, + Z_PARTIAL_FLUSH: J, + Z_FULL_FLUSH: Q, + Z_FINISH: V, + Z_BLOCK: $, + Z_OK: tt, + Z_STREAM_END: et, + Z_STREAM_ERROR: at, + Z_DATA_ERROR: it, + Z_BUF_ERROR: nt, + Z_DEFAULT_COMPRESSION: st, + Z_FILTERED: rt, + Z_HUFFMAN_ONLY: ot, + Z_RLE: lt, + Z_FIXED: ht, + Z_DEFAULT_STRATEGY: dt, + Z_UNKNOWN: _t, + Z_DEFLATED: ft + } = K, ct = 258, ut = 262, wt = 42, mt = 113, bt = 666, gt = (t, e) => (t.msg = j[e], e), pt = t => 2 * t - (t > 4 ? 9 : 0), kt = t => { + let e = t.length; + for (; --e >= 0;) t[e] = 0 + }, vt = t => { + let e, a, i, n = t.w_size; + e = t.hash_size, i = e; + do { + a = t.head[--i], t.head[i] = a >= n ? a - n : 0 + } while (--e); + e = n, i = e; + do { + a = t.prev[--i], t.prev[i] = a >= n ? a - n : 0 + } while (--e) + }; + let yt = (t, e, a) => (e << t.hash_shift ^ a) & t.hash_mask; + const xt = t => { + const e = t.state; + let a = e.pending; + a > t.avail_out && (a = t.avail_out), 0 !== a && (t.output.set(e.pending_buf.subarray(e.pending_out, e.pending_out + a), t.next_out), t.next_out += a, e.pending_out += a, t.total_out += a, t.avail_out -= a, e.pending -= a, 0 === e.pending && (e.pending_out = 0)) + }, + zt = (t, e) => { + G(t, t.block_start >= 0 ? t.block_start : -1, t.strstart - t.block_start, e), t.block_start = t.strstart, xt(t.strm) + }, + At = (t, e) => { + t.pending_buf[t.pending++] = e + }, + Et = (t, e) => { + t.pending_buf[t.pending++] = e >>> 8 & 255, t.pending_buf[t.pending++] = 255 & e + }, + Rt = (t, e, a, i) => { + let n = t.avail_in; + return n > i && (n = i), 0 === n ? 0 : (t.avail_in -= n, e.set(t.input.subarray(t.next_in, t.next_in + n), a), 1 === t.state.wrap ? t.adler = C(t.adler, e, n, a) : 2 === t.state.wrap && (t.adler = H(t.adler, e, n, a)), t.next_in += n, t.total_in += n, n) + }, + Zt = (t, e) => { + let a, i, n = t.max_chain_length, + s = t.strstart, + r = t.prev_length, + o = t.nice_match; + const l = t.strstart > t.w_size - ut ? t.strstart - (t.w_size - ut) : 0, + h = t.window, + d = t.w_mask, + _ = t.prev, + f = t.strstart + ct; + let c = h[s + r - 1], + u = h[s + r]; + t.prev_length >= t.good_match && (n >>= 2), o > t.lookahead && (o = t.lookahead); + do { + if (a = e, h[a + r] === u && h[a + r - 1] === c && h[a] === h[s] && h[++a] === h[s + 1]) { + s += 2, a++; + do {} while (h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && s < f); + if (i = ct - (f - s), s = f - ct, i > r) { + if (t.match_start = e, r = i, i >= o) break; + c = h[s + r - 1], u = h[s + r] + } + } + } while ((e = _[e & d]) > l && 0 != --n); + return r <= t.lookahead ? r : t.lookahead + }, + Ut = t => { + const e = t.w_size; + let a, i, n; + do { + if (i = t.window_size - t.lookahead - t.strstart, t.strstart >= e + (e - ut) && (t.window.set(t.window.subarray(e, e + e - i), 0), t.match_start -= e, t.strstart -= e, t.block_start -= e, t.insert > t.strstart && (t.insert = t.strstart), vt(t), i += e), 0 === t.strm.avail_in) break; + if (a = Rt(t.strm, t.window, t.strstart + t.lookahead, i), t.lookahead += a, t.lookahead + t.insert >= 3) + for (n = t.strstart - t.insert, t.ins_h = t.window[n], t.ins_h = yt(t, t.ins_h, t.window[n + 1]); t.insert && (t.ins_h = yt(t, t.ins_h, t.window[n + 3 - 1]), t.prev[n & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = n, n++, t.insert--, !(t.lookahead + t.insert < 3));); + } while (t.lookahead < ut && 0 !== t.strm.avail_in) + }, + St = (t, e) => { + let a, i, n, s = t.pending_buf_size - 5 > t.w_size ? t.w_size : t.pending_buf_size - 5, + r = 0, + o = t.strm.avail_in; + do { + if (a = 65535, n = t.bi_valid + 42 >> 3, t.strm.avail_out < n) break; + if (n = t.strm.avail_out - n, i = t.strstart - t.block_start, a > i + t.strm.avail_in && (a = i + t.strm.avail_in), a > n && (a = n), a < s && (0 === a && e !== V || e === q || a !== i + t.strm.avail_in)) break; + r = e === V && a === i + t.strm.avail_in ? 1 : 0, Y(t, 0, 0, r), t.pending_buf[t.pending - 4] = a, t.pending_buf[t.pending - 3] = a >> 8, t.pending_buf[t.pending - 2] = ~a, t.pending_buf[t.pending - 1] = ~a >> 8, xt(t.strm), i && (i > a && (i = a), t.strm.output.set(t.window.subarray(t.block_start, t.block_start + i), t.strm.next_out), t.strm.next_out += i, t.strm.avail_out -= i, t.strm.total_out += i, t.block_start += i, a -= i), a && (Rt(t.strm, t.strm.output, t.strm.next_out, a), t.strm.next_out += a, t.strm.avail_out -= a, t.strm.total_out += a) + } while (0 === r); + return o -= t.strm.avail_in, o && (o >= t.w_size ? (t.matches = 2, t.window.set(t.strm.input.subarray(t.strm.next_in - t.w_size, t.strm.next_in), 0), t.strstart = t.w_size, t.insert = t.strstart) : (t.window_size - t.strstart <= o && (t.strstart -= t.w_size, t.window.set(t.window.subarray(t.w_size, t.w_size + t.strstart), 0), t.matches < 2 && t.matches++, t.insert > t.strstart && (t.insert = t.strstart)), t.window.set(t.strm.input.subarray(t.strm.next_in - o, t.strm.next_in), t.strstart), t.strstart += o, t.insert += o > t.w_size - t.insert ? t.w_size - t.insert : o), t.block_start = t.strstart), t.high_water < t.strstart && (t.high_water = t.strstart), r ? 4 : e !== q && e !== V && 0 === t.strm.avail_in && t.strstart === t.block_start ? 2 : (n = t.window_size - t.strstart, t.strm.avail_in > n && t.block_start >= t.w_size && (t.block_start -= t.w_size, t.strstart -= t.w_size, t.window.set(t.window.subarray(t.w_size, t.w_size + t.strstart), 0), t.matches < 2 && t.matches++, n += t.w_size, t.insert > t.strstart && (t.insert = t.strstart)), n > t.strm.avail_in && (n = t.strm.avail_in), n && (Rt(t.strm, t.window, t.strstart, n), t.strstart += n, t.insert += n > t.w_size - t.insert ? t.w_size - t.insert : n), t.high_water < t.strstart && (t.high_water = t.strstart), n = t.bi_valid + 42 >> 3, n = t.pending_buf_size - n > 65535 ? 65535 : t.pending_buf_size - n, s = n > t.w_size ? t.w_size : n, i = t.strstart - t.block_start, (i >= s || (i || e === V) && e !== q && 0 === t.strm.avail_in && i <= n) && (a = i > n ? n : i, r = e === V && 0 === t.strm.avail_in && a === i ? 1 : 0, Y(t, t.block_start, a, r), t.block_start += a, xt(t.strm)), r ? 3 : 1) + }, + Dt = (t, e) => { + let a, i; + for (;;) { + if (t.lookahead < ut) { + if (Ut(t), t.lookahead < ut && e === q) return 1; + if (0 === t.lookahead) break + } + if (a = 0, t.lookahead >= 3 && (t.ins_h = yt(t, t.ins_h, t.window[t.strstart + 3 - 1]), a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), 0 !== a && t.strstart - a <= t.w_size - ut && (t.match_length = Zt(t, a)), t.match_length >= 3) + if (i = X(t, t.strstart - t.match_start, t.match_length - 3), t.lookahead -= t.match_length, t.match_length <= t.max_lazy_match && t.lookahead >= 3) { + t.match_length--; + do { + t.strstart++, t.ins_h = yt(t, t.ins_h, t.window[t.strstart + 3 - 1]), a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart + } while (0 != --t.match_length); + t.strstart++ + } else t.strstart += t.match_length, t.match_length = 0, t.ins_h = t.window[t.strstart], t.ins_h = yt(t, t.ins_h, t.window[t.strstart + 1]); + else i = X(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++; + if (i && (zt(t, !1), 0 === t.strm.avail_out)) return 1 + } + return t.insert = t.strstart < 2 ? t.strstart : 2, e === V ? (zt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.sym_next && (zt(t, !1), 0 === t.strm.avail_out) ? 1 : 2 + }, + Tt = (t, e) => { + let a, i, n; + for (;;) { + if (t.lookahead < ut) { + if (Ut(t), t.lookahead < ut && e === q) return 1; + if (0 === t.lookahead) break + } + if (a = 0, t.lookahead >= 3 && (t.ins_h = yt(t, t.ins_h, t.window[t.strstart + 3 - 1]), a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), t.prev_length = t.match_length, t.prev_match = t.match_start, t.match_length = 2, 0 !== a && t.prev_length < t.max_lazy_match && t.strstart - a <= t.w_size - ut && (t.match_length = Zt(t, a), t.match_length <= 5 && (t.strategy === rt || 3 === t.match_length && t.strstart - t.match_start > 4096) && (t.match_length = 2)), t.prev_length >= 3 && t.match_length <= t.prev_length) { + n = t.strstart + t.lookahead - 3, i = X(t, t.strstart - 1 - t.prev_match, t.prev_length - 3), t.lookahead -= t.prev_length - 1, t.prev_length -= 2; + do { + ++t.strstart <= n && (t.ins_h = yt(t, t.ins_h, t.window[t.strstart + 3 - 1]), a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart) + } while (0 != --t.prev_length); + if (t.match_available = 0, t.match_length = 2, t.strstart++, i && (zt(t, !1), 0 === t.strm.avail_out)) return 1 + } else if (t.match_available) { + if (i = X(t, 0, t.window[t.strstart - 1]), i && zt(t, !1), t.strstart++, t.lookahead--, 0 === t.strm.avail_out) return 1 + } else t.match_available = 1, t.strstart++, t.lookahead-- + } + return t.match_available && (i = X(t, 0, t.window[t.strstart - 1]), t.match_available = 0), t.insert = t.strstart < 2 ? t.strstart : 2, e === V ? (zt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.sym_next && (zt(t, !1), 0 === t.strm.avail_out) ? 1 : 2 + }; + + function Ot(t, e, a, i, n) { + this.good_length = t, this.max_lazy = e, this.nice_length = a, this.max_chain = i, this.func = n + } + const It = [new Ot(0, 0, 0, 0, St), new Ot(4, 4, 8, 4, Dt), new Ot(4, 5, 16, 8, Dt), new Ot(4, 6, 32, 32, Dt), new Ot(4, 4, 16, 16, Tt), new Ot(8, 16, 32, 32, Tt), new Ot(8, 16, 128, 128, Tt), new Ot(8, 32, 128, 256, Tt), new Ot(32, 128, 258, 1024, Tt), new Ot(32, 258, 258, 4096, Tt)]; + + function Ft() { + this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = ft, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Uint16Array(1146), this.dyn_dtree = new Uint16Array(122), this.bl_tree = new Uint16Array(78), kt(this.dyn_ltree), kt(this.dyn_dtree), kt(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Uint16Array(16), this.heap = new Uint16Array(573), kt(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Uint16Array(573), kt(this.depth), this.sym_buf = 0, this.lit_bufsize = 0, this.sym_next = 0, this.sym_end = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0 + } + const Lt = t => { + if (!t) return 1; + const e = t.state; + return !e || e.strm !== t || e.status !== wt && 57 !== e.status && 69 !== e.status && 73 !== e.status && 91 !== e.status && 103 !== e.status && e.status !== mt && e.status !== bt ? 1 : 0 + }, + Nt = t => { + if (Lt(t)) return gt(t, at); + t.total_in = t.total_out = 0, t.data_type = _t; + const e = t.state; + return e.pending = 0, e.pending_out = 0, e.wrap < 0 && (e.wrap = -e.wrap), e.status = 2 === e.wrap ? 57 : e.wrap ? wt : mt, t.adler = 2 === e.wrap ? 0 : 1, e.last_flush = -2, P(e), tt + }, + Bt = t => { + const e = Nt(t); + var a; + return e === tt && ((a = t.state).window_size = 2 * a.w_size, kt(a.head), a.max_lazy_match = It[a.level].max_lazy, a.good_match = It[a.level].good_length, a.nice_match = It[a.level].nice_length, a.max_chain_length = It[a.level].max_chain, a.strstart = 0, a.block_start = 0, a.lookahead = 0, a.insert = 0, a.match_length = a.prev_length = 2, a.match_available = 0, a.ins_h = 0), e + }, + Ct = (t, e, a, i, n, s) => { + if (!t) return at; + let r = 1; + if (e === st && (e = 6), i < 0 ? (r = 0, i = -i) : i > 15 && (r = 2, i -= 16), n < 1 || n > 9 || a !== ft || i < 8 || i > 15 || e < 0 || e > 9 || s < 0 || s > ht || 8 === i && 1 !== r) return gt(t, at); + 8 === i && (i = 9); + const o = new Ft; + return t.state = o, o.strm = t, o.status = wt, o.wrap = r, o.gzhead = null, o.w_bits = i, o.w_size = 1 << o.w_bits, o.w_mask = o.w_size - 1, o.hash_bits = n + 7, o.hash_size = 1 << o.hash_bits, o.hash_mask = o.hash_size - 1, o.hash_shift = ~~((o.hash_bits + 3 - 1) / 3), o.window = new Uint8Array(2 * o.w_size), o.head = new Uint16Array(o.hash_size), o.prev = new Uint16Array(o.w_size), o.lit_bufsize = 1 << n + 6, o.pending_buf_size = 4 * o.lit_bufsize, o.pending_buf = new Uint8Array(o.pending_buf_size), o.sym_buf = o.lit_bufsize, o.sym_end = 3 * (o.lit_bufsize - 1), o.level = e, o.strategy = s, o.method = a, Bt(t) + }; + var Mt = { + deflateInit: (t, e) => Ct(t, e, ft, 15, 8, dt), + deflateInit2: Ct, + deflateReset: Bt, + deflateResetKeep: Nt, + deflateSetHeader: (t, e) => Lt(t) || 2 !== t.state.wrap ? at : (t.state.gzhead = e, tt), + deflate: (t, e) => { + if (Lt(t) || e > $ || e < 0) return t ? gt(t, at) : at; + const a = t.state; + if (!t.output || 0 !== t.avail_in && !t.input || a.status === bt && e !== V) return gt(t, 0 === t.avail_out ? nt : at); + const i = a.last_flush; + if (a.last_flush = e, 0 !== a.pending) { + if (xt(t), 0 === t.avail_out) return a.last_flush = -1, tt + } else if (0 === t.avail_in && pt(e) <= pt(i) && e !== V) return gt(t, nt); + if (a.status === bt && 0 !== t.avail_in) return gt(t, nt); + if (a.status === wt && 0 === a.wrap && (a.status = mt), a.status === wt) { + let e = ft + (a.w_bits - 8 << 4) << 8, + i = -1; + if (i = a.strategy >= ot || a.level < 2 ? 0 : a.level < 6 ? 1 : 6 === a.level ? 2 : 3, e |= i << 6, 0 !== a.strstart && (e |= 32), e += 31 - e % 31, Et(a, e), 0 !== a.strstart && (Et(a, t.adler >>> 16), Et(a, 65535 & t.adler)), t.adler = 1, a.status = mt, xt(t), 0 !== a.pending) return a.last_flush = -1, tt + } + if (57 === a.status) + if (t.adler = 0, At(a, 31), At(a, 139), At(a, 8), a.gzhead) At(a, (a.gzhead.text ? 1 : 0) + (a.gzhead.hcrc ? 2 : 0) + (a.gzhead.extra ? 4 : 0) + (a.gzhead.name ? 8 : 0) + (a.gzhead.comment ? 16 : 0)), At(a, 255 & a.gzhead.time), At(a, a.gzhead.time >> 8 & 255), At(a, a.gzhead.time >> 16 & 255), At(a, a.gzhead.time >> 24 & 255), At(a, 9 === a.level ? 2 : a.strategy >= ot || a.level < 2 ? 4 : 0), At(a, 255 & a.gzhead.os), a.gzhead.extra && a.gzhead.extra.length && (At(a, 255 & a.gzhead.extra.length), At(a, a.gzhead.extra.length >> 8 & 255)), a.gzhead.hcrc && (t.adler = H(t.adler, a.pending_buf, a.pending, 0)), a.gzindex = 0, a.status = 69; + else if (At(a, 0), At(a, 0), At(a, 0), At(a, 0), At(a, 0), At(a, 9 === a.level ? 2 : a.strategy >= ot || a.level < 2 ? 4 : 0), At(a, 3), a.status = mt, xt(t), 0 !== a.pending) return a.last_flush = -1, tt; + if (69 === a.status) { + if (a.gzhead.extra) { + let e = a.pending, + i = (65535 & a.gzhead.extra.length) - a.gzindex; + for (; a.pending + i > a.pending_buf_size;) { + let n = a.pending_buf_size - a.pending; + if (a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex, a.gzindex + n), a.pending), a.pending = a.pending_buf_size, a.gzhead.hcrc && a.pending > e && (t.adler = H(t.adler, a.pending_buf, a.pending - e, e)), a.gzindex += n, xt(t), 0 !== a.pending) return a.last_flush = -1, tt; + e = 0, i -= n + } + let n = new Uint8Array(a.gzhead.extra); + a.pending_buf.set(n.subarray(a.gzindex, a.gzindex + i), a.pending), a.pending += i, a.gzhead.hcrc && a.pending > e && (t.adler = H(t.adler, a.pending_buf, a.pending - e, e)), a.gzindex = 0 + } + a.status = 73 + } + if (73 === a.status) { + if (a.gzhead.name) { + let e, i = a.pending; + do { + if (a.pending === a.pending_buf_size) { + if (a.gzhead.hcrc && a.pending > i && (t.adler = H(t.adler, a.pending_buf, a.pending - i, i)), xt(t), 0 !== a.pending) return a.last_flush = -1, tt; + i = 0 + } + e = a.gzindex < a.gzhead.name.length ? 255 & a.gzhead.name.charCodeAt(a.gzindex++) : 0, At(a, e) + } while (0 !== e); + a.gzhead.hcrc && a.pending > i && (t.adler = H(t.adler, a.pending_buf, a.pending - i, i)), a.gzindex = 0 + } + a.status = 91 + } + if (91 === a.status) { + if (a.gzhead.comment) { + let e, i = a.pending; + do { + if (a.pending === a.pending_buf_size) { + if (a.gzhead.hcrc && a.pending > i && (t.adler = H(t.adler, a.pending_buf, a.pending - i, i)), xt(t), 0 !== a.pending) return a.last_flush = -1, tt; + i = 0 + } + e = a.gzindex < a.gzhead.comment.length ? 255 & a.gzhead.comment.charCodeAt(a.gzindex++) : 0, At(a, e) + } while (0 !== e); + a.gzhead.hcrc && a.pending > i && (t.adler = H(t.adler, a.pending_buf, a.pending - i, i)) + } + a.status = 103 + } + if (103 === a.status) { + if (a.gzhead.hcrc) { + if (a.pending + 2 > a.pending_buf_size && (xt(t), 0 !== a.pending)) return a.last_flush = -1, tt; + At(a, 255 & t.adler), At(a, t.adler >> 8 & 255), t.adler = 0 + } + if (a.status = mt, xt(t), 0 !== a.pending) return a.last_flush = -1, tt + } + if (0 !== t.avail_in || 0 !== a.lookahead || e !== q && a.status !== bt) { + let i = 0 === a.level ? St(a, e) : a.strategy === ot ? ((t, e) => { + let a; + for (;;) { + if (0 === t.lookahead && (Ut(t), 0 === t.lookahead)) { + if (e === q) return 1; + break + } + if (t.match_length = 0, a = X(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++, a && (zt(t, !1), 0 === t.strm.avail_out)) return 1 + } + return t.insert = 0, e === V ? (zt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.sym_next && (zt(t, !1), 0 === t.strm.avail_out) ? 1 : 2 + })(a, e) : a.strategy === lt ? ((t, e) => { + let a, i, n, s; + const r = t.window; + for (;;) { + if (t.lookahead <= ct) { + if (Ut(t), t.lookahead <= ct && e === q) return 1; + if (0 === t.lookahead) break + } + if (t.match_length = 0, t.lookahead >= 3 && t.strstart > 0 && (n = t.strstart - 1, i = r[n], i === r[++n] && i === r[++n] && i === r[++n])) { + s = t.strstart + ct; + do {} while (i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && n < s); + t.match_length = ct - (s - n), t.match_length > t.lookahead && (t.match_length = t.lookahead) + } + if (t.match_length >= 3 ? (a = X(t, 1, t.match_length - 3), t.lookahead -= t.match_length, t.strstart += t.match_length, t.match_length = 0) : (a = X(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++), a && (zt(t, !1), 0 === t.strm.avail_out)) return 1 + } + return t.insert = 0, e === V ? (zt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.sym_next && (zt(t, !1), 0 === t.strm.avail_out) ? 1 : 2 + })(a, e) : It[a.level].func(a, e); + if (3 !== i && 4 !== i || (a.status = bt), 1 === i || 3 === i) return 0 === t.avail_out && (a.last_flush = -1), tt; + if (2 === i && (e === J ? W(a) : e !== $ && (Y(a, 0, 0, !1), e === Q && (kt(a.head), 0 === a.lookahead && (a.strstart = 0, a.block_start = 0, a.insert = 0))), xt(t), 0 === t.avail_out)) return a.last_flush = -1, tt + } + return e !== V ? tt : a.wrap <= 0 ? et : (2 === a.wrap ? (At(a, 255 & t.adler), At(a, t.adler >> 8 & 255), At(a, t.adler >> 16 & 255), At(a, t.adler >> 24 & 255), At(a, 255 & t.total_in), At(a, t.total_in >> 8 & 255), At(a, t.total_in >> 16 & 255), At(a, t.total_in >> 24 & 255)) : (Et(a, t.adler >>> 16), Et(a, 65535 & t.adler)), xt(t), a.wrap > 0 && (a.wrap = -a.wrap), 0 !== a.pending ? tt : et) + }, + deflateEnd: t => { + if (Lt(t)) return at; + const e = t.state.status; + return t.state = null, e === mt ? gt(t, it) : tt + }, + deflateSetDictionary: (t, e) => { + let a = e.length; + if (Lt(t)) return at; + const i = t.state, + n = i.wrap; + if (2 === n || 1 === n && i.status !== wt || i.lookahead) return at; + if (1 === n && (t.adler = C(t.adler, e, a, 0)), i.wrap = 0, a >= i.w_size) { + 0 === n && (kt(i.head), i.strstart = 0, i.block_start = 0, i.insert = 0); + let t = new Uint8Array(i.w_size); + t.set(e.subarray(a - i.w_size, a), 0), e = t, a = i.w_size + } + const s = t.avail_in, + r = t.next_in, + o = t.input; + for (t.avail_in = a, t.next_in = 0, t.input = e, Ut(i); i.lookahead >= 3;) { + let t = i.strstart, + e = i.lookahead - 2; + do { + i.ins_h = yt(i, i.ins_h, i.window[t + 3 - 1]), i.prev[t & i.w_mask] = i.head[i.ins_h], i.head[i.ins_h] = t, t++ + } while (--e); + i.strstart = t, i.lookahead = 2, Ut(i) + } + return i.strstart += i.lookahead, i.block_start = i.strstart, i.insert = i.lookahead, i.lookahead = 0, i.match_length = i.prev_length = 2, i.match_available = 0, t.next_in = r, t.input = o, t.avail_in = s, i.wrap = n, tt + }, + deflateInfo: "pako deflate (from Nodeca project)" + }; + const Ht = (t, e) => Object.prototype.hasOwnProperty.call(t, e); + var jt = function(t) { + const e = Array.prototype.slice.call(arguments, 1); + for (; e.length;) { + const a = e.shift(); + if (a) { + if ("object" != typeof a) throw new TypeError(a + "must be non-object"); + for (const e in a) Ht(a, e) && (t[e] = a[e]) + } + } + return t + }, + Kt = t => { + let e = 0; + for (let a = 0, i = t.length; a < i; a++) e += t[a].length; + const a = new Uint8Array(e); + for (let e = 0, i = 0, n = t.length; e < n; e++) { + let n = t[e]; + a.set(n, i), i += n.length + } + return a + }; + let Pt = !0; + try { + String.fromCharCode.apply(null, new Uint8Array(1)) + } catch (t) { + Pt = !1 + } + const Yt = new Uint8Array(256); + for (let t = 0; t < 256; t++) Yt[t] = t >= 252 ? 6 : t >= 248 ? 5 : t >= 240 ? 4 : t >= 224 ? 3 : t >= 192 ? 2 : 1; + Yt[254] = Yt[254] = 1; + var Gt = t => { + if ("function" == typeof TextEncoder && TextEncoder.prototype.encode) return (new TextEncoder).encode(t); + let e, a, i, n, s, r = t.length, + o = 0; + for (n = 0; n < r; n++) a = t.charCodeAt(n), 55296 == (64512 & a) && n + 1 < r && (i = t.charCodeAt(n + 1), 56320 == (64512 & i) && (a = 65536 + (a - 55296 << 10) + (i - 56320), n++)), o += a < 128 ? 1 : a < 2048 ? 2 : a < 65536 ? 3 : 4; + for (e = new Uint8Array(o), s = 0, n = 0; s < o; n++) a = t.charCodeAt(n), 55296 == (64512 & a) && n + 1 < r && (i = t.charCodeAt(n + 1), 56320 == (64512 & i) && (a = 65536 + (a - 55296 << 10) + (i - 56320), n++)), a < 128 ? e[s++] = a : a < 2048 ? (e[s++] = 192 | a >>> 6, e[s++] = 128 | 63 & a) : a < 65536 ? (e[s++] = 224 | a >>> 12, e[s++] = 128 | a >>> 6 & 63, e[s++] = 128 | 63 & a) : (e[s++] = 240 | a >>> 18, e[s++] = 128 | a >>> 12 & 63, e[s++] = 128 | a >>> 6 & 63, e[s++] = 128 | 63 & a); + return e + }, + Xt = (t, e) => { + const a = e || t.length; + if ("function" == typeof TextDecoder && TextDecoder.prototype.decode) return (new TextDecoder).decode(t.subarray(0, e)); + let i, n; + const s = new Array(2 * a); + for (n = 0, i = 0; i < a;) { + let e = t[i++]; + if (e < 128) { + s[n++] = e; + continue + } + let r = Yt[e]; + if (r > 4) s[n++] = 65533, i += r - 1; + else { + for (e &= 2 === r ? 31 : 3 === r ? 15 : 7; r > 1 && i < a;) e = e << 6 | 63 & t[i++], r--; + r > 1 ? s[n++] = 65533 : e < 65536 ? s[n++] = e : (e -= 65536, s[n++] = 55296 | e >> 10 & 1023, s[n++] = 56320 | 1023 & e) + } + } + return ((t, e) => { + if (e < 65534 && t.subarray && Pt) return String.fromCharCode.apply(null, t.length === e ? t : t.subarray(0, e)); + let a = ""; + for (let i = 0; i < e; i++) a += String.fromCharCode(t[i]); + return a + })(s, n) + }, + Wt = (t, e) => { + (e = e || t.length) > t.length && (e = t.length); + let a = e - 1; + for (; a >= 0 && 128 == (192 & t[a]);) a--; + return a < 0 || 0 === a ? e : a + Yt[t[a]] > e ? a : e + }; + var qt = function() { + this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0 + }; + const Jt = Object.prototype.toString, + { + Z_NO_FLUSH: Qt, + Z_SYNC_FLUSH: Vt, + Z_FULL_FLUSH: $t, + Z_FINISH: te, + Z_OK: ee, + Z_STREAM_END: ae, + Z_DEFAULT_COMPRESSION: ie, + Z_DEFAULT_STRATEGY: ne, + Z_DEFLATED: se + } = K; + + function re(t) { + this.options = jt({ + level: ie, + method: se, + chunkSize: 16384, + windowBits: 15, + memLevel: 8, + strategy: ne + }, t || {}); + let e = this.options; + e.raw && e.windowBits > 0 ? e.windowBits = -e.windowBits : e.gzip && e.windowBits > 0 && e.windowBits < 16 && (e.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new qt, this.strm.avail_out = 0; + let a = Mt.deflateInit2(this.strm, e.level, e.method, e.windowBits, e.memLevel, e.strategy); + if (a !== ee) throw new Error(j[a]); + if (e.header && Mt.deflateSetHeader(this.strm, e.header), e.dictionary) { + let t; + if (t = "string" == typeof e.dictionary ? Gt(e.dictionary) : "[object ArrayBuffer]" === Jt.call(e.dictionary) ? new Uint8Array(e.dictionary) : e.dictionary, a = Mt.deflateSetDictionary(this.strm, t), a !== ee) throw new Error(j[a]); + this._dict_set = !0 + } + } + + function oe(t, e) { + const a = new re(e); + if (a.push(t, !0), a.err) throw a.msg || j[a.err]; + return a.result + } + re.prototype.push = function(t, e) { + const a = this.strm, + i = this.options.chunkSize; + let n, s; + if (this.ended) return !1; + for (s = e === ~~e ? e : !0 === e ? te : Qt, "string" == typeof t ? a.input = Gt(t) : "[object ArrayBuffer]" === Jt.call(t) ? a.input = new Uint8Array(t) : a.input = t, a.next_in = 0, a.avail_in = a.input.length;;) + if (0 === a.avail_out && (a.output = new Uint8Array(i), a.next_out = 0, a.avail_out = i), (s === Vt || s === $t) && a.avail_out <= 6) this.onData(a.output.subarray(0, a.next_out)), a.avail_out = 0; + else { + if (n = Mt.deflate(a, s), n === ae) return a.next_out > 0 && this.onData(a.output.subarray(0, a.next_out)), n = Mt.deflateEnd(this.strm), this.onEnd(n), this.ended = !0, n === ee; + if (0 !== a.avail_out) { + if (s > 0 && a.next_out > 0) this.onData(a.output.subarray(0, a.next_out)), a.avail_out = 0; + else if (0 === a.avail_in) break + } else this.onData(a.output) + } return !0 + }, re.prototype.onData = function(t) { + this.chunks.push(t) + }, re.prototype.onEnd = function(t) { + t === ee && (this.result = Kt(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg + }; + var le = { + Deflate: re, + deflate: oe, + deflateRaw: function(t, e) { + return (e = e || {}).raw = !0, oe(t, e) + }, + gzip: function(t, e) { + return (e = e || {}).gzip = !0, oe(t, e) + }, + constants: K + }; + const he = 16209; + var de = function(t, e) { + let a, i, n, s, r, o, l, h, d, _, f, c, u, w, m, b, g, p, k, v, y, x, z, A; + const E = t.state; + a = t.next_in, z = t.input, i = a + (t.avail_in - 5), n = t.next_out, A = t.output, s = n - (e - t.avail_out), r = n + (t.avail_out - 257), o = E.dmax, l = E.wsize, h = E.whave, d = E.wnext, _ = E.window, f = E.hold, c = E.bits, u = E.lencode, w = E.distcode, m = (1 << E.lenbits) - 1, b = (1 << E.distbits) - 1; + t: do { + c < 15 && (f += z[a++] << c, c += 8, f += z[a++] << c, c += 8), g = u[f & m]; + e: for (;;) { + if (p = g >>> 24, f >>>= p, c -= p, p = g >>> 16 & 255, 0 === p) A[n++] = 65535 & g; + else { + if (!(16 & p)) { + if (0 == (64 & p)) { + g = u[(65535 & g) + (f & (1 << p) - 1)]; + continue e + } + if (32 & p) { + E.mode = 16191; + break t + } + t.msg = "invalid literal/length code", E.mode = he; + break t + } + k = 65535 & g, p &= 15, p && (c < p && (f += z[a++] << c, c += 8), k += f & (1 << p) - 1, f >>>= p, c -= p), c < 15 && (f += z[a++] << c, c += 8, f += z[a++] << c, c += 8), g = w[f & b]; + a: for (;;) { + if (p = g >>> 24, f >>>= p, c -= p, p = g >>> 16 & 255, !(16 & p)) { + if (0 == (64 & p)) { + g = w[(65535 & g) + (f & (1 << p) - 1)]; + continue a + } + t.msg = "invalid distance code", E.mode = he; + break t + } + if (v = 65535 & g, p &= 15, c < p && (f += z[a++] << c, c += 8, c < p && (f += z[a++] << c, c += 8)), v += f & (1 << p) - 1, v > o) { + t.msg = "invalid distance too far back", E.mode = he; + break t + } + if (f >>>= p, c -= p, p = n - s, v > p) { + if (p = v - p, p > h && E.sane) { + t.msg = "invalid distance too far back", E.mode = he; + break t + } + if (y = 0, x = _, 0 === d) { + if (y += l - p, p < k) { + k -= p; + do { + A[n++] = _[y++] + } while (--p); + y = n - v, x = A + } + } else if (d < p) { + if (y += l + d - p, p -= d, p < k) { + k -= p; + do { + A[n++] = _[y++] + } while (--p); + if (y = 0, d < k) { + p = d, k -= p; + do { + A[n++] = _[y++] + } while (--p); + y = n - v, x = A + } + } + } else if (y += d - p, p < k) { + k -= p; + do { + A[n++] = _[y++] + } while (--p); + y = n - v, x = A + } + for (; k > 2;) A[n++] = x[y++], A[n++] = x[y++], A[n++] = x[y++], k -= 3; + k && (A[n++] = x[y++], k > 1 && (A[n++] = x[y++])) + } else { + y = n - v; + do { + A[n++] = A[y++], A[n++] = A[y++], A[n++] = A[y++], k -= 3 + } while (k > 2); + k && (A[n++] = A[y++], k > 1 && (A[n++] = A[y++])) + } + break + } + } + break + } + } while (a < i && n < r); + k = c >> 3, a -= k, c -= k << 3, f &= (1 << c) - 1, t.next_in = a, t.next_out = n, t.avail_in = a < i ? i - a + 5 : 5 - (a - i), t.avail_out = n < r ? r - n + 257 : 257 - (n - r), E.hold = f, E.bits = c + }; + const _e = 15, + fe = new Uint16Array([3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0]), + ce = new Uint8Array([16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78]), + ue = new Uint16Array([1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0]), + we = new Uint8Array([16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]); + var me = (t, e, a, i, n, s, r, o) => { + const l = o.bits; + let h, d, _, f, c, u, w = 0, + m = 0, + b = 0, + g = 0, + p = 0, + k = 0, + v = 0, + y = 0, + x = 0, + z = 0, + A = null; + const E = new Uint16Array(16), + R = new Uint16Array(16); + let Z, U, S, D = null; + for (w = 0; w <= _e; w++) E[w] = 0; + for (m = 0; m < i; m++) E[e[a + m]]++; + for (p = l, g = _e; g >= 1 && 0 === E[g]; g--); + if (p > g && (p = g), 0 === g) return n[s++] = 20971520, n[s++] = 20971520, o.bits = 1, 0; + for (b = 1; b < g && 0 === E[b]; b++); + for (p < b && (p = b), y = 1, w = 1; w <= _e; w++) + if (y <<= 1, y -= E[w], y < 0) return -1; + if (y > 0 && (0 === t || 1 !== g)) return -1; + for (R[1] = 0, w = 1; w < _e; w++) R[w + 1] = R[w] + E[w]; + for (m = 0; m < i; m++) 0 !== e[a + m] && (r[R[e[a + m]]++] = m); + if (0 === t ? (A = D = r, u = 20) : 1 === t ? (A = fe, D = ce, u = 257) : (A = ue, D = we, u = 0), z = 0, m = 0, w = b, c = s, k = p, v = 0, _ = -1, x = 1 << p, f = x - 1, 1 === t && x > 852 || 2 === t && x > 592) return 1; + for (;;) { + Z = w - v, r[m] + 1 < u ? (U = 0, S = r[m]) : r[m] >= u ? (U = D[r[m] - u], S = A[r[m] - u]) : (U = 96, S = 0), h = 1 << w - v, d = 1 << k, b = d; + do { + d -= h, n[c + (z >> v) + d] = Z << 24 | U << 16 | S | 0 + } while (0 !== d); + for (h = 1 << w - 1; z & h;) h >>= 1; + if (0 !== h ? (z &= h - 1, z += h) : z = 0, m++, 0 == --E[w]) { + if (w === g) break; + w = e[a + r[m]] + } + if (w > p && (z & f) !== _) { + for (0 === v && (v = p), c += b, k = w - v, y = 1 << k; k + v < g && (y -= E[k + v], !(y <= 0));) k++, y <<= 1; + if (x += 1 << k, 1 === t && x > 852 || 2 === t && x > 592) return 1; + _ = z & f, n[_] = p << 24 | k << 16 | c - s | 0 + } + } + return 0 !== z && (n[c + z] = w - v << 24 | 64 << 16 | 0), o.bits = p, 0 + }; + const { + Z_FINISH: be, + Z_BLOCK: ge, + Z_TREES: pe, + Z_OK: ke, + Z_STREAM_END: ve, + Z_NEED_DICT: ye, + Z_STREAM_ERROR: xe, + Z_DATA_ERROR: ze, + Z_MEM_ERROR: Ae, + Z_BUF_ERROR: Ee, + Z_DEFLATED: Re + } = K, Ze = 16180, Ue = 16190, Se = 16191, De = 16192, Te = 16194, Oe = 16199, Ie = 16200, Fe = 16206, Le = 16209, Ne = t => (t >>> 24 & 255) + (t >>> 8 & 65280) + ((65280 & t) << 8) + ((255 & t) << 24); + + function Be() { + this.strm = null, this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0 + } + const Ce = t => { + if (!t) return 1; + const e = t.state; + return !e || e.strm !== t || e.mode < Ze || e.mode > 16211 ? 1 : 0 + }, + Me = t => { + if (Ce(t)) return xe; + const e = t.state; + return t.total_in = t.total_out = e.total = 0, t.msg = "", e.wrap && (t.adler = 1 & e.wrap), e.mode = Ze, e.last = 0, e.havedict = 0, e.flags = -1, e.dmax = 32768, e.head = null, e.hold = 0, e.bits = 0, e.lencode = e.lendyn = new Int32Array(852), e.distcode = e.distdyn = new Int32Array(592), e.sane = 1, e.back = -1, ke + }, + He = t => { + if (Ce(t)) return xe; + const e = t.state; + return e.wsize = 0, e.whave = 0, e.wnext = 0, Me(t) + }, + je = (t, e) => { + let a; + if (Ce(t)) return xe; + const i = t.state; + return e < 0 ? (a = 0, e = -e) : (a = 5 + (e >> 4), e < 48 && (e &= 15)), e && (e < 8 || e > 15) ? xe : (null !== i.window && i.wbits !== e && (i.window = null), i.wrap = a, i.wbits = e, He(t)) + }, + Ke = (t, e) => { + if (!t) return xe; + const a = new Be; + t.state = a, a.strm = t, a.window = null, a.mode = Ze; + const i = je(t, e); + return i !== ke && (t.state = null), i + }; + let Pe, Ye, Ge = !0; + const Xe = t => { + if (Ge) { + Pe = new Int32Array(512), Ye = new Int32Array(32); + let e = 0; + for (; e < 144;) t.lens[e++] = 8; + for (; e < 256;) t.lens[e++] = 9; + for (; e < 280;) t.lens[e++] = 7; + for (; e < 288;) t.lens[e++] = 8; + for (me(1, t.lens, 0, 288, Pe, 0, t.work, { + bits: 9 + }), e = 0; e < 32;) t.lens[e++] = 5; + me(2, t.lens, 0, 32, Ye, 0, t.work, { + bits: 5 + }), Ge = !1 + } + t.lencode = Pe, t.lenbits = 9, t.distcode = Ye, t.distbits = 5 + }, + We = (t, e, a, i) => { + let n; + const s = t.state; + return null === s.window && (s.wsize = 1 << s.wbits, s.wnext = 0, s.whave = 0, s.window = new Uint8Array(s.wsize)), i >= s.wsize ? (s.window.set(e.subarray(a - s.wsize, a), 0), s.wnext = 0, s.whave = s.wsize) : (n = s.wsize - s.wnext, n > i && (n = i), s.window.set(e.subarray(a - i, a - i + n), s.wnext), (i -= n) ? (s.window.set(e.subarray(a - i, a), 0), s.wnext = i, s.whave = s.wsize) : (s.wnext += n, s.wnext === s.wsize && (s.wnext = 0), s.whave < s.wsize && (s.whave += n))), 0 + }; + var qe = { + inflateReset: He, + inflateReset2: je, + inflateResetKeep: Me, + inflateInit: t => Ke(t, 15), + inflateInit2: Ke, + inflate: (t, e) => { + let a, i, n, s, r, o, l, h, d, _, f, c, u, w, m, b, g, p, k, v, y, x, z = 0; + const A = new Uint8Array(4); + let E, R; + const Z = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); + if (Ce(t) || !t.output || !t.input && 0 !== t.avail_in) return xe; + a = t.state, a.mode === Se && (a.mode = De), r = t.next_out, n = t.output, l = t.avail_out, s = t.next_in, i = t.input, o = t.avail_in, h = a.hold, d = a.bits, _ = o, f = l, x = ke; + t: for (;;) switch (a.mode) { + case Ze: + if (0 === a.wrap) { + a.mode = De; + break + } + for (; d < 16;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (2 & a.wrap && 35615 === h) { + 0 === a.wbits && (a.wbits = 15), a.check = 0, A[0] = 255 & h, A[1] = h >>> 8 & 255, a.check = H(a.check, A, 2, 0), h = 0, d = 0, a.mode = 16181; + break + } + if (a.head && (a.head.done = !1), !(1 & a.wrap) || (((255 & h) << 8) + (h >> 8)) % 31) { + t.msg = "incorrect header check", a.mode = Le; + break + } + if ((15 & h) !== Re) { + t.msg = "unknown compression method", a.mode = Le; + break + } + if (h >>>= 4, d -= 4, y = 8 + (15 & h), 0 === a.wbits && (a.wbits = y), y > 15 || y > a.wbits) { + t.msg = "invalid window size", a.mode = Le; + break + } + a.dmax = 1 << a.wbits, a.flags = 0, t.adler = a.check = 1, a.mode = 512 & h ? 16189 : Se, h = 0, d = 0; + break; + case 16181: + for (; d < 16;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (a.flags = h, (255 & a.flags) !== Re) { + t.msg = "unknown compression method", a.mode = Le; + break + } + if (57344 & a.flags) { + t.msg = "unknown header flags set", a.mode = Le; + break + } + a.head && (a.head.text = h >> 8 & 1), 512 & a.flags && 4 & a.wrap && (A[0] = 255 & h, A[1] = h >>> 8 & 255, a.check = H(a.check, A, 2, 0)), h = 0, d = 0, a.mode = 16182; + case 16182: + for (; d < 32;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + a.head && (a.head.time = h), 512 & a.flags && 4 & a.wrap && (A[0] = 255 & h, A[1] = h >>> 8 & 255, A[2] = h >>> 16 & 255, A[3] = h >>> 24 & 255, a.check = H(a.check, A, 4, 0)), h = 0, d = 0, a.mode = 16183; + case 16183: + for (; d < 16;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + a.head && (a.head.xflags = 255 & h, a.head.os = h >> 8), 512 & a.flags && 4 & a.wrap && (A[0] = 255 & h, A[1] = h >>> 8 & 255, a.check = H(a.check, A, 2, 0)), h = 0, d = 0, a.mode = 16184; + case 16184: + if (1024 & a.flags) { + for (; d < 16;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + a.length = h, a.head && (a.head.extra_len = h), 512 & a.flags && 4 & a.wrap && (A[0] = 255 & h, A[1] = h >>> 8 & 255, a.check = H(a.check, A, 2, 0)), h = 0, d = 0 + } else a.head && (a.head.extra = null); + a.mode = 16185; + case 16185: + if (1024 & a.flags && (c = a.length, c > o && (c = o), c && (a.head && (y = a.head.extra_len - a.length, a.head.extra || (a.head.extra = new Uint8Array(a.head.extra_len)), a.head.extra.set(i.subarray(s, s + c), y)), 512 & a.flags && 4 & a.wrap && (a.check = H(a.check, i, c, s)), o -= c, s += c, a.length -= c), a.length)) break t; + a.length = 0, a.mode = 16186; + case 16186: + if (2048 & a.flags) { + if (0 === o) break t; + c = 0; + do { + y = i[s + c++], a.head && y && a.length < 65536 && (a.head.name += String.fromCharCode(y)) + } while (y && c < o); + if (512 & a.flags && 4 & a.wrap && (a.check = H(a.check, i, c, s)), o -= c, s += c, y) break t + } else a.head && (a.head.name = null); + a.length = 0, a.mode = 16187; + case 16187: + if (4096 & a.flags) { + if (0 === o) break t; + c = 0; + do { + y = i[s + c++], a.head && y && a.length < 65536 && (a.head.comment += String.fromCharCode(y)) + } while (y && c < o); + if (512 & a.flags && 4 & a.wrap && (a.check = H(a.check, i, c, s)), o -= c, s += c, y) break t + } else a.head && (a.head.comment = null); + a.mode = 16188; + case 16188: + if (512 & a.flags) { + for (; d < 16;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (4 & a.wrap && h !== (65535 & a.check)) { + t.msg = "header crc mismatch", a.mode = Le; + break + } + h = 0, d = 0 + } + a.head && (a.head.hcrc = a.flags >> 9 & 1, a.head.done = !0), t.adler = a.check = 0, a.mode = Se; + break; + case 16189: + for (; d < 32;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + t.adler = a.check = Ne(h), h = 0, d = 0, a.mode = Ue; + case Ue: + if (0 === a.havedict) return t.next_out = r, t.avail_out = l, t.next_in = s, t.avail_in = o, a.hold = h, a.bits = d, ye; + t.adler = a.check = 1, a.mode = Se; + case Se: + if (e === ge || e === pe) break t; + case De: + if (a.last) { + h >>>= 7 & d, d -= 7 & d, a.mode = Fe; + break + } + for (; d < 3;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + switch (a.last = 1 & h, h >>>= 1, d -= 1, 3 & h) { + case 0: + a.mode = 16193; + break; + case 1: + if (Xe(a), a.mode = Oe, e === pe) { + h >>>= 2, d -= 2; + break t + } + break; + case 2: + a.mode = 16196; + break; + case 3: + t.msg = "invalid block type", a.mode = Le + } + h >>>= 2, d -= 2; + break; + case 16193: + for (h >>>= 7 & d, d -= 7 & d; d < 32;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if ((65535 & h) != (h >>> 16 ^ 65535)) { + t.msg = "invalid stored block lengths", a.mode = Le; + break + } + if (a.length = 65535 & h, h = 0, d = 0, a.mode = Te, e === pe) break t; + case Te: + a.mode = 16195; + case 16195: + if (c = a.length, c) { + if (c > o && (c = o), c > l && (c = l), 0 === c) break t; + n.set(i.subarray(s, s + c), r), o -= c, s += c, l -= c, r += c, a.length -= c; + break + } + a.mode = Se; + break; + case 16196: + for (; d < 14;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (a.nlen = 257 + (31 & h), h >>>= 5, d -= 5, a.ndist = 1 + (31 & h), h >>>= 5, d -= 5, a.ncode = 4 + (15 & h), h >>>= 4, d -= 4, a.nlen > 286 || a.ndist > 30) { + t.msg = "too many length or distance symbols", a.mode = Le; + break + } + a.have = 0, a.mode = 16197; + case 16197: + for (; a.have < a.ncode;) { + for (; d < 3;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + a.lens[Z[a.have++]] = 7 & h, h >>>= 3, d -= 3 + } + for (; a.have < 19;) a.lens[Z[a.have++]] = 0; + if (a.lencode = a.lendyn, a.lenbits = 7, E = { + bits: a.lenbits + }, x = me(0, a.lens, 0, 19, a.lencode, 0, a.work, E), a.lenbits = E.bits, x) { + t.msg = "invalid code lengths set", a.mode = Le; + break + } + a.have = 0, a.mode = 16198; + case 16198: + for (; a.have < a.nlen + a.ndist;) { + for (; z = a.lencode[h & (1 << a.lenbits) - 1], m = z >>> 24, b = z >>> 16 & 255, g = 65535 & z, !(m <= d);) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (g < 16) h >>>= m, d -= m, a.lens[a.have++] = g; + else { + if (16 === g) { + for (R = m + 2; d < R;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (h >>>= m, d -= m, 0 === a.have) { + t.msg = "invalid bit length repeat", a.mode = Le; + break + } + y = a.lens[a.have - 1], c = 3 + (3 & h), h >>>= 2, d -= 2 + } else if (17 === g) { + for (R = m + 3; d < R;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + h >>>= m, d -= m, y = 0, c = 3 + (7 & h), h >>>= 3, d -= 3 + } else { + for (R = m + 7; d < R;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + h >>>= m, d -= m, y = 0, c = 11 + (127 & h), h >>>= 7, d -= 7 + } + if (a.have + c > a.nlen + a.ndist) { + t.msg = "invalid bit length repeat", a.mode = Le; + break + } + for (; c--;) a.lens[a.have++] = y + } + } + if (a.mode === Le) break; + if (0 === a.lens[256]) { + t.msg = "invalid code -- missing end-of-block", a.mode = Le; + break + } + if (a.lenbits = 9, E = { + bits: a.lenbits + }, x = me(1, a.lens, 0, a.nlen, a.lencode, 0, a.work, E), a.lenbits = E.bits, x) { + t.msg = "invalid literal/lengths set", a.mode = Le; + break + } + if (a.distbits = 6, a.distcode = a.distdyn, E = { + bits: a.distbits + }, x = me(2, a.lens, a.nlen, a.ndist, a.distcode, 0, a.work, E), a.distbits = E.bits, x) { + t.msg = "invalid distances set", a.mode = Le; + break + } + if (a.mode = Oe, e === pe) break t; + case Oe: + a.mode = Ie; + case Ie: + if (o >= 6 && l >= 258) { + t.next_out = r, t.avail_out = l, t.next_in = s, t.avail_in = o, a.hold = h, a.bits = d, de(t, f), r = t.next_out, n = t.output, l = t.avail_out, s = t.next_in, i = t.input, o = t.avail_in, h = a.hold, d = a.bits, a.mode === Se && (a.back = -1); + break + } + for (a.back = 0; z = a.lencode[h & (1 << a.lenbits) - 1], m = z >>> 24, b = z >>> 16 & 255, g = 65535 & z, !(m <= d);) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (b && 0 == (240 & b)) { + for (p = m, k = b, v = g; z = a.lencode[v + ((h & (1 << p + k) - 1) >> p)], m = z >>> 24, b = z >>> 16 & 255, g = 65535 & z, !(p + m <= d);) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + h >>>= p, d -= p, a.back += p + } + if (h >>>= m, d -= m, a.back += m, a.length = g, 0 === b) { + a.mode = 16205; + break + } + if (32 & b) { + a.back = -1, a.mode = Se; + break + } + if (64 & b) { + t.msg = "invalid literal/length code", a.mode = Le; + break + } + a.extra = 15 & b, a.mode = 16201; + case 16201: + if (a.extra) { + for (R = a.extra; d < R;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + a.length += h & (1 << a.extra) - 1, h >>>= a.extra, d -= a.extra, a.back += a.extra + } + a.was = a.length, a.mode = 16202; + case 16202: + for (; z = a.distcode[h & (1 << a.distbits) - 1], m = z >>> 24, b = z >>> 16 & 255, g = 65535 & z, !(m <= d);) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (0 == (240 & b)) { + for (p = m, k = b, v = g; z = a.distcode[v + ((h & (1 << p + k) - 1) >> p)], m = z >>> 24, b = z >>> 16 & 255, g = 65535 & z, !(p + m <= d);) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + h >>>= p, d -= p, a.back += p + } + if (h >>>= m, d -= m, a.back += m, 64 & b) { + t.msg = "invalid distance code", a.mode = Le; + break + } + a.offset = g, a.extra = 15 & b, a.mode = 16203; + case 16203: + if (a.extra) { + for (R = a.extra; d < R;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + a.offset += h & (1 << a.extra) - 1, h >>>= a.extra, d -= a.extra, a.back += a.extra + } + if (a.offset > a.dmax) { + t.msg = "invalid distance too far back", a.mode = Le; + break + } + a.mode = 16204; + case 16204: + if (0 === l) break t; + if (c = f - l, a.offset > c) { + if (c = a.offset - c, c > a.whave && a.sane) { + t.msg = "invalid distance too far back", a.mode = Le; + break + } + c > a.wnext ? (c -= a.wnext, u = a.wsize - c) : u = a.wnext - c, c > a.length && (c = a.length), w = a.window + } else w = n, u = r - a.offset, c = a.length; + c > l && (c = l), l -= c, a.length -= c; + do { + n[r++] = w[u++] + } while (--c); + 0 === a.length && (a.mode = Ie); + break; + case 16205: + if (0 === l) break t; + n[r++] = a.length, l--, a.mode = Ie; + break; + case Fe: + if (a.wrap) { + for (; d < 32;) { + if (0 === o) break t; + o--, h |= i[s++] << d, d += 8 + } + if (f -= l, t.total_out += f, a.total += f, 4 & a.wrap && f && (t.adler = a.check = a.flags ? H(a.check, n, f, r - f) : C(a.check, n, f, r - f)), f = l, 4 & a.wrap && (a.flags ? h : Ne(h)) !== a.check) { + t.msg = "incorrect data check", a.mode = Le; + break + } + h = 0, d = 0 + } + a.mode = 16207; + case 16207: + if (a.wrap && a.flags) { + for (; d < 32;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (4 & a.wrap && h !== (4294967295 & a.total)) { + t.msg = "incorrect length check", a.mode = Le; + break + } + h = 0, d = 0 + } + a.mode = 16208; + case 16208: + x = ve; + break t; + case Le: + x = ze; + break t; + case 16210: + return Ae; + default: + return xe + } + return t.next_out = r, t.avail_out = l, t.next_in = s, t.avail_in = o, a.hold = h, a.bits = d, (a.wsize || f !== t.avail_out && a.mode < Le && (a.mode < Fe || e !== be)) && We(t, t.output, t.next_out, f - t.avail_out), _ -= t.avail_in, f -= t.avail_out, t.total_in += _, t.total_out += f, a.total += f, 4 & a.wrap && f && (t.adler = a.check = a.flags ? H(a.check, n, f, t.next_out - f) : C(a.check, n, f, t.next_out - f)), t.data_type = a.bits + (a.last ? 64 : 0) + (a.mode === Se ? 128 : 0) + (a.mode === Oe || a.mode === Te ? 256 : 0), (0 === _ && 0 === f || e === be) && x === ke && (x = Ee), x + }, + inflateEnd: t => { + if (Ce(t)) return xe; + let e = t.state; + return e.window && (e.window = null), t.state = null, ke + }, + inflateGetHeader: (t, e) => { + if (Ce(t)) return xe; + const a = t.state; + return 0 == (2 & a.wrap) ? xe : (a.head = e, e.done = !1, ke) + }, + inflateSetDictionary: (t, e) => { + const a = e.length; + let i, n, s; + return Ce(t) ? xe : (i = t.state, 0 !== i.wrap && i.mode !== Ue ? xe : i.mode === Ue && (n = 1, n = C(n, e, a, 0), n !== i.check) ? ze : (s = We(t, e, a, a), s ? (i.mode = 16210, Ae) : (i.havedict = 1, ke))) + }, + inflateInfo: "pako inflate (from Nodeca project)" + }; + var Je = function() { + this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1 + }; + const Qe = Object.prototype.toString, + { + Z_NO_FLUSH: Ve, + Z_FINISH: $e, + Z_OK: ta, + Z_STREAM_END: ea, + Z_NEED_DICT: aa, + Z_STREAM_ERROR: ia, + Z_DATA_ERROR: na, + Z_MEM_ERROR: sa + } = K; + + function ra(t) { + this.options = jt({ + chunkSize: 65536, + windowBits: 15, + to: "" + }, t || {}); + const e = this.options; + e.raw && e.windowBits >= 0 && e.windowBits < 16 && (e.windowBits = -e.windowBits, 0 === e.windowBits && (e.windowBits = -15)), !(e.windowBits >= 0 && e.windowBits < 16) || t && t.windowBits || (e.windowBits += 32), e.windowBits > 15 && e.windowBits < 48 && 0 == (15 & e.windowBits) && (e.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new qt, this.strm.avail_out = 0; + let a = qe.inflateInit2(this.strm, e.windowBits); + if (a !== ta) throw new Error(j[a]); + if (this.header = new Je, qe.inflateGetHeader(this.strm, this.header), e.dictionary && ("string" == typeof e.dictionary ? e.dictionary = Gt(e.dictionary) : "[object ArrayBuffer]" === Qe.call(e.dictionary) && (e.dictionary = new Uint8Array(e.dictionary)), e.raw && (a = qe.inflateSetDictionary(this.strm, e.dictionary), a !== ta))) throw new Error(j[a]) + } + + function oa(t, e) { + const a = new ra(e); + if (a.push(t), a.err) throw a.msg || j[a.err]; + return a.result + } + ra.prototype.push = function(t, e) { + const a = this.strm, + i = this.options.chunkSize, + n = this.options.dictionary; + let s, r, o; + if (this.ended) return !1; + for (r = e === ~~e ? e : !0 === e ? $e : Ve, "[object ArrayBuffer]" === Qe.call(t) ? a.input = new Uint8Array(t) : a.input = t, a.next_in = 0, a.avail_in = a.input.length;;) { + for (0 === a.avail_out && (a.output = new Uint8Array(i), a.next_out = 0, a.avail_out = i), s = qe.inflate(a, r), s === aa && n && (s = qe.inflateSetDictionary(a, n), s === ta ? s = qe.inflate(a, r) : s === na && (s = aa)); a.avail_in > 0 && s === ea && a.state.wrap > 0 && 0 !== t[a.next_in];) qe.inflateReset(a), s = qe.inflate(a, r); + switch (s) { + case ia: + case na: + case aa: + case sa: + return this.onEnd(s), this.ended = !0, !1 + } + if (o = a.avail_out, a.next_out && (0 === a.avail_out || s === ea)) + if ("string" === this.options.to) { + let t = Wt(a.output, a.next_out), + e = a.next_out - t, + n = Xt(a.output, t); + a.next_out = e, a.avail_out = i - e, e && a.output.set(a.output.subarray(t, t + e), 0), this.onData(n) + } else this.onData(a.output.length === a.next_out ? a.output : a.output.subarray(0, a.next_out)); + if (s !== ta || 0 !== o) { + if (s === ea) return s = qe.inflateEnd(this.strm), this.onEnd(s), this.ended = !0, !0; + if (0 === a.avail_in) break + } + } + return !0 + }, ra.prototype.onData = function(t) { + this.chunks.push(t) + }, ra.prototype.onEnd = function(t) { + t === ta && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = Kt(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg + }; + var la = { + Inflate: ra, + inflate: oa, + inflateRaw: function(t, e) { + return (e = e || {}).raw = !0, oa(t, e) + }, + ungzip: oa, + constants: K + }; + const { + Deflate: ha, + deflate: da, + deflateRaw: _a, + gzip: fa + } = le, { + Inflate: ca, + inflate: ua, + inflateRaw: wa, + ungzip: ma + } = la; + var ba = ha, + ga = da, + pa = _a, + ka = fa, + va = ca, + ya = ua, + xa = wa, + za = ma, + Aa = K, + Ea = { + Deflate: ba, + deflate: ga, + deflateRaw: pa, + gzip: ka, + Inflate: va, + inflate: ya, + inflateRaw: xa, + ungzip: za, + constants: Aa + }; + t.Deflate = ba, t.Inflate = va, t.constants = Aa, t.default = Ea, t.deflate = ga, t.deflateRaw = pa, t.gzip = ka, t.inflate = ya, t.inflateRaw = xa, t.ungzip = za, Object.defineProperty(t, "__esModule", { + value: !0 + }) +})); \ No newline at end of file diff --git a/欧歌/api/模板.js b/欧歌/api/模板.js index e69de29..6da4cc5 100644 --- a/欧歌/api/模板.js +++ b/欧歌/api/模板.js @@ -0,0 +1,429 @@ +if (typeof Object.assign !== 'function') { + Object.assign = function() { + let target = arguments[0]; + for (let i = 1; i < arguments.length; i++) { + let source = arguments[i]; + for (let key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; +} + +// 通用免嗅探播放 +let common_lazy = `js: + let html = request(input); + let hconf = html.match(/r player_.*?=(.*?)wWzdv*NmqKOd%L5x~e zTdCMHsl7?8>M~;!yR}tqTAL~@U%c=C|NejPcfK#@B4pJ<)rNoa+kWJaBfNc( zv$we>Z@1s(xi#NOd|AA0&vWZmJCAi)gS{{cG#UrYzb<~Zi|fDFS7qhKB$HRgzov3y za_13L=?(~dXL&H1BXowvygwINqI38Ei3APO;Azn94Qv>M{o${d+@R{IF!t_u3Y^m{4j(a zTDAJwO8>2oxoyY;Eio3;If{0X99e|O3ck@5!GY;%Vi=6>4Lz6j_u9?%CGGl2#@jPr zDC1-99l`-JjGVORKQKu(O7Yk)a+{+~1HTcPnUAjvc~`s3&)a`J8?XM;p{_NJX%EuN z6xd*4zcxetzR_`SH~rbW;<5HEzw1WI4ZuyGpxRJIs~?WtpbCu3FM%nNEmC`L9{Q(- zkwXDiG7gP|9Ge#_pFe!SA@_IEZ3Nm@8Gc811#rqDOm>rPj&tX%nJ#&(Xd-65Sjt%c zex3W^w6uNL8p(eKjVRFzY{`l55afg`iCg5@(Vmkh&X5j| zvqm@;gm$UmmOSiff)-OwdVK?HHxf|pSpxkyu^V*Lk#oI9DE@0}Bde};@F=qPp1YSE zTEfzrr?sofyxr}ezDb*y!qK32MRrjyStbH7Tx`M7izI&q3g+}X=-BZa=1;YX)OSM| z$p)hcZ0AiDOF|tYHSHL~W<+2t`Q)E(dnTu4)!Sg+5}3vXkJb<91W5mF&?zr1*DSsd z`0YSPj)2iBm)1$zLCak)j+sKT0VDCFc`px)oS|c_N{vrcL7b9z-%$40IGpHc(k2U? z7V+rCM0J0&&Bz)N15j=VD-`37{``Pb%4oGyf#o_1e-V#VrWxL`GkM)30n=@UJWcH#gxO)$`q%)BF}0N zZ~XqJSqXw?Zt7MW%4$CAWyMQ!PpzQ_Xt^(&@PBWK*vgX7oyNoTV zTWsvR^&2O@3zWAW+2xe{)6=A!8`Z(afdx!!e&y$lYT55mFfo89LDLdizIglCbzX3A zhpm4MPU|Rw+LJy~$e^6rX!@kmXGira9$xih{&4OVR&C*J*@|HLIH6esiVhB4m zO+IFEBb%SabWqj%f?lG! z#31-}hVC@5Z79W1+Vue8uc4BZH6y2!keI}KM+=$=4CU|@0h?{CPHpaT*J=ywo4G{x zUY^UUdV)A>DH=-Duj5DE&l{afMrsF$1T@-P)D38_OwX#!bd4X~ID%f6g{NB06IOBn^ zoLfT8+-iKC0nPu(#$4Ou#U55RsCf`gYRyi+v(Z#aK z-g9;A`G>|3EQs@Lz3L^r+J%2q*s;tGXBLhHslLLFnr%MkXLug*jxN(`B_QnRa+7Hz zVlI)ZpKfcDN^;Dj`2Inx_v z9KSu_=jyStR;73_Ue&{S{-2|^-)u>+IQ;KDm>#{N@#ylSgFzMWqa~d z2I@I2#;pY{M2>+yf#R8B)E|a;d5+2*)^AmU6W>xA%=lg;*{q1D8K$^s8Qwg^Mo0fF zTaQ*ypQFnH=L4r`V7_lkqmkD7#u$}7$HA8$aN7HD`Wnp>w%_;@HVFvTmm!Cf?91pA zgRR#&iqk?*yw+h@3fg2XF@5XyA@0 z3iQ5Y)pvt*Yv|QGpO$^ciK&#RYt;0peZ!K33AWd%F;7mC{q%&qP8G^59*&xqWi`gF zjSB+2AT25YAkZ(exNT@C#zekxsO~~B>czjOla`pO)NtL}DyYb$_olg(b>tkW2O!Ka ze?i98vxdWi*-7N5&RyeF#lQwYR`GNTO@7yQ{g%F=`XTIF3x-!}b#OrMt@WJ{afVZ9 z+xVHhzr7?|czk~}(&3p3hoLEC;@O9Kqx`4M<0gpKG)m9)j`*8RmO3%l>^t`DW?IvD z_tran4)Bm7nbO1a4GaA3epNMQh!epzcfVe?(3>`dU7MKbI%CH{&2375WP zRLm5d*iV*JQanUxGO4fwz>dvID(m=Xccqiv1gz2~2G`Rj3f9slQ<3r+uB4HE0J_r8 zErMy27)gJ5R{bo2L1D>&XU}W#ilOwJG*N^Hl_=k^wVB7%b)?R=);62_W;ayQm{ixN zs4J3rPm8B9f^T}HR&!)-T57fjsxmPIr zg2VShlv?sY*wwZV@3FRvF2$~GZqwpeHV6oi!`n z49Q&jY6u_e1EXwXUCO#3A?cvC$T73qgmi!3KL?gJ?&~AuTL>n%8hRn+=&rt5IfHwN znGgH4J-4?I+Mzrwiq@1vHO4bJg|qq2_;o@K!yDiTLrT_j7n$QH(ie=})sO`s%nzWt z!>bIWnBV_);@m}-$M*&}K?Cz9y_S!kUUk?rsG!9F*ahdnX0PK|ET8hS0Jy0709Jo8 zj|6Db006-W)v~yD&1 zo0lP`=EDmPFNW2Q**K)ooi(J}_$7a{J#KZdQm^sR5{Ti0Yj67gfe*1tvx?C~;6t;e z?ZAt*S)@Ia`s(|3N=7M4*H+q~@eO8JQ;BRX9jrtl@oKefgZ74&h`M9BTBC z!TP&6qZc5yZql64OgpARUmL1{{6bm1Ydg6>m)e*ew0-!AkzNamX-TlN=eU2`rx)KN zSIJ7u`W}%PS=&EwV)s^d>(2UmlkX-10t%tmH;C^2n^RhQh*h`K=9wvsO zqDOaI(wMFZeg3rND{Lz^v`vO(7>aJs;;iEfTN~-3#(7RjCW#}`CIZmOis!PL^exo% z=3s}&9fqvc82u1ZcG!cCwm*MljYcFO?qi#epLtv56HG6 zOQ$n$q)k}GdEQxGS1^D5Tio9Fnx)XOdjH~u3ZPKRU-tzS$(d)>wDP>ex9sUn>9Zq} zFm(%qFnm_$nLm4IJcYBe%<~xKz$BFfrv4!}k(L*neRitFYDrjWuH}E&yt1V*@{l)O zH9Z@%`VAH__YBpRWleZqwY;3U*DN}dAQqNR%fXOeLQ9Xc+p9h6f?-3p-9BdD>?a@a zyKYx8OEW9&_Edzg&GGZV*5UnIAKx04N{pGsIN_J$k>c$6PWX7353N6J;^|Ev<~y!) z#{IrW)9!nY4T_c=zA9$^)Y_3*Kz>H*=6mN>2K{%zOeT1G)XWqhsE9N2$*=P`crALR3Xu`DZ@rl%urXo z{JHCW6tzY1ymXnhg#=_qt%I{g!U7*i38LtYzKefTrRW_op=(Xou=6&z0Ejll!jRlu zr6-QvJgF1wdQFxW_?n?abm}DT46813Xlvn84RyVru28hU%vXj~3i>EzW?t*V52Bo$ z=BRfZ+qAZ@*B(ZJ4!D##UAWYAEs>nnr3%PFOs}8oMGjjZmGhA#xf{M#aMp~FIth4= zwOxN$rFCv!%nL5(XhZ@q_-ycbo%+K~a|;vTtXX2}r1ES-qHuXRYNI=Z0YowPIu4oo zwTV@2st2-Pv)<-)kXxtdwbq`zle(2KV!{RDo`*HD@&-{1Sro`07GLdN zR`TK#&Zqps%};C;jq~Wh>mA%T8=m~)q4sk{^H7=+zxttG-O((2($L|+a*J5d-jz-! zj=wjOZo$y#_8baX1rSBhl>O8xTqC`RFI+dh7M|YXtH@|=P zp$lcDc8ePPGAk8W1xkme&Cfyly2d%x4+CFbu*?038dM3Ca@J9`wy<97fZl8}qeu?7 zrf$ij+b8z6XHuSCXlfSo$nGyW@{sQysSn?kj;?n#a(fj;_mt0qO;Ee3T9Z^w>7(90 zkH#-JfbLQFpPUK?3_EXPz8xe_Kkk1x)O^;O1tI}<(}>Zbs6%+<{)$*E=a5DG<-s($ z+MCw{6o-&@gteoYIe$RM7PDm^Rl_qmH~&1)y>Sra+L9E&A#FtCk*m~5Vrk*r5WLZ3 zbZ4=ObvAM^^gT|KPm*PuTil^jg@b4|2j#Z?j#pt#?)RebUpN(lL6c?JcJ)@*X_>S!|KK-kOhF zatQmgp~%tL0x+ydMa5=nm;R`r$&Rjf1B$>*XuHcn|<|Bz@(K&6>aYK|TFIy#0q?3>+IMaLqNG4xfx99w4f{mZkNEOLc+r( z^!6}uoPjMV9;ziK!h(MTXU-!gF;rhZJv%YmHqOxJ6YS*^4X3U&PGKs43oqCFItoJ~ zThLq{AEUa30vi!wpiE_|!ezxj5#5*X{l2%yqWc*0?d)%r5_GFuI`zHoT+ghtfkG!@ zYvxeN@4ZMh4&4fA*?5H4j8Q&=v zegt_;m*M_KsDE_KTo48dN&Ph=7nF4AL?!}Vh#k(BbJoSVZ0;M~G)B2j7x~+c%sHp1 zpq$#)M)Klu&Zo61<8e)kAqm-a>?nV*+{^6@rP~OC`!Cv$)@% zzP2x~Kmk&1TM>Vbvy$^EPE4mG)pAMLr1&D?py2i?F;%E{m47DR*G2E+&Dn%!2YMAo z7%P$$Jb8S>6UL<7_Wj#Oo)yMfD*KKTyU(S9#66OHdwW#2-T)%HyCTUB4Zf*xDHGY5 z;@V&-Bn;fdkI!3zRfA}A*|G#@+{Iw&#k>s4z!JT2Bg}t8-0Dcq2We-E1-qzK3?uKS z$gVo7LK|+1&Y|TKSaBjts!IN(iQj5#1ZVRfeMG9&prIOaoP>wsD%;0$VtWxi3uqVG&pc zGha#G*2#axpL!iNbCJ|I=gdV?qX%N?U<94|1L-5ns?cQ*-%B2i!BxWSHZq}W@dPor zu=>mwjbRZ8oPWAsR9n2L@Pvw%5v{Jx%2Ew&qdSxKZdt9IK!!yzF;z=GtPguy57^oE*ISuPykkk60*R2z!`Fw z-@UVv5R8T@a8jO{sb?~QQx^Um&Nf(}%_PKJvrfSCee0|tl*W+XyRD7A<@(2mSBVL zI}Cqw=Z)MhTvYQfzR88G(qcqhVx?TOu^~^t4!Tj(VHmhSEItJnWn?WPA!&(8EG)N} z%~5Bt{j1Uv=hQ3<{mZnG!SQ-alO=gWQv!`W`*+04=ZV; z+fMqc^3zv1!`#S@FVAtvCEHicwH*hV4X=OE9utpyiH4V|PjObp`J+eD<2hY*(tD8J zcvmEvG>p*;yV7C0<@cex8BMRE9Nnon+h~?mTez;TV3#t@WQMPOtHKn$u&7t3N0?$V z>#v#LN%EbngdyT=s{s{w?ewLs`j*SZw?W7~-^uzzpP(@nR*8|4s}$!a)smnuM+SeU z5IaUv&2l9siUEgcF#U z3#cp0Ta-@?axM6_yg_lVd=UHBw@kUljrpf8K0YbL;3`p%?Swi;;f0gqq8xwvS5@u# zTc1qZ8Fl0O<44bpGWgZj7P{i<^mi#shiWy{kb_qR9G3rohE-4D==QSN(U`m zZtJAnXARh2S=ij=KCkIcCl)6Ck@banu^vAt4_9c|+CpSpo#VQTfF%!xlQg%)CxU=- zU($Zli18a(4wMc;?W98+#59e?IDPRwLsshhft~l$B$j|9hOnlS$ZAlH7k$sX^gXjG4_G$w-t{esMH*HD& zMO+L%q5c4JCKJ-GHbpeMLekpjdDl9PdfvWNIaglCX<2tCb@h$*)IdjHc!jzFmvl+%ATp}w8#3ud(F-29H8 z5SPeB68-~|$3__*`;ZauiVT-K#oZeVLtfC@aWYY6GMcCnHcL6Zy`60C)X0y^qRIB1 z$L6yt^b96WBQdn;eevFq{%xfC;r)~cD93)>*xog@x+aOB$T>ewDOKSj8IuB@V6WAQ z$8laH^y>)7Zf$?>Wne?VogzEraDj-kXQ1RImqgO~M4D*FYtj38O!+0|=v9KwbK?|a z&($&NfqGcU>MNF0Z9L~MVLjv9d5T+#K9lg+kLOC+Dj%rJdS4Z9P_;>>AV_7RmOk^V z-G~^6;p4{6)_G+p4ljq*=dE&8`2g(>eBV1)-pKe&j7fjP=4iHkL%>8g*geI=X2Avd zobtZj%(2dAf*sAu^4H4XlJ_rd<9ccMVCzlZKF5Bh_rEla`x|ut3)jMF8ATW%bG1tK zwwFH`Ova^hvt5-)cXY9=wQWlkNoWN7*^1vG|_ueh=QE!C;(_;F<1=!Jpk;OgV!1X4s zbm>AaZb25tX%^*j%DBrD)a<2#r)jM+n5^W{d5Cjxu!^I7a4VPYbdjAtmeK5yQO5wWAcf$b%n<wqQreYY?m6lkr5H{L&Pcd6q>?r8YT>R9lIrHd zDOi7>x)IyU+V|6!NZ5OiTrt_RMH?;Xf(txXN`&6*KAPFJO=wW0b<;k0IQ?N?(FXqu z9_~@#!u2qEGa5J==p3u9QMad!u-k2;yNigG`gq__0b+aIeu+dd?r`DHWw&xji}ci6 z@*eV0$xD!}FV?xkMoq00+-N*9G321q%jYkyt7MP~7Cxd&e|@_Ck|^j#wT zHB{340C-_Vvh~Ru)ne?yZEIi9l?@E!e-Syw33dY}CQ$|mwBg2d1$C~MSkBfgVD#z( z!)!f_G#HC)d3d-PxSU2Fm5G*-kWo%Oc<&pAZ0PF#Rof1|vG?S>mBXUSY2i8nV`G1} zHj*~3zr^6u0Ng~F-?(6gCKN#`jZwx|62*Z_rpAq z*SqJ*D|u|HokoVwkrk4X93Hm}Qk-KSfb2E8Rj z$cw9k3;tp>)1{mTTPZ-eUuU=|-<-7>j96HY-@c=(=;lsr8|Cg8eOhu6M2UY;454nz z1s1(V6MMvo{gjP+&Abfu^AtVR-%k9YuXFwUOBa?jzDwy4trW4@+8t;#04#{cR$`bb zgI5OCk|ne?ypcvsm-LE!0-rZ^2S55aRC@%6RHyv7&%rlBG_$VAx>$jB-`jE_Mex); z_HZ+J2oL#>s9wq(c?XJecr||yr@akjyK?xRrKk}`!;btt9a)LnpTuOk)8Zc5%z}W8 zL!%HyWg)fov1b(yymH96|L$D+_s^M7Fu2H)au7UoUIr?VL5+ucY=1XJ1qtb zL`_@d61%b6atLBYu}Nb&nqcQ)5=Hs8qZf#7AFy7o^jkKZ51&pB~TW|*`YjM!4~=wfLr z@)1)AmsJ9Vm#_PMu7H0LqO?_D?5|FXlV@iwTzu3)AeN%;BK`_J_nO+LvTO}HY&UEFIMCR>p{H6iqzA`Rew9aj5Limv(C zFa|hqDjDd?7Sm`vfKm^B|Fc!rM#d^(K=#;eJihA_b z4}Ic{QsgpwkZa8$Sq%9CpTVMUnD{C2>)CZiKe`xAZefOBx#RX@`4>*;<YVrYme>wDrRqA^cE!lj_}U?js2LMNR{|y_A2@oS{aZ&-KMD1O3ipoo%`_ z(_ck&cK1%Sso;R$r$-Z~Xm$qh>WscV&gYgSugb04oInVERO`lp_T83@2T5!5-(t}u zB&E{=9um$xxkma2K6V9!%!gX_c*Q~)f7EUgd1L)8bLrL;4LgAahGewt zMhJ#7UtoV$I)>3Csff|U+!lT39WU2I3C9t!3QnFUAXbGSNOzY*fRTPmu(t?Dz1y*M zu3v!m{vv6rQ*2L*xHvtv>1s!rdV!JaT#Hol(S#{eXLoVku>k{!Wxq>8)r0HR3+S8U z^P1vu#`>2Kj@Aqn5`iy?b)o>nAg2zxcppYH*Rg*ufzqDSJXFyzqFAeHR+$L+JPD*t zeduytzkT9nz01;=CvKwDk`=nQ)*%P;yYvb0$QJu_ql2a3txxyMvnlGWhRIJwot4i{ zOd{af?rkrGUc3yyv%@n$Q;jHo&48YYN?&>@V@8#jOx^gR?L{R|u=~pAQR%azW=MyI z(p!HA!B4**7gKdgRHpD}6?ad61bMnd%w1ArNgKkJT!g)^J#th;uwP_6`>J`mew|T? zeyxK+EFrntdYP!M_A5iV9N|8bw8=8%SVW)0s_q8Dx&D6M1J$*OW9qVZKX93Hp1}5K zHCdEad1FXe?Zp9fptAEsyONMZI)HUR|3!Z=FkQU+T=BMyWi^PmqAz<^qB1RbX>H_q zyP~<;KE}IdCWbCGcI(B9el!z7M+(GyZh>QF3yL7f zoHd4AlSG^7_1AVZk=U1Z!3OF)sc2CaT6}f^UcgR_e^fe2U7dso)}F6~^_o-&=stg= z1&PoXjG`8+wfjcvGTE4@c7l2y_g^)ggt8`(JD|CWs1N4+tnc(wQ_) z3YfV%c%L0J?C%prlN@+LV)4DY7d(HDO&y8m{Vm+wHa2wW01>ns%JVdsVnD*-DDY-W z+5=%39|&EBP1xFu7_rJ;+sTdH_L9cKyq#@%0W_=l`KxO!;TQDKgosWT%O(;p2>#)@ zyj}vaMrR3h{HVxQX0elSF5%?`M&diEiK?P;$?iHB-TtdU!FChUJ^WnW?9+d1l*=@* z?N3~t;&rW+aUt-@+SR7xd%90d8Qz;zP=t0C%> z`1-`B@ps+!>PNQhHL>hcj)@^$&)uSWbNZVC``#4|&MM}-wGH6edbR!S$nGONJvidM zla45DHo5hC{#z?}xp?1v=VpJRs5nDuv;6`}C*?PG@w3M-6&~GtY9R^!X>DngBX zDF{mG(i@Rog+c*X^RbK3msk04gDQ45tEoC7o%Ot&{yOj zbHT$PEdRvagKJQ@QbfVvo=1{~j&>o*Oeo{?@6ZnLR(aM&_oN}eJj{akL5dlZ3fI-< z@a`E-dwOv}T}ywATaBA)w*9u8N&Zt=l$jI4$1b@g$9qa}%-+>};VC3}=BYJhZ_1gJ zKN!R|2}1pZ9}lA#M9gQNf~lOci)wvcy+S$3m^gd7lr(<&#~bC5+XLss%WkTwC?z=d zD#!UQ7E@D^cPSH7vCAXb*Y_y9kDK^o-$872oSfZX;?;lmodqP>_VQ;?d|F%0?zrMf z9o-bOgoQE%&hAdr0=c01#AKQ4MU<7pNFUH;b{0pyzo3@UWT7a#KDc=JOee)``*o6u zPIWKaKwU0CZgQzm&Zk+-Knt;t+&0SaVlT2=cbTpWfdP?ozOi`!aaZX;z+yGjiVlMbuV%zt8T@PVv zjOGyf6WzmC2u6_8VQ7e2rVR57l@;^$vGfRKrMnkB5MU(}xcaZ_OLK-W?>G5j403-F z-Cf5W`*wk?D1{`*VCUU>ZSYPqv{9XyCjS}n#cgni79mghD{ze4waKz{u7wogqZvcl zrTlE~k*IN&H+FSoK(EnyT9TVqP|(wi?%%tJfC8|?{{<4__l_9I>;JDnZt)0uI<}&D z{Bo&=h?I0}Amnf_0T*oI8r0(zwm&`0gMd{&?M-scmr~aj%?U_3H82&}S zz-1Kfm0P44p_ z+4&5ovAkFr)VkSV%W5WwB`3e)!J+EE5u3S^js2Z;a#@lN5^qn3#85`iy~r-bE5zvX zt}c_%z&fNmhuy+Y*Y%Og0oF@|n$oly9`UfmwV{ozj| zK#mGO!152Em86~j1@sL~zOH}ik+tQ0dPN4v*!Y>W9m8(&<5+Eq_-Y>BfBCg5n2l1N zsjl{J4>Xz(VZLEm$f>+SzF7Qn4>8b^MHG*Y+4nfhB@hDzc^og3A&`G^d_MfZA? zqBm4q9sHp8R?|X~h4HSSCxVzayuYJ|iS|G}l2~W*fiuCb4S^K=$pbH?_qFRTILL{e zKy;3Lh(The@txAypTB>0x)z_+|Fl)V;8Ok$?OxB3g%5h5J>C&ZS7GwNe~01xpD@Bz z`N;p@tKs(V)re+``~O`HX2JhMnV9s@|Deq7Bj~BEf@XaXOx6Bx7Nr2~fZaf%M=Uj% zbHng30Oqgs_QW%FI7RHmS_cdDTb*CF%D(Rok=C^#92$m^)3JZEGS=3#d5QqR1=B6R zqsyJH|4DlG|4Mqz@54JqF8_t{#Nq#<><~u(U#L9%2P$ff04ULT9RDNfi7KFWmGm_K zoAl$O-~O5OPZSsLd%rtG7(67lV1p4~HfQAw=4i7>*{?Pg?mT~2G5tTNaDR6q`~wxZ z^MczV4~xY-MbCea3x+se2Ct3dkj@KsLkVaH5!?_U0JC6}p&zONSCLNN4y=TXh$ZYv;(MOrRwrHwqk zDP--HxFXW=A0j|hmH&u<`+^%UhV7qmTwCe?cN}4q|BinH@$$do(9j{q0r*cGA;hfz zzc^T;Xmt?U|A<4Di1Yu(@ngYl;R6 zW=(rfvm+b4xkTHRmpeED-*E@crNB)&o%ixkhx0z8#E*!%zbzX`gyn)ZRzJ&BWSA~h zda|=fh9b zeTMU>)z$~k``N?KUm#{79&D5hWoo{*D{@Je2>nk zUe;JtI8qPAaR*^IC@v+n4ApsgkIBhH7_~drLyw>N`K-=pu*mdcLA|3GZNG7ABkQuv z*4`>Nsfw6o=Z}?NUx>U(6z|=71JB&L75;y4m2U|U!o@^dr;!jnJzWS!{z*&~TD`r# zAHr(&snlGj!~ya;Q>6@X?;6%o=91CZ1q`=Il?96Hqf5!JQva|i$32dO1Il$DZqvyG-*DjL;_1cJT_*yRg2PnW`PfQD$cvp+dBP&*%~P7*RK zrUl2(TvxqT1Rw39x%}oSXSF&T*mRB!0wRaO%XO|UCq8{qZC@-K-06#aA_-|M_G@GM zA8=0?;OQy>T^oBV6CZbmE8}>ca#4S_+rU_@dKXEh_g)e5I;5ABC+3w{os(fi_ocq)EuA-A z3EyN8zdceNL}!L*#FF{WJ*k|*whs666tFAPffesHen)n>WXqbU?kIfzNYQ`CS0Lv$ z91~y3pm#J`rf0*!>Me)45jW;^{Cx$Ao_US74xrslKojm z8Djas>4w-uQilWQ$eJ3?lHMmB~y3)3-8JSk;o&x(=MMQzWff z&%OftV6w126?VlJB}5BZs)$Y~P;h2I+p}-nPk(Xu?W6Iepgr44x^#cG)k+oN3m%%0 z^%*$?U>zkn3=qvSUFGDrpc=B6m37!d!!YGXjy|u`nXCbPfXGRa=Z%_QIZAU*G-YWs zJp?!$P|q5I!7J0*kz0GEkFJgp00NDLXN$#KJc>Br;u&;if}}M~=2o}DUR5Sg44to3 z|Hw?L#sAzm4O;$o?{$AK>9ajmpa=Rkuz!9#8^T}_?gM8A#>L; z+YuFqCLd}?ItP%|K|l^_XRxN*ZtC6NqU{HW3IaOo;Ccfn7rHEiln7l9BV-r@C}sQM zGOFz%n=!Pg;L`+!07CjVgZ@JfoR7I86x=3IC?$KK`U?FmB>_t#+&FdKY>tQLK1w)q zSMB;1=aJm5{}X==$PdzjbF}E=x*ygjwu(RrU2$(#w(?vfKCD`_rn#?tSlTeg=-Rw@ zQj`)P(C51e&~k2&p7C81jCTh6izcGus?Nyw1iD9rpDDHp6g+9%Q+brjg#;UBTTQ1XzL@--0i$=Ui zb7^3my>==su4V)a^TbaSfqz`41i=hvBMm05A}i}#03jKwK*hd`BQ%{rMG2%wIpTLZQsp-&c*Ch&sCxL1B!)w;3bZ^yKdCLhEVafftxLO&BEHY z*c~4hV1tq;u+0?e>E$Br$TN)B1e72KcN|0Dr9R9x9SIOmuh=>UcFG`bV1pR8tNc%W za^r1jSmG}L0G4?bf&+RX%qUm4;$1?0@{b%GWcq)4`#|l?OX-}U0nn&OC1-4Xee$2# z2EKRfyntl|H&qaPuw=FW_lkk@_G`fD$C=(cH8bu&Bj+m|?Twu0c)v&2TuomRUjps8 zz7x1tQslEAa(kr&(pRuM)A#GV{uK>g^O+HvQa5v8pe6f39yZFwyqGe!KAEI4X`&Xd z3G;tQepG|kboD@2JS4p=9+ea zTb^Fd@`x8PauzLV7Vm=l22`@11qfbWtY?3u!S*x@qZj9I%j>;v<^;e{Z26Qw4_%yy zgY5XjOI5pS@ZwwuuNXOVl1oZAcnMsY*S~83)L#CK%{zAvsN^w~?{nP#G&L@BCchcceHdTK4?OnA!@0u2-_nR5 z85+2s*HzjQ9nhjvk;t@}&};;$Y1<>^1QbYn zf=Iam;b3Aq>`n<4X{LN4rk|`EUl`Q%t6)+dZVDqKjDS;&yw$HSudYe~&u=U1zD~Y- zituug_gS(RQd|3yYI&v{M&43b&uAD%Sz@W&v8E8CVcfOjMlXylD{V}!y=0&$=fLh;ynz0y0^J#zzev=6-WQPJ*(4DeWW zvSyt5yx+Joy)W+NtJi5DfI!TTB$UL;#vb*il)qU5T+S$0L-{Kwz)Ie(CI$d_rr=-_ zTJ>2{8p8C7K%$0U+j2#F5%Yi4{5@Os+GL#mdo~84aaq0WCsgoEW}Tg1frwlb_DkPg zgp_A~+gts^Ca(lJGqsSai-HX3uj-uMrr@uFMYu3{tkA+MH@C^*WaGZp#sS&i;RCeu_H zw*&?JD;f;V1;y`F$U5?f6-@cR&Yls4B^c-a>TGTwXhksq3zqDSb6lDYn|4tW)>g~* z1n#e={eD)`<_}HaM^}`vS~?{pd-UlaDfSk%Y%f-^M zP2D+T!3tFH;buV6IwyaCY(xUj$0?7)*$7>!u8OU1sOPKGe0+}hPbkSH1(O$3{ECkK z$|CCl!%5+dcujvu$DgEEavaFqY3v|IrceH+rdZB%ocaIlKcq%jSUXn=PVYw+I zK-J|NokkwJ9FYc7&4_G&*mrmN%q)@S;v0+Buq3Pz@(tBJ01kBr)lG+prW7miMS1$kTM zQ62R+x8uZ(Zqj9j2UkF@^r{ovaiv$+TCA`1>i5>3<6xfa4^#~;XV`L#>Xq)^#Pwb2 zuJ{({O6(*j-Y|b*yM&KLuF6NOOj+&Vc73c8rxg|qyd&6aoXIwSr*J^VN0?k{5I8d~ zLsXti4tsln_kb`}ACKId?r~asf?rnLV7i1y* z86E)JQ@7da2Je$B@ClLl5joWC^v8?TQ_c~i;UVllaHSeKt zW1A0p@snu!v{IvG&GcWvTReQYm61Qfw_+rxGM;-DIpQE^#wg!ufg-_r2RUu7UDh?N ztY?2Y&P;#atQzrX&=_6ovJ??_`Dt(`Y9vJufhCO*S4nE;khaF6`69LtY?%qUPXz`9 z%4!J;f%Q*3*#BbLrswlqn+cAu;sYLA--(*T+-*>V^b5vZGTWF!Mkb}5?^#CTd)^}= z;P=`;ErVfh7*MQ8lgAH8$77kzx6YAYEJX9PgzJCd#sLOF=2X-6g>n!Yk5q49nXG@Y z*{{gSEKwBs8=>|N;qYT0{`b~#VEn~_r#qa;>XhPI+0-0r6poQ?&>49Wex z2W@ME8@u^)w_Nf{&G;opvWziG`FO{kuFzES?WBDxIZfrn)IMph_O6|gJr#Pzz4f_9 z?}&eW?_vRevI}~56G!~B%1jv`m|~iHn=$x1bfSI$!Gh{cR)VpTS38asRQcK6c5oIN{M1FRxkTQEl^n@5!q`{{EOusxEVzRPP~Q%$QwbT$Z-CQhbmW?2A(=y> z8OFj*y2aN!yDrlutiYO|JUAo5Llzrv95{bg4(I7+bvGImaXlo(ikUj%bNYSi{{k}8 zDMv2y70Lz9B_@ad+Vn?I_H@CLhWJm+8|YH_rg|_#T{~aoZZz?~ikd4uuYXc5D7ND9 zQ@um7<5umAABVKjt6g5;TtV{V8^_MiTNzzY>;3Tqh>*boR;OU9DS%N1RM>|hzcYV1 z?b%5X)C27h_EB}YHO+fTX#TE8w%KxP%ESEbLX+N~=DpBCPU`)ZS?utVm4dZl%>akp zp?4AaP{MLuFlu$gnK!q!mujBRQWp7Rm+|u;x#m=0g9@{0)oQoz&3^jL5FU^+MQ?uX zT=ZQ}mg};|{-h~VYhO!rTk@Uym1V$Rw>y$08w<*+Rx%6sC{jJC!sy4pb z#n@RHlRt^cPk(iPSn6c-Yd+Terot>CQDR9>mjuwO(>)EA^ABNt*xO*0P-Mn3oZ-79 zv;e$G=712izEx_=UTkny+yA99!_|I&tv6EUI}9PH`L!7NQgRr_f8-wnnS1uW$v#tX z_%2^!aD37v*`Y~hshfUFir+2Z^liRD66+Edonuw2`#fr!bqq^FZOU`CmMNg|Pur|e z=RMVlVT?__P}l8Sa1%7WP#)D6l0vXLls1X?bmLX!eqfUXNlhPmmlZo5MIt)Lp)p;B^ zRqRu6pU2+BslRzR#kFm1!nHD&GE=aiJdRw^$8J27{%KyR?D@#`eYGDPk5 zPZLR!^SU$gh|MBZEQU0)52u)aS8A&c!ryAmkx?sxwC%JyOF4&wMzE4S3|mS21$FM8 z>kG5*>nzIZ|4@Z27=&{0>eQ)RKZ5JGGJ-b`R4e`;V%`I)skLnzq=R%3r7I-?LPtP) z6_qBU$8!!Ka_EE(q6kRu9U`Df2uMjF1W2WXUIYxGg9Q+fBE45B3WM)|JM;Z({(0wL z->g})X60V@-a9+b-p{_C`@Zh$$xikI`0Rwb@prCw0U#xlA>TKVP{8QKZi?&Ca|=g+ z9d>hKV{`1XB6a7C$LoILX!|O(T_(#$NW}`kl^5=~__4yQ#t6TaGpBOGJjLAq)Dte^ zd}#klfii~s*u_G`wrjxlKr4Jpn$>RLW|(2?q0SOo=DSbuH;>-wHCe0pBbV*o z1rJMFZcmH{zlI> z7$hnFtf`B!W6uIs_FPC$SZvsRNdJ}6;|)K!{;{Os&FH{2PeK{^s zi%=beIF5Z-nREw#gxRnRv@7%%$s*cia`m%Zh9nvYmiVngd*uj)^J{8y?jLWwx@qgZ z#kcV*+J#5){jk%n%b(cp^E{=X@JvLAIl;E2$LaXybBB@5p8om6&_-NueX*MT0cS3q zK&f@>PtH4}y@=Nluhl$x*zU)76zTCRSGi9x3n?3fXTn2&Fnn>0QNFto!hw{-zcdmC z>16T(4Ht&A8=fhl5hS&nP;-OWh& zpRu)nG{wJvkCr$LJCQUAhNDl? z?z1NRqA%`CeTlNA>fqZawBM=V>of?_0F#N6h`<*IzuSiWlRZ)1i^4w}OvViS9{%-_Rhw_>5RgSoCrcZAE6_%Mt z2kSn69~UinqiwWfMz7e`t}tbIfuih#oFXCBAl=N@FteJ_ZySZ77f_kMuV(&$uo3zRvCcyNOMxPhxgM3!;AX{K4lT1|a zIWRa%92G06)m>Ki{D~d-gn4r%ZcWYP9Y0@xKGUFX%>JW>)?D|jrO#g*2u9zkpb}Gz zggy8FnD6T<8`8Pyd%ianr#4ov>w4^4$XLEpFBQT7pEDpRFRu4Ox;RnP#+1kAhm&9U9pSOw5v&|BJJ20p&}%I^sd`L zTqs|A>ukRfV6Jw6;M6>36RX`sL+aa6tuW$#~^aK16XmkF|h&CXw5oH`jV>+Rb8uN$Ek zK}HP%Sim0INe0`n3^vDBOL!-IylChzoS7F=US~`*7ZZYF9Pr*8M_nR+1~Tm4&BJ{b zXcg2Pa&PcRbX(#w1k^)w0!ymeLxaZxvyZizDSlJ|s zvD-UBke;$*U98Xh)MMLD)-pSgu+Z_!oMhQnkO~#3ZwA7xhC7X}i ztwS+X)rlQD@~M~LGMFZR&o60=i{zFfAJ~;BP(@p>2W%wty{vfqVg@+f^-Q+q0ryK` zme1`9!(!q@4#I`1t3dn{(zX0ij6?Gvs7MkFMcT?^Cp@;Uuy6x-)X4{-u=wtx*4&p_ z3!jC|>ud)+P?~RgJN7QnE!Zhmwgqx#h4enlfh-#^k5rxuvnADkzL0b6d~m925U_Q1 zR)8>6b*)s`+UPsy2hQ(@@om_c7qQC)0R?L>zX8Xg{0>TsZN5%v1fHR9@pUkQ? z<0Oi-35FU6zSb;%AAWiAv)xA-oZ>#iT5_ebT&SZbx2%T!vTmS*SPgW$n<5KRJF2Cc zP$nrj%HXMz|8nQyPu~N}o4@&Q-I}aFu%Huf!krfr_)Hk#i@u+PNPUY>xZ*<*T|UkTX}) z8rb%81xS#8G`OkQW}xssVD8W^*=<@;`=-G|-+~pDCY4ttf+P7y=)dn&^vk|6e4^%i zXW$(h?P9mKd2NVGiP#Y1!0>q%(79HquMCXgdgC4}scNERv3tg?#(|7TZOMJ0bfH`t zN%jWsGNLN*>OIx;>2aNWU)3HXIrHeofbDyrBWU@5?>ydjdxe|OxEP=!V1F^D!4)9s z|4ea`pkE*_u5Qmb05Kfv0)3Xh_V*<7RJbR%TGH<0HOqHTqJbmQ?>rJYNSfpwI|+SZ zjurKwgMoKX#iTyp!CY-Sf?F0{kdZ>iY%84BR?Q5+3Go;Qe1Lyya76(uR1_x-&-h)v z6WTO?Ec59N7se=lSJ&T0KNn-}Z+6C;UoddaV6KR$RM+myBlube@gH5L;fK!KM!gr+ zy%^5{aqG@}b@Q2z-ff$dZt=9SpOKLfDJ{Q$ zzc3Q0ebahbs^2!5bB9EtCD-zq9C(Mse<92r8hhdTGzas2#*q%!ljXn%5rs?>1`4B) z)toAcYLP0}kKY7Utiv)3j(Z7qQPKnk<_U-*g+^hxNEUvP44#Ywxvq|j6Xp%IVgj9i zQX`@PPnqA}N#R%2DYMfov!*`Cj|8cEU&NmL1%bz7u5N#T*`Or-RU-K5|5aVz)5;1e z%ezl&TINX*76w#KRV^xg-~8e7^*et-PGbtU;!mdjVW(|RwiblrgtCE1=Gzc!U|%>Z za#im7-}N=1aFmm{zTicf^L}jkE)c(eG^yP{cx3p_nVsQ(YM$>7Qn&h7bE!@dR_81^ zhd(waE6)q!V|Lw6aNp{ms66W$fP~L1Qtq$?#dFF$vz`H%5YM@_@5lERi5~_hmp*pA z$RJUvfq2%sK2vzu=;n~sZ)qoZCu#rj#RRN=@U1!R;s~7|;z8U*e6R!awESj&&y=Si zn?-z=&F=%aQ@BD^jpZ-)A4|q6RE}SW!$&qOADUwiz(RV04}Wu~3@nhaG$B!u4H}ag z3TG|eZ|)v`@xGQXoTWECX50Rx^_roa>&V4q#=LFubFX>bBjv3t_*;9q0-;L z^*Zl%O^7gK&o58mde3jKs}+o=tu1qvgIS)@JuiE7NwG`UlSe|g%n4S17V4xphCh4# zG!}n_?!a37EGvJFSC)b3d_S=}O5xLGXS`5c zTfV))UFx}Snac%IH><{fcK;)!V%#~H>%8sqaWGHK0XUHFg_rGZAmjfwCBDo@xs5ZAqr8OwFgbWW#_}!yQtdy#P|so&rh5%KT!{2aGic@s~(a20O}}% z5c{hB>;OkeoKO$-a33qHc=tzu%k(=z^|1Is*b`-!$xOI^dN67L_NU>(bav>ih%UZ~242Po_593SL3r58=C^2n&j;^r1a!R;soeLb0N!Gf{@I(8>zl(h?`uIR z!Z*kVM!OL?6xaT$co;?eGrr!IWa92-ZAxiZHxjmj! z=x#sbWos&PIcB<`!>FI{B<e z6`@&w>T^E1Y1Wka_Oip`z$>kr7HQaN^G2ew=whE&1JST>k;35jhR?dxV#qItS(;#( z<@?4IQ$W{CGTO%Wxl&1H_^mfr(6w~Ik^|v^Pt%Ha{V(|S%7yaDp=X6VvmzvJJ{!FK zy_?!p@a9Qsfe?wL4Cwy-v_unZ*yKmVy0#EP$ycL=mL&*my8oWyh^UUr^b~WguId;MS%HSNhA2D_gC7sY4}H=}{PG zwr=!No5YFIV~fme<=Mp!Z7qC&*kUJtB_mt2Xt9kh0|JsJ{bl9%TGO0h&yA(3nGqg= zO8up!IvIQMnlPz0AeHdg06QeT^;+flL*z|pSI$E;oqYwbUy=N+6$&nco-%*9dYeG2abVB0N%h(6QcHQAn!+n3QtCl}-g{Qa zJQd$j2QsbY%SYLhBA^FeSvB-Kb^=Tt{^wbYmv*f9QMNFaPJ&_&$J#Y*I$~fmQ@i{c zJUj+Z&#?cOtpe3ipGPfu*IrOzaza6vvCmCv+ZvxA16ICA5QzmH&E->*IT(Y|r}uBDGx0arysuh_xvH zA3$t+5NiEzl<8~T!%@EP&joMy{0I|Znbd^vK!D5E=4dK0 zC>U43|MyeIZ@H-mZKEF%GXN_wz<-}HKK?&OI8UGdDM$R&zl6rW5&lie`~MTX|2;;o zc8)pfzc};mM=y+(Xy1C? zpP6Sk`+cIZBHKm`>9UcLXIg}`tIB{Lo7V*mV<&RW>LQkb6E(fHHs!<+0pMgjweH_k zOmdk{Z=kyXRY-*peo^Tbx~_^H5iVcAINLq^Zy^CcHLCj`j2pPwRu#dcPsaaOc=G=d z{{LDy{6~f*x`MZVUD#R?hT{9)ba9`0WOzd4;)Yj>_rZTYD2RTd=63Z#zWWeLe~-5Rdk00@CL_&WSiXx~R(4YTFHRxVtt%R%3zsWVJLq!qSp>SG+<}d&{K~-P zh+|X24}sFk)Z$yc*6KaKR@DZ?LT%90;4|D0l!khe=L>{?5A7bN(5J@smUm6=DnAbA zW)1%5M|$s}^6tpAhMC&F8SX?9@vU(~s3d92~Kt z@q74BM-q|n%lN%OX*+;Jqq#K@>J%~kTs`TKy00#MlTV}?<~G*f+l38>=Q!|4Ts|Fd zp64*`0J(U7AgT;^0{MqF&lJ2L;QtCc@HSJ8X5a9ACiT3L-QvKT8spdQc;w53Nm)Wo zOdV8?v~x@JLn^n#fG6ms6o5zvT>_p(J$TcvO1qqs3L)@pwbn#La~hC329^rjcq%aL z;IZwLxPe3kW#~8j7El|skbNW%(ma(>kD1kAIY8ZilHF!)#_gO7eQxg_+##BRDK>acp@x&@7f&$pwYZq~9$*Oz%Ihc$aquANaMeqmpXSR9@5ay-|r9 z;QV&A!jzB#Jn$YN@JQ@fkWKV-G!!o>vuO!AX5M8_vp8Ubq*_ViyCYNjXmiaQ=C7>8 zR!o6^x9xyZ0lU_~MKRYAKTf2c;xDkW9UxANNl|h<9%0i2gt%F$ZVABd6b7}+NGySh zT{H)P@NcM=6Xqm`SBSTA;imXHz@A%lZ+kl0=~kseuBRvvfhN|*9i(b&>R@zKi@%S^ zdFYkPVGFd*BsA@tAK`YmptlJ>K&9JO$6D8awZL?~)_TOZ{ZE<EG#v? zxLN5`!Q8BXTwd^N-s2;iZwavuPlvP(?SZA4K~@Yu`Zf4Z0J^8plUvmLNKDaGVed+MzVmX2k{1xa%xk9WWbv1cJv_EYgX=t-gU-g3vu!FO6z0?Jols>JhN^}?w zMLz{fp_A|94JY=l3=r6J_Ht7I>X$rP_`kTBSd*)zqdAO;@1Yav@s$hDi@z6IMR#g; zA|5qp2sWUrZ=p5qfs*y8A-{p1`BZ0rT2nZGnOmD=YMgrgTFB2X2aT~Ilwk*L8{&i? zE->QP!W*06CGR?m?wL42=`5jwte~0mY)aZXeS9{s5A){5FL7EW88RU65AxfOi1VsZ zGB4Y7hHyJ>R)CIh_!}QSrX7J(=~OOFOT-Zb5YMG?w-04dN3|l>Lz?HNNi$1-sUdA? zLw=kttC;d{Qs{>T9fo@|ShdsgCGkY_@lM8>9SmKPAw}3@cZ#6Pv7xt`*Burjm{L6% z$I~2Gz!klB6dPnRt6^#l_<8B9!D=frItF%R3%*ZmXx(3|w?E>bO?tlK2A-=3va0tK z8}Y3{#a7D2@c=g+wRRK-08rt76QqcCD4)lc?;IRcx24%JzAG#f@T93n*Z>~0m7x^8 zI~5&A$`B8R;9nM0o#dqDrs|97R1~)yIJoYPr$0fFLu-+Np*DrgqMHH=r)G;V!UWNG zN$gXvW1CaU{!*i$NwI6eH85aAf#MoQH!wa@kz%HUV$PUBBW{7LAyra;UNjyBBRMWF z3-C&N7zPDsD09fHJ3HY<3#d_@}h)u)f9=q*7Y`6y31oZ3AicGD6%`#ny3w0^1PT02~*{xh*^! zsk+4K-exjJ5?*5UYx|XrG+ttLZtIyK=`2;yhtiCZES4%HLczv=2p9yA#{~*$YrY5s z)g$F^(Olg=Lu3~|x@LxUTfhwG86F^vQ^dhieSQyG*6DTZN{SNwMF{fC_sqiXHe?1l zavGCvdA8dDODkH+n}WYJpV$@_uP>G)IyPLrNaLg|)DW(&KZ1~IK$@E~Bw>CXtZFKE z&>r(Q@N;A9r35~Iu_~$1FUwzyY|zR*aM)~iRAW0QcossC(ba~|Du08n1sO0Hby!hk zU&1fv05mS2puJTUK#lAx5OVQbE)OHbkSeywE%^bV4s*dSeRbwmzL1hwkd^OE4ti71 zg$pjz{Dvs+>#q{@Gn^T4g!>ro%t*VR?L!rFQ*~)|y!l{%50;17CMLq3sl^a5OKgs9 zx)3B_sX{i?ae^47y2%XD^R)79@Ixs>&a8!8xeI4*oMKKny)__6@1<0)!c6=kY<4%cxhZ-MMk_dtcRdmOKiAnze z-bupH!HnXmfWdtoueQhy8Xg5*90QY(#_i>YQ4=vo28dt?xC(fJq0L3!&+Uz((5gx_ zLBQ-Dq05e(u7EnJiBOk4=_7P~sBM!~l5HA7cy^C}+`BxuzZ&PjIG0ojL4Dye4I8Ie z5SM3pwnz&R0#svCj@^Nm3`d74Om9p8}>=Jn{u?;r)kX3(WB!Yh|AR zOFbQb&s+kdpb<+T{^??%$O(l}wW8O!Nx9o6@M|D3#Mhj{9Ez%hCd{>XWWEj!o8b{QPS;3&uiq5Y^EQ7oMT2fnJQ|(+YD`$mBh$Nc`_EumR&i~ z0A*JdDxYXbXE#6c!zu!qdx9gwY=CLd#4;TD5ZhsMS3-W$no+i?2&CG>JJ3ECpGvnoI>3nDY1`a3+@!Y z)brQW2BRQp&~~GgN%maoD>zGTd1}AWs$;U@#7%9iOi*N6-;DnrIq%k!lrE!+3ikp% zaKNfVWEz>z<3Zu6Hsd@v-=8N5aKSczGTcv4v62msus^so*CP=lhCJ9LTjpTPql-(B zrQudk4>e#lAvw4nPyzHECX;jVA%z*!b_Z;)3N!p2AkA9StYXS1&_!4@)r>fxqpGd> z6_vKhtTE?>IDRz_7|i7I;r|ANaDsZM25`V27j(-Jv7ST8vr=eIJ+Dwd=?%4iJ3!Tn zIql_o`O)?muW#e=+?%bv5jJCR?ew%t&17ZnEz)d6fNDcMrzPtwY5t6AR$6JqZt*0y z;)WJo$5_LZ@S+TBWC}}!x{Wl$zy%aJ#S9UV@+S0lMcVal+nzOH*|2%xy7b`pwBSHQ zYCBJHJoHzP(m;P@YG8q{BM%XOu+5`bGJjTKwb*>jWHvdswb3UxN$OT=0ti@QIL95zm z)Mrepl@t8tMxZlGX|9zk#OT$q_g86QjxdjydONU7Rq3Jk38IrMAf?JA468BguhjgA z5ULp|2XN3^*ju^m4&%qL@pbnLj7_M>H;IjuM|W1xfg4S<#+yqfPG+g>2M&|)DT377 z`SUeWtX@Myy5+>Ikd}FWK-5mTDREiWh#miyE~M9CXwmt@^u&_TDY|=r39FiafVv=X zRP|yBlQP|@*DPoT-u^zX>U2vDiaX*GYp*6?1k`(N;w|gf}!#(AhiO6119M z!Rz9DO+}xAtjN|K@r6~hne1$4C$XYS4hZdU0C>lu=N`H|o)8{?4PBl*NPQWFhB!cq z#+>LP;UA;-mgVWKq3^WRZD3hVxxGa_On#pJfFa*T?Nf8|TNd@?&B!qRDh~$V$SQ$L zfns2qY1Ubh#&vqts8eHa%C8YT60RQX5L%p4y|U&or$MhO^AuPXOzRGRqRdUyOZwy2 zGalG!Se-P;9sbpSkcTL|vp2SPAx$oI?HA1lLD|g9>tE3_yh<^+mQ1m(GMvLPHm=D< zMh&mOna>eDmAjr$MMPXrsK3uJIakiXSYj^og0}oJV+klZGBo5Kq0Z~oeL`q08Sse} z0Hg=U_pFD&J#!>*v~J+qdgi`oJmk-LUHjy_@Lbf1x~X}85(IxeL3A)^Whn&l23Mvy zV8=g&h%e+pNz&c6MSUsVihi-V{gWkHGG8(@^&VkPXI^M(`NbpbajCrCFV5Z|jVEZC z`+(+K=0ivv9b*YYVnAEc7#vx-h%J9fo8&Ht++_7nohp5rgc6OD+t66_#2;#yFvJq%RT{@is zyIj61A#;ioV^o{j)7CyjVKu61>@WQ;iqIh@EU=K-x)CGGCg{j$JpV=he=w?m-%>t> z!7}C228}S78{OVR%hnh_8fk$OID@LHhw)E;;42z};whA}hzcyA<`m`zjnkQt#_GI% zjdV~FCsdb3c?rihXf_hZwQ^SnZ{iy$n}xAxg6{2Q)Jv*T){Ltf-e-E>P#Fi`C(XgO z^UY#xfazYlFtcLtRZf3_fuW%!K6IFMlJKV#MFIL{HM$P(BS9H~e}HN7S0NeVE-K@H zMOSwgHT1Sr6k(5WxK9y|0|pmy;NlsnwZJ!UWSgEB>S$M_+@2wRF{8at@~-tYC3Re4 z!s1E^7#fvvJZ^*2n-6R{=BcZl%&02yiF#AJ3FshCXz{)1&w`Wu2{^-rTls4D*hT&C z_Df^%bK#Z-BI&F_0-eu+bC*B$7K)00^6^(m8jtQFepU95QprAT(bl^trBOXa163@ILeRF;oy zex57UWH%#ZklY+mLTg=7CNPAsx(C<;QKjm;?QD)IRquYNJq651Ma-t(CDr1GT60-h zC~-qLT=Y4tc9)4d(R8qu$mP0Ayu?(2NjqRw0(N+_4_W4#uXZY5=;hh(*VUnm?uZvD zlRtA=6@*Sx|+7Q3{^q~BaG@!pto5&$NeL_JlR&7eEcZ{EWMf!*B`)VqM z-n0d{!QPYR%QvGU^cwSjz7kf`EA;Y&Cg8Brj76tSFGLldCmONoWkD0BTh}uu;z9C(zK?Kos0*o5};Uqmguk#Q6>%Tg6mPb2M$2~$%c%E#2$8w_24&21KY)l z%34P;gBEiv3ODA_jP2YKXnB)eYN+c$;TUXk&ZH?fttDaJ3K9i>E90!7S#;ujF>~1) z5}lEB|G}Bcc&?S>~M1-K*G~6X3Pw~mp^Mi zkrU^!6ZdmC`b`GiP8z7cLEA2?VdiW;%}uq{aSX+)Q}gD3h~*}^GKjvYY4@xq$T5~C zoTbG>TbT8ecL=|khV=;!$@(pKHhsb4Qen(_)mZA_Pa626b2&lliKV{7QWsJB=B*oN zsk5XV3IE}AsTR?QJcC0;@zh_J*tW|Db$%`Xn5~kzs&`^HhZ?D8xw&FJ$04Tos%gXf zy)<2`McZ0`aIC-YVH274hfh0K|4*7viP$Y4XN|b1on|f_zOYq!eg2!$_jQJusvf1Y zxJ%f=gB55i;ynVLq0!pc8?FN2rMJ!aF>doT))fx(H0^dVtMAg^m$xU(<2DjAerc!G z)#pgObZX-dv15J88+BKKd#y}??mB?)jCy%E`j~uwxY)K36l*Opk!&}jrgb$84L_VK ztLvwyZba`?K9gb8L*MBmhx0ba7tEdedJh-9qghpm)#WaWStpHaDNXGBc6QhF5j|h8}3aPrR|aDB3Qc zFkD%Gp?$9PQT)(Zlua*%-F$-y5R;fbvC!e?gzN{K7uiKE(SB&cc{ZBb{?#n zm$GuaD9u{|l2q3bh>J8rwiumD4=(#TS@AZ`$kLq&@d7r#>%oji8WtkOZEaZ#4Tg(G zdU>08&wFE6`wi0sj_u9(txtw@c>%a%W-UX1-iA#XV1$>GmEq`7y};RN6JazR2hCjYV$)&t!?f=GbXNmD{Qm;jPR~OjciSnfhgxG!r4tx*k67A>pu?N}n0vFa18p=`wgSQj7h2 z`@2YLh;nL{UDRL3K=xbxqgn4_nS3T}V{YahBouqiY4qG@Zx0#GceIb0y>Y%gxni4Q zG8zT7Kb+UsZUsy7>3h&x&jIq7=sY!lox03cZufoX;En$FiOCE$O#Y^6J<(Zks1QVv zzFo+6f%r6;W%0JmAbSp&p$i!!sT+otIoupD{Halt$k|c&z^;(hiML2~kNABhr`Xl0 zp18Kf3qSlJ>a*n{5eiETZpd`liK5_n0RRy_Q&)HKBQYPN@)f2^N=29vp)rwvvRS{8 z=!v-qK#$Sb`I3FJk8ihyau1>0ch zc2RX>_gPxfmam&7N7Msv9~Janm0q?@nH(ka!TRP%$+=a-&2f(6(nYfRnzYs@f1=D+ zmKvfCD~}xxmF$$FcLI^p=?eosWUM zQD;U!OgP2HOHNjd8H#;K$h-Fu62RPyz@z6kQy+eZ_W;q+PM7F?G2 z;nFiQ=j}GOdr0wrm+!&p@DJ4^x<6!QW+fZ#isc}Q9u>`r%Rhw_pbwH*MvLNjuS%2c zlKMy0j!ZY`wCp`ie%?vjK;SD!8ZnCcJ+t=kw^#H|mlG#?zK<-9X2I+jX{8I#8S_9x zvE8aTt)F)xl^mDN5ZSXeqbm?%c+J74AX@!$qvPTepJPJcD0*Xv%dEMYe%2c znysin7@B!k2%D^jNt!Gz(<5g!AA49JD9mzbR!ZAWK4PIir#j+33-)sP1D|qm$K_>2 z(&uXZZR&Twq}k^kbmS~MB*iwHMi~@|Ryg2@TD<}h9}P7b@c-rg7~ z7%DN-twe_|(`HqK$*;Z2YXcZsoFPi$YO45vSc;MR1Gt7Cjww?~I%4TfkgVMh?NB`v zV+wFjKtJ>gel2&CUiA#t@++H#4BH)!i@VrBkQ5$~y9!EK@1O3N2^0ttBTs1M z&*^}FGPkaTp+|VmJpl^Vez1(L2gXY=1T5!aH9K#X*ytG9-Ym+_EXvx$E< zPB^tJxP%6~;OX4i+VpT8ivfMh+(PIZ#D2A6vO^2nxu~?y3?GW5-CMoMq*8ZDge%%z z22yI-NoLLYFl6d&@qBV3Y5XfJepG7RSj4VI+CHas*G^3bHZD?Si#H$%;>)-^g))8o zamxKAUM>EiY6$&4P@5jOz#+ed7_qH?557JY(ev%bawg2|GS;2SyXn_)r>cL2p_t(N z+9@f(pUu}04aHrG13MR9($A@Ut`dL3`p0&zA6xIeS&8<56Y8%upSB^Y_1dmrVZwNr zh+d^^^XVltWw6kQ3R_%xd87#ag}`llk}71Iz)2CiWg#yqf6SHt*|hdWlJ@~$n${(7w`w>|Z%sPcuT|5nB4GW#php`sK?kkvh6!B1Ke4=r016y`1HKj#tm0X4 zh`=<;#RnkoX&l-W0eZ)5O_b(GZobRkWcmtbEGzx@Lka~lIDD5!ksQ~PMXG2Uv;)9r z5C>yX%Uwd&`x)68caxbxbOC*Eyu6l6F_iY<*pBxWJ4HKSd@z0tN-6CeO7?1CSd`9A zu5V-lr?q4yElNW!Cgt-g-$ zn&u?E#F+n2&ZVU25~R{=B_zT6&F_dkq(IPPZif3n1}KZ^PP z!Z5yFeRb{li*)26-P7sc%WH(Q0mshr2<&)geMF<;dl^Wt+!vzHkZfuUV}*&>3wBD4 zGPM9(qm+VRWM9ro@EK2%bPe9a{8Qt}SNV^)0Lxex_ho2L;89mgFHik5k^p1AsL#=U zM`S{Qm^E6u?|DJtjIRkxdX{Lnq};#l!&Zo^Mu>6Lm8^!}R%m2kIrA@@9cylq$dGKT ztlJRt+|qc~K(koGjM+N67%+f(&%*mkKnizEPe-A;Eo(x55o`K5g+1hMny4r3gDo-8 zA4gP^&pP~S7gcc^zpA;=RxZlw?CD0{}9T3#rY)JR^#(* zZu4;bSd3m)+V$m6#Xi@UyNWkzQ_D;hLRM{}KNsdayd{Ktd6MmQuZ@}Er107Nz{BAU zn`oDsAQ~>#tOF_(Qg}&ud~AWEUT$L6q58m~G)i56I!3b5>!>EJLdz_gtlGRKYQmm1 zhnx?_Hm`rdALV0y=HqTdeh`nWn)Vqe$l~jujJc?+%hOHw;!H-KT-W@ZYTtYLb?mn- zi_RmrGUtFE2v%1R7qA$CT>W2IKwZH%7N(M_9k!l%ET%~~PqOs3k*Y$vD1X*9IVYFEPo%KxLoNJuuw zuv>K=e+7JP7IQD>nR#5?s$M|~Yd_bpss=MC@)sh^zaI6>Vbz$6O#mCMp0eg*BLZ)B zSmmT~Mp*9;IA%SpxK+0) zxFuzJ`(cAUMO04Tb8Vn-tu!qk3m3^Ok=ZSdvP-4wAb(u(V4bb{kknqXl2IXK&XNo| zT7{97D_*kKYRfvnb2=w4j)piIR81TfWKK^`-IN5n=D(5vzeXLP{Qk7Z4Gl%Awx8H z7;}_%t-&Ef$^Kb6eZ%=&76+MQ1H3$m0o7Ztf-AxCn#NJ`#2x~Fyo~AQteza`M&eT0o8U zmsb7i!$Q&18<)hvl9W;sCV)!OEh$!TE(Z@i^<7C=b@nG3uG>jq>}r@1_9%6a;;uIL zNN)y9R)#IXxMfL?Xw1|ZB>V{Y_1gLb9>EsE}lw_C347kU*IwFHYd;P2+AykbYIU^%R5 zHi6E|&g5tx@@Q3RJII)$!oJw=sBgQNop8i>Bq}3N!=PD`A5k7(&QLFg3?!E{T#f3N zBSuUr;1J=SvcbaMB&K73RtFk!2d1$+aymP@XAz{9TESB>lb8fvZ|z5am)kh9Q+$oJ zBT0)(U#b*K!-`ed)gT(v!OQFDSh;eTC$<-jNu9eKsu#zj^l;rLr7t!~A39afuiD0( zj_wjKnCU{N>DRz%Y2p>c)?=I*3Ie>>Q&KG;8b#KE1{`rko8)tU7(-l7JB>zgX@j^& zA`Y1vZUOzf+UJ_LdA7&2Y(e8s)Ro`z2Q22yX7?N32)eTu<>Q-Ty5*1eJxY|a{B#GE zu|subx?@0FG$dvFQoUt`;#bA7LD9R^`1(s#7(@k6T5SjvO-h5-z~ZEpEH#ukk6`4A?$51ACFKAT~4=Z7G zzgmvbiSG53BG3bm>j7WR5y&GVoz^xD7}2{mrz1+0bpY6ZSaKJoVs&AcHVz@e$$_v} zV@5L6zK@frvx7l@hOc&Q*s!YCd?@THVZG@VT~$2?p*3|Ao|zpFXtp(&vgFi zyGI4PxT7-brjj}f7&J%6(|hHpq)~Ar>U)LEi5LVt&bu=gVZyR8-^8F9=iyL;vdY=W z^9`-es62LmrL2{=9kObcGytd;i}~_}z`TVd5ephlvbY(;O}+62$|`@@FoQ3QAqjEF zVcm;LW{HU)Zxt%E6|H1(envVdsKqXS12}wO_#k7ncK>JiL_`BlgnB%}I_MW>u{N0Q zux5w*b&ICtg$_-LMH)dr#(M(Un$eme)#$e_73Z3NkoOi=;xe~-C&rVd93|Ps=sfkdahYYsMu@TZPEe@*5!r)Zl&Gb@H3;a(xpp&#jLt268LvOLf z<=@s_FVG|tP{>AHo|Jld(FyFjue4*K7k1UEiY|@B&>6BbBe)E0+5?df(1jlu9;2PF zAMsUIOte*Ae_!q?eppccS3}8PEjFEKzBto8^t|2<2l1y6W=?N7eK#tI!5k44v=&m{ ztm?so9WE%k+fw4WPB~GAR%N*DdNNSTm?%_$DBg3}OQV}FmWixx^A^+B3 ze6!cp)$zMYFR-BZg^KSn<6X&rRXl8Qu9Nw*MSNGe-VM3% zs6^UinK}0T=su*jWt4V;&Q&>%Y8??dj<_`U<+NKf0X;<-nHMkfGyaDSkc8X6`z}i< z@h$Zle@n`Wi2499%Ueap&ft9(tihj?0aGc*B}i^dfh-;lj6 zS=-ZSeFT_S&hukMXc<`8i}GyMrGHdU$_*%(i!NE59sd-;9!j2JRO9pm>!=e|1X6brs6?Y*Gj^!AI@T_T-rFj^%RI zM-I5EyP~EwQ)?Ryk+q61#wWsp6K6zfQUVZ;7Og(P+F5zCoj}v3wGlF}K zfBA5^d-2er$5%j3fuk9wZg>18`d-HKQpYaj^Xn$r%jz98G!^3kNr_Yw-c9!m)kR3P zW@t;zG{~&#rxYuH*5a`RL`LolGK5*vt4OiNLZIr8EW#s}70+EN`A&hu7a8N0p>Mka zB{TX}f#Uvm34zEJA!_h~$x5Dlg-c_(e_azk{DgAMOs20^FajTUfd?c#|81GCL#y!b zUONnedh>8Sf*=8IO;@?2yM?;1D=b=$s__yPYh#qC1ZgwO|KWNI(bgqc>lXAikX;L7 z21GCj^CTJNUe{~HO z^vreXVO&xW#=Hp?j7@rmVMC%#B+;gY@)_j2c=_FBer)05wnDtPXVsU&iZ2QthcX^N zmQ4?le@V%<$exk588y98K<|GoN!!($RwaFJB&4iL1}?lmUfC7>zme@G;84B)|34b( zjclnmCD~`ON0uyUQOMT%Mk3U`<($6j4*i&;xMp2EI5W_p?W@wJ-NGXpVI=7!gJ zH-oS~2G}GC%8q}hdJ&gW4T-c)i=U0ebS4k_tCw8=n zWx>krNrK)$gFqhBq(w}ge_AjG=|;UI6K0A#E&3)DsoqDdF%0gD7SM;fIExo75C_Xb z*{Fiv=Z17&^fhq#LzHKl@nRxvxb4RyUfK%2!#5f3yns&S#iBG1;TfH|B%MT^*C4kQudD{Sdwy8D@P>JFHD(b2Yqa%{>cFsDki-MTf6lV*7EpG4bJLhO=l6TBM-?F2jRN?!shkD^#C$W*l0tAGoGO+!f6m>hgGOq8UI>kW9PBQ6xzRVRP~lII8n!qjTac+n$S1>9kIwe5-Z{aK z%VR>m7gFv{wmEuNQFlPRf*_L?tkRo&Ax@Y9S0+vHivC=`Ik5ub;uB!LwH5BE{67jTA!toNC`Xm7IHO)r<%f3#GP@7`X?WPIbbL_%cAO_3m3 za!Vx0KsYGKmC2DHi<3>*=7(aq|3C=#ScEZ=F9%?;wVM zlo#oXoS*$sx$&-}ce@OA3^^@H)l43A66jFek2Wt@5YtU7A~@yS!x9yc1#KL4ddVfs3TV1td^f$h zIgIIhR_@ylc)A6303>It<-N`T*2bV(_5$C9!s*aRX55N`V|@8N=v{RDYmu&O;YBjx5~{nO{)} zRL{ncaMl;<6kwtkY>2E|p_cPi*G+0T=Ar4CiLLrYCTELH+KUhC@}5z-PiWk}wC$Ui zW|$GpsNB7Jpg;?BayC07__tU@(hswxf9$Ztq6yT=itONSk6;a5*S>&<5c+CTJB%8N zZX*vKcyub^?iA1@A(BK4?rT(WPPm&2#ru9JI*sr#!?SW|eX*>_%}u<`h|`YTX}pyT z)csU~d9~YtpuMAPn$Z#hwK-yPVTr)zDyh~)GULMt)oL9u)%_dOh9e|~oK z4j>UO*_O@R>D2pm%`~ccBI3P(d7kc8@dWXf#iCq zcoKOUmS+U-r4%}RgBts77&C}ufAS)eFV6_B>11Py+F9C=d$g-D%WY^gh)2_Fp_AUp zA{)+4Y(wc(JLyWP{KA=vT|z0&7UUm%_14naBad4J`5gJ;zc{JoWP~M6m@-ZeYpES|el2nHjyVdk*!wkq{N8~^-vzf}6CbyIWx2inQJ0atZ zx@kwK4CZj0Wr~4<2wQASExMGQjqc?S@rP#G^*Ip$Epx8jfcO$35a97o@B`&2MO<&d zL;AURXig$td3S~?k{+2ff0VXA(9xgzt&57bo&yEvhX!Vs2UaH_HEXU_Z~RkyF%|vh zY@f(I3rU9FtKV&t~Poc-_&m^f4250W=-#M+SN(` z$KIsfPNYX=2d(4*9!#JVK#%bpDGqh<_#Kr3aS zM$Ri}re>gq&fli$794RFz5jtBmfVIcGP#Hzj@zWT0q=KiL_NJPy>VyK;`MWDm{53) zBk=;JF!+V_;Gl5z>5I;d`0{t>$B)fCDHI!pJUA}7h7Wmn9!Cli9;u8`7FO@mNW4F6 zQTALq@xHRqe|`zR(sA&DdQkKAdWvw5gyg#4ZCiJ9VM%ym{246i+j-LL{RPG9c`rfJ zY4qWJwj*^@&--y|Zjk73bmh|yXLMDjnxReyPA#-t<$^k>`KrpX`Nw*2%bFKjB5PVZ zYOSG?Pnfgs7dOJuH_LV#oSn(34V3xL z)hW+Gdx&0#BQ?J4eYK8k@ZNWRQ>j0Po%G=RSxqO=>l}^ci>0Dh>V+Fe%!qw0Kjlm? z^M2Jrzk10Y*p7IS^YahXcGQ2oyT5wBXFcSBBbMZ=q;K-N&CMk4)Y~-V?ZGb?nWr&& zF#F#If2<_(!8H5J7~i|(8=7*CSl;tEa3tOe=5wwHp<$!*gFZLPw5Wk;R&OcKj3Ku^z$?ks>n zas!rq*w1eTTDx--h1gpvn@VS?iFYBhIS|k{hjQ)(qCSLFDAEq|aQCog%G(m9zw*qtutuS}kGL7}hk>fGPz;vc6}3JW-*&gTabm5$Iq8A>P-e2g7FdM4eNxevvp zf8gu8J?bwqXq!%)^kL#rB`W3|F}T30-m2c?>FF8h@q<9dU~~HV&}m$2CA783u(en@ z@4Yfs>80|&-dlnkWFNH2DfUA48i!K6Xyx}2x#EB<9Ri*cJ+=@;|=R33DG3jD7G=cBU8zj zc1_E?J(-Q4s}<$_bV!del{3F`&?#-OJspxZ=oo^ZbI04l+OqK4mC#{ouqyj)+Nrtl za{X3H5D&i#V1-hGSb94*K>MOe==b`?cPL^lT!qlW@G8A?M7_uvTVbjZKYB#!f1HQ} zrowxs^v(fA+lP!>3O%G9iJ=v#+{&x6NT!JI3>uD7EX99>O_fu|CFnSWzbf8=_YDshfT zosf4rArIWnu9$L5BBwUOTWA+;SvzxV`O#koh4k{r4>5)(YSd3q@6$8vk!-`pV@}kY zf}J@#k0N*G+#S*0@mU(9zGGSmSAPtb<3=4>qh_49E~Yh@9RhFt&;f&0LT`p{z#$xpY;P}=Kf5F*JQM@N~NABN% z^w}AgqdTBKiG~q%SW80mz*z!*po4(TiLS~v8`c(^R$?A{wc+G=R#bS>NkVw`WW3-C zMMCK4BrbI6kN|v{Dok0h$fAGfvefr#1I@C%I{OwMGDSjz!IS9JE0R^-PIBJ|lr){T zJewNBq|Y8m1V>S&fBp!){cwZ7T4UtZ@Wh2xFFgfSg|6SI{xO<7ME_{quByKs==}QB zKAw=C197z8bQP2n>=}|rtpZeN>sK;|$MQ3X^*FUwjt|ls*uuc|1`Z%Bi`?N2L0A_nq~RxD?9Y; z?Kgf_LoBBi=sK3AT|>l~r!gTzMeYrg@FMrH5Tzn_K|@%Y3vH#w!g5*#m!4`iKQum* zUZi5SYZIhMSAeGE~zGvn4&mlEvB=gTUS`D=D$ba6p@$`ciFa`WHR(#YMKK4XpupU~y3iU%D3VztnL6}|5{B0(4{czA*Xg)?2*qu@ zd9q5ECO3UVqB`^`Ec4o_q4tj>@!SR&;#f5#Kh3e@e~4rIwju<{EA0_&NjW8l0>_nw zJ;`iS%1u2`CpAy3_s*#0ZTrxAFVojOaO8Y0)}c@rTD3}pj7;OY$v$p@v29u|6f3-_ zFE!=!!6!J-ZPRu5AJacfm-YloEVZ^P>vt4i=`JikfR9jB&c1J8^Mq6PV|V)it3{{~ zV@A+Ce{l4;et_yH)>mwR>}YY#=i9O8HzYut+)->oPBOu5&hd1Ic3A{owC{!4NxaAt zrEH~)q3lSWEY>G0y|!Kg_oejQ;teyx))SBiv~Q80y8Wm<@pXOk&mHmG&$}!j_~O-C z$1>MS<)=bb_&Z(Cw%+5RK+L!zeC`n41Jf(ve>$LG2L6dZkRSHo2+q2Aj28S${|R(R z&GHFaJxxUqtulA*x9Jru>BK$5&4iJuNZg@~vu~ibn&8Uk3Kk_)e z^l{;**S3He9cctu=1H0G0}%$>QQe}j)B z=Hd!i4JOq*OHEwM$#eMkg!GPkF*8pML}cz@a(GwX|NTDUR|G9)S27q}`JAWQyLb9c zmU;O0DmJU{RZ+{8)gM2+eH7jhVDZH+#<+UDs%MAfr9xw-c7;AXRd8lW&L;li@`RSA zW`8nLU$!z^b-phs@TAg?bUlyvf4V2!nkT{a66mUqL+LO`j+SheWmJP#uX9@I;aHm{ zd(n5JaYme&mbYa2&dH%d-JfH6{GSP~t$=kXA@#XBb3S>zrbjh$Nib%4zi9DUW1$s+ z`D*>exR}^25|9nnHMw-OA=n(Fd9l7^wG_V9k%DO*X+s^3&3O7b;1&9fe-BeE)`(Ml z>zw7=z^qZ7qkj-^$+7Kkm9v&>lfe&QDl!kpeWXG|^h~5|>FTG7+fVekK3vrio>){2 z^-cfdaZ-1uE$3)YLS6G`wXa{mVw0cAPYTCXxyy#lIwl{dl8My?liUL1vnu+^8Ib#A zhog98e%Qjjm@6F*dVvqcf8g7KhshRIvAFoSC!Q99g;~>GPPNXj`l@0pL_YGDZxDgTX0m>&A~T3hk(bU$@1a`CJEV{;g>`O$XVvbS8NlYKPnvW`l(U0pXg;8wo&>*R4De`FFf_sValZLeAs zL{2|0?n&wm9vcPutvz*`>hVXJMF#|mJz1VndG-lV#n6yBzlW355-}6`D#R{4F)De| z5#7YJ;v6F}KB_h}o_Yynt6tnhzcGd=#~OuBeXnvhdA|7)9Y1{YZT?S_)$p{ z_kh3+hmHx?T|$X%e{9;p{0`W1{gN}wUL+%J!izhf&33BJ8t+=~Nwf(E=YE0sjkLj3 z^?{n$=lO-kD(UNf`OGwTvX{{wN3dLzJtNo2icj*CxVSA+a#}9@=tAHN0Xar< zDpqm@n|k;$Oz%0Qs-Aa~D_GNd_dIA9d*PU(b8c{Tw|r2^n6X1yAye$z2w<4$GhEI( zof=%-DGw_df3tKb&AS6H6(R~)Xm4Vi6~AOm8(Qf-JCx^3XS^ty3u)(Jl8T$-6nyt=Xcv zjM&bN!#4`V%ii1gfNZn&Fn9L}exq#;&;1W8x;$98J>1+2KJSsGpB%fi@|fyq2E8_(g?{e2U|%;d_uO&e`1b6e z6BvBie=}?Ee-Ax%Fh8)#AP3p*!ri$?9N z9WDLXR~cLa5;NIN8e9Y)Bn^H^!I9^9EOcuYe>Noti^!v@6nNDhMm_JHKS2K$yXH(y z*72z->d_CB$ko>SgCIM7q)SJC50!JPfswqww(V753nMDaKC56=J(5%IQlN)=U8=k2 zvVKT9t)vt|g5KBOC+n&-`)f0r5j9#oH=fHpCYt-{l9Pv^_kme`Nz>IIyJPy!)k+>~ ze=5p$DT9{(MLW43kT-lbdC^ne*(S(6%0239!S1=L*sd&GEd%T*b-6i9Sldz=3;$)! zJel{_rFK~7&ZG0hEJSi_T`w_5{g#XR+m7eg!;TBw0e6wCk2)R6c^iu$U&cdB&J=ne^!&|1bH+R12vuBDAe)5~S(L zKbqR&D&&MY7F`in_!0%Phi+RWAx+XrqLl{5m5+Hp2y&}0TjZin+-$3UHP{q{`@*j@I+m@4>hCo%la;xEGrMWvvgw`Q za7yrBvITVj#vJ7Gknjh&Sp?Azwy678n;tk6GV>+ZH!TAV(5+Uf|tXt-z? zeX*d2P8uc-kNdFR$hphqwoE-bf5r(#g`$8sqs3IL^Q!YI@WXo1#p4z)eKmcxt!avC zKO8x`F4K!wz$>u2NZu%K6gYfV_CC1HuU__1>CSBX-d*{0oxWPtEE}&OH;~Q3DHZUmrw(@?@-fh4+n|jcdM!6 z;^so5jbze_yxt*f|H0lqFk4;cm-R_!ZKTMrqQLe^f0^tas#wK|EA6?T%D=!=wd59` z@uT<5eBswaied>BUK?OWe~8#J>Vt7t(fld6NGOf(v47z^zXam*vd(#FoyfOcvJQo8 z`lDn_>XUP?Ssq;eJks2JQcyD!kFVrMbfo*E_v`tLc%MU9np_hDFUKv1I>v95u;MMs z?BdRa5?TQ5ac#;k^5Kfy{br!L=t>uSE8(+}!(lti4((S{k~DyWf7`E1NC8#ybxx1X z&%{&qzWEH*+?Z0=6k7(5`Q5cO=>2JNfh&{Kl70+Vc_0J6JnJ8FC&sCM_Vq~*^@uq6 z(AJhHesjxL{xgEP@{pN=@lSD|y)p$iKbG1qZ)x}X=6`<4^C%U0mUg%96<}eUOL~cS z9E&PBm8y;Cp-${s-zDkcFf~bd(~Y#KsvR5JLAqS z!%vO0&GP~6ip)O8>{h(BThnqay(cSfwekj#OZjJ|%Cu7O8ZS$RWLxozLLCr+xIQ*w zcS{m~tG5V|;GW<*!^po*_mL`JEBO{=xtvB*YP7YOTpuMKf0UjRlI;Y_&80q-mnxx8 zdt7^39zJ5Dk0sf(f|8htmOY<4%**fcJiGJ@wcn>_h&3Hv$oV{^Wq6m>5Gvv>VscHz zU4%e3T6IQ}6V9u-Ay?WRqtJW#&}Wqb1zU2Wwop4_`-PJO?TFFb$UO;ZyzRwBOj1FI zXVur=LoGRSe+MM9o}Z{}Nja45Z}a$RIgS}8wOIJ;7-o8nJh@Ai$@dT4i$!*MC}kD+ z#cnU7=^E3!vttOi@l;i7yIb|iV>*8q8ld&k`Ic7IV{SfRfqJv^qvc7{T`YIjXiXxJ_t_rG!d{7IbL+?rMiZEiF^gXD5N`S$;gwoI8}OzSN%4qs93N(hJ9Q z^Uavk=00Uci0_lIPy8MD*5$M#N?*(;{KDPN z6Ei#O^*;}hwU_a8TrJBtpI5Zn$*P?2X%XYy1l?uu7CGM1Dj8GV>I3zh zNP`xE5pXMADmXGcUn5KfBj2;Y1?&=8JWPoiWV3CIlsO@MBVmq zNo-N!d-`pOS&A>DDI3X(3|wg`Tl+X=gHl}}K%2-LZbY#9F-h0~J-u?>97(u3f#sb{sWth+kJQ3Z*%6^il;Ub5ommE-E(R*^$hOW&TPC}w&X0- zf8z!+^}B2qMV{TlD$7{EW}VYqqT8__TO>~G9i!L)g76_8SDgdS2rnPNn-nqgNqE3m3XpEYH>q*!rhdg(=K4R zdpLIdMLn7UD&Fm8zCFnCrnm*sInL6Pe_p6%LsQmPj}!Y!Js1w6#S)Aw7kzjeQZ;IV zG231d{vAkb>~jynub?`0n51ub7xVav_r|E5@-;R3gFI$JJf(9?I3MJZ0ZA*nNNA%T zuPk4fLjHX9a6~UAF3x@OhG2xNv7}siy7F`3SCx=eN>5pJcD)N7pK2e<-Sz zb!GGB1GUftz+9!_%qJ}G_2&sr_VVYt{b2S7NIX9806hx1JMhO@R#j%7CjS!QpVVJo zwI9*P3D42t+kg67=%RC6AS1SMRDxZG-Vylxkri>l65(k}P1S^I!&_MCJON}3C~3&- z`}`cdTzWLnSYxTD+~MFg(fGhyf6U4fNi)~O7hxXqoXl(1(UD>?>W+EgQgHkUX^8tX ztVF$A3(L$0Eo7*$JhNe0iYNIhe-iNgo0xlr zmiu(L>_X5rrT9&>+hl_mO9$p)a&FF_KZcShfjOo1H0EkfaM`2zU*LYFeo0Ie^k5r$ z6_G62mJqi^+5gF6|I3PUh|-Ep!{*f82kVueIs=;`oB^aDssXM*BE@>SxjBL8x#?uDY`=JlBW2 zzwrxI>O}mN1*JJ(ehwflGB_myxOevsj|RKbjL&@ zu|Q!tj@MZEE<2JZbIfroh8vR4Coe@I5}*QZ56bA-BO zHkTFOrmkkTy)vzgIrKPm=yvHFc9}@BF{nnnTR`5+ zJk#M}{ImyrobUDEkExkoT~w$vMyWl(5^g@Ln;lx7+4!@j@|3?=CPj*jkEBT99!nAO zzC21(Vb+Ir7BHC(e`FT4QP;)v$Kv!bRIK#p0;Gw`Th6sJ9wo~de@!MLmyLta@oiDH z@?<^PtN^f7B`uZ-pAZ53*O6_fS;m>n?qn4@)6e+h5M)|`txeFa3v$YP=iT;pNDi_C ze%aVS5HB1M>S0<0PjRcZZa#v_#N;vd zReJ4jaf#4HP~lqYki<39^OtS=j%tZmGk6`;gu|Ls6Zyy zsobg1c9VlZ+ny*CA9~MJ?Q#$wPbq4%Tt`nB6#|~))uw+zkB1KNfH$(wXO`GehxFzb z4(qLqKrS~he=Z?O7dE+9yIEJqEG{>sUOXkFSn^SY8A$YyAL~fLgmc0r?kvi7iJPvt z7_;5l{qa)R2X=EJUFD@RsehHYLf(Spir3o{bWUTHVO3tJ29_ufHbT8g^u-_KvRycP zu6(KI?w-~(|$l!F(i5o+Kht#PmQr;5Ju~o4oo=+?e8GK zv5S@^TfNp2?RJv{#$qtYuNld9K?Q?&NiQ%(NoBejafAO#$Ly@ZN4%02(G-FoCd$e~ zzD*YRe`EG`Z%vlQu1YnfL>JgLnQ$DMQs4z+5LeDr{-k<4`BnnZZkrA-ux&F@RyV7j zChb-ZB8)*oOQR!zs!ZV^Q}h+&Jav8$ko+_4!I;|lvWodntljwsi1a)Gu1_u+0WQo(oIN#+Y|~j66F8~Z}8?C{C8~Ic2mh(u;)$6 zc&rdkqr*m;t|V$*EVaDHzLL4{PpEI`e{kb$dd~dx<+Lk}miyE$%>}N~qpBEIzl8#(@)?)5~n#ua<51~FOLtSG=fA(`- zw&VMo$?0n83UgMgk9<}?x$^THt>ldSO0DE9{Pj9fk4N#!jkNy%V)G@u2Xcbnj$(dT zgetNliYL~_&(GZF9o=W)U3PSz(N)B5)Z@WiQO$|fPbc_Wn?us5^n!)-gM8_Zx)A(? zR@?Xqh;-?=SDF>?sP=AVgMZ(Ce`;|-wyy8GRp#XAB6OLWD<=SVrQnGEdhk=|+)Sch zDa{IJn$VwuWBTdPM&Ky!SN_|!{uFv%mZc-5q_oMHtdx6Fz|P+xEig0=PJMAEVJF0J z6K%NJYshRS8Ncuy4yLhciN|S_0kl{t{VEi)53pNWp#tKKv_bqv3-E$0e-sBq36z6; z;i-RPb!Ktv&utDjEwtj7EaLzD_m2@s`oryvO1 z^^V4R1)~TA0)_3*jnP!=f1v;hw#83|2zvgFb*nVBHGwx(idUxyIZmHLp+_l}8ft!? zYO8bUBS7j45y*J=GM)M-No`f&Ont;-?}K>K^-<`-I>(x{!CXhpqP0)%{MklMmHwxu zhWx-J;%mXs_Ho^h;Y4S!$|a4-g>A}C<&yH`#onqSwNL*GfBs-1j4dP}zTT*J+|j>)tFGf0NT9b^pF=?xGPO?#js`m-(Y%p>H51S<2nnZRsqDBJ} zSH>f1{ls0bhW{xUF;;ON+;MNnelqJihH{<*zQ}KFf9z1GxQz%$g?_*v(o|m6KJ`1L zSaA}uj0)|?Kh#v}*8K)ivg3>Y&fY{Up+ZOT#|Z7}95%b%hjEw&UpIyHQf}&-a*2>= z9@bF3(~uZJhx+GIsu(0Y9^^G(hg=da!l{|MC^sD5jofBV8;h;37#aIIn!LWt*fl2G zQ$@PXe_t{;S0@OORa`%^P-oe8Z?Zl@ZE*kECg6rkbkzbPYZ^ve;VSk>F~>YnC1gdD zasJF${M-d!NP4u<7$uezqyo#`g`P?*av}xE1KMdU{#S>JpSUnCcvzqBM~fwD{En*O z71VZ|{t(N(LT2c|{I)4eBevba3rgue)wPy1e_#}y%F(6>TT<88AxZ3Qu~4DIctcJ6 zs&*TdWMH%i1!+3Wlr&0xqh270{R^-W7L78R5$ z2l0CdVqd8L0j_XQ^`a{CeWq5~@9JX3fCBqJ&;%4%|Ao_d^LoXQHL+;jT0?St3h#kD zf4YK3YDm)OkF8rHMUWpMk-*LsQVdaMWh6`E=&WP{eBCbXi3)x0;QGAWb_HD!QbZLm zI)Nf3YUnpI9snfuI7vD~V%?fsH9sM?K7R&sjZ*@_Pm-U06>|W4E5}=PIDofnRuT)@ zVk#39U1~Y=YN2CF^yR8cq)ViW3Gj1Qe0elt+!OIqPt!d(Y2a*E>DF z?jsp`k>8)vAcq=Vb-qEH+hsE6;BBsAa8tDSw&fYBA%nE-`LexGu+QTbOh;!6ofz8nt=PzE6|-$KaFKD96F0r_MCi?U!1+GCks)+v zxNxke*Pld>NI5e?I1SV58A1ofe>slJbb(n@j^H#yzJ3aOc$#3=lpQ@Ji0&L6l4>OURjdzkK5MJBG3E>nne zqJH`G*gn|#@{K-`_&KJCDQKY0dRpZaTeC&jPWs)4sn-gsH#(*ceF-Xm@U*K?CzFA7tqO$>J_ef0X=4UQd&&HlMss z{3ywA*m)mG+s#?FUT|9Fxhc-U*Q+p$^4*fht#$aX^`B9GG=)TzN1M^256K7uZy%j$ zj@SfD_+lQSuPkmCJy>*E|MqA%M^h(=7lw7QAAbaWlKR0irYK^;jiSK3Uzz@HW`qoH zZCjqX!&E5e192?Ke*h+)7*ga>b&X0xOsm~K%HZUnyQVn;51Q@*2#XCgD;^kZ3E2Z= zSB6}?TB`p?7zk3Q#F{Osg=cuW9-X&SmWEMh9Ht;v zH#hU=Wjf0wJHgwM?u3aPeMxEVPhr2e{?zs}AG+*A?@8wvH>^p!KMGl=bu4<)H6`ig zI%jEzAk?&b8vnV_h*X$}nbTNk`}y8NiX|8JD~qAzR?y4iqXn40eo-HG`U z12j|%e*?Hje+}#d-jp)VP#jlv9Ti#k2*|IJ!Gy&BMHXa6rE-(PNOMS(+X&Pnp}r4; zbTzr+fH^tv0MJ`Vxy5wE0og73u7HPFoCP&-5PzpJ`2XN*WAOX`i<|qF{z6$d6E?;T6hw?8nDlJD+Ge#;h zS}gMoEe|-2xZ?g-X?B`UzBr2`w146A)WUunAbZ-4Z-N7;V}nZenq6zjCpwlJZzwE1 zMC@P0->3?ldpNfrW%b@dT%&9C|9-UmKi@Hj&E=u2hAp%bp!ftQT1DEDPX*-D0=9@( z*SD6+e`n-ZFpmwjS1@hgwjXEOnj;0o7f8@m+D9{8>l{Y`~LpDJyqo+=%r zeauukNZP%c+Ny4?iukB7etRw!b@YS9K@I7(bni!^jT4IFClOmH+kT}7n$l~@&K(Ks zxEXYHSZU zS&gk;fuz@tU!hx}YzLKGG}G6T-8&{4Cl!|NBaWhMRmvw?EdGUDx%z)m;q$lt_?>oj z-lXFCS-pCc^)N_Z6Z29K#QYbZ3fo2~R)oXV@XoTA`3BD-hOIO{q4MQ?oF92Ms_z@W ze>8ViMi{b&zD)BZ8M!A2Qj?xO`i=*O)Gl3u{tE}Ka2_n}NLobT5G_nizJ55381$BQ zf!LZ^ew!%Hh89!B({cVfpWWFUdU zgBjToV`u8>YXFh$nrZt#RR;62@8)y&On(h%Hqv-+W)}$xsIMV}4BBIxo)XLs$*Pq9 zKtolSajL@Y#^Fzd?vMo2W~EQ1Ah`u@%Q~03j5R4#yA#`Gg!$ExjD{W*UgZm}f6Ygg z?NIqd{iCP&0rST}%1umc2UVw%`lma~Z_MXy#}4Qk@tdj0fKPRW-C>Ig(Iktg*$}`& z=~MNeZEQ7jw8nGjq&IO*YQdvEdmhtQj_sqT#N-vk3~q4c)Zx6p&k=vwYPMB(^*@?1-DF=YppQ$-6TvyzqQ zFN!ET@Qzi~dz|dD>-V1m5}d%=TPrj0`WnF|ad|%Qc0D!d3rvx%bej#2e(t-EWhd1pn=e1yDb`hE71&tb8z zCu?@ImFB0QY9=tXs`;cA9n7{8C)r=Gk$_**F?9`?B8ho&n4IW(wB({tql%H#!d3C5 zYGi@_gZ17=sKz%+zM6Aue@RXqb&VQwOCgA~cytH(U*IKxFalhTSrJch0tdapYd8Lj z;(bf!5Wy(kKT4kKS;4mLj=bW1>*w@>QQQw8$33auqIknfP)+)3l0yfjktDYixSewQC-*PSb8G&W`G0Yw&#n1h zp81P+WuN6=dKXbHA5#A;KDX+7n*UGZ6$Rsah>Iw<{@i;6&nU`0@_!IcF{gPhKiUSa z&Ro-d)!&t$)9AI&_&Q=Q%55&y-j{l+?o%OR0T;noa2iE9a4RK04 z(>T0O{leTGlv7TS>p!{IHRad*FY;eEjw%@6Mns`p4@pLi+1%EPLOFj(Jya~W=IcEp z!5dYyJc;; zBk^jq6}iv>4Duz~t34;Q>z~~7Nuc#OV+qK;k9wz2U8=eft3I!p5y`-I@F91PX2fdA z9YoB35mg!f%JNkCe~SLyQhx&JD&dlc_*O8Zp$ElZ_R( z&530fe~s??`FTW2<*`Z^H+g-BO8>Ksm-i1}8;QL4DcY*ve%HN%_=W&`e>GD#2(fq` z1Rr99@HmY$q(&Nd0k4Z+z=w^5wCKF?uam&J6@)6f8pqdonefd={71mO0l5J$P6-MQB>!)uQYapnEcuk+L+$xf>D*CWK!oWNDeL&Dd?!5w%04*eRID~GZ?K?vv~ zu708AT6$Fm2qDlTBil2Hdq!z!UWR1C2nm`+?=z)s7zn|9p{hW%S`@c!T$!_Ff|5}9 ze`)s5Au?(Hk7^iAm~Q}o@V)iHfntG@J*BVOYQ|b=x;;lX;&YI_E&LziHlBZ<#Zmf+ z?V*T5XjJ8gmhf`A9Fqdl+!M1J#+ZkA8=R3AItufo46hpu=jiFP5S;-+D(ko5>0bFU8BiDc=8M+ ziRZ&-?q8y4(xGyITWrM@dj4AKf1#VJ2UP;_RCsBs*FC`-MFE~iT%cUXRqUrcf8-eZ zwe{o~hhuh_z$!9V^f)8Z`5}esL67< z>d%|$A+zCbS>s=qhYG0aV2~_pLO#s|a=*oTL3k0|M2FNuz7wQq556Id7Q{SgQ)z$; zgdmIGkQrK+6|BpmEvaAVlIH=NT{W<5wensnb;R0k5?Moc!O@z^1ST_efAJfo$O{E0 zTeQv-7PFKxp&6pgXUyEk-jv%ISf9X&>orZdD4v3TKr3>!dk|(RN=M(TJBSaD!$xll ztsO{dr?WS>A7_5Z3U+YXw)J=722ov6*h`)2tv>8U5cZa&x{N1p%NcSUb111)>LSFK z`?;6;TR8L}GcbVdIYPcze?xl;W?sbAdd3omV^epNmwx=M2FhS;n(88_s9f6#^hn^$ z65CNO6iLUM!)4gx3W!aj;~su7G?4h+at)n3LMHzqL!kTpujXDuoT>MDL!%Vv$iS!& zIA^ii_NM3&FQLrl?TuNJQkNF3Rfs=(w-w3y+ib1}AeGK@+_&IMf4_kKrw7A&J5dWq zJJUSN1Di8PpV9-MzS=ZewmwboMLI+v0gRSJ;FY?|ELGD z+WDb#`(;DPsKdQ zh30}VXiRmz8KT}C64IUO$r>L7ASfV)4rCT*iAly#_tTVw`_PWWh9 zI89+rsxC~zNI?+kEiKpi@&>i%L?ZOXSGq*Y7sxyon3tTXoa>&aWqv=&rXW7PTWJ=ks^+OPKUn9i?WjJ`BP=lW6G(wn{D1yH0JoNO+Ma%q?Lzo%RcIN zCBFoI@zji*wLTiE?7+X5@3SjM!Q!uO8@3uRLrO2#%Y4=MN`Jmj-M%&(`7qX0TY0Rq zAk~5PK-<&M4yjTeWWl0mO03sR1}f3*Ta+c>RrrGjKwfG;5X1rA>fHW==9_jdltUQ< zYrg@EWZOQ8RCX9x)NjT?uXYbG>o-ByIQmH8TOD;IU`JEO!`V_z#ALp%cvsm1(c}Qr zk)Sz*(|Zf`z<*g>uD_b56A-z-GN3j9dmIeEZ>D=S)bhCG$SN+$V507|0ZR(%FNU9T zV!2X+2w?QKi@%1S3Szld3_x8;v$exd_1lg=qJ@)Yd5(jWD3aYzVI|;Az0Hl@DOOm# zZ*84TJ*jne$20QrDQbVv&`Is~hlhisr)HWSJN&O)D}Ve5kj&J6I;hlVP>`Zs&N7BI z;e4uUS)IweXjH`OYRfz@)_Ij?wLik?c*g8l^&yhsN*~O4MDA5)s!a)a^mn#q4s(7V5@c18H`%$9kKp6X{WK5;_lg&QZ z>4f%O!*?n!V0Oee^n49>D7Vv|g0VNc-Hv@hKN%&00x)*IA%X9loqRGM3o^Sm3a{x* z#_f~Esa{7;^%-2Fif1to>cvli(4PWAhELfxAAdV&4nKG!O($?qyiR|$=o>YYybT6= z1XaB}!gS@%`$wlbfBd8Uie+Z0IF3|eypt=H(WondBdG^=53sgQrM@-(Jao`MM5#4j zv?Pox)>IW=K#8-_6pJ%1E{{`!8IDUEko9-=@4xKxO|o(noe^iLyb2|B{$;rFKwE5o z{ePFB%Kd>OQRbI^0^%Dvz*dg#gGIf+FB852C$XTDSiyf47W4lob@OnjzyJRqjS_`y z*(zii`@V)ODN6~dC<<9->`H|)Av73_eK2VZ!|Zlu7-LBqyCe;5h|Jj6EXnKV_5OZ7 zpWpTQ{`b8e_vh_-&Uv0Q*Id_`=i~7>XMaxYFGlPyfROQJ0Fkp^P*GB1oA1*sT3&ck zP&jUBGvhZU#*ugU$b(?;;bnKEwt}Y{E-sXK4}YS&e)|#}_=t%+V~>5CiRkRbsgcD; zN_;E|OfJ2&)Y9+{12kkri4M_CZplkIkW3Oqv8IMubhTr{6rn+H^a5m)_+`g8lYhk3 znM@EoUL2|t{SEc<3(M|Av6biZrLxx5_bdw`EKTae;f;7rQvUFH`Il+dd#u-B6N$?z z(ae9rDbcL|>Az*ux%r=bY8o9qlA(k27uAx7eHEV9Z_KJ(Y~Fo<;_OdGt?CQ1%q;X- zikndIgrCGBeV-zDtk8b~O?Uy{D}Poso#plF&vb-(^;d;4jlIV8xfXNoCYNqxvd#~R zJHY2(P9IhrYrJwxHy|m6rSp9#Iey$y49a2kA69sdeCiwd)U%;o6~2%--%`3dH+shy z6n8j)HAX+6oIPgz27BRb=-1}n9E~qhmXxgrzU(HpTqNchEiH3?og)2e=YJk8ZKTS} zr}&ANZko2eMKQ!nE3iL_{iLRumHQ%JVk)N)Di%DQf@?~F#^2eRFI=CQdoJ42v zTq^TWN_=2rSS#z?DkxtO<5G_=luK55C#l?3rrt#t55RJF_S7sZ51Y_HhV*ye0~X=?vzkN|J9dcPt&T!YIl&UgpBt#g1Y#dwA54Wq&A;eIX*3qPxo0 zKXn>7q6E-c0c@n^EVwRvGz0Vk0eVX^x-8zX-K9i|945L2unN6agu07Nb6mYj!-XFT zpVBZ-uxL*4k~s|=ke8hll!cZ0|9Mhss3xA|E-!(k`mf4;|v5~F=1pG0rs^oh~hq)QlZ?ITGpq~dI6MY|(`TI^f?IBxlMk$Wg0%9mmg zw3NDM%hbImU;H^eFUI)A;03`jpe~b!+WZ2wAR+evo__`3phXw+gea%W)hpTN?#oH+ zf!$I~iH5k6^R?JD6ZlTiHGTjvPX^aPG%8jh;C#wS@pvf!9YWkS1jPRUn@9X8CkU)!Uw&70MM7&nm0QDh~V9;qtVsw2{^^$J4(vBK=9T1U1DU5 z@_O2dO%x`chh6#?fLGqcO2kkkrinjfK(CB?lW}kN^hqJBJ6h^{Ye4+*1>yw*vbVpA zYofP5UV9Z+jAjgBeG|RA*smy-FoMV;*AVtOt$*SGy3 zFpxIO6wcxZ<`>Kt})Q$OXz$N-*dW$H@NMETZBM%)U36<7} zs#P`FQEf)4)<~psWzG01j`<;`Mb%3i-wqN#_xl=Bc>PN7HvcyKZI@D*~R%XXu~F3L8r zd*(b3P>&z-AvIsgWuJ$M*)*TwIYIYRNaOgdckgkS%1j@ z+>(5A@f9r%?E+q&xhenj)H=<~W+AYH_WWb5N3hcGVIxEb(NwrLek=SkT`+?pC{>Fj zN()LV;%;OV_quX4f}#YAP>qlLle zevRj=z*E@}_i&-(`Gtg5^b$kKSbtaT%gK}D1Cl#Jxb)7}?#VH9k?D&(vnu!0qrSNS zt0eTae@toC5D{mQB%66RejIl=31n}91nAukbm=j~gt>a{m}E1%*0ACZ?wlk|(>kWs z_N#f2M9xouRsr8U;z_g2eY^$b;yJc05y>>OzuBHeey{pCz}8B4X&zW%OMk?JQAFit zlzuZszj;T0PnlKa+CUA3qZKz1q09m6=Bc1USu01VcCG4U!>+AnXGM@8w?%!%oA0ut z4XrNlg!|0rhndz7;B5gI$h}oFw1B|37*2^gM>-=P8wvy6kny!B@Wbl9P6C97u_XGN zN^t8JCossfewPr%68)S?eSbYZss24bY@ru?q8f16vwp5+mx8Zy1hHz`(2oif*nxI| z7u6f98ede)A}5T#tG`|tE`L`NX22OZ6|76m!^^&Q5L52+(hLKLFUj)tMC=)BXN|!A z1PTV`;X?IeNr?dM;>@}0p^i`#sDXC;N;D%2rSZ=)Lml23?A&5wcWXc&@D5Y^*PhR1CfQEpQhZp4 z!VSA@6%Ghc$={V$;x|uGAI6~gxjhJ)?G0^vD^B$_dt@idbw=HC=xbuHPiKGxLJ8m7 zpaBwGRG1EiS12>#lz%WLLm{XT;g7ose_`17-%vuWY{O#}Th#9^#6{ntjz_(cD1TuH zx=~a!KlD)*;mg2Gs6%TRo@S|-9TiWp2?d5yw9*2fe}c;3PP7txp{d2}Q?UEjwAiE7 zi=MqT(E-?z{mS!pbhK#$BGZpOTS5%shrz7pS6?P>@j zAQGvO^lYEB&wnttkIf%MQ6f*ONunshCoqgJv2JDs+Fp*oLCN z3wbhZ{fMUsYZ$;FDb9i+m2f^!x7Mk3s70ipKp%jMx2Z#joT#H~JVwKJx`8 zT{pEfRttovGGy_^mkReb96ro!n?Oz?Z`FNPI2*QMe}8No5^+r8*N>Ix7a}Y762Ear zORqTA>34ojPkdi4G4ZKkDhx52y|;sS{wHq9g>WW$_hH?;PU&M&ISP-sB{ukA(^